@libp2p/kad-dht 9.1.0 → 9.1.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 +11 -11
- package/dist/src/constants.d.ts +1 -0
- package/dist/src/constants.d.ts.map +1 -1
- package/dist/src/constants.js +3 -1
- package/dist/src/constants.js.map +1 -1
- package/dist/src/index.d.ts +13 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/kad-dht.d.ts.map +1 -1
- package/dist/src/kad-dht.js +16 -3
- package/dist/src/kad-dht.js.map +1 -1
- package/dist/src/peer-routing/index.d.ts +2 -2
- package/dist/src/peer-routing/index.d.ts.map +1 -1
- package/dist/src/query/manager.d.ts +9 -1
- package/dist/src/query/manager.d.ts.map +1 -1
- package/dist/src/query/manager.js +14 -0
- package/dist/src/query/manager.js.map +1 -1
- package/dist/src/query-self.d.ts +10 -1
- package/dist/src/query-self.d.ts.map +1 -1
- package/dist/src/query-self.js +62 -14
- package/dist/src/query-self.js.map +1 -1
- package/package.json +1 -1
- package/src/constants.ts +4 -1
- package/src/index.ts +15 -0
- package/src/kad-dht.ts +19 -3
- package/src/peer-routing/index.ts +2 -2
- package/src/query/manager.ts +28 -1
- package/src/query-self.ts +106 -36
package/dist/index.min.js
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
(function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2PKadDht = factory()}(typeof self !== 'undefined' ? self : this, function () {
|
|
2
|
-
"use strict";var Libp2PKadDht=(()=>{var cu=Object.create;var fi=Object.defineProperty;var fu=Object.getOwnPropertyDescriptor;var lu=Object.getOwnPropertyNames;var hu=Object.getPrototypeOf,pu=Object.prototype.hasOwnProperty;var D=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Lt=(e,t)=>{for(var r in t)fi(e,r,{get:t[r],enumerable:!0})},H2=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of lu(t))!pu.call(e,i)&&i!==r&&fi(e,i,{get:()=>t[i],enumerable:!(n=fu(t,i))||n.enumerable});return e};var $=(e,t,r)=>(r=e!=null?cu(hu(e)):{},H2(t||!e||!e.__esModule?fi(r,"default",{value:e,enumerable:!0}):r,e)),du=e=>H2(fi({},"__esModule",{value:!0}),e);var W2=D(li=>{"use strict";li.byteLength=gu;li.toByteArray=xu;li.fromByteArray=bu;var Re=[],ae=[],yu=typeof Uint8Array<"u"?Uint8Array:Array,co="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(Kr=0,G2=co.length;Kr<G2;++Kr)Re[Kr]=co[Kr],ae[co.charCodeAt(Kr)]=Kr;var Kr,G2;ae["-".charCodeAt(0)]=62;ae["_".charCodeAt(0)]=63;function Q2(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");r===-1&&(r=t);var n=r===t?0:4-r%4;return[r,n]}function gu(e){var t=Q2(e),r=t[0],n=t[1];return(r+n)*3/4-n}function mu(e,t,r){return(t+r)*3/4-r}function xu(e){var t,r=Q2(e),n=r[0],i=r[1],o=new yu(mu(e,n,i)),s=0,a=i>0?n-4:n,u;for(u=0;u<a;u+=4)t=ae[e.charCodeAt(u)]<<18|ae[e.charCodeAt(u+1)]<<12|ae[e.charCodeAt(u+2)]<<6|ae[e.charCodeAt(u+3)],o[s++]=t>>16&255,o[s++]=t>>8&255,o[s++]=t&255;return i===2&&(t=ae[e.charCodeAt(u)]<<2|ae[e.charCodeAt(u+1)]>>4,o[s++]=t&255),i===1&&(t=ae[e.charCodeAt(u)]<<10|ae[e.charCodeAt(u+1)]<<4|ae[e.charCodeAt(u+2)]>>2,o[s++]=t>>8&255,o[s++]=t&255),o}function vu(e){return Re[e>>18&63]+Re[e>>12&63]+Re[e>>6&63]+Re[e&63]}function wu(e,t,r){for(var n,i=[],o=t;o<r;o+=3)n=(e[o]<<16&16711680)+(e[o+1]<<8&65280)+(e[o+2]&255),i.push(vu(n));return i.join("")}function bu(e){for(var t,r=e.length,n=r%3,i=[],o=16383,s=0,a=r-n;s<a;s+=o)i.push(wu(e,s,s+o>a?a:s+o));return n===1?(t=e[r-1],i.push(Re[t>>2]+Re[t<<4&63]+"==")):n===2&&(t=(e[r-2]<<8)+e[r-1],i.push(Re[t>>10]+Re[t>>4&63]+Re[t<<2&63]+"=")),i.join("")}});var Y2=D(fo=>{fo.read=function(e,t,r,n,i){var o,s,a=i*8-n-1,u=(1<<a)-1,c=u>>1,f=-7,l=r?i-1:0,d=r?-1:1,p=e[t+l];for(l+=d,o=p&(1<<-f)-1,p>>=-f,f+=a;f>0;o=o*256+e[t+l],l+=d,f-=8);for(s=o&(1<<-f)-1,o>>=-f,f+=n;f>0;s=s*256+e[t+l],l+=d,f-=8);if(o===0)o=1-c;else{if(o===u)return s?NaN:(p?-1:1)*(1/0);s=s+Math.pow(2,n),o=o-c}return(p?-1:1)*s*Math.pow(2,o-n)};fo.write=function(e,t,r,n,i,o){var s,a,u,c=o*8-i-1,f=(1<<c)-1,l=f>>1,d=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:o-1,h=n?1:-1,y=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,s=f):(s=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-s))<1&&(s--,u*=2),s+l>=1?t+=d/u:t+=d*Math.pow(2,1-l),t*u>=2&&(s++,u/=2),s+l>=f?(a=0,s=f):s+l>=1?(a=(t*u-1)*Math.pow(2,i),s=s+l):(a=t*Math.pow(2,l-1)*Math.pow(2,i),s=0));i>=8;e[r+p]=a&255,p+=h,a/=256,i-=8);for(s=s<<i|a,c+=i;c>0;e[r+p]=s&255,p+=h,s/=256,c-=8);e[r+p-h]|=y*128}});var ha=D(wn=>{"use strict";var lo=W2(),xn=Y2(),Z2=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;wn.Buffer=b;wn.SlowBuffer=Cu;wn.INSPECT_MAX_BYTES=50;var hi=2147483647;wn.kMaxLength=hi;b.TYPED_ARRAY_SUPPORT=Eu();!b.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function Eu(){try{let e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),e.foo()===42}catch{return!1}}Object.defineProperty(b.prototype,"parent",{enumerable:!0,get:function(){if(b.isBuffer(this))return this.buffer}});Object.defineProperty(b.prototype,"offset",{enumerable:!0,get:function(){if(b.isBuffer(this))return this.byteOffset}});function Xe(e){if(e>hi)throw new RangeError('The value "'+e+'" is invalid for option "size"');let t=new Uint8Array(e);return Object.setPrototypeOf(t,b.prototype),t}function b(e,t,r){if(typeof e=="number"){if(typeof t=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return go(e)}return ta(e,t,r)}b.poolSize=8192;function ta(e,t,r){if(typeof e=="string")return Au(e,t);if(ArrayBuffer.isView(e))return Iu(e);if(e==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(Pe(e,ArrayBuffer)||e&&Pe(e.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(Pe(e,SharedArrayBuffer)||e&&Pe(e.buffer,SharedArrayBuffer)))return po(e,t,r);if(typeof e=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let n=e.valueOf&&e.valueOf();if(n!=null&&n!==e)return b.from(n,t,r);let i=Bu(e);if(i)return i;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof e[Symbol.toPrimitive]=="function")return b.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}b.from=function(e,t,r){return ta(e,t,r)};Object.setPrototypeOf(b.prototype,Uint8Array.prototype);Object.setPrototypeOf(b,Uint8Array);function ea(e){if(typeof e!="number")throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function Su(e,t,r){return ea(e),e<=0?Xe(e):t!==void 0?typeof r=="string"?Xe(e).fill(t,r):Xe(e).fill(t):Xe(e)}b.alloc=function(e,t,r){return Su(e,t,r)};function go(e){return ea(e),Xe(e<0?0:mo(e)|0)}b.allocUnsafe=function(e){return go(e)};b.allocUnsafeSlow=function(e){return go(e)};function Au(e,t){if((typeof t!="string"||t==="")&&(t="utf8"),!b.isEncoding(t))throw new TypeError("Unknown encoding: "+t);let r=ra(e,t)|0,n=Xe(r),i=n.write(e,t);return i!==r&&(n=n.slice(0,i)),n}function ho(e){let t=e.length<0?0:mo(e.length)|0,r=Xe(t);for(let n=0;n<t;n+=1)r[n]=e[n]&255;return r}function Iu(e){if(Pe(e,Uint8Array)){let t=new Uint8Array(e);return po(t.buffer,t.byteOffset,t.byteLength)}return ho(e)}function po(e,t,r){if(t<0||e.byteLength<t)throw new RangeError('"offset" is outside of buffer bounds');if(e.byteLength<t+(r||0))throw new RangeError('"length" is outside of buffer bounds');let n;return t===void 0&&r===void 0?n=new Uint8Array(e):r===void 0?n=new Uint8Array(e,t):n=new Uint8Array(e,t,r),Object.setPrototypeOf(n,b.prototype),n}function Bu(e){if(b.isBuffer(e)){let t=mo(e.length)|0,r=Xe(t);return r.length===0||e.copy(r,0,0,t),r}if(e.length!==void 0)return typeof e.length!="number"||vo(e.length)?Xe(0):ho(e);if(e.type==="Buffer"&&Array.isArray(e.data))return ho(e.data)}function mo(e){if(e>=hi)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+hi.toString(16)+" bytes");return e|0}function Cu(e){return+e!=e&&(e=0),b.alloc(+e)}b.isBuffer=function(t){return t!=null&&t._isBuffer===!0&&t!==b.prototype};b.compare=function(t,r){if(Pe(t,Uint8Array)&&(t=b.from(t,t.offset,t.byteLength)),Pe(r,Uint8Array)&&(r=b.from(r,r.offset,r.byteLength)),!b.isBuffer(t)||!b.isBuffer(r))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===r)return 0;let n=t.length,i=r.length;for(let o=0,s=Math.min(n,i);o<s;++o)if(t[o]!==r[o]){n=t[o],i=r[o];break}return n<i?-1:i<n?1:0};b.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}};b.concat=function(t,r){if(!Array.isArray(t))throw new TypeError('"list" argument must be an Array of Buffers');if(t.length===0)return b.alloc(0);let n;if(r===void 0)for(r=0,n=0;n<t.length;++n)r+=t[n].length;let i=b.allocUnsafe(r),o=0;for(n=0;n<t.length;++n){let s=t[n];if(Pe(s,Uint8Array))o+s.length>i.length?(b.isBuffer(s)||(s=b.from(s)),s.copy(i,o)):Uint8Array.prototype.set.call(i,s,o);else if(b.isBuffer(s))s.copy(i,o);else throw new TypeError('"list" argument must be an Array of Buffers');o+=s.length}return i};function ra(e,t){if(b.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||Pe(e,ArrayBuffer))return e.byteLength;if(typeof e!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);let r=e.length,n=arguments.length>2&&arguments[2]===!0;if(!n&&r===0)return 0;let i=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return yo(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return la(e).length;default:if(i)return n?-1:yo(e).length;t=(""+t).toLowerCase(),i=!0}}b.byteLength=ra;function _u(e,t,r){let n=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0,t>>>=0,r<=t))return"";for(e||(e="utf8");;)switch(e){case"hex":return Ou(this,t,r);case"utf8":case"utf-8":return ia(this,t,r);case"ascii":return Fu(this,t,r);case"latin1":case"binary":return Uu(this,t,r);case"base64":return ku(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Mu(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}b.prototype._isBuffer=!0;function Vr(e,t,r){let n=e[t];e[t]=e[r],e[r]=n}b.prototype.swap16=function(){let t=this.length;if(t%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let r=0;r<t;r+=2)Vr(this,r,r+1);return this};b.prototype.swap32=function(){let t=this.length;if(t%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let r=0;r<t;r+=4)Vr(this,r,r+3),Vr(this,r+1,r+2);return this};b.prototype.swap64=function(){let t=this.length;if(t%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let r=0;r<t;r+=8)Vr(this,r,r+7),Vr(this,r+1,r+6),Vr(this,r+2,r+5),Vr(this,r+3,r+4);return this};b.prototype.toString=function(){let t=this.length;return t===0?"":arguments.length===0?ia(this,0,t):_u.apply(this,arguments)};b.prototype.toLocaleString=b.prototype.toString;b.prototype.equals=function(t){if(!b.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t?!0:b.compare(this,t)===0};b.prototype.inspect=function(){let t="",r=wn.INSPECT_MAX_BYTES;return t=this.toString("hex",0,r).replace(/(.{2})/g,"$1 ").trim(),this.length>r&&(t+=" ... "),"<Buffer "+t+">"};Z2&&(b.prototype[Z2]=b.prototype.inspect);b.prototype.compare=function(t,r,n,i,o){if(Pe(t,Uint8Array)&&(t=b.from(t,t.offset,t.byteLength)),!b.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(r===void 0&&(r=0),n===void 0&&(n=t?t.length:0),i===void 0&&(i=0),o===void 0&&(o=this.length),r<0||n>t.length||i<0||o>this.length)throw new RangeError("out of range index");if(i>=o&&r>=n)return 0;if(i>=o)return-1;if(r>=n)return 1;if(r>>>=0,n>>>=0,i>>>=0,o>>>=0,this===t)return 0;let s=o-i,a=n-r,u=Math.min(s,a),c=this.slice(i,o),f=t.slice(r,n);for(let l=0;l<u;++l)if(c[l]!==f[l]){s=c[l],a=f[l];break}return s<a?-1:a<s?1:0};function na(e,t,r,n,i){if(e.length===0)return-1;if(typeof r=="string"?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,vo(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0)if(i)r=0;else return-1;if(typeof t=="string"&&(t=b.from(t,n)),b.isBuffer(t))return t.length===0?-1:X2(e,t,r,n,i);if(typeof t=="number")return t=t&255,typeof Uint8Array.prototype.indexOf=="function"?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):X2(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function X2(e,t,r,n,i){let o=1,s=e.length,a=t.length;if(n!==void 0&&(n=String(n).toLowerCase(),n==="ucs2"||n==="ucs-2"||n==="utf16le"||n==="utf-16le")){if(e.length<2||t.length<2)return-1;o=2,s/=2,a/=2,r/=2}function u(f,l){return o===1?f[l]:f.readUInt16BE(l*o)}let c;if(i){let f=-1;for(c=r;c<s;c++)if(u(e,c)===u(t,f===-1?0:c-f)){if(f===-1&&(f=c),c-f+1===a)return f*o}else f!==-1&&(c-=c-f),f=-1}else for(r+a>s&&(r=s-a),c=r;c>=0;c--){let f=!0;for(let l=0;l<a;l++)if(u(e,c+l)!==u(t,l)){f=!1;break}if(f)return c}return-1}b.prototype.includes=function(t,r,n){return this.indexOf(t,r,n)!==-1};b.prototype.indexOf=function(t,r,n){return na(this,t,r,n,!0)};b.prototype.lastIndexOf=function(t,r,n){return na(this,t,r,n,!1)};function Tu(e,t,r,n){r=Number(r)||0;let i=e.length-r;n?(n=Number(n),n>i&&(n=i)):n=i;let o=t.length;n>o/2&&(n=o/2);let s;for(s=0;s<n;++s){let a=parseInt(t.substr(s*2,2),16);if(vo(a))return s;e[r+s]=a}return s}function Ru(e,t,r,n){return pi(yo(t,e.length-r),e,r,n)}function Pu(e,t,r,n){return pi(zu(t),e,r,n)}function Nu(e,t,r,n){return pi(la(t),e,r,n)}function Lu(e,t,r,n){return pi($u(t,e.length-r),e,r,n)}b.prototype.write=function(t,r,n,i){if(r===void 0)i="utf8",n=this.length,r=0;else if(n===void 0&&typeof r=="string")i=r,n=this.length,r=0;else if(isFinite(r))r=r>>>0,isFinite(n)?(n=n>>>0,i===void 0&&(i="utf8")):(i=n,n=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let o=this.length-r;if((n===void 0||n>o)&&(n=o),t.length>0&&(n<0||r<0)||r>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");let s=!1;for(;;)switch(i){case"hex":return Tu(this,t,r,n);case"utf8":case"utf-8":return Ru(this,t,r,n);case"ascii":case"latin1":case"binary":return Pu(this,t,r,n);case"base64":return Nu(this,t,r,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Lu(this,t,r,n);default:if(s)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),s=!0}};b.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function ku(e,t,r){return t===0&&r===e.length?lo.fromByteArray(e):lo.fromByteArray(e.slice(t,r))}function ia(e,t,r){r=Math.min(e.length,r);let n=[],i=t;for(;i<r;){let o=e[i],s=null,a=o>239?4:o>223?3:o>191?2:1;if(i+a<=r){let u,c,f,l;switch(a){case 1:o<128&&(s=o);break;case 2:u=e[i+1],(u&192)===128&&(l=(o&31)<<6|u&63,l>127&&(s=l));break;case 3:u=e[i+1],c=e[i+2],(u&192)===128&&(c&192)===128&&(l=(o&15)<<12|(u&63)<<6|c&63,l>2047&&(l<55296||l>57343)&&(s=l));break;case 4:u=e[i+1],c=e[i+2],f=e[i+3],(u&192)===128&&(c&192)===128&&(f&192)===128&&(l=(o&15)<<18|(u&63)<<12|(c&63)<<6|f&63,l>65535&&l<1114112&&(s=l))}}s===null?(s=65533,a=1):s>65535&&(s-=65536,n.push(s>>>10&1023|55296),s=56320|s&1023),n.push(s),i+=a}return Du(n)}var j2=4096;function Du(e){let t=e.length;if(t<=j2)return String.fromCharCode.apply(String,e);let r="",n=0;for(;n<t;)r+=String.fromCharCode.apply(String,e.slice(n,n+=j2));return r}function Fu(e,t,r){let n="";r=Math.min(e.length,r);for(let i=t;i<r;++i)n+=String.fromCharCode(e[i]&127);return n}function Uu(e,t,r){let n="";r=Math.min(e.length,r);for(let i=t;i<r;++i)n+=String.fromCharCode(e[i]);return n}function Ou(e,t,r){let n=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>n)&&(r=n);let i="";for(let o=t;o<r;++o)i+=Hu[e[o]];return i}function Mu(e,t,r){let n=e.slice(t,r),i="";for(let o=0;o<n.length-1;o+=2)i+=String.fromCharCode(n[o]+n[o+1]*256);return i}b.prototype.slice=function(t,r){let n=this.length;t=~~t,r=r===void 0?n:~~r,t<0?(t+=n,t<0&&(t=0)):t>n&&(t=n),r<0?(r+=n,r<0&&(r=0)):r>n&&(r=n),r<t&&(r=t);let i=this.subarray(t,r);return Object.setPrototypeOf(i,b.prototype),i};function kt(e,t,r){if(e%1!==0||e<0)throw new RangeError("offset is not uint");if(e+t>r)throw new RangeError("Trying to access beyond buffer length")}b.prototype.readUintLE=b.prototype.readUIntLE=function(t,r,n){t=t>>>0,r=r>>>0,n||kt(t,r,this.length);let i=this[t],o=1,s=0;for(;++s<r&&(o*=256);)i+=this[t+s]*o;return i};b.prototype.readUintBE=b.prototype.readUIntBE=function(t,r,n){t=t>>>0,r=r>>>0,n||kt(t,r,this.length);let i=this[t+--r],o=1;for(;r>0&&(o*=256);)i+=this[t+--r]*o;return i};b.prototype.readUint8=b.prototype.readUInt8=function(t,r){return t=t>>>0,r||kt(t,1,this.length),this[t]};b.prototype.readUint16LE=b.prototype.readUInt16LE=function(t,r){return t=t>>>0,r||kt(t,2,this.length),this[t]|this[t+1]<<8};b.prototype.readUint16BE=b.prototype.readUInt16BE=function(t,r){return t=t>>>0,r||kt(t,2,this.length),this[t]<<8|this[t+1]};b.prototype.readUint32LE=b.prototype.readUInt32LE=function(t,r){return t=t>>>0,r||kt(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+this[t+3]*16777216};b.prototype.readUint32BE=b.prototype.readUInt32BE=function(t,r){return t=t>>>0,r||kt(t,4,this.length),this[t]*16777216+(this[t+1]<<16|this[t+2]<<8|this[t+3])};b.prototype.readBigUInt64LE=mr(function(t){t=t>>>0,vn(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&l0(t,this.length-8);let i=r+this[++t]*2**8+this[++t]*2**16+this[++t]*2**24,o=this[++t]+this[++t]*2**8+this[++t]*2**16+n*2**24;return BigInt(i)+(BigInt(o)<<BigInt(32))});b.prototype.readBigUInt64BE=mr(function(t){t=t>>>0,vn(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&l0(t,this.length-8);let i=r*2**24+this[++t]*2**16+this[++t]*2**8+this[++t],o=this[++t]*2**24+this[++t]*2**16+this[++t]*2**8+n;return(BigInt(i)<<BigInt(32))+BigInt(o)});b.prototype.readIntLE=function(t,r,n){t=t>>>0,r=r>>>0,n||kt(t,r,this.length);let i=this[t],o=1,s=0;for(;++s<r&&(o*=256);)i+=this[t+s]*o;return o*=128,i>=o&&(i-=Math.pow(2,8*r)),i};b.prototype.readIntBE=function(t,r,n){t=t>>>0,r=r>>>0,n||kt(t,r,this.length);let i=r,o=1,s=this[t+--i];for(;i>0&&(o*=256);)s+=this[t+--i]*o;return o*=128,s>=o&&(s-=Math.pow(2,8*r)),s};b.prototype.readInt8=function(t,r){return t=t>>>0,r||kt(t,1,this.length),this[t]&128?(255-this[t]+1)*-1:this[t]};b.prototype.readInt16LE=function(t,r){t=t>>>0,r||kt(t,2,this.length);let n=this[t]|this[t+1]<<8;return n&32768?n|4294901760:n};b.prototype.readInt16BE=function(t,r){t=t>>>0,r||kt(t,2,this.length);let n=this[t+1]|this[t]<<8;return n&32768?n|4294901760:n};b.prototype.readInt32LE=function(t,r){return t=t>>>0,r||kt(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24};b.prototype.readInt32BE=function(t,r){return t=t>>>0,r||kt(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]};b.prototype.readBigInt64LE=mr(function(t){t=t>>>0,vn(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&l0(t,this.length-8);let i=this[t+4]+this[t+5]*2**8+this[t+6]*2**16+(n<<24);return(BigInt(i)<<BigInt(32))+BigInt(r+this[++t]*2**8+this[++t]*2**16+this[++t]*2**24)});b.prototype.readBigInt64BE=mr(function(t){t=t>>>0,vn(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&l0(t,this.length-8);let i=(r<<24)+this[++t]*2**16+this[++t]*2**8+this[++t];return(BigInt(i)<<BigInt(32))+BigInt(this[++t]*2**24+this[++t]*2**16+this[++t]*2**8+n)});b.prototype.readFloatLE=function(t,r){return t=t>>>0,r||kt(t,4,this.length),xn.read(this,t,!0,23,4)};b.prototype.readFloatBE=function(t,r){return t=t>>>0,r||kt(t,4,this.length),xn.read(this,t,!1,23,4)};b.prototype.readDoubleLE=function(t,r){return t=t>>>0,r||kt(t,8,this.length),xn.read(this,t,!0,52,8)};b.prototype.readDoubleBE=function(t,r){return t=t>>>0,r||kt(t,8,this.length),xn.read(this,t,!1,52,8)};function Wt(e,t,r,n,i,o){if(!b.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||t<o)throw new RangeError('"value" argument is out of bounds');if(r+n>e.length)throw new RangeError("Index out of range")}b.prototype.writeUintLE=b.prototype.writeUIntLE=function(t,r,n,i){if(t=+t,r=r>>>0,n=n>>>0,!i){let a=Math.pow(2,8*n)-1;Wt(this,t,r,n,a,0)}let o=1,s=0;for(this[r]=t&255;++s<n&&(o*=256);)this[r+s]=t/o&255;return r+n};b.prototype.writeUintBE=b.prototype.writeUIntBE=function(t,r,n,i){if(t=+t,r=r>>>0,n=n>>>0,!i){let a=Math.pow(2,8*n)-1;Wt(this,t,r,n,a,0)}let o=n-1,s=1;for(this[r+o]=t&255;--o>=0&&(s*=256);)this[r+o]=t/s&255;return r+n};b.prototype.writeUint8=b.prototype.writeUInt8=function(t,r,n){return t=+t,r=r>>>0,n||Wt(this,t,r,1,255,0),this[r]=t&255,r+1};b.prototype.writeUint16LE=b.prototype.writeUInt16LE=function(t,r,n){return t=+t,r=r>>>0,n||Wt(this,t,r,2,65535,0),this[r]=t&255,this[r+1]=t>>>8,r+2};b.prototype.writeUint16BE=b.prototype.writeUInt16BE=function(t,r,n){return t=+t,r=r>>>0,n||Wt(this,t,r,2,65535,0),this[r]=t>>>8,this[r+1]=t&255,r+2};b.prototype.writeUint32LE=b.prototype.writeUInt32LE=function(t,r,n){return t=+t,r=r>>>0,n||Wt(this,t,r,4,4294967295,0),this[r+3]=t>>>24,this[r+2]=t>>>16,this[r+1]=t>>>8,this[r]=t&255,r+4};b.prototype.writeUint32BE=b.prototype.writeUInt32BE=function(t,r,n){return t=+t,r=r>>>0,n||Wt(this,t,r,4,4294967295,0),this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255,r+4};function oa(e,t,r,n,i){fa(t,n,i,e,r,7);let o=Number(t&BigInt(4294967295));e[r++]=o,o=o>>8,e[r++]=o,o=o>>8,e[r++]=o,o=o>>8,e[r++]=o;let s=Number(t>>BigInt(32)&BigInt(4294967295));return e[r++]=s,s=s>>8,e[r++]=s,s=s>>8,e[r++]=s,s=s>>8,e[r++]=s,r}function sa(e,t,r,n,i){fa(t,n,i,e,r,7);let o=Number(t&BigInt(4294967295));e[r+7]=o,o=o>>8,e[r+6]=o,o=o>>8,e[r+5]=o,o=o>>8,e[r+4]=o;let s=Number(t>>BigInt(32)&BigInt(4294967295));return e[r+3]=s,s=s>>8,e[r+2]=s,s=s>>8,e[r+1]=s,s=s>>8,e[r]=s,r+8}b.prototype.writeBigUInt64LE=mr(function(t,r=0){return oa(this,t,r,BigInt(0),BigInt("0xffffffffffffffff"))});b.prototype.writeBigUInt64BE=mr(function(t,r=0){return sa(this,t,r,BigInt(0),BigInt("0xffffffffffffffff"))});b.prototype.writeIntLE=function(t,r,n,i){if(t=+t,r=r>>>0,!i){let u=Math.pow(2,8*n-1);Wt(this,t,r,n,u-1,-u)}let o=0,s=1,a=0;for(this[r]=t&255;++o<n&&(s*=256);)t<0&&a===0&&this[r+o-1]!==0&&(a=1),this[r+o]=(t/s>>0)-a&255;return r+n};b.prototype.writeIntBE=function(t,r,n,i){if(t=+t,r=r>>>0,!i){let u=Math.pow(2,8*n-1);Wt(this,t,r,n,u-1,-u)}let o=n-1,s=1,a=0;for(this[r+o]=t&255;--o>=0&&(s*=256);)t<0&&a===0&&this[r+o+1]!==0&&(a=1),this[r+o]=(t/s>>0)-a&255;return r+n};b.prototype.writeInt8=function(t,r,n){return t=+t,r=r>>>0,n||Wt(this,t,r,1,127,-128),t<0&&(t=255+t+1),this[r]=t&255,r+1};b.prototype.writeInt16LE=function(t,r,n){return t=+t,r=r>>>0,n||Wt(this,t,r,2,32767,-32768),this[r]=t&255,this[r+1]=t>>>8,r+2};b.prototype.writeInt16BE=function(t,r,n){return t=+t,r=r>>>0,n||Wt(this,t,r,2,32767,-32768),this[r]=t>>>8,this[r+1]=t&255,r+2};b.prototype.writeInt32LE=function(t,r,n){return t=+t,r=r>>>0,n||Wt(this,t,r,4,2147483647,-2147483648),this[r]=t&255,this[r+1]=t>>>8,this[r+2]=t>>>16,this[r+3]=t>>>24,r+4};b.prototype.writeInt32BE=function(t,r,n){return t=+t,r=r>>>0,n||Wt(this,t,r,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255,r+4};b.prototype.writeBigInt64LE=mr(function(t,r=0){return oa(this,t,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});b.prototype.writeBigInt64BE=mr(function(t,r=0){return sa(this,t,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function aa(e,t,r,n,i,o){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function ua(e,t,r,n,i){return t=+t,r=r>>>0,i||aa(e,t,r,4,34028234663852886e22,-34028234663852886e22),xn.write(e,t,r,n,23,4),r+4}b.prototype.writeFloatLE=function(t,r,n){return ua(this,t,r,!0,n)};b.prototype.writeFloatBE=function(t,r,n){return ua(this,t,r,!1,n)};function ca(e,t,r,n,i){return t=+t,r=r>>>0,i||aa(e,t,r,8,17976931348623157e292,-17976931348623157e292),xn.write(e,t,r,n,52,8),r+8}b.prototype.writeDoubleLE=function(t,r,n){return ca(this,t,r,!0,n)};b.prototype.writeDoubleBE=function(t,r,n){return ca(this,t,r,!1,n)};b.prototype.copy=function(t,r,n,i){if(!b.isBuffer(t))throw new TypeError("argument should be a Buffer");if(n||(n=0),!i&&i!==0&&(i=this.length),r>=t.length&&(r=t.length),r||(r=0),i>0&&i<n&&(i=n),i===n||t.length===0||this.length===0)return 0;if(r<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),t.length-r<i-n&&(i=t.length-r+n);let o=i-n;return this===t&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(r,n,i):Uint8Array.prototype.set.call(t,this.subarray(n,i),r),o};b.prototype.fill=function(t,r,n,i){if(typeof t=="string"){if(typeof r=="string"?(i=r,r=0,n=this.length):typeof n=="string"&&(i=n,n=this.length),i!==void 0&&typeof i!="string")throw new TypeError("encoding must be a string");if(typeof i=="string"&&!b.isEncoding(i))throw new TypeError("Unknown encoding: "+i);if(t.length===1){let s=t.charCodeAt(0);(i==="utf8"&&s<128||i==="latin1")&&(t=s)}}else typeof t=="number"?t=t&255:typeof t=="boolean"&&(t=Number(t));if(r<0||this.length<r||this.length<n)throw new RangeError("Out of range index");if(n<=r)return this;r=r>>>0,n=n===void 0?this.length:n>>>0,t||(t=0);let o;if(typeof t=="number")for(o=r;o<n;++o)this[o]=t;else{let s=b.isBuffer(t)?t:b.from(t,i),a=s.length;if(a===0)throw new TypeError('The value "'+t+'" is invalid for argument "value"');for(o=0;o<n-r;++o)this[o+r]=s[o%a]}return this};var mn={};function xo(e,t,r){mn[e]=class extends r{constructor(){super(),Object.defineProperty(this,"message",{value:t.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${e}]`,this.stack,delete this.name}get code(){return e}set code(i){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:i,writable:!0})}toString(){return`${this.name} [${e}]: ${this.message}`}}}xo("ERR_BUFFER_OUT_OF_BOUNDS",function(e){return e?`${e} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError);xo("ERR_INVALID_ARG_TYPE",function(e,t){return`The "${e}" argument must be of type number. Received type ${typeof t}`},TypeError);xo("ERR_OUT_OF_RANGE",function(e,t,r){let n=`The value of "${e}" is out of range.`,i=r;return Number.isInteger(r)&&Math.abs(r)>2**32?i=J2(String(r)):typeof r=="bigint"&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=J2(i)),i+="n"),n+=` It must be ${t}. Received ${i}`,n},RangeError);function J2(e){let t="",r=e.length,n=e[0]==="-"?1:0;for(;r>=n+4;r-=3)t=`_${e.slice(r-3,r)}${t}`;return`${e.slice(0,r)}${t}`}function Ku(e,t,r){vn(t,"offset"),(e[t]===void 0||e[t+r]===void 0)&&l0(t,e.length-(r+1))}function fa(e,t,r,n,i,o){if(e>r||e<t){let s=typeof t=="bigint"?"n":"",a;throw o>3?t===0||t===BigInt(0)?a=`>= 0${s} and < 2${s} ** ${(o+1)*8}${s}`:a=`>= -(2${s} ** ${(o+1)*8-1}${s}) and < 2 ** ${(o+1)*8-1}${s}`:a=`>= ${t}${s} and <= ${r}${s}`,new mn.ERR_OUT_OF_RANGE("value",a,e)}Ku(n,i,o)}function vn(e,t){if(typeof e!="number")throw new mn.ERR_INVALID_ARG_TYPE(t,"number",e)}function l0(e,t,r){throw Math.floor(e)!==e?(vn(e,r),new mn.ERR_OUT_OF_RANGE(r||"offset","an integer",e)):t<0?new mn.ERR_BUFFER_OUT_OF_BOUNDS:new mn.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${t}`,e)}var Vu=/[^+/0-9A-Za-z-_]/g;function qu(e){if(e=e.split("=")[0],e=e.trim().replace(Vu,""),e.length<2)return"";for(;e.length%4!==0;)e=e+"=";return e}function yo(e,t){t=t||1/0;let r,n=e.length,i=null,o=[];for(let s=0;s<n;++s){if(r=e.charCodeAt(s),r>55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&o.push(239,191,189);continue}else if(s+1===n){(t-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&o.push(239,191,189),i=r;continue}r=(i-55296<<10|r-56320)+65536}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;o.push(r)}else if(r<2048){if((t-=2)<0)break;o.push(r>>6|192,r&63|128)}else if(r<65536){if((t-=3)<0)break;o.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((t-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return o}function zu(e){let t=[];for(let r=0;r<e.length;++r)t.push(e.charCodeAt(r)&255);return t}function $u(e,t){let r,n,i,o=[];for(let s=0;s<e.length&&!((t-=2)<0);++s)r=e.charCodeAt(s),n=r>>8,i=r%256,o.push(i),o.push(n);return o}function la(e){return lo.toByteArray(qu(e))}function pi(e,t,r,n){let i;for(i=0;i<n&&!(i+r>=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function Pe(e,t){return e instanceof t||e!=null&&e.constructor!=null&&e.constructor.name!=null&&e.constructor.name===t.name}function vo(e){return e!==e}var Hu=function(){let e="0123456789abcdef",t=new Array(256);for(let r=0;r<16;++r){let n=r*16;for(let i=0;i<16;++i)t[n+i]=e[r]+e[i]}return t}();function mr(e){return typeof BigInt>"u"?Gu:e}function Gu(){throw new Error("BigInt not supported")}});var ya=D((wo,da)=>{var di=ha(),Ne=di.Buffer;function pa(e,t){for(var r in e)t[r]=e[r]}Ne.from&&Ne.alloc&&Ne.allocUnsafe&&Ne.allocUnsafeSlow?da.exports=di:(pa(di,wo),wo.Buffer=qr);function qr(e,t,r){return Ne(e,t,r)}qr.prototype=Object.create(Ne.prototype);pa(Ne,qr);qr.from=function(e,t,r){if(typeof e=="number")throw new TypeError("Argument must not be a number");return Ne(e,t,r)};qr.alloc=function(e,t,r){if(typeof e!="number")throw new TypeError("Argument must be a number");var n=Ne(e);return t!==void 0?typeof r=="string"?n.fill(t,r):n.fill(t):n.fill(0),n};qr.allocUnsafe=function(e){if(typeof e!="number")throw new TypeError("Argument must be a number");return Ne(e)};qr.allocUnsafeSlow=function(e){if(typeof e!="number")throw new TypeError("Argument must be a number");return di.SlowBuffer(e)}});var ga=D((Cd,Eo)=>{"use strict";var bo=65536,Qu=4294967295;function Wu(){throw new Error(`Secure random number generation is not supported by this browser.
|
|
3
|
-
Use Chrome, Firefox or Internet Explorer 11`)}var Yu=ya().Buffer,yi=globalThis.crypto||globalThis.msCrypto;yi&&yi.getRandomValues?Eo.exports=Zu:Eo.exports=Wu;function Zu(e,t){if(e>Qu)throw new RangeError("requested too many random bytes");var r=Yu.allocUnsafe(e);if(e>0)if(e>bo)for(var n=0;n<e;n+=bo)yi.getRandomValues(r.slice(n,n+bo));else yi.getRandomValues(r);return typeof t=="function"?process.nextTick(function(){t(null,r)}):r}});var xi=D((_d,So)=>{"use strict";var bn=typeof Reflect=="object"?Reflect:null,ma=bn&&typeof bn.apply=="function"?bn.apply:function(t,r,n){return Function.prototype.apply.call(t,r,n)},gi;bn&&typeof bn.ownKeys=="function"?gi=bn.ownKeys:Object.getOwnPropertySymbols?gi=function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:gi=function(t){return Object.getOwnPropertyNames(t)};function Xu(e){console&&console.warn&&console.warn(e)}var va=Number.isNaN||function(t){return t!==t};function it(){it.init.call(this)}So.exports=it;So.exports.once=ec;it.EventEmitter=it;it.prototype._events=void 0;it.prototype._eventsCount=0;it.prototype._maxListeners=void 0;var xa=10;function mi(e){if(typeof e!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}Object.defineProperty(it,"defaultMaxListeners",{enumerable:!0,get:function(){return xa},set:function(e){if(typeof e!="number"||e<0||va(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");xa=e}});it.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};it.prototype.setMaxListeners=function(t){if(typeof t!="number"||t<0||va(t))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+t+".");return this._maxListeners=t,this};function wa(e){return e._maxListeners===void 0?it.defaultMaxListeners:e._maxListeners}it.prototype.getMaxListeners=function(){return wa(this)};it.prototype.emit=function(t){for(var r=[],n=1;n<arguments.length;n++)r.push(arguments[n]);var i=t==="error",o=this._events;if(o!==void 0)i=i&&o.error===void 0;else if(!i)return!1;if(i){var s;if(r.length>0&&(s=r[0]),s instanceof Error)throw s;var a=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw a.context=s,a}var u=o[t];if(u===void 0)return!1;if(typeof u=="function")ma(u,this,r);else for(var c=u.length,f=Ia(u,c),n=0;n<c;++n)ma(f[n],this,r);return!0};function ba(e,t,r,n){var i,o,s;if(mi(r),o=e._events,o===void 0?(o=e._events=Object.create(null),e._eventsCount=0):(o.newListener!==void 0&&(e.emit("newListener",t,r.listener?r.listener:r),o=e._events),s=o[t]),s===void 0)s=o[t]=r,++e._eventsCount;else if(typeof s=="function"?s=o[t]=n?[r,s]:[s,r]:n?s.unshift(r):s.push(r),i=wa(e),i>0&&s.length>i&&!s.warned){s.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=e,a.type=t,a.count=s.length,Xu(a)}return e}it.prototype.addListener=function(t,r){return ba(this,t,r,!1)};it.prototype.on=it.prototype.addListener;it.prototype.prependListener=function(t,r){return ba(this,t,r,!0)};function ju(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function Ea(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},i=ju.bind(n);return i.listener=r,n.wrapFn=i,i}it.prototype.once=function(t,r){return mi(r),this.on(t,Ea(this,t,r)),this};it.prototype.prependOnceListener=function(t,r){return mi(r),this.prependListener(t,Ea(this,t,r)),this};it.prototype.removeListener=function(t,r){var n,i,o,s,a;if(mi(r),i=this._events,i===void 0)return this;if(n=i[t],n===void 0)return this;if(n===r||n.listener===r)--this._eventsCount===0?this._events=Object.create(null):(delete i[t],i.removeListener&&this.emit("removeListener",t,n.listener||r));else if(typeof n!="function"){for(o=-1,s=n.length-1;s>=0;s--)if(n[s]===r||n[s].listener===r){a=n[s].listener,o=s;break}if(o<0)return this;o===0?n.shift():Ju(n,o),n.length===1&&(i[t]=n[0]),i.removeListener!==void 0&&this.emit("removeListener",t,a||r)}return this};it.prototype.off=it.prototype.removeListener;it.prototype.removeAllListeners=function(t){var r,n,i;if(n=this._events,n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[t]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[t]),this;if(arguments.length===0){var o=Object.keys(n),s;for(i=0;i<o.length;++i)s=o[i],s!=="removeListener"&&this.removeAllListeners(s);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(r=n[t],typeof r=="function")this.removeListener(t,r);else if(r!==void 0)for(i=r.length-1;i>=0;i--)this.removeListener(t,r[i]);return this};function Sa(e,t,r){var n=e._events;if(n===void 0)return[];var i=n[t];return i===void 0?[]:typeof i=="function"?r?[i.listener||i]:[i]:r?tc(i):Ia(i,i.length)}it.prototype.listeners=function(t){return Sa(this,t,!0)};it.prototype.rawListeners=function(t){return Sa(this,t,!1)};it.listenerCount=function(e,t){return typeof e.listenerCount=="function"?e.listenerCount(t):Aa.call(e,t)};it.prototype.listenerCount=Aa;function Aa(e){var t=this._events;if(t!==void 0){var r=t[e];if(typeof r=="function")return 1;if(r!==void 0)return r.length}return 0}it.prototype.eventNames=function(){return this._eventsCount>0?gi(this._events):[]};function Ia(e,t){for(var r=new Array(t),n=0;n<t;++n)r[n]=e[n];return r}function Ju(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}function tc(e){for(var t=new Array(e.length),r=0;r<t.length;++r)t[r]=e[r].listener||e[r];return t}function ec(e,t){return new Promise(function(r,n){function i(s){e.removeListener(t,o),n(s)}function o(){typeof e.removeListener=="function"&&e.removeListener("error",i),r([].slice.call(arguments))}Ba(e,t,o,{once:!0}),t!=="error"&&rc(e,i,{once:!0})})}function rc(e,t,r){typeof e.on=="function"&&Ba(e,"error",t,r)}function Ba(e,t,r,n){if(typeof e.on=="function")n.once?e.once(t,r):e.on(t,r);else if(typeof e.addEventListener=="function")e.addEventListener(t,function i(o){n.once&&e.removeEventListener(t,i),r(o)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof e)}});var Ta=D((Td,_a)=>{"use strict";var nc=ga(),{EventEmitter:ic}=xi();function Ca(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let r=0,n=e.length;r<n;++r)if(e[r]!==t[r])return!1;return!0}function Ao(){return{contacts:[],dontSplit:!1,left:null,right:null}}function h0(e,t){if(!(t instanceof Uint8Array))throw new TypeError(e+" is not a Uint8Array")}var En=class extends ic{constructor(t={}){super(),this.localNodeId=t.localNodeId||nc(20),this.numberOfNodesPerKBucket=t.numberOfNodesPerKBucket||20,this.numberOfNodesToPing=t.numberOfNodesToPing||3,this.distance=t.distance||En.distance,this.arbiter=t.arbiter||En.arbiter,this.metadata=Object.assign({},t.metadata),h0("option.localNodeId as parameter 1",this.localNodeId),this.root=Ao()}static arbiter(t,r){return t.vectorClock>r.vectorClock?t:r}static distance(t,r){let n=0,i=0,o=Math.min(t.length,r.length),s=Math.max(t.length,r.length);for(;i<o;++i)n=n*256+(t[i]^r[i]);for(;i<s;++i)n=n*256+255;return n}add(t){h0("contact.id",(t||{}).id);let r=0,n=this.root;for(;n.contacts===null;)n=this._determineNode(n,t.id,r++);let i=this._indexOf(n,t.id);return i>=0?(this._update(n,i,t),this):n.contacts.length<this.numberOfNodesPerKBucket?(n.contacts.push(t),this.emit("added",t),this):n.dontSplit?(this.emit("ping",n.contacts.slice(0,this.numberOfNodesToPing),t),this):(this._split(n,r),this.add(t))}closest(t,r=1/0){if(h0("id",t),!Number.isInteger(r)&&r!==1/0||r<=0)throw new TypeError("n is not positive number");let n=[];for(let i=[this.root],o=0;i.length>0&&n.length<r;){let s=i.pop();if(s.contacts===null){let a=this._determineNode(s,t,o++);i.push(s.left===a?s.right:s.left),i.push(a)}else n=n.concat(s.contacts)}return n.map(i=>[this.distance(i.id,t),i]).sort((i,o)=>i[0]-o[0]).slice(0,r).map(i=>i[1])}count(){let t=0;for(let r=[this.root];r.length>0;){let n=r.pop();n.contacts===null?r.push(n.right,n.left):t+=n.contacts.length}return t}_determineNode(t,r,n){let i=n>>3,o=n%8;return r.length<=i&&o!==0?t.left:r[i]&1<<7-o?t.right:t.left}get(t){h0("id",t);let r=0,n=this.root;for(;n.contacts===null;)n=this._determineNode(n,t,r++);let i=this._indexOf(n,t);return i>=0?n.contacts[i]:null}_indexOf(t,r){for(let n=0;n<t.contacts.length;++n)if(Ca(t.contacts[n].id,r))return n;return-1}remove(t){h0("the id as parameter 1",t);let r=0,n=this.root;for(;n.contacts===null;)n=this._determineNode(n,t,r++);let i=this._indexOf(n,t);if(i>=0){let o=n.contacts.splice(i,1)[0];this.emit("removed",o)}return this}_split(t,r){t.left=Ao(),t.right=Ao();for(let o of t.contacts)this._determineNode(t,o.id,r).contacts.push(o);t.contacts=null;let n=this._determineNode(t,this.localNodeId,r),i=t.left===n?t.right:t.left;i.dontSplit=!0}toArray(){let t=[];for(let r=[this.root];r.length>0;){let n=r.pop();n.contacts===null?r.push(n.right,n.left):t=t.concat(n.contacts)}return t}*toIterable(){for(let t=[this.root];t.length>0;){let r=t.pop();r.contacts===null?t.push(r.right,r.left):yield*r.contacts}}_update(t,r,n){if(!Ca(t.contacts[r].id,n.id))throw new Error("wrong index for _update");let i=t.contacts[r],o=this.arbiter(i,n);o===i&&i!==n||(t.contacts.splice(r,1),t.contacts.push(o),this.emit("updated",i,o))}};_a.exports=En});var Ja=D((Cy,ja)=>{"use strict";ja.exports=df;function df(e,t){for(var r=new Array(arguments.length-1),n=0,i=2,o=!0;i<arguments.length;)r[n++]=arguments[i++];return new Promise(function(a,u){r[n]=function(f){if(o)if(o=!1,f)u(f);else{for(var l=new Array(arguments.length-1),d=0;d<l.length;)l[d++]=arguments[d];a.apply(null,l)}};try{e.apply(t||null,r)}catch(c){o&&(o=!1,u(c))}})}});var n3=D(r3=>{"use strict";var Ei=r3;Ei.length=function(t){var r=t.length;if(!r)return 0;for(var n=0;--r%4>1&&t.charAt(r)==="=";)++n;return Math.ceil(t.length*3)/4-n};var Cn=new Array(64),e3=new Array(123);for(me=0;me<64;)e3[Cn[me]=me<26?me+65:me<52?me+71:me<62?me-4:me-59|43]=me++;var me;Ei.encode=function(t,r,n){for(var i=null,o=[],s=0,a=0,u;r<n;){var c=t[r++];switch(a){case 0:o[s++]=Cn[c>>2],u=(c&3)<<4,a=1;break;case 1:o[s++]=Cn[u|c>>4],u=(c&15)<<2,a=2;break;case 2:o[s++]=Cn[u|c>>6],o[s++]=Cn[c&63],a=0;break}s>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,o)),s=0)}return a&&(o[s++]=Cn[u],o[s++]=61,a===1&&(o[s++]=61)),i?(s&&i.push(String.fromCharCode.apply(String,o.slice(0,s))),i.join("")):String.fromCharCode.apply(String,o.slice(0,s))};var t3="invalid encoding";Ei.decode=function(t,r,n){for(var i=n,o=0,s,a=0;a<t.length;){var u=t.charCodeAt(a++);if(u===61&&o>1)break;if((u=e3[u])===void 0)throw Error(t3);switch(o){case 0:s=u,o=1;break;case 1:r[n++]=s<<2|(u&48)>>4,s=u,o=2;break;case 2:r[n++]=(s&15)<<4|(u&60)>>2,s=u,o=3;break;case 3:r[n++]=(s&3)<<6|u,o=0;break}}if(o===1)throw Error(t3);return n-i};Ei.test=function(t){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(t)}});var o3=D((Ty,i3)=>{"use strict";i3.exports=Si;function Si(){this._listeners={}}Si.prototype.on=function(t,r,n){return(this._listeners[t]||(this._listeners[t]=[])).push({fn:r,ctx:n||this}),this};Si.prototype.off=function(t,r){if(t===void 0)this._listeners={};else if(r===void 0)this._listeners[t]=[];else for(var n=this._listeners[t],i=0;i<n.length;)n[i].fn===r?n.splice(i,1):++i;return this};Si.prototype.emit=function(t){var r=this._listeners[t];if(r){for(var n=[],i=1;i<arguments.length;)n.push(arguments[i++]);for(i=0;i<r.length;)r[i].fn.apply(r[i++].ctx,n)}return this}});var h3=D((Ry,l3)=>{"use strict";l3.exports=s3(s3);function s3(e){return typeof Float32Array<"u"?function(){var t=new Float32Array([-0]),r=new Uint8Array(t.buffer),n=r[3]===128;function i(u,c,f){t[0]=u,c[f]=r[0],c[f+1]=r[1],c[f+2]=r[2],c[f+3]=r[3]}function o(u,c,f){t[0]=u,c[f]=r[3],c[f+1]=r[2],c[f+2]=r[1],c[f+3]=r[0]}e.writeFloatLE=n?i:o,e.writeFloatBE=n?o:i;function s(u,c){return r[0]=u[c],r[1]=u[c+1],r[2]=u[c+2],r[3]=u[c+3],t[0]}function a(u,c){return r[3]=u[c],r[2]=u[c+1],r[1]=u[c+2],r[0]=u[c+3],t[0]}e.readFloatLE=n?s:a,e.readFloatBE=n?a:s}():function(){function t(n,i,o,s){var a=i<0?1:0;if(a&&(i=-i),i===0)n(1/i>0?0:2147483648,o,s);else if(isNaN(i))n(2143289344,o,s);else if(i>34028234663852886e22)n((a<<31|2139095040)>>>0,o,s);else if(i<11754943508222875e-54)n((a<<31|Math.round(i/1401298464324817e-60))>>>0,o,s);else{var u=Math.floor(Math.log(i)/Math.LN2),c=Math.round(i*Math.pow(2,-u)*8388608)&8388607;n((a<<31|u+127<<23|c)>>>0,o,s)}}e.writeFloatLE=t.bind(null,a3),e.writeFloatBE=t.bind(null,u3);function r(n,i,o){var s=n(i,o),a=(s>>31)*2+1,u=s>>>23&255,c=s&8388607;return u===255?c?NaN:a*(1/0):u===0?a*1401298464324817e-60*c:a*Math.pow(2,u-150)*(c+8388608)}e.readFloatLE=r.bind(null,c3),e.readFloatBE=r.bind(null,f3)}(),typeof Float64Array<"u"?function(){var t=new Float64Array([-0]),r=new Uint8Array(t.buffer),n=r[7]===128;function i(u,c,f){t[0]=u,c[f]=r[0],c[f+1]=r[1],c[f+2]=r[2],c[f+3]=r[3],c[f+4]=r[4],c[f+5]=r[5],c[f+6]=r[6],c[f+7]=r[7]}function o(u,c,f){t[0]=u,c[f]=r[7],c[f+1]=r[6],c[f+2]=r[5],c[f+3]=r[4],c[f+4]=r[3],c[f+5]=r[2],c[f+6]=r[1],c[f+7]=r[0]}e.writeDoubleLE=n?i:o,e.writeDoubleBE=n?o:i;function s(u,c){return r[0]=u[c],r[1]=u[c+1],r[2]=u[c+2],r[3]=u[c+3],r[4]=u[c+4],r[5]=u[c+5],r[6]=u[c+6],r[7]=u[c+7],t[0]}function a(u,c){return r[7]=u[c],r[6]=u[c+1],r[5]=u[c+2],r[4]=u[c+3],r[3]=u[c+4],r[2]=u[c+5],r[1]=u[c+6],r[0]=u[c+7],t[0]}e.readDoubleLE=n?s:a,e.readDoubleBE=n?a:s}():function(){function t(n,i,o,s,a,u){var c=s<0?1:0;if(c&&(s=-s),s===0)n(0,a,u+i),n(1/s>0?0:2147483648,a,u+o);else if(isNaN(s))n(0,a,u+i),n(2146959360,a,u+o);else if(s>17976931348623157e292)n(0,a,u+i),n((c<<31|2146435072)>>>0,a,u+o);else{var f;if(s<22250738585072014e-324)f=s/5e-324,n(f>>>0,a,u+i),n((c<<31|f/4294967296)>>>0,a,u+o);else{var l=Math.floor(Math.log(s)/Math.LN2);l===1024&&(l=1023),f=s*Math.pow(2,-l),n(f*4503599627370496>>>0,a,u+i),n((c<<31|l+1023<<20|f*1048576&1048575)>>>0,a,u+o)}}}e.writeDoubleLE=t.bind(null,a3,0,4),e.writeDoubleBE=t.bind(null,u3,4,0);function r(n,i,o,s,a){var u=n(s,a+i),c=n(s,a+o),f=(c>>31)*2+1,l=c>>>20&2047,d=4294967296*(c&1048575)+u;return l===2047?d?NaN:f*(1/0):l===0?f*5e-324*d:f*Math.pow(2,l-1075)*(d+4503599627370496)}e.readDoubleLE=r.bind(null,c3,0,4),e.readDoubleBE=r.bind(null,f3,4,0)}(),e}function a3(e,t,r){t[r]=e&255,t[r+1]=e>>>8&255,t[r+2]=e>>>16&255,t[r+3]=e>>>24}function u3(e,t,r){t[r]=e>>>24,t[r+1]=e>>>16&255,t[r+2]=e>>>8&255,t[r+3]=e&255}function c3(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0}function f3(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}});var p3=D((exports,module)=>{"use strict";module.exports=inquire;function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(e){}return null}});var y3=D(d3=>{"use strict";var Go=d3;Go.length=function(t){for(var r=0,n=0,i=0;i<t.length;++i)n=t.charCodeAt(i),n<128?r+=1:n<2048?r+=2:(n&64512)===55296&&(t.charCodeAt(i+1)&64512)===56320?(++i,r+=4):r+=3;return r};Go.read=function(t,r,n){var i=n-r;if(i<1)return"";for(var o=null,s=[],a=0,u;r<n;)u=t[r++],u<128?s[a++]=u:u>191&&u<224?s[a++]=(u&31)<<6|t[r++]&63:u>239&&u<365?(u=((u&7)<<18|(t[r++]&63)<<12|(t[r++]&63)<<6|t[r++]&63)-65536,s[a++]=55296+(u>>10),s[a++]=56320+(u&1023)):s[a++]=(u&15)<<12|(t[r++]&63)<<6|t[r++]&63,a>8191&&((o||(o=[])).push(String.fromCharCode.apply(String,s)),a=0);return o?(a&&o.push(String.fromCharCode.apply(String,s.slice(0,a))),o.join("")):String.fromCharCode.apply(String,s.slice(0,a))};Go.write=function(t,r,n){for(var i=n,o,s,a=0;a<t.length;++a)o=t.charCodeAt(a),o<128?r[n++]=o:o<2048?(r[n++]=o>>6|192,r[n++]=o&63|128):(o&64512)===55296&&((s=t.charCodeAt(a+1))&64512)===56320?(o=65536+((o&1023)<<10)+(s&1023),++a,r[n++]=o>>18|240,r[n++]=o>>12&63|128,r[n++]=o>>6&63|128,r[n++]=o&63|128):(r[n++]=o>>12|224,r[n++]=o>>6&63|128,r[n++]=o&63|128);return n-i}});var m3=D((Ny,g3)=>{"use strict";g3.exports=yf;function yf(e,t,r){var n=r||8192,i=n>>>1,o=null,s=n;return function(u){if(u<1||u>i)return e(u);s+u>n&&(o=e(n),s=0);var c=t.call(o,s,s+=u);return s&7&&(s=(s|7)+1),c}}});var v3=D((Ly,x3)=>{"use strict";x3.exports=Ft;var g0=Qr();function Ft(e,t){this.lo=e>>>0,this.hi=t>>>0}var Gr=Ft.zero=new Ft(0,0);Gr.toNumber=function(){return 0};Gr.zzEncode=Gr.zzDecode=function(){return this};Gr.length=function(){return 1};var gf=Ft.zeroHash="\0\0\0\0\0\0\0\0";Ft.fromNumber=function(t){if(t===0)return Gr;var r=t<0;r&&(t=-t);var n=t>>>0,i=(t-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new Ft(n,i)};Ft.from=function(t){if(typeof t=="number")return Ft.fromNumber(t);if(g0.isString(t))if(g0.Long)t=g0.Long.fromString(t);else return Ft.fromNumber(parseInt(t,10));return t.low||t.high?new Ft(t.low>>>0,t.high>>>0):Gr};Ft.prototype.toNumber=function(t){if(!t&&this.hi>>>31){var r=~this.lo+1>>>0,n=~this.hi>>>0;return r||(n=n+1>>>0),-(r+n*4294967296)}return this.lo+this.hi*4294967296};Ft.prototype.toLong=function(t){return g0.Long?new g0.Long(this.lo|0,this.hi|0,!!t):{low:this.lo|0,high:this.hi|0,unsigned:!!t}};var br=String.prototype.charCodeAt;Ft.fromHash=function(t){return t===gf?Gr:new Ft((br.call(t,0)|br.call(t,1)<<8|br.call(t,2)<<16|br.call(t,3)<<24)>>>0,(br.call(t,4)|br.call(t,5)<<8|br.call(t,6)<<16|br.call(t,7)<<24)>>>0)};Ft.prototype.toHash=function(){return String.fromCharCode(this.lo&255,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,this.hi&255,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)};Ft.prototype.zzEncode=function(){var t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this};Ft.prototype.zzDecode=function(){var t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this};Ft.prototype.length=function(){var t=this.lo,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?t<16384?t<128?1:2:t<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}});var Qr=D(Qo=>{"use strict";var F=Qo;F.asPromise=Ja();F.base64=n3();F.EventEmitter=o3();F.float=h3();F.inquire=p3();F.utf8=y3();F.pool=m3();F.LongBits=v3();F.isNode=!!(typeof globalThis<"u"&&globalThis&&globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node);F.global=F.isNode&&globalThis||typeof window<"u"&&window||typeof self<"u"&&self||Qo;F.emptyArray=Object.freeze?Object.freeze([]):[];F.emptyObject=Object.freeze?Object.freeze({}):{};F.isInteger=Number.isInteger||function(t){return typeof t=="number"&&isFinite(t)&&Math.floor(t)===t};F.isString=function(t){return typeof t=="string"||t instanceof String};F.isObject=function(t){return t&&typeof t=="object"};F.isset=F.isSet=function(t,r){var n=t[r];return n!=null&&t.hasOwnProperty(r)?typeof n!="object"||(Array.isArray(n)?n.length:Object.keys(n).length)>0:!1};F.Buffer=function(){try{var e=F.inquire("buffer").Buffer;return e.prototype.utf8Write?e:null}catch{return null}}();F._Buffer_from=null;F._Buffer_allocUnsafe=null;F.newBuffer=function(t){return typeof t=="number"?F.Buffer?F._Buffer_allocUnsafe(t):new F.Array(t):F.Buffer?F._Buffer_from(t):typeof Uint8Array>"u"?t:new Uint8Array(t)};F.Array=typeof Uint8Array<"u"?Uint8Array:Array;F.Long=F.global.dcodeIO&&F.global.dcodeIO.Long||F.global.Long||F.inquire("long");F.key2Re=/^true|false|0|1$/;F.key32Re=/^-?(?:0|[1-9][0-9]*)$/;F.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/;F.longToHash=function(t){return t?F.LongBits.from(t).toHash():F.LongBits.zeroHash};F.longFromHash=function(t,r){var n=F.LongBits.fromHash(t);return F.Long?F.Long.fromBits(n.lo,n.hi,r):n.toNumber(!!r)};function w3(e,t,r){for(var n=Object.keys(t),i=0;i<n.length;++i)(e[n[i]]===void 0||!r)&&(e[n[i]]=t[n[i]]);return e}F.merge=w3;F.lcFirst=function(t){return t.charAt(0).toLowerCase()+t.substring(1)};function b3(e){function t(r,n){if(!(this instanceof t))return new t(r,n);Object.defineProperty(this,"message",{get:function(){return r}}),Error.captureStackTrace?Error.captureStackTrace(this,t):Object.defineProperty(this,"stack",{value:new Error().stack||""}),n&&w3(this,n)}return t.prototype=Object.create(Error.prototype,{constructor:{value:t,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return e},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),t}F.newError=b3;F.ProtocolError=b3("ProtocolError");F.oneOfGetter=function(t){for(var r={},n=0;n<t.length;++n)r[t[n]]=1;return function(){for(var i=Object.keys(this),o=i.length-1;o>-1;--o)if(r[i[o]]===1&&this[i[o]]!==void 0&&this[i[o]]!==null)return i[o]}};F.oneOfSetter=function(t){return function(r){for(var n=0;n<t.length;++n)t[n]!==r&&delete this[t[n]]}};F.toJSONOptions={longs:String,enums:String,bytes:String,json:!0};F._configure=function(){var e=F.Buffer;if(!e){F._Buffer_from=F._Buffer_allocUnsafe=null;return}F._Buffer_from=e.from!==Uint8Array.from&&e.from||function(r,n){return new e(r,n)},F._Buffer_allocUnsafe=e.allocUnsafe||function(r){return new e(r)}}});var Zo=D((Dy,B3)=>{"use strict";B3.exports=At;var ke=Qr(),Yo,A3=ke.LongBits,mf=ke.utf8;function xe(e,t){return RangeError("index out of range: "+e.pos+" + "+(t||1)+" > "+e.len)}function At(e){this.buf=e,this.pos=0,this.len=e.length}var E3=typeof Uint8Array<"u"?function(t){if(t instanceof Uint8Array||Array.isArray(t))return new At(t);throw Error("illegal buffer")}:function(t){if(Array.isArray(t))return new At(t);throw Error("illegal buffer")},I3=function(){return ke.Buffer?function(r){return(At.create=function(i){return ke.Buffer.isBuffer(i)?new Yo(i):E3(i)})(r)}:E3};At.create=I3();At.prototype._slice=ke.Array.prototype.subarray||ke.Array.prototype.slice;At.prototype.uint32=function(){var t=4294967295;return function(){if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,xe(this,10);return t}}();At.prototype.int32=function(){return this.uint32()|0};At.prototype.sint32=function(){var t=this.uint32();return t>>>1^-(t&1)|0};function Wo(){var e=new A3(0,0),t=0;if(this.len-this.pos>4){for(;t<4;++t)if(e.lo=(e.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(this.buf[this.pos]&127)<<28)>>>0,e.hi=(e.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return e;t=0}else{for(;t<3;++t){if(this.pos>=this.len)throw xe(this);if(e.lo=(e.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(this.buf[this.pos++]&127)<<t*7)>>>0,e}if(this.len-this.pos>4){for(;t<5;++t)if(e.hi=(e.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return e}else for(;t<5;++t){if(this.pos>=this.len)throw xe(this);if(e.hi=(e.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}At.prototype.bool=function(){return this.uint32()!==0};function Ai(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}At.prototype.fixed32=function(){if(this.pos+4>this.len)throw xe(this,4);return Ai(this.buf,this.pos+=4)};At.prototype.sfixed32=function(){if(this.pos+4>this.len)throw xe(this,4);return Ai(this.buf,this.pos+=4)|0};function S3(){if(this.pos+8>this.len)throw xe(this,8);return new A3(Ai(this.buf,this.pos+=4),Ai(this.buf,this.pos+=4))}At.prototype.float=function(){if(this.pos+4>this.len)throw xe(this,4);var t=ke.float.readFloatLE(this.buf,this.pos);return this.pos+=4,t};At.prototype.double=function(){if(this.pos+8>this.len)throw xe(this,4);var t=ke.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,t};At.prototype.bytes=function(){var t=this.uint32(),r=this.pos,n=this.pos+t;if(n>this.len)throw xe(this,t);return this.pos+=t,Array.isArray(this.buf)?this.buf.slice(r,n):r===n?new this.buf.constructor(0):this._slice.call(this.buf,r,n)};At.prototype.string=function(){var t=this.bytes();return mf.read(t,0,t.length)};At.prototype.skip=function(t){if(typeof t=="number"){if(this.pos+t>this.len)throw xe(this,t);this.pos+=t}else do if(this.pos>=this.len)throw xe(this);while(this.buf[this.pos++]&128);return this};At.prototype.skipType=function(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(e=this.uint32()&7)!==4;)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+e+" at offset "+this.pos)}return this};At._configure=function(e){Yo=e,At.create=I3(),Yo._configure();var t=ke.Long?"toLong":"toNumber";ke.merge(At.prototype,{int64:function(){return Wo.call(this)[t](!1)},uint64:function(){return Wo.call(this)[t](!0)},sint64:function(){return Wo.call(this).zzDecode()[t](!1)},fixed64:function(){return S3.call(this)[t](!0)},sfixed64:function(){return S3.call(this)[t](!1)}})}});var R3=D((Fy,T3)=>{"use strict";T3.exports=Wr;var _3=Zo();(Wr.prototype=Object.create(_3.prototype)).constructor=Wr;var C3=Qr();function Wr(e){_3.call(this,e)}Wr._configure=function(){C3.Buffer&&(Wr.prototype._slice=C3.Buffer.prototype.slice)};Wr.prototype.string=function(){var t=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+t,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+t,this.len))};Wr._configure()});var ns=D((Uy,k3)=>{"use strict";k3.exports=X;var ue=Qr(),Xo,Ii=ue.LongBits,P3=ue.base64,N3=ue.utf8;function m0(e,t,r){this.fn=e,this.len=t,this.next=void 0,this.val=r}function Jo(){}function xf(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}function X(){this.len=0,this.head=new m0(Jo,0,0),this.tail=this.head,this.states=null}var L3=function(){return ue.Buffer?function(){return(X.create=function(){return new Xo})()}:function(){return new X}};X.create=L3();X.alloc=function(t){return new ue.Array(t)};ue.Array!==Array&&(X.alloc=ue.pool(X.alloc,ue.Array.prototype.subarray));X.prototype._push=function(t,r,n){return this.tail=this.tail.next=new m0(t,r,n),this.len+=r,this};function ts(e,t,r){t[r]=e&255}function vf(e,t,r){for(;e>127;)t[r++]=e&127|128,e>>>=7;t[r]=e}function es(e,t){this.len=e,this.next=void 0,this.val=t}es.prototype=Object.create(m0.prototype);es.prototype.fn=vf;X.prototype.uint32=function(t){return this.len+=(this.tail=this.tail.next=new es((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this};X.prototype.int32=function(t){return t<0?this._push(rs,10,Ii.fromNumber(t)):this.uint32(t)};X.prototype.sint32=function(t){return this.uint32((t<<1^t>>31)>>>0)};function rs(e,t,r){for(;e.hi;)t[r++]=e.lo&127|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;e.lo>127;)t[r++]=e.lo&127|128,e.lo=e.lo>>>7;t[r++]=e.lo}X.prototype.uint64=function(t){var r=Ii.from(t);return this._push(rs,r.length(),r)};X.prototype.int64=X.prototype.uint64;X.prototype.sint64=function(t){var r=Ii.from(t).zzEncode();return this._push(rs,r.length(),r)};X.prototype.bool=function(t){return this._push(ts,1,t?1:0)};function jo(e,t,r){t[r]=e&255,t[r+1]=e>>>8&255,t[r+2]=e>>>16&255,t[r+3]=e>>>24}X.prototype.fixed32=function(t){return this._push(jo,4,t>>>0)};X.prototype.sfixed32=X.prototype.fixed32;X.prototype.fixed64=function(t){var r=Ii.from(t);return this._push(jo,4,r.lo)._push(jo,4,r.hi)};X.prototype.sfixed64=X.prototype.fixed64;X.prototype.float=function(t){return this._push(ue.float.writeFloatLE,4,t)};X.prototype.double=function(t){return this._push(ue.float.writeDoubleLE,8,t)};var wf=ue.Array.prototype.set?function(t,r,n){r.set(t,n)}:function(t,r,n){for(var i=0;i<t.length;++i)r[n+i]=t[i]};X.prototype.bytes=function(t){var r=t.length>>>0;if(!r)return this._push(ts,1,0);if(ue.isString(t)){var n=X.alloc(r=P3.length(t));P3.decode(t,n,0),t=n}return this.uint32(r)._push(wf,r,t)};X.prototype.string=function(t){var r=N3.length(t);return r?this.uint32(r)._push(N3.write,r,t):this._push(ts,1,0)};X.prototype.fork=function(){return this.states=new xf(this),this.head=this.tail=new m0(Jo,0,0),this.len=0,this};X.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new m0(Jo,0,0),this.len=0),this};X.prototype.ldelim=function(){var t=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=t.next,this.tail=r,this.len+=n),this};X.prototype.finish=function(){for(var t=this.head.next,r=this.constructor.alloc(this.len),n=0;t;)t.fn(t.val,r,n),n+=t.len,t=t.next;return r};X._configure=function(e){Xo=e,X.create=L3(),Xo._configure()}});var U3=D((Oy,F3)=>{"use strict";F3.exports=De;var D3=ns();(De.prototype=Object.create(D3.prototype)).constructor=De;var Er=Qr();function De(){D3.call(this)}De._configure=function(){De.alloc=Er._Buffer_allocUnsafe,De.writeBytesBuffer=Er.Buffer&&Er.Buffer.prototype instanceof Uint8Array&&Er.Buffer.prototype.set.name==="set"?function(t,r,n){r.set(t,n)}:function(t,r,n){if(t.copy)t.copy(r,n,0,t.length);else for(var i=0;i<t.length;)r[n++]=t[i++]}};De.prototype.bytes=function(t){Er.isString(t)&&(t=Er._Buffer_from(t,"base64"));var r=t.length>>>0;return this.uint32(r),r&&this._push(De.writeBytesBuffer,r,t),this};function bf(e,t,r){e.length<40?Er.utf8.write(e,t,r):t.utf8Write?t.utf8Write(e,r):t.write(e,r)}De.prototype.string=function(t){var r=Er.Buffer.byteLength(t);return this.uint32(r),r&&this._push(bf,r,t),this};De._configure()});var $3=D(v0=>{(function(){var e,t,r,n,i,o,s,a;a=function(u){var c,f,l,d;return c=(u&255<<24)>>>24,f=(u&255<<16)>>>16,l=(u&255<<8)>>>8,d=u&255,[c,f,l,d].join(".")},s=function(u){var c,f,l,d,p,h;for(c=[],l=d=0;d<=3&&u.length!==0;l=++d){if(l>0){if(u[0]!==".")throw new Error("Invalid IP");u=u.substring(1)}h=t(u),p=h[0],f=h[1],u=u.substring(f),c.push(p)}if(u.length!==0)throw new Error("Invalid IP");switch(c.length){case 1:if(c[0]>4294967295)throw new Error("Invalid IP");return c[0]>>>0;case 2:if(c[0]>255||c[1]>16777215)throw new Error("Invalid IP");return(c[0]<<24|c[1])>>>0;case 3:if(c[0]>255||c[1]>255||c[2]>65535)throw new Error("Invalid IP");return(c[0]<<24|c[1]<<16|c[2])>>>0;case 4:if(c[0]>255||c[1]>255||c[2]>255||c[3]>255)throw new Error("Invalid IP");return(c[0]<<24|c[1]<<16|c[2]<<8|c[3])>>>0;default:throw new Error("Invalid IP")}},r=function(u){return u.charCodeAt(0)},n=r("0"),o=r("a"),i=r("A"),t=function(u){var c,f,l,d,p;for(d=0,c=10,f="9",l=0,u.length>1&&u[l]==="0"&&(u[l+1]==="x"||u[l+1]==="X"?(l+=2,c=16):"0"<=u[l+1]&&u[l+1]<="9"&&(l++,c=8,f="7")),p=l;l<u.length;){if("0"<=u[l]&&u[l]<=f)d=d*c+(r(u[l])-n)>>>0;else if(c===16)if("a"<=u[l]&&u[l]<="f")d=d*c+(10+r(u[l])-o)>>>0;else if("A"<=u[l]&&u[l]<="F")d=d*c+(10+r(u[l])-i)>>>0;else break;else break;if(d>4294967295)throw new Error("too large");l++}if(l===p)throw new Error("empty octet");return[d,l]},e=function(){function u(c,f){var l,d,p,h;if(typeof c!="string")throw new Error("Missing `net' parameter");if(f||(h=c.split("/",2),c=h[0],f=h[1]),f||(f=32),typeof f=="string"&&f.indexOf(".")>-1){try{this.maskLong=s(f)}catch(y){throw l=y,new Error("Invalid mask: "+f)}for(d=p=32;p>=0;d=--p)if(this.maskLong===4294967295<<32-d>>>0){this.bitmask=d;break}}else if(f||f===0)this.bitmask=parseInt(f,10),this.maskLong=0,this.bitmask>0&&(this.maskLong=4294967295<<32-this.bitmask>>>0);else throw new Error("Invalid mask: empty");try{this.netLong=(s(c)&this.maskLong)>>>0}catch(y){throw l=y,new Error("Invalid net address: "+c)}if(!(this.bitmask<=32))throw new Error("Invalid mask for ip4: "+f);this.size=Math.pow(2,32-this.bitmask),this.base=a(this.netLong),this.mask=a(this.maskLong),this.hostmask=a(~this.maskLong),this.first=this.bitmask<=30?a(this.netLong+1):this.base,this.last=this.bitmask<=30?a(this.netLong+this.size-2):a(this.netLong+this.size-1),this.broadcast=this.bitmask<=30?a(this.netLong+this.size-1):void 0}return u.prototype.contains=function(c){return typeof c=="string"&&(c.indexOf("/")>0||c.split(".").length!==4)&&(c=new u(c)),c instanceof u?this.contains(c.base)&&this.contains(c.broadcast||c.last):(s(c)&this.maskLong)>>>0===(this.netLong&this.maskLong)>>>0},u.prototype.next=function(c){return c==null&&(c=1),new u(a(this.netLong+this.size*c),this.mask)},u.prototype.forEach=function(c){var f,l,d;for(d=s(this.first),l=s(this.last),f=0;d<=l;)c(a(d),d,f),f++,d++},u.prototype.toString=function(){return this.base+"/"+this.bitmask},u}(),v0.ip2long=s,v0.long2ip=a,v0.Netmask=e}).call(v0)});var X3=D((Z3,Ri)=>{(function(e){"use strict";let t="(0?\\d+|0x[a-f0-9]+)",r={fourOctet:new RegExp(`^${t}\\.${t}\\.${t}\\.${t}$`,"i"),threeOctet:new RegExp(`^${t}\\.${t}\\.${t}$`,"i"),twoOctet:new RegExp(`^${t}\\.${t}$`,"i"),longValue:new RegExp(`^${t}$`,"i")},n=new RegExp("^0[0-7]+$","i"),i=new RegExp("^0x[a-f0-9]+$","i"),o="%[0-9a-z]{1,}",s="(?:[0-9a-f]+::?)+",a={zoneIndex:new RegExp(o,"i"),native:new RegExp(`^(::)?(${s})?([0-9a-f]+)?(::)?(${o})?$`,"i"),deprecatedTransitional:new RegExp(`^(?:::)(${t}\\.${t}\\.${t}\\.${t}(${o})?)$`,"i"),transitional:new RegExp(`^((?:${s})|(?:::)(?:${s})?)${t}\\.${t}\\.${t}\\.${t}(${o})?$`,"i")};function u(p,h){if(p.indexOf("::")!==p.lastIndexOf("::"))return null;let y=0,g=-1,m=(p.match(a.zoneIndex)||[])[0],v,S;for(m&&(m=m.substring(1),p=p.replace(/%.+$/,""));(g=p.indexOf(":",g+1))>=0;)y++;if(p.substr(0,2)==="::"&&y--,p.substr(-2,2)==="::"&&y--,y>h)return null;for(S=h-y,v=":";S--;)v+="0:";return p=p.replace("::",v),p[0]===":"&&(p=p.slice(1)),p[p.length-1]===":"&&(p=p.slice(0,-1)),h=function(){let L=p.split(":"),T=[];for(let _=0;_<L.length;_++)T.push(parseInt(L[_],16));return T}(),{parts:h,zoneId:m}}function c(p,h,y,g){if(p.length!==h.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");let m=0,v;for(;g>0;){if(v=y-g,v<0&&(v=0),p[m]>>v!==h[m]>>v)return!1;g-=y,m+=1}return!0}function f(p){if(i.test(p))return parseInt(p,16);if(p[0]==="0"&&!isNaN(parseInt(p[1],10))){if(n.test(p))return parseInt(p,8);throw new Error(`ipaddr: cannot parse ${p} as octal`)}return parseInt(p,10)}function l(p,h){for(;p.length<h;)p=`0${p}`;return p}let d={};d.IPv4=function(){function p(h){if(h.length!==4)throw new Error("ipaddr: ipv4 octet count should be 4");let y,g;for(y=0;y<h.length;y++)if(g=h[y],!(0<=g&&g<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=h}return p.prototype.SpecialRanges={unspecified:[[new p([0,0,0,0]),8]],broadcast:[[new p([255,255,255,255]),32]],multicast:[[new p([224,0,0,0]),4]],linkLocal:[[new p([169,254,0,0]),16]],loopback:[[new p([127,0,0,0]),8]],carrierGradeNat:[[new p([100,64,0,0]),10]],private:[[new p([10,0,0,0]),8],[new p([172,16,0,0]),12],[new p([192,168,0,0]),16]],reserved:[[new p([192,0,0,0]),24],[new p([192,0,2,0]),24],[new p([192,88,99,0]),24],[new p([198,51,100,0]),24],[new p([203,0,113,0]),24],[new p([240,0,0,0]),4]]},p.prototype.kind=function(){return"ipv4"},p.prototype.match=function(h,y){let g;if(y===void 0&&(g=h,h=g[0],y=g[1]),h.kind()!=="ipv4")throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return c(this.octets,h.octets,8,y)},p.prototype.prefixLengthFromSubnetMask=function(){let h=0,y=!1,g={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0},m,v,S;for(m=3;m>=0;m-=1)if(v=this.octets[m],v in g){if(S=g[v],y&&S!==0)return null;S!==8&&(y=!0),h+=S}else return null;return 32-h},p.prototype.range=function(){return d.subnetMatch(this,this.SpecialRanges)},p.prototype.toByteArray=function(){return this.octets.slice(0)},p.prototype.toIPv4MappedAddress=function(){return d.IPv6.parse(`::ffff:${this.toString()}`)},p.prototype.toNormalizedString=function(){return this.toString()},p.prototype.toString=function(){return this.octets.join(".")},p}(),d.IPv4.broadcastAddressFromCIDR=function(p){try{let h=this.parseCIDR(p),y=h[0].toByteArray(),g=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),m=[],v=0;for(;v<4;)m.push(parseInt(y[v],10)|parseInt(g[v],10)^255),v++;return new this(m)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},d.IPv4.isIPv4=function(p){return this.parser(p)!==null},d.IPv4.isValid=function(p){try{return new this(this.parser(p)),!0}catch{return!1}},d.IPv4.isValidFourPartDecimal=function(p){return!!(d.IPv4.isValid(p)&&p.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},d.IPv4.networkAddressFromCIDR=function(p){let h,y,g,m,v;try{for(h=this.parseCIDR(p),g=h[0].toByteArray(),v=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),m=[],y=0;y<4;)m.push(parseInt(g[y],10)&parseInt(v[y],10)),y++;return new this(m)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},d.IPv4.parse=function(p){let h=this.parser(p);if(h===null)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(h)},d.IPv4.parseCIDR=function(p){let h;if(h=p.match(/^(.+)\/(\d+)$/)){let y=parseInt(h[2]);if(y>=0&&y<=32){let g=[this.parse(h[1]),y];return Object.defineProperty(g,"toString",{value:function(){return this.join("/")}}),g}}throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},d.IPv4.parser=function(p){let h,y,g;if(h=p.match(r.fourOctet))return function(){let m=h.slice(1,6),v=[];for(let S=0;S<m.length;S++)y=m[S],v.push(f(y));return v}();if(h=p.match(r.longValue)){if(g=f(h[1]),g>4294967295||g<0)throw new Error("ipaddr: address outside defined range");return function(){let m=[],v;for(v=0;v<=24;v+=8)m.push(g>>v&255);return m}().reverse()}else return(h=p.match(r.twoOctet))?function(){let m=h.slice(1,4),v=[];if(g=f(m[1]),g>16777215||g<0)throw new Error("ipaddr: address outside defined range");return v.push(f(m[0])),v.push(g>>16&255),v.push(g>>8&255),v.push(g&255),v}():(h=p.match(r.threeOctet))?function(){let m=h.slice(1,5),v=[];if(g=f(m[2]),g>65535||g<0)throw new Error("ipaddr: address outside defined range");return v.push(f(m[0])),v.push(f(m[1])),v.push(g>>8&255),v.push(g&255),v}():null},d.IPv4.subnetMaskFromPrefixLength=function(p){if(p=parseInt(p),p<0||p>32)throw new Error("ipaddr: invalid IPv4 prefix length");let h=[0,0,0,0],y=0,g=Math.floor(p/8);for(;y<g;)h[y]=255,y++;return g<4&&(h[g]=Math.pow(2,p%8)-1<<8-p%8),new this(h)},d.IPv6=function(){function p(h,y){let g,m;if(h.length===16)for(this.parts=[],g=0;g<=14;g+=2)this.parts.push(h[g]<<8|h[g+1]);else if(h.length===8)this.parts=h;else throw new Error("ipaddr: ipv6 part count should be 8 or 16");for(g=0;g<this.parts.length;g++)if(m=this.parts[g],!(0<=m&&m<=65535))throw new Error("ipaddr: ipv6 part should fit in 16 bits");y&&(this.zoneId=y)}return p.prototype.SpecialRanges={unspecified:[new p([0,0,0,0,0,0,0,0]),128],linkLocal:[new p([65152,0,0,0,0,0,0,0]),10],multicast:[new p([65280,0,0,0,0,0,0,0]),8],loopback:[new p([0,0,0,0,0,0,0,1]),128],uniqueLocal:[new p([64512,0,0,0,0,0,0,0]),7],ipv4Mapped:[new p([0,0,0,0,0,65535,0,0]),96],rfc6145:[new p([0,0,0,0,65535,0,0,0]),96],rfc6052:[new p([100,65435,0,0,0,0,0,0]),96],"6to4":[new p([8194,0,0,0,0,0,0,0]),16],teredo:[new p([8193,0,0,0,0,0,0,0]),32],reserved:[[new p([8193,3512,0,0,0,0,0,0]),32]]},p.prototype.isIPv4MappedAddress=function(){return this.range()==="ipv4Mapped"},p.prototype.kind=function(){return"ipv6"},p.prototype.match=function(h,y){let g;if(y===void 0&&(g=h,h=g[0],y=g[1]),h.kind()!=="ipv6")throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return c(this.parts,h.parts,16,y)},p.prototype.prefixLengthFromSubnetMask=function(){let h=0,y=!1,g={0:16,32768:15,49152:14,57344:13,61440:12,63488:11,64512:10,65024:9,65280:8,65408:7,65472:6,65504:5,65520:4,65528:3,65532:2,65534:1,65535:0},m,v;for(let S=7;S>=0;S-=1)if(m=this.parts[S],m in g){if(v=g[m],y&&v!==0)return null;v!==16&&(y=!0),h+=v}else return null;return 128-h},p.prototype.range=function(){return d.subnetMatch(this,this.SpecialRanges)},p.prototype.toByteArray=function(){let h,y=[],g=this.parts;for(let m=0;m<g.length;m++)h=g[m],y.push(h>>8),y.push(h&255);return y},p.prototype.toFixedLengthString=function(){let h=function(){let g=[];for(let m=0;m<this.parts.length;m++)g.push(l(this.parts[m].toString(16),4));return g}.call(this).join(":"),y="";return this.zoneId&&(y=`%${this.zoneId}`),h+y},p.prototype.toIPv4Address=function(){if(!this.isIPv4MappedAddress())throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");let h=this.parts.slice(-2),y=h[0],g=h[1];return new d.IPv4([y>>8,y&255,g>>8,g&255])},p.prototype.toNormalizedString=function(){let h=function(){let g=[];for(let m=0;m<this.parts.length;m++)g.push(this.parts[m].toString(16));return g}.call(this).join(":"),y="";return this.zoneId&&(y=`%${this.zoneId}`),h+y},p.prototype.toRFC5952String=function(){let h=/((^|:)(0(:|$)){2,})/g,y=this.toNormalizedString(),g=0,m=-1,v;for(;v=h.exec(y);)v[0].length>m&&(g=v.index,m=v[0].length);return m<0?y:`${y.substring(0,g)}::${y.substring(g+m)}`},p.prototype.toString=function(){return this.toNormalizedString().replace(/((^|:)(0(:|$))+)/,"::")},p}(),d.IPv6.broadcastAddressFromCIDR=function(p){try{let h=this.parseCIDR(p),y=h[0].toByteArray(),g=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),m=[],v=0;for(;v<16;)m.push(parseInt(y[v],10)|parseInt(g[v],10)^255),v++;return new this(m)}catch(h){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${h})`)}},d.IPv6.isIPv6=function(p){return this.parser(p)!==null},d.IPv6.isValid=function(p){if(typeof p=="string"&&p.indexOf(":")===-1)return!1;try{let h=this.parser(p);return new this(h.parts,h.zoneId),!0}catch{return!1}},d.IPv6.networkAddressFromCIDR=function(p){let h,y,g,m,v;try{for(h=this.parseCIDR(p),g=h[0].toByteArray(),v=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),m=[],y=0;y<16;)m.push(parseInt(g[y],10)&parseInt(v[y],10)),y++;return new this(m)}catch(S){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${S})`)}},d.IPv6.parse=function(p){let h=this.parser(p);if(h.parts===null)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(h.parts,h.zoneId)},d.IPv6.parseCIDR=function(p){let h,y,g;if((y=p.match(/^(.+)\/(\d+)$/))&&(h=parseInt(y[2]),h>=0&&h<=128))return g=[this.parse(y[1]),h],Object.defineProperty(g,"toString",{value:function(){return this.join("/")}}),g;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},d.IPv6.parser=function(p){let h,y,g,m,v,S;if(g=p.match(a.deprecatedTransitional))return this.parser(`::ffff:${g[1]}`);if(a.native.test(p))return u(p,8);if((g=p.match(a.transitional))&&(S=g[6]||"",h=u(g[1].slice(0,-1)+S,6),h.parts)){for(v=[parseInt(g[2]),parseInt(g[3]),parseInt(g[4]),parseInt(g[5])],y=0;y<v.length;y++)if(m=v[y],!(0<=m&&m<=255))return null;return h.parts.push(v[0]<<8|v[1]),h.parts.push(v[2]<<8|v[3]),{parts:h.parts,zoneId:h.zoneId}}return null},d.IPv6.subnetMaskFromPrefixLength=function(p){if(p=parseInt(p),p<0||p>128)throw new Error("ipaddr: invalid IPv6 prefix length");let h=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],y=0,g=Math.floor(p/8);for(;y<g;)h[y]=255,y++;return g<16&&(h[g]=Math.pow(2,p%8)-1<<8-p%8),new this(h)},d.fromByteArray=function(p){let h=p.length;if(h===4)return new d.IPv4(p);if(h===16)return new d.IPv6(p);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},d.isValid=function(p){return d.IPv6.isValid(p)||d.IPv4.isValid(p)},d.parse=function(p){if(d.IPv6.isValid(p))return d.IPv6.parse(p);if(d.IPv4.isValid(p))return d.IPv4.parse(p);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},d.parseCIDR=function(p){try{return d.IPv6.parseCIDR(p)}catch{try{return d.IPv4.parseCIDR(p)}catch{throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},d.process=function(p){let h=this.parse(p);return h.kind()==="ipv6"&&h.isIPv4MappedAddress()?h.toIPv4Address():h},d.subnetMatch=function(p,h,y){let g,m,v,S;y==null&&(y="unicast");for(m in h)if(Object.prototype.hasOwnProperty.call(h,m)){for(v=h[m],v[0]&&!(v[0]instanceof Array)&&(v=[v]),g=0;g<v.length;g++)if(S=v[g],p.kind()===S[0].kind()&&p.match.apply(p,S))return m}return y},typeof Ri<"u"&&Ri.exports?Ri.exports=d:e.ipaddr=d})(Z3)});var y4=D((qg,ms)=>{"use strict";var Of=Object.prototype.hasOwnProperty,zt="~";function b0(){}Object.create&&(b0.prototype=Object.create(null),new b0().__proto__||(zt=!1));function Mf(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function d4(e,t,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var o=new Mf(r,n||e,i),s=zt?zt+t:t;return e._events[s]?e._events[s].fn?e._events[s]=[e._events[s],o]:e._events[s].push(o):(e._events[s]=o,e._eventsCount++),e}function Pi(e,t){--e._eventsCount===0?e._events=new b0:delete e._events[t]}function Vt(){this._events=new b0,this._eventsCount=0}Vt.prototype.eventNames=function(){var t=[],r,n;if(this._eventsCount===0)return t;for(n in r=this._events)Of.call(r,n)&&t.push(zt?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(r)):t};Vt.prototype.listeners=function(t){var r=zt?zt+t:t,n=this._events[r];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,o=n.length,s=new Array(o);i<o;i++)s[i]=n[i].fn;return s};Vt.prototype.listenerCount=function(t){var r=zt?zt+t:t,n=this._events[r];return n?n.fn?1:n.length:0};Vt.prototype.emit=function(t,r,n,i,o,s){var a=zt?zt+t:t;if(!this._events[a])return!1;var u=this._events[a],c=arguments.length,f,l;if(u.fn){switch(u.once&&this.removeListener(t,u.fn,void 0,!0),c){case 1:return u.fn.call(u.context),!0;case 2:return u.fn.call(u.context,r),!0;case 3:return u.fn.call(u.context,r,n),!0;case 4:return u.fn.call(u.context,r,n,i),!0;case 5:return u.fn.call(u.context,r,n,i,o),!0;case 6:return u.fn.call(u.context,r,n,i,o,s),!0}for(l=1,f=new Array(c-1);l<c;l++)f[l-1]=arguments[l];u.fn.apply(u.context,f)}else{var d=u.length,p;for(l=0;l<d;l++)switch(u[l].once&&this.removeListener(t,u[l].fn,void 0,!0),c){case 1:u[l].fn.call(u[l].context);break;case 2:u[l].fn.call(u[l].context,r);break;case 3:u[l].fn.call(u[l].context,r,n);break;case 4:u[l].fn.call(u[l].context,r,n,i);break;default:if(!f)for(p=1,f=new Array(c-1);p<c;p++)f[p-1]=arguments[p];u[l].fn.apply(u[l].context,f)}}return!0};Vt.prototype.on=function(t,r,n){return d4(this,t,r,n,!1)};Vt.prototype.once=function(t,r,n){return d4(this,t,r,n,!0)};Vt.prototype.removeListener=function(t,r,n,i){var o=zt?zt+t:t;if(!this._events[o])return this;if(!r)return Pi(this,o),this;var s=this._events[o];if(s.fn)s.fn===r&&(!i||s.once)&&(!n||s.context===n)&&Pi(this,o);else{for(var a=0,u=[],c=s.length;a<c;a++)(s[a].fn!==r||i&&!s[a].once||n&&s[a].context!==n)&&u.push(s[a]);u.length?this._events[o]=u.length===1?u[0]:u:Pi(this,o)}return this};Vt.prototype.removeAllListeners=function(t){var r;return t?(r=zt?zt+t:t,this._events[r]&&Pi(this,r)):(this._events=new b0,this._eventsCount=0),this};Vt.prototype.off=Vt.prototype.removeListener;Vt.prototype.addListener=Vt.prototype.on;Vt.prefixed=zt;Vt.EventEmitter=Vt;typeof ms<"u"&&(ms.exports=Vt)});var B4=D((Zg,I4)=>{var Un=1e3,On=Un*60,Mn=On*60,Xr=Mn*24,Kf=Xr*7,Vf=Xr*365.25;I4.exports=function(e,t){t=t||{};var r=typeof e;if(r==="string"&&e.length>0)return qf(e);if(r==="number"&&isFinite(e))return t.long?$f(e):zf(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function qf(e){if(e=String(e),!(e.length>100)){var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(t){var r=parseFloat(t[1]),n=(t[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*Vf;case"weeks":case"week":case"w":return r*Kf;case"days":case"day":case"d":return r*Xr;case"hours":case"hour":case"hrs":case"hr":case"h":return r*Mn;case"minutes":case"minute":case"mins":case"min":case"m":return r*On;case"seconds":case"second":case"secs":case"sec":case"s":return r*Un;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function zf(e){var t=Math.abs(e);return t>=Xr?Math.round(e/Xr)+"d":t>=Mn?Math.round(e/Mn)+"h":t>=On?Math.round(e/On)+"m":t>=Un?Math.round(e/Un)+"s":e+"ms"}function $f(e){var t=Math.abs(e);return t>=Xr?Ki(e,t,Xr,"day"):t>=Mn?Ki(e,t,Mn,"hour"):t>=On?Ki(e,t,On,"minute"):t>=Un?Ki(e,t,Un,"second"):e+" ms"}function Ki(e,t,r,n){var i=t>=r*1.5;return Math.round(e/r)+" "+n+(i?"s":"")}});var _4=D((Xg,C4)=>{function Hf(e){r.debug=r,r.default=r,r.coerce=u,r.disable=o,r.enable=i,r.enabled=s,r.humanize=B4(),r.destroy=c,Object.keys(e).forEach(f=>{r[f]=e[f]}),r.names=[],r.skips=[],r.formatters={};function t(f){let l=0;for(let d=0;d<f.length;d++)l=(l<<5)-l+f.charCodeAt(d),l|=0;return r.colors[Math.abs(l)%r.colors.length]}r.selectColor=t;function r(f){let l,d=null,p,h;function y(...g){if(!y.enabled)return;let m=y,v=Number(new Date),S=v-(l||v);m.diff=S,m.prev=l,m.curr=v,l=v,g[0]=r.coerce(g[0]),typeof g[0]!="string"&&g.unshift("%O");let L=0;g[0]=g[0].replace(/%([a-zA-Z%])/g,(_,q)=>{if(_==="%%")return"%";L++;let G=r.formatters[q];if(typeof G=="function"){let Nt=g[L];_=G.call(m,Nt),g.splice(L,1),L--}return _}),r.formatArgs.call(m,g),(m.log||r.log).apply(m,g)}return y.namespace=f,y.useColors=r.useColors(),y.color=r.selectColor(f),y.extend=n,y.destroy=r.destroy,Object.defineProperty(y,"enabled",{enumerable:!0,configurable:!1,get:()=>d!==null?d:(p!==r.namespaces&&(p=r.namespaces,h=r.enabled(f)),h),set:g=>{d=g}}),typeof r.init=="function"&&r.init(y),y}function n(f,l){let d=r(this.namespace+(typeof l>"u"?":":l)+f);return d.log=this.log,d}function i(f){r.save(f),r.namespaces=f,r.names=[],r.skips=[];let l,d=(typeof f=="string"?f:"").split(/[\s,]+/),p=d.length;for(l=0;l<p;l++)d[l]&&(f=d[l].replace(/\*/g,".*?"),f[0]==="-"?r.skips.push(new RegExp("^"+f.slice(1)+"$")):r.names.push(new RegExp("^"+f+"$")))}function o(){let f=[...r.names.map(a),...r.skips.map(a).map(l=>"-"+l)].join(",");return r.enable(""),f}function s(f){if(f[f.length-1]==="*")return!0;let l,d;for(l=0,d=r.skips.length;l<d;l++)if(r.skips[l].test(f))return!1;for(l=0,d=r.names.length;l<d;l++)if(r.names[l].test(f))return!0;return!1}function a(f){return f.toString().substring(2,f.toString().length-2).replace(/\.\*\?$/,"*")}function u(f){return f instanceof Error?f.stack||f.message:f}function c(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.enable(r.load()),r}C4.exports=Hf});var T4=D((re,Vi)=>{re.formatArgs=Qf;re.save=Wf;re.load=Yf;re.useColors=Gf;re.storage=Zf();re.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();re.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function Gf(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function Qf(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+Vi.exports.humanize(this.diff),!this.useColors)return;let t="color: "+this.color;e.splice(1,0,t,"color: inherit");let r=0,n=0;e[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(r++,i==="%c"&&(n=r))}),e.splice(n,0,t)}re.log=console.debug||console.log||(()=>{});function Wf(e){try{e?re.storage.setItem("debug",e):re.storage.removeItem("debug")}catch{}}function Yf(){let e;try{e=re.storage.getItem("debug")}catch{}return!e&&typeof process<"u"&&"env"in process&&(e=process.env.DEBUG),e}function Zf(){try{return localStorage}catch{}}Vi.exports=_4()(re);var{formatters:Xf}=Vi.exports;Xf.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var nt=D((_m,F4)=>{F4.exports={options:{usePureJavaScript:!1}}});var M4=D((Tm,O4)=>{var As={};O4.exports=As;var U4={};As.encode=function(e,t,r){if(typeof t!="string")throw new TypeError('"alphabet" must be a string.');if(r!==void 0&&typeof r!="number")throw new TypeError('"maxline" must be a number.');var n="";if(!(e instanceof Uint8Array))n=o7(e,t);else{var i=0,o=t.length,s=t.charAt(0),a=[0];for(i=0;i<e.length;++i){for(var u=0,c=e[i];u<a.length;++u)c+=a[u]<<8,a[u]=c%o,c=c/o|0;for(;c>0;)a.push(c%o),c=c/o|0}for(i=0;e[i]===0&&i<e.length-1;++i)n+=s;for(i=a.length-1;i>=0;--i)n+=t[a[i]]}if(r){var f=new RegExp(".{1,"+r+"}","g");n=n.match(f).join(`\r
|
|
4
|
-
`)}return n};As.decode=function(e,t){if(typeof e!="string")throw new TypeError('"input" must be a string.');if(typeof t!="string")throw new TypeError('"alphabet" must be a string.');var r=U4[t];if(!r){r=U4[t]=[];for(var n=0;n<t.length;++n)r[t.charCodeAt(n)]=n}e=e.replace(/\s/g,"");for(var i=t.length,o=t.charAt(0),s=[0],n=0;n<e.length;n++){var a=r[e.charCodeAt(n)];if(a===void 0)return;for(var u=0,c=a;u<s.length;++u)c+=s[u]*i,s[u]=c&255,c>>=8;for(;c>0;)s.push(c&255),c>>=8}for(var f=0;e[f]===o&&f<e.length-1;++f)s.push(0);return typeof Buffer<"u"?Buffer.from(s.reverse()):new Uint8Array(s.reverse())};function o7(e,t){var r=0,n=t.length,i=t.charAt(0),o=[0];for(r=0;r<e.length();++r){for(var s=0,a=e.at(r);s<o.length;++s)a+=o[s]<<8,o[s]=a%n,a=a/n|0;for(;a>0;)o.push(a%n),a=a/n|0}var u="";for(r=0;e.at(r)===0&&r<e.length()-1;++r)u+=i;for(r=o.length-1;r>=0;--r)u+=t[o[r]];return u}});var Ct=D((Rm,z4)=>{var K4=nt(),V4=M4(),x=z4.exports=K4.util=K4.util||{};(function(){if(typeof process<"u"&&process.nextTick&&!process.browser){x.nextTick=process.nextTick,typeof setImmediate=="function"?x.setImmediate=setImmediate:x.setImmediate=x.nextTick;return}if(typeof setImmediate=="function"){x.setImmediate=function(){return setImmediate.apply(void 0,arguments)},x.nextTick=function(a){return setImmediate(a)};return}if(x.setImmediate=function(a){setTimeout(a,0)},typeof window<"u"&&typeof window.postMessage=="function"){let a=function(u){if(u.source===window&&u.data===e){u.stopPropagation();var c=t.slice();t.length=0,c.forEach(function(f){f()})}};var s=a,e="forge.setImmediate",t=[];x.setImmediate=function(u){t.push(u),t.length===1&&window.postMessage(e,"*")},window.addEventListener("message",a,!0)}if(typeof MutationObserver<"u"){var r=Date.now(),n=!0,i=document.createElement("div"),t=[];new MutationObserver(function(){var u=t.slice();t.length=0,u.forEach(function(c){c()})}).observe(i,{attributes:!0});var o=x.setImmediate;x.setImmediate=function(u){Date.now()-r>15?(r=Date.now(),o(u)):(t.push(u),t.length===1&&i.setAttribute("a",n=!n))}}x.nextTick=x.setImmediate})();x.isNodejs=typeof process<"u"&&process.versions&&process.versions.node;x.globalScope=function(){return x.isNodejs?globalThis:typeof self>"u"?window:self}();x.isArray=Array.isArray||function(e){return Object.prototype.toString.call(e)==="[object Array]"};x.isArrayBuffer=function(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer};x.isArrayBufferView=function(e){return e&&x.isArrayBuffer(e.buffer)&&e.byteLength!==void 0};function T0(e){if(!(e===8||e===16||e===24||e===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+e)}x.ByteBuffer=Is;function Is(e){if(this.data="",this.read=0,typeof e=="string")this.data=e;else if(x.isArrayBuffer(e)||x.isArrayBufferView(e))if(typeof Buffer<"u"&&e instanceof Buffer)this.data=e.toString("binary");else{var t=new Uint8Array(e);try{this.data=String.fromCharCode.apply(null,t)}catch{for(var r=0;r<t.length;++r)this.putByte(t[r])}}else(e instanceof Is||typeof e=="object"&&typeof e.data=="string"&&typeof e.read=="number")&&(this.data=e.data,this.read=e.read);this._constructedStringLength=0}x.ByteStringBuffer=Is;var s7=4096;x.ByteStringBuffer.prototype._optimizeConstructedString=function(e){this._constructedStringLength+=e,this._constructedStringLength>s7&&(this.data.substr(0,1),this._constructedStringLength=0)};x.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read};x.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0};x.ByteStringBuffer.prototype.putByte=function(e){return this.putBytes(String.fromCharCode(e))};x.ByteStringBuffer.prototype.fillWithByte=function(e,t){e=String.fromCharCode(e);for(var r=this.data;t>0;)t&1&&(r+=e),t>>>=1,t>0&&(e+=e);return this.data=r,this._optimizeConstructedString(t),this};x.ByteStringBuffer.prototype.putBytes=function(e){return this.data+=e,this._optimizeConstructedString(e.length),this};x.ByteStringBuffer.prototype.putString=function(e){return this.putBytes(x.encodeUtf8(e))};x.ByteStringBuffer.prototype.putInt16=function(e){return this.putBytes(String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};x.ByteStringBuffer.prototype.putInt24=function(e){return this.putBytes(String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};x.ByteStringBuffer.prototype.putInt32=function(e){return this.putBytes(String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};x.ByteStringBuffer.prototype.putInt16Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255))};x.ByteStringBuffer.prototype.putInt24Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255))};x.ByteStringBuffer.prototype.putInt32Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>24&255))};x.ByteStringBuffer.prototype.putInt=function(e,t){T0(t);var r="";do t-=8,r+=String.fromCharCode(e>>t&255);while(t>0);return this.putBytes(r)};x.ByteStringBuffer.prototype.putSignedInt=function(e,t){return e<0&&(e+=2<<t-1),this.putInt(e,t)};x.ByteStringBuffer.prototype.putBuffer=function(e){return this.putBytes(e.getBytes())};x.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};x.ByteStringBuffer.prototype.getInt16=function(){var e=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,e};x.ByteStringBuffer.prototype.getInt24=function(){var e=this.data.charCodeAt(this.read)<<16^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2);return this.read+=3,e};x.ByteStringBuffer.prototype.getInt32=function(){var e=this.data.charCodeAt(this.read)<<24^this.data.charCodeAt(this.read+1)<<16^this.data.charCodeAt(this.read+2)<<8^this.data.charCodeAt(this.read+3);return this.read+=4,e};x.ByteStringBuffer.prototype.getInt16Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,e};x.ByteStringBuffer.prototype.getInt24Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16;return this.read+=3,e};x.ByteStringBuffer.prototype.getInt32Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16^this.data.charCodeAt(this.read+3)<<24;return this.read+=4,e};x.ByteStringBuffer.prototype.getInt=function(e){T0(e);var t=0;do t=(t<<8)+this.data.charCodeAt(this.read++),e-=8;while(e>0);return t};x.ByteStringBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<<e-2;return t>=r&&(t-=r<<1),t};x.ByteStringBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):e===0?t="":(t=this.read===0?this.data:this.data.slice(this.read),this.clear()),t};x.ByteStringBuffer.prototype.bytes=function(e){return typeof e>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+e)};x.ByteStringBuffer.prototype.at=function(e){return this.data.charCodeAt(this.read+e)};x.ByteStringBuffer.prototype.setAt=function(e,t){return this.data=this.data.substr(0,this.read+e)+String.fromCharCode(t)+this.data.substr(this.read+e+1),this};x.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};x.ByteStringBuffer.prototype.copy=function(){var e=x.createBuffer(this.data);return e.read=this.read,e};x.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this};x.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this};x.ByteStringBuffer.prototype.truncate=function(e){var t=Math.max(0,this.length()-e);return this.data=this.data.substr(this.read,t),this.read=0,this};x.ByteStringBuffer.prototype.toHex=function(){for(var e="",t=this.read;t<this.data.length;++t){var r=this.data.charCodeAt(t);r<16&&(e+="0"),e+=r.toString(16)}return e};x.ByteStringBuffer.prototype.toString=function(){return x.decodeUtf8(this.bytes())};function a7(e,t){t=t||{},this.read=t.readOffset||0,this.growSize=t.growSize||1024;var r=x.isArrayBuffer(e),n=x.isArrayBufferView(e);if(r||n){r?this.data=new DataView(e):this.data=new DataView(e.buffer,e.byteOffset,e.byteLength),this.write="writeOffset"in t?t.writeOffset:this.data.byteLength;return}this.data=new DataView(new ArrayBuffer(0)),this.write=0,e!=null&&this.putBytes(e),"writeOffset"in t&&(this.write=t.writeOffset)}x.DataBuffer=a7;x.DataBuffer.prototype.length=function(){return this.write-this.read};x.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};x.DataBuffer.prototype.accommodate=function(e,t){if(this.length()>=e)return this;t=Math.max(t||this.growSize,e);var r=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),n=new Uint8Array(this.length()+t);return n.set(r),this.data=new DataView(n.buffer),this};x.DataBuffer.prototype.putByte=function(e){return this.accommodate(1),this.data.setUint8(this.write++,e),this};x.DataBuffer.prototype.fillWithByte=function(e,t){this.accommodate(t);for(var r=0;r<t;++r)this.data.setUint8(e);return this};x.DataBuffer.prototype.putBytes=function(e,t){if(x.isArrayBufferView(e)){var r=new Uint8Array(e.buffer,e.byteOffset,e.byteLength),n=r.byteLength-r.byteOffset;this.accommodate(n);var i=new Uint8Array(this.data.buffer,this.write);return i.set(r),this.write+=n,this}if(x.isArrayBuffer(e)){var r=new Uint8Array(e);this.accommodate(r.byteLength);var i=new Uint8Array(this.data.buffer);return i.set(r,this.write),this.write+=r.byteLength,this}if(e instanceof x.DataBuffer||typeof e=="object"&&typeof e.read=="number"&&typeof e.write=="number"&&x.isArrayBufferView(e.data)){var r=new Uint8Array(e.data.byteLength,e.read,e.length());this.accommodate(r.byteLength);var i=new Uint8Array(e.data.byteLength,this.write);return i.set(r),this.write+=r.byteLength,this}if(e instanceof x.ByteStringBuffer&&(e=e.data,t="binary"),t=t||"binary",typeof e=="string"){var o;if(t==="hex")return this.accommodate(Math.ceil(e.length/2)),o=new Uint8Array(this.data.buffer,this.write),this.write+=x.binary.hex.decode(e,o,this.write),this;if(t==="base64")return this.accommodate(Math.ceil(e.length/4)*3),o=new Uint8Array(this.data.buffer,this.write),this.write+=x.binary.base64.decode(e,o,this.write),this;if(t==="utf8"&&(e=x.encodeUtf8(e),t="binary"),t==="binary"||t==="raw")return this.accommodate(e.length),o=new Uint8Array(this.data.buffer,this.write),this.write+=x.binary.raw.decode(o),this;if(t==="utf16")return this.accommodate(e.length*2),o=new Uint16Array(this.data.buffer,this.write),this.write+=x.text.utf16.encode(o),this;throw new Error("Invalid encoding: "+t)}throw Error("Invalid parameter: "+e)};x.DataBuffer.prototype.putBuffer=function(e){return this.putBytes(e),e.clear(),this};x.DataBuffer.prototype.putString=function(e){return this.putBytes(e,"utf16")};x.DataBuffer.prototype.putInt16=function(e){return this.accommodate(2),this.data.setInt16(this.write,e),this.write+=2,this};x.DataBuffer.prototype.putInt24=function(e){return this.accommodate(3),this.data.setInt16(this.write,e>>8&65535),this.data.setInt8(this.write,e>>16&255),this.write+=3,this};x.DataBuffer.prototype.putInt32=function(e){return this.accommodate(4),this.data.setInt32(this.write,e),this.write+=4,this};x.DataBuffer.prototype.putInt16Le=function(e){return this.accommodate(2),this.data.setInt16(this.write,e,!0),this.write+=2,this};x.DataBuffer.prototype.putInt24Le=function(e){return this.accommodate(3),this.data.setInt8(this.write,e>>16&255),this.data.setInt16(this.write,e>>8&65535,!0),this.write+=3,this};x.DataBuffer.prototype.putInt32Le=function(e){return this.accommodate(4),this.data.setInt32(this.write,e,!0),this.write+=4,this};x.DataBuffer.prototype.putInt=function(e,t){T0(t),this.accommodate(t/8);do t-=8,this.data.setInt8(this.write++,e>>t&255);while(t>0);return this};x.DataBuffer.prototype.putSignedInt=function(e,t){return T0(t),this.accommodate(t/8),e<0&&(e+=2<<t-1),this.putInt(e,t)};x.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};x.DataBuffer.prototype.getInt16=function(){var e=this.data.getInt16(this.read);return this.read+=2,e};x.DataBuffer.prototype.getInt24=function(){var e=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,e};x.DataBuffer.prototype.getInt32=function(){var e=this.data.getInt32(this.read);return this.read+=4,e};x.DataBuffer.prototype.getInt16Le=function(){var e=this.data.getInt16(this.read,!0);return this.read+=2,e};x.DataBuffer.prototype.getInt24Le=function(){var e=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,e};x.DataBuffer.prototype.getInt32Le=function(){var e=this.data.getInt32(this.read,!0);return this.read+=4,e};x.DataBuffer.prototype.getInt=function(e){T0(e);var t=0;do t=(t<<8)+this.data.getInt8(this.read++),e-=8;while(e>0);return t};x.DataBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<<e-2;return t>=r&&(t-=r<<1),t};x.DataBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):e===0?t="":(t=this.read===0?this.data:this.data.slice(this.read),this.clear()),t};x.DataBuffer.prototype.bytes=function(e){return typeof e>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+e)};x.DataBuffer.prototype.at=function(e){return this.data.getUint8(this.read+e)};x.DataBuffer.prototype.setAt=function(e,t){return this.data.setUint8(e,t),this};x.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)};x.DataBuffer.prototype.copy=function(){return new x.DataBuffer(this)};x.DataBuffer.prototype.compact=function(){if(this.read>0){var e=new Uint8Array(this.data.buffer,this.read),t=new Uint8Array(e.byteLength);t.set(e),this.data=new DataView(t),this.write-=this.read,this.read=0}return this};x.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};x.DataBuffer.prototype.truncate=function(e){return this.write=Math.max(0,this.length()-e),this.read=Math.min(this.read,this.write),this};x.DataBuffer.prototype.toHex=function(){for(var e="",t=this.read;t<this.data.byteLength;++t){var r=this.data.getUint8(t);r<16&&(e+="0"),e+=r.toString(16)}return e};x.DataBuffer.prototype.toString=function(e){var t=new Uint8Array(this.data,this.read,this.length());if(e=e||"utf8",e==="binary"||e==="raw")return x.binary.raw.encode(t);if(e==="hex")return x.binary.hex.encode(t);if(e==="base64")return x.binary.base64.encode(t);if(e==="utf8")return x.text.utf8.decode(t);if(e==="utf16")return x.text.utf16.decode(t);throw new Error("Invalid encoding: "+e)};x.createBuffer=function(e,t){return t=t||"raw",e!==void 0&&t==="utf8"&&(e=x.encodeUtf8(e)),new x.ByteBuffer(e)};x.fillString=function(e,t){for(var r="";t>0;)t&1&&(r+=e),t>>>=1,t>0&&(e+=e);return r};x.xorBytes=function(e,t,r){for(var n="",i="",o="",s=0,a=0;r>0;--r,++s)i=e.charCodeAt(s)^t.charCodeAt(s),a>=10&&(n+=o,o="",a=0),o+=String.fromCharCode(i),++a;return n+=o,n};x.hexToBytes=function(e){var t="",r=0;for(e.length&!0&&(r=1,t+=String.fromCharCode(parseInt(e[0],16)));r<e.length;r+=2)t+=String.fromCharCode(parseInt(e.substr(r,2),16));return t};x.bytesToHex=function(e){return x.createBuffer(e).toHex()};x.int32ToBytes=function(e){return String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255)};var Br="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Cr=[62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,64,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],q4="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";x.encode64=function(e,t){for(var r="",n="",i,o,s,a=0;a<e.length;)i=e.charCodeAt(a++),o=e.charCodeAt(a++),s=e.charCodeAt(a++),r+=Br.charAt(i>>2),r+=Br.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=Br.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":Br.charAt(s&63)),t&&r.length>t&&(n+=r.substr(0,t)+`\r
|
|
5
|
-
`,r=r.substr(t));return n+=r,n};
|
|
6
|
-
`,r=r.substr(t));return n+=r,n};x.binary.base64.decode=function(e,t,r){var n=t;n||(n=new Uint8Array(Math.ceil(e.length/4)*3)),e=e.replace(/[^A-Za-z0-9\+\/\=]/g,""),r=r||0;for(var i,o,s,a,u=0,c=r;u<e.length;)i=Cr[e.charCodeAt(u++)-43],o=Cr[e.charCodeAt(u++)-43],s=Cr[e.charCodeAt(u++)-43],a=Cr[e.charCodeAt(u++)-43],n[c++]=i<<2|o>>4,s!==64&&(n[c++]=(o&15)<<4|s>>2,a!==64&&(n[c++]=(s&3)<<6|a));return t?c-r:n.subarray(0,c)};x.binary.base58.encode=function(e,t){return x.binary.baseN.encode(e,q4,t)};x.binary.base58.decode=function(e,t){return x.binary.baseN.decode(e,q4,t)};x.text={utf8:{},utf16:{}};x.text.utf8.encode=function(e,t,r){e=x.encodeUtf8(e);var n=t;n||(n=new Uint8Array(e.length)),r=r||0;for(var i=r,o=0;o<e.length;++o)n[i++]=e.charCodeAt(o);return t?i-r:n};x.text.utf8.decode=function(e){return x.decodeUtf8(String.fromCharCode.apply(null,e))};x.text.utf16.encode=function(e,t,r){var n=t;n||(n=new Uint8Array(e.length*2));var i=new Uint16Array(n.buffer);r=r||0;for(var o=r,s=r,a=0;a<e.length;++a)i[s++]=e.charCodeAt(a),o+=2;return t?o-r:n};x.text.utf16.decode=function(e){return String.fromCharCode.apply(null,new Uint16Array(e.buffer))};x.deflate=function(e,t,r){if(t=x.decode64(e.deflate(x.encode64(t)).rval),r){var n=2,i=t.charCodeAt(1);i&32&&(n=6),t=t.substring(n,t.length-4)}return t};x.inflate=function(e,t,r){var n=e.inflate(x.encode64(t)).rval;return n===null?null:x.decode64(n)};var Bs=function(e,t,r){if(!e)throw new Error("WebStorage not available.");var n;if(r===null?n=e.removeItem(t):(r=x.encode64(JSON.stringify(r)),n=e.setItem(t,r)),typeof n<"u"&&n.rval!==!0){var i=new Error(n.error.message);throw i.id=n.error.id,i.name=n.error.name,i}},Cs=function(e,t){if(!e)throw new Error("WebStorage not available.");var r=e.getItem(t);if(e.init)if(r.rval===null){if(r.error){var n=new Error(r.error.message);throw n.id=r.error.id,n.name=r.error.name,n}r=null}else r=r.rval;return r!==null&&(r=JSON.parse(x.decode64(r))),r},u7=function(e,t,r,n){var i=Cs(e,t);i===null&&(i={}),i[r]=n,Bs(e,t,i)},c7=function(e,t,r){var n=Cs(e,t);return n!==null&&(n=r in n?n[r]:null),n},f7=function(e,t,r){var n=Cs(e,t);if(n!==null&&r in n){delete n[r];var i=!0;for(var o in n){i=!1;break}i&&(n=null),Bs(e,t,n)}},l7=function(e,t){Bs(e,t,null)},zi=function(e,t,r){var n=null;typeof r>"u"&&(r=["web","flash"]);var i,o=!1,s=null;for(var a in r){i=r[a];try{if(i==="flash"||i==="both"){if(t[0]===null)throw new Error("Flash local storage not available.");n=e.apply(this,t),o=i==="flash"}(i==="web"||i==="both")&&(t[0]=localStorage,n=e.apply(this,t),o=!0)}catch(u){s=u}if(o)break}if(!o)throw s;return n};x.setItem=function(e,t,r,n,i){zi(u7,arguments,i)};x.getItem=function(e,t,r,n){return zi(c7,arguments,n)};x.removeItem=function(e,t,r,n){zi(f7,arguments,n)};x.clearItems=function(e,t,r){zi(l7,arguments,r)};x.isEmpty=function(e){for(var t in e)if(e.hasOwnProperty(t))return!1;return!0};x.format=function(e){for(var t=/%./g,r,n,i=0,o=[],s=0;r=t.exec(e);){n=e.substring(s,t.lastIndex-2),n.length>0&&o.push(n),s=t.lastIndex;var a=r[0][1];switch(a){case"s":case"o":i<arguments.length?o.push(arguments[i+++1]):o.push("<?>");break;case"%":o.push("%");break;default:o.push("<%"+a+"?>")}}return o.push(e.substring(s)),o.join("")};x.formatNumber=function(e,t,r,n){var i=e,o=isNaN(t=Math.abs(t))?2:t,s=r===void 0?",":r,a=n===void 0?".":n,u=i<0?"-":"",c=parseInt(i=Math.abs(+i||0).toFixed(o),10)+"",f=c.length>3?c.length%3:0;return u+(f?c.substr(0,f)+a:"")+c.substr(f).replace(/(\d{3})(?=\d)/g,"$1"+a)+(o?s+Math.abs(i-c).toFixed(o).slice(2):"")};x.formatSize=function(e){return e>=1073741824?e=x.formatNumber(e/1073741824,2,".","")+" GiB":e>=1048576?e=x.formatNumber(e/1048576,2,".","")+" MiB":e>=1024?e=x.formatNumber(e/1024,0)+" KiB":e=x.formatNumber(e,0)+" bytes",e};x.bytesFromIP=function(e){return e.indexOf(".")!==-1?x.bytesFromIPv4(e):e.indexOf(":")!==-1?x.bytesFromIPv6(e):null};x.bytesFromIPv4=function(e){if(e=e.split("."),e.length!==4)return null;for(var t=x.createBuffer(),r=0;r<e.length;++r){var n=parseInt(e[r],10);if(isNaN(n))return null;t.putByte(n)}return t.getBytes()};x.bytesFromIPv6=function(e){var t=0;e=e.split(":").filter(function(s){return s.length===0&&++t,!0});for(var r=(8-e.length+t)*2,n=x.createBuffer(),i=0;i<8;++i){if(!e[i]||e[i].length===0){n.fillWithByte(0,r),r=0;continue}var o=x.hexToBytes(e[i]);o.length<2&&n.putByte(0),n.putBytes(o)}return n.getBytes()};x.bytesToIP=function(e){return e.length===4?x.bytesToIPv4(e):e.length===16?x.bytesToIPv6(e):null};x.bytesToIPv4=function(e){if(e.length!==4)return null;for(var t=[],r=0;r<e.length;++r)t.push(e.charCodeAt(r));return t.join(".")};x.bytesToIPv6=function(e){if(e.length!==16)return null;for(var t=[],r=[],n=0,i=0;i<e.length;i+=2){for(var o=x.bytesToHex(e[i]+e[i+1]);o[0]==="0"&&o!=="0";)o=o.substr(1);if(o==="0"){var s=r[r.length-1],a=t.length;!s||a!==s.end+1?r.push({start:a,end:a}):(s.end=a,s.end-s.start>r[n].end-r[n].start&&(n=r.length-1))}t.push(o)}if(r.length>0){var u=r[n];u.end-u.start>0&&(t.splice(u.start,u.end-u.start+1,""),u.start===0&&t.unshift(""),u.end===7&&t.push(""))}return t.join(":")};x.estimateCores=function(e,t){if(typeof e=="function"&&(t=e,e={}),e=e||{},"cores"in x&&!e.update)return t(null,x.cores);if(typeof navigator<"u"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return x.cores=navigator.hardwareConcurrency,t(null,x.cores);if(typeof Worker>"u")return x.cores=1,t(null,x.cores);if(typeof Blob>"u")return x.cores=2,t(null,x.cores);var r=URL.createObjectURL(new Blob(["(",function(){self.addEventListener("message",function(s){for(var a=Date.now(),u=a+4;Date.now()<u;);self.postMessage({st:a,et:u})})}.toString(),")()"],{type:"application/javascript"}));n([],5,16);function n(s,a,u){if(a===0){var c=Math.floor(s.reduce(function(f,l){return f+l},0)/s.length);return x.cores=Math.max(1,c),URL.revokeObjectURL(r),t(null,x.cores)}i(u,function(f,l){s.push(o(u,l)),n(s,a-1,u)})}function i(s,a){for(var u=[],c=[],f=0;f<s;++f){var l=new Worker(r);l.addEventListener("message",function(d){if(c.push(d.data),c.length===s){for(var p=0;p<s;++p)u[p].terminate();a(null,c)}}),u.push(l)}for(var f=0;f<s;++f)u[f].postMessage(f)}function o(s,a){for(var u=[],c=0;c<s;++c)for(var f=a[c],l=u[c]=[],d=0;d<s;++d)if(c!==d){var p=a[d];(f.st>p.st&&f.st<p.et||p.st>f.st&&p.st<f.et)&&l.push(d)}return u.reduce(function(h,y){return Math.max(h,y.length)},0)}}});var Ts=D((Pm,$4)=>{var Ut=nt();Ct();$4.exports=Ut.cipher=Ut.cipher||{};Ut.cipher.algorithms=Ut.cipher.algorithms||{};Ut.cipher.createCipher=function(e,t){var r=e;if(typeof r=="string"&&(r=Ut.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+e);return new Ut.cipher.BlockCipher({algorithm:r,key:t,decrypt:!1})};Ut.cipher.createDecipher=function(e,t){var r=e;if(typeof r=="string"&&(r=Ut.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+e);return new Ut.cipher.BlockCipher({algorithm:r,key:t,decrypt:!0})};Ut.cipher.registerAlgorithm=function(e,t){e=e.toUpperCase(),Ut.cipher.algorithms[e]=t};Ut.cipher.getAlgorithm=function(e){return e=e.toUpperCase(),e in Ut.cipher.algorithms?Ut.cipher.algorithms[e]:null};var _s=Ut.cipher.BlockCipher=function(e){this.algorithm=e.algorithm,this.mode=this.algorithm.mode,this.blockSize=this.mode.blockSize,this._finish=!1,this._input=null,this.output=null,this._op=e.decrypt?this.mode.decrypt:this.mode.encrypt,this._decrypt=e.decrypt,this.algorithm.initialize(e)};_s.prototype.start=function(e){e=e||{};var t={};for(var r in e)t[r]=e[r];t.decrypt=this._decrypt,this._finish=!1,this._input=Ut.util.createBuffer(),this.output=e.output||Ut.util.createBuffer(),this.mode.start(t)};_s.prototype.update=function(e){for(e&&this._input.putBuffer(e);!this._op.call(this.mode,this._input,this.output,this._finish)&&!this._finish;);this._input.compact()};_s.prototype.finish=function(e){e&&(this.mode.name==="ECB"||this.mode.name==="CBC")&&(this.mode.pad=function(r){return e(this.blockSize,r,!1)},this.mode.unpad=function(r){return e(this.blockSize,r,!0)});var t={};return t.decrypt=this._decrypt,t.overflow=this._input.length()%this.blockSize,!(!this._decrypt&&this.mode.pad&&!this.mode.pad(this._input,t)||(this._finish=!0,this.update(),this._decrypt&&this.mode.unpad&&!this.mode.unpad(this.output,t))||this.mode.afterFinish&&!this.mode.afterFinish(this.output,t))}});var Ps=D((Nm,H4)=>{var Ot=nt();Ct();Ot.cipher=Ot.cipher||{};var H=H4.exports=Ot.cipher.modes=Ot.cipher.modes||{};H.ecb=function(e){e=e||{},this.name="ECB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};H.ecb.prototype.start=function(e){};H.ecb.prototype.encrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n])};H.ecb.prototype.decrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n])};H.ecb.prototype.pad=function(e,t){var r=e.length()===this.blockSize?this.blockSize:this.blockSize-e.length();return e.fillWithByte(r,r),!0};H.ecb.prototype.unpad=function(e,t){if(t.overflow>0)return!1;var r=e.length(),n=e.at(r-1);return n>this.blockSize<<2?!1:(e.truncate(n),!0)};H.cbc=function(e){e=e||{},this.name="CBC",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};H.cbc.prototype.start=function(e){if(e.iv===null){if(!this._prev)throw new Error("Invalid IV parameter.");this._iv=this._prev.slice(0)}else if("iv"in e)this._iv=$i(e.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};H.cbc.prototype.encrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=this._prev[n]^e.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n]);this._prev=this._outBlock};H.cbc.prototype.decrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._prev[n]^this._outBlock[n]);this._prev=this._inBlock.slice(0)};H.cbc.prototype.pad=function(e,t){var r=e.length()===this.blockSize?this.blockSize:this.blockSize-e.length();return e.fillWithByte(r,r),!0};H.cbc.prototype.unpad=function(e,t){if(t.overflow>0)return!1;var r=e.length(),n=e.at(r-1);return n>this.blockSize<<2?!1:(e.truncate(n),!0)};H.cfb=function(e){e=e||{},this.name="CFB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialBlock=new Array(this._ints),this._partialOutput=Ot.util.createBuffer(),this._partialBytes=0};H.cfb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=$i(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};H.cfb.prototype.encrypt=function(e,t,r){var n=e.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=e.getInt32()^this._outBlock[i],t.putInt32(this._inBlock[i]);return}var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=e.getInt32()^this._outBlock[i],this._partialOutput.putInt32(this._partialBlock[i]);if(o>0)e.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};H.cfb.prototype.decrypt=function(e,t,r){var n=e.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=e.getInt32(),t.putInt32(this._inBlock[i]^this._outBlock[i]);return}var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=e.getInt32(),this._partialOutput.putInt32(this._partialBlock[i]^this._outBlock[i]);if(o>0)e.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};H.ofb=function(e){e=e||{},this.name="OFB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=Ot.util.createBuffer(),this._partialBytes=0};H.ofb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=$i(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};H.ofb.prototype.encrypt=function(e,t,r){var n=e.length();if(e.length()===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)t.putInt32(e.getInt32()^this._outBlock[i]),this._inBlock[i]=this._outBlock[i];return}var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(e.getInt32()^this._outBlock[i]);if(o>0)e.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._outBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};H.ofb.prototype.decrypt=H.ofb.prototype.encrypt;H.ctr=function(e){e=e||{},this.name="CTR",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=Ot.util.createBuffer(),this._partialBytes=0};H.ctr.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=$i(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};H.ctr.prototype.encrypt=function(e,t,r){var n=e.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize)for(var i=0;i<this._ints;++i)t.putInt32(e.getInt32()^this._outBlock[i]);else{var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(e.getInt32()^this._outBlock[i]);if(o>0&&(e.read-=this.blockSize),this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}Hi(this._inBlock)};H.ctr.prototype.decrypt=H.ctr.prototype.encrypt;H.gcm=function(e){e=e||{},this.name="GCM",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints),this._partialOutput=Ot.util.createBuffer(),this._partialBytes=0,this._R=3774873600};H.gcm.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");var t=Ot.util.createBuffer(e.iv);this._cipherLength=0;var r;if("additionalData"in e?r=Ot.util.createBuffer(e.additionalData):r=Ot.util.createBuffer(),"tagLength"in e?this._tagLength=e.tagLength:this._tagLength=128,this._tag=null,e.decrypt&&(this._tag=Ot.util.createBuffer(e.tag).getBytes(),this._tag.length!==this._tagLength/8))throw new Error("Authentication tag does not match tag length.");this._hashBlock=new Array(this._ints),this.tag=null,this._hashSubkey=new Array(this._ints),this.cipher.encrypt([0,0,0,0],this._hashSubkey),this.componentBits=4,this._m=this.generateHashTable(this._hashSubkey,this.componentBits);var n=t.length();if(n===12)this._j0=[t.getInt32(),t.getInt32(),t.getInt32(),1];else{for(this._j0=[0,0,0,0];t.length()>0;)this._j0=this.ghash(this._hashSubkey,this._j0,[t.getInt32(),t.getInt32(),t.getInt32(),t.getInt32()]);this._j0=this.ghash(this._hashSubkey,this._j0,[0,0].concat(Rs(n*8)))}this._inBlock=this._j0.slice(0),Hi(this._inBlock),this._partialBytes=0,r=Ot.util.createBuffer(r),this._aDataLength=Rs(r.length()*8);var i=r.length()%this.blockSize;for(i&&r.fillWithByte(0,this.blockSize-i),this._s=[0,0,0,0];r.length()>0;)this._s=this.ghash(this._hashSubkey,this._s,[r.getInt32(),r.getInt32(),r.getInt32(),r.getInt32()])};H.gcm.prototype.encrypt=function(e,t,r){var n=e.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)t.putInt32(this._outBlock[i]^=e.getInt32());this._cipherLength+=this.blockSize}else{var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(e.getInt32()^this._outBlock[i]);if(o<=0||r){if(r){var s=n%this.blockSize;this._cipherLength+=s,this._partialOutput.truncate(this.blockSize-s)}else this._cipherLength+=this.blockSize;for(var i=0;i<this._ints;++i)this._outBlock[i]=this._partialOutput.getInt32();this._partialOutput.read-=this.blockSize}if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return e.read-=this.blockSize,t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}this._s=this.ghash(this._hashSubkey,this._s,this._outBlock),Hi(this._inBlock)};H.gcm.prototype.decrypt=function(e,t,r){var n=e.length();if(n<this.blockSize&&!(r&&n>0))return!0;this.cipher.encrypt(this._inBlock,this._outBlock),Hi(this._inBlock),this._hashBlock[0]=e.getInt32(),this._hashBlock[1]=e.getInt32(),this._hashBlock[2]=e.getInt32(),this._hashBlock[3]=e.getInt32(),this._s=this.ghash(this._hashSubkey,this._s,this._hashBlock);for(var i=0;i<this._ints;++i)t.putInt32(this._outBlock[i]^this._hashBlock[i]);n<this.blockSize?this._cipherLength+=n%this.blockSize:this._cipherLength+=this.blockSize};H.gcm.prototype.afterFinish=function(e,t){var r=!0;t.decrypt&&t.overflow&&e.truncate(this.blockSize-t.overflow),this.tag=Ot.util.createBuffer();var n=this._aDataLength.concat(Rs(this._cipherLength*8));this._s=this.ghash(this._hashSubkey,this._s,n);var i=[];this.cipher.encrypt(this._j0,i);for(var o=0;o<this._ints;++o)this.tag.putInt32(this._s[o]^i[o]);return this.tag.truncate(this.tag.length()%(this._tagLength/8)),t.decrypt&&this.tag.bytes()!==this._tag&&(r=!1),r};H.gcm.prototype.multiply=function(e,t){for(var r=[0,0,0,0],n=t.slice(0),i=0;i<128;++i){var o=e[i/32|0]&1<<31-i%32;o&&(r[0]^=n[0],r[1]^=n[1],r[2]^=n[2],r[3]^=n[3]),this.pow(n,n)}return r};H.gcm.prototype.pow=function(e,t){for(var r=e[3]&1,n=3;n>0;--n)t[n]=e[n]>>>1|(e[n-1]&1)<<31;t[0]=e[0]>>>1,r&&(t[0]^=this._R)};H.gcm.prototype.tableMultiply=function(e){for(var t=[0,0,0,0],r=0;r<32;++r){var n=r/8|0,i=e[n]>>>(7-r%8)*4&15,o=this._m[r][i];t[0]^=o[0],t[1]^=o[1],t[2]^=o[2],t[3]^=o[3]}return t};H.gcm.prototype.ghash=function(e,t,r){return t[0]^=r[0],t[1]^=r[1],t[2]^=r[2],t[3]^=r[3],this.tableMultiply(t)};H.gcm.prototype.generateHashTable=function(e,t){for(var r=8/t,n=4*r,i=16*r,o=new Array(i),s=0;s<i;++s){var a=[0,0,0,0],u=s/n|0,c=(n-1-s%n)*t;a[u]=1<<t-1<<c,o[s]=this.generateSubHashTable(this.multiply(a,e),t)}return o};H.gcm.prototype.generateSubHashTable=function(e,t){var r=1<<t,n=r>>>1,i=new Array(r);i[n]=e.slice(0);for(var o=n>>>1;o>0;)this.pow(i[2*o],i[o]=[]),o>>=1;for(o=2;o<n;){for(var s=1;s<o;++s){var a=i[o],u=i[s];i[o+s]=[a[0]^u[0],a[1]^u[1],a[2]^u[2],a[3]^u[3]]}o*=2}for(i[0]=[0,0,0,0],o=n+1;o<r;++o){var c=i[o^n];i[o]=[e[0]^c[0],e[1]^c[1],e[2]^c[2],e[3]^c[3]]}return i};function $i(e,t){if(typeof e=="string"&&(e=Ot.util.createBuffer(e)),Ot.util.isArray(e)&&e.length>4){var r=e;e=Ot.util.createBuffer();for(var n=0;n<r.length;++n)e.putByte(r[n])}if(e.length()<t)throw new Error("Invalid IV length; got "+e.length()+" bytes and expected "+t+" bytes.");if(!Ot.util.isArray(e)){for(var i=[],o=t/4,n=0;n<o;++n)i.push(e.getInt32());e=i}return e}function Hi(e){e[e.length-1]=e[e.length-1]+1&4294967295}function Rs(e){return[e/4294967296|0,e&4294967295]}});var Qi=D((Lm,Y4)=>{var at=nt();Ts();Ps();Ct();Y4.exports=at.aes=at.aes||{};at.aes.startEncrypting=function(e,t,r,n){var i=Gi({key:e,output:r,decrypt:!1,mode:n});return i.start(t),i};at.aes.createEncryptionCipher=function(e,t){return Gi({key:e,output:null,decrypt:!1,mode:t})};at.aes.startDecrypting=function(e,t,r,n){var i=Gi({key:e,output:r,decrypt:!0,mode:n});return i.start(t),i};at.aes.createDecryptionCipher=function(e,t){return Gi({key:e,output:null,decrypt:!0,mode:t})};at.aes.Algorithm=function(e,t){ks||Q4();var r=this;r.name=e,r.mode=new t({blockSize:16,cipher:{encrypt:function(n,i){return Ls(r._w,n,i,!1)},decrypt:function(n,i){return Ls(r._w,n,i,!0)}}}),r._init=!1};at.aes.Algorithm.prototype.initialize=function(e){if(!this._init){var t=e.key,r;if(typeof t=="string"&&(t.length===16||t.length===24||t.length===32))t=at.util.createBuffer(t);else if(at.util.isArray(t)&&(t.length===16||t.length===24||t.length===32)){r=t,t=at.util.createBuffer();for(var n=0;n<r.length;++n)t.putByte(r[n])}if(!at.util.isArray(t)){r=t,t=[];var i=r.length();if(i===16||i===24||i===32){i=i>>>2;for(var n=0;n<i;++n)t.push(r.getInt32())}}if(!at.util.isArray(t)||!(t.length===4||t.length===6||t.length===8))throw new Error("Invalid key parameter.");var o=this.mode.name,s=["CFB","OFB","CTR","GCM"].indexOf(o)!==-1;this._w=W4(t,e.decrypt&&!s),this._init=!0}};at.aes._expandKey=function(e,t){return ks||Q4(),W4(e,t)};at.aes._updateBlock=Ls;qn("AES-ECB",at.cipher.modes.ecb);qn("AES-CBC",at.cipher.modes.cbc);qn("AES-CFB",at.cipher.modes.cfb);qn("AES-OFB",at.cipher.modes.ofb);qn("AES-CTR",at.cipher.modes.ctr);qn("AES-GCM",at.cipher.modes.gcm);function qn(e,t){var r=function(){return new at.aes.Algorithm(e,t)};at.cipher.registerAlgorithm(e,r)}var ks=!1,Vn=4,$t,Ns,G4,jr,be;function Q4(){ks=!0,G4=[0,1,2,4,8,16,32,64,128,27,54];for(var e=new Array(256),t=0;t<128;++t)e[t]=t<<1,e[t+128]=t+128<<1^283;$t=new Array(256),Ns=new Array(256),jr=new Array(4),be=new Array(4);for(var t=0;t<4;++t)jr[t]=new Array(256),be[t]=new Array(256);for(var r=0,n=0,i,o,s,a,u,c,f,t=0;t<256;++t){a=n^n<<1^n<<2^n<<3^n<<4,a=a>>8^a&255^99,$t[r]=a,Ns[a]=r,u=e[a],i=e[r],o=e[i],s=e[o],c=u<<24^a<<16^a<<8^(a^u),f=(i^o^s)<<24^(r^s)<<16^(r^o^s)<<8^(r^i^s);for(var l=0;l<4;++l)jr[l][r]=c,be[l][a]=f,c=c<<24|c>>>8,f=f<<24|f>>>8;r===0?r=n=1:(r=i^e[e[e[i^s]]],n^=e[e[n]])}}function W4(e,t){for(var r=e.slice(0),n,i=1,o=r.length,s=o+6+1,a=Vn*s,u=o;u<a;++u)n=r[u-1],u%o===0?(n=$t[n>>>16&255]<<24^$t[n>>>8&255]<<16^$t[n&255]<<8^$t[n>>>24]^G4[i]<<24,i++):o>6&&u%o===4&&(n=$t[n>>>24]<<24^$t[n>>>16&255]<<16^$t[n>>>8&255]<<8^$t[n&255]),r[u]=r[u-o]^n;if(t){var c,f=be[0],l=be[1],d=be[2],p=be[3],h=r.slice(0);a=r.length;for(var u=0,y=a-Vn;u<a;u+=Vn,y-=Vn)if(u===0||u===a-Vn)h[u]=r[y],h[u+1]=r[y+3],h[u+2]=r[y+2],h[u+3]=r[y+1];else for(var g=0;g<Vn;++g)c=r[y+g],h[u+(3&-g)]=f[$t[c>>>24]]^l[$t[c>>>16&255]]^d[$t[c>>>8&255]]^p[$t[c&255]];r=h}return r}function Ls(e,t,r,n){var i=e.length/4-1,o,s,a,u,c;n?(o=be[0],s=be[1],a=be[2],u=be[3],c=Ns):(o=jr[0],s=jr[1],a=jr[2],u=jr[3],c=$t);var f,l,d,p,h,y,g;f=t[0]^e[0],l=t[n?3:1]^e[1],d=t[2]^e[2],p=t[n?1:3]^e[3];for(var m=3,v=1;v<i;++v)h=o[f>>>24]^s[l>>>16&255]^a[d>>>8&255]^u[p&255]^e[++m],y=o[l>>>24]^s[d>>>16&255]^a[p>>>8&255]^u[f&255]^e[++m],g=o[d>>>24]^s[p>>>16&255]^a[f>>>8&255]^u[l&255]^e[++m],p=o[p>>>24]^s[f>>>16&255]^a[l>>>8&255]^u[d&255]^e[++m],f=h,l=y,d=g;r[0]=c[f>>>24]<<24^c[l>>>16&255]<<16^c[d>>>8&255]<<8^c[p&255]^e[++m],r[n?3:1]=c[l>>>24]<<24^c[d>>>16&255]<<16^c[p>>>8&255]<<8^c[f&255]^e[++m],r[2]=c[d>>>24]<<24^c[p>>>16&255]<<16^c[f>>>8&255]<<8^c[l&255]^e[++m],r[n?1:3]=c[p>>>24]<<24^c[f>>>16&255]<<16^c[l>>>8&255]<<8^c[d&255]^e[++m]}function Gi(e){e=e||{};var t=(e.mode||"CBC").toUpperCase(),r="AES-"+t,n;e.decrypt?n=at.cipher.createDecipher(r,e.key):n=at.cipher.createCipher(r,e.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof at.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var Wi=D(($m,Z4)=>{var R0=nt();R0.pki=R0.pki||{};var Fs=Z4.exports=R0.pki.oids=R0.oids=R0.oids||{};function B(e,t){Fs[e]=t,Fs[t]=e}function rt(e,t){Fs[e]=t}B("1.2.840.113549.1.1.1","rsaEncryption");B("1.2.840.113549.1.1.4","md5WithRSAEncryption");B("1.2.840.113549.1.1.5","sha1WithRSAEncryption");B("1.2.840.113549.1.1.7","RSAES-OAEP");B("1.2.840.113549.1.1.8","mgf1");B("1.2.840.113549.1.1.9","pSpecified");B("1.2.840.113549.1.1.10","RSASSA-PSS");B("1.2.840.113549.1.1.11","sha256WithRSAEncryption");B("1.2.840.113549.1.1.12","sha384WithRSAEncryption");B("1.2.840.113549.1.1.13","sha512WithRSAEncryption");B("1.3.101.112","EdDSA25519");B("1.2.840.10040.4.3","dsa-with-sha1");B("1.3.14.3.2.7","desCBC");B("1.3.14.3.2.26","sha1");B("1.3.14.3.2.29","sha1WithRSASignature");B("2.16.840.1.101.3.4.2.1","sha256");B("2.16.840.1.101.3.4.2.2","sha384");B("2.16.840.1.101.3.4.2.3","sha512");B("2.16.840.1.101.3.4.2.4","sha224");B("2.16.840.1.101.3.4.2.5","sha512-224");B("2.16.840.1.101.3.4.2.6","sha512-256");B("1.2.840.113549.2.2","md2");B("1.2.840.113549.2.5","md5");B("1.2.840.113549.1.7.1","data");B("1.2.840.113549.1.7.2","signedData");B("1.2.840.113549.1.7.3","envelopedData");B("1.2.840.113549.1.7.4","signedAndEnvelopedData");B("1.2.840.113549.1.7.5","digestedData");B("1.2.840.113549.1.7.6","encryptedData");B("1.2.840.113549.1.9.1","emailAddress");B("1.2.840.113549.1.9.2","unstructuredName");B("1.2.840.113549.1.9.3","contentType");B("1.2.840.113549.1.9.4","messageDigest");B("1.2.840.113549.1.9.5","signingTime");B("1.2.840.113549.1.9.6","counterSignature");B("1.2.840.113549.1.9.7","challengePassword");B("1.2.840.113549.1.9.8","unstructuredAddress");B("1.2.840.113549.1.9.14","extensionRequest");B("1.2.840.113549.1.9.20","friendlyName");B("1.2.840.113549.1.9.21","localKeyId");B("1.2.840.113549.1.9.22.1","x509Certificate");B("1.2.840.113549.1.12.10.1.1","keyBag");B("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");B("1.2.840.113549.1.12.10.1.3","certBag");B("1.2.840.113549.1.12.10.1.4","crlBag");B("1.2.840.113549.1.12.10.1.5","secretBag");B("1.2.840.113549.1.12.10.1.6","safeContentsBag");B("1.2.840.113549.1.5.13","pkcs5PBES2");B("1.2.840.113549.1.5.12","pkcs5PBKDF2");B("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");B("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");B("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");B("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");B("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");B("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");B("1.2.840.113549.2.7","hmacWithSHA1");B("1.2.840.113549.2.8","hmacWithSHA224");B("1.2.840.113549.2.9","hmacWithSHA256");B("1.2.840.113549.2.10","hmacWithSHA384");B("1.2.840.113549.2.11","hmacWithSHA512");B("1.2.840.113549.3.7","des-EDE3-CBC");B("2.16.840.1.101.3.4.1.2","aes128-CBC");B("2.16.840.1.101.3.4.1.22","aes192-CBC");B("2.16.840.1.101.3.4.1.42","aes256-CBC");B("2.5.4.3","commonName");B("2.5.4.4","surname");B("2.5.4.5","serialNumber");B("2.5.4.6","countryName");B("2.5.4.7","localityName");B("2.5.4.8","stateOrProvinceName");B("2.5.4.9","streetAddress");B("2.5.4.10","organizationName");B("2.5.4.11","organizationalUnitName");B("2.5.4.12","title");B("2.5.4.13","description");B("2.5.4.15","businessCategory");B("2.5.4.17","postalCode");B("2.5.4.42","givenName");B("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");B("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");B("2.16.840.1.113730.1.1","nsCertType");B("2.16.840.1.113730.1.13","nsComment");rt("2.5.29.1","authorityKeyIdentifier");rt("2.5.29.2","keyAttributes");rt("2.5.29.3","certificatePolicies");rt("2.5.29.4","keyUsageRestriction");rt("2.5.29.5","policyMapping");rt("2.5.29.6","subtreesConstraint");rt("2.5.29.7","subjectAltName");rt("2.5.29.8","issuerAltName");rt("2.5.29.9","subjectDirectoryAttributes");rt("2.5.29.10","basicConstraints");rt("2.5.29.11","nameConstraints");rt("2.5.29.12","policyConstraints");rt("2.5.29.13","basicConstraints");B("2.5.29.14","subjectKeyIdentifier");B("2.5.29.15","keyUsage");rt("2.5.29.16","privateKeyUsagePeriod");B("2.5.29.17","subjectAltName");B("2.5.29.18","issuerAltName");B("2.5.29.19","basicConstraints");rt("2.5.29.20","cRLNumber");rt("2.5.29.21","cRLReason");rt("2.5.29.22","expirationDate");rt("2.5.29.23","instructionCode");rt("2.5.29.24","invalidityDate");rt("2.5.29.25","cRLDistributionPoints");rt("2.5.29.26","issuingDistributionPoint");rt("2.5.29.27","deltaCRLIndicator");rt("2.5.29.28","issuingDistributionPoint");rt("2.5.29.29","certificateIssuer");rt("2.5.29.30","nameConstraints");B("2.5.29.31","cRLDistributionPoints");B("2.5.29.32","certificatePolicies");rt("2.5.29.33","policyMappings");rt("2.5.29.34","policyConstraints");B("2.5.29.35","authorityKeyIdentifier");rt("2.5.29.36","policyConstraints");B("2.5.29.37","extKeyUsage");rt("2.5.29.46","freshestCRL");rt("2.5.29.54","inhibitAnyPolicy");B("1.3.6.1.4.1.11129.2.4.2","timestampList");B("1.3.6.1.5.5.7.1.1","authorityInfoAccess");B("1.3.6.1.5.5.7.3.1","serverAuth");B("1.3.6.1.5.5.7.3.2","clientAuth");B("1.3.6.1.5.5.7.3.3","codeSigning");B("1.3.6.1.5.5.7.3.4","emailProtection");B("1.3.6.1.5.5.7.3.8","timeStamping")});var N0=D((Hm,j4)=>{var ft=nt();Ct();Wi();var R=j4.exports=ft.asn1=ft.asn1||{};R.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};R.Type={NONE:0,BOOLEAN:1,INTEGER:2,BITSTRING:3,OCTETSTRING:4,NULL:5,OID:6,ODESC:7,EXTERNAL:8,REAL:9,ENUMERATED:10,EMBEDDED:11,UTF8:12,ROID:13,SEQUENCE:16,SET:17,PRINTABLESTRING:19,IA5STRING:22,UTCTIME:23,GENERALIZEDTIME:24,BMPSTRING:30};R.create=function(e,t,r,n,i){if(ft.util.isArray(n)){for(var o=[],s=0;s<n.length;++s)n[s]!==void 0&&o.push(n[s]);n=o}var a={tagClass:e,type:t,constructed:r,composed:r||ft.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=R.copy(a)),a};R.copy=function(e,t){var r;if(ft.util.isArray(e)){r=[];for(var n=0;n<e.length;++n)r.push(R.copy(e[n],t));return r}return typeof e=="string"?e:(r={tagClass:e.tagClass,type:e.type,constructed:e.constructed,composed:e.composed,value:R.copy(e.value,t)},t&&!t.excludeBitStringContents&&(r.bitStringContents=e.bitStringContents),r)};R.equals=function(e,t,r){if(ft.util.isArray(e)){if(!ft.util.isArray(t)||e.length!==t.length)return!1;for(var n=0;n<e.length;++n)if(!R.equals(e[n],t[n]))return!1;return!0}if(typeof e!=typeof t)return!1;if(typeof e=="string")return e===t;var i=e.tagClass===t.tagClass&&e.type===t.type&&e.constructed===t.constructed&&e.composed===t.composed&&R.equals(e.value,t.value);return r&&r.includeBitStringContents&&(i=i&&e.bitStringContents===t.bitStringContents),i};R.getBerValueLength=function(e){var t=e.getByte();if(t!==128){var r,n=t&128;return n?r=e.getInt((t&127)<<3):r=t,r}};function P0(e,t,r){if(r>t){var n=new Error("Too few bytes to parse DER.");throw n.available=e.length(),n.remaining=t,n.requested=r,n}}var y7=function(e,t){var r=e.getByte();if(t--,r!==128){var n,i=r&128;if(!i)n=r;else{var o=r&127;P0(e,t,o),n=e.getInt(o<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};R.fromDer=function(e,t){t===void 0&&(t={strict:!0,parseAllBytes:!0,decodeBitStrings:!0}),typeof t=="boolean"&&(t={strict:t,parseAllBytes:!0,decodeBitStrings:!0}),"strict"in t||(t.strict=!0),"parseAllBytes"in t||(t.parseAllBytes=!0),"decodeBitStrings"in t||(t.decodeBitStrings=!0),typeof e=="string"&&(e=ft.util.createBuffer(e));var r=e.length(),n=Yi(e,e.length(),0,t);if(t.parseAllBytes&&e.length()!==0){var i=new Error("Unparsed DER bytes remain after ASN.1 parsing.");throw i.byteCount=r,i.remaining=e.length(),i}return n};function Yi(e,t,r,n){var i;P0(e,t,2);var o=e.getByte();t--;var s=o&192,a=o&31;i=e.length();var u=y7(e,t);if(t-=i-e.length(),u!==void 0&&u>t){if(n.strict){var c=new Error("Too few bytes to read ASN.1 value.");throw c.available=e.length(),c.remaining=t,c.requested=u,c}u=t}var f,l,d=(o&32)===32;if(d)if(f=[],u===void 0)for(;;){if(P0(e,t,2),e.bytes(2)===String.fromCharCode(0,0)){e.getBytes(2),t-=2;break}i=e.length(),f.push(Yi(e,t,r+1,n)),t-=i-e.length()}else for(;u>0;)i=e.length(),f.push(Yi(e,u,r+1,n)),t-=i-e.length(),u-=i-e.length();if(f===void 0&&s===R.Class.UNIVERSAL&&a===R.Type.BITSTRING&&(l=e.bytes(u)),f===void 0&&n.decodeBitStrings&&s===R.Class.UNIVERSAL&&a===R.Type.BITSTRING&&u>1){var p=e.read,h=t,y=0;if(a===R.Type.BITSTRING&&(P0(e,t,1),y=e.getByte(),t--),y===0)try{i=e.length();var g={strict:!0,decodeBitStrings:!0},m=Yi(e,t,r+1,g),v=i-e.length();t-=v,a==R.Type.BITSTRING&&v++;var S=m.tagClass;v===u&&(S===R.Class.UNIVERSAL||S===R.Class.CONTEXT_SPECIFIC)&&(f=[m])}catch{}f===void 0&&(e.read=p,t=h)}if(f===void 0){if(u===void 0){if(n.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");u=t}if(a===R.Type.BMPSTRING)for(f="";u>0;u-=2)P0(e,t,2),f+=String.fromCharCode(e.getInt16()),t-=2;else f=e.getBytes(u),t-=u}var L=l===void 0?null:{bitStringContents:l};return R.create(s,a,d,f,L)}R.toDer=function(e){var t=ft.util.createBuffer(),r=e.tagClass|e.type,n=ft.util.createBuffer(),i=!1;if("bitStringContents"in e&&(i=!0,e.original&&(i=R.equals(e,e.original))),i)n.putBytes(e.bitStringContents);else if(e.composed){e.constructed?r|=32:n.putByte(0);for(var o=0;o<e.value.length;++o)e.value[o]!==void 0&&n.putBuffer(R.toDer(e.value[o]))}else if(e.type===R.Type.BMPSTRING)for(var o=0;o<e.value.length;++o)n.putInt16(e.value.charCodeAt(o));else e.type===R.Type.INTEGER&&e.value.length>1&&(e.value.charCodeAt(0)===0&&!(e.value.charCodeAt(1)&128)||e.value.charCodeAt(0)===255&&(e.value.charCodeAt(1)&128)===128)?n.putBytes(e.value.substr(1)):n.putBytes(e.value);if(t.putByte(r),n.length()<=127)t.putByte(n.length()&127);else{var s=n.length(),a="";do a+=String.fromCharCode(s&255),s=s>>>8;while(s>0);t.putByte(a.length|128);for(var o=a.length-1;o>=0;--o)t.putByte(a.charCodeAt(o))}return t.putBuffer(n),t};R.oidToDer=function(e){var t=e.split("."),r=ft.util.createBuffer();r.putByte(40*parseInt(t[0],10)+parseInt(t[1],10));for(var n,i,o,s,a=2;a<t.length;++a){n=!0,i=[],o=parseInt(t[a],10);do s=o&127,o=o>>>7,n||(s|=128),i.push(s),n=!1;while(o>0);for(var u=i.length-1;u>=0;--u)r.putByte(i[u])}return r};R.derToOid=function(e){var t;typeof e=="string"&&(e=ft.util.createBuffer(e));var r=e.getByte();t=Math.floor(r/40)+"."+r%40;for(var n=0;e.length()>0;)r=e.getByte(),n=n<<7,r&128?n+=r&127:(t+="."+(n+r),n=0);return t};R.utcTimeToDate=function(e){var t=new Date,r=parseInt(e.substr(0,2),10);r=r>=50?1900+r:2e3+r;var n=parseInt(e.substr(2,2),10)-1,i=parseInt(e.substr(4,2),10),o=parseInt(e.substr(6,2),10),s=parseInt(e.substr(8,2),10),a=0;if(e.length>11){var u=e.charAt(10),c=10;u!=="+"&&u!=="-"&&(a=parseInt(e.substr(10,2),10),c+=2)}if(t.setUTCFullYear(r,n,i),t.setUTCHours(o,s,a,0),c&&(u=e.charAt(c),u==="+"||u==="-")){var f=parseInt(e.substr(c+1,2),10),l=parseInt(e.substr(c+4,2),10),d=f*60+l;d*=6e4,u==="+"?t.setTime(+t-d):t.setTime(+t+d)}return t};R.generalizedTimeToDate=function(e){var t=new Date,r=parseInt(e.substr(0,4),10),n=parseInt(e.substr(4,2),10)-1,i=parseInt(e.substr(6,2),10),o=parseInt(e.substr(8,2),10),s=parseInt(e.substr(10,2),10),a=parseInt(e.substr(12,2),10),u=0,c=0,f=!1;e.charAt(e.length-1)==="Z"&&(f=!0);var l=e.length-5,d=e.charAt(l);if(d==="+"||d==="-"){var p=parseInt(e.substr(l+1,2),10),h=parseInt(e.substr(l+4,2),10);c=p*60+h,c*=6e4,d==="+"&&(c*=-1),f=!0}return e.charAt(14)==="."&&(u=parseFloat(e.substr(14),10)*1e3),f?(t.setUTCFullYear(r,n,i),t.setUTCHours(o,s,a,u),t.setTime(+t+c)):(t.setFullYear(r,n,i),t.setHours(o,s,a,u)),t};R.dateToUtcTime=function(e){if(typeof e=="string")return e;var t="",r=[];r.push((""+e.getUTCFullYear()).substr(2)),r.push(""+(e.getUTCMonth()+1)),r.push(""+e.getUTCDate()),r.push(""+e.getUTCHours()),r.push(""+e.getUTCMinutes()),r.push(""+e.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(t+="0"),t+=r[n];return t+="Z",t};R.dateToGeneralizedTime=function(e){if(typeof e=="string")return e;var t="",r=[];r.push(""+e.getUTCFullYear()),r.push(""+(e.getUTCMonth()+1)),r.push(""+e.getUTCDate()),r.push(""+e.getUTCHours()),r.push(""+e.getUTCMinutes()),r.push(""+e.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(t+="0"),t+=r[n];return t+="Z",t};R.integerToDer=function(e){var t=ft.util.createBuffer();if(e>=-128&&e<128)return t.putSignedInt(e,8);if(e>=-32768&&e<32768)return t.putSignedInt(e,16);if(e>=-8388608&&e<8388608)return t.putSignedInt(e,24);if(e>=-2147483648&&e<2147483648)return t.putSignedInt(e,32);var r=new Error("Integer too large; max is 32-bits.");throw r.integer=e,r};R.derToInteger=function(e){typeof e=="string"&&(e=ft.util.createBuffer(e));var t=e.length()*8;if(t>32)throw new Error("Integer too large; max is 32-bits.");return e.getSignedInt(t)};R.validate=function(e,t,r,n){var i=!1;if((e.tagClass===t.tagClass||typeof t.tagClass>"u")&&(e.type===t.type||typeof t.type>"u"))if(e.constructed===t.constructed||typeof t.constructed>"u"){if(i=!0,t.value&&ft.util.isArray(t.value))for(var o=0,s=0;i&&s<t.value.length;++s)i=t.value[s].optional||!1,e.value[o]&&(i=R.validate(e.value[o],t.value[s],r,n),i?++o:t.value[s].optional&&(i=!0)),!i&&n&&n.push("["+t.name+'] Tag class "'+t.tagClass+'", type "'+t.type+'" expected value length "'+t.value.length+'", got "'+e.value.length+'"');if(i&&r&&(t.capture&&(r[t.capture]=e.value),t.captureAsn1&&(r[t.captureAsn1]=e),t.captureBitStringContents&&"bitStringContents"in e&&(r[t.captureBitStringContents]=e.bitStringContents),t.captureBitStringValue&&"bitStringContents"in e)){var a;if(e.bitStringContents.length<2)r[t.captureBitStringValue]="";else{var u=e.bitStringContents.charCodeAt(0);if(u!==0)throw new Error("captureBitStringValue only supported for zero unused bits");r[t.captureBitStringValue]=e.bitStringContents.slice(1)}}}else n&&n.push("["+t.name+'] Expected constructed "'+t.constructed+'", got "'+e.constructed+'"');else n&&(e.tagClass!==t.tagClass&&n.push("["+t.name+'] Expected tag class "'+t.tagClass+'", got "'+e.tagClass+'"'),e.type!==t.type&&n.push("["+t.name+'] Expected type "'+t.type+'", got "'+e.type+'"'));return i};var X4=/[^\\u0000-\\u00ff]/;R.prettyPrint=function(e,t,r){var n="";t=t||0,r=r||2,t>0&&(n+=`
|
|
2
|
+
"use strict";var Libp2PKadDht=(()=>{var f8=Object.create;var li=Object.defineProperty;var l8=Object.getOwnPropertyDescriptor;var h8=Object.getOwnPropertyNames;var p8=Object.getPrototypeOf,d8=Object.prototype.hasOwnProperty;var D=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Lt=(e,t)=>{for(var r in t)li(e,r,{get:t[r],enumerable:!0})},G2=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of h8(t))!d8.call(e,i)&&i!==r&&li(e,i,{get:()=>t[i],enumerable:!(n=l8(t,i))||n.enumerable});return e};var $=(e,t,r)=>(r=e!=null?f8(p8(e)):{},G2(t||!e||!e.__esModule?li(r,"default",{value:e,enumerable:!0}):r,e)),y8=e=>G2(li({},"__esModule",{value:!0}),e);var Y2=D(hi=>{"use strict";hi.byteLength=m8;hi.toByteArray=v8;hi.fromByteArray=E8;var Pe=[],ae=[],g8=typeof Uint8Array<"u"?Uint8Array:Array,fo="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(Kr=0,Q2=fo.length;Kr<Q2;++Kr)Pe[Kr]=fo[Kr],ae[fo.charCodeAt(Kr)]=Kr;var Kr,Q2;ae["-".charCodeAt(0)]=62;ae["_".charCodeAt(0)]=63;function W2(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");r===-1&&(r=t);var n=r===t?0:4-r%4;return[r,n]}function m8(e){var t=W2(e),r=t[0],n=t[1];return(r+n)*3/4-n}function x8(e,t,r){return(t+r)*3/4-r}function v8(e){var t,r=W2(e),n=r[0],i=r[1],o=new g8(x8(e,n,i)),s=0,a=i>0?n-4:n,u;for(u=0;u<a;u+=4)t=ae[e.charCodeAt(u)]<<18|ae[e.charCodeAt(u+1)]<<12|ae[e.charCodeAt(u+2)]<<6|ae[e.charCodeAt(u+3)],o[s++]=t>>16&255,o[s++]=t>>8&255,o[s++]=t&255;return i===2&&(t=ae[e.charCodeAt(u)]<<2|ae[e.charCodeAt(u+1)]>>4,o[s++]=t&255),i===1&&(t=ae[e.charCodeAt(u)]<<10|ae[e.charCodeAt(u+1)]<<4|ae[e.charCodeAt(u+2)]>>2,o[s++]=t>>8&255,o[s++]=t&255),o}function w8(e){return Pe[e>>18&63]+Pe[e>>12&63]+Pe[e>>6&63]+Pe[e&63]}function b8(e,t,r){for(var n,i=[],o=t;o<r;o+=3)n=(e[o]<<16&16711680)+(e[o+1]<<8&65280)+(e[o+2]&255),i.push(w8(n));return i.join("")}function E8(e){for(var t,r=e.length,n=r%3,i=[],o=16383,s=0,a=r-n;s<a;s+=o)i.push(b8(e,s,s+o>a?a:s+o));return n===1?(t=e[r-1],i.push(Pe[t>>2]+Pe[t<<4&63]+"==")):n===2&&(t=(e[r-2]<<8)+e[r-1],i.push(Pe[t>>10]+Pe[t>>4&63]+Pe[t<<2&63]+"=")),i.join("")}});var Z2=D(lo=>{lo.read=function(e,t,r,n,i){var o,s,a=i*8-n-1,u=(1<<a)-1,c=u>>1,f=-7,l=r?i-1:0,d=r?-1:1,p=e[t+l];for(l+=d,o=p&(1<<-f)-1,p>>=-f,f+=a;f>0;o=o*256+e[t+l],l+=d,f-=8);for(s=o&(1<<-f)-1,o>>=-f,f+=n;f>0;s=s*256+e[t+l],l+=d,f-=8);if(o===0)o=1-c;else{if(o===u)return s?NaN:(p?-1:1)*(1/0);s=s+Math.pow(2,n),o=o-c}return(p?-1:1)*s*Math.pow(2,o-n)};lo.write=function(e,t,r,n,i,o){var s,a,u,c=o*8-i-1,f=(1<<c)-1,l=f>>1,d=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:o-1,h=n?1:-1,y=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,s=f):(s=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-s))<1&&(s--,u*=2),s+l>=1?t+=d/u:t+=d*Math.pow(2,1-l),t*u>=2&&(s++,u/=2),s+l>=f?(a=0,s=f):s+l>=1?(a=(t*u-1)*Math.pow(2,i),s=s+l):(a=t*Math.pow(2,l-1)*Math.pow(2,i),s=0));i>=8;e[r+p]=a&255,p+=h,a/=256,i-=8);for(s=s<<i|a,c+=i;c>0;e[r+p]=s&255,p+=h,s/=256,c-=8);e[r+p-h]|=y*128}});var pa=D(bn=>{"use strict";var ho=Y2(),vn=Z2(),X2=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;bn.Buffer=b;bn.SlowBuffer=_8;bn.INSPECT_MAX_BYTES=50;var pi=2147483647;bn.kMaxLength=pi;b.TYPED_ARRAY_SUPPORT=S8();!b.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function S8(){try{let e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),e.foo()===42}catch{return!1}}Object.defineProperty(b.prototype,"parent",{enumerable:!0,get:function(){if(b.isBuffer(this))return this.buffer}});Object.defineProperty(b.prototype,"offset",{enumerable:!0,get:function(){if(b.isBuffer(this))return this.byteOffset}});function je(e){if(e>pi)throw new RangeError('The value "'+e+'" is invalid for option "size"');let t=new Uint8Array(e);return Object.setPrototypeOf(t,b.prototype),t}function b(e,t,r){if(typeof e=="number"){if(typeof t=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return mo(e)}return ea(e,t,r)}b.poolSize=8192;function ea(e,t,r){if(typeof e=="string")return I8(e,t);if(ArrayBuffer.isView(e))return B8(e);if(e==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(Ne(e,ArrayBuffer)||e&&Ne(e.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(Ne(e,SharedArrayBuffer)||e&&Ne(e.buffer,SharedArrayBuffer)))return yo(e,t,r);if(typeof e=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let n=e.valueOf&&e.valueOf();if(n!=null&&n!==e)return b.from(n,t,r);let i=C8(e);if(i)return i;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof e[Symbol.toPrimitive]=="function")return b.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}b.from=function(e,t,r){return ea(e,t,r)};Object.setPrototypeOf(b.prototype,Uint8Array.prototype);Object.setPrototypeOf(b,Uint8Array);function ra(e){if(typeof e!="number")throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function A8(e,t,r){return ra(e),e<=0?je(e):t!==void 0?typeof r=="string"?je(e).fill(t,r):je(e).fill(t):je(e)}b.alloc=function(e,t,r){return A8(e,t,r)};function mo(e){return ra(e),je(e<0?0:xo(e)|0)}b.allocUnsafe=function(e){return mo(e)};b.allocUnsafeSlow=function(e){return mo(e)};function I8(e,t){if((typeof t!="string"||t==="")&&(t="utf8"),!b.isEncoding(t))throw new TypeError("Unknown encoding: "+t);let r=na(e,t)|0,n=je(r),i=n.write(e,t);return i!==r&&(n=n.slice(0,i)),n}function po(e){let t=e.length<0?0:xo(e.length)|0,r=je(t);for(let n=0;n<t;n+=1)r[n]=e[n]&255;return r}function B8(e){if(Ne(e,Uint8Array)){let t=new Uint8Array(e);return yo(t.buffer,t.byteOffset,t.byteLength)}return po(e)}function yo(e,t,r){if(t<0||e.byteLength<t)throw new RangeError('"offset" is outside of buffer bounds');if(e.byteLength<t+(r||0))throw new RangeError('"length" is outside of buffer bounds');let n;return t===void 0&&r===void 0?n=new Uint8Array(e):r===void 0?n=new Uint8Array(e,t):n=new Uint8Array(e,t,r),Object.setPrototypeOf(n,b.prototype),n}function C8(e){if(b.isBuffer(e)){let t=xo(e.length)|0,r=je(t);return r.length===0||e.copy(r,0,0,t),r}if(e.length!==void 0)return typeof e.length!="number"||wo(e.length)?je(0):po(e);if(e.type==="Buffer"&&Array.isArray(e.data))return po(e.data)}function xo(e){if(e>=pi)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+pi.toString(16)+" bytes");return e|0}function _8(e){return+e!=e&&(e=0),b.alloc(+e)}b.isBuffer=function(t){return t!=null&&t._isBuffer===!0&&t!==b.prototype};b.compare=function(t,r){if(Ne(t,Uint8Array)&&(t=b.from(t,t.offset,t.byteLength)),Ne(r,Uint8Array)&&(r=b.from(r,r.offset,r.byteLength)),!b.isBuffer(t)||!b.isBuffer(r))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===r)return 0;let n=t.length,i=r.length;for(let o=0,s=Math.min(n,i);o<s;++o)if(t[o]!==r[o]){n=t[o],i=r[o];break}return n<i?-1:i<n?1:0};b.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}};b.concat=function(t,r){if(!Array.isArray(t))throw new TypeError('"list" argument must be an Array of Buffers');if(t.length===0)return b.alloc(0);let n;if(r===void 0)for(r=0,n=0;n<t.length;++n)r+=t[n].length;let i=b.allocUnsafe(r),o=0;for(n=0;n<t.length;++n){let s=t[n];if(Ne(s,Uint8Array))o+s.length>i.length?(b.isBuffer(s)||(s=b.from(s)),s.copy(i,o)):Uint8Array.prototype.set.call(i,s,o);else if(b.isBuffer(s))s.copy(i,o);else throw new TypeError('"list" argument must be an Array of Buffers');o+=s.length}return i};function na(e,t){if(b.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||Ne(e,ArrayBuffer))return e.byteLength;if(typeof e!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);let r=e.length,n=arguments.length>2&&arguments[2]===!0;if(!n&&r===0)return 0;let i=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return go(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return ha(e).length;default:if(i)return n?-1:go(e).length;t=(""+t).toLowerCase(),i=!0}}b.byteLength=na;function T8(e,t,r){let n=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0,t>>>=0,r<=t))return"";for(e||(e="utf8");;)switch(e){case"hex":return M8(this,t,r);case"utf8":case"utf-8":return oa(this,t,r);case"ascii":return U8(this,t,r);case"latin1":case"binary":return O8(this,t,r);case"base64":return D8(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return K8(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}b.prototype._isBuffer=!0;function Vr(e,t,r){let n=e[t];e[t]=e[r],e[r]=n}b.prototype.swap16=function(){let t=this.length;if(t%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let r=0;r<t;r+=2)Vr(this,r,r+1);return this};b.prototype.swap32=function(){let t=this.length;if(t%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let r=0;r<t;r+=4)Vr(this,r,r+3),Vr(this,r+1,r+2);return this};b.prototype.swap64=function(){let t=this.length;if(t%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let r=0;r<t;r+=8)Vr(this,r,r+7),Vr(this,r+1,r+6),Vr(this,r+2,r+5),Vr(this,r+3,r+4);return this};b.prototype.toString=function(){let t=this.length;return t===0?"":arguments.length===0?oa(this,0,t):T8.apply(this,arguments)};b.prototype.toLocaleString=b.prototype.toString;b.prototype.equals=function(t){if(!b.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t?!0:b.compare(this,t)===0};b.prototype.inspect=function(){let t="",r=bn.INSPECT_MAX_BYTES;return t=this.toString("hex",0,r).replace(/(.{2})/g,"$1 ").trim(),this.length>r&&(t+=" ... "),"<Buffer "+t+">"};X2&&(b.prototype[X2]=b.prototype.inspect);b.prototype.compare=function(t,r,n,i,o){if(Ne(t,Uint8Array)&&(t=b.from(t,t.offset,t.byteLength)),!b.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(r===void 0&&(r=0),n===void 0&&(n=t?t.length:0),i===void 0&&(i=0),o===void 0&&(o=this.length),r<0||n>t.length||i<0||o>this.length)throw new RangeError("out of range index");if(i>=o&&r>=n)return 0;if(i>=o)return-1;if(r>=n)return 1;if(r>>>=0,n>>>=0,i>>>=0,o>>>=0,this===t)return 0;let s=o-i,a=n-r,u=Math.min(s,a),c=this.slice(i,o),f=t.slice(r,n);for(let l=0;l<u;++l)if(c[l]!==f[l]){s=c[l],a=f[l];break}return s<a?-1:a<s?1:0};function ia(e,t,r,n,i){if(e.length===0)return-1;if(typeof r=="string"?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,wo(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0)if(i)r=0;else return-1;if(typeof t=="string"&&(t=b.from(t,n)),b.isBuffer(t))return t.length===0?-1:j2(e,t,r,n,i);if(typeof t=="number")return t=t&255,typeof Uint8Array.prototype.indexOf=="function"?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):j2(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function j2(e,t,r,n,i){let o=1,s=e.length,a=t.length;if(n!==void 0&&(n=String(n).toLowerCase(),n==="ucs2"||n==="ucs-2"||n==="utf16le"||n==="utf-16le")){if(e.length<2||t.length<2)return-1;o=2,s/=2,a/=2,r/=2}function u(f,l){return o===1?f[l]:f.readUInt16BE(l*o)}let c;if(i){let f=-1;for(c=r;c<s;c++)if(u(e,c)===u(t,f===-1?0:c-f)){if(f===-1&&(f=c),c-f+1===a)return f*o}else f!==-1&&(c-=c-f),f=-1}else for(r+a>s&&(r=s-a),c=r;c>=0;c--){let f=!0;for(let l=0;l<a;l++)if(u(e,c+l)!==u(t,l)){f=!1;break}if(f)return c}return-1}b.prototype.includes=function(t,r,n){return this.indexOf(t,r,n)!==-1};b.prototype.indexOf=function(t,r,n){return ia(this,t,r,n,!0)};b.prototype.lastIndexOf=function(t,r,n){return ia(this,t,r,n,!1)};function R8(e,t,r,n){r=Number(r)||0;let i=e.length-r;n?(n=Number(n),n>i&&(n=i)):n=i;let o=t.length;n>o/2&&(n=o/2);let s;for(s=0;s<n;++s){let a=parseInt(t.substr(s*2,2),16);if(wo(a))return s;e[r+s]=a}return s}function P8(e,t,r,n){return di(go(t,e.length-r),e,r,n)}function N8(e,t,r,n){return di($8(t),e,r,n)}function L8(e,t,r,n){return di(ha(t),e,r,n)}function k8(e,t,r,n){return di(H8(t,e.length-r),e,r,n)}b.prototype.write=function(t,r,n,i){if(r===void 0)i="utf8",n=this.length,r=0;else if(n===void 0&&typeof r=="string")i=r,n=this.length,r=0;else if(isFinite(r))r=r>>>0,isFinite(n)?(n=n>>>0,i===void 0&&(i="utf8")):(i=n,n=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let o=this.length-r;if((n===void 0||n>o)&&(n=o),t.length>0&&(n<0||r<0)||r>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");let s=!1;for(;;)switch(i){case"hex":return R8(this,t,r,n);case"utf8":case"utf-8":return P8(this,t,r,n);case"ascii":case"latin1":case"binary":return N8(this,t,r,n);case"base64":return L8(this,t,r,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return k8(this,t,r,n);default:if(s)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),s=!0}};b.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function D8(e,t,r){return t===0&&r===e.length?ho.fromByteArray(e):ho.fromByteArray(e.slice(t,r))}function oa(e,t,r){r=Math.min(e.length,r);let n=[],i=t;for(;i<r;){let o=e[i],s=null,a=o>239?4:o>223?3:o>191?2:1;if(i+a<=r){let u,c,f,l;switch(a){case 1:o<128&&(s=o);break;case 2:u=e[i+1],(u&192)===128&&(l=(o&31)<<6|u&63,l>127&&(s=l));break;case 3:u=e[i+1],c=e[i+2],(u&192)===128&&(c&192)===128&&(l=(o&15)<<12|(u&63)<<6|c&63,l>2047&&(l<55296||l>57343)&&(s=l));break;case 4:u=e[i+1],c=e[i+2],f=e[i+3],(u&192)===128&&(c&192)===128&&(f&192)===128&&(l=(o&15)<<18|(u&63)<<12|(c&63)<<6|f&63,l>65535&&l<1114112&&(s=l))}}s===null?(s=65533,a=1):s>65535&&(s-=65536,n.push(s>>>10&1023|55296),s=56320|s&1023),n.push(s),i+=a}return F8(n)}var J2=4096;function F8(e){let t=e.length;if(t<=J2)return String.fromCharCode.apply(String,e);let r="",n=0;for(;n<t;)r+=String.fromCharCode.apply(String,e.slice(n,n+=J2));return r}function U8(e,t,r){let n="";r=Math.min(e.length,r);for(let i=t;i<r;++i)n+=String.fromCharCode(e[i]&127);return n}function O8(e,t,r){let n="";r=Math.min(e.length,r);for(let i=t;i<r;++i)n+=String.fromCharCode(e[i]);return n}function M8(e,t,r){let n=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>n)&&(r=n);let i="";for(let o=t;o<r;++o)i+=G8[e[o]];return i}function K8(e,t,r){let n=e.slice(t,r),i="";for(let o=0;o<n.length-1;o+=2)i+=String.fromCharCode(n[o]+n[o+1]*256);return i}b.prototype.slice=function(t,r){let n=this.length;t=~~t,r=r===void 0?n:~~r,t<0?(t+=n,t<0&&(t=0)):t>n&&(t=n),r<0?(r+=n,r<0&&(r=0)):r>n&&(r=n),r<t&&(r=t);let i=this.subarray(t,r);return Object.setPrototypeOf(i,b.prototype),i};function kt(e,t,r){if(e%1!==0||e<0)throw new RangeError("offset is not uint");if(e+t>r)throw new RangeError("Trying to access beyond buffer length")}b.prototype.readUintLE=b.prototype.readUIntLE=function(t,r,n){t=t>>>0,r=r>>>0,n||kt(t,r,this.length);let i=this[t],o=1,s=0;for(;++s<r&&(o*=256);)i+=this[t+s]*o;return i};b.prototype.readUintBE=b.prototype.readUIntBE=function(t,r,n){t=t>>>0,r=r>>>0,n||kt(t,r,this.length);let i=this[t+--r],o=1;for(;r>0&&(o*=256);)i+=this[t+--r]*o;return i};b.prototype.readUint8=b.prototype.readUInt8=function(t,r){return t=t>>>0,r||kt(t,1,this.length),this[t]};b.prototype.readUint16LE=b.prototype.readUInt16LE=function(t,r){return t=t>>>0,r||kt(t,2,this.length),this[t]|this[t+1]<<8};b.prototype.readUint16BE=b.prototype.readUInt16BE=function(t,r){return t=t>>>0,r||kt(t,2,this.length),this[t]<<8|this[t+1]};b.prototype.readUint32LE=b.prototype.readUInt32LE=function(t,r){return t=t>>>0,r||kt(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+this[t+3]*16777216};b.prototype.readUint32BE=b.prototype.readUInt32BE=function(t,r){return t=t>>>0,r||kt(t,4,this.length),this[t]*16777216+(this[t+1]<<16|this[t+2]<<8|this[t+3])};b.prototype.readBigUInt64LE=mr(function(t){t=t>>>0,wn(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&h0(t,this.length-8);let i=r+this[++t]*2**8+this[++t]*2**16+this[++t]*2**24,o=this[++t]+this[++t]*2**8+this[++t]*2**16+n*2**24;return BigInt(i)+(BigInt(o)<<BigInt(32))});b.prototype.readBigUInt64BE=mr(function(t){t=t>>>0,wn(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&h0(t,this.length-8);let i=r*2**24+this[++t]*2**16+this[++t]*2**8+this[++t],o=this[++t]*2**24+this[++t]*2**16+this[++t]*2**8+n;return(BigInt(i)<<BigInt(32))+BigInt(o)});b.prototype.readIntLE=function(t,r,n){t=t>>>0,r=r>>>0,n||kt(t,r,this.length);let i=this[t],o=1,s=0;for(;++s<r&&(o*=256);)i+=this[t+s]*o;return o*=128,i>=o&&(i-=Math.pow(2,8*r)),i};b.prototype.readIntBE=function(t,r,n){t=t>>>0,r=r>>>0,n||kt(t,r,this.length);let i=r,o=1,s=this[t+--i];for(;i>0&&(o*=256);)s+=this[t+--i]*o;return o*=128,s>=o&&(s-=Math.pow(2,8*r)),s};b.prototype.readInt8=function(t,r){return t=t>>>0,r||kt(t,1,this.length),this[t]&128?(255-this[t]+1)*-1:this[t]};b.prototype.readInt16LE=function(t,r){t=t>>>0,r||kt(t,2,this.length);let n=this[t]|this[t+1]<<8;return n&32768?n|4294901760:n};b.prototype.readInt16BE=function(t,r){t=t>>>0,r||kt(t,2,this.length);let n=this[t+1]|this[t]<<8;return n&32768?n|4294901760:n};b.prototype.readInt32LE=function(t,r){return t=t>>>0,r||kt(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24};b.prototype.readInt32BE=function(t,r){return t=t>>>0,r||kt(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]};b.prototype.readBigInt64LE=mr(function(t){t=t>>>0,wn(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&h0(t,this.length-8);let i=this[t+4]+this[t+5]*2**8+this[t+6]*2**16+(n<<24);return(BigInt(i)<<BigInt(32))+BigInt(r+this[++t]*2**8+this[++t]*2**16+this[++t]*2**24)});b.prototype.readBigInt64BE=mr(function(t){t=t>>>0,wn(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&h0(t,this.length-8);let i=(r<<24)+this[++t]*2**16+this[++t]*2**8+this[++t];return(BigInt(i)<<BigInt(32))+BigInt(this[++t]*2**24+this[++t]*2**16+this[++t]*2**8+n)});b.prototype.readFloatLE=function(t,r){return t=t>>>0,r||kt(t,4,this.length),vn.read(this,t,!0,23,4)};b.prototype.readFloatBE=function(t,r){return t=t>>>0,r||kt(t,4,this.length),vn.read(this,t,!1,23,4)};b.prototype.readDoubleLE=function(t,r){return t=t>>>0,r||kt(t,8,this.length),vn.read(this,t,!0,52,8)};b.prototype.readDoubleBE=function(t,r){return t=t>>>0,r||kt(t,8,this.length),vn.read(this,t,!1,52,8)};function Wt(e,t,r,n,i,o){if(!b.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||t<o)throw new RangeError('"value" argument is out of bounds');if(r+n>e.length)throw new RangeError("Index out of range")}b.prototype.writeUintLE=b.prototype.writeUIntLE=function(t,r,n,i){if(t=+t,r=r>>>0,n=n>>>0,!i){let a=Math.pow(2,8*n)-1;Wt(this,t,r,n,a,0)}let o=1,s=0;for(this[r]=t&255;++s<n&&(o*=256);)this[r+s]=t/o&255;return r+n};b.prototype.writeUintBE=b.prototype.writeUIntBE=function(t,r,n,i){if(t=+t,r=r>>>0,n=n>>>0,!i){let a=Math.pow(2,8*n)-1;Wt(this,t,r,n,a,0)}let o=n-1,s=1;for(this[r+o]=t&255;--o>=0&&(s*=256);)this[r+o]=t/s&255;return r+n};b.prototype.writeUint8=b.prototype.writeUInt8=function(t,r,n){return t=+t,r=r>>>0,n||Wt(this,t,r,1,255,0),this[r]=t&255,r+1};b.prototype.writeUint16LE=b.prototype.writeUInt16LE=function(t,r,n){return t=+t,r=r>>>0,n||Wt(this,t,r,2,65535,0),this[r]=t&255,this[r+1]=t>>>8,r+2};b.prototype.writeUint16BE=b.prototype.writeUInt16BE=function(t,r,n){return t=+t,r=r>>>0,n||Wt(this,t,r,2,65535,0),this[r]=t>>>8,this[r+1]=t&255,r+2};b.prototype.writeUint32LE=b.prototype.writeUInt32LE=function(t,r,n){return t=+t,r=r>>>0,n||Wt(this,t,r,4,4294967295,0),this[r+3]=t>>>24,this[r+2]=t>>>16,this[r+1]=t>>>8,this[r]=t&255,r+4};b.prototype.writeUint32BE=b.prototype.writeUInt32BE=function(t,r,n){return t=+t,r=r>>>0,n||Wt(this,t,r,4,4294967295,0),this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255,r+4};function sa(e,t,r,n,i){la(t,n,i,e,r,7);let o=Number(t&BigInt(4294967295));e[r++]=o,o=o>>8,e[r++]=o,o=o>>8,e[r++]=o,o=o>>8,e[r++]=o;let s=Number(t>>BigInt(32)&BigInt(4294967295));return e[r++]=s,s=s>>8,e[r++]=s,s=s>>8,e[r++]=s,s=s>>8,e[r++]=s,r}function aa(e,t,r,n,i){la(t,n,i,e,r,7);let o=Number(t&BigInt(4294967295));e[r+7]=o,o=o>>8,e[r+6]=o,o=o>>8,e[r+5]=o,o=o>>8,e[r+4]=o;let s=Number(t>>BigInt(32)&BigInt(4294967295));return e[r+3]=s,s=s>>8,e[r+2]=s,s=s>>8,e[r+1]=s,s=s>>8,e[r]=s,r+8}b.prototype.writeBigUInt64LE=mr(function(t,r=0){return sa(this,t,r,BigInt(0),BigInt("0xffffffffffffffff"))});b.prototype.writeBigUInt64BE=mr(function(t,r=0){return aa(this,t,r,BigInt(0),BigInt("0xffffffffffffffff"))});b.prototype.writeIntLE=function(t,r,n,i){if(t=+t,r=r>>>0,!i){let u=Math.pow(2,8*n-1);Wt(this,t,r,n,u-1,-u)}let o=0,s=1,a=0;for(this[r]=t&255;++o<n&&(s*=256);)t<0&&a===0&&this[r+o-1]!==0&&(a=1),this[r+o]=(t/s>>0)-a&255;return r+n};b.prototype.writeIntBE=function(t,r,n,i){if(t=+t,r=r>>>0,!i){let u=Math.pow(2,8*n-1);Wt(this,t,r,n,u-1,-u)}let o=n-1,s=1,a=0;for(this[r+o]=t&255;--o>=0&&(s*=256);)t<0&&a===0&&this[r+o+1]!==0&&(a=1),this[r+o]=(t/s>>0)-a&255;return r+n};b.prototype.writeInt8=function(t,r,n){return t=+t,r=r>>>0,n||Wt(this,t,r,1,127,-128),t<0&&(t=255+t+1),this[r]=t&255,r+1};b.prototype.writeInt16LE=function(t,r,n){return t=+t,r=r>>>0,n||Wt(this,t,r,2,32767,-32768),this[r]=t&255,this[r+1]=t>>>8,r+2};b.prototype.writeInt16BE=function(t,r,n){return t=+t,r=r>>>0,n||Wt(this,t,r,2,32767,-32768),this[r]=t>>>8,this[r+1]=t&255,r+2};b.prototype.writeInt32LE=function(t,r,n){return t=+t,r=r>>>0,n||Wt(this,t,r,4,2147483647,-2147483648),this[r]=t&255,this[r+1]=t>>>8,this[r+2]=t>>>16,this[r+3]=t>>>24,r+4};b.prototype.writeInt32BE=function(t,r,n){return t=+t,r=r>>>0,n||Wt(this,t,r,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255,r+4};b.prototype.writeBigInt64LE=mr(function(t,r=0){return sa(this,t,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});b.prototype.writeBigInt64BE=mr(function(t,r=0){return aa(this,t,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function ua(e,t,r,n,i,o){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function ca(e,t,r,n,i){return t=+t,r=r>>>0,i||ua(e,t,r,4,34028234663852886e22,-34028234663852886e22),vn.write(e,t,r,n,23,4),r+4}b.prototype.writeFloatLE=function(t,r,n){return ca(this,t,r,!0,n)};b.prototype.writeFloatBE=function(t,r,n){return ca(this,t,r,!1,n)};function fa(e,t,r,n,i){return t=+t,r=r>>>0,i||ua(e,t,r,8,17976931348623157e292,-17976931348623157e292),vn.write(e,t,r,n,52,8),r+8}b.prototype.writeDoubleLE=function(t,r,n){return fa(this,t,r,!0,n)};b.prototype.writeDoubleBE=function(t,r,n){return fa(this,t,r,!1,n)};b.prototype.copy=function(t,r,n,i){if(!b.isBuffer(t))throw new TypeError("argument should be a Buffer");if(n||(n=0),!i&&i!==0&&(i=this.length),r>=t.length&&(r=t.length),r||(r=0),i>0&&i<n&&(i=n),i===n||t.length===0||this.length===0)return 0;if(r<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),t.length-r<i-n&&(i=t.length-r+n);let o=i-n;return this===t&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(r,n,i):Uint8Array.prototype.set.call(t,this.subarray(n,i),r),o};b.prototype.fill=function(t,r,n,i){if(typeof t=="string"){if(typeof r=="string"?(i=r,r=0,n=this.length):typeof n=="string"&&(i=n,n=this.length),i!==void 0&&typeof i!="string")throw new TypeError("encoding must be a string");if(typeof i=="string"&&!b.isEncoding(i))throw new TypeError("Unknown encoding: "+i);if(t.length===1){let s=t.charCodeAt(0);(i==="utf8"&&s<128||i==="latin1")&&(t=s)}}else typeof t=="number"?t=t&255:typeof t=="boolean"&&(t=Number(t));if(r<0||this.length<r||this.length<n)throw new RangeError("Out of range index");if(n<=r)return this;r=r>>>0,n=n===void 0?this.length:n>>>0,t||(t=0);let o;if(typeof t=="number")for(o=r;o<n;++o)this[o]=t;else{let s=b.isBuffer(t)?t:b.from(t,i),a=s.length;if(a===0)throw new TypeError('The value "'+t+'" is invalid for argument "value"');for(o=0;o<n-r;++o)this[o+r]=s[o%a]}return this};var xn={};function vo(e,t,r){xn[e]=class extends r{constructor(){super(),Object.defineProperty(this,"message",{value:t.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${e}]`,this.stack,delete this.name}get code(){return e}set code(i){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:i,writable:!0})}toString(){return`${this.name} [${e}]: ${this.message}`}}}vo("ERR_BUFFER_OUT_OF_BOUNDS",function(e){return e?`${e} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError);vo("ERR_INVALID_ARG_TYPE",function(e,t){return`The "${e}" argument must be of type number. Received type ${typeof t}`},TypeError);vo("ERR_OUT_OF_RANGE",function(e,t,r){let n=`The value of "${e}" is out of range.`,i=r;return Number.isInteger(r)&&Math.abs(r)>2**32?i=ta(String(r)):typeof r=="bigint"&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=ta(i)),i+="n"),n+=` It must be ${t}. Received ${i}`,n},RangeError);function ta(e){let t="",r=e.length,n=e[0]==="-"?1:0;for(;r>=n+4;r-=3)t=`_${e.slice(r-3,r)}${t}`;return`${e.slice(0,r)}${t}`}function V8(e,t,r){wn(t,"offset"),(e[t]===void 0||e[t+r]===void 0)&&h0(t,e.length-(r+1))}function la(e,t,r,n,i,o){if(e>r||e<t){let s=typeof t=="bigint"?"n":"",a;throw o>3?t===0||t===BigInt(0)?a=`>= 0${s} and < 2${s} ** ${(o+1)*8}${s}`:a=`>= -(2${s} ** ${(o+1)*8-1}${s}) and < 2 ** ${(o+1)*8-1}${s}`:a=`>= ${t}${s} and <= ${r}${s}`,new xn.ERR_OUT_OF_RANGE("value",a,e)}V8(n,i,o)}function wn(e,t){if(typeof e!="number")throw new xn.ERR_INVALID_ARG_TYPE(t,"number",e)}function h0(e,t,r){throw Math.floor(e)!==e?(wn(e,r),new xn.ERR_OUT_OF_RANGE(r||"offset","an integer",e)):t<0?new xn.ERR_BUFFER_OUT_OF_BOUNDS:new xn.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${t}`,e)}var q8=/[^+/0-9A-Za-z-_]/g;function z8(e){if(e=e.split("=")[0],e=e.trim().replace(q8,""),e.length<2)return"";for(;e.length%4!==0;)e=e+"=";return e}function go(e,t){t=t||1/0;let r,n=e.length,i=null,o=[];for(let s=0;s<n;++s){if(r=e.charCodeAt(s),r>55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&o.push(239,191,189);continue}else if(s+1===n){(t-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&o.push(239,191,189),i=r;continue}r=(i-55296<<10|r-56320)+65536}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;o.push(r)}else if(r<2048){if((t-=2)<0)break;o.push(r>>6|192,r&63|128)}else if(r<65536){if((t-=3)<0)break;o.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((t-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return o}function $8(e){let t=[];for(let r=0;r<e.length;++r)t.push(e.charCodeAt(r)&255);return t}function H8(e,t){let r,n,i,o=[];for(let s=0;s<e.length&&!((t-=2)<0);++s)r=e.charCodeAt(s),n=r>>8,i=r%256,o.push(i),o.push(n);return o}function ha(e){return ho.toByteArray(z8(e))}function di(e,t,r,n){let i;for(i=0;i<n&&!(i+r>=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function Ne(e,t){return e instanceof t||e!=null&&e.constructor!=null&&e.constructor.name!=null&&e.constructor.name===t.name}function wo(e){return e!==e}var G8=function(){let e="0123456789abcdef",t=new Array(256);for(let r=0;r<16;++r){let n=r*16;for(let i=0;i<16;++i)t[n+i]=e[r]+e[i]}return t}();function mr(e){return typeof BigInt>"u"?Q8:e}function Q8(){throw new Error("BigInt not supported")}});var ga=D((bo,ya)=>{var yi=pa(),Le=yi.Buffer;function da(e,t){for(var r in e)t[r]=e[r]}Le.from&&Le.alloc&&Le.allocUnsafe&&Le.allocUnsafeSlow?ya.exports=yi:(da(yi,bo),bo.Buffer=qr);function qr(e,t,r){return Le(e,t,r)}qr.prototype=Object.create(Le.prototype);da(Le,qr);qr.from=function(e,t,r){if(typeof e=="number")throw new TypeError("Argument must not be a number");return Le(e,t,r)};qr.alloc=function(e,t,r){if(typeof e!="number")throw new TypeError("Argument must be a number");var n=Le(e);return t!==void 0?typeof r=="string"?n.fill(t,r):n.fill(t):n.fill(0),n};qr.allocUnsafe=function(e){if(typeof e!="number")throw new TypeError("Argument must be a number");return Le(e)};qr.allocUnsafeSlow=function(e){if(typeof e!="number")throw new TypeError("Argument must be a number");return yi.SlowBuffer(e)}});var ma=D((Rd,So)=>{"use strict";var Eo=65536,W8=4294967295;function Y8(){throw new Error(`Secure random number generation is not supported by this browser.
|
|
3
|
+
Use Chrome, Firefox or Internet Explorer 11`)}var Z8=ga().Buffer,gi=globalThis.crypto||globalThis.msCrypto;gi&&gi.getRandomValues?So.exports=X8:So.exports=Y8;function X8(e,t){if(e>W8)throw new RangeError("requested too many random bytes");var r=Z8.allocUnsafe(e);if(e>0)if(e>Eo)for(var n=0;n<e;n+=Eo)gi.getRandomValues(r.slice(n,n+Eo));else gi.getRandomValues(r);return typeof t=="function"?process.nextTick(function(){t(null,r)}):r}});var vi=D((Pd,Ao)=>{"use strict";var En=typeof Reflect=="object"?Reflect:null,xa=En&&typeof En.apply=="function"?En.apply:function(t,r,n){return Function.prototype.apply.call(t,r,n)},mi;En&&typeof En.ownKeys=="function"?mi=En.ownKeys:Object.getOwnPropertySymbols?mi=function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:mi=function(t){return Object.getOwnPropertyNames(t)};function j8(e){console&&console.warn&&console.warn(e)}var wa=Number.isNaN||function(t){return t!==t};function it(){it.init.call(this)}Ao.exports=it;Ao.exports.once=rc;it.EventEmitter=it;it.prototype._events=void 0;it.prototype._eventsCount=0;it.prototype._maxListeners=void 0;var va=10;function xi(e){if(typeof e!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}Object.defineProperty(it,"defaultMaxListeners",{enumerable:!0,get:function(){return va},set:function(e){if(typeof e!="number"||e<0||wa(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");va=e}});it.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};it.prototype.setMaxListeners=function(t){if(typeof t!="number"||t<0||wa(t))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+t+".");return this._maxListeners=t,this};function ba(e){return e._maxListeners===void 0?it.defaultMaxListeners:e._maxListeners}it.prototype.getMaxListeners=function(){return ba(this)};it.prototype.emit=function(t){for(var r=[],n=1;n<arguments.length;n++)r.push(arguments[n]);var i=t==="error",o=this._events;if(o!==void 0)i=i&&o.error===void 0;else if(!i)return!1;if(i){var s;if(r.length>0&&(s=r[0]),s instanceof Error)throw s;var a=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw a.context=s,a}var u=o[t];if(u===void 0)return!1;if(typeof u=="function")xa(u,this,r);else for(var c=u.length,f=Ba(u,c),n=0;n<c;++n)xa(f[n],this,r);return!0};function Ea(e,t,r,n){var i,o,s;if(xi(r),o=e._events,o===void 0?(o=e._events=Object.create(null),e._eventsCount=0):(o.newListener!==void 0&&(e.emit("newListener",t,r.listener?r.listener:r),o=e._events),s=o[t]),s===void 0)s=o[t]=r,++e._eventsCount;else if(typeof s=="function"?s=o[t]=n?[r,s]:[s,r]:n?s.unshift(r):s.push(r),i=ba(e),i>0&&s.length>i&&!s.warned){s.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=e,a.type=t,a.count=s.length,j8(a)}return e}it.prototype.addListener=function(t,r){return Ea(this,t,r,!1)};it.prototype.on=it.prototype.addListener;it.prototype.prependListener=function(t,r){return Ea(this,t,r,!0)};function J8(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function Sa(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},i=J8.bind(n);return i.listener=r,n.wrapFn=i,i}it.prototype.once=function(t,r){return xi(r),this.on(t,Sa(this,t,r)),this};it.prototype.prependOnceListener=function(t,r){return xi(r),this.prependListener(t,Sa(this,t,r)),this};it.prototype.removeListener=function(t,r){var n,i,o,s,a;if(xi(r),i=this._events,i===void 0)return this;if(n=i[t],n===void 0)return this;if(n===r||n.listener===r)--this._eventsCount===0?this._events=Object.create(null):(delete i[t],i.removeListener&&this.emit("removeListener",t,n.listener||r));else if(typeof n!="function"){for(o=-1,s=n.length-1;s>=0;s--)if(n[s]===r||n[s].listener===r){a=n[s].listener,o=s;break}if(o<0)return this;o===0?n.shift():tc(n,o),n.length===1&&(i[t]=n[0]),i.removeListener!==void 0&&this.emit("removeListener",t,a||r)}return this};it.prototype.off=it.prototype.removeListener;it.prototype.removeAllListeners=function(t){var r,n,i;if(n=this._events,n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[t]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[t]),this;if(arguments.length===0){var o=Object.keys(n),s;for(i=0;i<o.length;++i)s=o[i],s!=="removeListener"&&this.removeAllListeners(s);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(r=n[t],typeof r=="function")this.removeListener(t,r);else if(r!==void 0)for(i=r.length-1;i>=0;i--)this.removeListener(t,r[i]);return this};function Aa(e,t,r){var n=e._events;if(n===void 0)return[];var i=n[t];return i===void 0?[]:typeof i=="function"?r?[i.listener||i]:[i]:r?ec(i):Ba(i,i.length)}it.prototype.listeners=function(t){return Aa(this,t,!0)};it.prototype.rawListeners=function(t){return Aa(this,t,!1)};it.listenerCount=function(e,t){return typeof e.listenerCount=="function"?e.listenerCount(t):Ia.call(e,t)};it.prototype.listenerCount=Ia;function Ia(e){var t=this._events;if(t!==void 0){var r=t[e];if(typeof r=="function")return 1;if(r!==void 0)return r.length}return 0}it.prototype.eventNames=function(){return this._eventsCount>0?mi(this._events):[]};function Ba(e,t){for(var r=new Array(t),n=0;n<t;++n)r[n]=e[n];return r}function tc(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}function ec(e){for(var t=new Array(e.length),r=0;r<t.length;++r)t[r]=e[r].listener||e[r];return t}function rc(e,t){return new Promise(function(r,n){function i(s){e.removeListener(t,o),n(s)}function o(){typeof e.removeListener=="function"&&e.removeListener("error",i),r([].slice.call(arguments))}Ca(e,t,o,{once:!0}),t!=="error"&&nc(e,i,{once:!0})})}function nc(e,t,r){typeof e.on=="function"&&Ca(e,"error",t,r)}function Ca(e,t,r,n){if(typeof e.on=="function")n.once?e.once(t,r):e.on(t,r);else if(typeof e.addEventListener=="function")e.addEventListener(t,function i(o){n.once&&e.removeEventListener(t,i),r(o)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof e)}});var Ra=D((Nd,Ta)=>{"use strict";var ic=ma(),{EventEmitter:oc}=vi();function _a(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let r=0,n=e.length;r<n;++r)if(e[r]!==t[r])return!1;return!0}function Io(){return{contacts:[],dontSplit:!1,left:null,right:null}}function p0(e,t){if(!(t instanceof Uint8Array))throw new TypeError(e+" is not a Uint8Array")}var Sn=class extends oc{constructor(t={}){super(),this.localNodeId=t.localNodeId||ic(20),this.numberOfNodesPerKBucket=t.numberOfNodesPerKBucket||20,this.numberOfNodesToPing=t.numberOfNodesToPing||3,this.distance=t.distance||Sn.distance,this.arbiter=t.arbiter||Sn.arbiter,this.metadata=Object.assign({},t.metadata),p0("option.localNodeId as parameter 1",this.localNodeId),this.root=Io()}static arbiter(t,r){return t.vectorClock>r.vectorClock?t:r}static distance(t,r){let n=0,i=0,o=Math.min(t.length,r.length),s=Math.max(t.length,r.length);for(;i<o;++i)n=n*256+(t[i]^r[i]);for(;i<s;++i)n=n*256+255;return n}add(t){p0("contact.id",(t||{}).id);let r=0,n=this.root;for(;n.contacts===null;)n=this._determineNode(n,t.id,r++);let i=this._indexOf(n,t.id);return i>=0?(this._update(n,i,t),this):n.contacts.length<this.numberOfNodesPerKBucket?(n.contacts.push(t),this.emit("added",t),this):n.dontSplit?(this.emit("ping",n.contacts.slice(0,this.numberOfNodesToPing),t),this):(this._split(n,r),this.add(t))}closest(t,r=1/0){if(p0("id",t),!Number.isInteger(r)&&r!==1/0||r<=0)throw new TypeError("n is not positive number");let n=[];for(let i=[this.root],o=0;i.length>0&&n.length<r;){let s=i.pop();if(s.contacts===null){let a=this._determineNode(s,t,o++);i.push(s.left===a?s.right:s.left),i.push(a)}else n=n.concat(s.contacts)}return n.map(i=>[this.distance(i.id,t),i]).sort((i,o)=>i[0]-o[0]).slice(0,r).map(i=>i[1])}count(){let t=0;for(let r=[this.root];r.length>0;){let n=r.pop();n.contacts===null?r.push(n.right,n.left):t+=n.contacts.length}return t}_determineNode(t,r,n){let i=n>>3,o=n%8;return r.length<=i&&o!==0?t.left:r[i]&1<<7-o?t.right:t.left}get(t){p0("id",t);let r=0,n=this.root;for(;n.contacts===null;)n=this._determineNode(n,t,r++);let i=this._indexOf(n,t);return i>=0?n.contacts[i]:null}_indexOf(t,r){for(let n=0;n<t.contacts.length;++n)if(_a(t.contacts[n].id,r))return n;return-1}remove(t){p0("the id as parameter 1",t);let r=0,n=this.root;for(;n.contacts===null;)n=this._determineNode(n,t,r++);let i=this._indexOf(n,t);if(i>=0){let o=n.contacts.splice(i,1)[0];this.emit("removed",o)}return this}_split(t,r){t.left=Io(),t.right=Io();for(let o of t.contacts)this._determineNode(t,o.id,r).contacts.push(o);t.contacts=null;let n=this._determineNode(t,this.localNodeId,r),i=t.left===n?t.right:t.left;i.dontSplit=!0}toArray(){let t=[];for(let r=[this.root];r.length>0;){let n=r.pop();n.contacts===null?r.push(n.right,n.left):t=t.concat(n.contacts)}return t}*toIterable(){for(let t=[this.root];t.length>0;){let r=t.pop();r.contacts===null?t.push(r.right,r.left):yield*r.contacts}}_update(t,r,n){if(!_a(t.contacts[r].id,n.id))throw new Error("wrong index for _update");let i=t.contacts[r],o=this.arbiter(i,n);o===i&&i!==n||(t.contacts.splice(r,1),t.contacts.push(o),this.emit("updated",i,o))}};Ta.exports=Sn});var t3=D((Ry,Ja)=>{"use strict";Ja.exports=yf;function yf(e,t){for(var r=new Array(arguments.length-1),n=0,i=2,o=!0;i<arguments.length;)r[n++]=arguments[i++];return new Promise(function(a,u){r[n]=function(f){if(o)if(o=!1,f)u(f);else{for(var l=new Array(arguments.length-1),d=0;d<l.length;)l[d++]=arguments[d];a.apply(null,l)}};try{e.apply(t||null,r)}catch(c){o&&(o=!1,u(c))}})}});var i3=D(n3=>{"use strict";var Si=n3;Si.length=function(t){var r=t.length;if(!r)return 0;for(var n=0;--r%4>1&&t.charAt(r)==="=";)++n;return Math.ceil(t.length*3)/4-n};var _n=new Array(64),r3=new Array(123);for(me=0;me<64;)r3[_n[me]=me<26?me+65:me<52?me+71:me<62?me-4:me-59|43]=me++;var me;Si.encode=function(t,r,n){for(var i=null,o=[],s=0,a=0,u;r<n;){var c=t[r++];switch(a){case 0:o[s++]=_n[c>>2],u=(c&3)<<4,a=1;break;case 1:o[s++]=_n[u|c>>4],u=(c&15)<<2,a=2;break;case 2:o[s++]=_n[u|c>>6],o[s++]=_n[c&63],a=0;break}s>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,o)),s=0)}return a&&(o[s++]=_n[u],o[s++]=61,a===1&&(o[s++]=61)),i?(s&&i.push(String.fromCharCode.apply(String,o.slice(0,s))),i.join("")):String.fromCharCode.apply(String,o.slice(0,s))};var e3="invalid encoding";Si.decode=function(t,r,n){for(var i=n,o=0,s,a=0;a<t.length;){var u=t.charCodeAt(a++);if(u===61&&o>1)break;if((u=r3[u])===void 0)throw Error(e3);switch(o){case 0:s=u,o=1;break;case 1:r[n++]=s<<2|(u&48)>>4,s=u,o=2;break;case 2:r[n++]=(s&15)<<4|(u&60)>>2,s=u,o=3;break;case 3:r[n++]=(s&3)<<6|u,o=0;break}}if(o===1)throw Error(e3);return n-i};Si.test=function(t){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(t)}});var s3=D((Ny,o3)=>{"use strict";o3.exports=Ai;function Ai(){this._listeners={}}Ai.prototype.on=function(t,r,n){return(this._listeners[t]||(this._listeners[t]=[])).push({fn:r,ctx:n||this}),this};Ai.prototype.off=function(t,r){if(t===void 0)this._listeners={};else if(r===void 0)this._listeners[t]=[];else for(var n=this._listeners[t],i=0;i<n.length;)n[i].fn===r?n.splice(i,1):++i;return this};Ai.prototype.emit=function(t){var r=this._listeners[t];if(r){for(var n=[],i=1;i<arguments.length;)n.push(arguments[i++]);for(i=0;i<r.length;)r[i].fn.apply(r[i++].ctx,n)}return this}});var p3=D((Ly,h3)=>{"use strict";h3.exports=a3(a3);function a3(e){return typeof Float32Array<"u"?function(){var t=new Float32Array([-0]),r=new Uint8Array(t.buffer),n=r[3]===128;function i(u,c,f){t[0]=u,c[f]=r[0],c[f+1]=r[1],c[f+2]=r[2],c[f+3]=r[3]}function o(u,c,f){t[0]=u,c[f]=r[3],c[f+1]=r[2],c[f+2]=r[1],c[f+3]=r[0]}e.writeFloatLE=n?i:o,e.writeFloatBE=n?o:i;function s(u,c){return r[0]=u[c],r[1]=u[c+1],r[2]=u[c+2],r[3]=u[c+3],t[0]}function a(u,c){return r[3]=u[c],r[2]=u[c+1],r[1]=u[c+2],r[0]=u[c+3],t[0]}e.readFloatLE=n?s:a,e.readFloatBE=n?a:s}():function(){function t(n,i,o,s){var a=i<0?1:0;if(a&&(i=-i),i===0)n(1/i>0?0:2147483648,o,s);else if(isNaN(i))n(2143289344,o,s);else if(i>34028234663852886e22)n((a<<31|2139095040)>>>0,o,s);else if(i<11754943508222875e-54)n((a<<31|Math.round(i/1401298464324817e-60))>>>0,o,s);else{var u=Math.floor(Math.log(i)/Math.LN2),c=Math.round(i*Math.pow(2,-u)*8388608)&8388607;n((a<<31|u+127<<23|c)>>>0,o,s)}}e.writeFloatLE=t.bind(null,u3),e.writeFloatBE=t.bind(null,c3);function r(n,i,o){var s=n(i,o),a=(s>>31)*2+1,u=s>>>23&255,c=s&8388607;return u===255?c?NaN:a*(1/0):u===0?a*1401298464324817e-60*c:a*Math.pow(2,u-150)*(c+8388608)}e.readFloatLE=r.bind(null,f3),e.readFloatBE=r.bind(null,l3)}(),typeof Float64Array<"u"?function(){var t=new Float64Array([-0]),r=new Uint8Array(t.buffer),n=r[7]===128;function i(u,c,f){t[0]=u,c[f]=r[0],c[f+1]=r[1],c[f+2]=r[2],c[f+3]=r[3],c[f+4]=r[4],c[f+5]=r[5],c[f+6]=r[6],c[f+7]=r[7]}function o(u,c,f){t[0]=u,c[f]=r[7],c[f+1]=r[6],c[f+2]=r[5],c[f+3]=r[4],c[f+4]=r[3],c[f+5]=r[2],c[f+6]=r[1],c[f+7]=r[0]}e.writeDoubleLE=n?i:o,e.writeDoubleBE=n?o:i;function s(u,c){return r[0]=u[c],r[1]=u[c+1],r[2]=u[c+2],r[3]=u[c+3],r[4]=u[c+4],r[5]=u[c+5],r[6]=u[c+6],r[7]=u[c+7],t[0]}function a(u,c){return r[7]=u[c],r[6]=u[c+1],r[5]=u[c+2],r[4]=u[c+3],r[3]=u[c+4],r[2]=u[c+5],r[1]=u[c+6],r[0]=u[c+7],t[0]}e.readDoubleLE=n?s:a,e.readDoubleBE=n?a:s}():function(){function t(n,i,o,s,a,u){var c=s<0?1:0;if(c&&(s=-s),s===0)n(0,a,u+i),n(1/s>0?0:2147483648,a,u+o);else if(isNaN(s))n(0,a,u+i),n(2146959360,a,u+o);else if(s>17976931348623157e292)n(0,a,u+i),n((c<<31|2146435072)>>>0,a,u+o);else{var f;if(s<22250738585072014e-324)f=s/5e-324,n(f>>>0,a,u+i),n((c<<31|f/4294967296)>>>0,a,u+o);else{var l=Math.floor(Math.log(s)/Math.LN2);l===1024&&(l=1023),f=s*Math.pow(2,-l),n(f*4503599627370496>>>0,a,u+i),n((c<<31|l+1023<<20|f*1048576&1048575)>>>0,a,u+o)}}}e.writeDoubleLE=t.bind(null,u3,0,4),e.writeDoubleBE=t.bind(null,c3,4,0);function r(n,i,o,s,a){var u=n(s,a+i),c=n(s,a+o),f=(c>>31)*2+1,l=c>>>20&2047,d=4294967296*(c&1048575)+u;return l===2047?d?NaN:f*(1/0):l===0?f*5e-324*d:f*Math.pow(2,l-1075)*(d+4503599627370496)}e.readDoubleLE=r.bind(null,f3,0,4),e.readDoubleBE=r.bind(null,l3,4,0)}(),e}function u3(e,t,r){t[r]=e&255,t[r+1]=e>>>8&255,t[r+2]=e>>>16&255,t[r+3]=e>>>24}function c3(e,t,r){t[r]=e>>>24,t[r+1]=e>>>16&255,t[r+2]=e>>>8&255,t[r+3]=e&255}function f3(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0}function l3(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}});var d3=D((exports,module)=>{"use strict";module.exports=inquire;function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(e){}return null}});var g3=D(y3=>{"use strict";var Qo=y3;Qo.length=function(t){for(var r=0,n=0,i=0;i<t.length;++i)n=t.charCodeAt(i),n<128?r+=1:n<2048?r+=2:(n&64512)===55296&&(t.charCodeAt(i+1)&64512)===56320?(++i,r+=4):r+=3;return r};Qo.read=function(t,r,n){var i=n-r;if(i<1)return"";for(var o=null,s=[],a=0,u;r<n;)u=t[r++],u<128?s[a++]=u:u>191&&u<224?s[a++]=(u&31)<<6|t[r++]&63:u>239&&u<365?(u=((u&7)<<18|(t[r++]&63)<<12|(t[r++]&63)<<6|t[r++]&63)-65536,s[a++]=55296+(u>>10),s[a++]=56320+(u&1023)):s[a++]=(u&15)<<12|(t[r++]&63)<<6|t[r++]&63,a>8191&&((o||(o=[])).push(String.fromCharCode.apply(String,s)),a=0);return o?(a&&o.push(String.fromCharCode.apply(String,s.slice(0,a))),o.join("")):String.fromCharCode.apply(String,s.slice(0,a))};Qo.write=function(t,r,n){for(var i=n,o,s,a=0;a<t.length;++a)o=t.charCodeAt(a),o<128?r[n++]=o:o<2048?(r[n++]=o>>6|192,r[n++]=o&63|128):(o&64512)===55296&&((s=t.charCodeAt(a+1))&64512)===56320?(o=65536+((o&1023)<<10)+(s&1023),++a,r[n++]=o>>18|240,r[n++]=o>>12&63|128,r[n++]=o>>6&63|128,r[n++]=o&63|128):(r[n++]=o>>12|224,r[n++]=o>>6&63|128,r[n++]=o&63|128);return n-i}});var x3=D((Dy,m3)=>{"use strict";m3.exports=gf;function gf(e,t,r){var n=r||8192,i=n>>>1,o=null,s=n;return function(u){if(u<1||u>i)return e(u);s+u>n&&(o=e(n),s=0);var c=t.call(o,s,s+=u);return s&7&&(s=(s|7)+1),c}}});var w3=D((Fy,v3)=>{"use strict";v3.exports=Ft;var m0=Qr();function Ft(e,t){this.lo=e>>>0,this.hi=t>>>0}var Gr=Ft.zero=new Ft(0,0);Gr.toNumber=function(){return 0};Gr.zzEncode=Gr.zzDecode=function(){return this};Gr.length=function(){return 1};var mf=Ft.zeroHash="\0\0\0\0\0\0\0\0";Ft.fromNumber=function(t){if(t===0)return Gr;var r=t<0;r&&(t=-t);var n=t>>>0,i=(t-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new Ft(n,i)};Ft.from=function(t){if(typeof t=="number")return Ft.fromNumber(t);if(m0.isString(t))if(m0.Long)t=m0.Long.fromString(t);else return Ft.fromNumber(parseInt(t,10));return t.low||t.high?new Ft(t.low>>>0,t.high>>>0):Gr};Ft.prototype.toNumber=function(t){if(!t&&this.hi>>>31){var r=~this.lo+1>>>0,n=~this.hi>>>0;return r||(n=n+1>>>0),-(r+n*4294967296)}return this.lo+this.hi*4294967296};Ft.prototype.toLong=function(t){return m0.Long?new m0.Long(this.lo|0,this.hi|0,!!t):{low:this.lo|0,high:this.hi|0,unsigned:!!t}};var br=String.prototype.charCodeAt;Ft.fromHash=function(t){return t===mf?Gr:new Ft((br.call(t,0)|br.call(t,1)<<8|br.call(t,2)<<16|br.call(t,3)<<24)>>>0,(br.call(t,4)|br.call(t,5)<<8|br.call(t,6)<<16|br.call(t,7)<<24)>>>0)};Ft.prototype.toHash=function(){return String.fromCharCode(this.lo&255,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,this.hi&255,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)};Ft.prototype.zzEncode=function(){var t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this};Ft.prototype.zzDecode=function(){var t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this};Ft.prototype.length=function(){var t=this.lo,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?t<16384?t<128?1:2:t<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}});var Qr=D(Wo=>{"use strict";var F=Wo;F.asPromise=t3();F.base64=i3();F.EventEmitter=s3();F.float=p3();F.inquire=d3();F.utf8=g3();F.pool=x3();F.LongBits=w3();F.isNode=!!(typeof globalThis<"u"&&globalThis&&globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node);F.global=F.isNode&&globalThis||typeof window<"u"&&window||typeof self<"u"&&self||Wo;F.emptyArray=Object.freeze?Object.freeze([]):[];F.emptyObject=Object.freeze?Object.freeze({}):{};F.isInteger=Number.isInteger||function(t){return typeof t=="number"&&isFinite(t)&&Math.floor(t)===t};F.isString=function(t){return typeof t=="string"||t instanceof String};F.isObject=function(t){return t&&typeof t=="object"};F.isset=F.isSet=function(t,r){var n=t[r];return n!=null&&t.hasOwnProperty(r)?typeof n!="object"||(Array.isArray(n)?n.length:Object.keys(n).length)>0:!1};F.Buffer=function(){try{var e=F.inquire("buffer").Buffer;return e.prototype.utf8Write?e:null}catch{return null}}();F._Buffer_from=null;F._Buffer_allocUnsafe=null;F.newBuffer=function(t){return typeof t=="number"?F.Buffer?F._Buffer_allocUnsafe(t):new F.Array(t):F.Buffer?F._Buffer_from(t):typeof Uint8Array>"u"?t:new Uint8Array(t)};F.Array=typeof Uint8Array<"u"?Uint8Array:Array;F.Long=F.global.dcodeIO&&F.global.dcodeIO.Long||F.global.Long||F.inquire("long");F.key2Re=/^true|false|0|1$/;F.key32Re=/^-?(?:0|[1-9][0-9]*)$/;F.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/;F.longToHash=function(t){return t?F.LongBits.from(t).toHash():F.LongBits.zeroHash};F.longFromHash=function(t,r){var n=F.LongBits.fromHash(t);return F.Long?F.Long.fromBits(n.lo,n.hi,r):n.toNumber(!!r)};function b3(e,t,r){for(var n=Object.keys(t),i=0;i<n.length;++i)(e[n[i]]===void 0||!r)&&(e[n[i]]=t[n[i]]);return e}F.merge=b3;F.lcFirst=function(t){return t.charAt(0).toLowerCase()+t.substring(1)};function E3(e){function t(r,n){if(!(this instanceof t))return new t(r,n);Object.defineProperty(this,"message",{get:function(){return r}}),Error.captureStackTrace?Error.captureStackTrace(this,t):Object.defineProperty(this,"stack",{value:new Error().stack||""}),n&&b3(this,n)}return t.prototype=Object.create(Error.prototype,{constructor:{value:t,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return e},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),t}F.newError=E3;F.ProtocolError=E3("ProtocolError");F.oneOfGetter=function(t){for(var r={},n=0;n<t.length;++n)r[t[n]]=1;return function(){for(var i=Object.keys(this),o=i.length-1;o>-1;--o)if(r[i[o]]===1&&this[i[o]]!==void 0&&this[i[o]]!==null)return i[o]}};F.oneOfSetter=function(t){return function(r){for(var n=0;n<t.length;++n)t[n]!==r&&delete this[t[n]]}};F.toJSONOptions={longs:String,enums:String,bytes:String,json:!0};F._configure=function(){var e=F.Buffer;if(!e){F._Buffer_from=F._Buffer_allocUnsafe=null;return}F._Buffer_from=e.from!==Uint8Array.from&&e.from||function(r,n){return new e(r,n)},F._Buffer_allocUnsafe=e.allocUnsafe||function(r){return new e(r)}}});var Xo=D((Oy,C3)=>{"use strict";C3.exports=At;var De=Qr(),Zo,I3=De.LongBits,xf=De.utf8;function xe(e,t){return RangeError("index out of range: "+e.pos+" + "+(t||1)+" > "+e.len)}function At(e){this.buf=e,this.pos=0,this.len=e.length}var S3=typeof Uint8Array<"u"?function(t){if(t instanceof Uint8Array||Array.isArray(t))return new At(t);throw Error("illegal buffer")}:function(t){if(Array.isArray(t))return new At(t);throw Error("illegal buffer")},B3=function(){return De.Buffer?function(r){return(At.create=function(i){return De.Buffer.isBuffer(i)?new Zo(i):S3(i)})(r)}:S3};At.create=B3();At.prototype._slice=De.Array.prototype.subarray||De.Array.prototype.slice;At.prototype.uint32=function(){var t=4294967295;return function(){if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,xe(this,10);return t}}();At.prototype.int32=function(){return this.uint32()|0};At.prototype.sint32=function(){var t=this.uint32();return t>>>1^-(t&1)|0};function Yo(){var e=new I3(0,0),t=0;if(this.len-this.pos>4){for(;t<4;++t)if(e.lo=(e.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(this.buf[this.pos]&127)<<28)>>>0,e.hi=(e.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return e;t=0}else{for(;t<3;++t){if(this.pos>=this.len)throw xe(this);if(e.lo=(e.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(this.buf[this.pos++]&127)<<t*7)>>>0,e}if(this.len-this.pos>4){for(;t<5;++t)if(e.hi=(e.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return e}else for(;t<5;++t){if(this.pos>=this.len)throw xe(this);if(e.hi=(e.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}At.prototype.bool=function(){return this.uint32()!==0};function Ii(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}At.prototype.fixed32=function(){if(this.pos+4>this.len)throw xe(this,4);return Ii(this.buf,this.pos+=4)};At.prototype.sfixed32=function(){if(this.pos+4>this.len)throw xe(this,4);return Ii(this.buf,this.pos+=4)|0};function A3(){if(this.pos+8>this.len)throw xe(this,8);return new I3(Ii(this.buf,this.pos+=4),Ii(this.buf,this.pos+=4))}At.prototype.float=function(){if(this.pos+4>this.len)throw xe(this,4);var t=De.float.readFloatLE(this.buf,this.pos);return this.pos+=4,t};At.prototype.double=function(){if(this.pos+8>this.len)throw xe(this,4);var t=De.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,t};At.prototype.bytes=function(){var t=this.uint32(),r=this.pos,n=this.pos+t;if(n>this.len)throw xe(this,t);return this.pos+=t,Array.isArray(this.buf)?this.buf.slice(r,n):r===n?new this.buf.constructor(0):this._slice.call(this.buf,r,n)};At.prototype.string=function(){var t=this.bytes();return xf.read(t,0,t.length)};At.prototype.skip=function(t){if(typeof t=="number"){if(this.pos+t>this.len)throw xe(this,t);this.pos+=t}else do if(this.pos>=this.len)throw xe(this);while(this.buf[this.pos++]&128);return this};At.prototype.skipType=function(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(e=this.uint32()&7)!==4;)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+e+" at offset "+this.pos)}return this};At._configure=function(e){Zo=e,At.create=B3(),Zo._configure();var t=De.Long?"toLong":"toNumber";De.merge(At.prototype,{int64:function(){return Yo.call(this)[t](!1)},uint64:function(){return Yo.call(this)[t](!0)},sint64:function(){return Yo.call(this).zzDecode()[t](!1)},fixed64:function(){return A3.call(this)[t](!0)},sfixed64:function(){return A3.call(this)[t](!1)}})}});var P3=D((My,R3)=>{"use strict";R3.exports=Wr;var T3=Xo();(Wr.prototype=Object.create(T3.prototype)).constructor=Wr;var _3=Qr();function Wr(e){T3.call(this,e)}Wr._configure=function(){_3.Buffer&&(Wr.prototype._slice=_3.Buffer.prototype.slice)};Wr.prototype.string=function(){var t=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+t,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+t,this.len))};Wr._configure()});var is=D((Ky,D3)=>{"use strict";D3.exports=X;var ue=Qr(),jo,Bi=ue.LongBits,N3=ue.base64,L3=ue.utf8;function x0(e,t,r){this.fn=e,this.len=t,this.next=void 0,this.val=r}function ts(){}function vf(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}function X(){this.len=0,this.head=new x0(ts,0,0),this.tail=this.head,this.states=null}var k3=function(){return ue.Buffer?function(){return(X.create=function(){return new jo})()}:function(){return new X}};X.create=k3();X.alloc=function(t){return new ue.Array(t)};ue.Array!==Array&&(X.alloc=ue.pool(X.alloc,ue.Array.prototype.subarray));X.prototype._push=function(t,r,n){return this.tail=this.tail.next=new x0(t,r,n),this.len+=r,this};function es(e,t,r){t[r]=e&255}function wf(e,t,r){for(;e>127;)t[r++]=e&127|128,e>>>=7;t[r]=e}function rs(e,t){this.len=e,this.next=void 0,this.val=t}rs.prototype=Object.create(x0.prototype);rs.prototype.fn=wf;X.prototype.uint32=function(t){return this.len+=(this.tail=this.tail.next=new rs((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this};X.prototype.int32=function(t){return t<0?this._push(ns,10,Bi.fromNumber(t)):this.uint32(t)};X.prototype.sint32=function(t){return this.uint32((t<<1^t>>31)>>>0)};function ns(e,t,r){for(;e.hi;)t[r++]=e.lo&127|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;e.lo>127;)t[r++]=e.lo&127|128,e.lo=e.lo>>>7;t[r++]=e.lo}X.prototype.uint64=function(t){var r=Bi.from(t);return this._push(ns,r.length(),r)};X.prototype.int64=X.prototype.uint64;X.prototype.sint64=function(t){var r=Bi.from(t).zzEncode();return this._push(ns,r.length(),r)};X.prototype.bool=function(t){return this._push(es,1,t?1:0)};function Jo(e,t,r){t[r]=e&255,t[r+1]=e>>>8&255,t[r+2]=e>>>16&255,t[r+3]=e>>>24}X.prototype.fixed32=function(t){return this._push(Jo,4,t>>>0)};X.prototype.sfixed32=X.prototype.fixed32;X.prototype.fixed64=function(t){var r=Bi.from(t);return this._push(Jo,4,r.lo)._push(Jo,4,r.hi)};X.prototype.sfixed64=X.prototype.fixed64;X.prototype.float=function(t){return this._push(ue.float.writeFloatLE,4,t)};X.prototype.double=function(t){return this._push(ue.float.writeDoubleLE,8,t)};var bf=ue.Array.prototype.set?function(t,r,n){r.set(t,n)}:function(t,r,n){for(var i=0;i<t.length;++i)r[n+i]=t[i]};X.prototype.bytes=function(t){var r=t.length>>>0;if(!r)return this._push(es,1,0);if(ue.isString(t)){var n=X.alloc(r=N3.length(t));N3.decode(t,n,0),t=n}return this.uint32(r)._push(bf,r,t)};X.prototype.string=function(t){var r=L3.length(t);return r?this.uint32(r)._push(L3.write,r,t):this._push(es,1,0)};X.prototype.fork=function(){return this.states=new vf(this),this.head=this.tail=new x0(ts,0,0),this.len=0,this};X.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new x0(ts,0,0),this.len=0),this};X.prototype.ldelim=function(){var t=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=t.next,this.tail=r,this.len+=n),this};X.prototype.finish=function(){for(var t=this.head.next,r=this.constructor.alloc(this.len),n=0;t;)t.fn(t.val,r,n),n+=t.len,t=t.next;return r};X._configure=function(e){jo=e,X.create=k3(),jo._configure()}});var O3=D((Vy,U3)=>{"use strict";U3.exports=Fe;var F3=is();(Fe.prototype=Object.create(F3.prototype)).constructor=Fe;var Er=Qr();function Fe(){F3.call(this)}Fe._configure=function(){Fe.alloc=Er._Buffer_allocUnsafe,Fe.writeBytesBuffer=Er.Buffer&&Er.Buffer.prototype instanceof Uint8Array&&Er.Buffer.prototype.set.name==="set"?function(t,r,n){r.set(t,n)}:function(t,r,n){if(t.copy)t.copy(r,n,0,t.length);else for(var i=0;i<t.length;)r[n++]=t[i++]}};Fe.prototype.bytes=function(t){Er.isString(t)&&(t=Er._Buffer_from(t,"base64"));var r=t.length>>>0;return this.uint32(r),r&&this._push(Fe.writeBytesBuffer,r,t),this};function Ef(e,t,r){e.length<40?Er.utf8.write(e,t,r):t.utf8Write?t.utf8Write(e,r):t.write(e,r)}Fe.prototype.string=function(t){var r=Er.Buffer.byteLength(t);return this.uint32(r),r&&this._push(Ef,r,t),this};Fe._configure()});var H3=D(w0=>{(function(){var e,t,r,n,i,o,s,a;a=function(u){var c,f,l,d;return c=(u&255<<24)>>>24,f=(u&255<<16)>>>16,l=(u&255<<8)>>>8,d=u&255,[c,f,l,d].join(".")},s=function(u){var c,f,l,d,p,h;for(c=[],l=d=0;d<=3&&u.length!==0;l=++d){if(l>0){if(u[0]!==".")throw new Error("Invalid IP");u=u.substring(1)}h=t(u),p=h[0],f=h[1],u=u.substring(f),c.push(p)}if(u.length!==0)throw new Error("Invalid IP");switch(c.length){case 1:if(c[0]>4294967295)throw new Error("Invalid IP");return c[0]>>>0;case 2:if(c[0]>255||c[1]>16777215)throw new Error("Invalid IP");return(c[0]<<24|c[1])>>>0;case 3:if(c[0]>255||c[1]>255||c[2]>65535)throw new Error("Invalid IP");return(c[0]<<24|c[1]<<16|c[2])>>>0;case 4:if(c[0]>255||c[1]>255||c[2]>255||c[3]>255)throw new Error("Invalid IP");return(c[0]<<24|c[1]<<16|c[2]<<8|c[3])>>>0;default:throw new Error("Invalid IP")}},r=function(u){return u.charCodeAt(0)},n=r("0"),o=r("a"),i=r("A"),t=function(u){var c,f,l,d,p;for(d=0,c=10,f="9",l=0,u.length>1&&u[l]==="0"&&(u[l+1]==="x"||u[l+1]==="X"?(l+=2,c=16):"0"<=u[l+1]&&u[l+1]<="9"&&(l++,c=8,f="7")),p=l;l<u.length;){if("0"<=u[l]&&u[l]<=f)d=d*c+(r(u[l])-n)>>>0;else if(c===16)if("a"<=u[l]&&u[l]<="f")d=d*c+(10+r(u[l])-o)>>>0;else if("A"<=u[l]&&u[l]<="F")d=d*c+(10+r(u[l])-i)>>>0;else break;else break;if(d>4294967295)throw new Error("too large");l++}if(l===p)throw new Error("empty octet");return[d,l]},e=function(){function u(c,f){var l,d,p,h;if(typeof c!="string")throw new Error("Missing `net' parameter");if(f||(h=c.split("/",2),c=h[0],f=h[1]),f||(f=32),typeof f=="string"&&f.indexOf(".")>-1){try{this.maskLong=s(f)}catch(y){throw l=y,new Error("Invalid mask: "+f)}for(d=p=32;p>=0;d=--p)if(this.maskLong===4294967295<<32-d>>>0){this.bitmask=d;break}}else if(f||f===0)this.bitmask=parseInt(f,10),this.maskLong=0,this.bitmask>0&&(this.maskLong=4294967295<<32-this.bitmask>>>0);else throw new Error("Invalid mask: empty");try{this.netLong=(s(c)&this.maskLong)>>>0}catch(y){throw l=y,new Error("Invalid net address: "+c)}if(!(this.bitmask<=32))throw new Error("Invalid mask for ip4: "+f);this.size=Math.pow(2,32-this.bitmask),this.base=a(this.netLong),this.mask=a(this.maskLong),this.hostmask=a(~this.maskLong),this.first=this.bitmask<=30?a(this.netLong+1):this.base,this.last=this.bitmask<=30?a(this.netLong+this.size-2):a(this.netLong+this.size-1),this.broadcast=this.bitmask<=30?a(this.netLong+this.size-1):void 0}return u.prototype.contains=function(c){return typeof c=="string"&&(c.indexOf("/")>0||c.split(".").length!==4)&&(c=new u(c)),c instanceof u?this.contains(c.base)&&this.contains(c.broadcast||c.last):(s(c)&this.maskLong)>>>0===(this.netLong&this.maskLong)>>>0},u.prototype.next=function(c){return c==null&&(c=1),new u(a(this.netLong+this.size*c),this.mask)},u.prototype.forEach=function(c){var f,l,d;for(d=s(this.first),l=s(this.last),f=0;d<=l;)c(a(d),d,f),f++,d++},u.prototype.toString=function(){return this.base+"/"+this.bitmask},u}(),w0.ip2long=s,w0.long2ip=a,w0.Netmask=e}).call(w0)});var j3=D((X3,Pi)=>{(function(e){"use strict";let t="(0?\\d+|0x[a-f0-9]+)",r={fourOctet:new RegExp(`^${t}\\.${t}\\.${t}\\.${t}$`,"i"),threeOctet:new RegExp(`^${t}\\.${t}\\.${t}$`,"i"),twoOctet:new RegExp(`^${t}\\.${t}$`,"i"),longValue:new RegExp(`^${t}$`,"i")},n=new RegExp("^0[0-7]+$","i"),i=new RegExp("^0x[a-f0-9]+$","i"),o="%[0-9a-z]{1,}",s="(?:[0-9a-f]+::?)+",a={zoneIndex:new RegExp(o,"i"),native:new RegExp(`^(::)?(${s})?([0-9a-f]+)?(::)?(${o})?$`,"i"),deprecatedTransitional:new RegExp(`^(?:::)(${t}\\.${t}\\.${t}\\.${t}(${o})?)$`,"i"),transitional:new RegExp(`^((?:${s})|(?:::)(?:${s})?)${t}\\.${t}\\.${t}\\.${t}(${o})?$`,"i")};function u(p,h){if(p.indexOf("::")!==p.lastIndexOf("::"))return null;let y=0,g=-1,m=(p.match(a.zoneIndex)||[])[0],x,S;for(m&&(m=m.substring(1),p=p.replace(/%.+$/,""));(g=p.indexOf(":",g+1))>=0;)y++;if(p.substr(0,2)==="::"&&y--,p.substr(-2,2)==="::"&&y--,y>h)return null;for(S=h-y,x=":";S--;)x+="0:";return p=p.replace("::",x),p[0]===":"&&(p=p.slice(1)),p[p.length-1]===":"&&(p=p.slice(0,-1)),h=function(){let L=p.split(":"),T=[];for(let _=0;_<L.length;_++)T.push(parseInt(L[_],16));return T}(),{parts:h,zoneId:m}}function c(p,h,y,g){if(p.length!==h.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");let m=0,x;for(;g>0;){if(x=y-g,x<0&&(x=0),p[m]>>x!==h[m]>>x)return!1;g-=y,m+=1}return!0}function f(p){if(i.test(p))return parseInt(p,16);if(p[0]==="0"&&!isNaN(parseInt(p[1],10))){if(n.test(p))return parseInt(p,8);throw new Error(`ipaddr: cannot parse ${p} as octal`)}return parseInt(p,10)}function l(p,h){for(;p.length<h;)p=`0${p}`;return p}let d={};d.IPv4=function(){function p(h){if(h.length!==4)throw new Error("ipaddr: ipv4 octet count should be 4");let y,g;for(y=0;y<h.length;y++)if(g=h[y],!(0<=g&&g<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=h}return p.prototype.SpecialRanges={unspecified:[[new p([0,0,0,0]),8]],broadcast:[[new p([255,255,255,255]),32]],multicast:[[new p([224,0,0,0]),4]],linkLocal:[[new p([169,254,0,0]),16]],loopback:[[new p([127,0,0,0]),8]],carrierGradeNat:[[new p([100,64,0,0]),10]],private:[[new p([10,0,0,0]),8],[new p([172,16,0,0]),12],[new p([192,168,0,0]),16]],reserved:[[new p([192,0,0,0]),24],[new p([192,0,2,0]),24],[new p([192,88,99,0]),24],[new p([198,51,100,0]),24],[new p([203,0,113,0]),24],[new p([240,0,0,0]),4]]},p.prototype.kind=function(){return"ipv4"},p.prototype.match=function(h,y){let g;if(y===void 0&&(g=h,h=g[0],y=g[1]),h.kind()!=="ipv4")throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return c(this.octets,h.octets,8,y)},p.prototype.prefixLengthFromSubnetMask=function(){let h=0,y=!1,g={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0},m,x,S;for(m=3;m>=0;m-=1)if(x=this.octets[m],x in g){if(S=g[x],y&&S!==0)return null;S!==8&&(y=!0),h+=S}else return null;return 32-h},p.prototype.range=function(){return d.subnetMatch(this,this.SpecialRanges)},p.prototype.toByteArray=function(){return this.octets.slice(0)},p.prototype.toIPv4MappedAddress=function(){return d.IPv6.parse(`::ffff:${this.toString()}`)},p.prototype.toNormalizedString=function(){return this.toString()},p.prototype.toString=function(){return this.octets.join(".")},p}(),d.IPv4.broadcastAddressFromCIDR=function(p){try{let h=this.parseCIDR(p),y=h[0].toByteArray(),g=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),m=[],x=0;for(;x<4;)m.push(parseInt(y[x],10)|parseInt(g[x],10)^255),x++;return new this(m)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},d.IPv4.isIPv4=function(p){return this.parser(p)!==null},d.IPv4.isValid=function(p){try{return new this(this.parser(p)),!0}catch{return!1}},d.IPv4.isValidFourPartDecimal=function(p){return!!(d.IPv4.isValid(p)&&p.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},d.IPv4.networkAddressFromCIDR=function(p){let h,y,g,m,x;try{for(h=this.parseCIDR(p),g=h[0].toByteArray(),x=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),m=[],y=0;y<4;)m.push(parseInt(g[y],10)&parseInt(x[y],10)),y++;return new this(m)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},d.IPv4.parse=function(p){let h=this.parser(p);if(h===null)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(h)},d.IPv4.parseCIDR=function(p){let h;if(h=p.match(/^(.+)\/(\d+)$/)){let y=parseInt(h[2]);if(y>=0&&y<=32){let g=[this.parse(h[1]),y];return Object.defineProperty(g,"toString",{value:function(){return this.join("/")}}),g}}throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},d.IPv4.parser=function(p){let h,y,g;if(h=p.match(r.fourOctet))return function(){let m=h.slice(1,6),x=[];for(let S=0;S<m.length;S++)y=m[S],x.push(f(y));return x}();if(h=p.match(r.longValue)){if(g=f(h[1]),g>4294967295||g<0)throw new Error("ipaddr: address outside defined range");return function(){let m=[],x;for(x=0;x<=24;x+=8)m.push(g>>x&255);return m}().reverse()}else return(h=p.match(r.twoOctet))?function(){let m=h.slice(1,4),x=[];if(g=f(m[1]),g>16777215||g<0)throw new Error("ipaddr: address outside defined range");return x.push(f(m[0])),x.push(g>>16&255),x.push(g>>8&255),x.push(g&255),x}():(h=p.match(r.threeOctet))?function(){let m=h.slice(1,5),x=[];if(g=f(m[2]),g>65535||g<0)throw new Error("ipaddr: address outside defined range");return x.push(f(m[0])),x.push(f(m[1])),x.push(g>>8&255),x.push(g&255),x}():null},d.IPv4.subnetMaskFromPrefixLength=function(p){if(p=parseInt(p),p<0||p>32)throw new Error("ipaddr: invalid IPv4 prefix length");let h=[0,0,0,0],y=0,g=Math.floor(p/8);for(;y<g;)h[y]=255,y++;return g<4&&(h[g]=Math.pow(2,p%8)-1<<8-p%8),new this(h)},d.IPv6=function(){function p(h,y){let g,m;if(h.length===16)for(this.parts=[],g=0;g<=14;g+=2)this.parts.push(h[g]<<8|h[g+1]);else if(h.length===8)this.parts=h;else throw new Error("ipaddr: ipv6 part count should be 8 or 16");for(g=0;g<this.parts.length;g++)if(m=this.parts[g],!(0<=m&&m<=65535))throw new Error("ipaddr: ipv6 part should fit in 16 bits");y&&(this.zoneId=y)}return p.prototype.SpecialRanges={unspecified:[new p([0,0,0,0,0,0,0,0]),128],linkLocal:[new p([65152,0,0,0,0,0,0,0]),10],multicast:[new p([65280,0,0,0,0,0,0,0]),8],loopback:[new p([0,0,0,0,0,0,0,1]),128],uniqueLocal:[new p([64512,0,0,0,0,0,0,0]),7],ipv4Mapped:[new p([0,0,0,0,0,65535,0,0]),96],rfc6145:[new p([0,0,0,0,65535,0,0,0]),96],rfc6052:[new p([100,65435,0,0,0,0,0,0]),96],"6to4":[new p([8194,0,0,0,0,0,0,0]),16],teredo:[new p([8193,0,0,0,0,0,0,0]),32],reserved:[[new p([8193,3512,0,0,0,0,0,0]),32]]},p.prototype.isIPv4MappedAddress=function(){return this.range()==="ipv4Mapped"},p.prototype.kind=function(){return"ipv6"},p.prototype.match=function(h,y){let g;if(y===void 0&&(g=h,h=g[0],y=g[1]),h.kind()!=="ipv6")throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return c(this.parts,h.parts,16,y)},p.prototype.prefixLengthFromSubnetMask=function(){let h=0,y=!1,g={0:16,32768:15,49152:14,57344:13,61440:12,63488:11,64512:10,65024:9,65280:8,65408:7,65472:6,65504:5,65520:4,65528:3,65532:2,65534:1,65535:0},m,x;for(let S=7;S>=0;S-=1)if(m=this.parts[S],m in g){if(x=g[m],y&&x!==0)return null;x!==16&&(y=!0),h+=x}else return null;return 128-h},p.prototype.range=function(){return d.subnetMatch(this,this.SpecialRanges)},p.prototype.toByteArray=function(){let h,y=[],g=this.parts;for(let m=0;m<g.length;m++)h=g[m],y.push(h>>8),y.push(h&255);return y},p.prototype.toFixedLengthString=function(){let h=function(){let g=[];for(let m=0;m<this.parts.length;m++)g.push(l(this.parts[m].toString(16),4));return g}.call(this).join(":"),y="";return this.zoneId&&(y=`%${this.zoneId}`),h+y},p.prototype.toIPv4Address=function(){if(!this.isIPv4MappedAddress())throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");let h=this.parts.slice(-2),y=h[0],g=h[1];return new d.IPv4([y>>8,y&255,g>>8,g&255])},p.prototype.toNormalizedString=function(){let h=function(){let g=[];for(let m=0;m<this.parts.length;m++)g.push(this.parts[m].toString(16));return g}.call(this).join(":"),y="";return this.zoneId&&(y=`%${this.zoneId}`),h+y},p.prototype.toRFC5952String=function(){let h=/((^|:)(0(:|$)){2,})/g,y=this.toNormalizedString(),g=0,m=-1,x;for(;x=h.exec(y);)x[0].length>m&&(g=x.index,m=x[0].length);return m<0?y:`${y.substring(0,g)}::${y.substring(g+m)}`},p.prototype.toString=function(){return this.toNormalizedString().replace(/((^|:)(0(:|$))+)/,"::")},p}(),d.IPv6.broadcastAddressFromCIDR=function(p){try{let h=this.parseCIDR(p),y=h[0].toByteArray(),g=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),m=[],x=0;for(;x<16;)m.push(parseInt(y[x],10)|parseInt(g[x],10)^255),x++;return new this(m)}catch(h){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${h})`)}},d.IPv6.isIPv6=function(p){return this.parser(p)!==null},d.IPv6.isValid=function(p){if(typeof p=="string"&&p.indexOf(":")===-1)return!1;try{let h=this.parser(p);return new this(h.parts,h.zoneId),!0}catch{return!1}},d.IPv6.networkAddressFromCIDR=function(p){let h,y,g,m,x;try{for(h=this.parseCIDR(p),g=h[0].toByteArray(),x=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),m=[],y=0;y<16;)m.push(parseInt(g[y],10)&parseInt(x[y],10)),y++;return new this(m)}catch(S){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${S})`)}},d.IPv6.parse=function(p){let h=this.parser(p);if(h.parts===null)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(h.parts,h.zoneId)},d.IPv6.parseCIDR=function(p){let h,y,g;if((y=p.match(/^(.+)\/(\d+)$/))&&(h=parseInt(y[2]),h>=0&&h<=128))return g=[this.parse(y[1]),h],Object.defineProperty(g,"toString",{value:function(){return this.join("/")}}),g;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},d.IPv6.parser=function(p){let h,y,g,m,x,S;if(g=p.match(a.deprecatedTransitional))return this.parser(`::ffff:${g[1]}`);if(a.native.test(p))return u(p,8);if((g=p.match(a.transitional))&&(S=g[6]||"",h=u(g[1].slice(0,-1)+S,6),h.parts)){for(x=[parseInt(g[2]),parseInt(g[3]),parseInt(g[4]),parseInt(g[5])],y=0;y<x.length;y++)if(m=x[y],!(0<=m&&m<=255))return null;return h.parts.push(x[0]<<8|x[1]),h.parts.push(x[2]<<8|x[3]),{parts:h.parts,zoneId:h.zoneId}}return null},d.IPv6.subnetMaskFromPrefixLength=function(p){if(p=parseInt(p),p<0||p>128)throw new Error("ipaddr: invalid IPv6 prefix length");let h=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],y=0,g=Math.floor(p/8);for(;y<g;)h[y]=255,y++;return g<16&&(h[g]=Math.pow(2,p%8)-1<<8-p%8),new this(h)},d.fromByteArray=function(p){let h=p.length;if(h===4)return new d.IPv4(p);if(h===16)return new d.IPv6(p);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},d.isValid=function(p){return d.IPv6.isValid(p)||d.IPv4.isValid(p)},d.parse=function(p){if(d.IPv6.isValid(p))return d.IPv6.parse(p);if(d.IPv4.isValid(p))return d.IPv4.parse(p);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},d.parseCIDR=function(p){try{return d.IPv6.parseCIDR(p)}catch{try{return d.IPv4.parseCIDR(p)}catch{throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},d.process=function(p){let h=this.parse(p);return h.kind()==="ipv6"&&h.isIPv4MappedAddress()?h.toIPv4Address():h},d.subnetMatch=function(p,h,y){let g,m,x,S;y==null&&(y="unicast");for(m in h)if(Object.prototype.hasOwnProperty.call(h,m)){for(x=h[m],x[0]&&!(x[0]instanceof Array)&&(x=[x]),g=0;g<x.length;g++)if(S=x[g],p.kind()===S[0].kind()&&p.match.apply(p,S))return m}return y},typeof Pi<"u"&&Pi.exports?Pi.exports=d:e.ipaddr=d})(X3)});var g4=D((Hg,xs)=>{"use strict";var Mf=Object.prototype.hasOwnProperty,zt="~";function E0(){}Object.create&&(E0.prototype=Object.create(null),new E0().__proto__||(zt=!1));function Kf(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function y4(e,t,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var o=new Kf(r,n||e,i),s=zt?zt+t:t;return e._events[s]?e._events[s].fn?e._events[s]=[e._events[s],o]:e._events[s].push(o):(e._events[s]=o,e._eventsCount++),e}function Ni(e,t){--e._eventsCount===0?e._events=new E0:delete e._events[t]}function Vt(){this._events=new E0,this._eventsCount=0}Vt.prototype.eventNames=function(){var t=[],r,n;if(this._eventsCount===0)return t;for(n in r=this._events)Mf.call(r,n)&&t.push(zt?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(r)):t};Vt.prototype.listeners=function(t){var r=zt?zt+t:t,n=this._events[r];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,o=n.length,s=new Array(o);i<o;i++)s[i]=n[i].fn;return s};Vt.prototype.listenerCount=function(t){var r=zt?zt+t:t,n=this._events[r];return n?n.fn?1:n.length:0};Vt.prototype.emit=function(t,r,n,i,o,s){var a=zt?zt+t:t;if(!this._events[a])return!1;var u=this._events[a],c=arguments.length,f,l;if(u.fn){switch(u.once&&this.removeListener(t,u.fn,void 0,!0),c){case 1:return u.fn.call(u.context),!0;case 2:return u.fn.call(u.context,r),!0;case 3:return u.fn.call(u.context,r,n),!0;case 4:return u.fn.call(u.context,r,n,i),!0;case 5:return u.fn.call(u.context,r,n,i,o),!0;case 6:return u.fn.call(u.context,r,n,i,o,s),!0}for(l=1,f=new Array(c-1);l<c;l++)f[l-1]=arguments[l];u.fn.apply(u.context,f)}else{var d=u.length,p;for(l=0;l<d;l++)switch(u[l].once&&this.removeListener(t,u[l].fn,void 0,!0),c){case 1:u[l].fn.call(u[l].context);break;case 2:u[l].fn.call(u[l].context,r);break;case 3:u[l].fn.call(u[l].context,r,n);break;case 4:u[l].fn.call(u[l].context,r,n,i);break;default:if(!f)for(p=1,f=new Array(c-1);p<c;p++)f[p-1]=arguments[p];u[l].fn.apply(u[l].context,f)}}return!0};Vt.prototype.on=function(t,r,n){return y4(this,t,r,n,!1)};Vt.prototype.once=function(t,r,n){return y4(this,t,r,n,!0)};Vt.prototype.removeListener=function(t,r,n,i){var o=zt?zt+t:t;if(!this._events[o])return this;if(!r)return Ni(this,o),this;var s=this._events[o];if(s.fn)s.fn===r&&(!i||s.once)&&(!n||s.context===n)&&Ni(this,o);else{for(var a=0,u=[],c=s.length;a<c;a++)(s[a].fn!==r||i&&!s[a].once||n&&s[a].context!==n)&&u.push(s[a]);u.length?this._events[o]=u.length===1?u[0]:u:Ni(this,o)}return this};Vt.prototype.removeAllListeners=function(t){var r;return t?(r=zt?zt+t:t,this._events[r]&&Ni(this,r)):(this._events=new E0,this._eventsCount=0),this};Vt.prototype.off=Vt.prototype.removeListener;Vt.prototype.addListener=Vt.prototype.on;Vt.prefixed=zt;Vt.EventEmitter=Vt;typeof xs<"u"&&(xs.exports=Vt)});var C4=D((Jg,B4)=>{var On=1e3,Mn=On*60,Kn=Mn*60,jr=Kn*24,Vf=jr*7,qf=jr*365.25;B4.exports=function(e,t){t=t||{};var r=typeof e;if(r==="string"&&e.length>0)return zf(e);if(r==="number"&&isFinite(e))return t.long?Hf(e):$f(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function zf(e){if(e=String(e),!(e.length>100)){var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(t){var r=parseFloat(t[1]),n=(t[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*qf;case"weeks":case"week":case"w":return r*Vf;case"days":case"day":case"d":return r*jr;case"hours":case"hour":case"hrs":case"hr":case"h":return r*Kn;case"minutes":case"minute":case"mins":case"min":case"m":return r*Mn;case"seconds":case"second":case"secs":case"sec":case"s":return r*On;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function $f(e){var t=Math.abs(e);return t>=jr?Math.round(e/jr)+"d":t>=Kn?Math.round(e/Kn)+"h":t>=Mn?Math.round(e/Mn)+"m":t>=On?Math.round(e/On)+"s":e+"ms"}function Hf(e){var t=Math.abs(e);return t>=jr?Vi(e,t,jr,"day"):t>=Kn?Vi(e,t,Kn,"hour"):t>=Mn?Vi(e,t,Mn,"minute"):t>=On?Vi(e,t,On,"second"):e+" ms"}function Vi(e,t,r,n){var i=t>=r*1.5;return Math.round(e/r)+" "+n+(i?"s":"")}});var T4=D((tm,_4)=>{function Gf(e){r.debug=r,r.default=r,r.coerce=u,r.disable=o,r.enable=i,r.enabled=s,r.humanize=C4(),r.destroy=c,Object.keys(e).forEach(f=>{r[f]=e[f]}),r.names=[],r.skips=[],r.formatters={};function t(f){let l=0;for(let d=0;d<f.length;d++)l=(l<<5)-l+f.charCodeAt(d),l|=0;return r.colors[Math.abs(l)%r.colors.length]}r.selectColor=t;function r(f){let l,d=null,p,h;function y(...g){if(!y.enabled)return;let m=y,x=Number(new Date),S=x-(l||x);m.diff=S,m.prev=l,m.curr=x,l=x,g[0]=r.coerce(g[0]),typeof g[0]!="string"&&g.unshift("%O");let L=0;g[0]=g[0].replace(/%([a-zA-Z%])/g,(_,q)=>{if(_==="%%")return"%";L++;let G=r.formatters[q];if(typeof G=="function"){let Nt=g[L];_=G.call(m,Nt),g.splice(L,1),L--}return _}),r.formatArgs.call(m,g),(m.log||r.log).apply(m,g)}return y.namespace=f,y.useColors=r.useColors(),y.color=r.selectColor(f),y.extend=n,y.destroy=r.destroy,Object.defineProperty(y,"enabled",{enumerable:!0,configurable:!1,get:()=>d!==null?d:(p!==r.namespaces&&(p=r.namespaces,h=r.enabled(f)),h),set:g=>{d=g}}),typeof r.init=="function"&&r.init(y),y}function n(f,l){let d=r(this.namespace+(typeof l>"u"?":":l)+f);return d.log=this.log,d}function i(f){r.save(f),r.namespaces=f,r.names=[],r.skips=[];let l,d=(typeof f=="string"?f:"").split(/[\s,]+/),p=d.length;for(l=0;l<p;l++)d[l]&&(f=d[l].replace(/\*/g,".*?"),f[0]==="-"?r.skips.push(new RegExp("^"+f.slice(1)+"$")):r.names.push(new RegExp("^"+f+"$")))}function o(){let f=[...r.names.map(a),...r.skips.map(a).map(l=>"-"+l)].join(",");return r.enable(""),f}function s(f){if(f[f.length-1]==="*")return!0;let l,d;for(l=0,d=r.skips.length;l<d;l++)if(r.skips[l].test(f))return!1;for(l=0,d=r.names.length;l<d;l++)if(r.names[l].test(f))return!0;return!1}function a(f){return f.toString().substring(2,f.toString().length-2).replace(/\.\*\?$/,"*")}function u(f){return f instanceof Error?f.stack||f.message:f}function c(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.enable(r.load()),r}_4.exports=Gf});var R4=D((re,qi)=>{re.formatArgs=Wf;re.save=Yf;re.load=Zf;re.useColors=Qf;re.storage=Xf();re.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();re.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function Qf(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function Wf(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+qi.exports.humanize(this.diff),!this.useColors)return;let t="color: "+this.color;e.splice(1,0,t,"color: inherit");let r=0,n=0;e[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(r++,i==="%c"&&(n=r))}),e.splice(n,0,t)}re.log=console.debug||console.log||(()=>{});function Yf(e){try{e?re.storage.setItem("debug",e):re.storage.removeItem("debug")}catch{}}function Zf(){let e;try{e=re.storage.getItem("debug")}catch{}return!e&&typeof process<"u"&&"env"in process&&(e=process.env.DEBUG),e}function Xf(){try{return localStorage}catch{}}qi.exports=T4()(re);var{formatters:jf}=qi.exports;jf.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var nt=D((Pm,U4)=>{U4.exports={options:{usePureJavaScript:!1}}});var K4=D((Nm,M4)=>{var Is={};M4.exports=Is;var O4={};Is.encode=function(e,t,r){if(typeof t!="string")throw new TypeError('"alphabet" must be a string.');if(r!==void 0&&typeof r!="number")throw new TypeError('"maxline" must be a number.');var n="";if(!(e instanceof Uint8Array))n=s7(e,t);else{var i=0,o=t.length,s=t.charAt(0),a=[0];for(i=0;i<e.length;++i){for(var u=0,c=e[i];u<a.length;++u)c+=a[u]<<8,a[u]=c%o,c=c/o|0;for(;c>0;)a.push(c%o),c=c/o|0}for(i=0;e[i]===0&&i<e.length-1;++i)n+=s;for(i=a.length-1;i>=0;--i)n+=t[a[i]]}if(r){var f=new RegExp(".{1,"+r+"}","g");n=n.match(f).join(`\r
|
|
4
|
+
`)}return n};Is.decode=function(e,t){if(typeof e!="string")throw new TypeError('"input" must be a string.');if(typeof t!="string")throw new TypeError('"alphabet" must be a string.');var r=O4[t];if(!r){r=O4[t]=[];for(var n=0;n<t.length;++n)r[t.charCodeAt(n)]=n}e=e.replace(/\s/g,"");for(var i=t.length,o=t.charAt(0),s=[0],n=0;n<e.length;n++){var a=r[e.charCodeAt(n)];if(a===void 0)return;for(var u=0,c=a;u<s.length;++u)c+=s[u]*i,s[u]=c&255,c>>=8;for(;c>0;)s.push(c&255),c>>=8}for(var f=0;e[f]===o&&f<e.length-1;++f)s.push(0);return typeof Buffer<"u"?Buffer.from(s.reverse()):new Uint8Array(s.reverse())};function s7(e,t){var r=0,n=t.length,i=t.charAt(0),o=[0];for(r=0;r<e.length();++r){for(var s=0,a=e.at(r);s<o.length;++s)a+=o[s]<<8,o[s]=a%n,a=a/n|0;for(;a>0;)o.push(a%n),a=a/n|0}var u="";for(r=0;e.at(r)===0&&r<e.length()-1;++r)u+=i;for(r=o.length-1;r>=0;--r)u+=t[o[r]];return u}});var Ct=D((Lm,$4)=>{var V4=nt(),q4=K4(),v=$4.exports=V4.util=V4.util||{};(function(){if(typeof process<"u"&&process.nextTick&&!process.browser){v.nextTick=process.nextTick,typeof setImmediate=="function"?v.setImmediate=setImmediate:v.setImmediate=v.nextTick;return}if(typeof setImmediate=="function"){v.setImmediate=function(){return setImmediate.apply(void 0,arguments)},v.nextTick=function(a){return setImmediate(a)};return}if(v.setImmediate=function(a){setTimeout(a,0)},typeof window<"u"&&typeof window.postMessage=="function"){let a=function(u){if(u.source===window&&u.data===e){u.stopPropagation();var c=t.slice();t.length=0,c.forEach(function(f){f()})}};var s=a,e="forge.setImmediate",t=[];v.setImmediate=function(u){t.push(u),t.length===1&&window.postMessage(e,"*")},window.addEventListener("message",a,!0)}if(typeof MutationObserver<"u"){var r=Date.now(),n=!0,i=document.createElement("div"),t=[];new MutationObserver(function(){var u=t.slice();t.length=0,u.forEach(function(c){c()})}).observe(i,{attributes:!0});var o=v.setImmediate;v.setImmediate=function(u){Date.now()-r>15?(r=Date.now(),o(u)):(t.push(u),t.length===1&&i.setAttribute("a",n=!n))}}v.nextTick=v.setImmediate})();v.isNodejs=typeof process<"u"&&process.versions&&process.versions.node;v.globalScope=function(){return v.isNodejs?globalThis:typeof self>"u"?window:self}();v.isArray=Array.isArray||function(e){return Object.prototype.toString.call(e)==="[object Array]"};v.isArrayBuffer=function(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer};v.isArrayBufferView=function(e){return e&&v.isArrayBuffer(e.buffer)&&e.byteLength!==void 0};function R0(e){if(!(e===8||e===16||e===24||e===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+e)}v.ByteBuffer=Bs;function Bs(e){if(this.data="",this.read=0,typeof e=="string")this.data=e;else if(v.isArrayBuffer(e)||v.isArrayBufferView(e))if(typeof Buffer<"u"&&e instanceof Buffer)this.data=e.toString("binary");else{var t=new Uint8Array(e);try{this.data=String.fromCharCode.apply(null,t)}catch{for(var r=0;r<t.length;++r)this.putByte(t[r])}}else(e instanceof Bs||typeof e=="object"&&typeof e.data=="string"&&typeof e.read=="number")&&(this.data=e.data,this.read=e.read);this._constructedStringLength=0}v.ByteStringBuffer=Bs;var a7=4096;v.ByteStringBuffer.prototype._optimizeConstructedString=function(e){this._constructedStringLength+=e,this._constructedStringLength>a7&&(this.data.substr(0,1),this._constructedStringLength=0)};v.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read};v.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0};v.ByteStringBuffer.prototype.putByte=function(e){return this.putBytes(String.fromCharCode(e))};v.ByteStringBuffer.prototype.fillWithByte=function(e,t){e=String.fromCharCode(e);for(var r=this.data;t>0;)t&1&&(r+=e),t>>>=1,t>0&&(e+=e);return this.data=r,this._optimizeConstructedString(t),this};v.ByteStringBuffer.prototype.putBytes=function(e){return this.data+=e,this._optimizeConstructedString(e.length),this};v.ByteStringBuffer.prototype.putString=function(e){return this.putBytes(v.encodeUtf8(e))};v.ByteStringBuffer.prototype.putInt16=function(e){return this.putBytes(String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};v.ByteStringBuffer.prototype.putInt24=function(e){return this.putBytes(String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};v.ByteStringBuffer.prototype.putInt32=function(e){return this.putBytes(String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};v.ByteStringBuffer.prototype.putInt16Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255))};v.ByteStringBuffer.prototype.putInt24Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255))};v.ByteStringBuffer.prototype.putInt32Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>24&255))};v.ByteStringBuffer.prototype.putInt=function(e,t){R0(t);var r="";do t-=8,r+=String.fromCharCode(e>>t&255);while(t>0);return this.putBytes(r)};v.ByteStringBuffer.prototype.putSignedInt=function(e,t){return e<0&&(e+=2<<t-1),this.putInt(e,t)};v.ByteStringBuffer.prototype.putBuffer=function(e){return this.putBytes(e.getBytes())};v.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};v.ByteStringBuffer.prototype.getInt16=function(){var e=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,e};v.ByteStringBuffer.prototype.getInt24=function(){var e=this.data.charCodeAt(this.read)<<16^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2);return this.read+=3,e};v.ByteStringBuffer.prototype.getInt32=function(){var e=this.data.charCodeAt(this.read)<<24^this.data.charCodeAt(this.read+1)<<16^this.data.charCodeAt(this.read+2)<<8^this.data.charCodeAt(this.read+3);return this.read+=4,e};v.ByteStringBuffer.prototype.getInt16Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,e};v.ByteStringBuffer.prototype.getInt24Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16;return this.read+=3,e};v.ByteStringBuffer.prototype.getInt32Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16^this.data.charCodeAt(this.read+3)<<24;return this.read+=4,e};v.ByteStringBuffer.prototype.getInt=function(e){R0(e);var t=0;do t=(t<<8)+this.data.charCodeAt(this.read++),e-=8;while(e>0);return t};v.ByteStringBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<<e-2;return t>=r&&(t-=r<<1),t};v.ByteStringBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):e===0?t="":(t=this.read===0?this.data:this.data.slice(this.read),this.clear()),t};v.ByteStringBuffer.prototype.bytes=function(e){return typeof e>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+e)};v.ByteStringBuffer.prototype.at=function(e){return this.data.charCodeAt(this.read+e)};v.ByteStringBuffer.prototype.setAt=function(e,t){return this.data=this.data.substr(0,this.read+e)+String.fromCharCode(t)+this.data.substr(this.read+e+1),this};v.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};v.ByteStringBuffer.prototype.copy=function(){var e=v.createBuffer(this.data);return e.read=this.read,e};v.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this};v.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this};v.ByteStringBuffer.prototype.truncate=function(e){var t=Math.max(0,this.length()-e);return this.data=this.data.substr(this.read,t),this.read=0,this};v.ByteStringBuffer.prototype.toHex=function(){for(var e="",t=this.read;t<this.data.length;++t){var r=this.data.charCodeAt(t);r<16&&(e+="0"),e+=r.toString(16)}return e};v.ByteStringBuffer.prototype.toString=function(){return v.decodeUtf8(this.bytes())};function u7(e,t){t=t||{},this.read=t.readOffset||0,this.growSize=t.growSize||1024;var r=v.isArrayBuffer(e),n=v.isArrayBufferView(e);if(r||n){r?this.data=new DataView(e):this.data=new DataView(e.buffer,e.byteOffset,e.byteLength),this.write="writeOffset"in t?t.writeOffset:this.data.byteLength;return}this.data=new DataView(new ArrayBuffer(0)),this.write=0,e!=null&&this.putBytes(e),"writeOffset"in t&&(this.write=t.writeOffset)}v.DataBuffer=u7;v.DataBuffer.prototype.length=function(){return this.write-this.read};v.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};v.DataBuffer.prototype.accommodate=function(e,t){if(this.length()>=e)return this;t=Math.max(t||this.growSize,e);var r=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),n=new Uint8Array(this.length()+t);return n.set(r),this.data=new DataView(n.buffer),this};v.DataBuffer.prototype.putByte=function(e){return this.accommodate(1),this.data.setUint8(this.write++,e),this};v.DataBuffer.prototype.fillWithByte=function(e,t){this.accommodate(t);for(var r=0;r<t;++r)this.data.setUint8(e);return this};v.DataBuffer.prototype.putBytes=function(e,t){if(v.isArrayBufferView(e)){var r=new Uint8Array(e.buffer,e.byteOffset,e.byteLength),n=r.byteLength-r.byteOffset;this.accommodate(n);var i=new Uint8Array(this.data.buffer,this.write);return i.set(r),this.write+=n,this}if(v.isArrayBuffer(e)){var r=new Uint8Array(e);this.accommodate(r.byteLength);var i=new Uint8Array(this.data.buffer);return i.set(r,this.write),this.write+=r.byteLength,this}if(e instanceof v.DataBuffer||typeof e=="object"&&typeof e.read=="number"&&typeof e.write=="number"&&v.isArrayBufferView(e.data)){var r=new Uint8Array(e.data.byteLength,e.read,e.length());this.accommodate(r.byteLength);var i=new Uint8Array(e.data.byteLength,this.write);return i.set(r),this.write+=r.byteLength,this}if(e instanceof v.ByteStringBuffer&&(e=e.data,t="binary"),t=t||"binary",typeof e=="string"){var o;if(t==="hex")return this.accommodate(Math.ceil(e.length/2)),o=new Uint8Array(this.data.buffer,this.write),this.write+=v.binary.hex.decode(e,o,this.write),this;if(t==="base64")return this.accommodate(Math.ceil(e.length/4)*3),o=new Uint8Array(this.data.buffer,this.write),this.write+=v.binary.base64.decode(e,o,this.write),this;if(t==="utf8"&&(e=v.encodeUtf8(e),t="binary"),t==="binary"||t==="raw")return this.accommodate(e.length),o=new Uint8Array(this.data.buffer,this.write),this.write+=v.binary.raw.decode(o),this;if(t==="utf16")return this.accommodate(e.length*2),o=new Uint16Array(this.data.buffer,this.write),this.write+=v.text.utf16.encode(o),this;throw new Error("Invalid encoding: "+t)}throw Error("Invalid parameter: "+e)};v.DataBuffer.prototype.putBuffer=function(e){return this.putBytes(e),e.clear(),this};v.DataBuffer.prototype.putString=function(e){return this.putBytes(e,"utf16")};v.DataBuffer.prototype.putInt16=function(e){return this.accommodate(2),this.data.setInt16(this.write,e),this.write+=2,this};v.DataBuffer.prototype.putInt24=function(e){return this.accommodate(3),this.data.setInt16(this.write,e>>8&65535),this.data.setInt8(this.write,e>>16&255),this.write+=3,this};v.DataBuffer.prototype.putInt32=function(e){return this.accommodate(4),this.data.setInt32(this.write,e),this.write+=4,this};v.DataBuffer.prototype.putInt16Le=function(e){return this.accommodate(2),this.data.setInt16(this.write,e,!0),this.write+=2,this};v.DataBuffer.prototype.putInt24Le=function(e){return this.accommodate(3),this.data.setInt8(this.write,e>>16&255),this.data.setInt16(this.write,e>>8&65535,!0),this.write+=3,this};v.DataBuffer.prototype.putInt32Le=function(e){return this.accommodate(4),this.data.setInt32(this.write,e,!0),this.write+=4,this};v.DataBuffer.prototype.putInt=function(e,t){R0(t),this.accommodate(t/8);do t-=8,this.data.setInt8(this.write++,e>>t&255);while(t>0);return this};v.DataBuffer.prototype.putSignedInt=function(e,t){return R0(t),this.accommodate(t/8),e<0&&(e+=2<<t-1),this.putInt(e,t)};v.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};v.DataBuffer.prototype.getInt16=function(){var e=this.data.getInt16(this.read);return this.read+=2,e};v.DataBuffer.prototype.getInt24=function(){var e=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,e};v.DataBuffer.prototype.getInt32=function(){var e=this.data.getInt32(this.read);return this.read+=4,e};v.DataBuffer.prototype.getInt16Le=function(){var e=this.data.getInt16(this.read,!0);return this.read+=2,e};v.DataBuffer.prototype.getInt24Le=function(){var e=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,e};v.DataBuffer.prototype.getInt32Le=function(){var e=this.data.getInt32(this.read,!0);return this.read+=4,e};v.DataBuffer.prototype.getInt=function(e){R0(e);var t=0;do t=(t<<8)+this.data.getInt8(this.read++),e-=8;while(e>0);return t};v.DataBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<<e-2;return t>=r&&(t-=r<<1),t};v.DataBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):e===0?t="":(t=this.read===0?this.data:this.data.slice(this.read),this.clear()),t};v.DataBuffer.prototype.bytes=function(e){return typeof e>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+e)};v.DataBuffer.prototype.at=function(e){return this.data.getUint8(this.read+e)};v.DataBuffer.prototype.setAt=function(e,t){return this.data.setUint8(e,t),this};v.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)};v.DataBuffer.prototype.copy=function(){return new v.DataBuffer(this)};v.DataBuffer.prototype.compact=function(){if(this.read>0){var e=new Uint8Array(this.data.buffer,this.read),t=new Uint8Array(e.byteLength);t.set(e),this.data=new DataView(t),this.write-=this.read,this.read=0}return this};v.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};v.DataBuffer.prototype.truncate=function(e){return this.write=Math.max(0,this.length()-e),this.read=Math.min(this.read,this.write),this};v.DataBuffer.prototype.toHex=function(){for(var e="",t=this.read;t<this.data.byteLength;++t){var r=this.data.getUint8(t);r<16&&(e+="0"),e+=r.toString(16)}return e};v.DataBuffer.prototype.toString=function(e){var t=new Uint8Array(this.data,this.read,this.length());if(e=e||"utf8",e==="binary"||e==="raw")return v.binary.raw.encode(t);if(e==="hex")return v.binary.hex.encode(t);if(e==="base64")return v.binary.base64.encode(t);if(e==="utf8")return v.text.utf8.decode(t);if(e==="utf16")return v.text.utf16.decode(t);throw new Error("Invalid encoding: "+e)};v.createBuffer=function(e,t){return t=t||"raw",e!==void 0&&t==="utf8"&&(e=v.encodeUtf8(e)),new v.ByteBuffer(e)};v.fillString=function(e,t){for(var r="";t>0;)t&1&&(r+=e),t>>>=1,t>0&&(e+=e);return r};v.xorBytes=function(e,t,r){for(var n="",i="",o="",s=0,a=0;r>0;--r,++s)i=e.charCodeAt(s)^t.charCodeAt(s),a>=10&&(n+=o,o="",a=0),o+=String.fromCharCode(i),++a;return n+=o,n};v.hexToBytes=function(e){var t="",r=0;for(e.length&!0&&(r=1,t+=String.fromCharCode(parseInt(e[0],16)));r<e.length;r+=2)t+=String.fromCharCode(parseInt(e.substr(r,2),16));return t};v.bytesToHex=function(e){return v.createBuffer(e).toHex()};v.int32ToBytes=function(e){return String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255)};var Br="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Cr=[62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,64,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],z4="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";v.encode64=function(e,t){for(var r="",n="",i,o,s,a=0;a<e.length;)i=e.charCodeAt(a++),o=e.charCodeAt(a++),s=e.charCodeAt(a++),r+=Br.charAt(i>>2),r+=Br.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=Br.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":Br.charAt(s&63)),t&&r.length>t&&(n+=r.substr(0,t)+`\r
|
|
5
|
+
`,r=r.substr(t));return n+=r,n};v.decode64=function(e){e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var t="",r,n,i,o,s=0;s<e.length;)r=Cr[e.charCodeAt(s++)-43],n=Cr[e.charCodeAt(s++)-43],i=Cr[e.charCodeAt(s++)-43],o=Cr[e.charCodeAt(s++)-43],t+=String.fromCharCode(r<<2|n>>4),i!==64&&(t+=String.fromCharCode((n&15)<<4|i>>2),o!==64&&(t+=String.fromCharCode((i&3)<<6|o)));return t};v.encodeUtf8=function(e){return unescape(encodeURIComponent(e))};v.decodeUtf8=function(e){return decodeURIComponent(escape(e))};v.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:q4.encode,decode:q4.decode}};v.binary.raw.encode=function(e){return String.fromCharCode.apply(null,e)};v.binary.raw.decode=function(e,t,r){var n=t;n||(n=new Uint8Array(e.length)),r=r||0;for(var i=r,o=0;o<e.length;++o)n[i++]=e.charCodeAt(o);return t?i-r:n};v.binary.hex.encode=v.bytesToHex;v.binary.hex.decode=function(e,t,r){var n=t;n||(n=new Uint8Array(Math.ceil(e.length/2))),r=r||0;var i=0,o=r;for(e.length&1&&(i=1,n[o++]=parseInt(e[0],16));i<e.length;i+=2)n[o++]=parseInt(e.substr(i,2),16);return t?o-r:n};v.binary.base64.encode=function(e,t){for(var r="",n="",i,o,s,a=0;a<e.byteLength;)i=e[a++],o=e[a++],s=e[a++],r+=Br.charAt(i>>2),r+=Br.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=Br.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":Br.charAt(s&63)),t&&r.length>t&&(n+=r.substr(0,t)+`\r
|
|
6
|
+
`,r=r.substr(t));return n+=r,n};v.binary.base64.decode=function(e,t,r){var n=t;n||(n=new Uint8Array(Math.ceil(e.length/4)*3)),e=e.replace(/[^A-Za-z0-9\+\/\=]/g,""),r=r||0;for(var i,o,s,a,u=0,c=r;u<e.length;)i=Cr[e.charCodeAt(u++)-43],o=Cr[e.charCodeAt(u++)-43],s=Cr[e.charCodeAt(u++)-43],a=Cr[e.charCodeAt(u++)-43],n[c++]=i<<2|o>>4,s!==64&&(n[c++]=(o&15)<<4|s>>2,a!==64&&(n[c++]=(s&3)<<6|a));return t?c-r:n.subarray(0,c)};v.binary.base58.encode=function(e,t){return v.binary.baseN.encode(e,z4,t)};v.binary.base58.decode=function(e,t){return v.binary.baseN.decode(e,z4,t)};v.text={utf8:{},utf16:{}};v.text.utf8.encode=function(e,t,r){e=v.encodeUtf8(e);var n=t;n||(n=new Uint8Array(e.length)),r=r||0;for(var i=r,o=0;o<e.length;++o)n[i++]=e.charCodeAt(o);return t?i-r:n};v.text.utf8.decode=function(e){return v.decodeUtf8(String.fromCharCode.apply(null,e))};v.text.utf16.encode=function(e,t,r){var n=t;n||(n=new Uint8Array(e.length*2));var i=new Uint16Array(n.buffer);r=r||0;for(var o=r,s=r,a=0;a<e.length;++a)i[s++]=e.charCodeAt(a),o+=2;return t?o-r:n};v.text.utf16.decode=function(e){return String.fromCharCode.apply(null,new Uint16Array(e.buffer))};v.deflate=function(e,t,r){if(t=v.decode64(e.deflate(v.encode64(t)).rval),r){var n=2,i=t.charCodeAt(1);i&32&&(n=6),t=t.substring(n,t.length-4)}return t};v.inflate=function(e,t,r){var n=e.inflate(v.encode64(t)).rval;return n===null?null:v.decode64(n)};var Cs=function(e,t,r){if(!e)throw new Error("WebStorage not available.");var n;if(r===null?n=e.removeItem(t):(r=v.encode64(JSON.stringify(r)),n=e.setItem(t,r)),typeof n<"u"&&n.rval!==!0){var i=new Error(n.error.message);throw i.id=n.error.id,i.name=n.error.name,i}},_s=function(e,t){if(!e)throw new Error("WebStorage not available.");var r=e.getItem(t);if(e.init)if(r.rval===null){if(r.error){var n=new Error(r.error.message);throw n.id=r.error.id,n.name=r.error.name,n}r=null}else r=r.rval;return r!==null&&(r=JSON.parse(v.decode64(r))),r},c7=function(e,t,r,n){var i=_s(e,t);i===null&&(i={}),i[r]=n,Cs(e,t,i)},f7=function(e,t,r){var n=_s(e,t);return n!==null&&(n=r in n?n[r]:null),n},l7=function(e,t,r){var n=_s(e,t);if(n!==null&&r in n){delete n[r];var i=!0;for(var o in n){i=!1;break}i&&(n=null),Cs(e,t,n)}},h7=function(e,t){Cs(e,t,null)},$i=function(e,t,r){var n=null;typeof r>"u"&&(r=["web","flash"]);var i,o=!1,s=null;for(var a in r){i=r[a];try{if(i==="flash"||i==="both"){if(t[0]===null)throw new Error("Flash local storage not available.");n=e.apply(this,t),o=i==="flash"}(i==="web"||i==="both")&&(t[0]=localStorage,n=e.apply(this,t),o=!0)}catch(u){s=u}if(o)break}if(!o)throw s;return n};v.setItem=function(e,t,r,n,i){$i(c7,arguments,i)};v.getItem=function(e,t,r,n){return $i(f7,arguments,n)};v.removeItem=function(e,t,r,n){$i(l7,arguments,n)};v.clearItems=function(e,t,r){$i(h7,arguments,r)};v.isEmpty=function(e){for(var t in e)if(e.hasOwnProperty(t))return!1;return!0};v.format=function(e){for(var t=/%./g,r,n,i=0,o=[],s=0;r=t.exec(e);){n=e.substring(s,t.lastIndex-2),n.length>0&&o.push(n),s=t.lastIndex;var a=r[0][1];switch(a){case"s":case"o":i<arguments.length?o.push(arguments[i+++1]):o.push("<?>");break;case"%":o.push("%");break;default:o.push("<%"+a+"?>")}}return o.push(e.substring(s)),o.join("")};v.formatNumber=function(e,t,r,n){var i=e,o=isNaN(t=Math.abs(t))?2:t,s=r===void 0?",":r,a=n===void 0?".":n,u=i<0?"-":"",c=parseInt(i=Math.abs(+i||0).toFixed(o),10)+"",f=c.length>3?c.length%3:0;return u+(f?c.substr(0,f)+a:"")+c.substr(f).replace(/(\d{3})(?=\d)/g,"$1"+a)+(o?s+Math.abs(i-c).toFixed(o).slice(2):"")};v.formatSize=function(e){return e>=1073741824?e=v.formatNumber(e/1073741824,2,".","")+" GiB":e>=1048576?e=v.formatNumber(e/1048576,2,".","")+" MiB":e>=1024?e=v.formatNumber(e/1024,0)+" KiB":e=v.formatNumber(e,0)+" bytes",e};v.bytesFromIP=function(e){return e.indexOf(".")!==-1?v.bytesFromIPv4(e):e.indexOf(":")!==-1?v.bytesFromIPv6(e):null};v.bytesFromIPv4=function(e){if(e=e.split("."),e.length!==4)return null;for(var t=v.createBuffer(),r=0;r<e.length;++r){var n=parseInt(e[r],10);if(isNaN(n))return null;t.putByte(n)}return t.getBytes()};v.bytesFromIPv6=function(e){var t=0;e=e.split(":").filter(function(s){return s.length===0&&++t,!0});for(var r=(8-e.length+t)*2,n=v.createBuffer(),i=0;i<8;++i){if(!e[i]||e[i].length===0){n.fillWithByte(0,r),r=0;continue}var o=v.hexToBytes(e[i]);o.length<2&&n.putByte(0),n.putBytes(o)}return n.getBytes()};v.bytesToIP=function(e){return e.length===4?v.bytesToIPv4(e):e.length===16?v.bytesToIPv6(e):null};v.bytesToIPv4=function(e){if(e.length!==4)return null;for(var t=[],r=0;r<e.length;++r)t.push(e.charCodeAt(r));return t.join(".")};v.bytesToIPv6=function(e){if(e.length!==16)return null;for(var t=[],r=[],n=0,i=0;i<e.length;i+=2){for(var o=v.bytesToHex(e[i]+e[i+1]);o[0]==="0"&&o!=="0";)o=o.substr(1);if(o==="0"){var s=r[r.length-1],a=t.length;!s||a!==s.end+1?r.push({start:a,end:a}):(s.end=a,s.end-s.start>r[n].end-r[n].start&&(n=r.length-1))}t.push(o)}if(r.length>0){var u=r[n];u.end-u.start>0&&(t.splice(u.start,u.end-u.start+1,""),u.start===0&&t.unshift(""),u.end===7&&t.push(""))}return t.join(":")};v.estimateCores=function(e,t){if(typeof e=="function"&&(t=e,e={}),e=e||{},"cores"in v&&!e.update)return t(null,v.cores);if(typeof navigator<"u"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return v.cores=navigator.hardwareConcurrency,t(null,v.cores);if(typeof Worker>"u")return v.cores=1,t(null,v.cores);if(typeof Blob>"u")return v.cores=2,t(null,v.cores);var r=URL.createObjectURL(new Blob(["(",function(){self.addEventListener("message",function(s){for(var a=Date.now(),u=a+4;Date.now()<u;);self.postMessage({st:a,et:u})})}.toString(),")()"],{type:"application/javascript"}));n([],5,16);function n(s,a,u){if(a===0){var c=Math.floor(s.reduce(function(f,l){return f+l},0)/s.length);return v.cores=Math.max(1,c),URL.revokeObjectURL(r),t(null,v.cores)}i(u,function(f,l){s.push(o(u,l)),n(s,a-1,u)})}function i(s,a){for(var u=[],c=[],f=0;f<s;++f){var l=new Worker(r);l.addEventListener("message",function(d){if(c.push(d.data),c.length===s){for(var p=0;p<s;++p)u[p].terminate();a(null,c)}}),u.push(l)}for(var f=0;f<s;++f)u[f].postMessage(f)}function o(s,a){for(var u=[],c=0;c<s;++c)for(var f=a[c],l=u[c]=[],d=0;d<s;++d)if(c!==d){var p=a[d];(f.st>p.st&&f.st<p.et||p.st>f.st&&p.st<f.et)&&l.push(d)}return u.reduce(function(h,y){return Math.max(h,y.length)},0)}}});var Rs=D((km,H4)=>{var Ut=nt();Ct();H4.exports=Ut.cipher=Ut.cipher||{};Ut.cipher.algorithms=Ut.cipher.algorithms||{};Ut.cipher.createCipher=function(e,t){var r=e;if(typeof r=="string"&&(r=Ut.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+e);return new Ut.cipher.BlockCipher({algorithm:r,key:t,decrypt:!1})};Ut.cipher.createDecipher=function(e,t){var r=e;if(typeof r=="string"&&(r=Ut.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+e);return new Ut.cipher.BlockCipher({algorithm:r,key:t,decrypt:!0})};Ut.cipher.registerAlgorithm=function(e,t){e=e.toUpperCase(),Ut.cipher.algorithms[e]=t};Ut.cipher.getAlgorithm=function(e){return e=e.toUpperCase(),e in Ut.cipher.algorithms?Ut.cipher.algorithms[e]:null};var Ts=Ut.cipher.BlockCipher=function(e){this.algorithm=e.algorithm,this.mode=this.algorithm.mode,this.blockSize=this.mode.blockSize,this._finish=!1,this._input=null,this.output=null,this._op=e.decrypt?this.mode.decrypt:this.mode.encrypt,this._decrypt=e.decrypt,this.algorithm.initialize(e)};Ts.prototype.start=function(e){e=e||{};var t={};for(var r in e)t[r]=e[r];t.decrypt=this._decrypt,this._finish=!1,this._input=Ut.util.createBuffer(),this.output=e.output||Ut.util.createBuffer(),this.mode.start(t)};Ts.prototype.update=function(e){for(e&&this._input.putBuffer(e);!this._op.call(this.mode,this._input,this.output,this._finish)&&!this._finish;);this._input.compact()};Ts.prototype.finish=function(e){e&&(this.mode.name==="ECB"||this.mode.name==="CBC")&&(this.mode.pad=function(r){return e(this.blockSize,r,!1)},this.mode.unpad=function(r){return e(this.blockSize,r,!0)});var t={};return t.decrypt=this._decrypt,t.overflow=this._input.length()%this.blockSize,!(!this._decrypt&&this.mode.pad&&!this.mode.pad(this._input,t)||(this._finish=!0,this.update(),this._decrypt&&this.mode.unpad&&!this.mode.unpad(this.output,t))||this.mode.afterFinish&&!this.mode.afterFinish(this.output,t))}});var Ns=D((Dm,G4)=>{var Ot=nt();Ct();Ot.cipher=Ot.cipher||{};var H=G4.exports=Ot.cipher.modes=Ot.cipher.modes||{};H.ecb=function(e){e=e||{},this.name="ECB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};H.ecb.prototype.start=function(e){};H.ecb.prototype.encrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n])};H.ecb.prototype.decrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n])};H.ecb.prototype.pad=function(e,t){var r=e.length()===this.blockSize?this.blockSize:this.blockSize-e.length();return e.fillWithByte(r,r),!0};H.ecb.prototype.unpad=function(e,t){if(t.overflow>0)return!1;var r=e.length(),n=e.at(r-1);return n>this.blockSize<<2?!1:(e.truncate(n),!0)};H.cbc=function(e){e=e||{},this.name="CBC",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};H.cbc.prototype.start=function(e){if(e.iv===null){if(!this._prev)throw new Error("Invalid IV parameter.");this._iv=this._prev.slice(0)}else if("iv"in e)this._iv=Hi(e.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};H.cbc.prototype.encrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=this._prev[n]^e.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n]);this._prev=this._outBlock};H.cbc.prototype.decrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._prev[n]^this._outBlock[n]);this._prev=this._inBlock.slice(0)};H.cbc.prototype.pad=function(e,t){var r=e.length()===this.blockSize?this.blockSize:this.blockSize-e.length();return e.fillWithByte(r,r),!0};H.cbc.prototype.unpad=function(e,t){if(t.overflow>0)return!1;var r=e.length(),n=e.at(r-1);return n>this.blockSize<<2?!1:(e.truncate(n),!0)};H.cfb=function(e){e=e||{},this.name="CFB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialBlock=new Array(this._ints),this._partialOutput=Ot.util.createBuffer(),this._partialBytes=0};H.cfb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=Hi(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};H.cfb.prototype.encrypt=function(e,t,r){var n=e.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=e.getInt32()^this._outBlock[i],t.putInt32(this._inBlock[i]);return}var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=e.getInt32()^this._outBlock[i],this._partialOutput.putInt32(this._partialBlock[i]);if(o>0)e.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};H.cfb.prototype.decrypt=function(e,t,r){var n=e.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=e.getInt32(),t.putInt32(this._inBlock[i]^this._outBlock[i]);return}var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=e.getInt32(),this._partialOutput.putInt32(this._partialBlock[i]^this._outBlock[i]);if(o>0)e.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};H.ofb=function(e){e=e||{},this.name="OFB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=Ot.util.createBuffer(),this._partialBytes=0};H.ofb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=Hi(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};H.ofb.prototype.encrypt=function(e,t,r){var n=e.length();if(e.length()===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)t.putInt32(e.getInt32()^this._outBlock[i]),this._inBlock[i]=this._outBlock[i];return}var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(e.getInt32()^this._outBlock[i]);if(o>0)e.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._outBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};H.ofb.prototype.decrypt=H.ofb.prototype.encrypt;H.ctr=function(e){e=e||{},this.name="CTR",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=Ot.util.createBuffer(),this._partialBytes=0};H.ctr.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=Hi(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};H.ctr.prototype.encrypt=function(e,t,r){var n=e.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize)for(var i=0;i<this._ints;++i)t.putInt32(e.getInt32()^this._outBlock[i]);else{var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(e.getInt32()^this._outBlock[i]);if(o>0&&(e.read-=this.blockSize),this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}Gi(this._inBlock)};H.ctr.prototype.decrypt=H.ctr.prototype.encrypt;H.gcm=function(e){e=e||{},this.name="GCM",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints),this._partialOutput=Ot.util.createBuffer(),this._partialBytes=0,this._R=3774873600};H.gcm.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");var t=Ot.util.createBuffer(e.iv);this._cipherLength=0;var r;if("additionalData"in e?r=Ot.util.createBuffer(e.additionalData):r=Ot.util.createBuffer(),"tagLength"in e?this._tagLength=e.tagLength:this._tagLength=128,this._tag=null,e.decrypt&&(this._tag=Ot.util.createBuffer(e.tag).getBytes(),this._tag.length!==this._tagLength/8))throw new Error("Authentication tag does not match tag length.");this._hashBlock=new Array(this._ints),this.tag=null,this._hashSubkey=new Array(this._ints),this.cipher.encrypt([0,0,0,0],this._hashSubkey),this.componentBits=4,this._m=this.generateHashTable(this._hashSubkey,this.componentBits);var n=t.length();if(n===12)this._j0=[t.getInt32(),t.getInt32(),t.getInt32(),1];else{for(this._j0=[0,0,0,0];t.length()>0;)this._j0=this.ghash(this._hashSubkey,this._j0,[t.getInt32(),t.getInt32(),t.getInt32(),t.getInt32()]);this._j0=this.ghash(this._hashSubkey,this._j0,[0,0].concat(Ps(n*8)))}this._inBlock=this._j0.slice(0),Gi(this._inBlock),this._partialBytes=0,r=Ot.util.createBuffer(r),this._aDataLength=Ps(r.length()*8);var i=r.length()%this.blockSize;for(i&&r.fillWithByte(0,this.blockSize-i),this._s=[0,0,0,0];r.length()>0;)this._s=this.ghash(this._hashSubkey,this._s,[r.getInt32(),r.getInt32(),r.getInt32(),r.getInt32()])};H.gcm.prototype.encrypt=function(e,t,r){var n=e.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)t.putInt32(this._outBlock[i]^=e.getInt32());this._cipherLength+=this.blockSize}else{var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(e.getInt32()^this._outBlock[i]);if(o<=0||r){if(r){var s=n%this.blockSize;this._cipherLength+=s,this._partialOutput.truncate(this.blockSize-s)}else this._cipherLength+=this.blockSize;for(var i=0;i<this._ints;++i)this._outBlock[i]=this._partialOutput.getInt32();this._partialOutput.read-=this.blockSize}if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return e.read-=this.blockSize,t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}this._s=this.ghash(this._hashSubkey,this._s,this._outBlock),Gi(this._inBlock)};H.gcm.prototype.decrypt=function(e,t,r){var n=e.length();if(n<this.blockSize&&!(r&&n>0))return!0;this.cipher.encrypt(this._inBlock,this._outBlock),Gi(this._inBlock),this._hashBlock[0]=e.getInt32(),this._hashBlock[1]=e.getInt32(),this._hashBlock[2]=e.getInt32(),this._hashBlock[3]=e.getInt32(),this._s=this.ghash(this._hashSubkey,this._s,this._hashBlock);for(var i=0;i<this._ints;++i)t.putInt32(this._outBlock[i]^this._hashBlock[i]);n<this.blockSize?this._cipherLength+=n%this.blockSize:this._cipherLength+=this.blockSize};H.gcm.prototype.afterFinish=function(e,t){var r=!0;t.decrypt&&t.overflow&&e.truncate(this.blockSize-t.overflow),this.tag=Ot.util.createBuffer();var n=this._aDataLength.concat(Ps(this._cipherLength*8));this._s=this.ghash(this._hashSubkey,this._s,n);var i=[];this.cipher.encrypt(this._j0,i);for(var o=0;o<this._ints;++o)this.tag.putInt32(this._s[o]^i[o]);return this.tag.truncate(this.tag.length()%(this._tagLength/8)),t.decrypt&&this.tag.bytes()!==this._tag&&(r=!1),r};H.gcm.prototype.multiply=function(e,t){for(var r=[0,0,0,0],n=t.slice(0),i=0;i<128;++i){var o=e[i/32|0]&1<<31-i%32;o&&(r[0]^=n[0],r[1]^=n[1],r[2]^=n[2],r[3]^=n[3]),this.pow(n,n)}return r};H.gcm.prototype.pow=function(e,t){for(var r=e[3]&1,n=3;n>0;--n)t[n]=e[n]>>>1|(e[n-1]&1)<<31;t[0]=e[0]>>>1,r&&(t[0]^=this._R)};H.gcm.prototype.tableMultiply=function(e){for(var t=[0,0,0,0],r=0;r<32;++r){var n=r/8|0,i=e[n]>>>(7-r%8)*4&15,o=this._m[r][i];t[0]^=o[0],t[1]^=o[1],t[2]^=o[2],t[3]^=o[3]}return t};H.gcm.prototype.ghash=function(e,t,r){return t[0]^=r[0],t[1]^=r[1],t[2]^=r[2],t[3]^=r[3],this.tableMultiply(t)};H.gcm.prototype.generateHashTable=function(e,t){for(var r=8/t,n=4*r,i=16*r,o=new Array(i),s=0;s<i;++s){var a=[0,0,0,0],u=s/n|0,c=(n-1-s%n)*t;a[u]=1<<t-1<<c,o[s]=this.generateSubHashTable(this.multiply(a,e),t)}return o};H.gcm.prototype.generateSubHashTable=function(e,t){var r=1<<t,n=r>>>1,i=new Array(r);i[n]=e.slice(0);for(var o=n>>>1;o>0;)this.pow(i[2*o],i[o]=[]),o>>=1;for(o=2;o<n;){for(var s=1;s<o;++s){var a=i[o],u=i[s];i[o+s]=[a[0]^u[0],a[1]^u[1],a[2]^u[2],a[3]^u[3]]}o*=2}for(i[0]=[0,0,0,0],o=n+1;o<r;++o){var c=i[o^n];i[o]=[e[0]^c[0],e[1]^c[1],e[2]^c[2],e[3]^c[3]]}return i};function Hi(e,t){if(typeof e=="string"&&(e=Ot.util.createBuffer(e)),Ot.util.isArray(e)&&e.length>4){var r=e;e=Ot.util.createBuffer();for(var n=0;n<r.length;++n)e.putByte(r[n])}if(e.length()<t)throw new Error("Invalid IV length; got "+e.length()+" bytes and expected "+t+" bytes.");if(!Ot.util.isArray(e)){for(var i=[],o=t/4,n=0;n<o;++n)i.push(e.getInt32());e=i}return e}function Gi(e){e[e.length-1]=e[e.length-1]+1&4294967295}function Ps(e){return[e/4294967296|0,e&4294967295]}});var Wi=D((Fm,Z4)=>{var at=nt();Rs();Ns();Ct();Z4.exports=at.aes=at.aes||{};at.aes.startEncrypting=function(e,t,r,n){var i=Qi({key:e,output:r,decrypt:!1,mode:n});return i.start(t),i};at.aes.createEncryptionCipher=function(e,t){return Qi({key:e,output:null,decrypt:!1,mode:t})};at.aes.startDecrypting=function(e,t,r,n){var i=Qi({key:e,output:r,decrypt:!0,mode:n});return i.start(t),i};at.aes.createDecryptionCipher=function(e,t){return Qi({key:e,output:null,decrypt:!0,mode:t})};at.aes.Algorithm=function(e,t){Ds||W4();var r=this;r.name=e,r.mode=new t({blockSize:16,cipher:{encrypt:function(n,i){return ks(r._w,n,i,!1)},decrypt:function(n,i){return ks(r._w,n,i,!0)}}}),r._init=!1};at.aes.Algorithm.prototype.initialize=function(e){if(!this._init){var t=e.key,r;if(typeof t=="string"&&(t.length===16||t.length===24||t.length===32))t=at.util.createBuffer(t);else if(at.util.isArray(t)&&(t.length===16||t.length===24||t.length===32)){r=t,t=at.util.createBuffer();for(var n=0;n<r.length;++n)t.putByte(r[n])}if(!at.util.isArray(t)){r=t,t=[];var i=r.length();if(i===16||i===24||i===32){i=i>>>2;for(var n=0;n<i;++n)t.push(r.getInt32())}}if(!at.util.isArray(t)||!(t.length===4||t.length===6||t.length===8))throw new Error("Invalid key parameter.");var o=this.mode.name,s=["CFB","OFB","CTR","GCM"].indexOf(o)!==-1;this._w=Y4(t,e.decrypt&&!s),this._init=!0}};at.aes._expandKey=function(e,t){return Ds||W4(),Y4(e,t)};at.aes._updateBlock=ks;zn("AES-ECB",at.cipher.modes.ecb);zn("AES-CBC",at.cipher.modes.cbc);zn("AES-CFB",at.cipher.modes.cfb);zn("AES-OFB",at.cipher.modes.ofb);zn("AES-CTR",at.cipher.modes.ctr);zn("AES-GCM",at.cipher.modes.gcm);function zn(e,t){var r=function(){return new at.aes.Algorithm(e,t)};at.cipher.registerAlgorithm(e,r)}var Ds=!1,qn=4,$t,Ls,Q4,Jr,be;function W4(){Ds=!0,Q4=[0,1,2,4,8,16,32,64,128,27,54];for(var e=new Array(256),t=0;t<128;++t)e[t]=t<<1,e[t+128]=t+128<<1^283;$t=new Array(256),Ls=new Array(256),Jr=new Array(4),be=new Array(4);for(var t=0;t<4;++t)Jr[t]=new Array(256),be[t]=new Array(256);for(var r=0,n=0,i,o,s,a,u,c,f,t=0;t<256;++t){a=n^n<<1^n<<2^n<<3^n<<4,a=a>>8^a&255^99,$t[r]=a,Ls[a]=r,u=e[a],i=e[r],o=e[i],s=e[o],c=u<<24^a<<16^a<<8^(a^u),f=(i^o^s)<<24^(r^s)<<16^(r^o^s)<<8^(r^i^s);for(var l=0;l<4;++l)Jr[l][r]=c,be[l][a]=f,c=c<<24|c>>>8,f=f<<24|f>>>8;r===0?r=n=1:(r=i^e[e[e[i^s]]],n^=e[e[n]])}}function Y4(e,t){for(var r=e.slice(0),n,i=1,o=r.length,s=o+6+1,a=qn*s,u=o;u<a;++u)n=r[u-1],u%o===0?(n=$t[n>>>16&255]<<24^$t[n>>>8&255]<<16^$t[n&255]<<8^$t[n>>>24]^Q4[i]<<24,i++):o>6&&u%o===4&&(n=$t[n>>>24]<<24^$t[n>>>16&255]<<16^$t[n>>>8&255]<<8^$t[n&255]),r[u]=r[u-o]^n;if(t){var c,f=be[0],l=be[1],d=be[2],p=be[3],h=r.slice(0);a=r.length;for(var u=0,y=a-qn;u<a;u+=qn,y-=qn)if(u===0||u===a-qn)h[u]=r[y],h[u+1]=r[y+3],h[u+2]=r[y+2],h[u+3]=r[y+1];else for(var g=0;g<qn;++g)c=r[y+g],h[u+(3&-g)]=f[$t[c>>>24]]^l[$t[c>>>16&255]]^d[$t[c>>>8&255]]^p[$t[c&255]];r=h}return r}function ks(e,t,r,n){var i=e.length/4-1,o,s,a,u,c;n?(o=be[0],s=be[1],a=be[2],u=be[3],c=Ls):(o=Jr[0],s=Jr[1],a=Jr[2],u=Jr[3],c=$t);var f,l,d,p,h,y,g;f=t[0]^e[0],l=t[n?3:1]^e[1],d=t[2]^e[2],p=t[n?1:3]^e[3];for(var m=3,x=1;x<i;++x)h=o[f>>>24]^s[l>>>16&255]^a[d>>>8&255]^u[p&255]^e[++m],y=o[l>>>24]^s[d>>>16&255]^a[p>>>8&255]^u[f&255]^e[++m],g=o[d>>>24]^s[p>>>16&255]^a[f>>>8&255]^u[l&255]^e[++m],p=o[p>>>24]^s[f>>>16&255]^a[l>>>8&255]^u[d&255]^e[++m],f=h,l=y,d=g;r[0]=c[f>>>24]<<24^c[l>>>16&255]<<16^c[d>>>8&255]<<8^c[p&255]^e[++m],r[n?3:1]=c[l>>>24]<<24^c[d>>>16&255]<<16^c[p>>>8&255]<<8^c[f&255]^e[++m],r[2]=c[d>>>24]<<24^c[p>>>16&255]<<16^c[f>>>8&255]<<8^c[l&255]^e[++m],r[n?1:3]=c[p>>>24]<<24^c[f>>>16&255]<<16^c[l>>>8&255]<<8^c[d&255]^e[++m]}function Qi(e){e=e||{};var t=(e.mode||"CBC").toUpperCase(),r="AES-"+t,n;e.decrypt?n=at.cipher.createDecipher(r,e.key):n=at.cipher.createCipher(r,e.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof at.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var Yi=D((Qm,X4)=>{var P0=nt();P0.pki=P0.pki||{};var Us=X4.exports=P0.pki.oids=P0.oids=P0.oids||{};function B(e,t){Us[e]=t,Us[t]=e}function rt(e,t){Us[e]=t}B("1.2.840.113549.1.1.1","rsaEncryption");B("1.2.840.113549.1.1.4","md5WithRSAEncryption");B("1.2.840.113549.1.1.5","sha1WithRSAEncryption");B("1.2.840.113549.1.1.7","RSAES-OAEP");B("1.2.840.113549.1.1.8","mgf1");B("1.2.840.113549.1.1.9","pSpecified");B("1.2.840.113549.1.1.10","RSASSA-PSS");B("1.2.840.113549.1.1.11","sha256WithRSAEncryption");B("1.2.840.113549.1.1.12","sha384WithRSAEncryption");B("1.2.840.113549.1.1.13","sha512WithRSAEncryption");B("1.3.101.112","EdDSA25519");B("1.2.840.10040.4.3","dsa-with-sha1");B("1.3.14.3.2.7","desCBC");B("1.3.14.3.2.26","sha1");B("1.3.14.3.2.29","sha1WithRSASignature");B("2.16.840.1.101.3.4.2.1","sha256");B("2.16.840.1.101.3.4.2.2","sha384");B("2.16.840.1.101.3.4.2.3","sha512");B("2.16.840.1.101.3.4.2.4","sha224");B("2.16.840.1.101.3.4.2.5","sha512-224");B("2.16.840.1.101.3.4.2.6","sha512-256");B("1.2.840.113549.2.2","md2");B("1.2.840.113549.2.5","md5");B("1.2.840.113549.1.7.1","data");B("1.2.840.113549.1.7.2","signedData");B("1.2.840.113549.1.7.3","envelopedData");B("1.2.840.113549.1.7.4","signedAndEnvelopedData");B("1.2.840.113549.1.7.5","digestedData");B("1.2.840.113549.1.7.6","encryptedData");B("1.2.840.113549.1.9.1","emailAddress");B("1.2.840.113549.1.9.2","unstructuredName");B("1.2.840.113549.1.9.3","contentType");B("1.2.840.113549.1.9.4","messageDigest");B("1.2.840.113549.1.9.5","signingTime");B("1.2.840.113549.1.9.6","counterSignature");B("1.2.840.113549.1.9.7","challengePassword");B("1.2.840.113549.1.9.8","unstructuredAddress");B("1.2.840.113549.1.9.14","extensionRequest");B("1.2.840.113549.1.9.20","friendlyName");B("1.2.840.113549.1.9.21","localKeyId");B("1.2.840.113549.1.9.22.1","x509Certificate");B("1.2.840.113549.1.12.10.1.1","keyBag");B("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");B("1.2.840.113549.1.12.10.1.3","certBag");B("1.2.840.113549.1.12.10.1.4","crlBag");B("1.2.840.113549.1.12.10.1.5","secretBag");B("1.2.840.113549.1.12.10.1.6","safeContentsBag");B("1.2.840.113549.1.5.13","pkcs5PBES2");B("1.2.840.113549.1.5.12","pkcs5PBKDF2");B("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");B("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");B("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");B("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");B("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");B("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");B("1.2.840.113549.2.7","hmacWithSHA1");B("1.2.840.113549.2.8","hmacWithSHA224");B("1.2.840.113549.2.9","hmacWithSHA256");B("1.2.840.113549.2.10","hmacWithSHA384");B("1.2.840.113549.2.11","hmacWithSHA512");B("1.2.840.113549.3.7","des-EDE3-CBC");B("2.16.840.1.101.3.4.1.2","aes128-CBC");B("2.16.840.1.101.3.4.1.22","aes192-CBC");B("2.16.840.1.101.3.4.1.42","aes256-CBC");B("2.5.4.3","commonName");B("2.5.4.4","surname");B("2.5.4.5","serialNumber");B("2.5.4.6","countryName");B("2.5.4.7","localityName");B("2.5.4.8","stateOrProvinceName");B("2.5.4.9","streetAddress");B("2.5.4.10","organizationName");B("2.5.4.11","organizationalUnitName");B("2.5.4.12","title");B("2.5.4.13","description");B("2.5.4.15","businessCategory");B("2.5.4.17","postalCode");B("2.5.4.42","givenName");B("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");B("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");B("2.16.840.1.113730.1.1","nsCertType");B("2.16.840.1.113730.1.13","nsComment");rt("2.5.29.1","authorityKeyIdentifier");rt("2.5.29.2","keyAttributes");rt("2.5.29.3","certificatePolicies");rt("2.5.29.4","keyUsageRestriction");rt("2.5.29.5","policyMapping");rt("2.5.29.6","subtreesConstraint");rt("2.5.29.7","subjectAltName");rt("2.5.29.8","issuerAltName");rt("2.5.29.9","subjectDirectoryAttributes");rt("2.5.29.10","basicConstraints");rt("2.5.29.11","nameConstraints");rt("2.5.29.12","policyConstraints");rt("2.5.29.13","basicConstraints");B("2.5.29.14","subjectKeyIdentifier");B("2.5.29.15","keyUsage");rt("2.5.29.16","privateKeyUsagePeriod");B("2.5.29.17","subjectAltName");B("2.5.29.18","issuerAltName");B("2.5.29.19","basicConstraints");rt("2.5.29.20","cRLNumber");rt("2.5.29.21","cRLReason");rt("2.5.29.22","expirationDate");rt("2.5.29.23","instructionCode");rt("2.5.29.24","invalidityDate");rt("2.5.29.25","cRLDistributionPoints");rt("2.5.29.26","issuingDistributionPoint");rt("2.5.29.27","deltaCRLIndicator");rt("2.5.29.28","issuingDistributionPoint");rt("2.5.29.29","certificateIssuer");rt("2.5.29.30","nameConstraints");B("2.5.29.31","cRLDistributionPoints");B("2.5.29.32","certificatePolicies");rt("2.5.29.33","policyMappings");rt("2.5.29.34","policyConstraints");B("2.5.29.35","authorityKeyIdentifier");rt("2.5.29.36","policyConstraints");B("2.5.29.37","extKeyUsage");rt("2.5.29.46","freshestCRL");rt("2.5.29.54","inhibitAnyPolicy");B("1.3.6.1.4.1.11129.2.4.2","timestampList");B("1.3.6.1.5.5.7.1.1","authorityInfoAccess");B("1.3.6.1.5.5.7.3.1","serverAuth");B("1.3.6.1.5.5.7.3.2","clientAuth");B("1.3.6.1.5.5.7.3.3","codeSigning");B("1.3.6.1.5.5.7.3.4","emailProtection");B("1.3.6.1.5.5.7.3.8","timeStamping")});var L0=D((Wm,J4)=>{var ft=nt();Ct();Yi();var R=J4.exports=ft.asn1=ft.asn1||{};R.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};R.Type={NONE:0,BOOLEAN:1,INTEGER:2,BITSTRING:3,OCTETSTRING:4,NULL:5,OID:6,ODESC:7,EXTERNAL:8,REAL:9,ENUMERATED:10,EMBEDDED:11,UTF8:12,ROID:13,SEQUENCE:16,SET:17,PRINTABLESTRING:19,IA5STRING:22,UTCTIME:23,GENERALIZEDTIME:24,BMPSTRING:30};R.create=function(e,t,r,n,i){if(ft.util.isArray(n)){for(var o=[],s=0;s<n.length;++s)n[s]!==void 0&&o.push(n[s]);n=o}var a={tagClass:e,type:t,constructed:r,composed:r||ft.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=R.copy(a)),a};R.copy=function(e,t){var r;if(ft.util.isArray(e)){r=[];for(var n=0;n<e.length;++n)r.push(R.copy(e[n],t));return r}return typeof e=="string"?e:(r={tagClass:e.tagClass,type:e.type,constructed:e.constructed,composed:e.composed,value:R.copy(e.value,t)},t&&!t.excludeBitStringContents&&(r.bitStringContents=e.bitStringContents),r)};R.equals=function(e,t,r){if(ft.util.isArray(e)){if(!ft.util.isArray(t)||e.length!==t.length)return!1;for(var n=0;n<e.length;++n)if(!R.equals(e[n],t[n]))return!1;return!0}if(typeof e!=typeof t)return!1;if(typeof e=="string")return e===t;var i=e.tagClass===t.tagClass&&e.type===t.type&&e.constructed===t.constructed&&e.composed===t.composed&&R.equals(e.value,t.value);return r&&r.includeBitStringContents&&(i=i&&e.bitStringContents===t.bitStringContents),i};R.getBerValueLength=function(e){var t=e.getByte();if(t!==128){var r,n=t&128;return n?r=e.getInt((t&127)<<3):r=t,r}};function N0(e,t,r){if(r>t){var n=new Error("Too few bytes to parse DER.");throw n.available=e.length(),n.remaining=t,n.requested=r,n}}var g7=function(e,t){var r=e.getByte();if(t--,r!==128){var n,i=r&128;if(!i)n=r;else{var o=r&127;N0(e,t,o),n=e.getInt(o<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};R.fromDer=function(e,t){t===void 0&&(t={strict:!0,parseAllBytes:!0,decodeBitStrings:!0}),typeof t=="boolean"&&(t={strict:t,parseAllBytes:!0,decodeBitStrings:!0}),"strict"in t||(t.strict=!0),"parseAllBytes"in t||(t.parseAllBytes=!0),"decodeBitStrings"in t||(t.decodeBitStrings=!0),typeof e=="string"&&(e=ft.util.createBuffer(e));var r=e.length(),n=Zi(e,e.length(),0,t);if(t.parseAllBytes&&e.length()!==0){var i=new Error("Unparsed DER bytes remain after ASN.1 parsing.");throw i.byteCount=r,i.remaining=e.length(),i}return n};function Zi(e,t,r,n){var i;N0(e,t,2);var o=e.getByte();t--;var s=o&192,a=o&31;i=e.length();var u=g7(e,t);if(t-=i-e.length(),u!==void 0&&u>t){if(n.strict){var c=new Error("Too few bytes to read ASN.1 value.");throw c.available=e.length(),c.remaining=t,c.requested=u,c}u=t}var f,l,d=(o&32)===32;if(d)if(f=[],u===void 0)for(;;){if(N0(e,t,2),e.bytes(2)===String.fromCharCode(0,0)){e.getBytes(2),t-=2;break}i=e.length(),f.push(Zi(e,t,r+1,n)),t-=i-e.length()}else for(;u>0;)i=e.length(),f.push(Zi(e,u,r+1,n)),t-=i-e.length(),u-=i-e.length();if(f===void 0&&s===R.Class.UNIVERSAL&&a===R.Type.BITSTRING&&(l=e.bytes(u)),f===void 0&&n.decodeBitStrings&&s===R.Class.UNIVERSAL&&a===R.Type.BITSTRING&&u>1){var p=e.read,h=t,y=0;if(a===R.Type.BITSTRING&&(N0(e,t,1),y=e.getByte(),t--),y===0)try{i=e.length();var g={strict:!0,decodeBitStrings:!0},m=Zi(e,t,r+1,g),x=i-e.length();t-=x,a==R.Type.BITSTRING&&x++;var S=m.tagClass;x===u&&(S===R.Class.UNIVERSAL||S===R.Class.CONTEXT_SPECIFIC)&&(f=[m])}catch{}f===void 0&&(e.read=p,t=h)}if(f===void 0){if(u===void 0){if(n.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");u=t}if(a===R.Type.BMPSTRING)for(f="";u>0;u-=2)N0(e,t,2),f+=String.fromCharCode(e.getInt16()),t-=2;else f=e.getBytes(u),t-=u}var L=l===void 0?null:{bitStringContents:l};return R.create(s,a,d,f,L)}R.toDer=function(e){var t=ft.util.createBuffer(),r=e.tagClass|e.type,n=ft.util.createBuffer(),i=!1;if("bitStringContents"in e&&(i=!0,e.original&&(i=R.equals(e,e.original))),i)n.putBytes(e.bitStringContents);else if(e.composed){e.constructed?r|=32:n.putByte(0);for(var o=0;o<e.value.length;++o)e.value[o]!==void 0&&n.putBuffer(R.toDer(e.value[o]))}else if(e.type===R.Type.BMPSTRING)for(var o=0;o<e.value.length;++o)n.putInt16(e.value.charCodeAt(o));else e.type===R.Type.INTEGER&&e.value.length>1&&(e.value.charCodeAt(0)===0&&!(e.value.charCodeAt(1)&128)||e.value.charCodeAt(0)===255&&(e.value.charCodeAt(1)&128)===128)?n.putBytes(e.value.substr(1)):n.putBytes(e.value);if(t.putByte(r),n.length()<=127)t.putByte(n.length()&127);else{var s=n.length(),a="";do a+=String.fromCharCode(s&255),s=s>>>8;while(s>0);t.putByte(a.length|128);for(var o=a.length-1;o>=0;--o)t.putByte(a.charCodeAt(o))}return t.putBuffer(n),t};R.oidToDer=function(e){var t=e.split("."),r=ft.util.createBuffer();r.putByte(40*parseInt(t[0],10)+parseInt(t[1],10));for(var n,i,o,s,a=2;a<t.length;++a){n=!0,i=[],o=parseInt(t[a],10);do s=o&127,o=o>>>7,n||(s|=128),i.push(s),n=!1;while(o>0);for(var u=i.length-1;u>=0;--u)r.putByte(i[u])}return r};R.derToOid=function(e){var t;typeof e=="string"&&(e=ft.util.createBuffer(e));var r=e.getByte();t=Math.floor(r/40)+"."+r%40;for(var n=0;e.length()>0;)r=e.getByte(),n=n<<7,r&128?n+=r&127:(t+="."+(n+r),n=0);return t};R.utcTimeToDate=function(e){var t=new Date,r=parseInt(e.substr(0,2),10);r=r>=50?1900+r:2e3+r;var n=parseInt(e.substr(2,2),10)-1,i=parseInt(e.substr(4,2),10),o=parseInt(e.substr(6,2),10),s=parseInt(e.substr(8,2),10),a=0;if(e.length>11){var u=e.charAt(10),c=10;u!=="+"&&u!=="-"&&(a=parseInt(e.substr(10,2),10),c+=2)}if(t.setUTCFullYear(r,n,i),t.setUTCHours(o,s,a,0),c&&(u=e.charAt(c),u==="+"||u==="-")){var f=parseInt(e.substr(c+1,2),10),l=parseInt(e.substr(c+4,2),10),d=f*60+l;d*=6e4,u==="+"?t.setTime(+t-d):t.setTime(+t+d)}return t};R.generalizedTimeToDate=function(e){var t=new Date,r=parseInt(e.substr(0,4),10),n=parseInt(e.substr(4,2),10)-1,i=parseInt(e.substr(6,2),10),o=parseInt(e.substr(8,2),10),s=parseInt(e.substr(10,2),10),a=parseInt(e.substr(12,2),10),u=0,c=0,f=!1;e.charAt(e.length-1)==="Z"&&(f=!0);var l=e.length-5,d=e.charAt(l);if(d==="+"||d==="-"){var p=parseInt(e.substr(l+1,2),10),h=parseInt(e.substr(l+4,2),10);c=p*60+h,c*=6e4,d==="+"&&(c*=-1),f=!0}return e.charAt(14)==="."&&(u=parseFloat(e.substr(14),10)*1e3),f?(t.setUTCFullYear(r,n,i),t.setUTCHours(o,s,a,u),t.setTime(+t+c)):(t.setFullYear(r,n,i),t.setHours(o,s,a,u)),t};R.dateToUtcTime=function(e){if(typeof e=="string")return e;var t="",r=[];r.push((""+e.getUTCFullYear()).substr(2)),r.push(""+(e.getUTCMonth()+1)),r.push(""+e.getUTCDate()),r.push(""+e.getUTCHours()),r.push(""+e.getUTCMinutes()),r.push(""+e.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(t+="0"),t+=r[n];return t+="Z",t};R.dateToGeneralizedTime=function(e){if(typeof e=="string")return e;var t="",r=[];r.push(""+e.getUTCFullYear()),r.push(""+(e.getUTCMonth()+1)),r.push(""+e.getUTCDate()),r.push(""+e.getUTCHours()),r.push(""+e.getUTCMinutes()),r.push(""+e.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(t+="0"),t+=r[n];return t+="Z",t};R.integerToDer=function(e){var t=ft.util.createBuffer();if(e>=-128&&e<128)return t.putSignedInt(e,8);if(e>=-32768&&e<32768)return t.putSignedInt(e,16);if(e>=-8388608&&e<8388608)return t.putSignedInt(e,24);if(e>=-2147483648&&e<2147483648)return t.putSignedInt(e,32);var r=new Error("Integer too large; max is 32-bits.");throw r.integer=e,r};R.derToInteger=function(e){typeof e=="string"&&(e=ft.util.createBuffer(e));var t=e.length()*8;if(t>32)throw new Error("Integer too large; max is 32-bits.");return e.getSignedInt(t)};R.validate=function(e,t,r,n){var i=!1;if((e.tagClass===t.tagClass||typeof t.tagClass>"u")&&(e.type===t.type||typeof t.type>"u"))if(e.constructed===t.constructed||typeof t.constructed>"u"){if(i=!0,t.value&&ft.util.isArray(t.value))for(var o=0,s=0;i&&s<t.value.length;++s)i=t.value[s].optional||!1,e.value[o]&&(i=R.validate(e.value[o],t.value[s],r,n),i?++o:t.value[s].optional&&(i=!0)),!i&&n&&n.push("["+t.name+'] Tag class "'+t.tagClass+'", type "'+t.type+'" expected value length "'+t.value.length+'", got "'+e.value.length+'"');if(i&&r&&(t.capture&&(r[t.capture]=e.value),t.captureAsn1&&(r[t.captureAsn1]=e),t.captureBitStringContents&&"bitStringContents"in e&&(r[t.captureBitStringContents]=e.bitStringContents),t.captureBitStringValue&&"bitStringContents"in e)){var a;if(e.bitStringContents.length<2)r[t.captureBitStringValue]="";else{var u=e.bitStringContents.charCodeAt(0);if(u!==0)throw new Error("captureBitStringValue only supported for zero unused bits");r[t.captureBitStringValue]=e.bitStringContents.slice(1)}}}else n&&n.push("["+t.name+'] Expected constructed "'+t.constructed+'", got "'+e.constructed+'"');else n&&(e.tagClass!==t.tagClass&&n.push("["+t.name+'] Expected tag class "'+t.tagClass+'", got "'+e.tagClass+'"'),e.type!==t.type&&n.push("["+t.name+'] Expected type "'+t.type+'", got "'+e.type+'"'));return i};var j4=/[^\\u0000-\\u00ff]/;R.prettyPrint=function(e,t,r){var n="";t=t||0,r=r||2,t>0&&(n+=`
|
|
7
7
|
`);for(var i="",o=0;o<t*r;++o)i+=" ";switch(n+=i+"Tag: ",e.tagClass){case R.Class.UNIVERSAL:n+="Universal:";break;case R.Class.APPLICATION:n+="Application:";break;case R.Class.CONTEXT_SPECIFIC:n+="Context-Specific:";break;case R.Class.PRIVATE:n+="Private:";break}if(e.tagClass===R.Class.UNIVERSAL)switch(n+=e.type,e.type){case R.Type.NONE:n+=" (None)";break;case R.Type.BOOLEAN:n+=" (Boolean)";break;case R.Type.INTEGER:n+=" (Integer)";break;case R.Type.BITSTRING:n+=" (Bit string)";break;case R.Type.OCTETSTRING:n+=" (Octet string)";break;case R.Type.NULL:n+=" (Null)";break;case R.Type.OID:n+=" (Object Identifier)";break;case R.Type.ODESC:n+=" (Object Descriptor)";break;case R.Type.EXTERNAL:n+=" (External or Instance of)";break;case R.Type.REAL:n+=" (Real)";break;case R.Type.ENUMERATED:n+=" (Enumerated)";break;case R.Type.EMBEDDED:n+=" (Embedded PDV)";break;case R.Type.UTF8:n+=" (UTF8)";break;case R.Type.ROID:n+=" (Relative Object Identifier)";break;case R.Type.SEQUENCE:n+=" (Sequence)";break;case R.Type.SET:n+=" (Set)";break;case R.Type.PRINTABLESTRING:n+=" (Printable String)";break;case R.Type.IA5String:n+=" (IA5String (ASCII))";break;case R.Type.UTCTIME:n+=" (UTC time)";break;case R.Type.GENERALIZEDTIME:n+=" (Generalized time)";break;case R.Type.BMPSTRING:n+=" (BMP String)";break}else n+=e.type;if(n+=`
|
|
8
8
|
`,n+=i+"Constructed: "+e.constructed+`
|
|
9
|
-
`,e.composed){for(var s=0,a="",o=0;o<e.value.length;++o)e.value[o]!==void 0&&(s+=1,a+=R.prettyPrint(e.value[o],t+1,r),o+1<e.value.length&&(a+=","));n+=i+"Sub values: "+s+a}else{if(n+=i+"Value: ",e.type===R.Type.OID){var u=R.derToOid(e.value);n+=u,ft.pki&&ft.pki.oids&&u in ft.pki.oids&&(n+=" ("+ft.pki.oids[u]+") ")}if(e.type===R.Type.INTEGER)try{n+=R.derToInteger(e.value)}catch{n+="0x"+ft.util.bytesToHex(e.value)}else if(e.type===R.Type.BITSTRING){if(e.value.length>1?n+="0x"+ft.util.bytesToHex(e.value.slice(1)):n+="(none)",e.value.length>0){var c=e.value.charCodeAt(0);c==1?n+=" (1 unused bit shown)":c>1&&(n+=" ("+c+" unused bits shown)")}}else if(e.type===R.Type.OCTETSTRING)X4.test(e.value)||(n+="("+e.value+") "),n+="0x"+ft.util.bytesToHex(e.value);else if(e.type===R.Type.UTF8)try{n+=ft.util.decodeUtf8(e.value)}catch(f){if(f.message==="URI malformed")n+="0x"+ft.util.bytesToHex(e.value)+" (malformed UTF8)";else throw f}else e.type===R.Type.PRINTABLESTRING||e.type===R.Type.IA5String?n+=e.value:X4.test(e.value)?n+="0x"+ft.util.bytesToHex(e.value):e.value.length===0?n+="[null]":n+=e.value}return n}});var e5=D((Gm,t5)=>{var dt=nt();Ts();Ps();Ct();t5.exports=dt.des=dt.des||{};dt.des.startEncrypting=function(e,t,r,n){var i=Zi({key:e,output:r,decrypt:!1,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};dt.des.createEncryptionCipher=function(e,t){return Zi({key:e,output:null,decrypt:!1,mode:t})};dt.des.startDecrypting=function(e,t,r,n){var i=Zi({key:e,output:r,decrypt:!0,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};dt.des.createDecryptionCipher=function(e,t){return Zi({key:e,output:null,decrypt:!0,mode:t})};dt.des.Algorithm=function(e,t){var r=this;r.name=e,r.mode=new t({blockSize:8,cipher:{encrypt:function(n,i){return J4(r._keys,n,i,!1)},decrypt:function(n,i){return J4(r._keys,n,i,!0)}}}),r._init=!1};dt.des.Algorithm.prototype.initialize=function(e){if(!this._init){var t=dt.util.createBuffer(e.key);if(this.name.indexOf("3DES")===0&&t.length()!==24)throw new Error("Invalid Triple-DES key size: "+t.length()*8);this._keys=A7(t),this._init=!0}};Ke("DES-ECB",dt.cipher.modes.ecb);Ke("DES-CBC",dt.cipher.modes.cbc);Ke("DES-CFB",dt.cipher.modes.cfb);Ke("DES-OFB",dt.cipher.modes.ofb);Ke("DES-CTR",dt.cipher.modes.ctr);Ke("3DES-ECB",dt.cipher.modes.ecb);Ke("3DES-CBC",dt.cipher.modes.cbc);Ke("3DES-CFB",dt.cipher.modes.cfb);Ke("3DES-OFB",dt.cipher.modes.ofb);Ke("3DES-CTR",dt.cipher.modes.ctr);function Ke(e,t){var r=function(){return new dt.des.Algorithm(e,t)};dt.cipher.registerAlgorithm(e,r)}var g7=[16843776,0,65536,16843780,16842756,66564,4,65536,1024,16843776,16843780,1024,16778244,16842756,16777216,4,1028,16778240,16778240,66560,66560,16842752,16842752,16778244,65540,16777220,16777220,65540,0,1028,66564,16777216,65536,16843780,4,16842752,16843776,16777216,16777216,1024,16842756,65536,66560,16777220,1024,4,16778244,66564,16843780,65540,16842752,16778244,16777220,1028,66564,16843776,1028,16778240,16778240,0,65540,66560,0,16842756],m7=[-2146402272,-2147450880,32768,1081376,1048576,32,-2146435040,-2147450848,-2147483616,-2146402272,-2146402304,-2147483648,-2147450880,1048576,32,-2146435040,1081344,1048608,-2147450848,0,-2147483648,32768,1081376,-2146435072,1048608,-2147483616,0,1081344,32800,-2146402304,-2146435072,32800,0,1081376,-2146435040,1048576,-2147450848,-2146435072,-2146402304,32768,-2146435072,-2147450880,32,-2146402272,1081376,32,32768,-2147483648,32800,-2146402304,1048576,-2147483616,1048608,-2147450848,-2147483616,1048608,1081344,0,-2147450880,32800,-2147483648,-2146435040,-2146402272,1081344],x7=[520,134349312,0,134348808,134218240,0,131592,134218240,131080,134217736,134217736,131072,134349320,131080,134348800,520,134217728,8,134349312,512,131584,134348800,134348808,131592,134218248,131584,131072,134218248,8,134349320,512,134217728,134349312,134217728,131080,520,131072,134349312,134218240,0,512,131080,134349320,134218240,134217736,512,0,134348808,134218248,131072,134217728,134349320,8,131592,131584,134217736,134348800,134218248,520,134348800,131592,8,134348808,131584],v7=[8396801,8321,8321,128,8396928,8388737,8388609,8193,0,8396800,8396800,8396929,129,0,8388736,8388609,1,8192,8388608,8396801,128,8388608,8193,8320,8388737,1,8320,8388736,8192,8396928,8396929,129,8388736,8388609,8396800,8396929,129,0,0,8396800,8320,8388736,8388737,1,8396801,8321,8321,128,8396929,129,1,8192,8388609,8193,8396928,8388737,8193,8320,8388608,8396801,128,8388608,8192,8396928],w7=[256,34078976,34078720,1107296512,524288,256,1073741824,34078720,1074266368,524288,33554688,1074266368,1107296512,1107820544,524544,1073741824,33554432,1074266112,1074266112,0,1073742080,1107820800,1107820800,33554688,1107820544,1073742080,0,1107296256,34078976,33554432,1107296256,524544,524288,1107296512,256,33554432,1073741824,34078720,1107296512,1074266368,33554688,1073741824,1107820544,34078976,1074266368,256,33554432,1107820544,1107820800,524544,1107296256,1107820800,34078720,0,1074266112,1107296256,524544,33554688,1073742080,524288,0,1074266112,34078976,1073742080],b7=[536870928,541065216,16384,541081616,541065216,16,541081616,4194304,536887296,4210704,4194304,536870928,4194320,536887296,536870912,16400,0,4194320,536887312,16384,4210688,536887312,16,541065232,541065232,0,4210704,541081600,16400,4210688,541081600,536870912,536887296,16,541065232,4210688,541081616,4194304,16400,536870928,4194304,536887296,536870912,16400,536870928,541081616,4210688,541065216,4210704,541081600,0,541065232,16,16384,541065216,4210704,16384,4194320,536887312,0,541081600,536870912,4194320,536887312],E7=[2097152,69206018,67110914,0,2048,67110914,2099202,69208064,69208066,2097152,0,67108866,2,67108864,69206018,2050,67110912,2099202,2097154,67110912,67108866,69206016,69208064,2097154,69206016,2048,2050,69208066,2099200,2,67108864,2099200,67108864,2099200,2097152,67110914,67110914,69206018,69206018,2,2097154,67108864,67110912,2097152,69208064,2050,2099202,69208064,2050,67108866,69208066,69206016,2099200,0,2,69208066,0,2099202,69206016,2048,67108866,67110912,2048,2097154],S7=[268439616,4096,262144,268701760,268435456,268439616,64,268435456,262208,268697600,268701760,266240,268701696,266304,4096,64,268697600,268435520,268439552,4160,266240,262208,268697664,268701696,4160,0,0,268697664,268435520,268439552,266304,262144,266304,262144,268701696,4096,64,268697664,4096,266304,268439552,64,268435520,268697600,268697664,268435456,262144,268439616,0,268701760,262208,268435520,268697600,268439552,268439616,0,268701760,266240,266240,4160,4160,262208,268435456,268701696];function A7(e){for(var t=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],r=[0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697],n=[0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272],i=[0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144],o=[0,262144,16,262160,0,262144,16,262160,4096,266240,4112,266256,4096,266240,4112,266256],s=[0,1024,32,1056,0,1024,32,1056,33554432,33555456,33554464,33555488,33554432,33555456,33554464,33555488],a=[0,268435456,524288,268959744,2,268435458,524290,268959746,0,268435456,524288,268959744,2,268435458,524290,268959746],u=[0,65536,2048,67584,536870912,536936448,536872960,536938496,131072,196608,133120,198656,537001984,537067520,537004032,537069568],c=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],f=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],l=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],d=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],p=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],h=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],y=e.length()>8?3:1,g=[],m=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],v=0,S,L=0;L<y;L++){var T=e.getInt32(),_=e.getInt32();S=(T>>>4^_)&252645135,_^=S,T^=S<<4,S=(_>>>-16^T)&65535,T^=S,_^=S<<-16,S=(T>>>2^_)&858993459,_^=S,T^=S<<2,S=(_>>>-16^T)&65535,T^=S,_^=S<<-16,S=(T>>>1^_)&1431655765,_^=S,T^=S<<1,S=(_>>>8^T)&16711935,T^=S,_^=S<<8,S=(T>>>1^_)&1431655765,_^=S,T^=S<<1,S=T<<8|_>>>20&240,T=_<<24|_<<8&16711680|_>>>8&65280|_>>>24&240,_=S;for(var q=0;q<m.length;++q){m[q]?(T=T<<2|T>>>26,_=_<<2|_>>>26):(T=T<<1|T>>>27,_=_<<1|_>>>27),T&=-15,_&=-15;var G=t[T>>>28]|r[T>>>24&15]|n[T>>>20&15]|i[T>>>16&15]|o[T>>>12&15]|s[T>>>8&15]|a[T>>>4&15],Nt=u[_>>>28]|c[_>>>24&15]|f[_>>>20&15]|l[_>>>16&15]|d[_>>>12&15]|p[_>>>8&15]|h[_>>>4&15];S=(Nt>>>16^G)&65535,g[v++]=G^S,g[v++]=Nt^S<<16}}return g}function J4(e,t,r,n){var i=e.length===32?3:9,o;i===3?o=n?[30,-2,-2]:[0,32,2]:o=n?[94,62,-2,32,64,2,30,-2,-2]:[0,32,2,62,30,-2,64,96,2];var s,a=t[0],u=t[1];s=(a>>>4^u)&252645135,u^=s,a^=s<<4,s=(a>>>16^u)&65535,u^=s,a^=s<<16,s=(u>>>2^a)&858993459,a^=s,u^=s<<2,s=(u>>>8^a)&16711935,a^=s,u^=s<<8,s=(a>>>1^u)&1431655765,u^=s,a^=s<<1,a=a<<1|a>>>31,u=u<<1|u>>>31;for(var c=0;c<i;c+=3){for(var f=o[c+1],l=o[c+2],d=o[c];d!=f;d+=l){var p=u^e[d],h=(u>>>4|u<<28)^e[d+1];s=a,a=u,u=s^(m7[p>>>24&63]|v7[p>>>16&63]|b7[p>>>8&63]|S7[p&63]|g7[h>>>24&63]|x7[h>>>16&63]|w7[h>>>8&63]|E7[h&63])}s=a,a=u,u=s}a=a>>>1|a<<31,u=u>>>1|u<<31,s=(a>>>1^u)&1431655765,u^=s,a^=s<<1,s=(u>>>8^a)&16711935,a^=s,u^=s<<8,s=(u>>>2^a)&858993459,a^=s,u^=s<<2,s=(a>>>16^u)&65535,u^=s,a^=s<<16,s=(a>>>4^u)&252645135,u^=s,a^=s<<4,r[0]=a,r[1]=u}function Zi(e){e=e||{};var t=(e.mode||"CBC").toUpperCase(),r="DES-"+t,n;e.decrypt?n=dt.cipher.createDecipher(r,e.key):n=dt.cipher.createCipher(r,e.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof dt.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var Jr=D((Qm,r5)=>{var Xi=nt();r5.exports=Xi.md=Xi.md||{};Xi.md.algorithms=Xi.md.algorithms||{}});var i5=D((Wm,n5)=>{var ar=nt();Jr();Ct();var I7=n5.exports=ar.hmac=ar.hmac||{};I7.create=function(){var e=null,t=null,r=null,n=null,i={};return i.start=function(o,s){if(o!==null)if(typeof o=="string")if(o=o.toLowerCase(),o in ar.md.algorithms)t=ar.md.algorithms[o].create();else throw new Error('Unknown hash algorithm "'+o+'"');else t=o;if(s===null)s=e;else{if(typeof s=="string")s=ar.util.createBuffer(s);else if(ar.util.isArray(s)){var a=s;s=ar.util.createBuffer();for(var u=0;u<a.length;++u)s.putByte(a[u])}var c=s.length();c>t.blockLength&&(t.start(),t.update(s.bytes()),s=t.digest()),r=ar.util.createBuffer(),n=ar.util.createBuffer(),c=s.length();for(var u=0;u<c;++u){var a=s.at(u);r.putByte(54^a),n.putByte(92^a)}if(c<t.blockLength)for(var a=t.blockLength-c,u=0;u<a;++u)r.putByte(54),n.putByte(92);e=s,r=r.bytes(),n=n.bytes()}t.start(),t.update(r)},i.update=function(o){t.update(o)},i.getMac=function(){var o=t.digest().bytes();return t.start(),t.update(n),t.update(o),t.digest()},i.digest=i.getMac,i}});var $n=D(()=>{});var Us=D((Xm,o5)=>{var Ht=nt();i5();Jr();Ct();var B7=Ht.pkcs5=Ht.pkcs5||{},ur;Ht.util.isNodejs&&!Ht.options.usePureJavaScript&&(ur=$n());o5.exports=Ht.pbkdf2=B7.pbkdf2=function(e,t,r,n,i,o){if(typeof i=="function"&&(o=i,i=null),Ht.util.isNodejs&&!Ht.options.usePureJavaScript&&ur.pbkdf2&&(i===null||typeof i!="object")&&(ur.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),e=Buffer.from(e,"binary"),t=Buffer.from(t,"binary"),o?ur.pbkdf2Sync.length===4?ur.pbkdf2(e,t,r,n,function(S,L){if(S)return o(S);o(null,L.toString("binary"))}):ur.pbkdf2(e,t,r,n,i,function(S,L){if(S)return o(S);o(null,L.toString("binary"))}):ur.pbkdf2Sync.length===4?ur.pbkdf2Sync(e,t,r,n).toString("binary"):ur.pbkdf2Sync(e,t,r,n,i).toString("binary");if((typeof i>"u"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in Ht.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=Ht.md[i].create()}var s=i.digestLength;if(n>4294967295*s){var a=new Error("Derived key is too long.");if(o)return o(a);throw a}var u=Math.ceil(n/s),c=n-(u-1)*s,f=Ht.hmac.create();f.start(i,e);var l="",d,p,h;if(!o){for(var y=1;y<=u;++y){f.start(null,null),f.update(t),f.update(Ht.util.int32ToBytes(y)),d=h=f.digest().getBytes();for(var g=2;g<=r;++g)f.start(null,null),f.update(h),p=f.digest().getBytes(),d=Ht.util.xorBytes(d,p,s),h=p;l+=y<u?d:d.substr(0,c)}return l}var y=1,g;function m(){if(y>u)return o(null,l);f.start(null,null),f.update(t),f.update(Ht.util.int32ToBytes(y)),d=h=f.digest().getBytes(),g=2,v()}function v(){if(g<=r)return f.start(null,null),f.update(h),p=f.digest().getBytes(),d=Ht.util.xorBytes(d,p,s),h=p,++g,Ht.util.setImmediate(v);l+=y<u?d:d.substr(0,c),++y,m()}m()}});var u5=D((jm,a5)=>{var Ji=nt();Ct();var s5=a5.exports=Ji.pem=Ji.pem||{};s5.encode=function(e,t){t=t||{};var r="-----BEGIN "+e.type+`-----\r
|
|
10
|
-
`,n;if(e.procType&&(n={name:"Proc-Type",values:[String(e.procType.version),e.procType.type]},r+=
|
|
11
|
-
`),r+=
|
|
9
|
+
`,e.composed){for(var s=0,a="",o=0;o<e.value.length;++o)e.value[o]!==void 0&&(s+=1,a+=R.prettyPrint(e.value[o],t+1,r),o+1<e.value.length&&(a+=","));n+=i+"Sub values: "+s+a}else{if(n+=i+"Value: ",e.type===R.Type.OID){var u=R.derToOid(e.value);n+=u,ft.pki&&ft.pki.oids&&u in ft.pki.oids&&(n+=" ("+ft.pki.oids[u]+") ")}if(e.type===R.Type.INTEGER)try{n+=R.derToInteger(e.value)}catch{n+="0x"+ft.util.bytesToHex(e.value)}else if(e.type===R.Type.BITSTRING){if(e.value.length>1?n+="0x"+ft.util.bytesToHex(e.value.slice(1)):n+="(none)",e.value.length>0){var c=e.value.charCodeAt(0);c==1?n+=" (1 unused bit shown)":c>1&&(n+=" ("+c+" unused bits shown)")}}else if(e.type===R.Type.OCTETSTRING)j4.test(e.value)||(n+="("+e.value+") "),n+="0x"+ft.util.bytesToHex(e.value);else if(e.type===R.Type.UTF8)try{n+=ft.util.decodeUtf8(e.value)}catch(f){if(f.message==="URI malformed")n+="0x"+ft.util.bytesToHex(e.value)+" (malformed UTF8)";else throw f}else e.type===R.Type.PRINTABLESTRING||e.type===R.Type.IA5String?n+=e.value:j4.test(e.value)?n+="0x"+ft.util.bytesToHex(e.value):e.value.length===0?n+="[null]":n+=e.value}return n}});var r5=D((Ym,e5)=>{var dt=nt();Rs();Ns();Ct();e5.exports=dt.des=dt.des||{};dt.des.startEncrypting=function(e,t,r,n){var i=Xi({key:e,output:r,decrypt:!1,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};dt.des.createEncryptionCipher=function(e,t){return Xi({key:e,output:null,decrypt:!1,mode:t})};dt.des.startDecrypting=function(e,t,r,n){var i=Xi({key:e,output:r,decrypt:!0,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};dt.des.createDecryptionCipher=function(e,t){return Xi({key:e,output:null,decrypt:!0,mode:t})};dt.des.Algorithm=function(e,t){var r=this;r.name=e,r.mode=new t({blockSize:8,cipher:{encrypt:function(n,i){return t5(r._keys,n,i,!1)},decrypt:function(n,i){return t5(r._keys,n,i,!0)}}}),r._init=!1};dt.des.Algorithm.prototype.initialize=function(e){if(!this._init){var t=dt.util.createBuffer(e.key);if(this.name.indexOf("3DES")===0&&t.length()!==24)throw new Error("Invalid Triple-DES key size: "+t.length()*8);this._keys=I7(t),this._init=!0}};Ve("DES-ECB",dt.cipher.modes.ecb);Ve("DES-CBC",dt.cipher.modes.cbc);Ve("DES-CFB",dt.cipher.modes.cfb);Ve("DES-OFB",dt.cipher.modes.ofb);Ve("DES-CTR",dt.cipher.modes.ctr);Ve("3DES-ECB",dt.cipher.modes.ecb);Ve("3DES-CBC",dt.cipher.modes.cbc);Ve("3DES-CFB",dt.cipher.modes.cfb);Ve("3DES-OFB",dt.cipher.modes.ofb);Ve("3DES-CTR",dt.cipher.modes.ctr);function Ve(e,t){var r=function(){return new dt.des.Algorithm(e,t)};dt.cipher.registerAlgorithm(e,r)}var m7=[16843776,0,65536,16843780,16842756,66564,4,65536,1024,16843776,16843780,1024,16778244,16842756,16777216,4,1028,16778240,16778240,66560,66560,16842752,16842752,16778244,65540,16777220,16777220,65540,0,1028,66564,16777216,65536,16843780,4,16842752,16843776,16777216,16777216,1024,16842756,65536,66560,16777220,1024,4,16778244,66564,16843780,65540,16842752,16778244,16777220,1028,66564,16843776,1028,16778240,16778240,0,65540,66560,0,16842756],x7=[-2146402272,-2147450880,32768,1081376,1048576,32,-2146435040,-2147450848,-2147483616,-2146402272,-2146402304,-2147483648,-2147450880,1048576,32,-2146435040,1081344,1048608,-2147450848,0,-2147483648,32768,1081376,-2146435072,1048608,-2147483616,0,1081344,32800,-2146402304,-2146435072,32800,0,1081376,-2146435040,1048576,-2147450848,-2146435072,-2146402304,32768,-2146435072,-2147450880,32,-2146402272,1081376,32,32768,-2147483648,32800,-2146402304,1048576,-2147483616,1048608,-2147450848,-2147483616,1048608,1081344,0,-2147450880,32800,-2147483648,-2146435040,-2146402272,1081344],v7=[520,134349312,0,134348808,134218240,0,131592,134218240,131080,134217736,134217736,131072,134349320,131080,134348800,520,134217728,8,134349312,512,131584,134348800,134348808,131592,134218248,131584,131072,134218248,8,134349320,512,134217728,134349312,134217728,131080,520,131072,134349312,134218240,0,512,131080,134349320,134218240,134217736,512,0,134348808,134218248,131072,134217728,134349320,8,131592,131584,134217736,134348800,134218248,520,134348800,131592,8,134348808,131584],w7=[8396801,8321,8321,128,8396928,8388737,8388609,8193,0,8396800,8396800,8396929,129,0,8388736,8388609,1,8192,8388608,8396801,128,8388608,8193,8320,8388737,1,8320,8388736,8192,8396928,8396929,129,8388736,8388609,8396800,8396929,129,0,0,8396800,8320,8388736,8388737,1,8396801,8321,8321,128,8396929,129,1,8192,8388609,8193,8396928,8388737,8193,8320,8388608,8396801,128,8388608,8192,8396928],b7=[256,34078976,34078720,1107296512,524288,256,1073741824,34078720,1074266368,524288,33554688,1074266368,1107296512,1107820544,524544,1073741824,33554432,1074266112,1074266112,0,1073742080,1107820800,1107820800,33554688,1107820544,1073742080,0,1107296256,34078976,33554432,1107296256,524544,524288,1107296512,256,33554432,1073741824,34078720,1107296512,1074266368,33554688,1073741824,1107820544,34078976,1074266368,256,33554432,1107820544,1107820800,524544,1107296256,1107820800,34078720,0,1074266112,1107296256,524544,33554688,1073742080,524288,0,1074266112,34078976,1073742080],E7=[536870928,541065216,16384,541081616,541065216,16,541081616,4194304,536887296,4210704,4194304,536870928,4194320,536887296,536870912,16400,0,4194320,536887312,16384,4210688,536887312,16,541065232,541065232,0,4210704,541081600,16400,4210688,541081600,536870912,536887296,16,541065232,4210688,541081616,4194304,16400,536870928,4194304,536887296,536870912,16400,536870928,541081616,4210688,541065216,4210704,541081600,0,541065232,16,16384,541065216,4210704,16384,4194320,536887312,0,541081600,536870912,4194320,536887312],S7=[2097152,69206018,67110914,0,2048,67110914,2099202,69208064,69208066,2097152,0,67108866,2,67108864,69206018,2050,67110912,2099202,2097154,67110912,67108866,69206016,69208064,2097154,69206016,2048,2050,69208066,2099200,2,67108864,2099200,67108864,2099200,2097152,67110914,67110914,69206018,69206018,2,2097154,67108864,67110912,2097152,69208064,2050,2099202,69208064,2050,67108866,69208066,69206016,2099200,0,2,69208066,0,2099202,69206016,2048,67108866,67110912,2048,2097154],A7=[268439616,4096,262144,268701760,268435456,268439616,64,268435456,262208,268697600,268701760,266240,268701696,266304,4096,64,268697600,268435520,268439552,4160,266240,262208,268697664,268701696,4160,0,0,268697664,268435520,268439552,266304,262144,266304,262144,268701696,4096,64,268697664,4096,266304,268439552,64,268435520,268697600,268697664,268435456,262144,268439616,0,268701760,262208,268435520,268697600,268439552,268439616,0,268701760,266240,266240,4160,4160,262208,268435456,268701696];function I7(e){for(var t=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],r=[0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697],n=[0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272],i=[0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144],o=[0,262144,16,262160,0,262144,16,262160,4096,266240,4112,266256,4096,266240,4112,266256],s=[0,1024,32,1056,0,1024,32,1056,33554432,33555456,33554464,33555488,33554432,33555456,33554464,33555488],a=[0,268435456,524288,268959744,2,268435458,524290,268959746,0,268435456,524288,268959744,2,268435458,524290,268959746],u=[0,65536,2048,67584,536870912,536936448,536872960,536938496,131072,196608,133120,198656,537001984,537067520,537004032,537069568],c=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],f=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],l=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],d=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],p=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],h=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],y=e.length()>8?3:1,g=[],m=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],x=0,S,L=0;L<y;L++){var T=e.getInt32(),_=e.getInt32();S=(T>>>4^_)&252645135,_^=S,T^=S<<4,S=(_>>>-16^T)&65535,T^=S,_^=S<<-16,S=(T>>>2^_)&858993459,_^=S,T^=S<<2,S=(_>>>-16^T)&65535,T^=S,_^=S<<-16,S=(T>>>1^_)&1431655765,_^=S,T^=S<<1,S=(_>>>8^T)&16711935,T^=S,_^=S<<8,S=(T>>>1^_)&1431655765,_^=S,T^=S<<1,S=T<<8|_>>>20&240,T=_<<24|_<<8&16711680|_>>>8&65280|_>>>24&240,_=S;for(var q=0;q<m.length;++q){m[q]?(T=T<<2|T>>>26,_=_<<2|_>>>26):(T=T<<1|T>>>27,_=_<<1|_>>>27),T&=-15,_&=-15;var G=t[T>>>28]|r[T>>>24&15]|n[T>>>20&15]|i[T>>>16&15]|o[T>>>12&15]|s[T>>>8&15]|a[T>>>4&15],Nt=u[_>>>28]|c[_>>>24&15]|f[_>>>20&15]|l[_>>>16&15]|d[_>>>12&15]|p[_>>>8&15]|h[_>>>4&15];S=(Nt>>>16^G)&65535,g[x++]=G^S,g[x++]=Nt^S<<16}}return g}function t5(e,t,r,n){var i=e.length===32?3:9,o;i===3?o=n?[30,-2,-2]:[0,32,2]:o=n?[94,62,-2,32,64,2,30,-2,-2]:[0,32,2,62,30,-2,64,96,2];var s,a=t[0],u=t[1];s=(a>>>4^u)&252645135,u^=s,a^=s<<4,s=(a>>>16^u)&65535,u^=s,a^=s<<16,s=(u>>>2^a)&858993459,a^=s,u^=s<<2,s=(u>>>8^a)&16711935,a^=s,u^=s<<8,s=(a>>>1^u)&1431655765,u^=s,a^=s<<1,a=a<<1|a>>>31,u=u<<1|u>>>31;for(var c=0;c<i;c+=3){for(var f=o[c+1],l=o[c+2],d=o[c];d!=f;d+=l){var p=u^e[d],h=(u>>>4|u<<28)^e[d+1];s=a,a=u,u=s^(x7[p>>>24&63]|w7[p>>>16&63]|E7[p>>>8&63]|A7[p&63]|m7[h>>>24&63]|v7[h>>>16&63]|b7[h>>>8&63]|S7[h&63])}s=a,a=u,u=s}a=a>>>1|a<<31,u=u>>>1|u<<31,s=(a>>>1^u)&1431655765,u^=s,a^=s<<1,s=(u>>>8^a)&16711935,a^=s,u^=s<<8,s=(u>>>2^a)&858993459,a^=s,u^=s<<2,s=(a>>>16^u)&65535,u^=s,a^=s<<16,s=(a>>>4^u)&252645135,u^=s,a^=s<<4,r[0]=a,r[1]=u}function Xi(e){e=e||{};var t=(e.mode||"CBC").toUpperCase(),r="DES-"+t,n;e.decrypt?n=dt.cipher.createDecipher(r,e.key):n=dt.cipher.createCipher(r,e.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof dt.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var tn=D((Zm,n5)=>{var ji=nt();n5.exports=ji.md=ji.md||{};ji.md.algorithms=ji.md.algorithms||{}});var o5=D((Xm,i5)=>{var ur=nt();tn();Ct();var B7=i5.exports=ur.hmac=ur.hmac||{};B7.create=function(){var e=null,t=null,r=null,n=null,i={};return i.start=function(o,s){if(o!==null)if(typeof o=="string")if(o=o.toLowerCase(),o in ur.md.algorithms)t=ur.md.algorithms[o].create();else throw new Error('Unknown hash algorithm "'+o+'"');else t=o;if(s===null)s=e;else{if(typeof s=="string")s=ur.util.createBuffer(s);else if(ur.util.isArray(s)){var a=s;s=ur.util.createBuffer();for(var u=0;u<a.length;++u)s.putByte(a[u])}var c=s.length();c>t.blockLength&&(t.start(),t.update(s.bytes()),s=t.digest()),r=ur.util.createBuffer(),n=ur.util.createBuffer(),c=s.length();for(var u=0;u<c;++u){var a=s.at(u);r.putByte(54^a),n.putByte(92^a)}if(c<t.blockLength)for(var a=t.blockLength-c,u=0;u<a;++u)r.putByte(54),n.putByte(92);e=s,r=r.bytes(),n=n.bytes()}t.start(),t.update(r)},i.update=function(o){t.update(o)},i.getMac=function(){var o=t.digest().bytes();return t.start(),t.update(n),t.update(o),t.digest()},i.digest=i.getMac,i}});var Hn=D(()=>{});var Os=D((tx,s5)=>{var Ht=nt();o5();tn();Ct();var C7=Ht.pkcs5=Ht.pkcs5||{},cr;Ht.util.isNodejs&&!Ht.options.usePureJavaScript&&(cr=Hn());s5.exports=Ht.pbkdf2=C7.pbkdf2=function(e,t,r,n,i,o){if(typeof i=="function"&&(o=i,i=null),Ht.util.isNodejs&&!Ht.options.usePureJavaScript&&cr.pbkdf2&&(i===null||typeof i!="object")&&(cr.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),e=Buffer.from(e,"binary"),t=Buffer.from(t,"binary"),o?cr.pbkdf2Sync.length===4?cr.pbkdf2(e,t,r,n,function(S,L){if(S)return o(S);o(null,L.toString("binary"))}):cr.pbkdf2(e,t,r,n,i,function(S,L){if(S)return o(S);o(null,L.toString("binary"))}):cr.pbkdf2Sync.length===4?cr.pbkdf2Sync(e,t,r,n).toString("binary"):cr.pbkdf2Sync(e,t,r,n,i).toString("binary");if((typeof i>"u"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in Ht.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=Ht.md[i].create()}var s=i.digestLength;if(n>4294967295*s){var a=new Error("Derived key is too long.");if(o)return o(a);throw a}var u=Math.ceil(n/s),c=n-(u-1)*s,f=Ht.hmac.create();f.start(i,e);var l="",d,p,h;if(!o){for(var y=1;y<=u;++y){f.start(null,null),f.update(t),f.update(Ht.util.int32ToBytes(y)),d=h=f.digest().getBytes();for(var g=2;g<=r;++g)f.start(null,null),f.update(h),p=f.digest().getBytes(),d=Ht.util.xorBytes(d,p,s),h=p;l+=y<u?d:d.substr(0,c)}return l}var y=1,g;function m(){if(y>u)return o(null,l);f.start(null,null),f.update(t),f.update(Ht.util.int32ToBytes(y)),d=h=f.digest().getBytes(),g=2,x()}function x(){if(g<=r)return f.start(null,null),f.update(h),p=f.digest().getBytes(),d=Ht.util.xorBytes(d,p,s),h=p,++g,Ht.util.setImmediate(x);l+=y<u?d:d.substr(0,c),++y,m()}m()}});var c5=D((ex,u5)=>{var t1=nt();Ct();var a5=u5.exports=t1.pem=t1.pem||{};a5.encode=function(e,t){t=t||{};var r="-----BEGIN "+e.type+`-----\r
|
|
10
|
+
`,n;if(e.procType&&(n={name:"Proc-Type",values:[String(e.procType.version),e.procType.type]},r+=Ji(n)),e.contentDomain&&(n={name:"Content-Domain",values:[e.contentDomain]},r+=Ji(n)),e.dekInfo&&(n={name:"DEK-Info",values:[e.dekInfo.algorithm]},e.dekInfo.parameters&&n.values.push(e.dekInfo.parameters),r+=Ji(n)),e.headers)for(var i=0;i<e.headers.length;++i)r+=Ji(e.headers[i]);return e.procType&&(r+=`\r
|
|
11
|
+
`),r+=t1.util.encode64(e.body,t.maxline||64)+`\r
|
|
12
12
|
`,r+="-----END "+e.type+`-----\r
|
|
13
|
-
`,r};
|
|
13
|
+
`,r};a5.decode=function(e){for(var t=[],r=/\s*-----BEGIN ([A-Z0-9- ]+)-----\r?\n?([\x21-\x7e\s]+?(?:\r?\n\r?\n))?([:A-Za-z0-9+\/=\s]+?)-----END \1-----/g,n=/([\x21-\x7e]+):\s*([\x21-\x7e\s^:]+)/,i=/\r?\n/,o;o=r.exec(e),!!o;){var s=o[1];s==="NEW CERTIFICATE REQUEST"&&(s="CERTIFICATE REQUEST");var a={type:s,procType:null,contentDomain:null,dekInfo:null,headers:[],body:t1.util.decode64(o[3])};if(t.push(a),!!o[2]){for(var u=o[2].split(i),c=0;o&&c<u.length;){for(var f=u[c].replace(/\s+$/,""),l=c+1;l<u.length;++l){var d=u[l];if(!/\s/.test(d[0]))break;f+=d,c=l}if(o=f.match(n),o){for(var p={name:o[1],values:[]},h=o[2].split(","),y=0;y<h.length;++y)p.values.push(_7(h[y]));if(a.procType)if(!a.contentDomain&&p.name==="Content-Domain")a.contentDomain=h[0]||"";else if(!a.dekInfo&&p.name==="DEK-Info"){if(p.values.length===0)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must have at least one subfield.');a.dekInfo={algorithm:h[0],parameters:h[1]||null}}else a.headers.push(p);else{if(p.name!=="Proc-Type")throw new Error('Invalid PEM formatted message. The first encapsulated header must be "Proc-Type".');if(p.values.length!==2)throw new Error('Invalid PEM formatted message. The "Proc-Type" header must have two subfields.');a.procType={version:h[0],type:h[1]}}}++c}if(a.procType==="ENCRYPTED"&&!a.dekInfo)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must be present if "Proc-Type" is "ENCRYPTED".')}}if(t.length===0)throw new Error("Invalid PEM formatted message.");return t};function Ji(e){for(var t=e.name+": ",r=[],n=function(u,c){return" "+c},i=0;i<e.values.length;++i)r.push(e.values[i].replace(/^(\S+\r\n)/,n));t+=r.join(",")+`\r
|
|
14
14
|
`;for(var o=0,s=-1,i=0;i<t.length;++i,++o)if(o>65&&s!==-1){var a=t[s];a===","?(++s,t=t.substr(0,s)+`\r
|
|
15
15
|
`+t.substr(s)):t=t.substr(0,s)+`\r
|
|
16
|
-
`+a+t.substr(s+1),o=i-s-1,s=-1,++i}else(t[i]===" "||t[i]===" "||t[i]===",")&&(s=i);return t}function C7(e){return e.replace(/^\s+/,"")}});var d5=D((Jm,p5)=>{var Ve=nt();Jr();Ct();var f5=p5.exports=Ve.sha256=Ve.sha256||{};Ve.md.sha256=Ve.md.algorithms.sha256=f5;f5.create=function(){l5||_7();var e=null,t=Ve.util.createBuffer(),r=new Array(64),n={algorithm:"sha256",blockLength:64,digestLength:32,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,o=0;o<i;++o)n.fullMessageLength.push(0);return t=Ve.util.createBuffer(),e={h0:1779033703,h1:3144134277,h2:1013904242,h3:2773480762,h4:1359893119,h5:2600822924,h6:528734635,h7:1541459225},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=Ve.util.encodeUtf8(i));var s=i.length;n.messageLength+=s,s=[s/4294967296>>>0,s>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=s[1],s[1]=s[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,s[0]=s[1]/4294967296>>>0;return t.putBytes(i),c5(e,r,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=Ve.util.createBuffer();i.putBytes(t.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(Os.substr(0,n.blockLength-s));for(var a,u,c=n.fullMessageLength[0]*8,f=0;f<n.fullMessageLength.length-1;++f)a=n.fullMessageLength[f+1]*8,u=a/4294967296>>>0,c+=u,i.putInt32(c>>>0),c=a>>>0;i.putInt32(c);var l={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4,h5:e.h5,h6:e.h6,h7:e.h7};c5(l,r,i);var d=Ve.util.createBuffer();return d.putInt32(l.h0),d.putInt32(l.h1),d.putInt32(l.h2),d.putInt32(l.h3),d.putInt32(l.h4),d.putInt32(l.h5),d.putInt32(l.h6),d.putInt32(l.h7),d},n};var Os=null,l5=!1,h5=null;function _7(){Os=String.fromCharCode(128),Os+=Ve.util.fillString(String.fromCharCode(0),64),h5=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],l5=!0}function c5(e,t,r){for(var n,i,o,s,a,u,c,f,l,d,p,h,y,g,m,v=r.length();v>=64;){for(c=0;c<16;++c)t[c]=r.getInt32();for(;c<64;++c)n=t[c-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,i=t[c-15],i=(i>>>7|i<<25)^(i>>>18|i<<14)^i>>>3,t[c]=n+t[c-7]+i+t[c-16]|0;for(f=e.h0,l=e.h1,d=e.h2,p=e.h3,h=e.h4,y=e.h5,g=e.h6,m=e.h7,c=0;c<64;++c)s=(h>>>6|h<<26)^(h>>>11|h<<21)^(h>>>25|h<<7),a=g^h&(y^g),o=(f>>>2|f<<30)^(f>>>13|f<<19)^(f>>>22|f<<10),u=f&l|d&(f^l),n=m+s+a+h5[c]+t[c],i=o+u,m=g,g=y,y=h,h=p+n>>>0,p=d,d=l,l=f,f=n+i>>>0;e.h0=e.h0+f|0,e.h1=e.h1+l|0,e.h2=e.h2+d|0,e.h3=e.h3+p|0,e.h4=e.h4+h|0,e.h5=e.h5+y|0,e.h6=e.h6+g|0,e.h7=e.h7+m|0,v-=64}}});var g5=D((tx,y5)=>{var qe=nt();Ct();var t1=null;qe.util.isNodejs&&!qe.options.usePureJavaScript&&!process.versions["node-webkit"]&&(t1=$n());var T7=y5.exports=qe.prng=qe.prng||{};T7.create=function(e){for(var t={plugin:e,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},r=e.md,n=new Array(32),i=0;i<32;++i)n[i]=r.create();t.pools=n,t.pool=0,t.generate=function(c,f){if(!f)return t.generateSync(c);var l=t.plugin.cipher,d=t.plugin.increment,p=t.plugin.formatKey,h=t.plugin.formatSeed,y=qe.util.createBuffer();t.key=null,g();function g(m){if(m)return f(m);if(y.length()>=c)return f(null,y.getBytes(c));if(t.generated>1048575&&(t.key=null),t.key===null)return qe.util.nextTick(function(){o(g)});var v=l(t.key,t.seed);t.generated+=v.length,y.putBytes(v),t.key=p(l(t.key,d(t.seed))),t.seed=h(l(t.key,t.seed)),qe.util.setImmediate(g)}},t.generateSync=function(c){var f=t.plugin.cipher,l=t.plugin.increment,d=t.plugin.formatKey,p=t.plugin.formatSeed;t.key=null;for(var h=qe.util.createBuffer();h.length()<c;){t.generated>1048575&&(t.key=null),t.key===null&&s();var y=f(t.key,t.seed);t.generated+=y.length,h.putBytes(y),t.key=d(f(t.key,l(t.seed))),t.seed=p(f(t.key,t.seed))}return h.getBytes(c)};function o(c){if(t.pools[0].messageLength>=32)return a(),c();var f=32-t.pools[0].messageLength<<5;t.seedFile(f,function(l,d){if(l)return c(l);t.collect(d),a(),c()})}function s(){if(t.pools[0].messageLength>=32)return a();var c=32-t.pools[0].messageLength<<5;t.collect(t.seedFileSync(c)),a()}function a(){t.reseeds=t.reseeds===4294967295?0:t.reseeds+1;var c=t.plugin.md.create();c.update(t.keyBytes);for(var f=1,l=0;l<32;++l)t.reseeds%f===0&&(c.update(t.pools[l].digest().getBytes()),t.pools[l].start()),f=f<<1;t.keyBytes=c.digest().getBytes(),c.start(),c.update(t.keyBytes);var d=c.digest().getBytes();t.key=t.plugin.formatKey(t.keyBytes),t.seed=t.plugin.formatSeed(d),t.generated=0}function u(c){var f=null,l=qe.util.globalScope,d=l.crypto||l.msCrypto;d&&d.getRandomValues&&(f=function(T){return d.getRandomValues(T)});var p=qe.util.createBuffer();if(f)for(;p.length()<c;){var h=Math.max(1,Math.min(c-p.length(),65536)/4),y=new Uint32Array(Math.floor(h));try{f(y);for(var g=0;g<y.length;++g)p.putInt32(y[g])}catch(T){if(!(typeof QuotaExceededError<"u"&&T instanceof QuotaExceededError))throw T}}if(p.length()<c)for(var m,v,S,L=Math.floor(Math.random()*65536);p.length()<c;){v=16807*(L&65535),m=16807*(L>>16),v+=(m&32767)<<16,v+=m>>15,v=(v&2147483647)+(v>>31),L=v&4294967295;for(var g=0;g<3;++g)S=L>>>(g<<3),S^=Math.floor(Math.random()*256),p.putByte(S&255)}return p.getBytes(c)}return t1?(t.seedFile=function(c,f){t1.randomBytes(c,function(l,d){if(l)return f(l);f(null,d.toString())})},t.seedFileSync=function(c){return t1.randomBytes(c).toString()}):(t.seedFile=function(c,f){try{f(null,u(c))}catch(l){f(l)}},t.seedFileSync=u),t.collect=function(c){for(var f=c.length,l=0;l<f;++l)t.pools[t.pool].update(c.substr(l,1)),t.pool=t.pool===31?0:t.pool+1},t.collectInt=function(c,f){for(var l="",d=0;d<f;d+=8)l+=String.fromCharCode(c>>d&255);t.collect(l)},t.registerWorker=function(c){if(c===self)t.seedFile=function(l,d){function p(h){var y=h.data;y.forge&&y.forge.prng&&(self.removeEventListener("message",p),d(y.forge.prng.err,y.forge.prng.bytes))}self.addEventListener("message",p),self.postMessage({forge:{prng:{needed:l}}})};else{var f=function(l){var d=l.data;d.forge&&d.forge.prng&&t.seedFile(d.forge.prng.needed,function(p,h){c.postMessage({forge:{prng:{err:p,bytes:h}}})})};c.addEventListener("message",f)}},t}});var L0=D((ex,Ms)=>{var Mt=nt();Qi();d5();g5();Ct();(function(){if(Mt.random&&Mt.random.getBytes){Ms.exports=Mt.random;return}(function(e){var t={},r=new Array(4),n=Mt.util.createBuffer();t.formatKey=function(l){var d=Mt.util.createBuffer(l);return l=new Array(4),l[0]=d.getInt32(),l[1]=d.getInt32(),l[2]=d.getInt32(),l[3]=d.getInt32(),Mt.aes._expandKey(l,!1)},t.formatSeed=function(l){var d=Mt.util.createBuffer(l);return l=new Array(4),l[0]=d.getInt32(),l[1]=d.getInt32(),l[2]=d.getInt32(),l[3]=d.getInt32(),l},t.cipher=function(l,d){return Mt.aes._updateBlock(l,d,r,!1),n.putInt32(r[0]),n.putInt32(r[1]),n.putInt32(r[2]),n.putInt32(r[3]),n.getBytes()},t.increment=function(l){return++l[3],l},t.md=Mt.md.sha256;function i(){var l=Mt.prng.create(t);return l.getBytes=function(d,p){return l.generate(d,p)},l.getBytesSync=function(d){return l.generate(d)},l}var o=i(),s=null,a=Mt.util.globalScope,u=a.crypto||a.msCrypto;if(u&&u.getRandomValues&&(s=function(l){return u.getRandomValues(l)}),Mt.options.usePureJavaScript||!Mt.util.isNodejs&&!s){if(typeof window>"u"||window.document,o.collectInt(+new Date,32),typeof navigator<"u"){var c="";for(var f in navigator)try{typeof navigator[f]=="string"&&(c+=navigator[f])}catch{}o.collect(c),c=null}e&&(e().mousemove(function(l){o.collectInt(l.clientX,16),o.collectInt(l.clientY,16)}),e().keypress(function(l){o.collectInt(l.charCode,8)}))}if(!Mt.random)Mt.random=o;else for(var f in o)Mt.random[f]=o[f];Mt.random.createInstance=i,Ms.exports=Mt.random})(typeof jQuery<"u"?jQuery:null)})()});var w5=D((rx,v5)=>{var Yt=nt();Ct();var Ks=[217,120,249,196,25,221,181,237,40,233,253,121,74,160,216,157,198,126,55,131,43,118,83,142,98,76,100,136,68,139,251,162,23,154,89,245,135,179,79,19,97,69,109,141,9,129,125,50,189,143,64,235,134,183,123,11,240,149,33,34,92,107,78,130,84,214,101,147,206,96,178,28,115,86,192,20,167,140,241,220,18,117,202,31,59,190,228,209,66,61,212,48,163,60,182,38,111,191,14,218,70,105,7,87,39,242,29,155,188,148,67,3,248,17,199,246,144,239,62,231,6,195,213,47,200,102,30,215,8,232,234,222,128,82,238,247,132,170,114,172,53,77,106,42,150,26,210,113,90,21,73,116,75,159,208,94,4,24,164,236,194,224,65,110,15,81,203,204,36,145,175,80,161,244,112,57,153,124,58,133,35,184,180,122,252,2,54,91,37,85,151,49,45,93,250,152,227,138,146,174,5,223,41,16,103,108,186,201,211,0,230,207,225,158,168,44,99,22,1,63,88,226,137,169,13,56,52,27,171,51,255,176,187,72,12,95,185,177,205,46,197,243,219,71,229,165,156,119,10,166,32,104,254,127,193,173],m5=[1,2,3,5],R7=function(e,t){return e<<t&65535|(e&65535)>>16-t},P7=function(e,t){return(e&65535)>>t|e<<16-t&65535};v5.exports=Yt.rc2=Yt.rc2||{};Yt.rc2.expandKey=function(e,t){typeof e=="string"&&(e=Yt.util.createBuffer(e)),t=t||128;var r=e,n=e.length(),i=t,o=Math.ceil(i/8),s=255>>(i&7),a;for(a=n;a<128;a++)r.putByte(Ks[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-o,Ks[r.at(128-o)&s]),a=127-o;a>=0;a--)r.setAt(a,Ks[r.at(a+1)^r.at(a+o)]);return r};var x5=function(e,t,r){var n=!1,i=null,o=null,s=null,a,u,c,f,l=[];for(e=Yt.rc2.expandKey(e,t),c=0;c<64;c++)l.push(e.getInt16Le());r?(a=function(h){for(c=0;c<4;c++)h[c]+=l[f]+(h[(c+3)%4]&h[(c+2)%4])+(~h[(c+3)%4]&h[(c+1)%4]),h[c]=R7(h[c],m5[c]),f++},u=function(h){for(c=0;c<4;c++)h[c]+=l[h[(c+3)%4]&63]}):(a=function(h){for(c=3;c>=0;c--)h[c]=P7(h[c],m5[c]),h[c]-=l[f]+(h[(c+3)%4]&h[(c+2)%4])+(~h[(c+3)%4]&h[(c+1)%4]),f--},u=function(h){for(c=3;c>=0;c--)h[c]-=l[h[(c+3)%4]&63]});var d=function(h){var y=[];for(c=0;c<4;c++){var g=i.getInt16Le();s!==null&&(r?g^=s.getInt16Le():s.putInt16Le(g)),y.push(g&65535)}f=r?0:63;for(var m=0;m<h.length;m++)for(var v=0;v<h[m][0];v++)h[m][1](y);for(c=0;c<4;c++)s!==null&&(r?s.putInt16Le(y[c]):y[c]^=s.getInt16Le()),o.putInt16Le(y[c])},p=null;return p={start:function(h,y){h&&typeof h=="string"&&(h=Yt.util.createBuffer(h)),n=!1,i=Yt.util.createBuffer(),o=y||new Yt.util.createBuffer,s=h,p.output=o},update:function(h){for(n||i.putBuffer(h);i.length()>=8;)d([[5,a],[1,u],[6,a],[1,u],[5,a]])},finish:function(h){var y=!0;if(r)if(h)y=h(8,i,!r);else{var g=i.length()===8?8:8-i.length();i.fillWithByte(g,g)}if(y&&(n=!0,p.update()),!r&&(y=i.length()===0,y))if(h)y=h(8,o,!r);else{var m=o.length(),v=o.at(m-1);v>m?y=!1:o.truncate(v)}return y}},p};Yt.rc2.startEncrypting=function(e,t,r){var n=Yt.rc2.createEncryptionCipher(e,128);return n.start(t,r),n};Yt.rc2.createEncryptionCipher=function(e,t){return x5(e,t,!0)};Yt.rc2.startDecrypting=function(e,t,r){var n=Yt.rc2.createDecryptionCipher(e,128);return n.start(t,r),n};Yt.rc2.createDecryptionCipher=function(e,t){return x5(e,t,!1)}});var n1=D((nx,_5)=>{var Vs=nt();_5.exports=Vs.jsbn=Vs.jsbn||{};var cr,N7=0xdeadbeefcafe,b5=(N7&16777215)==15715070;function A(e,t,r){this.data=[],e!=null&&(typeof e=="number"?this.fromNumber(e,t,r):t==null&&typeof e!="string"?this.fromString(e,256):this.fromString(e,t))}Vs.jsbn.BigInteger=A;function j(){return new A(null)}function L7(e,t,r,n,i,o){for(;--o>=0;){var s=t*this.data[e++]+r.data[n]+i;i=Math.floor(s/67108864),r.data[n++]=s&67108863}return i}function k7(e,t,r,n,i,o){for(var s=t&32767,a=t>>15;--o>=0;){var u=this.data[e]&32767,c=this.data[e++]>>15,f=a*u+c*s;u=s*u+((f&32767)<<15)+r.data[n]+(i&1073741823),i=(u>>>30)+(f>>>15)+a*c+(i>>>30),r.data[n++]=u&1073741823}return i}function E5(e,t,r,n,i,o){for(var s=t&16383,a=t>>14;--o>=0;){var u=this.data[e]&16383,c=this.data[e++]>>14,f=a*u+c*s;u=s*u+((f&16383)<<14)+r.data[n]+i,i=(u>>28)+(f>>14)+a*c,r.data[n++]=u&268435455}return i}typeof navigator>"u"?(A.prototype.am=E5,cr=28):b5&&navigator.appName=="Microsoft Internet Explorer"?(A.prototype.am=k7,cr=30):b5&&navigator.appName!="Netscape"?(A.prototype.am=L7,cr=26):(A.prototype.am=E5,cr=28);A.prototype.DB=cr;A.prototype.DM=(1<<cr)-1;A.prototype.DV=1<<cr;var qs=52;A.prototype.FV=Math.pow(2,qs);A.prototype.F1=qs-cr;A.prototype.F2=2*cr-qs;var D7="0123456789abcdefghijklmnopqrstuvwxyz",e1=new Array,Hn,le;Hn="0".charCodeAt(0);for(le=0;le<=9;++le)e1[Hn++]=le;Hn="a".charCodeAt(0);for(le=10;le<36;++le)e1[Hn++]=le;Hn="A".charCodeAt(0);for(le=10;le<36;++le)e1[Hn++]=le;function S5(e){return D7.charAt(e)}function A5(e,t){var r=e1[e.charCodeAt(t)];return r??-1}function F7(e){for(var t=this.t-1;t>=0;--t)e.data[t]=this.data[t];e.t=this.t,e.s=this.s}function U7(e){this.t=1,this.s=e<0?-1:0,e>0?this.data[0]=e:e<-1?this.data[0]=e+this.DV:this.t=0}function _r(e){var t=j();return t.fromInt(e),t}function O7(e,t){var r;if(t==16)r=4;else if(t==8)r=3;else if(t==256)r=8;else if(t==2)r=1;else if(t==32)r=5;else if(t==4)r=2;else{this.fromRadix(e,t);return}this.t=0,this.s=0;for(var n=e.length,i=!1,o=0;--n>=0;){var s=r==8?e[n]&255:A5(e,n);if(s<0){e.charAt(n)=="-"&&(i=!0);continue}i=!1,o==0?this.data[this.t++]=s:o+r>this.DB?(this.data[this.t-1]|=(s&(1<<this.DB-o)-1)<<o,this.data[this.t++]=s>>this.DB-o):this.data[this.t-1]|=s<<o,o+=r,o>=this.DB&&(o-=this.DB)}r==8&&e[0]&128&&(this.s=-1,o>0&&(this.data[this.t-1]|=(1<<this.DB-o)-1<<o)),this.clamp(),i&&A.ZERO.subTo(this,this)}function M7(){for(var e=this.s&this.DM;this.t>0&&this.data[this.t-1]==e;)--this.t}function K7(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(e==16)t=4;else if(e==8)t=3;else if(e==2)t=1;else if(e==32)t=5;else if(e==4)t=2;else return this.toRadix(e);var r=(1<<t)-1,n,i=!1,o="",s=this.t,a=this.DB-s*this.DB%t;if(s-- >0)for(a<this.DB&&(n=this.data[s]>>a)>0&&(i=!0,o=S5(n));s>=0;)a<t?(n=(this.data[s]&(1<<a)-1)<<t-a,n|=this.data[--s]>>(a+=this.DB-t)):(n=this.data[s]>>(a-=t)&r,a<=0&&(a+=this.DB,--s)),n>0&&(i=!0),i&&(o+=S5(n));return i?o:"0"}function V7(){var e=j();return A.ZERO.subTo(this,e),e}function q7(){return this.s<0?this.negate():this}function z7(e){var t=this.s-e.s;if(t!=0)return t;var r=this.t;if(t=r-e.t,t!=0)return this.s<0?-t:t;for(;--r>=0;)if((t=this.data[r]-e.data[r])!=0)return t;return 0}function r1(e){var t=1,r;return(r=e>>>16)!=0&&(e=r,t+=16),(r=e>>8)!=0&&(e=r,t+=8),(r=e>>4)!=0&&(e=r,t+=4),(r=e>>2)!=0&&(e=r,t+=2),(r=e>>1)!=0&&(e=r,t+=1),t}function $7(){return this.t<=0?0:this.DB*(this.t-1)+r1(this.data[this.t-1]^this.s&this.DM)}function H7(e,t){var r;for(r=this.t-1;r>=0;--r)t.data[r+e]=this.data[r];for(r=e-1;r>=0;--r)t.data[r]=0;t.t=this.t+e,t.s=this.s}function G7(e,t){for(var r=e;r<this.t;++r)t.data[r-e]=this.data[r];t.t=Math.max(this.t-e,0),t.s=this.s}function Q7(e,t){var r=e%this.DB,n=this.DB-r,i=(1<<n)-1,o=Math.floor(e/this.DB),s=this.s<<r&this.DM,a;for(a=this.t-1;a>=0;--a)t.data[a+o+1]=this.data[a]>>n|s,s=(this.data[a]&i)<<r;for(a=o-1;a>=0;--a)t.data[a]=0;t.data[o]=s,t.t=this.t+o+1,t.s=this.s,t.clamp()}function W7(e,t){t.s=this.s;var r=Math.floor(e/this.DB);if(r>=this.t){t.t=0;return}var n=e%this.DB,i=this.DB-n,o=(1<<n)-1;t.data[0]=this.data[r]>>n;for(var s=r+1;s<this.t;++s)t.data[s-r-1]|=(this.data[s]&o)<<i,t.data[s-r]=this.data[s]>>n;n>0&&(t.data[this.t-r-1]|=(this.s&o)<<i),t.t=this.t-r,t.clamp()}function Y7(e,t){for(var r=0,n=0,i=Math.min(e.t,this.t);r<i;)n+=this.data[r]-e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;if(e.t<this.t){for(n-=e.s;r<this.t;)n+=this.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<e.t;)n-=e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n-=e.s}t.s=n<0?-1:0,n<-1?t.data[r++]=this.DV+n:n>0&&(t.data[r++]=n),t.t=r,t.clamp()}function Z7(e,t){var r=this.abs(),n=e.abs(),i=r.t;for(t.t=i+n.t;--i>=0;)t.data[i]=0;for(i=0;i<n.t;++i)t.data[i+r.t]=r.am(0,n.data[i],t,i,0,r.t);t.s=0,t.clamp(),this.s!=e.s&&A.ZERO.subTo(t,t)}function X7(e){for(var t=this.abs(),r=e.t=2*t.t;--r>=0;)e.data[r]=0;for(r=0;r<t.t-1;++r){var n=t.am(r,t.data[r],e,2*r,0,1);(e.data[r+t.t]+=t.am(r+1,2*t.data[r],e,2*r+1,n,t.t-r-1))>=t.DV&&(e.data[r+t.t]-=t.DV,e.data[r+t.t+1]=1)}e.t>0&&(e.data[e.t-1]+=t.am(r,t.data[r],e,2*r,0,1)),e.s=0,e.clamp()}function j7(e,t,r){var n=e.abs();if(!(n.t<=0)){var i=this.abs();if(i.t<n.t){t?.fromInt(0),r!=null&&this.copyTo(r);return}r==null&&(r=j());var o=j(),s=this.s,a=e.s,u=this.DB-r1(n.data[n.t-1]);u>0?(n.lShiftTo(u,o),i.lShiftTo(u,r)):(n.copyTo(o),i.copyTo(r));var c=o.t,f=o.data[c-1];if(f!=0){var l=f*(1<<this.F1)+(c>1?o.data[c-2]>>this.F2:0),d=this.FV/l,p=(1<<this.F1)/l,h=1<<this.F2,y=r.t,g=y-c,m=t??j();for(o.dlShiftTo(g,m),r.compareTo(m)>=0&&(r.data[r.t++]=1,r.subTo(m,r)),A.ONE.dlShiftTo(c,m),m.subTo(o,o);o.t<c;)o.data[o.t++]=0;for(;--g>=0;){var v=r.data[--y]==f?this.DM:Math.floor(r.data[y]*d+(r.data[y-1]+h)*p);if((r.data[y]+=o.am(0,v,r,g,0,c))<v)for(o.dlShiftTo(g,m),r.subTo(m,r);r.data[y]<--v;)r.subTo(m,r)}t!=null&&(r.drShiftTo(c,t),s!=a&&A.ZERO.subTo(t,t)),r.t=c,r.clamp(),u>0&&r.rShiftTo(u,r),s<0&&A.ZERO.subTo(r,r)}}}function J7(e){var t=j();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(A.ZERO)>0&&e.subTo(t,t),t}function tn(e){this.m=e}function tl(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e}function el(e){return e}function rl(e){e.divRemTo(this.m,null,e)}function nl(e,t,r){e.multiplyTo(t,r),this.reduce(r)}function il(e,t){e.squareTo(t),this.reduce(t)}tn.prototype.convert=tl;tn.prototype.revert=el;tn.prototype.reduce=rl;tn.prototype.mulTo=nl;tn.prototype.sqrTo=il;function ol(){if(this.t<1)return 0;var e=this.data[0];if(!(e&1))return 0;var t=e&3;return t=t*(2-(e&15)*t)&15,t=t*(2-(e&255)*t)&255,t=t*(2-((e&65535)*t&65535))&65535,t=t*(2-e*t%this.DV)%this.DV,t>0?this.DV-t:-t}function en(e){this.m=e,this.mp=e.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<e.DB-15)-1,this.mt2=2*e.t}function sl(e){var t=j();return e.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),e.s<0&&t.compareTo(A.ZERO)>0&&this.m.subTo(t,t),t}function al(e){var t=j();return e.copyTo(t),this.reduce(t),t}function ul(e){for(;e.t<=this.mt2;)e.data[e.t++]=0;for(var t=0;t<this.m.t;++t){var r=e.data[t]&32767,n=r*this.mpl+((r*this.mph+(e.data[t]>>15)*this.mpl&this.um)<<15)&e.DM;for(r=t+this.m.t,e.data[r]+=this.m.am(0,n,e,t,0,this.m.t);e.data[r]>=e.DV;)e.data[r]-=e.DV,e.data[++r]++}e.clamp(),e.drShiftTo(this.m.t,e),e.compareTo(this.m)>=0&&e.subTo(this.m,e)}function cl(e,t){e.squareTo(t),this.reduce(t)}function fl(e,t,r){e.multiplyTo(t,r),this.reduce(r)}en.prototype.convert=sl;en.prototype.revert=al;en.prototype.reduce=ul;en.prototype.mulTo=fl;en.prototype.sqrTo=cl;function ll(){return(this.t>0?this.data[0]&1:this.s)==0}function hl(e,t){if(e>4294967295||e<1)return A.ONE;var r=j(),n=j(),i=t.convert(this),o=r1(e)-1;for(i.copyTo(r);--o>=0;)if(t.sqrTo(r,n),(e&1<<o)>0)t.mulTo(n,i,r);else{var s=r;r=n,n=s}return t.revert(r)}function pl(e,t){var r;return e<256||t.isEven()?r=new tn(t):r=new en(t),this.exp(e,r)}A.prototype.copyTo=F7;A.prototype.fromInt=U7;A.prototype.fromString=O7;A.prototype.clamp=M7;A.prototype.dlShiftTo=H7;A.prototype.drShiftTo=G7;A.prototype.lShiftTo=Q7;A.prototype.rShiftTo=W7;A.prototype.subTo=Y7;A.prototype.multiplyTo=Z7;A.prototype.squareTo=X7;A.prototype.divRemTo=j7;A.prototype.invDigit=ol;A.prototype.isEven=ll;A.prototype.exp=hl;A.prototype.toString=K7;A.prototype.negate=V7;A.prototype.abs=q7;A.prototype.compareTo=z7;A.prototype.bitLength=$7;A.prototype.mod=J7;A.prototype.modPowInt=pl;A.ZERO=_r(0);A.ONE=_r(1);function dl(){var e=j();return this.copyTo(e),e}function yl(){if(this.s<0){if(this.t==1)return this.data[0]-this.DV;if(this.t==0)return-1}else{if(this.t==1)return this.data[0];if(this.t==0)return 0}return(this.data[1]&(1<<32-this.DB)-1)<<this.DB|this.data[0]}function gl(){return this.t==0?this.s:this.data[0]<<24>>24}function ml(){return this.t==0?this.s:this.data[0]<<16>>16}function xl(e){return Math.floor(Math.LN2*this.DB/Math.log(e))}function vl(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function wl(e){if(e==null&&(e=10),this.signum()==0||e<2||e>36)return"0";var t=this.chunkSize(e),r=Math.pow(e,t),n=_r(r),i=j(),o=j(),s="";for(this.divRemTo(n,i,o);i.signum()>0;)s=(r+o.intValue()).toString(e).substr(1)+s,i.divRemTo(n,i,o);return o.intValue().toString(e)+s}function bl(e,t){this.fromInt(0),t==null&&(t=10);for(var r=this.chunkSize(t),n=Math.pow(t,r),i=!1,o=0,s=0,a=0;a<e.length;++a){var u=A5(e,a);if(u<0){e.charAt(a)=="-"&&this.signum()==0&&(i=!0);continue}s=t*s+u,++o>=r&&(this.dMultiply(n),this.dAddOffset(s,0),o=0,s=0)}o>0&&(this.dMultiply(Math.pow(t,o)),this.dAddOffset(s,0)),i&&A.ZERO.subTo(this,this)}function El(e,t,r){if(typeof t=="number")if(e<2)this.fromInt(1);else for(this.fromNumber(e,r),this.testBit(e-1)||this.bitwiseTo(A.ONE.shiftLeft(e-1),zs,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(t);)this.dAddOffset(2,0),this.bitLength()>e&&this.subTo(A.ONE.shiftLeft(e-1),this);else{var n=new Array,i=e&7;n.length=(e>>3)+1,t.nextBytes(n),i>0?n[0]&=(1<<i)-1:n[0]=0,this.fromString(n,256)}}function Sl(){var e=this.t,t=new Array;t[0]=this.s;var r=this.DB-e*this.DB%8,n,i=0;if(e-- >0)for(r<this.DB&&(n=this.data[e]>>r)!=(this.s&this.DM)>>r&&(t[i++]=n|this.s<<this.DB-r);e>=0;)r<8?(n=(this.data[e]&(1<<r)-1)<<8-r,n|=this.data[--e]>>(r+=this.DB-8)):(n=this.data[e]>>(r-=8)&255,r<=0&&(r+=this.DB,--e)),n&128&&(n|=-256),i==0&&(this.s&128)!=(n&128)&&++i,(i>0||n!=this.s)&&(t[i++]=n);return t}function Al(e){return this.compareTo(e)==0}function Il(e){return this.compareTo(e)<0?this:e}function Bl(e){return this.compareTo(e)>0?this:e}function Cl(e,t,r){var n,i,o=Math.min(e.t,this.t);for(n=0;n<o;++n)r.data[n]=t(this.data[n],e.data[n]);if(e.t<this.t){for(i=e.s&this.DM,n=o;n<this.t;++n)r.data[n]=t(this.data[n],i);r.t=this.t}else{for(i=this.s&this.DM,n=o;n<e.t;++n)r.data[n]=t(i,e.data[n]);r.t=e.t}r.s=t(this.s,e.s),r.clamp()}function _l(e,t){return e&t}function Tl(e){var t=j();return this.bitwiseTo(e,_l,t),t}function zs(e,t){return e|t}function Rl(e){var t=j();return this.bitwiseTo(e,zs,t),t}function I5(e,t){return e^t}function Pl(e){var t=j();return this.bitwiseTo(e,I5,t),t}function B5(e,t){return e&~t}function Nl(e){var t=j();return this.bitwiseTo(e,B5,t),t}function Ll(){for(var e=j(),t=0;t<this.t;++t)e.data[t]=this.DM&~this.data[t];return e.t=this.t,e.s=~this.s,e}function kl(e){var t=j();return e<0?this.rShiftTo(-e,t):this.lShiftTo(e,t),t}function Dl(e){var t=j();return e<0?this.lShiftTo(-e,t):this.rShiftTo(e,t),t}function Fl(e){if(e==0)return-1;var t=0;return e&65535||(e>>=16,t+=16),e&255||(e>>=8,t+=8),e&15||(e>>=4,t+=4),e&3||(e>>=2,t+=2),e&1||++t,t}function Ul(){for(var e=0;e<this.t;++e)if(this.data[e]!=0)return e*this.DB+Fl(this.data[e]);return this.s<0?this.t*this.DB:-1}function Ol(e){for(var t=0;e!=0;)e&=e-1,++t;return t}function Ml(){for(var e=0,t=this.s&this.DM,r=0;r<this.t;++r)e+=Ol(this.data[r]^t);return e}function Kl(e){var t=Math.floor(e/this.DB);return t>=this.t?this.s!=0:(this.data[t]&1<<e%this.DB)!=0}function Vl(e,t){var r=A.ONE.shiftLeft(e);return this.bitwiseTo(r,t,r),r}function ql(e){return this.changeBit(e,zs)}function zl(e){return this.changeBit(e,B5)}function $l(e){return this.changeBit(e,I5)}function Hl(e,t){for(var r=0,n=0,i=Math.min(e.t,this.t);r<i;)n+=this.data[r]+e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;if(e.t<this.t){for(n+=e.s;r<this.t;)n+=this.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<e.t;)n+=e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=e.s}t.s=n<0?-1:0,n>0?t.data[r++]=n:n<-1&&(t.data[r++]=this.DV+n),t.t=r,t.clamp()}function Gl(e){var t=j();return this.addTo(e,t),t}function Ql(e){var t=j();return this.subTo(e,t),t}function Wl(e){var t=j();return this.multiplyTo(e,t),t}function Yl(e){var t=j();return this.divRemTo(e,t,null),t}function Zl(e){var t=j();return this.divRemTo(e,null,t),t}function Xl(e){var t=j(),r=j();return this.divRemTo(e,t,r),new Array(t,r)}function jl(e){this.data[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()}function Jl(e,t){if(e!=0){for(;this.t<=t;)this.data[this.t++]=0;for(this.data[t]+=e;this.data[t]>=this.DV;)this.data[t]-=this.DV,++t>=this.t&&(this.data[this.t++]=0),++this.data[t]}}function k0(){}function C5(e){return e}function t9(e,t,r){e.multiplyTo(t,r)}function e9(e,t){e.squareTo(t)}k0.prototype.convert=C5;k0.prototype.revert=C5;k0.prototype.mulTo=t9;k0.prototype.sqrTo=e9;function r9(e){return this.exp(e,new k0)}function n9(e,t,r){var n=Math.min(this.t+e.t,t);for(r.s=0,r.t=n;n>0;)r.data[--n]=0;var i;for(i=r.t-this.t;n<i;++n)r.data[n+this.t]=this.am(0,e.data[n],r,n,0,this.t);for(i=Math.min(e.t,t);n<i;++n)this.am(0,e.data[n],r,n,0,t-n);r.clamp()}function i9(e,t,r){--t;var n=r.t=this.t+e.t-t;for(r.s=0;--n>=0;)r.data[n]=0;for(n=Math.max(t-this.t,0);n<e.t;++n)r.data[this.t+n-t]=this.am(t-n,e.data[n],r,0,0,this.t+n-t);r.clamp(),r.drShiftTo(1,r)}function Gn(e){this.r2=j(),this.q3=j(),A.ONE.dlShiftTo(2*e.t,this.r2),this.mu=this.r2.divide(e),this.m=e}function o9(e){if(e.s<0||e.t>2*this.m.t)return e.mod(this.m);if(e.compareTo(this.m)<0)return e;var t=j();return e.copyTo(t),this.reduce(t),t}function s9(e){return e}function a9(e){for(e.drShiftTo(this.m.t-1,this.r2),e.t>this.m.t+1&&(e.t=this.m.t+1,e.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);e.compareTo(this.r2)<0;)e.dAddOffset(1,this.m.t+1);for(e.subTo(this.r2,e);e.compareTo(this.m)>=0;)e.subTo(this.m,e)}function u9(e,t){e.squareTo(t),this.reduce(t)}function c9(e,t,r){e.multiplyTo(t,r),this.reduce(r)}Gn.prototype.convert=o9;Gn.prototype.revert=s9;Gn.prototype.reduce=a9;Gn.prototype.mulTo=c9;Gn.prototype.sqrTo=u9;function f9(e,t){var r=e.bitLength(),n,i=_r(1),o;if(r<=0)return i;r<18?n=1:r<48?n=3:r<144?n=4:r<768?n=5:n=6,r<8?o=new tn(t):t.isEven()?o=new Gn(t):o=new en(t);var s=new Array,a=3,u=n-1,c=(1<<n)-1;if(s[1]=o.convert(this),n>1){var f=j();for(o.sqrTo(s[1],f);a<=c;)s[a]=j(),o.mulTo(f,s[a-2],s[a]),a+=2}var l=e.t-1,d,p=!0,h=j(),y;for(r=r1(e.data[l])-1;l>=0;){for(r>=u?d=e.data[l]>>r-u&c:(d=(e.data[l]&(1<<r+1)-1)<<u-r,l>0&&(d|=e.data[l-1]>>this.DB+r-u)),a=n;!(d&1);)d>>=1,--a;if((r-=a)<0&&(r+=this.DB,--l),p)s[d].copyTo(i),p=!1;else{for(;a>1;)o.sqrTo(i,h),o.sqrTo(h,i),a-=2;a>0?o.sqrTo(i,h):(y=i,i=h,h=y),o.mulTo(h,s[d],i)}for(;l>=0&&!(e.data[l]&1<<r);)o.sqrTo(i,h),y=i,i=h,h=y,--r<0&&(r=this.DB-1,--l)}return o.revert(i)}function l9(e){var t=this.s<0?this.negate():this.clone(),r=e.s<0?e.negate():e.clone();if(t.compareTo(r)<0){var n=t;t=r,r=n}var i=t.getLowestSetBit(),o=r.getLowestSetBit();if(o<0)return t;for(i<o&&(o=i),o>0&&(t.rShiftTo(o,t),r.rShiftTo(o,r));t.signum()>0;)(i=t.getLowestSetBit())>0&&t.rShiftTo(i,t),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),t.compareTo(r)>=0?(t.subTo(r,t),t.rShiftTo(1,t)):(r.subTo(t,r),r.rShiftTo(1,r));return o>0&&r.lShiftTo(o,r),r}function h9(e){if(e<=0)return 0;var t=this.DV%e,r=this.s<0?e-1:0;if(this.t>0)if(t==0)r=this.data[0]%e;else for(var n=this.t-1;n>=0;--n)r=(t*r+this.data[n])%e;return r}function p9(e){var t=e.isEven();if(this.isEven()&&t||e.signum()==0)return A.ZERO;for(var r=e.clone(),n=this.clone(),i=_r(1),o=_r(0),s=_r(0),a=_r(1);r.signum()!=0;){for(;r.isEven();)r.rShiftTo(1,r),t?((!i.isEven()||!o.isEven())&&(i.addTo(this,i),o.subTo(e,o)),i.rShiftTo(1,i)):o.isEven()||o.subTo(e,o),o.rShiftTo(1,o);for(;n.isEven();)n.rShiftTo(1,n),t?((!s.isEven()||!a.isEven())&&(s.addTo(this,s),a.subTo(e,a)),s.rShiftTo(1,s)):a.isEven()||a.subTo(e,a),a.rShiftTo(1,a);r.compareTo(n)>=0?(r.subTo(n,r),t&&i.subTo(s,i),o.subTo(a,o)):(n.subTo(r,n),t&&s.subTo(i,s),a.subTo(o,a))}if(n.compareTo(A.ONE)!=0)return A.ZERO;if(a.compareTo(e)>=0)return a.subtract(e);if(a.signum()<0)a.addTo(e,a);else return a;return a.signum()<0?a.add(e):a}var Ae=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509],d9=(1<<26)/Ae[Ae.length-1];function y9(e){var t,r=this.abs();if(r.t==1&&r.data[0]<=Ae[Ae.length-1]){for(t=0;t<Ae.length;++t)if(r.data[0]==Ae[t])return!0;return!1}if(r.isEven())return!1;for(t=1;t<Ae.length;){for(var n=Ae[t],i=t+1;i<Ae.length&&n<d9;)n*=Ae[i++];for(n=r.modInt(n);t<i;)if(n%Ae[t++]==0)return!1}return r.millerRabin(e)}function g9(e){var t=this.subtract(A.ONE),r=t.getLowestSetBit();if(r<=0)return!1;for(var n=t.shiftRight(r),i=m9(),o,s=0;s<e;++s){do o=new A(this.bitLength(),i);while(o.compareTo(A.ONE)<=0||o.compareTo(t)>=0);var a=o.modPow(n,this);if(a.compareTo(A.ONE)!=0&&a.compareTo(t)!=0){for(var u=1;u++<r&&a.compareTo(t)!=0;)if(a=a.modPowInt(2,this),a.compareTo(A.ONE)==0)return!1;if(a.compareTo(t)!=0)return!1}}return!0}function m9(){return{nextBytes:function(e){for(var t=0;t<e.length;++t)e[t]=Math.floor(Math.random()*256)}}}A.prototype.chunkSize=xl;A.prototype.toRadix=wl;A.prototype.fromRadix=bl;A.prototype.fromNumber=El;A.prototype.bitwiseTo=Cl;A.prototype.changeBit=Vl;A.prototype.addTo=Hl;A.prototype.dMultiply=jl;A.prototype.dAddOffset=Jl;A.prototype.multiplyLowerTo=n9;A.prototype.multiplyUpperTo=i9;A.prototype.modInt=h9;A.prototype.millerRabin=g9;A.prototype.clone=dl;A.prototype.intValue=yl;A.prototype.byteValue=gl;A.prototype.shortValue=ml;A.prototype.signum=vl;A.prototype.toByteArray=Sl;A.prototype.equals=Al;A.prototype.min=Il;A.prototype.max=Bl;A.prototype.and=Tl;A.prototype.or=Rl;A.prototype.xor=Pl;A.prototype.andNot=Nl;A.prototype.not=Ll;A.prototype.shiftLeft=kl;A.prototype.shiftRight=Dl;A.prototype.getLowestSetBit=Ul;A.prototype.bitCount=Ml;A.prototype.testBit=Kl;A.prototype.setBit=ql;A.prototype.clearBit=zl;A.prototype.flipBit=$l;A.prototype.add=Gl;A.prototype.subtract=Ql;A.prototype.multiply=Wl;A.prototype.divide=Yl;A.prototype.remainder=Zl;A.prototype.divideAndRemainder=Xl;A.prototype.modPow=f9;A.prototype.modInverse=p9;A.prototype.pow=r9;A.prototype.gcd=l9;A.prototype.isProbablePrime=y9});var L5=D((ix,N5)=>{var ze=nt();Jr();Ct();var R5=N5.exports=ze.sha1=ze.sha1||{};ze.md.sha1=ze.md.algorithms.sha1=R5;R5.create=function(){P5||x9();var e=null,t=ze.util.createBuffer(),r=new Array(80),n={algorithm:"sha1",blockLength:64,digestLength:20,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,o=0;o<i;++o)n.fullMessageLength.push(0);return t=ze.util.createBuffer(),e={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=ze.util.encodeUtf8(i));var s=i.length;n.messageLength+=s,s=[s/4294967296>>>0,s>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=s[1],s[1]=s[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,s[0]=s[1]/4294967296>>>0;return t.putBytes(i),T5(e,r,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=ze.util.createBuffer();i.putBytes(t.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes($s.substr(0,n.blockLength-s));for(var a,u,c=n.fullMessageLength[0]*8,f=0;f<n.fullMessageLength.length-1;++f)a=n.fullMessageLength[f+1]*8,u=a/4294967296>>>0,c+=u,i.putInt32(c>>>0),c=a>>>0;i.putInt32(c);var l={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4};T5(l,r,i);var d=ze.util.createBuffer();return d.putInt32(l.h0),d.putInt32(l.h1),d.putInt32(l.h2),d.putInt32(l.h3),d.putInt32(l.h4),d},n};var $s=null,P5=!1;function x9(){$s=String.fromCharCode(128),$s+=ze.util.fillString(String.fromCharCode(0),64),P5=!0}function T5(e,t,r){for(var n,i,o,s,a,u,c,f,l=r.length();l>=64;){for(i=e.h0,o=e.h1,s=e.h2,a=e.h3,u=e.h4,f=0;f<16;++f)n=r.getInt32(),t[f]=n,c=a^o&(s^a),n=(i<<5|i>>>27)+c+u+1518500249+n,u=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<20;++f)n=t[f-3]^t[f-8]^t[f-14]^t[f-16],n=n<<1|n>>>31,t[f]=n,c=a^o&(s^a),n=(i<<5|i>>>27)+c+u+1518500249+n,u=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<32;++f)n=t[f-3]^t[f-8]^t[f-14]^t[f-16],n=n<<1|n>>>31,t[f]=n,c=o^s^a,n=(i<<5|i>>>27)+c+u+1859775393+n,u=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<40;++f)n=t[f-6]^t[f-16]^t[f-28]^t[f-32],n=n<<2|n>>>30,t[f]=n,c=o^s^a,n=(i<<5|i>>>27)+c+u+1859775393+n,u=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<60;++f)n=t[f-6]^t[f-16]^t[f-28]^t[f-32],n=n<<2|n>>>30,t[f]=n,c=o&s|a&(o^s),n=(i<<5|i>>>27)+c+u+2400959708+n,u=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<80;++f)n=t[f-6]^t[f-16]^t[f-28]^t[f-32],n=n<<2|n>>>30,t[f]=n,c=o^s^a,n=(i<<5|i>>>27)+c+u+3395469782+n,u=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;e.h0=e.h0+i|0,e.h1=e.h1+o|0,e.h2=e.h2+s|0,e.h3=e.h3+a|0,e.h4=e.h4+u|0,l-=64}}});var F5=D((ox,D5)=>{var $e=nt();Ct();L0();L5();var k5=D5.exports=$e.pkcs1=$e.pkcs1||{};k5.encode_rsa_oaep=function(e,t,r){var n,i,o,s;typeof r=="string"?(n=r,i=arguments[3]||void 0,o=arguments[4]||void 0):r&&(n=r.label||void 0,i=r.seed||void 0,o=r.md||void 0,r.mgf1&&r.mgf1.md&&(s=r.mgf1.md)),o?o.start():o=$e.md.sha1.create(),s||(s=o);var a=Math.ceil(e.n.bitLength()/8),u=a-2*o.digestLength-2;if(t.length>u){var c=new Error("RSAES-OAEP input message length is too long.");throw c.length=t.length,c.maxLength=u,c}n||(n=""),o.update(n,"raw");for(var f=o.digest(),l="",d=u-t.length,p=0;p<d;p++)l+="\0";var h=f.getBytes()+l+""+t;if(!i)i=$e.random.getBytes(o.digestLength);else if(i.length!==o.digestLength){var c=new Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.");throw c.seedLength=i.length,c.digestLength=o.digestLength,c}var y=i1(i,a-o.digestLength-1,s),g=$e.util.xorBytes(h,y,h.length),m=i1(g,o.digestLength,s),v=$e.util.xorBytes(i,m,i.length);return"\0"+v+g};k5.decode_rsa_oaep=function(e,t,r){var n,i,o;typeof r=="string"?(n=r,i=arguments[3]||void 0):r&&(n=r.label||void 0,i=r.md||void 0,r.mgf1&&r.mgf1.md&&(o=r.mgf1.md));var s=Math.ceil(e.n.bitLength()/8);if(t.length!==s){var g=new Error("RSAES-OAEP encoded message length is invalid.");throw g.length=t.length,g.expectedLength=s,g}if(i===void 0?i=$e.md.sha1.create():i.start(),o||(o=i),s<2*i.digestLength+2)throw new Error("RSAES-OAEP key is too short for the hash function.");n||(n=""),i.update(n,"raw");for(var a=i.digest().getBytes(),u=t.charAt(0),c=t.substring(1,i.digestLength+1),f=t.substring(1+i.digestLength),l=i1(f,i.digestLength,o),d=$e.util.xorBytes(c,l,c.length),p=i1(d,s-i.digestLength-1,o),h=$e.util.xorBytes(f,p,f.length),y=h.substring(0,i.digestLength),g=u!=="\0",m=0;m<i.digestLength;++m)g|=a.charAt(m)!==y.charAt(m);for(var v=1,S=i.digestLength,L=i.digestLength;L<h.length;L++){var T=h.charCodeAt(L),_=T&1^1,q=v?65534:0;g|=T&q,v=v&_,S+=v}if(g||h.charCodeAt(S)!==1)throw new Error("Invalid RSAES-OAEP padding.");return h.substring(S+1)};function i1(e,t,r){r||(r=$e.md.sha1.create());for(var n="",i=Math.ceil(t/r.digestLength),o=0;o<i;++o){var s=String.fromCharCode(o>>24&255,o>>16&255,o>>8&255,o&255);r.start(),r.update(e+s),n+=r.digest().getBytes()}return n.substring(0,t)}});var U5=D((sx,Hs)=>{var Tr=nt();Ct();n1();L0();(function(){if(Tr.prime){Hs.exports=Tr.prime;return}var e=Hs.exports=Tr.prime=Tr.prime||{},t=Tr.jsbn.BigInteger,r=[6,4,2,4,2,4,6,2],n=new t(null);n.fromInt(30);var i=function(l,d){return l|d};e.generateProbablePrime=function(l,d,p){typeof d=="function"&&(p=d,d={}),d=d||{};var h=d.algorithm||"PRIMEINC";typeof h=="string"&&(h={name:h}),h.options=h.options||{};var y=d.prng||Tr.random,g={nextBytes:function(m){for(var v=y.getBytesSync(m.length),S=0;S<m.length;++S)m[S]=v.charCodeAt(S)}};if(h.name==="PRIMEINC")return o(l,g,h.options,p);throw new Error("Invalid prime generation algorithm: "+h.name)};function o(l,d,p,h){return"workers"in p?u(l,d,p,h):s(l,d,p,h)}function s(l,d,p,h){var y=c(l,d),g=0,m=f(y.bitLength());"millerRabinTests"in p&&(m=p.millerRabinTests);var v=10;"maxBlockTime"in p&&(v=p.maxBlockTime),a(y,l,d,g,m,v,h)}function a(l,d,p,h,y,g,m){var v=+new Date;do{if(l.bitLength()>d&&(l=c(d,p)),l.isProbablePrime(y))return m(null,l);l.dAddOffset(r[h++%8],0)}while(g<0||+new Date-v<g);Tr.util.setImmediate(function(){a(l,d,p,h,y,g,m)})}function u(l,d,p,h){if(typeof Worker>"u")return s(l,d,p,h);var y=c(l,d),g=p.workers,m=p.workLoad||100,v=m*30/8,S=p.workerScript||"forge/prime.worker.js";if(g===-1)return Tr.util.estimateCores(function(T,_){T&&(_=2),g=_-1,L()});L();function L(){g=Math.max(1,g);for(var T=[],_=0;_<g;++_)T[_]=new Worker(S);for(var q=g,_=0;_<g;++_)T[_].addEventListener("message",Nt);var G=!1;function Nt(ye){if(!G){--q;var Xt=ye.data;if(Xt.found){for(var qt=0;qt<T.length;++qt)T[qt].terminate();return G=!0,h(null,new t(Xt.prime,16))}y.bitLength()>l&&(y=c(l,d));var gn=y.toString(16);ye.target.postMessage({hex:gn,workLoad:m}),y.dAddOffset(v,0)}}}}function c(l,d){var p=new t(l,d),h=l-1;return p.testBit(h)||p.bitwiseTo(t.ONE.shiftLeft(h),i,p),p.dAddOffset(31-p.mod(n).byteValue(),0),p}function f(l){return l<=100?27:l<=150?18:l<=200?15:l<=250?12:l<=300?9:l<=350?8:l<=400?7:l<=500?6:l<=600?5:l<=800?4:l<=1250?3:2}})()});var s1=D((ax,$5)=>{var U=nt();N0();n1();Wi();F5();U5();L0();Ct();typeof W>"u"&&(W=U.jsbn.BigInteger);var W,Gs=U.util.isNodejs?$n():null,w=U.asn1,he=U.util;U.pki=U.pki||{};$5.exports=U.pki.rsa=U.rsa=U.rsa||{};var K=U.pki,v9=[6,4,2,4,2,4,6,2],w9={name:"PrivateKeyInfo",tagClass:w.Class.UNIVERSAL,type:w.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:w.Class.UNIVERSAL,type:w.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:w.Class.UNIVERSAL,type:w.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:w.Class.UNIVERSAL,type:w.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:w.Class.UNIVERSAL,type:w.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},b9={name:"RSAPrivateKey",tagClass:w.Class.UNIVERSAL,type:w.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPrivateKey.version",tagClass:w.Class.UNIVERSAL,type:w.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"RSAPrivateKey.modulus",tagClass:w.Class.UNIVERSAL,type:w.Type.INTEGER,constructed:!1,capture:"privateKeyModulus"},{name:"RSAPrivateKey.publicExponent",tagClass:w.Class.UNIVERSAL,type:w.Type.INTEGER,constructed:!1,capture:"privateKeyPublicExponent"},{name:"RSAPrivateKey.privateExponent",tagClass:w.Class.UNIVERSAL,type:w.Type.INTEGER,constructed:!1,capture:"privateKeyPrivateExponent"},{name:"RSAPrivateKey.prime1",tagClass:w.Class.UNIVERSAL,type:w.Type.INTEGER,constructed:!1,capture:"privateKeyPrime1"},{name:"RSAPrivateKey.prime2",tagClass:w.Class.UNIVERSAL,type:w.Type.INTEGER,constructed:!1,capture:"privateKeyPrime2"},{name:"RSAPrivateKey.exponent1",tagClass:w.Class.UNIVERSAL,type:w.Type.INTEGER,constructed:!1,capture:"privateKeyExponent1"},{name:"RSAPrivateKey.exponent2",tagClass:w.Class.UNIVERSAL,type:w.Type.INTEGER,constructed:!1,capture:"privateKeyExponent2"},{name:"RSAPrivateKey.coefficient",tagClass:w.Class.UNIVERSAL,type:w.Type.INTEGER,constructed:!1,capture:"privateKeyCoefficient"}]},E9={name:"RSAPublicKey",tagClass:w.Class.UNIVERSAL,type:w.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPublicKey.modulus",tagClass:w.Class.UNIVERSAL,type:w.Type.INTEGER,constructed:!1,capture:"publicKeyModulus"},{name:"RSAPublicKey.exponent",tagClass:w.Class.UNIVERSAL,type:w.Type.INTEGER,constructed:!1,capture:"publicKeyExponent"}]},S9=U.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:w.Class.UNIVERSAL,type:w.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:w.Class.UNIVERSAL,type:w.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:w.Class.UNIVERSAL,type:w.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:w.Class.UNIVERSAL,type:w.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:w.Class.UNIVERSAL,type:w.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},A9={name:"DigestInfo",tagClass:w.Class.UNIVERSAL,type:w.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm",tagClass:w.Class.UNIVERSAL,type:w.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm.algorithmIdentifier",tagClass:w.Class.UNIVERSAL,type:w.Type.OID,constructed:!1,capture:"algorithmIdentifier"},{name:"DigestInfo.DigestAlgorithm.parameters",tagClass:w.Class.UNIVERSAL,type:w.Type.NULL,capture:"parameters",optional:!0,constructed:!1}]},{name:"DigestInfo.digest",tagClass:w.Class.UNIVERSAL,type:w.Type.OCTETSTRING,constructed:!1,capture:"digest"}]},I9=function(e){var t;if(e.algorithm in K.oids)t=K.oids[e.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=e.algorithm,r}var n=w.oidToDer(t).getBytes(),i=w.create(w.Class.UNIVERSAL,w.Type.SEQUENCE,!0,[]),o=w.create(w.Class.UNIVERSAL,w.Type.SEQUENCE,!0,[]);o.value.push(w.create(w.Class.UNIVERSAL,w.Type.OID,!1,n)),o.value.push(w.create(w.Class.UNIVERSAL,w.Type.NULL,!1,""));var s=w.create(w.Class.UNIVERSAL,w.Type.OCTETSTRING,!1,e.digest().getBytes());return i.value.push(o),i.value.push(s),w.toDer(i).getBytes()},q5=function(e,t,r){if(r)return e.modPow(t.e,t.n);if(!t.p||!t.q)return e.modPow(t.d,t.n);t.dP||(t.dP=t.d.mod(t.p.subtract(W.ONE))),t.dQ||(t.dQ=t.d.mod(t.q.subtract(W.ONE))),t.qInv||(t.qInv=t.q.modInverse(t.p));var n;do n=new W(U.util.bytesToHex(U.random.getBytes(t.n.bitLength()/8)),16);while(n.compareTo(t.n)>=0||!n.gcd(t.n).equals(W.ONE));e=e.multiply(n.modPow(t.e,t.n)).mod(t.n);for(var i=e.mod(t.p).modPow(t.dP,t.p),o=e.mod(t.q).modPow(t.dQ,t.q);i.compareTo(o)<0;)i=i.add(t.p);var s=i.subtract(o).multiply(t.qInv).mod(t.p).multiply(t.q).add(o);return s=s.multiply(n.modInverse(t.n)).mod(t.n),s};K.rsa.encrypt=function(e,t,r){var n=r,i,o=Math.ceil(t.n.bitLength()/8);r!==!1&&r!==!0?(n=r===2,i=z5(e,t,r)):(i=U.util.createBuffer(),i.putBytes(e));for(var s=new W(i.toHex(),16),a=q5(s,t,n),u=a.toString(16),c=U.util.createBuffer(),f=o-Math.ceil(u.length/2);f>0;)c.putByte(0),--f;return c.putBytes(U.util.hexToBytes(u)),c.getBytes()};K.rsa.decrypt=function(e,t,r,n){var i=Math.ceil(t.n.bitLength()/8);if(e.length!==i){var o=new Error("Encrypted message length is invalid.");throw o.length=e.length,o.expected=i,o}var s=new W(U.util.createBuffer(e).toHex(),16);if(s.compareTo(t.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=q5(s,t,r),u=a.toString(16),c=U.util.createBuffer(),f=i-Math.ceil(u.length/2);f>0;)c.putByte(0),--f;return c.putBytes(U.util.hexToBytes(u)),n!==!1?o1(c.getBytes(),t,r):c.getBytes()};K.rsa.createKeyPairGenerationState=function(e,t,r){typeof e=="string"&&(e=parseInt(e,10)),e=e||2048,r=r||{};var n=r.prng||U.random,i={nextBytes:function(a){for(var u=n.getBytesSync(a.length),c=0;c<a.length;++c)a[c]=u.charCodeAt(c)}},o=r.algorithm||"PRIMEINC",s;if(o==="PRIMEINC")s={algorithm:o,state:0,bits:e,rng:i,eInt:t||65537,e:new W(null),p:null,q:null,qBits:e>>1,pBits:e-(e>>1),pqState:0,num:null,keys:null},s.e.fromInt(s.eInt);else throw new Error("Invalid key generation algorithm: "+o);return s};K.rsa.stepKeyPairGenerationState=function(e,t){"algorithm"in e||(e.algorithm="PRIMEINC");var r=new W(null);r.fromInt(30);for(var n=0,i=function(l,d){return l|d},o=+new Date,s,a=0;e.keys===null&&(t<=0||a<t);){if(e.state===0){var u=e.p===null?e.pBits:e.qBits,c=u-1;e.pqState===0?(e.num=new W(u,e.rng),e.num.testBit(c)||e.num.bitwiseTo(W.ONE.shiftLeft(c),i,e.num),e.num.dAddOffset(31-e.num.mod(r).byteValue(),0),n=0,++e.pqState):e.pqState===1?e.num.bitLength()>u?e.pqState=0:e.num.isProbablePrime(C9(e.num.bitLength()))?++e.pqState:e.num.dAddOffset(v9[n++%8],0):e.pqState===2?e.pqState=e.num.subtract(W.ONE).gcd(e.e).compareTo(W.ONE)===0?3:0:e.pqState===3&&(e.pqState=0,e.p===null?e.p=e.num:e.q=e.num,e.p!==null&&e.q!==null&&++e.state,e.num=null)}else if(e.state===1)e.p.compareTo(e.q)<0&&(e.num=e.p,e.p=e.q,e.q=e.num),++e.state;else if(e.state===2)e.p1=e.p.subtract(W.ONE),e.q1=e.q.subtract(W.ONE),e.phi=e.p1.multiply(e.q1),++e.state;else if(e.state===3)e.phi.gcd(e.e).compareTo(W.ONE)===0?++e.state:(e.p=null,e.q=null,e.state=0);else if(e.state===4)e.n=e.p.multiply(e.q),e.n.bitLength()===e.bits?++e.state:(e.q=null,e.state=0);else if(e.state===5){var f=e.e.modInverse(e.phi);e.keys={privateKey:K.rsa.setPrivateKey(e.n,e.e,f,e.p,e.q,f.mod(e.p1),f.mod(e.q1),e.q.modInverse(e.p)),publicKey:K.rsa.setPublicKey(e.n,e.e)}}s=+new Date,a+=s-o,o=s}return e.keys!==null};K.rsa.generateKeyPair=function(e,t,r,n){if(arguments.length===1?typeof e=="object"?(r=e,e=void 0):typeof e=="function"&&(n=e,e=void 0):arguments.length===2?typeof e=="number"?typeof t=="function"?(n=t,t=void 0):typeof t!="number"&&(r=t,t=void 0):(r=e,n=t,e=void 0,t=void 0):arguments.length===3&&(typeof t=="number"?typeof r=="function"&&(n=r,r=void 0):(n=r,r=t,t=void 0)),r=r||{},e===void 0&&(e=r.bits||2048),t===void 0&&(t=r.e||65537),!U.options.usePureJavaScript&&!r.prng&&e>=256&&e<=16384&&(t===65537||t===3)){if(n){if(O5("generateKeyPair"))return Gs.generateKeyPair("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},function(a,u,c){if(a)return n(a);n(null,{privateKey:K.privateKeyFromPem(c),publicKey:K.publicKeyFromPem(u)})});if(M5("generateKey")&&M5("exportKey"))return he.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:V5(t),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return he.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var u=K.privateKeyFromAsn1(w.fromDer(U.util.createBuffer(a)));n(null,{privateKey:u,publicKey:K.setRsaPublicKey(u.n,u.e)})}});if(K5("generateKey")&&K5("exportKey")){var i=he.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:V5(t),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var u=a.target.result,c=he.globalScope.msCrypto.subtle.exportKey("pkcs8",u.privateKey);c.oncomplete=function(f){var l=f.target.result,d=K.privateKeyFromAsn1(w.fromDer(U.util.createBuffer(l)));n(null,{privateKey:d,publicKey:K.setRsaPublicKey(d.n,d.e)})},c.onerror=function(f){n(f)}},i.onerror=function(a){n(a)};return}}else if(O5("generateKeyPairSync")){var o=Gs.generateKeyPairSync("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:K.privateKeyFromPem(o.privateKey),publicKey:K.publicKeyFromPem(o.publicKey)}}}var s=K.rsa.createKeyPairGenerationState(e,t,r);if(!n)return K.rsa.stepKeyPairGenerationState(s,0),s.keys;B9(s,r,n)};K.setRsaPublicKey=K.rsa.setPublicKey=function(e,t){var r={n:e,e:t};return r.encrypt=function(n,i,o){if(typeof i=="string"?i=i.toUpperCase():i===void 0&&(i="RSAES-PKCS1-V1_5"),i==="RSAES-PKCS1-V1_5")i={encode:function(a,u,c){return z5(a,u,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,u){return U.pkcs1.encode_rsa_oaep(u,a,o)}};else if(["RAW","NONE","NULL",null].indexOf(i)!==-1)i={encode:function(a){return a}};else if(typeof i=="string")throw new Error('Unsupported encryption scheme: "'+i+'".');var s=i.encode(n,r,!0);return K.rsa.encrypt(s,r,!0)},r.verify=function(n,i,o,s){typeof o=="string"?o=o.toUpperCase():o===void 0&&(o="RSASSA-PKCS1-V1_5"),s===void 0&&(s={_parseAllDigestBytes:!0}),"_parseAllDigestBytes"in s||(s._parseAllDigestBytes=!0),o==="RSASSA-PKCS1-V1_5"?o={verify:function(u,c){c=o1(c,r,!0);var f=w.fromDer(c,{parseAllBytes:s._parseAllDigestBytes}),l={},d=[];if(!w.validate(f,A9,l,d)){var p=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw p.errors=d,p}var h=w.derToOid(l.algorithmIdentifier);if(!(h===U.oids.md2||h===U.oids.md5||h===U.oids.sha1||h===U.oids.sha224||h===U.oids.sha256||h===U.oids.sha384||h===U.oids.sha512||h===U.oids["sha512-224"]||h===U.oids["sha512-256"])){var p=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw p.oid=h,p}if((h===U.oids.md2||h===U.oids.md5)&&!("parameters"in l))throw new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value. Missing algorithm identifer NULL parameters.");return u===l.digest}}:(o==="NONE"||o==="NULL"||o===null)&&(o={verify:function(u,c){return c=o1(c,r,!0),u===c}});var a=K.rsa.decrypt(i,r,!0,!1);return o.verify(n,a,r.n.bitLength())},r};K.setRsaPrivateKey=K.rsa.setPrivateKey=function(e,t,r,n,i,o,s,a){var u={n:e,e:t,d:r,p:n,q:i,dP:o,dQ:s,qInv:a};return u.decrypt=function(c,f,l){typeof f=="string"?f=f.toUpperCase():f===void 0&&(f="RSAES-PKCS1-V1_5");var d=K.rsa.decrypt(c,u,!1,!1);if(f==="RSAES-PKCS1-V1_5")f={decode:o1};else if(f==="RSA-OAEP"||f==="RSAES-OAEP")f={decode:function(p,h){return U.pkcs1.decode_rsa_oaep(h,p,l)}};else if(["RAW","NONE","NULL",null].indexOf(f)!==-1)f={decode:function(p){return p}};else throw new Error('Unsupported encryption scheme: "'+f+'".');return f.decode(d,u,!1)},u.sign=function(c,f){var l=!1;typeof f=="string"&&(f=f.toUpperCase()),f===void 0||f==="RSASSA-PKCS1-V1_5"?(f={encode:I9},l=1):(f==="NONE"||f==="NULL"||f===null)&&(f={encode:function(){return c}},l=1);var d=f.encode(c,u.n.bitLength());return K.rsa.encrypt(d,u,l)},u};K.wrapRsaPrivateKey=function(e){return w.create(w.Class.UNIVERSAL,w.Type.SEQUENCE,!0,[w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,w.integerToDer(0).getBytes()),w.create(w.Class.UNIVERSAL,w.Type.SEQUENCE,!0,[w.create(w.Class.UNIVERSAL,w.Type.OID,!1,w.oidToDer(K.oids.rsaEncryption).getBytes()),w.create(w.Class.UNIVERSAL,w.Type.NULL,!1,"")]),w.create(w.Class.UNIVERSAL,w.Type.OCTETSTRING,!1,w.toDer(e).getBytes())])};K.privateKeyFromAsn1=function(e){var t={},r=[];if(w.validate(e,w9,t,r)&&(e=w.fromDer(U.util.createBuffer(t.privateKey))),t={},r=[],!w.validate(e,b9,t,r)){var n=new Error("Cannot read private key. ASN.1 object does not contain an RSAPrivateKey.");throw n.errors=r,n}var i,o,s,a,u,c,f,l;return i=U.util.createBuffer(t.privateKeyModulus).toHex(),o=U.util.createBuffer(t.privateKeyPublicExponent).toHex(),s=U.util.createBuffer(t.privateKeyPrivateExponent).toHex(),a=U.util.createBuffer(t.privateKeyPrime1).toHex(),u=U.util.createBuffer(t.privateKeyPrime2).toHex(),c=U.util.createBuffer(t.privateKeyExponent1).toHex(),f=U.util.createBuffer(t.privateKeyExponent2).toHex(),l=U.util.createBuffer(t.privateKeyCoefficient).toHex(),K.setRsaPrivateKey(new W(i,16),new W(o,16),new W(s,16),new W(a,16),new W(u,16),new W(c,16),new W(f,16),new W(l,16))};K.privateKeyToAsn1=K.privateKeyToRSAPrivateKey=function(e){return w.create(w.Class.UNIVERSAL,w.Type.SEQUENCE,!0,[w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,w.integerToDer(0).getBytes()),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,He(e.n)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,He(e.e)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,He(e.d)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,He(e.p)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,He(e.q)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,He(e.dP)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,He(e.dQ)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,He(e.qInv))])};K.publicKeyFromAsn1=function(e){var t={},r=[];if(w.validate(e,S9,t,r)){var n=w.derToOid(t.publicKeyOid);if(n!==K.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}e=t.rsaPublicKey}if(r=[],!w.validate(e,E9,t,r)){var i=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");throw i.errors=r,i}var o=U.util.createBuffer(t.publicKeyModulus).toHex(),s=U.util.createBuffer(t.publicKeyExponent).toHex();return K.setRsaPublicKey(new W(o,16),new W(s,16))};K.publicKeyToAsn1=K.publicKeyToSubjectPublicKeyInfo=function(e){return w.create(w.Class.UNIVERSAL,w.Type.SEQUENCE,!0,[w.create(w.Class.UNIVERSAL,w.Type.SEQUENCE,!0,[w.create(w.Class.UNIVERSAL,w.Type.OID,!1,w.oidToDer(K.oids.rsaEncryption).getBytes()),w.create(w.Class.UNIVERSAL,w.Type.NULL,!1,"")]),w.create(w.Class.UNIVERSAL,w.Type.BITSTRING,!1,[K.publicKeyToRSAPublicKey(e)])])};K.publicKeyToRSAPublicKey=function(e){return w.create(w.Class.UNIVERSAL,w.Type.SEQUENCE,!0,[w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,He(e.n)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,He(e.e))])};function z5(e,t,r){var n=U.util.createBuffer(),i=Math.ceil(t.n.bitLength()/8);if(e.length>i-11){var o=new Error("Message is too long for PKCS#1 v1.5 padding.");throw o.length=e.length,o.max=i-11,o}n.putByte(0),n.putByte(r);var s=i-3-e.length,a;if(r===0||r===1){a=r===0?0:255;for(var u=0;u<s;++u)n.putByte(a)}else for(;s>0;){for(var c=0,f=U.random.getBytes(s),u=0;u<s;++u)a=f.charCodeAt(u),a===0?++c:n.putByte(a);s=c}return n.putByte(0),n.putBytes(e),n}function o1(e,t,r,n){var i=Math.ceil(t.n.bitLength()/8),o=U.util.createBuffer(e),s=o.getByte(),a=o.getByte();if(s!==0||r&&a!==0&&a!==1||!r&&a!=2||r&&a===0&&typeof n>"u")throw new Error("Encryption block is invalid.");var u=0;if(a===0){u=i-3-n;for(var c=0;c<u;++c)if(o.getByte()!==0)throw new Error("Encryption block is invalid.")}else if(a===1)for(u=0;o.length()>1;){if(o.getByte()!==255){--o.read;break}++u}else if(a===2)for(u=0;o.length()>1;){if(o.getByte()===0){--o.read;break}++u}var f=o.getByte();if(f!==0||u!==i-3-o.length())throw new Error("Encryption block is invalid.");return o.getBytes()}function B9(e,t,r){typeof t=="function"&&(r=t,t={}),t=t||{};var n={algorithm:{name:t.algorithm||"PRIMEINC",options:{workers:t.workers||2,workLoad:t.workLoad||100,workerScript:t.workerScript}}};"prng"in t&&(n.prng=t.prng),i();function i(){o(e.pBits,function(a,u){if(a)return r(a);if(e.p=u,e.q!==null)return s(a,e.q);o(e.qBits,s)})}function o(a,u){U.prime.generateProbablePrime(a,n,u)}function s(a,u){if(a)return r(a);if(e.q=u,e.p.compareTo(e.q)<0){var c=e.p;e.p=e.q,e.q=c}if(e.p.subtract(W.ONE).gcd(e.e).compareTo(W.ONE)!==0){e.p=null,i();return}if(e.q.subtract(W.ONE).gcd(e.e).compareTo(W.ONE)!==0){e.q=null,o(e.qBits,s);return}if(e.p1=e.p.subtract(W.ONE),e.q1=e.q.subtract(W.ONE),e.phi=e.p1.multiply(e.q1),e.phi.gcd(e.e).compareTo(W.ONE)!==0){e.p=e.q=null,i();return}if(e.n=e.p.multiply(e.q),e.n.bitLength()!==e.bits){e.q=null,o(e.qBits,s);return}var f=e.e.modInverse(e.phi);e.keys={privateKey:K.rsa.setPrivateKey(e.n,e.e,f,e.p,e.q,f.mod(e.p1),f.mod(e.q1),e.q.modInverse(e.p)),publicKey:K.rsa.setPublicKey(e.n,e.e)},r(null,e.keys)}}function He(e){var t=e.toString(16);t[0]>="8"&&(t="00"+t);var r=U.util.hexToBytes(t);return r.length>1&&(r.charCodeAt(0)===0&&!(r.charCodeAt(1)&128)||r.charCodeAt(0)===255&&(r.charCodeAt(1)&128)===128)?r.substr(1):r}function C9(e){return e<=100?27:e<=150?18:e<=200?15:e<=250?12:e<=300?9:e<=350?8:e<=400?7:e<=500?6:e<=600?5:e<=800?4:e<=1250?3:2}function O5(e){return U.util.isNodejs&&typeof Gs[e]=="function"}function M5(e){return typeof he.globalScope<"u"&&typeof he.globalScope.crypto=="object"&&typeof he.globalScope.crypto.subtle=="object"&&typeof he.globalScope.crypto.subtle[e]=="function"}function K5(e){return typeof he.globalScope<"u"&&typeof he.globalScope.msCrypto=="object"&&typeof he.globalScope.msCrypto.subtle=="object"&&typeof he.globalScope.msCrypto.subtle[e]=="function"}function V5(e){for(var t=U.util.hexToBytes(e.toString(16)),r=new Uint8Array(t.length),n=0;n<t.length;++n)r[n]=t.charCodeAt(n);return r}});var Z5=D((ux,Y5)=>{var P=nt();Qi();N0();e5();Jr();Wi();Us();u5();L0();w5();s1();Ct();typeof H5>"u"&&(H5=P.jsbn.BigInteger);var H5,E=P.asn1,V=P.pki=P.pki||{};Y5.exports=V.pbe=P.pbe=P.pbe||{};var rn=V.oids,_9={name:"EncryptedPrivateKeyInfo",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:E.Class.UNIVERSAL,type:E.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:E.Class.UNIVERSAL,type:E.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},T9={name:"PBES2Algorithms",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:E.Class.UNIVERSAL,type:E.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:E.Class.UNIVERSAL,type:E.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:E.Class.UNIVERSAL,type:E.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:E.Class.UNIVERSAL,type:E.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:E.Class.UNIVERSAL,type:E.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},R9={name:"pkcs-12PbeParams",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:E.Class.UNIVERSAL,type:E.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"iterations"}]};V.encryptPrivateKeyInfo=function(e,t,r){r=r||{},r.saltSize=r.saltSize||8,r.count=r.count||2048,r.algorithm=r.algorithm||"aes128",r.prfAlgorithm=r.prfAlgorithm||"sha1";var n=P.random.getBytesSync(r.saltSize),i=r.count,o=E.integerToDer(i),s,a,u;if(r.algorithm.indexOf("aes")===0||r.algorithm==="des"){var c,f,l;switch(r.algorithm){case"aes128":s=16,c=16,f=rn["aes128-CBC"],l=P.aes.createEncryptionCipher;break;case"aes192":s=24,c=16,f=rn["aes192-CBC"],l=P.aes.createEncryptionCipher;break;case"aes256":s=32,c=16,f=rn["aes256-CBC"],l=P.aes.createEncryptionCipher;break;case"des":s=8,c=8,f=rn.desCBC,l=P.des.createEncryptionCipher;break;default:var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=r.algorithm,d}var p="hmacWith"+r.prfAlgorithm.toUpperCase(),h=W5(p),y=P.pkcs5.pbkdf2(t,n,i,s,h),g=P.random.getBytesSync(c),m=l(y);m.start(g),m.update(E.toDer(e)),m.finish(),u=m.output.getBytes();var v=P9(n,o,s,p);a=E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.OID,!1,E.oidToDer(rn.pkcs5PBES2).getBytes()),E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.OID,!1,E.oidToDer(rn.pkcs5PBKDF2).getBytes()),v]),E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.OID,!1,E.oidToDer(f).getBytes()),E.create(E.Class.UNIVERSAL,E.Type.OCTETSTRING,!1,g)])])])}else if(r.algorithm==="3des"){s=24;var S=new P.util.ByteBuffer(n),y=V.pbe.generatePkcs12Key(t,S,1,i,s),g=V.pbe.generatePkcs12Key(t,S,2,i,s),m=P.des.createEncryptionCipher(y);m.start(g),m.update(E.toDer(e)),m.finish(),u=m.output.getBytes(),a=E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.OID,!1,E.oidToDer(rn["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.OCTETSTRING,!1,n),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,o.getBytes())])])}else{var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=r.algorithm,d}var L=E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[a,E.create(E.Class.UNIVERSAL,E.Type.OCTETSTRING,!1,u)]);return L};V.decryptPrivateKeyInfo=function(e,t){var r=null,n={},i=[];if(!E.validate(e,_9,n,i)){var o=new Error("Cannot read encrypted private key. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}var s=E.derToOid(n.encryptionOid),a=V.pbe.getCipher(s,n.encryptionParams,t),u=P.util.createBuffer(n.encryptedData);return a.update(u),a.finish()&&(r=E.fromDer(a.output)),r};V.encryptedPrivateKeyToPem=function(e,t){var r={type:"ENCRYPTED PRIVATE KEY",body:E.toDer(e).getBytes()};return P.pem.encode(r,{maxline:t})};V.encryptedPrivateKeyFromPem=function(e){var t=P.pem.decode(e)[0];if(t.type!=="ENCRYPTED PRIVATE KEY"){var r=new Error('Could not convert encrypted private key from PEM; PEM header type is "ENCRYPTED PRIVATE KEY".');throw r.headerType=t.type,r}if(t.procType&&t.procType.type==="ENCRYPTED")throw new Error("Could not convert encrypted private key from PEM; PEM is encrypted.");return E.fromDer(t.body)};V.encryptRsaPrivateKey=function(e,t,r){if(r=r||{},!r.legacy){var n=V.wrapRsaPrivateKey(V.privateKeyToAsn1(e));return n=V.encryptPrivateKeyInfo(n,t,r),V.encryptedPrivateKeyToPem(n)}var i,o,s,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",s=16,o=P.random.getBytesSync(16),a=P.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",s=24,o=P.random.getBytesSync(16),a=P.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",s=32,o=P.random.getBytesSync(16),a=P.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",s=24,o=P.random.getBytesSync(8),a=P.des.createEncryptionCipher;break;case"des":i="DES-CBC",s=8,o=P.random.getBytesSync(8),a=P.des.createEncryptionCipher;break;default:var u=new Error('Could not encrypt RSA private key; unsupported encryption algorithm "'+r.algorithm+'".');throw u.algorithm=r.algorithm,u}var c=P.pbe.opensslDeriveBytes(t,o.substr(0,8),s),f=a(c);f.start(o),f.update(E.toDer(V.privateKeyToAsn1(e))),f.finish();var l={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:P.util.bytesToHex(o).toUpperCase()},body:f.output.getBytes()};return P.pem.encode(l)};V.decryptRsaPrivateKey=function(e,t){var r=null,n=P.pem.decode(e)[0];if(n.type!=="ENCRYPTED PRIVATE KEY"&&n.type!=="PRIVATE KEY"&&n.type!=="RSA PRIVATE KEY"){var i=new Error('Could not convert private key from PEM; PEM header type is not "ENCRYPTED PRIVATE KEY", "PRIVATE KEY", or "RSA PRIVATE KEY".');throw i.headerType=i,i}if(n.procType&&n.procType.type==="ENCRYPTED"){var o,s;switch(n.dekInfo.algorithm){case"DES-CBC":o=8,s=P.des.createDecryptionCipher;break;case"DES-EDE3-CBC":o=24,s=P.des.createDecryptionCipher;break;case"AES-128-CBC":o=16,s=P.aes.createDecryptionCipher;break;case"AES-192-CBC":o=24,s=P.aes.createDecryptionCipher;break;case"AES-256-CBC":o=32,s=P.aes.createDecryptionCipher;break;case"RC2-40-CBC":o=5,s=function(l){return P.rc2.createDecryptionCipher(l,40)};break;case"RC2-64-CBC":o=8,s=function(l){return P.rc2.createDecryptionCipher(l,64)};break;case"RC2-128-CBC":o=16,s=function(l){return P.rc2.createDecryptionCipher(l,128)};break;default:var i=new Error('Could not decrypt private key; unsupported encryption algorithm "'+n.dekInfo.algorithm+'".');throw i.algorithm=n.dekInfo.algorithm,i}var a=P.util.hexToBytes(n.dekInfo.parameters),u=P.pbe.opensslDeriveBytes(t,a.substr(0,8),o),c=s(u);if(c.start(a),c.update(P.util.createBuffer(n.body)),c.finish())r=c.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=V.decryptPrivateKeyInfo(E.fromDer(r),t):r=E.fromDer(r),r!==null&&(r=V.privateKeyFromAsn1(r)),r};V.pbe.generatePkcs12Key=function(e,t,r,n,i,o){var s,a;if(typeof o>"u"||o===null){if(!("sha1"in P.md))throw new Error('"sha1" hash algorithm unavailable.');o=P.md.sha1.create()}var u=o.digestLength,c=o.blockLength,f=new P.util.ByteBuffer,l=new P.util.ByteBuffer;if(e!=null){for(a=0;a<e.length;a++)l.putInt16(e.charCodeAt(a));l.putInt16(0)}var d=l.length(),p=t.length(),h=new P.util.ByteBuffer;h.fillWithByte(r,c);var y=c*Math.ceil(p/c),g=new P.util.ByteBuffer;for(a=0;a<y;a++)g.putByte(t.at(a%p));var m=c*Math.ceil(d/c),v=new P.util.ByteBuffer;for(a=0;a<m;a++)v.putByte(l.at(a%d));var S=g;S.putBuffer(v);for(var L=Math.ceil(i/u),T=1;T<=L;T++){var _=new P.util.ByteBuffer;_.putBytes(h.bytes()),_.putBytes(S.bytes());for(var q=0;q<n;q++)o.start(),o.update(_.getBytes()),_=o.digest();var G=new P.util.ByteBuffer;for(a=0;a<c;a++)G.putByte(_.at(a%u));var Nt=Math.ceil(p/c)+Math.ceil(d/c),ye=new P.util.ByteBuffer;for(s=0;s<Nt;s++){var Xt=new P.util.ByteBuffer(S.getBytes(c)),qt=511;for(a=G.length()-1;a>=0;a--)qt=qt>>8,qt+=G.at(a)+Xt.at(a),Xt.setAt(a,qt&255);ye.putBuffer(Xt)}S=ye,f.putBuffer(_)}return f.truncate(f.length()-i),f};V.pbe.getCipher=function(e,t,r){switch(e){case V.oids.pkcs5PBES2:return V.pbe.getCipherForPBES2(e,t,r);case V.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case V.oids["pbewithSHAAnd40BitRC2-CBC"]:return V.pbe.getCipherForPKCS12PBE(e,t,r);default:var n=new Error("Cannot read encrypted PBE data block. Unsupported OID.");throw n.oid=e,n.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],n}};V.pbe.getCipherForPBES2=function(e,t,r){var n={},i=[];if(!E.validate(t,T9,n,i)){var o=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}if(e=E.derToOid(n.kdfOid),e!==V.oids.pkcs5PBKDF2){var o=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw o.oid=e,o.supportedOids=["pkcs5PBKDF2"],o}if(e=E.derToOid(n.encOid),e!==V.oids["aes128-CBC"]&&e!==V.oids["aes192-CBC"]&&e!==V.oids["aes256-CBC"]&&e!==V.oids["des-EDE3-CBC"]&&e!==V.oids.desCBC){var o=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw o.oid=e,o.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],o}var s=n.kdfSalt,a=P.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var u,c;switch(V.oids[e]){case"aes128-CBC":u=16,c=P.aes.createDecryptionCipher;break;case"aes192-CBC":u=24,c=P.aes.createDecryptionCipher;break;case"aes256-CBC":u=32,c=P.aes.createDecryptionCipher;break;case"des-EDE3-CBC":u=24,c=P.des.createDecryptionCipher;break;case"desCBC":u=8,c=P.des.createDecryptionCipher;break}var f=Q5(n.prfOid),l=P.pkcs5.pbkdf2(r,s,a,u,f),d=n.encIv,p=c(l);return p.start(d),p};V.pbe.getCipherForPKCS12PBE=function(e,t,r){var n={},i=[];if(!E.validate(t,R9,n,i)){var o=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}var s=P.util.createBuffer(n.salt),a=P.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var u,c,f;switch(e){case V.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:u=24,c=8,f=P.des.startDecrypting;break;case V.oids["pbewithSHAAnd40BitRC2-CBC"]:u=5,c=8,f=function(y,g){var m=P.rc2.createDecryptionCipher(y,40);return m.start(g,null),m};break;default:var o=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw o.oid=e,o}var l=Q5(n.prfOid),d=V.pbe.generatePkcs12Key(r,s,1,a,u,l);l.start();var p=V.pbe.generatePkcs12Key(r,s,2,a,c,l);return f(d,p)};V.pbe.opensslDeriveBytes=function(e,t,r,n){if(typeof n>"u"||n===null){if(!("md5"in P.md))throw new Error('"md5" hash algorithm unavailable.');n=P.md.md5.create()}t===null&&(t="");for(var i=[G5(n,e+t)],o=16,s=1;o<r;++s,o+=16)i.push(G5(n,i[s-1]+e+t));return i.join("").substr(0,r)};function G5(e,t){return e.start().update(t).digest().getBytes()}function Q5(e){var t;if(!e)t="hmacWithSHA1";else if(t=V.oids[E.derToOid(e)],!t){var r=new Error("Unsupported PRF OID.");throw r.oid=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return W5(t)}function W5(e){var t=P.md;switch(e){case"hmacWithSHA224":t=P.md.sha512;case"hmacWithSHA1":case"hmacWithSHA256":case"hmacWithSHA384":case"hmacWithSHA512":e=e.substr(8).toLowerCase();break;default:var r=new Error("Unsupported PRF algorithm.");throw r.algorithm=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}if(!t||!(e in t))throw new Error("Unknown hash algorithm: "+e);return t[e].create()}function P9(e,t,r,n){var i=E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.OCTETSTRING,!1,e),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,t.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,P.util.hexToBytes(r.toString(16))),E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.OID,!1,E.oidToDer(V.oids[n]).getBytes()),E.create(E.Class.UNIVERSAL,E.Type.NULL,!1,"")])),i}});var p6=D((Lx,h6)=>{var lt=nt();Jr();Ct();var D0=h6.exports=lt.sha512=lt.sha512||{};lt.md.sha512=lt.md.algorithms.sha512=D0;var f6=lt.sha384=lt.sha512.sha384=lt.sha512.sha384||{};f6.create=function(){return D0.create("SHA-384")};lt.md.sha384=lt.md.algorithms.sha384=f6;lt.sha512.sha256=lt.sha512.sha256||{create:function(){return D0.create("SHA-512/256")}};lt.md["sha512/256"]=lt.md.algorithms["sha512/256"]=lt.sha512.sha256;lt.sha512.sha224=lt.sha512.sha224||{create:function(){return D0.create("SHA-512/224")}};lt.md["sha512/224"]=lt.md.algorithms["sha512/224"]=lt.sha512.sha224;D0.create=function(e){if(l6||D9(),typeof e>"u"&&(e="SHA-512"),!(e in nn))throw new Error("Invalid SHA-512 algorithm: "+e);for(var t=nn[e],r=null,n=lt.util.createBuffer(),i=new Array(80),o=0;o<80;++o)i[o]=new Array(2);var s=64;switch(e){case"SHA-384":s=48;break;case"SHA-512/256":s=32;break;case"SHA-512/224":s=28;break}var a={algorithm:e.replace("-","").toLowerCase(),blockLength:128,digestLength:s,messageLength:0,fullMessageLength:null,messageLengthSize:16};return a.start=function(){a.messageLength=0,a.fullMessageLength=a.messageLength128=[];for(var u=a.messageLengthSize/4,c=0;c<u;++c)a.fullMessageLength.push(0);n=lt.util.createBuffer(),r=new Array(t.length);for(var c=0;c<t.length;++c)r[c]=t[c].slice(0);return a},a.start(),a.update=function(u,c){c==="utf8"&&(u=lt.util.encodeUtf8(u));var f=u.length;a.messageLength+=f,f=[f/4294967296>>>0,f>>>0];for(var l=a.fullMessageLength.length-1;l>=0;--l)a.fullMessageLength[l]+=f[1],f[1]=f[0]+(a.fullMessageLength[l]/4294967296>>>0),a.fullMessageLength[l]=a.fullMessageLength[l]>>>0,f[0]=f[1]/4294967296>>>0;return n.putBytes(u),c6(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var u=lt.util.createBuffer();u.putBytes(n.bytes());var c=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,f=c&a.blockLength-1;u.putBytes(Ws.substr(0,a.blockLength-f));for(var l,d,p=a.fullMessageLength[0]*8,h=0;h<a.fullMessageLength.length-1;++h)l=a.fullMessageLength[h+1]*8,d=l/4294967296>>>0,p+=d,u.putInt32(p>>>0),p=l>>>0;u.putInt32(p);for(var y=new Array(r.length),h=0;h<r.length;++h)y[h]=r[h].slice(0);c6(y,i,u);var g=lt.util.createBuffer(),m;e==="SHA-512"?m=y.length:e==="SHA-384"?m=y.length-2:m=y.length-4;for(var h=0;h<m;++h)g.putInt32(y[h][0]),(h!==m-1||e!=="SHA-512/224")&&g.putInt32(y[h][1]);return g},a};var Ws=null,l6=!1,Ys=null,nn=null;function D9(){Ws=String.fromCharCode(128),Ws+=lt.util.fillString(String.fromCharCode(0),128),Ys=[[1116352408,3609767458],[1899447441,602891725],[3049323471,3964484399],[3921009573,2173295548],[961987163,4081628472],[1508970993,3053834265],[2453635748,2937671579],[2870763221,3664609560],[3624381080,2734883394],[310598401,1164996542],[607225278,1323610764],[1426881987,3590304994],[1925078388,4068182383],[2162078206,991336113],[2614888103,633803317],[3248222580,3479774868],[3835390401,2666613458],[4022224774,944711139],[264347078,2341262773],[604807628,2007800933],[770255983,1495990901],[1249150122,1856431235],[1555081692,3175218132],[1996064986,2198950837],[2554220882,3999719339],[2821834349,766784016],[2952996808,2566594879],[3210313671,3203337956],[3336571891,1034457026],[3584528711,2466948901],[113926993,3758326383],[338241895,168717936],[666307205,1188179964],[773529912,1546045734],[1294757372,1522805485],[1396182291,2643833823],[1695183700,2343527390],[1986661051,1014477480],[2177026350,1206759142],[2456956037,344077627],[2730485921,1290863460],[2820302411,3158454273],[3259730800,3505952657],[3345764771,106217008],[3516065817,3606008344],[3600352804,1432725776],[4094571909,1467031594],[275423344,851169720],[430227734,3100823752],[506948616,1363258195],[659060556,3750685593],[883997877,3785050280],[958139571,3318307427],[1322822218,3812723403],[1537002063,2003034995],[1747873779,3602036899],[1955562222,1575990012],[2024104815,1125592928],[2227730452,2716904306],[2361852424,442776044],[2428436474,593698344],[2756734187,3733110249],[3204031479,2999351573],[3329325298,3815920427],[3391569614,3928383900],[3515267271,566280711],[3940187606,3454069534],[4118630271,4000239992],[116418474,1914138554],[174292421,2731055270],[289380356,3203993006],[460393269,320620315],[685471733,587496836],[852142971,1086792851],[1017036298,365543100],[1126000580,2618297676],[1288033470,3409855158],[1501505948,4234509866],[1607167915,987167468],[1816402316,1246189591]],nn={},nn["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],nn["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],nn["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],nn["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],l6=!0}function c6(e,t,r){for(var n,i,o,s,a,u,c,f,l,d,p,h,y,g,m,v,S,L,T,_,q,G,Nt,ye,Xt,qt,gn,ci,Tt,Qt,O,oo,so,ao,uo,$2=r.length();$2>=128;){for(Tt=0;Tt<16;++Tt)t[Tt][0]=r.getInt32()>>>0,t[Tt][1]=r.getInt32()>>>0;for(;Tt<80;++Tt)oo=t[Tt-2],Qt=oo[0],O=oo[1],n=((Qt>>>19|O<<13)^(O>>>29|Qt<<3)^Qt>>>6)>>>0,i=((Qt<<13|O>>>19)^(O<<3|Qt>>>29)^(Qt<<26|O>>>6))>>>0,ao=t[Tt-15],Qt=ao[0],O=ao[1],o=((Qt>>>1|O<<31)^(Qt>>>8|O<<24)^Qt>>>7)>>>0,s=((Qt<<31|O>>>1)^(Qt<<24|O>>>8)^(Qt<<25|O>>>7))>>>0,so=t[Tt-7],uo=t[Tt-16],O=i+so[1]+s+uo[1],t[Tt][0]=n+so[0]+o+uo[0]+(O/4294967296>>>0)>>>0,t[Tt][1]=O>>>0;for(y=e[0][0],g=e[0][1],m=e[1][0],v=e[1][1],S=e[2][0],L=e[2][1],T=e[3][0],_=e[3][1],q=e[4][0],G=e[4][1],Nt=e[5][0],ye=e[5][1],Xt=e[6][0],qt=e[6][1],gn=e[7][0],ci=e[7][1],Tt=0;Tt<80;++Tt)c=((q>>>14|G<<18)^(q>>>18|G<<14)^(G>>>9|q<<23))>>>0,f=((q<<18|G>>>14)^(q<<14|G>>>18)^(G<<23|q>>>9))>>>0,l=(Xt^q&(Nt^Xt))>>>0,d=(qt^G&(ye^qt))>>>0,a=((y>>>28|g<<4)^(g>>>2|y<<30)^(g>>>7|y<<25))>>>0,u=((y<<4|g>>>28)^(g<<30|y>>>2)^(g<<25|y>>>7))>>>0,p=(y&m|S&(y^m))>>>0,h=(g&v|L&(g^v))>>>0,O=ci+f+d+Ys[Tt][1]+t[Tt][1],n=gn+c+l+Ys[Tt][0]+t[Tt][0]+(O/4294967296>>>0)>>>0,i=O>>>0,O=u+h,o=a+p+(O/4294967296>>>0)>>>0,s=O>>>0,gn=Xt,ci=qt,Xt=Nt,qt=ye,Nt=q,ye=G,O=_+i,q=T+n+(O/4294967296>>>0)>>>0,G=O>>>0,T=S,_=L,S=m,L=v,m=y,v=g,O=i+s,y=n+o+(O/4294967296>>>0)>>>0,g=O>>>0;O=e[0][1]+g,e[0][0]=e[0][0]+y+(O/4294967296>>>0)>>>0,e[0][1]=O>>>0,O=e[1][1]+v,e[1][0]=e[1][0]+m+(O/4294967296>>>0)>>>0,e[1][1]=O>>>0,O=e[2][1]+L,e[2][0]=e[2][0]+S+(O/4294967296>>>0)>>>0,e[2][1]=O>>>0,O=e[3][1]+_,e[3][0]=e[3][0]+T+(O/4294967296>>>0)>>>0,e[3][1]=O>>>0,O=e[4][1]+G,e[4][0]=e[4][0]+q+(O/4294967296>>>0)>>>0,e[4][1]=O>>>0,O=e[5][1]+ye,e[5][0]=e[5][0]+Nt+(O/4294967296>>>0)>>>0,e[5][1]=O>>>0,O=e[6][1]+qt,e[6][0]=e[6][0]+Xt+(O/4294967296>>>0)>>>0,e[6][1]=O>>>0,O=e[7][1]+ci,e[7][0]=e[7][0]+gn+(O/4294967296>>>0)>>>0,e[7][1]=O>>>0,$2-=128}}});var h8=D((pw,l8)=>{"use strict";function f8(e,t){for(let r in t)Object.defineProperty(e,r,{value:t[r],enumerable:!0,configurable:!0});return e}function ip(e,t,r){if(!e||typeof e=="string")throw new TypeError("Please pass an Error to err-code");r||(r={}),typeof t=="object"&&(r=t,t=""),t&&(r.code=t);try{return f8(e,r)}catch{r.message=e.message,r.stack=e.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(e)),f8(new i,r)}}l8.exports=ip});var v8=D((Bw,x8)=>{x8.exports=S2;var m8=128,yp=127,gp=~yp,mp=Math.pow(2,31);function S2(e,t,r){if(Number.MAX_SAFE_INTEGER&&e>Number.MAX_SAFE_INTEGER)throw S2.bytes=0,new RangeError("Could not encode varint");t=t||[],r=r||0;for(var n=r;e>=mp;)t[r++]=e&255|m8,e/=128;for(;e&gp;)t[r++]=e&255|m8,e>>>=7;return t[r]=e|0,S2.bytes=r-n+1,t}});var E8=D((Cw,b8)=>{b8.exports=A2;var xp=128,w8=127;function A2(e,n){var r=0,n=n||0,i=0,o=n,s,a=e.length;do{if(o>=a||i>49)throw A2.bytes=0,new RangeError("Could not decode varint");s=e[o++],r+=i<28?(s&w8)<<i:(s&w8)*Math.pow(2,i),i+=7}while(s>=xp);return A2.bytes=o-n,r}});var A8=D((_w,S8)=>{var vp=Math.pow(2,7),wp=Math.pow(2,14),bp=Math.pow(2,21),Ep=Math.pow(2,28),Sp=Math.pow(2,35),Ap=Math.pow(2,42),Ip=Math.pow(2,49),Bp=Math.pow(2,56),Cp=Math.pow(2,63);S8.exports=function(e){return e<vp?1:e<wp?2:e<bp?3:e<Ep?4:e<Sp?5:e<Ap?6:e<Ip?7:e<Bp?8:e<Cp?9:10}});var X0=D((Tw,I8)=>{I8.exports={encode:v8(),decode:E8(),encodingLength:A8()}});var Z8=D((iS,Y8)=>{Y8.exports=function(e){if(!e)throw Error("hashlru must have a max value, of type number, greater than 0");var t=0,r=Object.create(null),n=Object.create(null);function i(o,s){r[o]=s,t++,t>=e&&(t=0,n=r,r=Object.create(null))}return{has:function(o){return r[o]!==void 0||n[o]!==void 0},remove:function(o){r[o]!==void 0&&(r[o]=void 0),n[o]!==void 0&&(n[o]=void 0)},get:function(o){var s=r[o];if(s!==void 0)return s;if((s=n[o])!==void 0)return i(o,s),s},set:function(o,s){r[o]!==void 0?r[o]=s:i(o,s)},clear:function(){r=Object.create(null),n=Object.create(null)}}}});var bd={};Lt(bd,{DHTContentRouting:()=>no,DHTPeerRouting:()=>io,kadDHT:()=>wd});var P4=$(Ta(),1);var _o={};Lt(_o,{sha256:()=>mt,sha512:()=>Sc});var Rd=new Uint8Array(0);var Ra=(e,t)=>{if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0},je=e=>{if(e instanceof Uint8Array&&e.constructor.name==="Uint8Array")return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw new Error("Unknown type, must be binary type")};var Pa=e=>new TextEncoder().encode(e),Na=e=>new TextDecoder().decode(e);var oc=Fa,ka=128,sc=127,ac=~sc,uc=Math.pow(2,31);function Fa(e,t,r){t=t||[],r=r||0;for(var n=r;e>=uc;)t[r++]=e&255|ka,e/=128;for(;e∾)t[r++]=e&255|ka,e>>>=7;return t[r]=e|0,Fa.bytes=r-n+1,t}var cc=Io,fc=128,Da=127;function Io(e,n){var r=0,n=n||0,i=0,o=n,s,a=e.length;do{if(o>=a)throw Io.bytes=0,new RangeError("Could not decode varint");s=e[o++],r+=i<28?(s&Da)<<i:(s&Da)*Math.pow(2,i),i+=7}while(s>=fc);return Io.bytes=o-n,r}var lc=Math.pow(2,7),hc=Math.pow(2,14),pc=Math.pow(2,21),dc=Math.pow(2,28),yc=Math.pow(2,35),gc=Math.pow(2,42),mc=Math.pow(2,49),xc=Math.pow(2,56),vc=Math.pow(2,63),wc=function(e){return e<lc?1:e<hc?2:e<pc?3:e<dc?4:e<yc?5:e<gc?6:e<mc?7:e<xc?8:e<vc?9:10},bc={encode:oc,decode:cc,encodingLength:wc},Ec=bc,p0=Ec;var d0=(e,t=0)=>[p0.decode(e,t),p0.decode.bytes],Sn=(e,t,r=0)=>(p0.encode(e,t,r),t),An=e=>p0.encodingLength(e);var Le=(e,t)=>{let r=t.byteLength,n=An(e),i=n+An(r),o=new Uint8Array(i+r);return Sn(e,o,0),Sn(r,o,n),o.set(t,i),new In(e,r,t,o)},zr=e=>{let t=je(e),[r,n]=d0(t),[i,o]=d0(t.subarray(n)),s=t.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new In(r,i,s,t)},Ua=(e,t)=>{if(e===t)return!0;{let r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&Ra(e.bytes,r.bytes)}},In=class{constructor(t,r,n,i){this.code=t,this.size=r,this.digest=n,this.bytes=i}};var Co=({name:e,code:t,encode:r})=>new Bo(e,t,r),Bo=class{constructor(t,r,n){this.name=t,this.code=r,this.encode=n}digest(t){if(t instanceof Uint8Array){let r=this.encode(t);return r instanceof Uint8Array?Le(this.code,r):r.then(n=>Le(this.code,n))}else throw Error("Unknown type, must be binary type")}};var Ma=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),mt=Co({name:"sha2-256",code:18,encode:Ma("SHA-256")}),Sc=Co({name:"sha2-512",code:19,encode:Ma("SHA-512")});var Ka=(e=21)=>crypto.getRandomValues(new Uint8Array(e)).reduce((t,r)=>(r&=63,r<36?t+=r.toString(36):r<62?t+=(r-26).toString(36).toUpperCase():r>62?t+="-":t+="_",t),"");var Lo={};Lt(Lo,{identity:()=>Tc});function Ac(e,t){if(e.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<e.length;i++){var o=e.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=e.length,u=e.charAt(0),c=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function l(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var y=0,g=0,m=0,v=h.length;m!==v&&h[m]===0;)m++,y++;for(var S=(v-m)*f+1>>>0,L=new Uint8Array(S);m!==v;){for(var T=h[m],_=0,q=S-1;(T!==0||_<g)&&q!==-1;q--,_++)T+=256*L[q]>>>0,L[q]=T%a>>>0,T=T/a>>>0;if(T!==0)throw new Error("Non-zero carry");g=_,m++}for(var G=S-g;G!==S&&L[G]===0;)G++;for(var Nt=u.repeat(y);G<S;++G)Nt+=e.charAt(L[G]);return Nt}function d(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var y=0;if(h[y]!==" "){for(var g=0,m=0;h[y]===u;)g++,y++;for(var v=(h.length-y)*c+1>>>0,S=new Uint8Array(v);h[y];){var L=r[h.charCodeAt(y)];if(L===255)return;for(var T=0,_=v-1;(L!==0||T<m)&&_!==-1;_--,T++)L+=a*S[_]>>>0,S[_]=L%256>>>0,L=L/256>>>0;if(L!==0)throw new Error("Non-zero carry");m=T,y++}if(h[y]!==" "){for(var q=v-m;q!==v&&S[q]===0;)q++;for(var G=new Uint8Array(g+(v-q)),Nt=g;q!==v;)G[Nt++]=S[q++];return G}}}function p(h){var y=d(h);if(y)return y;throw new Error(`Non-${t} character`)}return{encode:l,decodeUnsafe:d,decode:p}}var Ic=Ac,Bc=Ic,Va=Bc;var To=class{constructor(t,r,n){this.name=t,this.prefix=r,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},Ro=class{constructor(t,r,n){if(this.name=t,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return qa(this,t)}},Po=class{constructor(t){this.decoders=t}or(t){return qa(this,t)}decode(t){let r=t[0],n=this.decoders[r];if(n)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},qa=(e,t)=>new Po({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}}),No=class{constructor(t,r,n,i){this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new To(t,r,n),this.decoder=new Ro(t,r,i)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},Bn=({name:e,prefix:t,encode:r,decode:n})=>new No(e,t,r,n),xr=({prefix:e,name:t,alphabet:r})=>{let{encode:n,decode:i}=Va(r,t);return Bn({prefix:e,name:t,encode:n,decode:o=>je(i(o))})},Cc=(e,t,r,n)=>{let i={};for(let f=0;f<t.length;++f)i[t[f]]=f;let o=e.length;for(;e[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,u=0,c=0;for(let f=0;f<o;++f){let l=i[e[f]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);u=u<<r|l,a+=r,a>=8&&(a-=8,s[c++]=255&u>>a)}if(a>=r||255&u<<8-a)throw new SyntaxError("Unexpected end of data");return s},_c=(e,t,r)=>{let n=t[t.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let u=0;u<e.length;++u)for(a=a<<8|e[u],s+=8;s>r;)s-=r,o+=t[i&a>>s];if(s&&(o+=t[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},wt=({name:e,prefix:t,bitsPerChar:r,alphabet:n})=>Bn({prefix:t,name:e,encode(i){return _c(i,n,r)},decode(i){return Cc(i,n,r,e)}});var Tc=Bn({prefix:"\0",name:"identity",encode:e=>Na(e),decode:e=>Pa(e)});var ko={};Lt(ko,{base2:()=>Rc});var Rc=wt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Do={};Lt(Do,{base8:()=>Pc});var Pc=wt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Fo={};Lt(Fo,{base10:()=>Nc});var Nc=xr({prefix:"9",name:"base10",alphabet:"0123456789"});var Uo={};Lt(Uo,{base16:()=>Lc,base16upper:()=>kc});var Lc=wt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),kc=wt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Oo={};Lt(Oo,{base32:()=>ge,base32hex:()=>Oc,base32hexpad:()=>Kc,base32hexpadupper:()=>Vc,base32hexupper:()=>Mc,base32pad:()=>Fc,base32padupper:()=>Uc,base32upper:()=>Dc,base32z:()=>qc});var ge=wt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Dc=wt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Fc=wt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Uc=wt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Oc=wt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Mc=wt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Kc=wt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Vc=wt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),qc=wt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Mo={};Lt(Mo,{base36:()=>zc,base36upper:()=>$c});var zc=xr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),$c=xr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Ko={};Lt(Ko,{base58btc:()=>St,base58flickr:()=>Hc});var St=xr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Hc=xr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Vo={};Lt(Vo,{base64:()=>Hr,base64pad:()=>Gc,base64url:()=>Qc,base64urlpad:()=>Wc});var Hr=wt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Gc=wt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Qc=wt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Wc=wt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var qo={};Lt(qo,{base256emoji:()=>Jc});var za=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),Yc=za.reduce((e,t,r)=>(e[r]=t,e),[]),Zc=za.reduce((e,t,r)=>(e[t.codePointAt(0)]=r,e),[]);function Xc(e){return e.reduce((t,r)=>(t+=Yc[r],t),"")}function jc(e){let t=[];for(let r of e){let n=Zc[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);t.push(n)}return new Uint8Array(t)}var Jc=Bn({prefix:"\u{1F680}",name:"base256emoji",encode:Xc,decode:jc});var zo={};Lt(zo,{identity:()=>vr});var $a=0,tf="identity",Ha=je,ef=e=>Le($a,Ha(e)),vr={code:$a,name:tf,encode:Ha,digest:ef};var Jd=new TextEncoder,ty=new TextDecoder;var Ga=(e,t)=>{let{bytes:r,version:n}=e;switch(n){case 0:return sf(r,$o(e),t||St.encoder);default:return af(r,$o(e),t||ge.encoder)}};var Qa=new WeakMap,$o=e=>{let t=Qa.get(e);if(t==null){let r=new Map;return Qa.set(e,r),r}return t},tt=class{constructor(t,r,n,i){this.code=r,this.version=t,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:r}=this;if(t!==y0)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==uf)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return tt.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:r}=this.multihash,n=Le(t,r);return tt.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return tt.equals(this,t)}static equals(t,r){let n=r;return n&&t.code===n.code&&t.version===n.version&&Ua(t.multihash,n.multihash)}toString(t){return Ga(this,t)}toJSON(){return{"/":Ga(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let r=t;if(r instanceof tt)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new tt(n,i,o,s||Wa(n,i,o.bytes))}else if(r[cf]===!0){let{version:n,multihash:i,code:o}=r,s=zr(i);return tt.create(n,o,s)}else return null}static create(t,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(r!==y0)throw new Error(`Version 0 CID must use dag-pb (code: ${y0}) block encoding`);return new tt(t,r,n,n.bytes)}case 1:{let i=Wa(t,r,n.bytes);return new tt(t,r,n,i)}default:throw new Error("Invalid version")}}static createV0(t){return tt.create(0,y0,t)}static createV1(t,r){return tt.create(1,t,r)}static decode(t){let[r,n]=tt.decodeFirst(t);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(t){let r=tt.inspectBytes(t),n=r.size-r.multihashSize,i=je(t.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let o=i.subarray(r.multihashSize-r.digestSize),s=new In(r.multihashCode,r.digestSize,o,i);return[r.version===0?tt.createV0(s):tt.createV1(r.codec,s),t.subarray(r.size)]}static inspectBytes(t){let r=0,n=()=>{let[l,d]=d0(t.subarray(r));return r+=d,l},i=n(),o=y0;if(i===18?(i=0,r=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,a=n(),u=n(),c=r+u,f=c-s;return{version:i,codec:o,multihashCode:a,digestSize:u,multihashSize:f,size:c}}static parse(t,r){let[n,i]=of(t,r),o=tt.decode(i);if(o.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return $o(o).set(n,t),o}},of=(e,t)=>{switch(e[0]){case"Q":{let r=t||St;return[St.prefix,r.decode(`${St.prefix}${e}`)]}case St.prefix:{let r=t||St;return[St.prefix,r.decode(e)]}case ge.prefix:{let r=t||ge;return[ge.prefix,r.decode(e)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[e[0],t.decode(e)]}}},sf=(e,t,r)=>{let{prefix:n}=r;if(n!==St.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=t.get(n);if(i==null){let o=r.encode(e).slice(1);return t.set(n,o),o}else return i},af=(e,t,r)=>{let{prefix:n}=r,i=t.get(n);if(i==null){let o=r.encode(e);return t.set(n,o),o}else return i},y0=112,uf=18,Wa=(e,t,r)=>{let n=An(e),i=n+An(t),o=new Uint8Array(i+r.byteLength);return Sn(e,o,0),Sn(t,o,n),o.set(r,i),o},cf=Symbol.for("@ipld/js-cid/CID");var wr={...Lo,...ko,...Do,...Fo,...Uo,...Oo,...Mo,...Ko,...Vo,...qo},fy={..._o,...zo};function Je(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function tr(e=0){return globalThis.Buffer?.alloc!=null?Je(globalThis.Buffer.alloc(e)):new Uint8Array(e)}function jt(e=0){return globalThis.Buffer?.allocUnsafe!=null?Je(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function Za(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var Ya=Za("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),Ho=Za("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{e=e.substring(1);let t=jt(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),ff={utf8:Ya,"utf-8":Ya,hex:wr.base16,latin1:Ho,ascii:Ho,binary:Ho,...wr},wi=ff;function M(e,t="utf8"){let r=wi[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("utf8"):r.encoder.encode(e).substring(1)}function xt(e,t="utf8"){let r=wi[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Je(globalThis.Buffer.from(e,"utf-8")):r.decoder.decode(`${r.prefix}${e}`)}var er="/",Xa=new TextEncoder().encode(er),bi=Xa[0],Dt=class{constructor(t,r){if(typeof t=="string")this._buf=xt(t);else if(t instanceof Uint8Array)this._buf=t;else throw new Error("Invalid key, should be String of Uint8Array");if(r==null&&(r=!0),r&&this.clean(),this._buf.byteLength===0||this._buf[0]!==bi)throw new Error("Invalid key")}toString(t="utf8"){return M(this._buf,t)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(t){return new Dt(t.join(er))}static random(){return new Dt(Ka().replace(/-/g,""))}static asKey(t){return t instanceof Uint8Array||typeof t=="string"?new Dt(t):typeof t.uint8Array=="function"?new Dt(t.uint8Array()):null}clean(){if((this._buf==null||this._buf.byteLength===0)&&(this._buf=Xa),this._buf[0]!==bi){let t=new Uint8Array(this._buf.byteLength+1);t.fill(bi,0,1),t.set(this._buf,1),this._buf=t}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===bi;)this._buf=this._buf.subarray(0,-1)}less(t){let r=this.list(),n=t.list();for(let i=0;i<r.length;i++){if(n.length<i+1)return!1;let o=r[i],s=n[i];if(o<s)return!0;if(o>s)return!1}return r.length<n.length}reverse(){return Dt.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let t=this.namespaces();return t[t.length-1]}list(){return this.toString().split(er).slice(1)}type(){return lf(this.baseNamespace())}name(){return hf(this.baseNamespace())}instance(t){return new Dt(this.toString()+":"+t)}path(){let t=this.parent().toString();return t.endsWith(er)||(t+=er),t+=this.type(),new Dt(t)}parent(){let t=this.list();return t.length===1?new Dt(er):new Dt(t.slice(0,-1).join(er))}child(t){return this.toString()===er?t:t.toString()===er?this:new Dt(this.toString()+t.toString(),!1)}isAncestorOf(t){return t.toString()===this.toString()?!1:t.toString().startsWith(this.toString())}isDecendantOf(t){return t.toString()===this.toString()?!1:this.toString().startsWith(t.toString())}isTopLevel(){return this.list().length===1}concat(...t){return Dt.withNamespaces([...this.namespaces(),...pf(t.map(r=>r.namespaces()))])}};function lf(e){let t=e.split(":");return t.length<2?"":t.slice(0,-1).join(":")}function hf(e){let t=e.split(":");return t[t.length-1]}function pf(e){return[].concat(...e)}var is=$(Zo(),1),O3=$(R3(),1),M3=$(Qr(),1),os=$(ns(),1),K3=$(U3(),1);function Ef(){M3.default._configure(),is.default._configure(O3.default),os.default._configure(K3.default)}Ef();var V3=["uint64","int64","sint64","fixed64","sfixed64"];function Sf(e){for(let t of V3){if(e[t]==null)continue;let r=e[t];e[t]=function(){return BigInt(r.call(this).toString())}}return e}function ss(e){return Sf(new is.default(e))}function Af(e){for(let t of V3){if(e[t]==null)continue;let r=e[t];e[t]=function(n){return r.call(this,n.toString())}}return e}function as(){return Af(os.default.create())}function Fe(e,t){let r=ss(e instanceof Uint8Array?e:e.subarray());return t.decode(r)}function Ue(e,t){let r=as();return t.encode(e,r,{lengthDelimited:!1}),r.finish()}var _n;(function(e){e[e.VARINT=0]="VARINT",e[e.BIT64=1]="BIT64",e[e.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",e[e.START_GROUP=3]="START_GROUP",e[e.END_GROUP=4]="END_GROUP",e[e.BIT32=5]="BIT32"})(_n||(_n={}));function Bi(e,t,r,n){return{name:e,type:t,encode:r,decode:n}}function Tn(e){function t(i){if(e[i.toString()]==null)throw new Error("Invalid enum value");return e[i]}let r=function(o,s){let a=t(o);s.int32(a)},n=function(o){let s=o.int32();return t(s)};return Bi("enum",_n.VARINT,r,n)}function Oe(e,t){return Bi("message",_n.LENGTH_DELIMITED,e,t)}var x0;(function(e){let t;e.codec=()=>(t==null&&(t=Oe((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.key!=null&&r.key.byteLength>0&&(n.uint32(10),n.bytes(r.key)),r.value!=null&&r.value.byteLength>0&&(n.uint32(18),n.bytes(r.value)),r.timeReceived!=null&&r.timeReceived!==""&&(n.uint32(42),n.string(r.timeReceived)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={key:new Uint8Array(0),value:new Uint8Array(0),timeReceived:""},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.key=r.bytes();break;case 2:i.value=r.bytes();break;case 5:i.timeReceived=r.string();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>Ue(r,e.codec()),e.decode=r=>Fe(r,e.codec())})(x0||(x0={}));function q3(e){let t=e.getUTCFullYear(),r=String(e.getUTCMonth()+1).padStart(2,"0"),n=String(e.getUTCDate()).padStart(2,"0"),i=String(e.getUTCHours()).padStart(2,"0"),o=String(e.getUTCMinutes()).padStart(2,"0"),s=String(e.getUTCSeconds()).padStart(2,"0"),a=e.getUTCMilliseconds(),u=String(a*1e3*1e3).padStart(9,"0");return`${t}-${r}-${n}T${i}:${o}:${s}.${u}Z`}function z3(e){let t=new RegExp("(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2})\\.(\\d+)Z"),r=String(e).trim().match(t);if(r==null)throw new Error("Invalid format");let n=parseInt(r[1],10),i=parseInt(r[2],10)-1,o=parseInt(r[3],10),s=parseInt(r[4],10),a=parseInt(r[5],10),u=parseInt(r[6],10),c=parseInt(r[7].slice(0,-6),10);return new Date(Date.UTC(n,i,o,s,a,u,c))}var Rt=class{constructor(t,r,n){if(!(t instanceof Uint8Array))throw new Error("key must be a Uint8Array");if(!(r instanceof Uint8Array))throw new Error("value must be a Uint8Array");this.key=t,this.value=r,this.timeReceived=n}serialize(){return x0.encode(this.prepareSerialize())}prepareSerialize(){return{key:this.key,value:this.value,timeReceived:q3(this.timeReceived)}}static deserialize(t){let r=x0.decode(t);return new Rt(r.key,r.value,new Date(r.timeReceived))}static fromDeserialized(t){let r=z3(t.timeReceived);if(t.key==null)throw new Error("key missing from deserialized object");if(t.value==null)throw new Error("value missing from deserialized object");return new Rt(t.key,t.value,r)}};function ut(e,t){t==null&&(t=e.reduce((i,o)=>i+o.length,0));let r=jt(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return Je(r)}var J3=$($3(),1);var H3="[a-fA-F\\d:]",Sr=e=>e&&e.includeBoundaries?`(?:(?<=\\s|^)(?=${H3})|(?<=${H3})(?=\\s|$))`:"",ve="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",Pt="[a-fA-F\\d]{1,4}",Ci=`
|
|
16
|
+
`+a+t.substr(s+1),o=i-s-1,s=-1,++i}else(t[i]===" "||t[i]===" "||t[i]===",")&&(s=i);return t}function _7(e){return e.replace(/^\s+/,"")}});var y5=D((rx,d5)=>{var qe=nt();tn();Ct();var l5=d5.exports=qe.sha256=qe.sha256||{};qe.md.sha256=qe.md.algorithms.sha256=l5;l5.create=function(){h5||T7();var e=null,t=qe.util.createBuffer(),r=new Array(64),n={algorithm:"sha256",blockLength:64,digestLength:32,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,o=0;o<i;++o)n.fullMessageLength.push(0);return t=qe.util.createBuffer(),e={h0:1779033703,h1:3144134277,h2:1013904242,h3:2773480762,h4:1359893119,h5:2600822924,h6:528734635,h7:1541459225},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=qe.util.encodeUtf8(i));var s=i.length;n.messageLength+=s,s=[s/4294967296>>>0,s>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=s[1],s[1]=s[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,s[0]=s[1]/4294967296>>>0;return t.putBytes(i),f5(e,r,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=qe.util.createBuffer();i.putBytes(t.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(Ms.substr(0,n.blockLength-s));for(var a,u,c=n.fullMessageLength[0]*8,f=0;f<n.fullMessageLength.length-1;++f)a=n.fullMessageLength[f+1]*8,u=a/4294967296>>>0,c+=u,i.putInt32(c>>>0),c=a>>>0;i.putInt32(c);var l={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4,h5:e.h5,h6:e.h6,h7:e.h7};f5(l,r,i);var d=qe.util.createBuffer();return d.putInt32(l.h0),d.putInt32(l.h1),d.putInt32(l.h2),d.putInt32(l.h3),d.putInt32(l.h4),d.putInt32(l.h5),d.putInt32(l.h6),d.putInt32(l.h7),d},n};var Ms=null,h5=!1,p5=null;function T7(){Ms=String.fromCharCode(128),Ms+=qe.util.fillString(String.fromCharCode(0),64),p5=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],h5=!0}function f5(e,t,r){for(var n,i,o,s,a,u,c,f,l,d,p,h,y,g,m,x=r.length();x>=64;){for(c=0;c<16;++c)t[c]=r.getInt32();for(;c<64;++c)n=t[c-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,i=t[c-15],i=(i>>>7|i<<25)^(i>>>18|i<<14)^i>>>3,t[c]=n+t[c-7]+i+t[c-16]|0;for(f=e.h0,l=e.h1,d=e.h2,p=e.h3,h=e.h4,y=e.h5,g=e.h6,m=e.h7,c=0;c<64;++c)s=(h>>>6|h<<26)^(h>>>11|h<<21)^(h>>>25|h<<7),a=g^h&(y^g),o=(f>>>2|f<<30)^(f>>>13|f<<19)^(f>>>22|f<<10),u=f&l|d&(f^l),n=m+s+a+p5[c]+t[c],i=o+u,m=g,g=y,y=h,h=p+n>>>0,p=d,d=l,l=f,f=n+i>>>0;e.h0=e.h0+f|0,e.h1=e.h1+l|0,e.h2=e.h2+d|0,e.h3=e.h3+p|0,e.h4=e.h4+h|0,e.h5=e.h5+y|0,e.h6=e.h6+g|0,e.h7=e.h7+m|0,x-=64}}});var m5=D((nx,g5)=>{var ze=nt();Ct();var e1=null;ze.util.isNodejs&&!ze.options.usePureJavaScript&&!process.versions["node-webkit"]&&(e1=Hn());var R7=g5.exports=ze.prng=ze.prng||{};R7.create=function(e){for(var t={plugin:e,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},r=e.md,n=new Array(32),i=0;i<32;++i)n[i]=r.create();t.pools=n,t.pool=0,t.generate=function(c,f){if(!f)return t.generateSync(c);var l=t.plugin.cipher,d=t.plugin.increment,p=t.plugin.formatKey,h=t.plugin.formatSeed,y=ze.util.createBuffer();t.key=null,g();function g(m){if(m)return f(m);if(y.length()>=c)return f(null,y.getBytes(c));if(t.generated>1048575&&(t.key=null),t.key===null)return ze.util.nextTick(function(){o(g)});var x=l(t.key,t.seed);t.generated+=x.length,y.putBytes(x),t.key=p(l(t.key,d(t.seed))),t.seed=h(l(t.key,t.seed)),ze.util.setImmediate(g)}},t.generateSync=function(c){var f=t.plugin.cipher,l=t.plugin.increment,d=t.plugin.formatKey,p=t.plugin.formatSeed;t.key=null;for(var h=ze.util.createBuffer();h.length()<c;){t.generated>1048575&&(t.key=null),t.key===null&&s();var y=f(t.key,t.seed);t.generated+=y.length,h.putBytes(y),t.key=d(f(t.key,l(t.seed))),t.seed=p(f(t.key,t.seed))}return h.getBytes(c)};function o(c){if(t.pools[0].messageLength>=32)return a(),c();var f=32-t.pools[0].messageLength<<5;t.seedFile(f,function(l,d){if(l)return c(l);t.collect(d),a(),c()})}function s(){if(t.pools[0].messageLength>=32)return a();var c=32-t.pools[0].messageLength<<5;t.collect(t.seedFileSync(c)),a()}function a(){t.reseeds=t.reseeds===4294967295?0:t.reseeds+1;var c=t.plugin.md.create();c.update(t.keyBytes);for(var f=1,l=0;l<32;++l)t.reseeds%f===0&&(c.update(t.pools[l].digest().getBytes()),t.pools[l].start()),f=f<<1;t.keyBytes=c.digest().getBytes(),c.start(),c.update(t.keyBytes);var d=c.digest().getBytes();t.key=t.plugin.formatKey(t.keyBytes),t.seed=t.plugin.formatSeed(d),t.generated=0}function u(c){var f=null,l=ze.util.globalScope,d=l.crypto||l.msCrypto;d&&d.getRandomValues&&(f=function(T){return d.getRandomValues(T)});var p=ze.util.createBuffer();if(f)for(;p.length()<c;){var h=Math.max(1,Math.min(c-p.length(),65536)/4),y=new Uint32Array(Math.floor(h));try{f(y);for(var g=0;g<y.length;++g)p.putInt32(y[g])}catch(T){if(!(typeof QuotaExceededError<"u"&&T instanceof QuotaExceededError))throw T}}if(p.length()<c)for(var m,x,S,L=Math.floor(Math.random()*65536);p.length()<c;){x=16807*(L&65535),m=16807*(L>>16),x+=(m&32767)<<16,x+=m>>15,x=(x&2147483647)+(x>>31),L=x&4294967295;for(var g=0;g<3;++g)S=L>>>(g<<3),S^=Math.floor(Math.random()*256),p.putByte(S&255)}return p.getBytes(c)}return e1?(t.seedFile=function(c,f){e1.randomBytes(c,function(l,d){if(l)return f(l);f(null,d.toString())})},t.seedFileSync=function(c){return e1.randomBytes(c).toString()}):(t.seedFile=function(c,f){try{f(null,u(c))}catch(l){f(l)}},t.seedFileSync=u),t.collect=function(c){for(var f=c.length,l=0;l<f;++l)t.pools[t.pool].update(c.substr(l,1)),t.pool=t.pool===31?0:t.pool+1},t.collectInt=function(c,f){for(var l="",d=0;d<f;d+=8)l+=String.fromCharCode(c>>d&255);t.collect(l)},t.registerWorker=function(c){if(c===self)t.seedFile=function(l,d){function p(h){var y=h.data;y.forge&&y.forge.prng&&(self.removeEventListener("message",p),d(y.forge.prng.err,y.forge.prng.bytes))}self.addEventListener("message",p),self.postMessage({forge:{prng:{needed:l}}})};else{var f=function(l){var d=l.data;d.forge&&d.forge.prng&&t.seedFile(d.forge.prng.needed,function(p,h){c.postMessage({forge:{prng:{err:p,bytes:h}}})})};c.addEventListener("message",f)}},t}});var k0=D((ix,Ks)=>{var Mt=nt();Wi();y5();m5();Ct();(function(){if(Mt.random&&Mt.random.getBytes){Ks.exports=Mt.random;return}(function(e){var t={},r=new Array(4),n=Mt.util.createBuffer();t.formatKey=function(l){var d=Mt.util.createBuffer(l);return l=new Array(4),l[0]=d.getInt32(),l[1]=d.getInt32(),l[2]=d.getInt32(),l[3]=d.getInt32(),Mt.aes._expandKey(l,!1)},t.formatSeed=function(l){var d=Mt.util.createBuffer(l);return l=new Array(4),l[0]=d.getInt32(),l[1]=d.getInt32(),l[2]=d.getInt32(),l[3]=d.getInt32(),l},t.cipher=function(l,d){return Mt.aes._updateBlock(l,d,r,!1),n.putInt32(r[0]),n.putInt32(r[1]),n.putInt32(r[2]),n.putInt32(r[3]),n.getBytes()},t.increment=function(l){return++l[3],l},t.md=Mt.md.sha256;function i(){var l=Mt.prng.create(t);return l.getBytes=function(d,p){return l.generate(d,p)},l.getBytesSync=function(d){return l.generate(d)},l}var o=i(),s=null,a=Mt.util.globalScope,u=a.crypto||a.msCrypto;if(u&&u.getRandomValues&&(s=function(l){return u.getRandomValues(l)}),Mt.options.usePureJavaScript||!Mt.util.isNodejs&&!s){if(typeof window>"u"||window.document,o.collectInt(+new Date,32),typeof navigator<"u"){var c="";for(var f in navigator)try{typeof navigator[f]=="string"&&(c+=navigator[f])}catch{}o.collect(c),c=null}e&&(e().mousemove(function(l){o.collectInt(l.clientX,16),o.collectInt(l.clientY,16)}),e().keypress(function(l){o.collectInt(l.charCode,8)}))}if(!Mt.random)Mt.random=o;else for(var f in o)Mt.random[f]=o[f];Mt.random.createInstance=i,Ks.exports=Mt.random})(typeof jQuery<"u"?jQuery:null)})()});var b5=D((ox,w5)=>{var Yt=nt();Ct();var Vs=[217,120,249,196,25,221,181,237,40,233,253,121,74,160,216,157,198,126,55,131,43,118,83,142,98,76,100,136,68,139,251,162,23,154,89,245,135,179,79,19,97,69,109,141,9,129,125,50,189,143,64,235,134,183,123,11,240,149,33,34,92,107,78,130,84,214,101,147,206,96,178,28,115,86,192,20,167,140,241,220,18,117,202,31,59,190,228,209,66,61,212,48,163,60,182,38,111,191,14,218,70,105,7,87,39,242,29,155,188,148,67,3,248,17,199,246,144,239,62,231,6,195,213,47,200,102,30,215,8,232,234,222,128,82,238,247,132,170,114,172,53,77,106,42,150,26,210,113,90,21,73,116,75,159,208,94,4,24,164,236,194,224,65,110,15,81,203,204,36,145,175,80,161,244,112,57,153,124,58,133,35,184,180,122,252,2,54,91,37,85,151,49,45,93,250,152,227,138,146,174,5,223,41,16,103,108,186,201,211,0,230,207,225,158,168,44,99,22,1,63,88,226,137,169,13,56,52,27,171,51,255,176,187,72,12,95,185,177,205,46,197,243,219,71,229,165,156,119,10,166,32,104,254,127,193,173],x5=[1,2,3,5],P7=function(e,t){return e<<t&65535|(e&65535)>>16-t},N7=function(e,t){return(e&65535)>>t|e<<16-t&65535};w5.exports=Yt.rc2=Yt.rc2||{};Yt.rc2.expandKey=function(e,t){typeof e=="string"&&(e=Yt.util.createBuffer(e)),t=t||128;var r=e,n=e.length(),i=t,o=Math.ceil(i/8),s=255>>(i&7),a;for(a=n;a<128;a++)r.putByte(Vs[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-o,Vs[r.at(128-o)&s]),a=127-o;a>=0;a--)r.setAt(a,Vs[r.at(a+1)^r.at(a+o)]);return r};var v5=function(e,t,r){var n=!1,i=null,o=null,s=null,a,u,c,f,l=[];for(e=Yt.rc2.expandKey(e,t),c=0;c<64;c++)l.push(e.getInt16Le());r?(a=function(h){for(c=0;c<4;c++)h[c]+=l[f]+(h[(c+3)%4]&h[(c+2)%4])+(~h[(c+3)%4]&h[(c+1)%4]),h[c]=P7(h[c],x5[c]),f++},u=function(h){for(c=0;c<4;c++)h[c]+=l[h[(c+3)%4]&63]}):(a=function(h){for(c=3;c>=0;c--)h[c]=N7(h[c],x5[c]),h[c]-=l[f]+(h[(c+3)%4]&h[(c+2)%4])+(~h[(c+3)%4]&h[(c+1)%4]),f--},u=function(h){for(c=3;c>=0;c--)h[c]-=l[h[(c+3)%4]&63]});var d=function(h){var y=[];for(c=0;c<4;c++){var g=i.getInt16Le();s!==null&&(r?g^=s.getInt16Le():s.putInt16Le(g)),y.push(g&65535)}f=r?0:63;for(var m=0;m<h.length;m++)for(var x=0;x<h[m][0];x++)h[m][1](y);for(c=0;c<4;c++)s!==null&&(r?s.putInt16Le(y[c]):y[c]^=s.getInt16Le()),o.putInt16Le(y[c])},p=null;return p={start:function(h,y){h&&typeof h=="string"&&(h=Yt.util.createBuffer(h)),n=!1,i=Yt.util.createBuffer(),o=y||new Yt.util.createBuffer,s=h,p.output=o},update:function(h){for(n||i.putBuffer(h);i.length()>=8;)d([[5,a],[1,u],[6,a],[1,u],[5,a]])},finish:function(h){var y=!0;if(r)if(h)y=h(8,i,!r);else{var g=i.length()===8?8:8-i.length();i.fillWithByte(g,g)}if(y&&(n=!0,p.update()),!r&&(y=i.length()===0,y))if(h)y=h(8,o,!r);else{var m=o.length(),x=o.at(m-1);x>m?y=!1:o.truncate(x)}return y}},p};Yt.rc2.startEncrypting=function(e,t,r){var n=Yt.rc2.createEncryptionCipher(e,128);return n.start(t,r),n};Yt.rc2.createEncryptionCipher=function(e,t){return v5(e,t,!0)};Yt.rc2.startDecrypting=function(e,t,r){var n=Yt.rc2.createDecryptionCipher(e,128);return n.start(t,r),n};Yt.rc2.createDecryptionCipher=function(e,t){return v5(e,t,!1)}});var i1=D((sx,T5)=>{var qs=nt();T5.exports=qs.jsbn=qs.jsbn||{};var fr,L7=0xdeadbeefcafe,E5=(L7&16777215)==15715070;function A(e,t,r){this.data=[],e!=null&&(typeof e=="number"?this.fromNumber(e,t,r):t==null&&typeof e!="string"?this.fromString(e,256):this.fromString(e,t))}qs.jsbn.BigInteger=A;function j(){return new A(null)}function k7(e,t,r,n,i,o){for(;--o>=0;){var s=t*this.data[e++]+r.data[n]+i;i=Math.floor(s/67108864),r.data[n++]=s&67108863}return i}function D7(e,t,r,n,i,o){for(var s=t&32767,a=t>>15;--o>=0;){var u=this.data[e]&32767,c=this.data[e++]>>15,f=a*u+c*s;u=s*u+((f&32767)<<15)+r.data[n]+(i&1073741823),i=(u>>>30)+(f>>>15)+a*c+(i>>>30),r.data[n++]=u&1073741823}return i}function S5(e,t,r,n,i,o){for(var s=t&16383,a=t>>14;--o>=0;){var u=this.data[e]&16383,c=this.data[e++]>>14,f=a*u+c*s;u=s*u+((f&16383)<<14)+r.data[n]+i,i=(u>>28)+(f>>14)+a*c,r.data[n++]=u&268435455}return i}typeof navigator>"u"?(A.prototype.am=S5,fr=28):E5&&navigator.appName=="Microsoft Internet Explorer"?(A.prototype.am=D7,fr=30):E5&&navigator.appName!="Netscape"?(A.prototype.am=k7,fr=26):(A.prototype.am=S5,fr=28);A.prototype.DB=fr;A.prototype.DM=(1<<fr)-1;A.prototype.DV=1<<fr;var zs=52;A.prototype.FV=Math.pow(2,zs);A.prototype.F1=zs-fr;A.prototype.F2=2*fr-zs;var F7="0123456789abcdefghijklmnopqrstuvwxyz",r1=new Array,Gn,le;Gn="0".charCodeAt(0);for(le=0;le<=9;++le)r1[Gn++]=le;Gn="a".charCodeAt(0);for(le=10;le<36;++le)r1[Gn++]=le;Gn="A".charCodeAt(0);for(le=10;le<36;++le)r1[Gn++]=le;function A5(e){return F7.charAt(e)}function I5(e,t){var r=r1[e.charCodeAt(t)];return r??-1}function U7(e){for(var t=this.t-1;t>=0;--t)e.data[t]=this.data[t];e.t=this.t,e.s=this.s}function O7(e){this.t=1,this.s=e<0?-1:0,e>0?this.data[0]=e:e<-1?this.data[0]=e+this.DV:this.t=0}function _r(e){var t=j();return t.fromInt(e),t}function M7(e,t){var r;if(t==16)r=4;else if(t==8)r=3;else if(t==256)r=8;else if(t==2)r=1;else if(t==32)r=5;else if(t==4)r=2;else{this.fromRadix(e,t);return}this.t=0,this.s=0;for(var n=e.length,i=!1,o=0;--n>=0;){var s=r==8?e[n]&255:I5(e,n);if(s<0){e.charAt(n)=="-"&&(i=!0);continue}i=!1,o==0?this.data[this.t++]=s:o+r>this.DB?(this.data[this.t-1]|=(s&(1<<this.DB-o)-1)<<o,this.data[this.t++]=s>>this.DB-o):this.data[this.t-1]|=s<<o,o+=r,o>=this.DB&&(o-=this.DB)}r==8&&e[0]&128&&(this.s=-1,o>0&&(this.data[this.t-1]|=(1<<this.DB-o)-1<<o)),this.clamp(),i&&A.ZERO.subTo(this,this)}function K7(){for(var e=this.s&this.DM;this.t>0&&this.data[this.t-1]==e;)--this.t}function V7(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(e==16)t=4;else if(e==8)t=3;else if(e==2)t=1;else if(e==32)t=5;else if(e==4)t=2;else return this.toRadix(e);var r=(1<<t)-1,n,i=!1,o="",s=this.t,a=this.DB-s*this.DB%t;if(s-- >0)for(a<this.DB&&(n=this.data[s]>>a)>0&&(i=!0,o=A5(n));s>=0;)a<t?(n=(this.data[s]&(1<<a)-1)<<t-a,n|=this.data[--s]>>(a+=this.DB-t)):(n=this.data[s]>>(a-=t)&r,a<=0&&(a+=this.DB,--s)),n>0&&(i=!0),i&&(o+=A5(n));return i?o:"0"}function q7(){var e=j();return A.ZERO.subTo(this,e),e}function z7(){return this.s<0?this.negate():this}function $7(e){var t=this.s-e.s;if(t!=0)return t;var r=this.t;if(t=r-e.t,t!=0)return this.s<0?-t:t;for(;--r>=0;)if((t=this.data[r]-e.data[r])!=0)return t;return 0}function n1(e){var t=1,r;return(r=e>>>16)!=0&&(e=r,t+=16),(r=e>>8)!=0&&(e=r,t+=8),(r=e>>4)!=0&&(e=r,t+=4),(r=e>>2)!=0&&(e=r,t+=2),(r=e>>1)!=0&&(e=r,t+=1),t}function H7(){return this.t<=0?0:this.DB*(this.t-1)+n1(this.data[this.t-1]^this.s&this.DM)}function G7(e,t){var r;for(r=this.t-1;r>=0;--r)t.data[r+e]=this.data[r];for(r=e-1;r>=0;--r)t.data[r]=0;t.t=this.t+e,t.s=this.s}function Q7(e,t){for(var r=e;r<this.t;++r)t.data[r-e]=this.data[r];t.t=Math.max(this.t-e,0),t.s=this.s}function W7(e,t){var r=e%this.DB,n=this.DB-r,i=(1<<n)-1,o=Math.floor(e/this.DB),s=this.s<<r&this.DM,a;for(a=this.t-1;a>=0;--a)t.data[a+o+1]=this.data[a]>>n|s,s=(this.data[a]&i)<<r;for(a=o-1;a>=0;--a)t.data[a]=0;t.data[o]=s,t.t=this.t+o+1,t.s=this.s,t.clamp()}function Y7(e,t){t.s=this.s;var r=Math.floor(e/this.DB);if(r>=this.t){t.t=0;return}var n=e%this.DB,i=this.DB-n,o=(1<<n)-1;t.data[0]=this.data[r]>>n;for(var s=r+1;s<this.t;++s)t.data[s-r-1]|=(this.data[s]&o)<<i,t.data[s-r]=this.data[s]>>n;n>0&&(t.data[this.t-r-1]|=(this.s&o)<<i),t.t=this.t-r,t.clamp()}function Z7(e,t){for(var r=0,n=0,i=Math.min(e.t,this.t);r<i;)n+=this.data[r]-e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;if(e.t<this.t){for(n-=e.s;r<this.t;)n+=this.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<e.t;)n-=e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n-=e.s}t.s=n<0?-1:0,n<-1?t.data[r++]=this.DV+n:n>0&&(t.data[r++]=n),t.t=r,t.clamp()}function X7(e,t){var r=this.abs(),n=e.abs(),i=r.t;for(t.t=i+n.t;--i>=0;)t.data[i]=0;for(i=0;i<n.t;++i)t.data[i+r.t]=r.am(0,n.data[i],t,i,0,r.t);t.s=0,t.clamp(),this.s!=e.s&&A.ZERO.subTo(t,t)}function j7(e){for(var t=this.abs(),r=e.t=2*t.t;--r>=0;)e.data[r]=0;for(r=0;r<t.t-1;++r){var n=t.am(r,t.data[r],e,2*r,0,1);(e.data[r+t.t]+=t.am(r+1,2*t.data[r],e,2*r+1,n,t.t-r-1))>=t.DV&&(e.data[r+t.t]-=t.DV,e.data[r+t.t+1]=1)}e.t>0&&(e.data[e.t-1]+=t.am(r,t.data[r],e,2*r,0,1)),e.s=0,e.clamp()}function J7(e,t,r){var n=e.abs();if(!(n.t<=0)){var i=this.abs();if(i.t<n.t){t?.fromInt(0),r!=null&&this.copyTo(r);return}r==null&&(r=j());var o=j(),s=this.s,a=e.s,u=this.DB-n1(n.data[n.t-1]);u>0?(n.lShiftTo(u,o),i.lShiftTo(u,r)):(n.copyTo(o),i.copyTo(r));var c=o.t,f=o.data[c-1];if(f!=0){var l=f*(1<<this.F1)+(c>1?o.data[c-2]>>this.F2:0),d=this.FV/l,p=(1<<this.F1)/l,h=1<<this.F2,y=r.t,g=y-c,m=t??j();for(o.dlShiftTo(g,m),r.compareTo(m)>=0&&(r.data[r.t++]=1,r.subTo(m,r)),A.ONE.dlShiftTo(c,m),m.subTo(o,o);o.t<c;)o.data[o.t++]=0;for(;--g>=0;){var x=r.data[--y]==f?this.DM:Math.floor(r.data[y]*d+(r.data[y-1]+h)*p);if((r.data[y]+=o.am(0,x,r,g,0,c))<x)for(o.dlShiftTo(g,m),r.subTo(m,r);r.data[y]<--x;)r.subTo(m,r)}t!=null&&(r.drShiftTo(c,t),s!=a&&A.ZERO.subTo(t,t)),r.t=c,r.clamp(),u>0&&r.rShiftTo(u,r),s<0&&A.ZERO.subTo(r,r)}}}function tl(e){var t=j();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(A.ZERO)>0&&e.subTo(t,t),t}function en(e){this.m=e}function el(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e}function rl(e){return e}function nl(e){e.divRemTo(this.m,null,e)}function il(e,t,r){e.multiplyTo(t,r),this.reduce(r)}function ol(e,t){e.squareTo(t),this.reduce(t)}en.prototype.convert=el;en.prototype.revert=rl;en.prototype.reduce=nl;en.prototype.mulTo=il;en.prototype.sqrTo=ol;function sl(){if(this.t<1)return 0;var e=this.data[0];if(!(e&1))return 0;var t=e&3;return t=t*(2-(e&15)*t)&15,t=t*(2-(e&255)*t)&255,t=t*(2-((e&65535)*t&65535))&65535,t=t*(2-e*t%this.DV)%this.DV,t>0?this.DV-t:-t}function rn(e){this.m=e,this.mp=e.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<e.DB-15)-1,this.mt2=2*e.t}function al(e){var t=j();return e.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),e.s<0&&t.compareTo(A.ZERO)>0&&this.m.subTo(t,t),t}function ul(e){var t=j();return e.copyTo(t),this.reduce(t),t}function cl(e){for(;e.t<=this.mt2;)e.data[e.t++]=0;for(var t=0;t<this.m.t;++t){var r=e.data[t]&32767,n=r*this.mpl+((r*this.mph+(e.data[t]>>15)*this.mpl&this.um)<<15)&e.DM;for(r=t+this.m.t,e.data[r]+=this.m.am(0,n,e,t,0,this.m.t);e.data[r]>=e.DV;)e.data[r]-=e.DV,e.data[++r]++}e.clamp(),e.drShiftTo(this.m.t,e),e.compareTo(this.m)>=0&&e.subTo(this.m,e)}function fl(e,t){e.squareTo(t),this.reduce(t)}function ll(e,t,r){e.multiplyTo(t,r),this.reduce(r)}rn.prototype.convert=al;rn.prototype.revert=ul;rn.prototype.reduce=cl;rn.prototype.mulTo=ll;rn.prototype.sqrTo=fl;function hl(){return(this.t>0?this.data[0]&1:this.s)==0}function pl(e,t){if(e>4294967295||e<1)return A.ONE;var r=j(),n=j(),i=t.convert(this),o=n1(e)-1;for(i.copyTo(r);--o>=0;)if(t.sqrTo(r,n),(e&1<<o)>0)t.mulTo(n,i,r);else{var s=r;r=n,n=s}return t.revert(r)}function dl(e,t){var r;return e<256||t.isEven()?r=new en(t):r=new rn(t),this.exp(e,r)}A.prototype.copyTo=U7;A.prototype.fromInt=O7;A.prototype.fromString=M7;A.prototype.clamp=K7;A.prototype.dlShiftTo=G7;A.prototype.drShiftTo=Q7;A.prototype.lShiftTo=W7;A.prototype.rShiftTo=Y7;A.prototype.subTo=Z7;A.prototype.multiplyTo=X7;A.prototype.squareTo=j7;A.prototype.divRemTo=J7;A.prototype.invDigit=sl;A.prototype.isEven=hl;A.prototype.exp=pl;A.prototype.toString=V7;A.prototype.negate=q7;A.prototype.abs=z7;A.prototype.compareTo=$7;A.prototype.bitLength=H7;A.prototype.mod=tl;A.prototype.modPowInt=dl;A.ZERO=_r(0);A.ONE=_r(1);function yl(){var e=j();return this.copyTo(e),e}function gl(){if(this.s<0){if(this.t==1)return this.data[0]-this.DV;if(this.t==0)return-1}else{if(this.t==1)return this.data[0];if(this.t==0)return 0}return(this.data[1]&(1<<32-this.DB)-1)<<this.DB|this.data[0]}function ml(){return this.t==0?this.s:this.data[0]<<24>>24}function xl(){return this.t==0?this.s:this.data[0]<<16>>16}function vl(e){return Math.floor(Math.LN2*this.DB/Math.log(e))}function wl(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function bl(e){if(e==null&&(e=10),this.signum()==0||e<2||e>36)return"0";var t=this.chunkSize(e),r=Math.pow(e,t),n=_r(r),i=j(),o=j(),s="";for(this.divRemTo(n,i,o);i.signum()>0;)s=(r+o.intValue()).toString(e).substr(1)+s,i.divRemTo(n,i,o);return o.intValue().toString(e)+s}function El(e,t){this.fromInt(0),t==null&&(t=10);for(var r=this.chunkSize(t),n=Math.pow(t,r),i=!1,o=0,s=0,a=0;a<e.length;++a){var u=I5(e,a);if(u<0){e.charAt(a)=="-"&&this.signum()==0&&(i=!0);continue}s=t*s+u,++o>=r&&(this.dMultiply(n),this.dAddOffset(s,0),o=0,s=0)}o>0&&(this.dMultiply(Math.pow(t,o)),this.dAddOffset(s,0)),i&&A.ZERO.subTo(this,this)}function Sl(e,t,r){if(typeof t=="number")if(e<2)this.fromInt(1);else for(this.fromNumber(e,r),this.testBit(e-1)||this.bitwiseTo(A.ONE.shiftLeft(e-1),$s,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(t);)this.dAddOffset(2,0),this.bitLength()>e&&this.subTo(A.ONE.shiftLeft(e-1),this);else{var n=new Array,i=e&7;n.length=(e>>3)+1,t.nextBytes(n),i>0?n[0]&=(1<<i)-1:n[0]=0,this.fromString(n,256)}}function Al(){var e=this.t,t=new Array;t[0]=this.s;var r=this.DB-e*this.DB%8,n,i=0;if(e-- >0)for(r<this.DB&&(n=this.data[e]>>r)!=(this.s&this.DM)>>r&&(t[i++]=n|this.s<<this.DB-r);e>=0;)r<8?(n=(this.data[e]&(1<<r)-1)<<8-r,n|=this.data[--e]>>(r+=this.DB-8)):(n=this.data[e]>>(r-=8)&255,r<=0&&(r+=this.DB,--e)),n&128&&(n|=-256),i==0&&(this.s&128)!=(n&128)&&++i,(i>0||n!=this.s)&&(t[i++]=n);return t}function Il(e){return this.compareTo(e)==0}function Bl(e){return this.compareTo(e)<0?this:e}function Cl(e){return this.compareTo(e)>0?this:e}function _l(e,t,r){var n,i,o=Math.min(e.t,this.t);for(n=0;n<o;++n)r.data[n]=t(this.data[n],e.data[n]);if(e.t<this.t){for(i=e.s&this.DM,n=o;n<this.t;++n)r.data[n]=t(this.data[n],i);r.t=this.t}else{for(i=this.s&this.DM,n=o;n<e.t;++n)r.data[n]=t(i,e.data[n]);r.t=e.t}r.s=t(this.s,e.s),r.clamp()}function Tl(e,t){return e&t}function Rl(e){var t=j();return this.bitwiseTo(e,Tl,t),t}function $s(e,t){return e|t}function Pl(e){var t=j();return this.bitwiseTo(e,$s,t),t}function B5(e,t){return e^t}function Nl(e){var t=j();return this.bitwiseTo(e,B5,t),t}function C5(e,t){return e&~t}function Ll(e){var t=j();return this.bitwiseTo(e,C5,t),t}function kl(){for(var e=j(),t=0;t<this.t;++t)e.data[t]=this.DM&~this.data[t];return e.t=this.t,e.s=~this.s,e}function Dl(e){var t=j();return e<0?this.rShiftTo(-e,t):this.lShiftTo(e,t),t}function Fl(e){var t=j();return e<0?this.lShiftTo(-e,t):this.rShiftTo(e,t),t}function Ul(e){if(e==0)return-1;var t=0;return e&65535||(e>>=16,t+=16),e&255||(e>>=8,t+=8),e&15||(e>>=4,t+=4),e&3||(e>>=2,t+=2),e&1||++t,t}function Ol(){for(var e=0;e<this.t;++e)if(this.data[e]!=0)return e*this.DB+Ul(this.data[e]);return this.s<0?this.t*this.DB:-1}function Ml(e){for(var t=0;e!=0;)e&=e-1,++t;return t}function Kl(){for(var e=0,t=this.s&this.DM,r=0;r<this.t;++r)e+=Ml(this.data[r]^t);return e}function Vl(e){var t=Math.floor(e/this.DB);return t>=this.t?this.s!=0:(this.data[t]&1<<e%this.DB)!=0}function ql(e,t){var r=A.ONE.shiftLeft(e);return this.bitwiseTo(r,t,r),r}function zl(e){return this.changeBit(e,$s)}function $l(e){return this.changeBit(e,C5)}function Hl(e){return this.changeBit(e,B5)}function Gl(e,t){for(var r=0,n=0,i=Math.min(e.t,this.t);r<i;)n+=this.data[r]+e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;if(e.t<this.t){for(n+=e.s;r<this.t;)n+=this.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<e.t;)n+=e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=e.s}t.s=n<0?-1:0,n>0?t.data[r++]=n:n<-1&&(t.data[r++]=this.DV+n),t.t=r,t.clamp()}function Ql(e){var t=j();return this.addTo(e,t),t}function Wl(e){var t=j();return this.subTo(e,t),t}function Yl(e){var t=j();return this.multiplyTo(e,t),t}function Zl(e){var t=j();return this.divRemTo(e,t,null),t}function Xl(e){var t=j();return this.divRemTo(e,null,t),t}function jl(e){var t=j(),r=j();return this.divRemTo(e,t,r),new Array(t,r)}function Jl(e){this.data[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()}function t9(e,t){if(e!=0){for(;this.t<=t;)this.data[this.t++]=0;for(this.data[t]+=e;this.data[t]>=this.DV;)this.data[t]-=this.DV,++t>=this.t&&(this.data[this.t++]=0),++this.data[t]}}function D0(){}function _5(e){return e}function e9(e,t,r){e.multiplyTo(t,r)}function r9(e,t){e.squareTo(t)}D0.prototype.convert=_5;D0.prototype.revert=_5;D0.prototype.mulTo=e9;D0.prototype.sqrTo=r9;function n9(e){return this.exp(e,new D0)}function i9(e,t,r){var n=Math.min(this.t+e.t,t);for(r.s=0,r.t=n;n>0;)r.data[--n]=0;var i;for(i=r.t-this.t;n<i;++n)r.data[n+this.t]=this.am(0,e.data[n],r,n,0,this.t);for(i=Math.min(e.t,t);n<i;++n)this.am(0,e.data[n],r,n,0,t-n);r.clamp()}function o9(e,t,r){--t;var n=r.t=this.t+e.t-t;for(r.s=0;--n>=0;)r.data[n]=0;for(n=Math.max(t-this.t,0);n<e.t;++n)r.data[this.t+n-t]=this.am(t-n,e.data[n],r,0,0,this.t+n-t);r.clamp(),r.drShiftTo(1,r)}function Qn(e){this.r2=j(),this.q3=j(),A.ONE.dlShiftTo(2*e.t,this.r2),this.mu=this.r2.divide(e),this.m=e}function s9(e){if(e.s<0||e.t>2*this.m.t)return e.mod(this.m);if(e.compareTo(this.m)<0)return e;var t=j();return e.copyTo(t),this.reduce(t),t}function a9(e){return e}function u9(e){for(e.drShiftTo(this.m.t-1,this.r2),e.t>this.m.t+1&&(e.t=this.m.t+1,e.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);e.compareTo(this.r2)<0;)e.dAddOffset(1,this.m.t+1);for(e.subTo(this.r2,e);e.compareTo(this.m)>=0;)e.subTo(this.m,e)}function c9(e,t){e.squareTo(t),this.reduce(t)}function f9(e,t,r){e.multiplyTo(t,r),this.reduce(r)}Qn.prototype.convert=s9;Qn.prototype.revert=a9;Qn.prototype.reduce=u9;Qn.prototype.mulTo=f9;Qn.prototype.sqrTo=c9;function l9(e,t){var r=e.bitLength(),n,i=_r(1),o;if(r<=0)return i;r<18?n=1:r<48?n=3:r<144?n=4:r<768?n=5:n=6,r<8?o=new en(t):t.isEven()?o=new Qn(t):o=new rn(t);var s=new Array,a=3,u=n-1,c=(1<<n)-1;if(s[1]=o.convert(this),n>1){var f=j();for(o.sqrTo(s[1],f);a<=c;)s[a]=j(),o.mulTo(f,s[a-2],s[a]),a+=2}var l=e.t-1,d,p=!0,h=j(),y;for(r=n1(e.data[l])-1;l>=0;){for(r>=u?d=e.data[l]>>r-u&c:(d=(e.data[l]&(1<<r+1)-1)<<u-r,l>0&&(d|=e.data[l-1]>>this.DB+r-u)),a=n;!(d&1);)d>>=1,--a;if((r-=a)<0&&(r+=this.DB,--l),p)s[d].copyTo(i),p=!1;else{for(;a>1;)o.sqrTo(i,h),o.sqrTo(h,i),a-=2;a>0?o.sqrTo(i,h):(y=i,i=h,h=y),o.mulTo(h,s[d],i)}for(;l>=0&&!(e.data[l]&1<<r);)o.sqrTo(i,h),y=i,i=h,h=y,--r<0&&(r=this.DB-1,--l)}return o.revert(i)}function h9(e){var t=this.s<0?this.negate():this.clone(),r=e.s<0?e.negate():e.clone();if(t.compareTo(r)<0){var n=t;t=r,r=n}var i=t.getLowestSetBit(),o=r.getLowestSetBit();if(o<0)return t;for(i<o&&(o=i),o>0&&(t.rShiftTo(o,t),r.rShiftTo(o,r));t.signum()>0;)(i=t.getLowestSetBit())>0&&t.rShiftTo(i,t),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),t.compareTo(r)>=0?(t.subTo(r,t),t.rShiftTo(1,t)):(r.subTo(t,r),r.rShiftTo(1,r));return o>0&&r.lShiftTo(o,r),r}function p9(e){if(e<=0)return 0;var t=this.DV%e,r=this.s<0?e-1:0;if(this.t>0)if(t==0)r=this.data[0]%e;else for(var n=this.t-1;n>=0;--n)r=(t*r+this.data[n])%e;return r}function d9(e){var t=e.isEven();if(this.isEven()&&t||e.signum()==0)return A.ZERO;for(var r=e.clone(),n=this.clone(),i=_r(1),o=_r(0),s=_r(0),a=_r(1);r.signum()!=0;){for(;r.isEven();)r.rShiftTo(1,r),t?((!i.isEven()||!o.isEven())&&(i.addTo(this,i),o.subTo(e,o)),i.rShiftTo(1,i)):o.isEven()||o.subTo(e,o),o.rShiftTo(1,o);for(;n.isEven();)n.rShiftTo(1,n),t?((!s.isEven()||!a.isEven())&&(s.addTo(this,s),a.subTo(e,a)),s.rShiftTo(1,s)):a.isEven()||a.subTo(e,a),a.rShiftTo(1,a);r.compareTo(n)>=0?(r.subTo(n,r),t&&i.subTo(s,i),o.subTo(a,o)):(n.subTo(r,n),t&&s.subTo(i,s),a.subTo(o,a))}if(n.compareTo(A.ONE)!=0)return A.ZERO;if(a.compareTo(e)>=0)return a.subtract(e);if(a.signum()<0)a.addTo(e,a);else return a;return a.signum()<0?a.add(e):a}var Ae=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509],y9=(1<<26)/Ae[Ae.length-1];function g9(e){var t,r=this.abs();if(r.t==1&&r.data[0]<=Ae[Ae.length-1]){for(t=0;t<Ae.length;++t)if(r.data[0]==Ae[t])return!0;return!1}if(r.isEven())return!1;for(t=1;t<Ae.length;){for(var n=Ae[t],i=t+1;i<Ae.length&&n<y9;)n*=Ae[i++];for(n=r.modInt(n);t<i;)if(n%Ae[t++]==0)return!1}return r.millerRabin(e)}function m9(e){var t=this.subtract(A.ONE),r=t.getLowestSetBit();if(r<=0)return!1;for(var n=t.shiftRight(r),i=x9(),o,s=0;s<e;++s){do o=new A(this.bitLength(),i);while(o.compareTo(A.ONE)<=0||o.compareTo(t)>=0);var a=o.modPow(n,this);if(a.compareTo(A.ONE)!=0&&a.compareTo(t)!=0){for(var u=1;u++<r&&a.compareTo(t)!=0;)if(a=a.modPowInt(2,this),a.compareTo(A.ONE)==0)return!1;if(a.compareTo(t)!=0)return!1}}return!0}function x9(){return{nextBytes:function(e){for(var t=0;t<e.length;++t)e[t]=Math.floor(Math.random()*256)}}}A.prototype.chunkSize=vl;A.prototype.toRadix=bl;A.prototype.fromRadix=El;A.prototype.fromNumber=Sl;A.prototype.bitwiseTo=_l;A.prototype.changeBit=ql;A.prototype.addTo=Gl;A.prototype.dMultiply=Jl;A.prototype.dAddOffset=t9;A.prototype.multiplyLowerTo=i9;A.prototype.multiplyUpperTo=o9;A.prototype.modInt=p9;A.prototype.millerRabin=m9;A.prototype.clone=yl;A.prototype.intValue=gl;A.prototype.byteValue=ml;A.prototype.shortValue=xl;A.prototype.signum=wl;A.prototype.toByteArray=Al;A.prototype.equals=Il;A.prototype.min=Bl;A.prototype.max=Cl;A.prototype.and=Rl;A.prototype.or=Pl;A.prototype.xor=Nl;A.prototype.andNot=Ll;A.prototype.not=kl;A.prototype.shiftLeft=Dl;A.prototype.shiftRight=Fl;A.prototype.getLowestSetBit=Ol;A.prototype.bitCount=Kl;A.prototype.testBit=Vl;A.prototype.setBit=zl;A.prototype.clearBit=$l;A.prototype.flipBit=Hl;A.prototype.add=Ql;A.prototype.subtract=Wl;A.prototype.multiply=Yl;A.prototype.divide=Zl;A.prototype.remainder=Xl;A.prototype.divideAndRemainder=jl;A.prototype.modPow=l9;A.prototype.modInverse=d9;A.prototype.pow=n9;A.prototype.gcd=h9;A.prototype.isProbablePrime=g9});var k5=D((ax,L5)=>{var $e=nt();tn();Ct();var P5=L5.exports=$e.sha1=$e.sha1||{};$e.md.sha1=$e.md.algorithms.sha1=P5;P5.create=function(){N5||v9();var e=null,t=$e.util.createBuffer(),r=new Array(80),n={algorithm:"sha1",blockLength:64,digestLength:20,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,o=0;o<i;++o)n.fullMessageLength.push(0);return t=$e.util.createBuffer(),e={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=$e.util.encodeUtf8(i));var s=i.length;n.messageLength+=s,s=[s/4294967296>>>0,s>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=s[1],s[1]=s[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,s[0]=s[1]/4294967296>>>0;return t.putBytes(i),R5(e,r,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=$e.util.createBuffer();i.putBytes(t.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(Hs.substr(0,n.blockLength-s));for(var a,u,c=n.fullMessageLength[0]*8,f=0;f<n.fullMessageLength.length-1;++f)a=n.fullMessageLength[f+1]*8,u=a/4294967296>>>0,c+=u,i.putInt32(c>>>0),c=a>>>0;i.putInt32(c);var l={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4};R5(l,r,i);var d=$e.util.createBuffer();return d.putInt32(l.h0),d.putInt32(l.h1),d.putInt32(l.h2),d.putInt32(l.h3),d.putInt32(l.h4),d},n};var Hs=null,N5=!1;function v9(){Hs=String.fromCharCode(128),Hs+=$e.util.fillString(String.fromCharCode(0),64),N5=!0}function R5(e,t,r){for(var n,i,o,s,a,u,c,f,l=r.length();l>=64;){for(i=e.h0,o=e.h1,s=e.h2,a=e.h3,u=e.h4,f=0;f<16;++f)n=r.getInt32(),t[f]=n,c=a^o&(s^a),n=(i<<5|i>>>27)+c+u+1518500249+n,u=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<20;++f)n=t[f-3]^t[f-8]^t[f-14]^t[f-16],n=n<<1|n>>>31,t[f]=n,c=a^o&(s^a),n=(i<<5|i>>>27)+c+u+1518500249+n,u=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<32;++f)n=t[f-3]^t[f-8]^t[f-14]^t[f-16],n=n<<1|n>>>31,t[f]=n,c=o^s^a,n=(i<<5|i>>>27)+c+u+1859775393+n,u=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<40;++f)n=t[f-6]^t[f-16]^t[f-28]^t[f-32],n=n<<2|n>>>30,t[f]=n,c=o^s^a,n=(i<<5|i>>>27)+c+u+1859775393+n,u=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<60;++f)n=t[f-6]^t[f-16]^t[f-28]^t[f-32],n=n<<2|n>>>30,t[f]=n,c=o&s|a&(o^s),n=(i<<5|i>>>27)+c+u+2400959708+n,u=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<80;++f)n=t[f-6]^t[f-16]^t[f-28]^t[f-32],n=n<<2|n>>>30,t[f]=n,c=o^s^a,n=(i<<5|i>>>27)+c+u+3395469782+n,u=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;e.h0=e.h0+i|0,e.h1=e.h1+o|0,e.h2=e.h2+s|0,e.h3=e.h3+a|0,e.h4=e.h4+u|0,l-=64}}});var U5=D((ux,F5)=>{var He=nt();Ct();k0();k5();var D5=F5.exports=He.pkcs1=He.pkcs1||{};D5.encode_rsa_oaep=function(e,t,r){var n,i,o,s;typeof r=="string"?(n=r,i=arguments[3]||void 0,o=arguments[4]||void 0):r&&(n=r.label||void 0,i=r.seed||void 0,o=r.md||void 0,r.mgf1&&r.mgf1.md&&(s=r.mgf1.md)),o?o.start():o=He.md.sha1.create(),s||(s=o);var a=Math.ceil(e.n.bitLength()/8),u=a-2*o.digestLength-2;if(t.length>u){var c=new Error("RSAES-OAEP input message length is too long.");throw c.length=t.length,c.maxLength=u,c}n||(n=""),o.update(n,"raw");for(var f=o.digest(),l="",d=u-t.length,p=0;p<d;p++)l+="\0";var h=f.getBytes()+l+""+t;if(!i)i=He.random.getBytes(o.digestLength);else if(i.length!==o.digestLength){var c=new Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.");throw c.seedLength=i.length,c.digestLength=o.digestLength,c}var y=o1(i,a-o.digestLength-1,s),g=He.util.xorBytes(h,y,h.length),m=o1(g,o.digestLength,s),x=He.util.xorBytes(i,m,i.length);return"\0"+x+g};D5.decode_rsa_oaep=function(e,t,r){var n,i,o;typeof r=="string"?(n=r,i=arguments[3]||void 0):r&&(n=r.label||void 0,i=r.md||void 0,r.mgf1&&r.mgf1.md&&(o=r.mgf1.md));var s=Math.ceil(e.n.bitLength()/8);if(t.length!==s){var g=new Error("RSAES-OAEP encoded message length is invalid.");throw g.length=t.length,g.expectedLength=s,g}if(i===void 0?i=He.md.sha1.create():i.start(),o||(o=i),s<2*i.digestLength+2)throw new Error("RSAES-OAEP key is too short for the hash function.");n||(n=""),i.update(n,"raw");for(var a=i.digest().getBytes(),u=t.charAt(0),c=t.substring(1,i.digestLength+1),f=t.substring(1+i.digestLength),l=o1(f,i.digestLength,o),d=He.util.xorBytes(c,l,c.length),p=o1(d,s-i.digestLength-1,o),h=He.util.xorBytes(f,p,f.length),y=h.substring(0,i.digestLength),g=u!=="\0",m=0;m<i.digestLength;++m)g|=a.charAt(m)!==y.charAt(m);for(var x=1,S=i.digestLength,L=i.digestLength;L<h.length;L++){var T=h.charCodeAt(L),_=T&1^1,q=x?65534:0;g|=T&q,x=x&_,S+=x}if(g||h.charCodeAt(S)!==1)throw new Error("Invalid RSAES-OAEP padding.");return h.substring(S+1)};function o1(e,t,r){r||(r=He.md.sha1.create());for(var n="",i=Math.ceil(t/r.digestLength),o=0;o<i;++o){var s=String.fromCharCode(o>>24&255,o>>16&255,o>>8&255,o&255);r.start(),r.update(e+s),n+=r.digest().getBytes()}return n.substring(0,t)}});var O5=D((cx,Gs)=>{var Tr=nt();Ct();i1();k0();(function(){if(Tr.prime){Gs.exports=Tr.prime;return}var e=Gs.exports=Tr.prime=Tr.prime||{},t=Tr.jsbn.BigInteger,r=[6,4,2,4,2,4,6,2],n=new t(null);n.fromInt(30);var i=function(l,d){return l|d};e.generateProbablePrime=function(l,d,p){typeof d=="function"&&(p=d,d={}),d=d||{};var h=d.algorithm||"PRIMEINC";typeof h=="string"&&(h={name:h}),h.options=h.options||{};var y=d.prng||Tr.random,g={nextBytes:function(m){for(var x=y.getBytesSync(m.length),S=0;S<m.length;++S)m[S]=x.charCodeAt(S)}};if(h.name==="PRIMEINC")return o(l,g,h.options,p);throw new Error("Invalid prime generation algorithm: "+h.name)};function o(l,d,p,h){return"workers"in p?u(l,d,p,h):s(l,d,p,h)}function s(l,d,p,h){var y=c(l,d),g=0,m=f(y.bitLength());"millerRabinTests"in p&&(m=p.millerRabinTests);var x=10;"maxBlockTime"in p&&(x=p.maxBlockTime),a(y,l,d,g,m,x,h)}function a(l,d,p,h,y,g,m){var x=+new Date;do{if(l.bitLength()>d&&(l=c(d,p)),l.isProbablePrime(y))return m(null,l);l.dAddOffset(r[h++%8],0)}while(g<0||+new Date-x<g);Tr.util.setImmediate(function(){a(l,d,p,h,y,g,m)})}function u(l,d,p,h){if(typeof Worker>"u")return s(l,d,p,h);var y=c(l,d),g=p.workers,m=p.workLoad||100,x=m*30/8,S=p.workerScript||"forge/prime.worker.js";if(g===-1)return Tr.util.estimateCores(function(T,_){T&&(_=2),g=_-1,L()});L();function L(){g=Math.max(1,g);for(var T=[],_=0;_<g;++_)T[_]=new Worker(S);for(var q=g,_=0;_<g;++_)T[_].addEventListener("message",Nt);var G=!1;function Nt(ye){if(!G){--q;var Xt=ye.data;if(Xt.found){for(var qt=0;qt<T.length;++qt)T[qt].terminate();return G=!0,h(null,new t(Xt.prime,16))}y.bitLength()>l&&(y=c(l,d));var mn=y.toString(16);ye.target.postMessage({hex:mn,workLoad:m}),y.dAddOffset(x,0)}}}}function c(l,d){var p=new t(l,d),h=l-1;return p.testBit(h)||p.bitwiseTo(t.ONE.shiftLeft(h),i,p),p.dAddOffset(31-p.mod(n).byteValue(),0),p}function f(l){return l<=100?27:l<=150?18:l<=200?15:l<=250?12:l<=300?9:l<=350?8:l<=400?7:l<=500?6:l<=600?5:l<=800?4:l<=1250?3:2}})()});var a1=D((fx,H5)=>{var U=nt();L0();i1();Yi();U5();O5();k0();Ct();typeof W>"u"&&(W=U.jsbn.BigInteger);var W,Qs=U.util.isNodejs?Hn():null,w=U.asn1,he=U.util;U.pki=U.pki||{};H5.exports=U.pki.rsa=U.rsa=U.rsa||{};var K=U.pki,w9=[6,4,2,4,2,4,6,2],b9={name:"PrivateKeyInfo",tagClass:w.Class.UNIVERSAL,type:w.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:w.Class.UNIVERSAL,type:w.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:w.Class.UNIVERSAL,type:w.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:w.Class.UNIVERSAL,type:w.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:w.Class.UNIVERSAL,type:w.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},E9={name:"RSAPrivateKey",tagClass:w.Class.UNIVERSAL,type:w.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPrivateKey.version",tagClass:w.Class.UNIVERSAL,type:w.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"RSAPrivateKey.modulus",tagClass:w.Class.UNIVERSAL,type:w.Type.INTEGER,constructed:!1,capture:"privateKeyModulus"},{name:"RSAPrivateKey.publicExponent",tagClass:w.Class.UNIVERSAL,type:w.Type.INTEGER,constructed:!1,capture:"privateKeyPublicExponent"},{name:"RSAPrivateKey.privateExponent",tagClass:w.Class.UNIVERSAL,type:w.Type.INTEGER,constructed:!1,capture:"privateKeyPrivateExponent"},{name:"RSAPrivateKey.prime1",tagClass:w.Class.UNIVERSAL,type:w.Type.INTEGER,constructed:!1,capture:"privateKeyPrime1"},{name:"RSAPrivateKey.prime2",tagClass:w.Class.UNIVERSAL,type:w.Type.INTEGER,constructed:!1,capture:"privateKeyPrime2"},{name:"RSAPrivateKey.exponent1",tagClass:w.Class.UNIVERSAL,type:w.Type.INTEGER,constructed:!1,capture:"privateKeyExponent1"},{name:"RSAPrivateKey.exponent2",tagClass:w.Class.UNIVERSAL,type:w.Type.INTEGER,constructed:!1,capture:"privateKeyExponent2"},{name:"RSAPrivateKey.coefficient",tagClass:w.Class.UNIVERSAL,type:w.Type.INTEGER,constructed:!1,capture:"privateKeyCoefficient"}]},S9={name:"RSAPublicKey",tagClass:w.Class.UNIVERSAL,type:w.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPublicKey.modulus",tagClass:w.Class.UNIVERSAL,type:w.Type.INTEGER,constructed:!1,capture:"publicKeyModulus"},{name:"RSAPublicKey.exponent",tagClass:w.Class.UNIVERSAL,type:w.Type.INTEGER,constructed:!1,capture:"publicKeyExponent"}]},A9=U.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:w.Class.UNIVERSAL,type:w.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:w.Class.UNIVERSAL,type:w.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:w.Class.UNIVERSAL,type:w.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:w.Class.UNIVERSAL,type:w.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:w.Class.UNIVERSAL,type:w.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},I9={name:"DigestInfo",tagClass:w.Class.UNIVERSAL,type:w.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm",tagClass:w.Class.UNIVERSAL,type:w.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm.algorithmIdentifier",tagClass:w.Class.UNIVERSAL,type:w.Type.OID,constructed:!1,capture:"algorithmIdentifier"},{name:"DigestInfo.DigestAlgorithm.parameters",tagClass:w.Class.UNIVERSAL,type:w.Type.NULL,capture:"parameters",optional:!0,constructed:!1}]},{name:"DigestInfo.digest",tagClass:w.Class.UNIVERSAL,type:w.Type.OCTETSTRING,constructed:!1,capture:"digest"}]},B9=function(e){var t;if(e.algorithm in K.oids)t=K.oids[e.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=e.algorithm,r}var n=w.oidToDer(t).getBytes(),i=w.create(w.Class.UNIVERSAL,w.Type.SEQUENCE,!0,[]),o=w.create(w.Class.UNIVERSAL,w.Type.SEQUENCE,!0,[]);o.value.push(w.create(w.Class.UNIVERSAL,w.Type.OID,!1,n)),o.value.push(w.create(w.Class.UNIVERSAL,w.Type.NULL,!1,""));var s=w.create(w.Class.UNIVERSAL,w.Type.OCTETSTRING,!1,e.digest().getBytes());return i.value.push(o),i.value.push(s),w.toDer(i).getBytes()},z5=function(e,t,r){if(r)return e.modPow(t.e,t.n);if(!t.p||!t.q)return e.modPow(t.d,t.n);t.dP||(t.dP=t.d.mod(t.p.subtract(W.ONE))),t.dQ||(t.dQ=t.d.mod(t.q.subtract(W.ONE))),t.qInv||(t.qInv=t.q.modInverse(t.p));var n;do n=new W(U.util.bytesToHex(U.random.getBytes(t.n.bitLength()/8)),16);while(n.compareTo(t.n)>=0||!n.gcd(t.n).equals(W.ONE));e=e.multiply(n.modPow(t.e,t.n)).mod(t.n);for(var i=e.mod(t.p).modPow(t.dP,t.p),o=e.mod(t.q).modPow(t.dQ,t.q);i.compareTo(o)<0;)i=i.add(t.p);var s=i.subtract(o).multiply(t.qInv).mod(t.p).multiply(t.q).add(o);return s=s.multiply(n.modInverse(t.n)).mod(t.n),s};K.rsa.encrypt=function(e,t,r){var n=r,i,o=Math.ceil(t.n.bitLength()/8);r!==!1&&r!==!0?(n=r===2,i=$5(e,t,r)):(i=U.util.createBuffer(),i.putBytes(e));for(var s=new W(i.toHex(),16),a=z5(s,t,n),u=a.toString(16),c=U.util.createBuffer(),f=o-Math.ceil(u.length/2);f>0;)c.putByte(0),--f;return c.putBytes(U.util.hexToBytes(u)),c.getBytes()};K.rsa.decrypt=function(e,t,r,n){var i=Math.ceil(t.n.bitLength()/8);if(e.length!==i){var o=new Error("Encrypted message length is invalid.");throw o.length=e.length,o.expected=i,o}var s=new W(U.util.createBuffer(e).toHex(),16);if(s.compareTo(t.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=z5(s,t,r),u=a.toString(16),c=U.util.createBuffer(),f=i-Math.ceil(u.length/2);f>0;)c.putByte(0),--f;return c.putBytes(U.util.hexToBytes(u)),n!==!1?s1(c.getBytes(),t,r):c.getBytes()};K.rsa.createKeyPairGenerationState=function(e,t,r){typeof e=="string"&&(e=parseInt(e,10)),e=e||2048,r=r||{};var n=r.prng||U.random,i={nextBytes:function(a){for(var u=n.getBytesSync(a.length),c=0;c<a.length;++c)a[c]=u.charCodeAt(c)}},o=r.algorithm||"PRIMEINC",s;if(o==="PRIMEINC")s={algorithm:o,state:0,bits:e,rng:i,eInt:t||65537,e:new W(null),p:null,q:null,qBits:e>>1,pBits:e-(e>>1),pqState:0,num:null,keys:null},s.e.fromInt(s.eInt);else throw new Error("Invalid key generation algorithm: "+o);return s};K.rsa.stepKeyPairGenerationState=function(e,t){"algorithm"in e||(e.algorithm="PRIMEINC");var r=new W(null);r.fromInt(30);for(var n=0,i=function(l,d){return l|d},o=+new Date,s,a=0;e.keys===null&&(t<=0||a<t);){if(e.state===0){var u=e.p===null?e.pBits:e.qBits,c=u-1;e.pqState===0?(e.num=new W(u,e.rng),e.num.testBit(c)||e.num.bitwiseTo(W.ONE.shiftLeft(c),i,e.num),e.num.dAddOffset(31-e.num.mod(r).byteValue(),0),n=0,++e.pqState):e.pqState===1?e.num.bitLength()>u?e.pqState=0:e.num.isProbablePrime(_9(e.num.bitLength()))?++e.pqState:e.num.dAddOffset(w9[n++%8],0):e.pqState===2?e.pqState=e.num.subtract(W.ONE).gcd(e.e).compareTo(W.ONE)===0?3:0:e.pqState===3&&(e.pqState=0,e.p===null?e.p=e.num:e.q=e.num,e.p!==null&&e.q!==null&&++e.state,e.num=null)}else if(e.state===1)e.p.compareTo(e.q)<0&&(e.num=e.p,e.p=e.q,e.q=e.num),++e.state;else if(e.state===2)e.p1=e.p.subtract(W.ONE),e.q1=e.q.subtract(W.ONE),e.phi=e.p1.multiply(e.q1),++e.state;else if(e.state===3)e.phi.gcd(e.e).compareTo(W.ONE)===0?++e.state:(e.p=null,e.q=null,e.state=0);else if(e.state===4)e.n=e.p.multiply(e.q),e.n.bitLength()===e.bits?++e.state:(e.q=null,e.state=0);else if(e.state===5){var f=e.e.modInverse(e.phi);e.keys={privateKey:K.rsa.setPrivateKey(e.n,e.e,f,e.p,e.q,f.mod(e.p1),f.mod(e.q1),e.q.modInverse(e.p)),publicKey:K.rsa.setPublicKey(e.n,e.e)}}s=+new Date,a+=s-o,o=s}return e.keys!==null};K.rsa.generateKeyPair=function(e,t,r,n){if(arguments.length===1?typeof e=="object"?(r=e,e=void 0):typeof e=="function"&&(n=e,e=void 0):arguments.length===2?typeof e=="number"?typeof t=="function"?(n=t,t=void 0):typeof t!="number"&&(r=t,t=void 0):(r=e,n=t,e=void 0,t=void 0):arguments.length===3&&(typeof t=="number"?typeof r=="function"&&(n=r,r=void 0):(n=r,r=t,t=void 0)),r=r||{},e===void 0&&(e=r.bits||2048),t===void 0&&(t=r.e||65537),!U.options.usePureJavaScript&&!r.prng&&e>=256&&e<=16384&&(t===65537||t===3)){if(n){if(M5("generateKeyPair"))return Qs.generateKeyPair("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},function(a,u,c){if(a)return n(a);n(null,{privateKey:K.privateKeyFromPem(c),publicKey:K.publicKeyFromPem(u)})});if(K5("generateKey")&&K5("exportKey"))return he.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:q5(t),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return he.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var u=K.privateKeyFromAsn1(w.fromDer(U.util.createBuffer(a)));n(null,{privateKey:u,publicKey:K.setRsaPublicKey(u.n,u.e)})}});if(V5("generateKey")&&V5("exportKey")){var i=he.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:q5(t),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var u=a.target.result,c=he.globalScope.msCrypto.subtle.exportKey("pkcs8",u.privateKey);c.oncomplete=function(f){var l=f.target.result,d=K.privateKeyFromAsn1(w.fromDer(U.util.createBuffer(l)));n(null,{privateKey:d,publicKey:K.setRsaPublicKey(d.n,d.e)})},c.onerror=function(f){n(f)}},i.onerror=function(a){n(a)};return}}else if(M5("generateKeyPairSync")){var o=Qs.generateKeyPairSync("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:K.privateKeyFromPem(o.privateKey),publicKey:K.publicKeyFromPem(o.publicKey)}}}var s=K.rsa.createKeyPairGenerationState(e,t,r);if(!n)return K.rsa.stepKeyPairGenerationState(s,0),s.keys;C9(s,r,n)};K.setRsaPublicKey=K.rsa.setPublicKey=function(e,t){var r={n:e,e:t};return r.encrypt=function(n,i,o){if(typeof i=="string"?i=i.toUpperCase():i===void 0&&(i="RSAES-PKCS1-V1_5"),i==="RSAES-PKCS1-V1_5")i={encode:function(a,u,c){return $5(a,u,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,u){return U.pkcs1.encode_rsa_oaep(u,a,o)}};else if(["RAW","NONE","NULL",null].indexOf(i)!==-1)i={encode:function(a){return a}};else if(typeof i=="string")throw new Error('Unsupported encryption scheme: "'+i+'".');var s=i.encode(n,r,!0);return K.rsa.encrypt(s,r,!0)},r.verify=function(n,i,o,s){typeof o=="string"?o=o.toUpperCase():o===void 0&&(o="RSASSA-PKCS1-V1_5"),s===void 0&&(s={_parseAllDigestBytes:!0}),"_parseAllDigestBytes"in s||(s._parseAllDigestBytes=!0),o==="RSASSA-PKCS1-V1_5"?o={verify:function(u,c){c=s1(c,r,!0);var f=w.fromDer(c,{parseAllBytes:s._parseAllDigestBytes}),l={},d=[];if(!w.validate(f,I9,l,d)){var p=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw p.errors=d,p}var h=w.derToOid(l.algorithmIdentifier);if(!(h===U.oids.md2||h===U.oids.md5||h===U.oids.sha1||h===U.oids.sha224||h===U.oids.sha256||h===U.oids.sha384||h===U.oids.sha512||h===U.oids["sha512-224"]||h===U.oids["sha512-256"])){var p=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw p.oid=h,p}if((h===U.oids.md2||h===U.oids.md5)&&!("parameters"in l))throw new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value. Missing algorithm identifer NULL parameters.");return u===l.digest}}:(o==="NONE"||o==="NULL"||o===null)&&(o={verify:function(u,c){return c=s1(c,r,!0),u===c}});var a=K.rsa.decrypt(i,r,!0,!1);return o.verify(n,a,r.n.bitLength())},r};K.setRsaPrivateKey=K.rsa.setPrivateKey=function(e,t,r,n,i,o,s,a){var u={n:e,e:t,d:r,p:n,q:i,dP:o,dQ:s,qInv:a};return u.decrypt=function(c,f,l){typeof f=="string"?f=f.toUpperCase():f===void 0&&(f="RSAES-PKCS1-V1_5");var d=K.rsa.decrypt(c,u,!1,!1);if(f==="RSAES-PKCS1-V1_5")f={decode:s1};else if(f==="RSA-OAEP"||f==="RSAES-OAEP")f={decode:function(p,h){return U.pkcs1.decode_rsa_oaep(h,p,l)}};else if(["RAW","NONE","NULL",null].indexOf(f)!==-1)f={decode:function(p){return p}};else throw new Error('Unsupported encryption scheme: "'+f+'".');return f.decode(d,u,!1)},u.sign=function(c,f){var l=!1;typeof f=="string"&&(f=f.toUpperCase()),f===void 0||f==="RSASSA-PKCS1-V1_5"?(f={encode:B9},l=1):(f==="NONE"||f==="NULL"||f===null)&&(f={encode:function(){return c}},l=1);var d=f.encode(c,u.n.bitLength());return K.rsa.encrypt(d,u,l)},u};K.wrapRsaPrivateKey=function(e){return w.create(w.Class.UNIVERSAL,w.Type.SEQUENCE,!0,[w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,w.integerToDer(0).getBytes()),w.create(w.Class.UNIVERSAL,w.Type.SEQUENCE,!0,[w.create(w.Class.UNIVERSAL,w.Type.OID,!1,w.oidToDer(K.oids.rsaEncryption).getBytes()),w.create(w.Class.UNIVERSAL,w.Type.NULL,!1,"")]),w.create(w.Class.UNIVERSAL,w.Type.OCTETSTRING,!1,w.toDer(e).getBytes())])};K.privateKeyFromAsn1=function(e){var t={},r=[];if(w.validate(e,b9,t,r)&&(e=w.fromDer(U.util.createBuffer(t.privateKey))),t={},r=[],!w.validate(e,E9,t,r)){var n=new Error("Cannot read private key. ASN.1 object does not contain an RSAPrivateKey.");throw n.errors=r,n}var i,o,s,a,u,c,f,l;return i=U.util.createBuffer(t.privateKeyModulus).toHex(),o=U.util.createBuffer(t.privateKeyPublicExponent).toHex(),s=U.util.createBuffer(t.privateKeyPrivateExponent).toHex(),a=U.util.createBuffer(t.privateKeyPrime1).toHex(),u=U.util.createBuffer(t.privateKeyPrime2).toHex(),c=U.util.createBuffer(t.privateKeyExponent1).toHex(),f=U.util.createBuffer(t.privateKeyExponent2).toHex(),l=U.util.createBuffer(t.privateKeyCoefficient).toHex(),K.setRsaPrivateKey(new W(i,16),new W(o,16),new W(s,16),new W(a,16),new W(u,16),new W(c,16),new W(f,16),new W(l,16))};K.privateKeyToAsn1=K.privateKeyToRSAPrivateKey=function(e){return w.create(w.Class.UNIVERSAL,w.Type.SEQUENCE,!0,[w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,w.integerToDer(0).getBytes()),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,Ge(e.n)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,Ge(e.e)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,Ge(e.d)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,Ge(e.p)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,Ge(e.q)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,Ge(e.dP)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,Ge(e.dQ)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,Ge(e.qInv))])};K.publicKeyFromAsn1=function(e){var t={},r=[];if(w.validate(e,A9,t,r)){var n=w.derToOid(t.publicKeyOid);if(n!==K.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}e=t.rsaPublicKey}if(r=[],!w.validate(e,S9,t,r)){var i=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");throw i.errors=r,i}var o=U.util.createBuffer(t.publicKeyModulus).toHex(),s=U.util.createBuffer(t.publicKeyExponent).toHex();return K.setRsaPublicKey(new W(o,16),new W(s,16))};K.publicKeyToAsn1=K.publicKeyToSubjectPublicKeyInfo=function(e){return w.create(w.Class.UNIVERSAL,w.Type.SEQUENCE,!0,[w.create(w.Class.UNIVERSAL,w.Type.SEQUENCE,!0,[w.create(w.Class.UNIVERSAL,w.Type.OID,!1,w.oidToDer(K.oids.rsaEncryption).getBytes()),w.create(w.Class.UNIVERSAL,w.Type.NULL,!1,"")]),w.create(w.Class.UNIVERSAL,w.Type.BITSTRING,!1,[K.publicKeyToRSAPublicKey(e)])])};K.publicKeyToRSAPublicKey=function(e){return w.create(w.Class.UNIVERSAL,w.Type.SEQUENCE,!0,[w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,Ge(e.n)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,Ge(e.e))])};function $5(e,t,r){var n=U.util.createBuffer(),i=Math.ceil(t.n.bitLength()/8);if(e.length>i-11){var o=new Error("Message is too long for PKCS#1 v1.5 padding.");throw o.length=e.length,o.max=i-11,o}n.putByte(0),n.putByte(r);var s=i-3-e.length,a;if(r===0||r===1){a=r===0?0:255;for(var u=0;u<s;++u)n.putByte(a)}else for(;s>0;){for(var c=0,f=U.random.getBytes(s),u=0;u<s;++u)a=f.charCodeAt(u),a===0?++c:n.putByte(a);s=c}return n.putByte(0),n.putBytes(e),n}function s1(e,t,r,n){var i=Math.ceil(t.n.bitLength()/8),o=U.util.createBuffer(e),s=o.getByte(),a=o.getByte();if(s!==0||r&&a!==0&&a!==1||!r&&a!=2||r&&a===0&&typeof n>"u")throw new Error("Encryption block is invalid.");var u=0;if(a===0){u=i-3-n;for(var c=0;c<u;++c)if(o.getByte()!==0)throw new Error("Encryption block is invalid.")}else if(a===1)for(u=0;o.length()>1;){if(o.getByte()!==255){--o.read;break}++u}else if(a===2)for(u=0;o.length()>1;){if(o.getByte()===0){--o.read;break}++u}var f=o.getByte();if(f!==0||u!==i-3-o.length())throw new Error("Encryption block is invalid.");return o.getBytes()}function C9(e,t,r){typeof t=="function"&&(r=t,t={}),t=t||{};var n={algorithm:{name:t.algorithm||"PRIMEINC",options:{workers:t.workers||2,workLoad:t.workLoad||100,workerScript:t.workerScript}}};"prng"in t&&(n.prng=t.prng),i();function i(){o(e.pBits,function(a,u){if(a)return r(a);if(e.p=u,e.q!==null)return s(a,e.q);o(e.qBits,s)})}function o(a,u){U.prime.generateProbablePrime(a,n,u)}function s(a,u){if(a)return r(a);if(e.q=u,e.p.compareTo(e.q)<0){var c=e.p;e.p=e.q,e.q=c}if(e.p.subtract(W.ONE).gcd(e.e).compareTo(W.ONE)!==0){e.p=null,i();return}if(e.q.subtract(W.ONE).gcd(e.e).compareTo(W.ONE)!==0){e.q=null,o(e.qBits,s);return}if(e.p1=e.p.subtract(W.ONE),e.q1=e.q.subtract(W.ONE),e.phi=e.p1.multiply(e.q1),e.phi.gcd(e.e).compareTo(W.ONE)!==0){e.p=e.q=null,i();return}if(e.n=e.p.multiply(e.q),e.n.bitLength()!==e.bits){e.q=null,o(e.qBits,s);return}var f=e.e.modInverse(e.phi);e.keys={privateKey:K.rsa.setPrivateKey(e.n,e.e,f,e.p,e.q,f.mod(e.p1),f.mod(e.q1),e.q.modInverse(e.p)),publicKey:K.rsa.setPublicKey(e.n,e.e)},r(null,e.keys)}}function Ge(e){var t=e.toString(16);t[0]>="8"&&(t="00"+t);var r=U.util.hexToBytes(t);return r.length>1&&(r.charCodeAt(0)===0&&!(r.charCodeAt(1)&128)||r.charCodeAt(0)===255&&(r.charCodeAt(1)&128)===128)?r.substr(1):r}function _9(e){return e<=100?27:e<=150?18:e<=200?15:e<=250?12:e<=300?9:e<=350?8:e<=400?7:e<=500?6:e<=600?5:e<=800?4:e<=1250?3:2}function M5(e){return U.util.isNodejs&&typeof Qs[e]=="function"}function K5(e){return typeof he.globalScope<"u"&&typeof he.globalScope.crypto=="object"&&typeof he.globalScope.crypto.subtle=="object"&&typeof he.globalScope.crypto.subtle[e]=="function"}function V5(e){return typeof he.globalScope<"u"&&typeof he.globalScope.msCrypto=="object"&&typeof he.globalScope.msCrypto.subtle=="object"&&typeof he.globalScope.msCrypto.subtle[e]=="function"}function q5(e){for(var t=U.util.hexToBytes(e.toString(16)),r=new Uint8Array(t.length),n=0;n<t.length;++n)r[n]=t.charCodeAt(n);return r}});var X5=D((lx,Z5)=>{var P=nt();Wi();L0();r5();tn();Yi();Os();c5();k0();b5();a1();Ct();typeof G5>"u"&&(G5=P.jsbn.BigInteger);var G5,E=P.asn1,V=P.pki=P.pki||{};Z5.exports=V.pbe=P.pbe=P.pbe||{};var nn=V.oids,T9={name:"EncryptedPrivateKeyInfo",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:E.Class.UNIVERSAL,type:E.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:E.Class.UNIVERSAL,type:E.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},R9={name:"PBES2Algorithms",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:E.Class.UNIVERSAL,type:E.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:E.Class.UNIVERSAL,type:E.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:E.Class.UNIVERSAL,type:E.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:E.Class.UNIVERSAL,type:E.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:E.Class.UNIVERSAL,type:E.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},P9={name:"pkcs-12PbeParams",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:E.Class.UNIVERSAL,type:E.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"iterations"}]};V.encryptPrivateKeyInfo=function(e,t,r){r=r||{},r.saltSize=r.saltSize||8,r.count=r.count||2048,r.algorithm=r.algorithm||"aes128",r.prfAlgorithm=r.prfAlgorithm||"sha1";var n=P.random.getBytesSync(r.saltSize),i=r.count,o=E.integerToDer(i),s,a,u;if(r.algorithm.indexOf("aes")===0||r.algorithm==="des"){var c,f,l;switch(r.algorithm){case"aes128":s=16,c=16,f=nn["aes128-CBC"],l=P.aes.createEncryptionCipher;break;case"aes192":s=24,c=16,f=nn["aes192-CBC"],l=P.aes.createEncryptionCipher;break;case"aes256":s=32,c=16,f=nn["aes256-CBC"],l=P.aes.createEncryptionCipher;break;case"des":s=8,c=8,f=nn.desCBC,l=P.des.createEncryptionCipher;break;default:var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=r.algorithm,d}var p="hmacWith"+r.prfAlgorithm.toUpperCase(),h=Y5(p),y=P.pkcs5.pbkdf2(t,n,i,s,h),g=P.random.getBytesSync(c),m=l(y);m.start(g),m.update(E.toDer(e)),m.finish(),u=m.output.getBytes();var x=N9(n,o,s,p);a=E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.OID,!1,E.oidToDer(nn.pkcs5PBES2).getBytes()),E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.OID,!1,E.oidToDer(nn.pkcs5PBKDF2).getBytes()),x]),E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.OID,!1,E.oidToDer(f).getBytes()),E.create(E.Class.UNIVERSAL,E.Type.OCTETSTRING,!1,g)])])])}else if(r.algorithm==="3des"){s=24;var S=new P.util.ByteBuffer(n),y=V.pbe.generatePkcs12Key(t,S,1,i,s),g=V.pbe.generatePkcs12Key(t,S,2,i,s),m=P.des.createEncryptionCipher(y);m.start(g),m.update(E.toDer(e)),m.finish(),u=m.output.getBytes(),a=E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.OID,!1,E.oidToDer(nn["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.OCTETSTRING,!1,n),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,o.getBytes())])])}else{var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=r.algorithm,d}var L=E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[a,E.create(E.Class.UNIVERSAL,E.Type.OCTETSTRING,!1,u)]);return L};V.decryptPrivateKeyInfo=function(e,t){var r=null,n={},i=[];if(!E.validate(e,T9,n,i)){var o=new Error("Cannot read encrypted private key. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}var s=E.derToOid(n.encryptionOid),a=V.pbe.getCipher(s,n.encryptionParams,t),u=P.util.createBuffer(n.encryptedData);return a.update(u),a.finish()&&(r=E.fromDer(a.output)),r};V.encryptedPrivateKeyToPem=function(e,t){var r={type:"ENCRYPTED PRIVATE KEY",body:E.toDer(e).getBytes()};return P.pem.encode(r,{maxline:t})};V.encryptedPrivateKeyFromPem=function(e){var t=P.pem.decode(e)[0];if(t.type!=="ENCRYPTED PRIVATE KEY"){var r=new Error('Could not convert encrypted private key from PEM; PEM header type is "ENCRYPTED PRIVATE KEY".');throw r.headerType=t.type,r}if(t.procType&&t.procType.type==="ENCRYPTED")throw new Error("Could not convert encrypted private key from PEM; PEM is encrypted.");return E.fromDer(t.body)};V.encryptRsaPrivateKey=function(e,t,r){if(r=r||{},!r.legacy){var n=V.wrapRsaPrivateKey(V.privateKeyToAsn1(e));return n=V.encryptPrivateKeyInfo(n,t,r),V.encryptedPrivateKeyToPem(n)}var i,o,s,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",s=16,o=P.random.getBytesSync(16),a=P.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",s=24,o=P.random.getBytesSync(16),a=P.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",s=32,o=P.random.getBytesSync(16),a=P.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",s=24,o=P.random.getBytesSync(8),a=P.des.createEncryptionCipher;break;case"des":i="DES-CBC",s=8,o=P.random.getBytesSync(8),a=P.des.createEncryptionCipher;break;default:var u=new Error('Could not encrypt RSA private key; unsupported encryption algorithm "'+r.algorithm+'".');throw u.algorithm=r.algorithm,u}var c=P.pbe.opensslDeriveBytes(t,o.substr(0,8),s),f=a(c);f.start(o),f.update(E.toDer(V.privateKeyToAsn1(e))),f.finish();var l={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:P.util.bytesToHex(o).toUpperCase()},body:f.output.getBytes()};return P.pem.encode(l)};V.decryptRsaPrivateKey=function(e,t){var r=null,n=P.pem.decode(e)[0];if(n.type!=="ENCRYPTED PRIVATE KEY"&&n.type!=="PRIVATE KEY"&&n.type!=="RSA PRIVATE KEY"){var i=new Error('Could not convert private key from PEM; PEM header type is not "ENCRYPTED PRIVATE KEY", "PRIVATE KEY", or "RSA PRIVATE KEY".');throw i.headerType=i,i}if(n.procType&&n.procType.type==="ENCRYPTED"){var o,s;switch(n.dekInfo.algorithm){case"DES-CBC":o=8,s=P.des.createDecryptionCipher;break;case"DES-EDE3-CBC":o=24,s=P.des.createDecryptionCipher;break;case"AES-128-CBC":o=16,s=P.aes.createDecryptionCipher;break;case"AES-192-CBC":o=24,s=P.aes.createDecryptionCipher;break;case"AES-256-CBC":o=32,s=P.aes.createDecryptionCipher;break;case"RC2-40-CBC":o=5,s=function(l){return P.rc2.createDecryptionCipher(l,40)};break;case"RC2-64-CBC":o=8,s=function(l){return P.rc2.createDecryptionCipher(l,64)};break;case"RC2-128-CBC":o=16,s=function(l){return P.rc2.createDecryptionCipher(l,128)};break;default:var i=new Error('Could not decrypt private key; unsupported encryption algorithm "'+n.dekInfo.algorithm+'".');throw i.algorithm=n.dekInfo.algorithm,i}var a=P.util.hexToBytes(n.dekInfo.parameters),u=P.pbe.opensslDeriveBytes(t,a.substr(0,8),o),c=s(u);if(c.start(a),c.update(P.util.createBuffer(n.body)),c.finish())r=c.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=V.decryptPrivateKeyInfo(E.fromDer(r),t):r=E.fromDer(r),r!==null&&(r=V.privateKeyFromAsn1(r)),r};V.pbe.generatePkcs12Key=function(e,t,r,n,i,o){var s,a;if(typeof o>"u"||o===null){if(!("sha1"in P.md))throw new Error('"sha1" hash algorithm unavailable.');o=P.md.sha1.create()}var u=o.digestLength,c=o.blockLength,f=new P.util.ByteBuffer,l=new P.util.ByteBuffer;if(e!=null){for(a=0;a<e.length;a++)l.putInt16(e.charCodeAt(a));l.putInt16(0)}var d=l.length(),p=t.length(),h=new P.util.ByteBuffer;h.fillWithByte(r,c);var y=c*Math.ceil(p/c),g=new P.util.ByteBuffer;for(a=0;a<y;a++)g.putByte(t.at(a%p));var m=c*Math.ceil(d/c),x=new P.util.ByteBuffer;for(a=0;a<m;a++)x.putByte(l.at(a%d));var S=g;S.putBuffer(x);for(var L=Math.ceil(i/u),T=1;T<=L;T++){var _=new P.util.ByteBuffer;_.putBytes(h.bytes()),_.putBytes(S.bytes());for(var q=0;q<n;q++)o.start(),o.update(_.getBytes()),_=o.digest();var G=new P.util.ByteBuffer;for(a=0;a<c;a++)G.putByte(_.at(a%u));var Nt=Math.ceil(p/c)+Math.ceil(d/c),ye=new P.util.ByteBuffer;for(s=0;s<Nt;s++){var Xt=new P.util.ByteBuffer(S.getBytes(c)),qt=511;for(a=G.length()-1;a>=0;a--)qt=qt>>8,qt+=G.at(a)+Xt.at(a),Xt.setAt(a,qt&255);ye.putBuffer(Xt)}S=ye,f.putBuffer(_)}return f.truncate(f.length()-i),f};V.pbe.getCipher=function(e,t,r){switch(e){case V.oids.pkcs5PBES2:return V.pbe.getCipherForPBES2(e,t,r);case V.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case V.oids["pbewithSHAAnd40BitRC2-CBC"]:return V.pbe.getCipherForPKCS12PBE(e,t,r);default:var n=new Error("Cannot read encrypted PBE data block. Unsupported OID.");throw n.oid=e,n.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],n}};V.pbe.getCipherForPBES2=function(e,t,r){var n={},i=[];if(!E.validate(t,R9,n,i)){var o=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}if(e=E.derToOid(n.kdfOid),e!==V.oids.pkcs5PBKDF2){var o=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw o.oid=e,o.supportedOids=["pkcs5PBKDF2"],o}if(e=E.derToOid(n.encOid),e!==V.oids["aes128-CBC"]&&e!==V.oids["aes192-CBC"]&&e!==V.oids["aes256-CBC"]&&e!==V.oids["des-EDE3-CBC"]&&e!==V.oids.desCBC){var o=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw o.oid=e,o.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],o}var s=n.kdfSalt,a=P.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var u,c;switch(V.oids[e]){case"aes128-CBC":u=16,c=P.aes.createDecryptionCipher;break;case"aes192-CBC":u=24,c=P.aes.createDecryptionCipher;break;case"aes256-CBC":u=32,c=P.aes.createDecryptionCipher;break;case"des-EDE3-CBC":u=24,c=P.des.createDecryptionCipher;break;case"desCBC":u=8,c=P.des.createDecryptionCipher;break}var f=W5(n.prfOid),l=P.pkcs5.pbkdf2(r,s,a,u,f),d=n.encIv,p=c(l);return p.start(d),p};V.pbe.getCipherForPKCS12PBE=function(e,t,r){var n={},i=[];if(!E.validate(t,P9,n,i)){var o=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}var s=P.util.createBuffer(n.salt),a=P.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var u,c,f;switch(e){case V.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:u=24,c=8,f=P.des.startDecrypting;break;case V.oids["pbewithSHAAnd40BitRC2-CBC"]:u=5,c=8,f=function(y,g){var m=P.rc2.createDecryptionCipher(y,40);return m.start(g,null),m};break;default:var o=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw o.oid=e,o}var l=W5(n.prfOid),d=V.pbe.generatePkcs12Key(r,s,1,a,u,l);l.start();var p=V.pbe.generatePkcs12Key(r,s,2,a,c,l);return f(d,p)};V.pbe.opensslDeriveBytes=function(e,t,r,n){if(typeof n>"u"||n===null){if(!("md5"in P.md))throw new Error('"md5" hash algorithm unavailable.');n=P.md.md5.create()}t===null&&(t="");for(var i=[Q5(n,e+t)],o=16,s=1;o<r;++s,o+=16)i.push(Q5(n,i[s-1]+e+t));return i.join("").substr(0,r)};function Q5(e,t){return e.start().update(t).digest().getBytes()}function W5(e){var t;if(!e)t="hmacWithSHA1";else if(t=V.oids[E.derToOid(e)],!t){var r=new Error("Unsupported PRF OID.");throw r.oid=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return Y5(t)}function Y5(e){var t=P.md;switch(e){case"hmacWithSHA224":t=P.md.sha512;case"hmacWithSHA1":case"hmacWithSHA256":case"hmacWithSHA384":case"hmacWithSHA512":e=e.substr(8).toLowerCase();break;default:var r=new Error("Unsupported PRF algorithm.");throw r.algorithm=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}if(!t||!(e in t))throw new Error("Unknown hash algorithm: "+e);return t[e].create()}function N9(e,t,r,n){var i=E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.OCTETSTRING,!1,e),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,t.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,P.util.hexToBytes(r.toString(16))),E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.OID,!1,E.oidToDer(V.oids[n]).getBytes()),E.create(E.Class.UNIVERSAL,E.Type.NULL,!1,"")])),i}});var d6=D((Fx,p6)=>{var lt=nt();tn();Ct();var F0=p6.exports=lt.sha512=lt.sha512||{};lt.md.sha512=lt.md.algorithms.sha512=F0;var l6=lt.sha384=lt.sha512.sha384=lt.sha512.sha384||{};l6.create=function(){return F0.create("SHA-384")};lt.md.sha384=lt.md.algorithms.sha384=l6;lt.sha512.sha256=lt.sha512.sha256||{create:function(){return F0.create("SHA-512/256")}};lt.md["sha512/256"]=lt.md.algorithms["sha512/256"]=lt.sha512.sha256;lt.sha512.sha224=lt.sha512.sha224||{create:function(){return F0.create("SHA-512/224")}};lt.md["sha512/224"]=lt.md.algorithms["sha512/224"]=lt.sha512.sha224;F0.create=function(e){if(h6||F9(),typeof e>"u"&&(e="SHA-512"),!(e in on))throw new Error("Invalid SHA-512 algorithm: "+e);for(var t=on[e],r=null,n=lt.util.createBuffer(),i=new Array(80),o=0;o<80;++o)i[o]=new Array(2);var s=64;switch(e){case"SHA-384":s=48;break;case"SHA-512/256":s=32;break;case"SHA-512/224":s=28;break}var a={algorithm:e.replace("-","").toLowerCase(),blockLength:128,digestLength:s,messageLength:0,fullMessageLength:null,messageLengthSize:16};return a.start=function(){a.messageLength=0,a.fullMessageLength=a.messageLength128=[];for(var u=a.messageLengthSize/4,c=0;c<u;++c)a.fullMessageLength.push(0);n=lt.util.createBuffer(),r=new Array(t.length);for(var c=0;c<t.length;++c)r[c]=t[c].slice(0);return a},a.start(),a.update=function(u,c){c==="utf8"&&(u=lt.util.encodeUtf8(u));var f=u.length;a.messageLength+=f,f=[f/4294967296>>>0,f>>>0];for(var l=a.fullMessageLength.length-1;l>=0;--l)a.fullMessageLength[l]+=f[1],f[1]=f[0]+(a.fullMessageLength[l]/4294967296>>>0),a.fullMessageLength[l]=a.fullMessageLength[l]>>>0,f[0]=f[1]/4294967296>>>0;return n.putBytes(u),f6(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var u=lt.util.createBuffer();u.putBytes(n.bytes());var c=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,f=c&a.blockLength-1;u.putBytes(Ys.substr(0,a.blockLength-f));for(var l,d,p=a.fullMessageLength[0]*8,h=0;h<a.fullMessageLength.length-1;++h)l=a.fullMessageLength[h+1]*8,d=l/4294967296>>>0,p+=d,u.putInt32(p>>>0),p=l>>>0;u.putInt32(p);for(var y=new Array(r.length),h=0;h<r.length;++h)y[h]=r[h].slice(0);f6(y,i,u);var g=lt.util.createBuffer(),m;e==="SHA-512"?m=y.length:e==="SHA-384"?m=y.length-2:m=y.length-4;for(var h=0;h<m;++h)g.putInt32(y[h][0]),(h!==m-1||e!=="SHA-512/224")&&g.putInt32(y[h][1]);return g},a};var Ys=null,h6=!1,Zs=null,on=null;function F9(){Ys=String.fromCharCode(128),Ys+=lt.util.fillString(String.fromCharCode(0),128),Zs=[[1116352408,3609767458],[1899447441,602891725],[3049323471,3964484399],[3921009573,2173295548],[961987163,4081628472],[1508970993,3053834265],[2453635748,2937671579],[2870763221,3664609560],[3624381080,2734883394],[310598401,1164996542],[607225278,1323610764],[1426881987,3590304994],[1925078388,4068182383],[2162078206,991336113],[2614888103,633803317],[3248222580,3479774868],[3835390401,2666613458],[4022224774,944711139],[264347078,2341262773],[604807628,2007800933],[770255983,1495990901],[1249150122,1856431235],[1555081692,3175218132],[1996064986,2198950837],[2554220882,3999719339],[2821834349,766784016],[2952996808,2566594879],[3210313671,3203337956],[3336571891,1034457026],[3584528711,2466948901],[113926993,3758326383],[338241895,168717936],[666307205,1188179964],[773529912,1546045734],[1294757372,1522805485],[1396182291,2643833823],[1695183700,2343527390],[1986661051,1014477480],[2177026350,1206759142],[2456956037,344077627],[2730485921,1290863460],[2820302411,3158454273],[3259730800,3505952657],[3345764771,106217008],[3516065817,3606008344],[3600352804,1432725776],[4094571909,1467031594],[275423344,851169720],[430227734,3100823752],[506948616,1363258195],[659060556,3750685593],[883997877,3785050280],[958139571,3318307427],[1322822218,3812723403],[1537002063,2003034995],[1747873779,3602036899],[1955562222,1575990012],[2024104815,1125592928],[2227730452,2716904306],[2361852424,442776044],[2428436474,593698344],[2756734187,3733110249],[3204031479,2999351573],[3329325298,3815920427],[3391569614,3928383900],[3515267271,566280711],[3940187606,3454069534],[4118630271,4000239992],[116418474,1914138554],[174292421,2731055270],[289380356,3203993006],[460393269,320620315],[685471733,587496836],[852142971,1086792851],[1017036298,365543100],[1126000580,2618297676],[1288033470,3409855158],[1501505948,4234509866],[1607167915,987167468],[1816402316,1246189591]],on={},on["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],on["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],on["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],on["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],h6=!0}function f6(e,t,r){for(var n,i,o,s,a,u,c,f,l,d,p,h,y,g,m,x,S,L,T,_,q,G,Nt,ye,Xt,qt,mn,fi,Tt,Qt,O,so,ao,uo,co,H2=r.length();H2>=128;){for(Tt=0;Tt<16;++Tt)t[Tt][0]=r.getInt32()>>>0,t[Tt][1]=r.getInt32()>>>0;for(;Tt<80;++Tt)so=t[Tt-2],Qt=so[0],O=so[1],n=((Qt>>>19|O<<13)^(O>>>29|Qt<<3)^Qt>>>6)>>>0,i=((Qt<<13|O>>>19)^(O<<3|Qt>>>29)^(Qt<<26|O>>>6))>>>0,uo=t[Tt-15],Qt=uo[0],O=uo[1],o=((Qt>>>1|O<<31)^(Qt>>>8|O<<24)^Qt>>>7)>>>0,s=((Qt<<31|O>>>1)^(Qt<<24|O>>>8)^(Qt<<25|O>>>7))>>>0,ao=t[Tt-7],co=t[Tt-16],O=i+ao[1]+s+co[1],t[Tt][0]=n+ao[0]+o+co[0]+(O/4294967296>>>0)>>>0,t[Tt][1]=O>>>0;for(y=e[0][0],g=e[0][1],m=e[1][0],x=e[1][1],S=e[2][0],L=e[2][1],T=e[3][0],_=e[3][1],q=e[4][0],G=e[4][1],Nt=e[5][0],ye=e[5][1],Xt=e[6][0],qt=e[6][1],mn=e[7][0],fi=e[7][1],Tt=0;Tt<80;++Tt)c=((q>>>14|G<<18)^(q>>>18|G<<14)^(G>>>9|q<<23))>>>0,f=((q<<18|G>>>14)^(q<<14|G>>>18)^(G<<23|q>>>9))>>>0,l=(Xt^q&(Nt^Xt))>>>0,d=(qt^G&(ye^qt))>>>0,a=((y>>>28|g<<4)^(g>>>2|y<<30)^(g>>>7|y<<25))>>>0,u=((y<<4|g>>>28)^(g<<30|y>>>2)^(g<<25|y>>>7))>>>0,p=(y&m|S&(y^m))>>>0,h=(g&x|L&(g^x))>>>0,O=fi+f+d+Zs[Tt][1]+t[Tt][1],n=mn+c+l+Zs[Tt][0]+t[Tt][0]+(O/4294967296>>>0)>>>0,i=O>>>0,O=u+h,o=a+p+(O/4294967296>>>0)>>>0,s=O>>>0,mn=Xt,fi=qt,Xt=Nt,qt=ye,Nt=q,ye=G,O=_+i,q=T+n+(O/4294967296>>>0)>>>0,G=O>>>0,T=S,_=L,S=m,L=x,m=y,x=g,O=i+s,y=n+o+(O/4294967296>>>0)>>>0,g=O>>>0;O=e[0][1]+g,e[0][0]=e[0][0]+y+(O/4294967296>>>0)>>>0,e[0][1]=O>>>0,O=e[1][1]+x,e[1][0]=e[1][0]+m+(O/4294967296>>>0)>>>0,e[1][1]=O>>>0,O=e[2][1]+L,e[2][0]=e[2][0]+S+(O/4294967296>>>0)>>>0,e[2][1]=O>>>0,O=e[3][1]+_,e[3][0]=e[3][0]+T+(O/4294967296>>>0)>>>0,e[3][1]=O>>>0,O=e[4][1]+G,e[4][0]=e[4][0]+q+(O/4294967296>>>0)>>>0,e[4][1]=O>>>0,O=e[5][1]+ye,e[5][0]=e[5][0]+Nt+(O/4294967296>>>0)>>>0,e[5][1]=O>>>0,O=e[6][1]+qt,e[6][0]=e[6][0]+Xt+(O/4294967296>>>0)>>>0,e[6][1]=O>>>0,O=e[7][1]+fi,e[7][0]=e[7][0]+mn+(O/4294967296>>>0)>>>0,e[7][1]=O>>>0,H2-=128}}});var pu=D((gw,hu)=>{"use strict";function lu(e,t){for(let r in t)Object.defineProperty(e,r,{value:t[r],enumerable:!0,configurable:!0});return e}function op(e,t,r){if(!e||typeof e=="string")throw new TypeError("Please pass an Error to err-code");r||(r={}),typeof t=="object"&&(r=t,t=""),t&&(r.code=t);try{return lu(e,r)}catch{r.message=e.message,r.stack=e.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(e)),lu(new i,r)}}hu.exports=op});var wu=D((Tw,vu)=>{vu.exports=A2;var xu=128,gp=127,mp=~gp,xp=Math.pow(2,31);function A2(e,t,r){if(Number.MAX_SAFE_INTEGER&&e>Number.MAX_SAFE_INTEGER)throw A2.bytes=0,new RangeError("Could not encode varint");t=t||[],r=r||0;for(var n=r;e>=xp;)t[r++]=e&255|xu,e/=128;for(;e∓)t[r++]=e&255|xu,e>>>=7;return t[r]=e|0,A2.bytes=r-n+1,t}});var Su=D((Rw,Eu)=>{Eu.exports=I2;var vp=128,bu=127;function I2(e,n){var r=0,n=n||0,i=0,o=n,s,a=e.length;do{if(o>=a||i>49)throw I2.bytes=0,new RangeError("Could not decode varint");s=e[o++],r+=i<28?(s&bu)<<i:(s&bu)*Math.pow(2,i),i+=7}while(s>=vp);return I2.bytes=o-n,r}});var Iu=D((Pw,Au)=>{var wp=Math.pow(2,7),bp=Math.pow(2,14),Ep=Math.pow(2,21),Sp=Math.pow(2,28),Ap=Math.pow(2,35),Ip=Math.pow(2,42),Bp=Math.pow(2,49),Cp=Math.pow(2,56),_p=Math.pow(2,63);Au.exports=function(e){return e<wp?1:e<bp?2:e<Ep?3:e<Sp?4:e<Ap?5:e<Ip?6:e<Bp?7:e<Cp?8:e<_p?9:10}});var j0=D((Nw,Bu)=>{Bu.exports={encode:wu(),decode:Su(),encodingLength:Iu()}});var Xu=D((aS,Zu)=>{Zu.exports=function(e){if(!e)throw Error("hashlru must have a max value, of type number, greater than 0");var t=0,r=Object.create(null),n=Object.create(null);function i(o,s){r[o]=s,t++,t>=e&&(t=0,n=r,r=Object.create(null))}return{has:function(o){return r[o]!==void 0||n[o]!==void 0},remove:function(o){r[o]!==void 0&&(r[o]=void 0),n[o]!==void 0&&(n[o]=void 0)},get:function(o){var s=r[o];if(s!==void 0)return s;if((s=n[o])!==void 0)return i(o,s),s},set:function(o,s){r[o]!==void 0?r[o]=s:i(o,s)},clear:function(){r=Object.create(null),n=Object.create(null)}}}});var Ad={};Lt(Ad,{DHTContentRouting:()=>io,DHTPeerRouting:()=>oo,kadDHT:()=>Sd});var N4=$(Ra(),1);var To={};Lt(To,{sha256:()=>mt,sha512:()=>Ac});var Ld=new Uint8Array(0);var Pa=(e,t)=>{if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0},Je=e=>{if(e instanceof Uint8Array&&e.constructor.name==="Uint8Array")return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw new Error("Unknown type, must be binary type")};var Na=e=>new TextEncoder().encode(e),La=e=>new TextDecoder().decode(e);var sc=Ua,Da=128,ac=127,uc=~ac,cc=Math.pow(2,31);function Ua(e,t,r){t=t||[],r=r||0;for(var n=r;e>=cc;)t[r++]=e&255|Da,e/=128;for(;e&uc;)t[r++]=e&255|Da,e>>>=7;return t[r]=e|0,Ua.bytes=r-n+1,t}var fc=Bo,lc=128,Fa=127;function Bo(e,n){var r=0,n=n||0,i=0,o=n,s,a=e.length;do{if(o>=a)throw Bo.bytes=0,new RangeError("Could not decode varint");s=e[o++],r+=i<28?(s&Fa)<<i:(s&Fa)*Math.pow(2,i),i+=7}while(s>=lc);return Bo.bytes=o-n,r}var hc=Math.pow(2,7),pc=Math.pow(2,14),dc=Math.pow(2,21),yc=Math.pow(2,28),gc=Math.pow(2,35),mc=Math.pow(2,42),xc=Math.pow(2,49),vc=Math.pow(2,56),wc=Math.pow(2,63),bc=function(e){return e<hc?1:e<pc?2:e<dc?3:e<yc?4:e<gc?5:e<mc?6:e<xc?7:e<vc?8:e<wc?9:10},Ec={encode:sc,decode:fc,encodingLength:bc},Sc=Ec,d0=Sc;var y0=(e,t=0)=>[d0.decode(e,t),d0.decode.bytes],An=(e,t,r=0)=>(d0.encode(e,t,r),t),In=e=>d0.encodingLength(e);var ke=(e,t)=>{let r=t.byteLength,n=In(e),i=n+In(r),o=new Uint8Array(i+r);return An(e,o,0),An(r,o,n),o.set(t,i),new Bn(e,r,t,o)},zr=e=>{let t=Je(e),[r,n]=y0(t),[i,o]=y0(t.subarray(n)),s=t.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new Bn(r,i,s,t)},Oa=(e,t)=>{if(e===t)return!0;{let r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&Pa(e.bytes,r.bytes)}},Bn=class{constructor(t,r,n,i){this.code=t,this.size=r,this.digest=n,this.bytes=i}};var _o=({name:e,code:t,encode:r})=>new Co(e,t,r),Co=class{constructor(t,r,n){this.name=t,this.code=r,this.encode=n}digest(t){if(t instanceof Uint8Array){let r=this.encode(t);return r instanceof Uint8Array?ke(this.code,r):r.then(n=>ke(this.code,n))}else throw Error("Unknown type, must be binary type")}};var Ka=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),mt=_o({name:"sha2-256",code:18,encode:Ka("SHA-256")}),Ac=_o({name:"sha2-512",code:19,encode:Ka("SHA-512")});var Va=(e=21)=>crypto.getRandomValues(new Uint8Array(e)).reduce((t,r)=>(r&=63,r<36?t+=r.toString(36):r<62?t+=(r-26).toString(36).toUpperCase():r>62?t+="-":t+="_",t),"");var ko={};Lt(ko,{identity:()=>Rc});function Ic(e,t){if(e.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<e.length;i++){var o=e.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=e.length,u=e.charAt(0),c=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function l(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var y=0,g=0,m=0,x=h.length;m!==x&&h[m]===0;)m++,y++;for(var S=(x-m)*f+1>>>0,L=new Uint8Array(S);m!==x;){for(var T=h[m],_=0,q=S-1;(T!==0||_<g)&&q!==-1;q--,_++)T+=256*L[q]>>>0,L[q]=T%a>>>0,T=T/a>>>0;if(T!==0)throw new Error("Non-zero carry");g=_,m++}for(var G=S-g;G!==S&&L[G]===0;)G++;for(var Nt=u.repeat(y);G<S;++G)Nt+=e.charAt(L[G]);return Nt}function d(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var y=0;if(h[y]!==" "){for(var g=0,m=0;h[y]===u;)g++,y++;for(var x=(h.length-y)*c+1>>>0,S=new Uint8Array(x);h[y];){var L=r[h.charCodeAt(y)];if(L===255)return;for(var T=0,_=x-1;(L!==0||T<m)&&_!==-1;_--,T++)L+=a*S[_]>>>0,S[_]=L%256>>>0,L=L/256>>>0;if(L!==0)throw new Error("Non-zero carry");m=T,y++}if(h[y]!==" "){for(var q=x-m;q!==x&&S[q]===0;)q++;for(var G=new Uint8Array(g+(x-q)),Nt=g;q!==x;)G[Nt++]=S[q++];return G}}}function p(h){var y=d(h);if(y)return y;throw new Error(`Non-${t} character`)}return{encode:l,decodeUnsafe:d,decode:p}}var Bc=Ic,Cc=Bc,qa=Cc;var Ro=class{constructor(t,r,n){this.name=t,this.prefix=r,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},Po=class{constructor(t,r,n){if(this.name=t,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return za(this,t)}},No=class{constructor(t){this.decoders=t}or(t){return za(this,t)}decode(t){let r=t[0],n=this.decoders[r];if(n)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},za=(e,t)=>new No({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}}),Lo=class{constructor(t,r,n,i){this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new Ro(t,r,n),this.decoder=new Po(t,r,i)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},Cn=({name:e,prefix:t,encode:r,decode:n})=>new Lo(e,t,r,n),xr=({prefix:e,name:t,alphabet:r})=>{let{encode:n,decode:i}=qa(r,t);return Cn({prefix:e,name:t,encode:n,decode:o=>Je(i(o))})},_c=(e,t,r,n)=>{let i={};for(let f=0;f<t.length;++f)i[t[f]]=f;let o=e.length;for(;e[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,u=0,c=0;for(let f=0;f<o;++f){let l=i[e[f]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);u=u<<r|l,a+=r,a>=8&&(a-=8,s[c++]=255&u>>a)}if(a>=r||255&u<<8-a)throw new SyntaxError("Unexpected end of data");return s},Tc=(e,t,r)=>{let n=t[t.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let u=0;u<e.length;++u)for(a=a<<8|e[u],s+=8;s>r;)s-=r,o+=t[i&a>>s];if(s&&(o+=t[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},wt=({name:e,prefix:t,bitsPerChar:r,alphabet:n})=>Cn({prefix:t,name:e,encode(i){return Tc(i,n,r)},decode(i){return _c(i,n,r,e)}});var Rc=Cn({prefix:"\0",name:"identity",encode:e=>La(e),decode:e=>Na(e)});var Do={};Lt(Do,{base2:()=>Pc});var Pc=wt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Fo={};Lt(Fo,{base8:()=>Nc});var Nc=wt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Uo={};Lt(Uo,{base10:()=>Lc});var Lc=xr({prefix:"9",name:"base10",alphabet:"0123456789"});var Oo={};Lt(Oo,{base16:()=>kc,base16upper:()=>Dc});var kc=wt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Dc=wt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Mo={};Lt(Mo,{base32:()=>ge,base32hex:()=>Mc,base32hexpad:()=>Vc,base32hexpadupper:()=>qc,base32hexupper:()=>Kc,base32pad:()=>Uc,base32padupper:()=>Oc,base32upper:()=>Fc,base32z:()=>zc});var ge=wt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Fc=wt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Uc=wt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Oc=wt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Mc=wt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Kc=wt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Vc=wt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),qc=wt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),zc=wt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Ko={};Lt(Ko,{base36:()=>$c,base36upper:()=>Hc});var $c=xr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Hc=xr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Vo={};Lt(Vo,{base58btc:()=>St,base58flickr:()=>Gc});var St=xr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Gc=xr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var qo={};Lt(qo,{base64:()=>Hr,base64pad:()=>Qc,base64url:()=>Wc,base64urlpad:()=>Yc});var Hr=wt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Qc=wt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Wc=wt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Yc=wt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var zo={};Lt(zo,{base256emoji:()=>tf});var $a=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),Zc=$a.reduce((e,t,r)=>(e[r]=t,e),[]),Xc=$a.reduce((e,t,r)=>(e[t.codePointAt(0)]=r,e),[]);function jc(e){return e.reduce((t,r)=>(t+=Zc[r],t),"")}function Jc(e){let t=[];for(let r of e){let n=Xc[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);t.push(n)}return new Uint8Array(t)}var tf=Cn({prefix:"\u{1F680}",name:"base256emoji",encode:jc,decode:Jc});var $o={};Lt($o,{identity:()=>vr});var Ha=0,ef="identity",Ga=Je,rf=e=>ke(Ha,Ga(e)),vr={code:Ha,name:ef,encode:Ga,digest:rf};var ry=new TextEncoder,ny=new TextDecoder;var Qa=(e,t)=>{let{bytes:r,version:n}=e;switch(n){case 0:return af(r,Ho(e),t||St.encoder);default:return uf(r,Ho(e),t||ge.encoder)}};var Wa=new WeakMap,Ho=e=>{let t=Wa.get(e);if(t==null){let r=new Map;return Wa.set(e,r),r}return t},tt=class{constructor(t,r,n,i){this.code=r,this.version=t,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:r}=this;if(t!==g0)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==cf)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return tt.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:r}=this.multihash,n=ke(t,r);return tt.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return tt.equals(this,t)}static equals(t,r){let n=r;return n&&t.code===n.code&&t.version===n.version&&Oa(t.multihash,n.multihash)}toString(t){return Qa(this,t)}toJSON(){return{"/":Qa(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let r=t;if(r instanceof tt)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new tt(n,i,o,s||Ya(n,i,o.bytes))}else if(r[ff]===!0){let{version:n,multihash:i,code:o}=r,s=zr(i);return tt.create(n,o,s)}else return null}static create(t,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(r!==g0)throw new Error(`Version 0 CID must use dag-pb (code: ${g0}) block encoding`);return new tt(t,r,n,n.bytes)}case 1:{let i=Ya(t,r,n.bytes);return new tt(t,r,n,i)}default:throw new Error("Invalid version")}}static createV0(t){return tt.create(0,g0,t)}static createV1(t,r){return tt.create(1,t,r)}static decode(t){let[r,n]=tt.decodeFirst(t);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(t){let r=tt.inspectBytes(t),n=r.size-r.multihashSize,i=Je(t.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let o=i.subarray(r.multihashSize-r.digestSize),s=new Bn(r.multihashCode,r.digestSize,o,i);return[r.version===0?tt.createV0(s):tt.createV1(r.codec,s),t.subarray(r.size)]}static inspectBytes(t){let r=0,n=()=>{let[l,d]=y0(t.subarray(r));return r+=d,l},i=n(),o=g0;if(i===18?(i=0,r=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,a=n(),u=n(),c=r+u,f=c-s;return{version:i,codec:o,multihashCode:a,digestSize:u,multihashSize:f,size:c}}static parse(t,r){let[n,i]=sf(t,r),o=tt.decode(i);if(o.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Ho(o).set(n,t),o}},sf=(e,t)=>{switch(e[0]){case"Q":{let r=t||St;return[St.prefix,r.decode(`${St.prefix}${e}`)]}case St.prefix:{let r=t||St;return[St.prefix,r.decode(e)]}case ge.prefix:{let r=t||ge;return[ge.prefix,r.decode(e)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[e[0],t.decode(e)]}}},af=(e,t,r)=>{let{prefix:n}=r;if(n!==St.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=t.get(n);if(i==null){let o=r.encode(e).slice(1);return t.set(n,o),o}else return i},uf=(e,t,r)=>{let{prefix:n}=r,i=t.get(n);if(i==null){let o=r.encode(e);return t.set(n,o),o}else return i},g0=112,cf=18,Ya=(e,t,r)=>{let n=In(e),i=n+In(t),o=new Uint8Array(i+r.byteLength);return An(e,o,0),An(t,o,n),o.set(r,i),o},ff=Symbol.for("@ipld/js-cid/CID");var wr={...ko,...Do,...Fo,...Uo,...Oo,...Mo,...Ko,...Vo,...qo,...zo},py={...To,...$o};function tr(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function er(e=0){return globalThis.Buffer?.alloc!=null?tr(globalThis.Buffer.alloc(e)):new Uint8Array(e)}function jt(e=0){return globalThis.Buffer?.allocUnsafe!=null?tr(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function Xa(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var Za=Xa("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),Go=Xa("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{e=e.substring(1);let t=jt(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),lf={utf8:Za,"utf-8":Za,hex:wr.base16,latin1:Go,ascii:Go,binary:Go,...wr},bi=lf;function M(e,t="utf8"){let r=bi[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("utf8"):r.encoder.encode(e).substring(1)}function xt(e,t="utf8"){let r=bi[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?tr(globalThis.Buffer.from(e,"utf-8")):r.decoder.decode(`${r.prefix}${e}`)}var rr="/",ja=new TextEncoder().encode(rr),Ei=ja[0],Dt=class{constructor(t,r){if(typeof t=="string")this._buf=xt(t);else if(t instanceof Uint8Array)this._buf=t;else throw new Error("Invalid key, should be String of Uint8Array");if(r==null&&(r=!0),r&&this.clean(),this._buf.byteLength===0||this._buf[0]!==Ei)throw new Error("Invalid key")}toString(t="utf8"){return M(this._buf,t)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(t){return new Dt(t.join(rr))}static random(){return new Dt(Va().replace(/-/g,""))}static asKey(t){return t instanceof Uint8Array||typeof t=="string"?new Dt(t):typeof t.uint8Array=="function"?new Dt(t.uint8Array()):null}clean(){if((this._buf==null||this._buf.byteLength===0)&&(this._buf=ja),this._buf[0]!==Ei){let t=new Uint8Array(this._buf.byteLength+1);t.fill(Ei,0,1),t.set(this._buf,1),this._buf=t}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===Ei;)this._buf=this._buf.subarray(0,-1)}less(t){let r=this.list(),n=t.list();for(let i=0;i<r.length;i++){if(n.length<i+1)return!1;let o=r[i],s=n[i];if(o<s)return!0;if(o>s)return!1}return r.length<n.length}reverse(){return Dt.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let t=this.namespaces();return t[t.length-1]}list(){return this.toString().split(rr).slice(1)}type(){return hf(this.baseNamespace())}name(){return pf(this.baseNamespace())}instance(t){return new Dt(this.toString()+":"+t)}path(){let t=this.parent().toString();return t.endsWith(rr)||(t+=rr),t+=this.type(),new Dt(t)}parent(){let t=this.list();return t.length===1?new Dt(rr):new Dt(t.slice(0,-1).join(rr))}child(t){return this.toString()===rr?t:t.toString()===rr?this:new Dt(this.toString()+t.toString(),!1)}isAncestorOf(t){return t.toString()===this.toString()?!1:t.toString().startsWith(this.toString())}isDecendantOf(t){return t.toString()===this.toString()?!1:this.toString().startsWith(t.toString())}isTopLevel(){return this.list().length===1}concat(...t){return Dt.withNamespaces([...this.namespaces(),...df(t.map(r=>r.namespaces()))])}};function hf(e){let t=e.split(":");return t.length<2?"":t.slice(0,-1).join(":")}function pf(e){let t=e.split(":");return t[t.length-1]}function df(e){return[].concat(...e)}var os=$(Xo(),1),M3=$(P3(),1),K3=$(Qr(),1),ss=$(is(),1),V3=$(O3(),1);function Sf(){K3.default._configure(),os.default._configure(M3.default),ss.default._configure(V3.default)}Sf();var q3=["uint64","int64","sint64","fixed64","sfixed64"];function Af(e){for(let t of q3){if(e[t]==null)continue;let r=e[t];e[t]=function(){return BigInt(r.call(this).toString())}}return e}function as(e){return Af(new os.default(e))}function If(e){for(let t of q3){if(e[t]==null)continue;let r=e[t];e[t]=function(n){return r.call(this,n.toString())}}return e}function us(){return If(ss.default.create())}function Ue(e,t){let r=as(e instanceof Uint8Array?e:e.subarray());return t.decode(r)}function Oe(e,t){let r=us();return t.encode(e,r,{lengthDelimited:!1}),r.finish()}var Tn;(function(e){e[e.VARINT=0]="VARINT",e[e.BIT64=1]="BIT64",e[e.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",e[e.START_GROUP=3]="START_GROUP",e[e.END_GROUP=4]="END_GROUP",e[e.BIT32=5]="BIT32"})(Tn||(Tn={}));function Ci(e,t,r,n){return{name:e,type:t,encode:r,decode:n}}function Rn(e){function t(i){if(e[i.toString()]==null)throw new Error("Invalid enum value");return e[i]}let r=function(o,s){let a=t(o);s.int32(a)},n=function(o){let s=o.int32();return t(s)};return Ci("enum",Tn.VARINT,r,n)}function Me(e,t){return Ci("message",Tn.LENGTH_DELIMITED,e,t)}var v0;(function(e){let t;e.codec=()=>(t==null&&(t=Me((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.key!=null&&r.key.byteLength>0&&(n.uint32(10),n.bytes(r.key)),r.value!=null&&r.value.byteLength>0&&(n.uint32(18),n.bytes(r.value)),r.timeReceived!=null&&r.timeReceived!==""&&(n.uint32(42),n.string(r.timeReceived)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={key:new Uint8Array(0),value:new Uint8Array(0),timeReceived:""},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.key=r.bytes();break;case 2:i.value=r.bytes();break;case 5:i.timeReceived=r.string();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>Oe(r,e.codec()),e.decode=r=>Ue(r,e.codec())})(v0||(v0={}));function z3(e){let t=e.getUTCFullYear(),r=String(e.getUTCMonth()+1).padStart(2,"0"),n=String(e.getUTCDate()).padStart(2,"0"),i=String(e.getUTCHours()).padStart(2,"0"),o=String(e.getUTCMinutes()).padStart(2,"0"),s=String(e.getUTCSeconds()).padStart(2,"0"),a=e.getUTCMilliseconds(),u=String(a*1e3*1e3).padStart(9,"0");return`${t}-${r}-${n}T${i}:${o}:${s}.${u}Z`}function $3(e){let t=new RegExp("(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2})\\.(\\d+)Z"),r=String(e).trim().match(t);if(r==null)throw new Error("Invalid format");let n=parseInt(r[1],10),i=parseInt(r[2],10)-1,o=parseInt(r[3],10),s=parseInt(r[4],10),a=parseInt(r[5],10),u=parseInt(r[6],10),c=parseInt(r[7].slice(0,-6),10);return new Date(Date.UTC(n,i,o,s,a,u,c))}var Rt=class{constructor(t,r,n){if(!(t instanceof Uint8Array))throw new Error("key must be a Uint8Array");if(!(r instanceof Uint8Array))throw new Error("value must be a Uint8Array");this.key=t,this.value=r,this.timeReceived=n}serialize(){return v0.encode(this.prepareSerialize())}prepareSerialize(){return{key:this.key,value:this.value,timeReceived:z3(this.timeReceived)}}static deserialize(t){let r=v0.decode(t);return new Rt(r.key,r.value,new Date(r.timeReceived))}static fromDeserialized(t){let r=$3(t.timeReceived);if(t.key==null)throw new Error("key missing from deserialized object");if(t.value==null)throw new Error("value missing from deserialized object");return new Rt(t.key,t.value,r)}};function ut(e,t){t==null&&(t=e.reduce((i,o)=>i+o.length,0));let r=jt(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return tr(r)}var t4=$(H3(),1);var G3="[a-fA-F\\d:]",Sr=e=>e&&e.includeBoundaries?`(?:(?<=\\s|^)(?=${G3})|(?<=${G3})(?=\\s|$))`:"",ve="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",Pt="[a-fA-F\\d]{1,4}",_i=`
|
|
17
17
|
(?:
|
|
18
18
|
(?:${Pt}:){7}(?:${Pt}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
|
|
19
19
|
(?:${Pt}:){6}(?:${ve}|:${Pt}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4
|
|
@@ -24,7 +24,7 @@ Use Chrome, Firefox or Internet Explorer 11`)}var Yu=ya().Buffer,yi=globalThis.c
|
|
|
24
24
|
(?:${Pt}:){1}(?:(?::${Pt}){0,4}:${ve}|(?::${Pt}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
|
|
25
25
|
(?::(?:(?::${Pt}){0,5}:${ve}|(?::${Pt}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4
|
|
26
26
|
)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1
|
|
27
|
-
`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),Bf=new RegExp(`(?:^${ve}$)|(?:^${Ci}$)`),Cf=new RegExp(`^${ve}$`),_f=new RegExp(`^${Ci}$`),us=e=>e&&e.exact?Bf:new RegExp(`(?:${Sr(e)}${ve}${Sr(e)})|(?:${Sr(e)}${Ci}${Sr(e)})`,"g");us.v4=e=>e&&e.exact?Cf:new RegExp(`${Sr(e)}${ve}${Sr(e)}`,"g");us.v6=e=>e&&e.exact?_f:new RegExp(`${Sr(e)}${Ci}${Sr(e)}`,"g");var G3=us;var _i=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let r=this.index,n=t();return n===void 0&&(this.index=r),n}parseWith(t){let r=t();if(this.index===this.input.length)return r}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(t){return this.readAtomically(()=>{let r=this.readChar();if(r===t)return r})}readSeparator(t,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(t)===void 0))return n()})}readNumber(t,r,n,i){return this.readAtomically(()=>{let o=0,s=0,a=this.peekChar();if(a===void 0)return;let u=a==="0",c=2**(8*i)-1;for(;;){let f=this.readAtomically(()=>{let l=this.readChar();if(l===void 0)return;let d=Number.parseInt(l,t);if(!Number.isNaN(d))return d});if(f===void 0)break;if(o*=t,o+=f,o>c||(s+=1,r!==void 0&&s>r))return}if(s!==0)return!n&&u&&s>1?void 0:o})}readIPv4Addr(){return this.readAtomically(()=>{let t=new Uint8Array(4);for(let r=0;r<t.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;t[r]=n}return t})}readIPv6Addr(){let t=r=>{for(let n=0;n<r.length/2;n++){let i=n*2;if(n<r.length-3){let s=this.readSeparator(":",n,()=>this.readIPv4Addr());if(s!==void 0)return r[i]=s[0],r[i+1]=s[1],r[i+2]=s[2],r[i+3]=s[3],[i+4,!0]}let o=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(o===void 0)return[i,!1];r[i]=o>>8,r[i+1]=o&255}return[r.length,!1]};return this.readAtomically(()=>{let r=new Uint8Array(16),[n,i]=t(r);if(n===16)return r;if(i||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let o=new Uint8Array(14),s=16-(n+2),[a]=t(o.subarray(0,s));return r.set(o.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var Q3=45,Tf=15,Rn=new _i;function cs(e){if(!(e.length>Tf))return Rn.new(e).parseWith(()=>Rn.readIPv4Addr())}function fs(e){if(!(e.length>Q3))return Rn.new(e).parseWith(()=>Rn.readIPv6Addr())}function Ti(e){if(!(e.length>Q3))return Rn.new(e).parseWith(()=>Rn.readIPAddr())}function W3(e){return!!cs(e)}function Y3(e){return!!fs(e)}function Pn(e){return!!Ti(e)}var t4=$(X3(),1),{isValid:Rf,parse:Pf}=t4.default,Nf=["0.0.0.0/8","10.0.0.0/8","100.64.0.0/10","127.0.0.0/8","169.254.0.0/16","172.16.0.0/12","192.0.0.0/24","192.0.0.0/29","192.0.0.8/32","192.0.0.9/32","192.0.0.10/32","192.0.0.170/32","192.0.0.171/32","192.0.2.0/24","192.31.196.0/24","192.52.193.0/24","192.88.99.0/24","192.168.0.0/16","192.175.48.0/24","198.18.0.0/15","198.51.100.0/24","203.0.113.0/24","240.0.0.0/4","255.255.255.255/32"],Lf=Nf.map(e=>new J3.Netmask(e));function kf(e){for(let t of Lf)if(t.contains(e))return!0;return!1}function j3(e){return/^::$/.test(e)||/^::1$/.test(e)||/^::f{4}:([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(e)||/^::f{4}:0.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(e)||/^64:ff9b::([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(e)||/^100::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(e)||/^2001::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(e)||/^2001:2[0-9a-fA-F]:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(e)||/^2001:db8:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(e)||/^2002:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(e)||/^f[c-d]([0-9a-fA-F]{2,2}):/i.test(e)||/^fe[8-9a-bA-B][0-9a-fA-F]:/i.test(e)||/^ff([0-9a-fA-F]{2,2}):/i.test(e)}var e4=e=>{if(Rf(e)){let t=Pf(e);if(t.kind()==="ipv4")return kf(t.toNormalizedString());if(t.kind()==="ipv6")return j3(e)}else if(Pn(e)&&G3.v6().test(e))return j3(e)};var ls=e4;function st(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}var C=class extends Error{constructor(t,r,n){super(t),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var r4=Symbol.for("@libp2p/peer-id");var Df=Symbol.for("nodejs.util.inspect.custom"),n4=Object.values(wr).map(e=>e.decoder).reduce((e,t)=>e.or(t),wr.identity.decoder),i4=114,hs=36,ps=37,w0=class{constructor(t){this.type=t.type,this.multihash=t.multihash,this.privateKey=t.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}get[r4](){return!0}toString(){return this.string==null&&(this.string=St.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return tt.createV1(i4,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(t){if(t instanceof Uint8Array)return st(this.multihash.bytes,t);if(typeof t=="string")return bt(t).equals(this);if(t?.multihash?.bytes!=null)return st(this.multihash.bytes,t.multihash.bytes);throw new Error("not valid Id")}[Df](){return`PeerId(${this.toString()})`}},Nn=class extends w0{constructor(t){super({...t,type:"RSA"}),this.type="RSA",this.publicKey=t.publicKey}},Ln=class extends w0{constructor(t){super({...t,type:"Ed25519"}),this.type="Ed25519",this.publicKey=t.multihash.digest}},kn=class extends w0{constructor(t){super({...t,type:"secp256k1"}),this.type="secp256k1",this.publicKey=t.multihash.digest}};function bt(e,t){if(t=t??n4,e.charAt(0)==="1"||e.charAt(0)==="Q"){let r=zr(St.decode(`z${e}`));return e.startsWith("12D")?new Ln({multihash:r}):e.startsWith("16U")?new kn({multihash:r}):new Nn({multihash:r})}return Yr(n4.decode(e))}function Yr(e){try{let t=zr(e);if(t.code===vr.code){if(t.digest.length===hs)return new Ln({multihash:t});if(t.digest.length===ps)return new kn({multihash:t})}if(t.code===mt.code)return new Nn({multihash:t})}catch{return Ff(tt.decode(e))}throw new Error("Supplied PeerID CID is invalid")}function Ff(e){if(e==null||e.multihash==null||e.version==null||e.version===1&&e.code!==i4)throw new Error("Supplied PeerID CID is invalid");let t=e.multihash;if(t.code===mt.code)return new Nn({multihash:e.multihash});if(t.code===vr.code){if(t.digest.length===hs)return new Ln({multihash:e.multihash});if(t.digest.length===ps)return new kn({multihash:e.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function o4(e,t){return e.length===hs?new Ln({multihash:Le(vr.code,e),privateKey:t}):e.length===ps?new kn({multihash:Le(vr.code,e),privateKey:t}):new Nn({multihash:await mt.digest(e),publicKey:e,privateKey:t})}var s4="/lan",a4="/ipfs",u4="/kad/1.0.0",c4="/dht/record",ds="/dht/provider";var Uf=xt("/pk/");function Dn(e){return{...e,multiaddrs:e.multiaddrs.filter(t=>{let[[r,n]]=t.stringTuples();if(r===53||r===54||r===55)return n!=="localhost";if(r!==4&&r!==6||n==null)return!1;let i=ls(n);return i==null?!0:!i})}}function Fn(e){return{...e,multiaddrs:e.multiaddrs.filter(t=>{let[[r,n]]=t.stringTuples();if(n==="localhost")return!0;if(r!==4&&r!==6||n==null)return!1;let i=ls(n);return i??!1})}}async function Me(e){return(await mt.digest(e)).digest}async function Jt(e){return await Me(e.toBytes())}function rr(e){return new Dt(`${c4}/${M(e,"base32")}`,!1)}function f4(e){return ut([Uf,e.toBytes()])}function l4(e){return M(e.subarray(0,4))==="/pk/"}function h4(e){return Yr(e.subarray(4))}function ys(e,t){let r=new Date;return new Rt(e,t,r).serialize()}function p4(e,t=100){let r;return()=>{clearTimeout(r),r=setTimeout(()=>{e()},t)}}var A4=$(y4(),1);var E0=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},xs=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},g4=e=>globalThis.DOMException===void 0?new xs(e):new DOMException(e),m4=e=>{let t=e.reason===void 0?g4("This operation was aborted."):e.reason;return t instanceof Error?t:g4(t)};function vs(e,t,r,n){let i,o=new Promise((s,a)=>{if(typeof t!="number"||Math.sign(t)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${t}\``);if(t===Number.POSITIVE_INFINITY){s(e);return}if(n={customTimers:{setTimeout,clearTimeout},...n},n.signal){let{signal:u}=n;u.aborted&&a(m4(u)),u.addEventListener("abort",()=>{a(m4(u))})}i=n.customTimers.setTimeout.call(void 0,()=>{if(typeof r=="function"){try{s(r())}catch(f){a(f)}return}let u=typeof r=="string"?r:`Promise timed out after ${t} milliseconds`,c=r instanceof Error?r:new E0(u);typeof e.cancel=="function"&&e.cancel(),a(c)},t),(async()=>{try{s(await e)}catch(u){a(u)}finally{n.customTimers.clearTimeout.call(void 0,i)}})()});return o.clear=()=>{clearTimeout(i),i=void 0},o}function ws(e,t,r){let n=0,i=e.length;for(;i>0;){let o=Math.trunc(i/2),s=n+o;r(e[s],t)<=0?(n=++s,i-=o+1):i=o}return n}var Zr=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},nr,S0=class{constructor(){nr.set(this,[])}enqueue(t,r){r={priority:0,...r};let n={priority:r.priority,run:t};if(this.size&&Zr(this,nr,"f")[this.size-1].priority>=r.priority){Zr(this,nr,"f").push(n);return}let i=ws(Zr(this,nr,"f"),n,(o,s)=>s.priority-o.priority);Zr(this,nr,"f").splice(i,0,n)}dequeue(){let t=Zr(this,nr,"f").shift();return t?.run}filter(t){return Zr(this,nr,"f").filter(r=>r.priority===t.priority).map(r=>r.run)}get size(){return Zr(this,nr,"f").length}};nr=new WeakMap;var vt=function(e,t,r,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(e,r):i?i.value=r:t.set(e,r),r},k=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},It,I0,B0,Ir,Ui,C0,Ni,we,A0,te,Li,ee,_0,Ar,ki,x4,v4,E4,w4,b4,Di,bs,Es,Oi,S4,Fi,Mi=class extends Error{},ir=class extends A4.default{constructor(t){var r,n,i,o;if(super(),It.add(this),I0.set(this,void 0),B0.set(this,void 0),Ir.set(this,0),Ui.set(this,void 0),C0.set(this,void 0),Ni.set(this,0),we.set(this,void 0),A0.set(this,void 0),te.set(this,void 0),Li.set(this,void 0),ee.set(this,0),_0.set(this,void 0),Ar.set(this,void 0),ki.set(this,void 0),Object.defineProperty(this,"timeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),t={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:S0,...t},!(typeof t.intervalCap=="number"&&t.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(n=(r=t.intervalCap)===null||r===void 0?void 0:r.toString())!==null&&n!==void 0?n:""}\` (${typeof t.intervalCap})`);if(t.interval===void 0||!(Number.isFinite(t.interval)&&t.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(o=(i=t.interval)===null||i===void 0?void 0:i.toString())!==null&&o!==void 0?o:""}\` (${typeof t.interval})`);vt(this,I0,t.carryoverConcurrencyCount,"f"),vt(this,B0,t.intervalCap===Number.POSITIVE_INFINITY||t.interval===0,"f"),vt(this,Ui,t.intervalCap,"f"),vt(this,C0,t.interval,"f"),vt(this,te,new t.queueClass,"f"),vt(this,Li,t.queueClass,"f"),this.concurrency=t.concurrency,this.timeout=t.timeout,vt(this,ki,t.throwOnTimeout===!0,"f"),vt(this,Ar,t.autoStart===!1,"f")}get concurrency(){return k(this,_0,"f")}set concurrency(t){if(!(typeof t=="number"&&t>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${t}\` (${typeof t})`);vt(this,_0,t,"f"),k(this,It,"m",Oi).call(this)}async add(t,r={}){return r={timeout:this.timeout,throwOnTimeout:k(this,ki,"f"),...r},new Promise((n,i)=>{k(this,te,"f").enqueue(async()=>{var o,s,a;vt(this,ee,(s=k(this,ee,"f"),s++,s),"f"),vt(this,Ir,(a=k(this,Ir,"f"),a++,a),"f");try{if(!((o=r.signal)===null||o===void 0)&&o.aborted)throw new Mi("The task was aborted.");let u=t({signal:r.signal});r.timeout&&(u=vs(Promise.resolve(u),r.timeout)),r.signal&&(u=Promise.race([u,k(this,It,"m",S4).call(this,r.signal)]));let c=await u;n(c),this.emit("completed",c)}catch(u){if(u instanceof E0&&!r.throwOnTimeout){n();return}i(u),this.emit("error",u)}finally{k(this,It,"m",E4).call(this)}},r),this.emit("add"),k(this,It,"m",Di).call(this)})}async addAll(t,r){return Promise.all(t.map(async n=>this.add(n,r)))}start(){return k(this,Ar,"f")?(vt(this,Ar,!1,"f"),k(this,It,"m",Oi).call(this),this):this}pause(){vt(this,Ar,!0,"f")}clear(){vt(this,te,new(k(this,Li,"f")),"f")}async onEmpty(){k(this,te,"f").size!==0&&await k(this,It,"m",Fi).call(this,"empty")}async onSizeLessThan(t){k(this,te,"f").size<t||await k(this,It,"m",Fi).call(this,"next",()=>k(this,te,"f").size<t)}async onIdle(){k(this,ee,"f")===0&&k(this,te,"f").size===0||await k(this,It,"m",Fi).call(this,"idle")}get size(){return k(this,te,"f").size}sizeBy(t){return k(this,te,"f").filter(t).length}get pending(){return k(this,ee,"f")}get isPaused(){return k(this,Ar,"f")}};I0=new WeakMap,B0=new WeakMap,Ir=new WeakMap,Ui=new WeakMap,C0=new WeakMap,Ni=new WeakMap,we=new WeakMap,A0=new WeakMap,te=new WeakMap,Li=new WeakMap,ee=new WeakMap,_0=new WeakMap,Ar=new WeakMap,ki=new WeakMap,It=new WeakSet,x4=function(){return k(this,B0,"f")||k(this,Ir,"f")<k(this,Ui,"f")},v4=function(){return k(this,ee,"f")<k(this,_0,"f")},E4=function(){var t;vt(this,ee,(t=k(this,ee,"f"),t--,t),"f"),k(this,It,"m",Di).call(this),this.emit("next")},w4=function(){k(this,It,"m",Es).call(this),k(this,It,"m",bs).call(this),vt(this,A0,void 0,"f")},b4=function(){let t=Date.now();if(k(this,we,"f")===void 0){let r=k(this,Ni,"f")-t;if(r<0)vt(this,Ir,k(this,I0,"f")?k(this,ee,"f"):0,"f");else return k(this,A0,"f")===void 0&&vt(this,A0,setTimeout(()=>{k(this,It,"m",w4).call(this)},r),"f"),!0}return!1},Di=function(){if(k(this,te,"f").size===0)return k(this,we,"f")&&clearInterval(k(this,we,"f")),vt(this,we,void 0,"f"),this.emit("empty"),k(this,ee,"f")===0&&this.emit("idle"),!1;if(!k(this,Ar,"f")){let t=!k(this,It,"a",b4);if(k(this,It,"a",x4)&&k(this,It,"a",v4)){let r=k(this,te,"f").dequeue();return r?(this.emit("active"),r(),t&&k(this,It,"m",bs).call(this),!0):!1}}return!1},bs=function(){k(this,B0,"f")||k(this,we,"f")!==void 0||(vt(this,we,setInterval(()=>{k(this,It,"m",Es).call(this)},k(this,C0,"f")),"f"),vt(this,Ni,Date.now()+k(this,C0,"f"),"f"))},Es=function(){k(this,Ir,"f")===0&&k(this,ee,"f")===0&&k(this,we,"f")&&(clearInterval(k(this,we,"f")),vt(this,we,void 0,"f")),vt(this,Ir,k(this,I0,"f")?k(this,ee,"f"):0,"f"),k(this,It,"m",Oi).call(this)},Oi=function(){for(;k(this,It,"m",Di).call(this););},S4=async function(t){return new Promise((r,n)=>{t.addEventListener("abort",()=>{n(new Mi("The task was aborted."))},{once:!0})})},Fi=async function(t,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(t,i),n())};this.on(t,i)})};var ce=$(T4(),1);ce.default.formatters.b=e=>e==null?"undefined":St.baseEncode(e);ce.default.formatters.t=e=>e==null?"undefined":ge.baseEncode(e);ce.default.formatters.m=e=>e==null?"undefined":Hr.baseEncode(e);ce.default.formatters.p=e=>e==null?"undefined":e.toString();ce.default.formatters.c=e=>e==null?"undefined":e.toString();ce.default.formatters.k=e=>e==null?"undefined":e.toString();function jf(e){let t=()=>{};return t.enabled=!1,t.color="",t.diff=0,t.log=()=>{},t.namespace=e,t.destroy=()=>!0,t.extend=()=>t,t}function z(e){let t=jf(`${e}:trace`);return ce.default.enabled(`${e}:trace`)&&ce.default.names.map(r=>r.toString()).find(r=>r.includes(":trace"))!=null&&(t=(0,ce.default)(`${e}:trace`)),Object.assign((0,ce.default)(e),{error:(0,ce.default)(`${e}:error`),trace:t})}function or(e,t){let r={[Symbol.iterator]:()=>r,next:()=>{let n=e.next(),i=n.value;return n.done===!0||i==null?{done:!0,value:void 0}:{done:!1,value:t(i)}}};return r}var Ss=class{constructor(t){if(this.map=new Map,t!=null)for(let[r,n]of t.entries())this.map.set(r.toString(),n)}[Symbol.iterator](){return this.entries()}clear(){this.map.clear()}delete(t){this.map.delete(t.toString())}entries(){return or(this.map.entries(),t=>[bt(t[0]),t[1]])}forEach(t){this.map.forEach((r,n)=>{t(r,bt(n),this)})}get(t){return this.map.get(t.toString())}has(t){return this.map.has(t.toString())}set(t,r){this.map.set(t.toString(),r)}keys(){return or(this.map.keys(),t=>bt(t))}values(){return this.map.values()}get size(){return this.map.size}};var fe=class{constructor(t){if(this.set=new Set,t!=null)for(let r of t)this.set.add(r.toString())}get size(){return this.set.size}[Symbol.iterator](){return this.values()}add(t){this.set.add(t.toString())}clear(){this.set.clear()}delete(t){this.set.delete(t.toString())}entries(){return or(this.set.entries(),t=>{let r=bt(t[0]);return[r,r]})}forEach(t){this.set.forEach(r=>{let n=bt(r);t(n,n,this)})}has(t){return this.set.has(t.toString())}values(){return or(this.set.values(),t=>bt(t))}intersection(t){let r=new fe;for(let n of t)this.has(n)&&r.add(n);return r}difference(t){let r=new fe;for(let n of this)t.has(n)||r.add(n);return r}union(t){let r=new fe;for(let n of t)r.add(n);for(let n of this)r.add(n);return r}};var Kn=class{constructor(t){if(this.list=[],t!=null)for(let r of t)this.list.push(r.toString())}[Symbol.iterator](){return or(this.list.entries(),t=>bt(t[1]))}concat(t){let r=new Kn(this);for(let n of t)r.push(n);return r}entries(){return or(this.list.entries(),t=>[t[0],bt(t[1])])}every(t){return this.list.every((r,n)=>t(bt(r),n,this))}filter(t){let r=new Kn;return this.list.forEach((n,i)=>{let o=bt(n);t(o,i,this)&&r.push(o)}),r}find(t){let r=this.list.find((n,i)=>t(bt(n),i,this));if(r!=null)return bt(r)}findIndex(t){return this.list.findIndex((r,n)=>t(bt(r),n,this))}forEach(t){this.list.forEach((r,n)=>{t(bt(r),n,this)})}includes(t){return this.list.includes(t.toString())}indexOf(t){return this.list.indexOf(t.toString())}pop(){let t=this.list.pop();if(t!=null)return bt(t)}push(...t){for(let r of t)this.list.push(r.toString())}shift(){let t=this.list.shift();if(t!=null)return bt(t)}unshift(...t){let r=this.list.length;for(let n=t.length-1;n>-1;n--)r=this.list.unshift(t[n].toString());return r}get length(){return this.list.length}};var Jf="kad-close",t7=50,R4=20,e7=1e4,r7=10,qi=class{constructor(t,r){let{kBucketSize:n,pingTimeout:i,lan:o,pingConcurrency:s,protocol:a,tagName:u,tagValue:c}=r;this.components=t,this.log=z(`libp2p:kad-dht:${o?"lan":"wan"}:routing-table`),this.kBucketSize=n??R4,this.pingTimeout=i??e7,this.pingConcurrency=s??r7,this.lan=o,this.running=!1,this.protocol=a,this.tagName=u??Jf,this.tagValue=c??t7;let f=()=>{this.metrics?.pingQueueSize.update(this.pingQueue.size),this.metrics?.pingRunning.update(this.pingQueue.pending)};this.pingQueue=new ir({concurrency:this.pingConcurrency}),this.pingQueue.addListener("add",f),this.pingQueue.addListener("next",f),this._onPing=this._onPing.bind(this)}isStarted(){return this.running}async start(){this.running=!0,this.components.metrics!=null&&(this.metrics={routingTableSize:this.components.metrics.registerMetric(`libp2p_kad_dht_${this.lan?"lan":"wan"}_routing_table_size`),pingQueueSize:this.components.metrics.registerMetric(`libp2p_kad_dht_${this.lan?"lan":"wan"}_ping_queue_size`),pingRunning:this.components.metrics.registerMetric(`libp2p_kad_dht_${this.lan?"lan":"wan"}_ping_running`)});let t=new P4.default({localNodeId:await Jt(this.components.peerId),numberOfNodesPerKBucket:this.kBucketSize,numberOfNodesToPing:1});this.kb=t,t.on("ping",this._onPing),this._tagPeers(t)}async stop(){this.running=!1,this.pingQueue.clear(),this.kb=void 0}_tagPeers(t){let r=new fe,n=p4(()=>{let i=new fe(t.closest(t.localNodeId,R4).map(a=>a.peer)),o=i.difference(r),s=r.difference(i);Promise.resolve().then(async()=>{for(let a of o)await this.components.peerStore.merge(a,{tags:{[this.tagName]:{value:this.tagValue}}});for(let a of s)await this.components.peerStore.merge(a,{tags:{[this.tagName]:void 0}})}).catch(a=>{this.log.error("Could not update peer tags",a)}),r=i});t.on("added",()=>{n()}),t.on("removed",()=>{n()})}_onPing(t,r){this.pingQueue.add(async()=>{if(!this.running)return;let n=0;try{await Promise.all(t.map(async i=>{try{let o={signal:AbortSignal.timeout(this.pingTimeout)};this.log("pinging old contact %p",i.peer),(await(await this.components.connectionManager.openConnection(i.peer,o)).newStream(this.protocol,o)).close(),n++}catch(o){this.running&&this.kb!=null&&(this.log.error("could not ping peer %p",i.peer,o),this.log("evicting old contact after ping failed %p",i),this.kb.remove(i.id))}finally{this.metrics?.routingTableSize.update(this.size)}})),this.running&&n<t.length&&this.kb!=null&&(this.log("adding new contact %p",r.peer),this.kb.add(r))}catch(i){this.log.error("could not process k-bucket ping event",i)}}).catch(n=>{this.log.error("could not process k-bucket ping event",n)})}get size(){return this.kb==null?0:this.kb.count()}async find(t){let r=await Jt(t),n=this.closestPeer(r);if(n!=null&&t.equals(n))return n}closestPeer(t){let r=this.closestPeers(t,1);if(r.length>0)return r[0]}closestPeers(t,r=this.kBucketSize){return this.kb==null?[]:this.kb.closest(t,r).map(i=>i.peer)}async add(t){if(this.kb==null)throw new Error("RoutingTable is not started");let r=await Jt(t);this.kb.add({id:r,peer:t}),this.log("added %p with kad id %b",t,r),this.metrics?.routingTableSize.update(this.size)}async remove(t){if(this.kb==null)throw new Error("RoutingTable is not started");let r=await Jt(t);this.kb.remove(r),this.metrics?.routingTableSize.update(this.size)}};function sr(e,t){if(e.length!==t.length)throw new Error("Inputs should have the same length");let r=jt(e.length);for(let n=0;n<e.length;n++)r[n]=e[n]^t[n];return Je(r)}var N4=[77591,22417,43971,28421,740,29829,71467,228973,196661,78537,27689,36431,44415,14362,19456,106025,96308,2882,49509,21149,87173,131409,75844,23676,121838,30291,17492,2953,7564,110620,129477,127283,53113,72417,165166,109690,21200,102125,24049,71504,90342,25307,72039,26812,26715,32264,133800,71161,88956,171987,51779,24425,16671,30251,186294,247761,14202,2121,8465,35024,4876,85917,169730,3638,256836,96184,943,18678,6583,52907,35807,112254,214097,18796,11595,9243,23554,887,268203,382004,24590,111335,11625,16619,29039,102425,69006,97976,92362,32552,63717,41433,128974,137630,59943,10019,13986,35430,33665,108037,43799,43280,38195,29078,58629,18265,14425,46832,235538,40830,77881,110717,58937,3463,325358,51300,47623,117252,19007,10170,20540,91237,294813,4951,79841,56232,36270,128547,69209,66275,100156,32063,73531,34439,80937,28892,44466,88595,216307,32583,49620,16605,82127,45807,21630,78726,20235,40163,111007,96926,5567,72083,21665,58844,39419,179767,48328,42662,51550,5251,37811,49608,81056,50854,55513,20922,18891,197409,164656,32593,71449,220474,58919,85682,67854,13758,35066,3565,61905,214793,119572,141419,21504,10302,27354,67003,46131,32668,15165,64871,34450,17821,2757,11452,34189,5160,12257,85523,560,53385,65887,119549,135620,312353,115979,122356,10867,193231,124537,54783,90675,120791,4715,142253,50943,17271,43358,25331,4917,120566,34580,12878,33786,160528,32523,4869,301307,104817,81491,23276,8832,97911,31265,52065,7998,49622,9715,43998,34091,84587,20664,69041,29419,53205,10838,58288,116145,6185,5154,141795,35924,21307,144738,43730,12085,8279,10002,119,133779,199668,72938,31768,39176,67875,38453,9700,44144,4121,116048,41733,12868,82669,92308,128,34262,11332,7712,90764,36141,13553,71312,77470,117314,96549,49135,23602,54468,28605,6327,62308,17171,67531,21319,14105,894,107722,46157,8503,51069,100472,45138,15246,14577,35609,191464,1757,13364,161349,32067,91705,81144,52339,5408,91066,21983,14157,100545,4372,26630,129112,1423,29676,213626,4397,88436,99190,6877,49958,26122,114348,60661,29818,293118,50042,179738,16400,163423,89627,31040,43973,36638,45952,5153,1894,109322,1898,134021,12402,112077,68309,190269,69866,31938,107383,11522,105232,11248,14868,39852,71707,186525,16530,38162,106212,11700,5130,16608,26998,59586,108399,230033,43683,48135,82179,2073,5015,196684,189293,16378,23452,8301,35640,11632,214551,29240,57644,33137,91949,55157,52384,117313,5090,17717,89668,49363,82238,241035,66216,29066,184088,97206,62820,26595,4241,135635,173672,8202,459,71355,146294,29587,3008,135385,141203,14803,6634,45094,69362,50925,546,51884,62011,83296,234584,44515,56050,89476,87751,19373,12691,149923,19794,13833,35846,87557,58339,2884,19145,25647,12224,11024,77338,64608,122297,53025,7205,36189,36294,170779,21750,7739,173883,75192,35664,224240,113121,30181,26267,27036,117827,92015,106516,55628,203549,67949,60462,60844,35911,20457,1820,920,19773,8738,73173,181993,38521,98254,76257,46008,92796,5384,26868,151566,22124,2411,15919,186872,180021,28099,152961,78811,80237,62352,102653,74259,184890,16792,123702,224945,29940,19512,75283,14059,112691,92811,233329,20411,138569,53341,109802,50600,134528,66747,5529,166531,31578,64732,67189,1596,126357,967,167999,206598,109752,119431,207825,78791,91938,10301,27311,24233,252343,28831,32812,66002,112267,90895,8786,8095,16824,22866,21813,60507,174833,19549,130985,117051,52110,6938,81923,123864,38061,919,18680,53534,46739,112893,161529,85429,26761,11900,81121,91968,15390,217947,56524,1713,6654,37089,85630,138866,61850,16491,75577,16884,98296,73523,6140,44645,6062,36366,29844,57946,37932,42472,5266,20834,19309,33753,127182,134259,35810,41805,45878,312001,14881,47757,49251,120050,44252,3708,25856,107864,120347,1228,36550,41682,34496,47025,8393,173365,246526,12894,161607,35670,90785,126572,2095,124731,157033,58694,554,12786,9642,4817,16136,47864,174698,66992,4639,69284,10625,40710,27763,51738,30404,264105,137904,109882,52487,42824,57514,2740,10479,146799,107390,16586,88038,174951,9410,16185,44158,5568,40658,46108,12763,97385,26175,108859,664,230732,67470,46663,14395,50750,141320,93140,15361,47997,55784,6791,307840,118569,107326,18056,58281,260415,54691,8790,73332,45633,7511,45674,143373,14031,11799,94491,35646,96544,14560,26049,32983,25791,83814,42094,231370,63955,139212,2359,169908,3108,183486,105867,28197,32941,124968,26402,88267,149768,23053,3078,19091,52924,25383,19209,111548,97361,3959,24880,235061,9099,24921,161254,151405,20508,7159,34381,20133,11434,74036,19974,34769,36585,1076,22454,17354,38727,235160,111547,96454,117448,156940,91330,37299,7310,26915,117060,51369,22620,61861,322264,106850,111694,15091,2624,40345,300446,177064,1707,27389,54792,327783,132669,183543,59003,17744,20603,151134,106923,53084,71803,279424,319816,11579,21946,16728,38274,72711,5085,83391,88646,40159,25027,34680,10752,12988,54126,30365,18338,100445,230674,44874,84974,143877,123253,139372,28082,91477,144002,13096,219729,46016,50029,42377,14601,6660,58244,58978,23918,88206,113611,64452,17541,41032,10942,12021,49189,10978,40175,37156,10947,71709,106894,112538,57007,137486,150608,152719,40615,7746,279716,13101,19524,28708,40578,72320,1096,182051,94527,51275,22833,45164,81917,77519,48508,5421,140302,37845,149830,5587,27579,5357,428725,248187,6326,206760,39814,32585,89923,44341,288753,284443,96368,31201,94189,119504,20359,52073,103216,179,27934,32801,96035,34111,34309,101326,18198,20704,210266,37643,27880,141873,106e3,19414,56614,167714,66483,107885,86602,4379,20796,75467,4987,5017,118857,26003,34308,114428,29198,6686,29697,73632,3739,69795,16798,41504,7207,30722,21436,36735,28067,28545,3239,11221,36031,41889,100010,19247,317673,29495,174554,6424,129725,53845,94986,7955,59676,2604,191497,19735,102214,62954,23844,11872,179525,261436,34492,428,78404,142035,16747,17246,27578,37021,33672,57944,26056,135760,2369,61674,122066,31327,19374,157065,40553,130982,69619,71290,38855,72100,92903,95940,51422,165999,65713,57873,50726,7288,20272,2081,42326,22624,81120,57914,79352,19447,1684,72302,11774,302559,161481,96396,13692,414988,3721,79066,56627,46883,21150,11747,12184,5856,113458,176117,84416,52079,27933,3354,59765,141359,2212,216309,2555,23458,196722,142463,45701,44548,28798,19418,215,29916,9396,10574,114226,84475,13520,18694,34056,4524,90302,62930,13539,19407,77209,7728,38088,9535,2263,23875,183945,17750,26274,67172,10585,28042,22199,7478,51331,66030,26774,192929,31434,25850,50197,52926,178158,4679,181256,70184,229600,9959,105594,72158,73974,2726,35085,78087,23284,35568,51713,155676,5401,27254,11966,17569,223253,71993,103357,111477,55722,30504,26034,46774,35392,36285,214814,41143,163465,1051,16094,81044,6636,76489,179102,20712,39178,35683,125177,54219,30617,52994,25324,50123,2543,87529,58995,10688,125199,12388,60158,125481,131646,7642,133350,65874,3438,97277,101450,10075,56344,116821,50778,60547,98016,106135,13859,14255,16300,77373,173521,8285,45932,37426,4054,114295,55947,7703,39114,52,51119,128135,19714,60715,9554,50492,88180,2823,118271,52993,122625,97919,23859,37895,25040,33614,32102,20431,3577,9275,15686,43031,157741,110358,1884,40291,125391,13736,5008,64881,87336,77381,70711,43032,49155,118587,70494,4318,10168,30126,12580,10524,280104,104001,145413,2862,84140,6603,106005,13566,12780,11251,42830,571,179910,82443,13146,469,42714,32591,265217,424024,92553,54721,134100,6007,15242,114681,59030,16718,85465,200214,85982,55174,165013,23493,56964,82529,109150,32706,27568,82442,5350,14976,13165,44890,60021,21343,33978,17264,4655,22328,27819,75730,16567,55483,14510,17926,45827,150609,3704,7385,272531,161543,76904,122163,52405,2039,19165,41623,14423,228354,3369,176360,85491,7122,35789,303724,4465,13628,2233,55311,118771,20713,10006,221519,45115,71021,35650,29775,7337,10864,20665,21142,1746,15080,1624,32449,10905,105743,229797,7701,3940,22997,178467,57208,389057,39683,59403,63344,63125,54847,69691,18336,56448,3362,37202,18282,29648,138224,35867,10495,5911,28814,26653,31514,176702,26550,45621,11734,4525,40543,73944,121080,27858,155561,14887,44670,30742,8796,107455,113472,56369,75581,183777,240095,133699,153299,8768,160464,26058,49078,103971,21875,71486,44888,17156,9678,89541,123019,102337,3972,83930,21245,87852,109660,287918,183019,686,10100,39177,283941,11274,24736,26793,26214,25995,77011,141580,4070,23742,46285,46632,30700,26669,19056,35951,115575,174034,56097,35463,87425,24575,44245,38701,82317,85922,281616,100333,147697,61503,7730,84330,8530,59917,61597,17173,9092,32658,90288,193136,39023,20381,56654,31132,7779,1919,1375,117128,30819,11169,40938,23935,115201,101155,151034,4835,11231,74550,89388,59951,91704,107312,167882,115062,12732,72738,88703,464019,158267,57995,60496,737,14371,123867,4174,243339,159946,7568,16025,134556,110916,38103,191,80226,88794,29688,27230,10454,76308,57647,77409,113483,66864,14745,19808,12023,46583,84805,16015,17102,2231,20611,3547,95740,250131,34559,108894,8498,15853,159169,148920,20942,2813,93160,45188,210613,45531,52587,149062,39782,28194,57849,60965,84954,89766,84453,100927,16501,27658,165311,103841,54192,207341,19558,20084,319622,5672,205467,98462,61849,36279,13609,147177,24726,165015,209489,59591,31157,6551,117580,75060,141146,277310,21072,22023,106474,63041,137443,122965,68371,5383,42146,98961,113467,30863,23794,4843,99630,30392,82679,13699,241612,33601,93146,24319,18643,32155,95669,40440,15333,34089,67799,142144,58245,38633,114531,117400,77861,188726,5507,2568,8853,10987,107222,2663,2421,11530,13345,30075,41785,118661,104786,17459,12490,16281,71936,193555,17431,5944,71758,26485,77317,20803,367167,158,7362,93430,11735,172445,46002,11532,54482,930,62911,2235,23004,179236,4764,101859,208113,22477,55163,95579,14098,67320,162556,90709,156949,3826,57492,4025,34092,87442,104565,6718,186015,28214,14209,10039,107186,233912,58877,81637,55265,39828,6194,145813,50831,105849,4974,88319,122296,10272,197216,95714,51540,72418,23324,91555,8743,140452,250249,51666,34124,7229,38592,129641,78169,174242,22464,149964,51450,14034,10026,95376,26190,120062,14401,8700,265,31386,143573,7203,229889,61567,4227,140981,2466,72052,10787,10062,30958,6099,38471,30103,23202,208101,70847,467,58934,32271,32984,36637,24107,30771,17109,73353,13650,2098,157040,67366,66904,106018,265380,107238,18535,44025,32681,144983,62505,91295,56120,3082,77508,10322,63023,36700,81885,224127,16721,45023,239261,111272,13852,7866,149243,204199,32309,22084,42029,38316,126644,104973,14406,43454,67322,61310,15789,40285,24026,181047,6301,70927,23319,115823,27248,66693,115875,278566,63007,146844,56841,59007,87368,180001,22370,42114,80605,12022,10374,308,25079,14689,12618,63368,7936,264973,212291,136713,95999,105801,18965,32075,48700,52230,35119,96912,32992,8586,16606,101333,101812,14969,39930,759,193090,27387,42914,12937,5058,62646,64528,38624,25743,37502,3716,4435,30352,178687,26461,132611,42002,138442,35833,59582,16345,8048,60319,49349,309,47800,49739,90482,26405,34470,63786,32479,85028,39866,47846,11649,23934,29466,2816,42864,31828,7410,74885,49632,47629,111801,90749,19536,18767,105764,59606,21223,10746,76298,22220,39408,7190,79654,64856,11602,82156,272765,17079,70089,245473,51813,184407,384678,1576,122249,5064,27481,6188,25790,74361,27541,318284,45430,31488,620,93579,45723,192118,22670,51913,4162,70244,35966,26397,16199,50899,209613,121702,287507,2993,36101,132229,67345,33062,76295,118628,78705,52316,34375,107083,107454,44863,127561,33964,3073,154010,190914,55967,39074,6272,31047,5550,41123,26154,98638,47110,19998,148091,50229,31329,59900,195442,19106,61347,73497,70015,682,45850,25776,38022,148951,6288,37411,232526,109277,27286,32342,9262,5220,16651,23175,46740,129438,78614,121925,66914,88710,127952,5563,21500,34521,10739,14863,191006,62956,17359,16749,67027,56284,69134,43301,35039,58883,54466,60823,404451,75743,59856,86979,7923,34273,83785,32142,7693,268986,197428,282681,17049,22346,22990,92245,107180,3357,37104,96724,49153,7683,31197,43267,82231,164276,23696,20848,188364,22309,24821,158707,1018,22514,70922,27792,45589,59709,10765,736,35218,63479,51987,24275,63588,55361,92929,81964,4658,20122,12330,44058,13065,311456,72224,8337,211229,38979,22590,138478,52757,32595,133600,8838,31549,94412,43391,90056,1585,94802,127271,6223,31889,137038,132910,2165,57616,230152,6080,10748,36737,74579,134062,50525,180532,119270,34556,76155,82394,52595,29258,31435,87820,67996,26943,183878,38007,2410,13526,180297,69856,3503,187396,167700,7838,16701,9199,56267,3661,37407,65994,23767,5708,62508,221700,67088,86978,46776,84434,32088,5612,9149,88244,21685,95151,46750,189612,2979,506311,2594,3628,40074,105039,78243,28523,6651,38058,71999,30992,12764,68261,108991,6165,26450,61961,13400,22426,7490,60890,109623,2070,12958,50355,67979,257096,7213,42578,52121,35716,65461,7516,124758,39268,302,64712,14977,1467,219452,2840,34229,11121,21602,19270,63574,8024,1532,17331,79839,78885,52029,180767,57957,6069,91265,61380,55767,8927,32881,287603,22149,35029,68876,6428,199567,46926,13412,104132,21434,366616,45060,110046,81924,128910,45886,52821,130416,29416,77342,21762,67329,121432,79924,11724,38625,81006,102033,28338,13326,3250,82056,82526,38212,21112,12382,111495,3263,7414,86274,93490,40844,30224,45212,24019,48411,71367,24941,76729,57776,3769,38114,202019,197745,31953,237533,33270,201580,255648,100798,44741,32241,98468,106931,10085,15090,170358,33154,66787,18819,69760,25061,234005,82660,6295,131975,16874,9076,4094,25005,17740,40908,19533,220019,44330,99792,50040,19619,13950,55228,24423,31253,95308,103177,184795,28590,82285,5059,3210,75525,49894,70007,56178,10580,36051,139681,21617,98736,3555,106306,164189,37352,63915,47824,24883,145530,61904,28444,11483,19837,145446,30420,112972,85939,11835,191233,2262,20705,58630,1753,148334,1197,144714,6887,11223,107667,60879,77914,4151,57417,81594,96681,169430,1784,20444,95138,254041,27038,596,7117,72808,13759,3353,126776,21074,55322,27081,36942,39547,139830,179275,4453,713,8722,71399,19204,25785,22794,23923,104114,11291,25458,102309,88396,75288,230440,206396,104551,58447,130857,37247,94734,31548,176529,226077,65159,20104,10096,66881,94191,237909,27109,37404,1520,27421,25220,113003,23423,24884,50585,6286,231877,150800,11789,3226,90004,60642,5053,202400,61442,132531,175329,57138,30116,103847,9973,75367,16452,32360,59119,21246,10191,164804,23305,61051,37348,154530,13214,5468,50403,66754,130976,50559,80515,14436,155492,84017,5472,43107,41240,2890,90431,70188,382,76234,48040,50211,281038,237007,32115,142178,1536,22761,96429,1811,31243,1679,49143,55209,17402,235054,61494,7462,77030,34925,87609,78002,9499,9027,73289,201078,101379,63544,27666,5469,10642,30029,49816,132979,95620,58086,351930,116300,2110,2043,30845,6154,11279,16727,4122,2277,27281,4971,3650,39060,61970,65951,39674,75686,38151,11370,130809,177895,32665,63725,122267,7857,39618,118483,44792,157755,178624,136994,24260,41308,22471,12404,21707,12486,30473,52781,50246,20247,39065,909,56825,103158,128603,31542,1089,41935,32744,12428,37963,84420,33134,72921,208449,42622,168151,127335,147107,46699,38216,12591,94342,85814,31423,24944,2605,87542,67473,192551,4496,56321,91819,17630,6300,256183,114569,202090,33209,35289,34897,24967,40520,43470,5344,10199,34810,14283,10381,10017,62923,49924,23233,64539,13051,35686,19698,11570,135555,120868,44924,87065,52318,52335,47586,140906,245885,109834,78668,9065,46990,25258,72022,61243,40838,4545,146387,10537,11557,17470,36930,68104,46711,24264,79401,81043,18225,120488,24746,84338,81652,28266,13776,21878,46973,1047,230465,73357,95777,24973,210160,62210,58404,110633,169651,6937,41870,9909,26822,191062,76553,27519,96256,239070,2478,205678,67955,58532,20601,50120,19148,78501,195724,110740,8249,109665,27446,30568,57631,31425,49752,32820,65504,50079,3663,102256,219898,23849,211315,14645,4359,91767,9528,12449,49366,7941,49763,107848,8930,27086,50686,9744,10447,81935,39513,46514,1670,29229,6172,22312,137280,97759,9806,14445,22976,56458,73391,34983,93760,174219,52573,33149,59747,2429,136277,75123,165263,91040,7446,57632,48633,97140,246081,84766,151684,79918,93268,120346,54059,54875,77858,32996,103590,45276,11968,19600,25849,17159,132907,42828,16817,4913,99462,103303,27395,5737,74184,20749,21160,14377,77062,131403,158735,10999,27799,77785,9320,34366,51593,61070,33746,47048,29268,36675,30262,53297,9832,82e3,20188,122292,39917,7331,18160,68301,185935,134830,15031,4935,10004,165845,185534,46923,30109,44134,122631,18874,22903,112790,26561,18549,348902,82871,140345,255565,135390,63556,103747,145055,179600,145662,296111,61661,211987,23952,52342,126343,48450,32919,44277,82185,9591,62139,205363,376969,394874,108461,18040,120885,14798,39863,16571,16794,58271,81025,55206,14640,118656,6361,44092,85970,6262,153863,108244,180200,72264,79947,38044,10050,5735,61221,80712,5471,115689,11391,11661,184257,20010,60116,30320,19327,134598,45455,27542,18004,125092,452272,1549,91523,46567,180063,156026,2608,11174,58848,37788,65907,80194,30490,5786,40775,119519,106241,11323,156297,8425,61495,2617,29675,2425,59886,112582,49142,59618,4863,50597,86710,50650,168632,27693,85641,83643,18993,25768,84284,28090,93592,36627,312804,43381,9887,9402,100931,97165,3311,173330,66805,28935,4963,184460,3201,78102,19126,21607,37496,24938,22615,16153,32862,134792,153318,61120,6067,2812,12826,12792,23825,37559,64662,202250,102694,155488,85881,149193,46233,65383,15521,106982,11358,176786,25752,39717,34208,24510,32464,77742,39371,72028,138229,60688,71386,102834,132477,2208,11548,63670,271279,28351,30338,38620,32491,99845,143885,152266,13252,2825,178663,108097,1775,78201,14897,113573,163346,62292,171129,22183,96598,38733,64971,166776,117445,9968,146393,44677,74867,20908,97328,12761,25656,26785,9148,112344,26115,99176,110121,22437,49547,6180,79320,5835,31392,43328,33377,75870,119860,69497,80273,7325,155219,43167,111173,28347,20222,3763,71752,55041,47252,14618,28088,15012,97805,194698,54636,2036,41349,6173,96604,61530,51859,43782,13361,24334,22668,24792,7070,23441,16789,3209,36211,208475,26242,32880,122181,182407,21444,31060,88459,29929,77907,12716,10934,97005,20599,31690,8403,58445,30303,22700,10336,86731,103115,337709,72556,46788,112566,47684,67089,53548,36874,56487,41387,125985,26893,40071,106683,73712,18787,40105,72992,67246,137276,50802,36790,70328,138827,22466,39263,183295,29858,50975,9322,57397,10654,24364,30383,55799,41600,23584,127295,296610,129078,143558,244131,86397,36049,1085,80677,3820,108139,5476,34767,24683,7758,13060,7239,131671,250593,59556,103392,29810,4188,252323,39404,116877,7651,43600,40338,13554,157253,39196,25978,144387,61211,234,50104,6129,10449,93777,9240,356378,274148,4439,72970,3724,147770,78680,62570,115877,40027,40547,36817,224392,64609,34795,165027,67440,2477,37206,23431,50754,164797,46018,94995,170982,27051,7957,22767,3674,27900,56419,18930,60701,41302,2692,84749,339721,61996,111094,80221,50129,1045,8153,62945,19202,8250,37208,37418,32560,79477,41106,88569,33963,36693,5892,30570,1581,66471,49647,11922,160717,29442,5643,114865,82962,95982,132098,22633,22838,94726,54556,28566,205039,162340,33216,16849,35847,221339,94851,26533,71469,1805,3804,12935,45483,71020,36310,65381,192960,34240,35165,59773,1248,46954,155332,96864,4246,388800,16129,57133,74592,44807,442014,38203,42574,80818,91592,26377,36424,65760,977,77387,22628,147610,28018,30561,98454,6969,119628,63648,18170,36854,26601,64018,22027,37279,51395,152934,21153,9430,58760,194742,5330,55115,34158,28917,174111,13171,122326,1526,43896,66094,25325,4234,148354,11450,275,18999,112191,44365,22723,68409,8733,57746,96565,75007,14196,108844,29475,88599,177563,100792,106156,86323,93726,14248,135341,194131,40126,47099,14779,8272,39597,95983,171398,65882,28052,10393,47213,40689,22120,72212,106829,34964,109146,753,648,21660,30047,17527,181025,5619,145357,4085,216883,9359,186951,24779,53931,24545,36197,223296,62628,168101,4243,107313,30321,26642,13049,51059,31027,107912,807,73550,26551,84369,122422,165872,49754,74213,234264,33151,52014,33100,87183,22365,52500,40013,23302,5652,72723,21404,26107,48434,587,94049,168493,96418,32871,70860,31709,25128,443,71597,166253,15670,70994,26341,133675,28280,75491,54756,47955,56028,26182,11952,113272,472197,64640,110753,17919,337,50642,22576,142,87371,53391,93210,126694,15285,19642,85667,14148,1506,42092,52962,33243,11970,20734,135843,57044,58880,13002,219134,22876,64754,232519,4257,43120,321573,24799,64526,124728,52579,81472,70831,276848,17403,74359,23021,182101,74597,23744,148267,12055,7976,5349,11772,67540,167347,65318,18720,127832,108238,22828,90233,9987,259080,118185,73209,79270,13775,90100,137742,90799,70569,15699,19961,9087,67475,57872,39731,8810,134897,131868,146849,19898,3334,2281,167061,91073,60356,467742,74712,188,53179,137679,92769,29241,9537,132595,80119,1041,88962,5976,40171,44911,102859,139059,104558,98987,47761,19272,71472,113864,175377,73338,10857,23402,23758,1591,139864,5644,4076,118760,16427,134198,18853,20291,100849,37423,22038,36677,19071,195521,57445,11069,31869,55718,66882,148490,44,41296,75242,49704,166810,9906,20943,122258,49112,105667,15969,10344,6408,187694,21399,72742,58970,14867,14376,81889,41856,23225,15042,56993,16074,131389,74276,72407,53875,383108,53597,37363,68993,44854,122548,430927,198279,38430,80409,12245,2981,628,2818,17760,37437,238229,7968,46892,2200,3730,34190,65983,37959,112291,87850,70827,6522,20750,73913,111621,41652,19587,2780,58668,25916,85259,18200,168962,95781,42445,102050,7776,57662,103313,47742,96358,41964,66174,100396,29069,204735,19679,27978,7479,40264,22534,61183,36081,107436,58223,14680,23002,101311,24716,124108,12908,5646,31750,40380,14215,232799,102772,14122,96775,61398,50917,12096,149880,67833,598749,124194,155871,49216,790,14677,65319,56917,7440,145744,95701,12206,49405,129269,76199,45732,9767,11058,9047,210885,11051,7392,26307,2130,8132,147526,20802,232698,115660,50060,59789,57344,107623,80343,112676,23291,9866,160971,34032,118291,15719,59730,164911,28975,2659,58046,78480,21854,66209,53863,109085,116045,29021,46481,107552,22130,18764,70254,31272,11300,52460,43933,84738,20721,53869,190840,79673,105300,7561,321817,66924,13940,33281,101046,183181,32176,71878,5678,62924,79535,56646,40303,19559,27703,93042,73368,42187,3670,37376,46440,7023,36816,109628,20680,5940,276440,275233,170848,112093,136996,14984,20226,111441,77693,112960,48577,39370,55707,50314,123404,26570,54281,61372,123391,4857,35928,246740,132507,106646,44241,7196,92258,9825,37688,51197,303141,5590,15476,132986,10955,85782,34486,26696,7991,28813,18858,39546,11703,11365,38185,5716,93555,11925,40121,60002,6985,10976,171384,3887,43394,13337,56346,6381,252336,39573,75042,53711,1028,31781,44295,95925,131713,7214,68125,43571,70954,213234,1628,8760,13391,65485,17320,56038,1710,25248,60803,57399,19839,3870,326,281556,50945,72400,21460,316244,75619,56246,98775,481,13513,55765,50427,7388,123519,32929,57908,27124,61316,101097,57467,30228,48792,10788,20402,37318,50526,155730,34456,158065,145305,17832,43733,64052,4506,35072,205355,177028,184004,187081,68616,35938,83703,10367,36892,93186,260137,51934,89970,4985,23445,26755,21558,7948,78741,23376,124405,85594,68596,57536,49351,12619,56593,132668,99924,109728,71844,71935,196018,65464,17617,14987,89701,143773,33997,8687,22701,33258,2914,4436,72108,85610,9671,49067,2327,82988,1361,1672,44033,35777,30269,24057,10605,82236,616,15793,13919,47249,112086,116698,9484,80207,90574,33304,68624,93127,56101,42210,160929,4827,38995,38095,4701,125119,5027,33680,9236,231236,14135,87837,23318,70261,78893,30151,81482,14332,1084,74256,27532,46644,79185,3148,62615,6981,55672,31668,36825,1849,14536,37446,14738,23779,43058,162749,72199,1168,21346,5592,85932,85302,9668,18351,57135,150360,2080,228015,77953,34670,119302,151751,31009,106725,84265,45214,59289,74178,113071,263206,111009,4021,44449,188119,192629,123592,392506,292847,114487,12831,205858,9852,20780,79648,75767,357014,97721,18166,21005,67950,33226,204009,16536,2987,11335,66717,144910,47950,17262,55060,15063,2934,51038,26775,178497,66008,3427,49433,128592,20036,157553,63861,3089,23015,51210,28696,35933,49942,71135,231518,99620,17248,21835,176536,20676,16944,38700,165831,233253,295625,36723,13023,52745,10907,19423,67972,125868,95473,82875,1183,108455,52685,33417,64095,21433,52438,33191,127809,44505,211823,7810,2752,95548,162031,7185,91196,47563,61721,33359,17897,23682,42806,178101,22874,49707,199897,75419,82456,8618,11171,79712,116847,18783,44190,46564,5346,59046,95032,7893,14916,3214,26800,24172,121453,34362,10250,17408,18888,4840,68696,22831,13162,36005,32512,14800,62357,41723,45046,27247,37486,5372,2564,34261,298500,66509,133920,89138,31305,117697,19097,108304,81386,84106,23802,46411,63304,946,51417,41777,41041,19501,115864,60743,294354,37955,94165,18116,1156,17937,20645,57114,90804,58042,48643,92288,9861,2557,88546,61333,101008,12853,5148,87856,4152,144503,73841,18718,9789,147565,10846,42085,12789,30223,8993,56352,67203,2448,28215,6052,23540,126319,75933,36689,80235,23231,23561,21383,38800,77548,102798,21234,31468,158608,46188,63960,191679,8051,67014,11185,170078,42186,28827,34777,41930,212079,12421,34750,24111,110344,73918,45171,70826,141949,40063,23979,24254,37309,26724,27179,24718,83648,54938,14591,17425,29525,102675,48975,48654,12316,8929,60640,41709,50168,63264,89812,50716,48632,38755,138583,160123,55579,71829,24230,233277,46322,39650,166388,34718,24108,98252,7031,106695,62498,18258,35062,217827,78731,34824,33354,19520,60852,2432,60224,8587,2836,62955,702,20227,42285,40560,95592,62486,11094,53035,143291,18842,46177,77994,1770,9657,107422,172915,32655,128716,25886,25164,156740,119928,165875,85817,11007,89110,33956,12652,65156,180266,8494,36889,19958,20955,96,1264,118288,135769,44754,86671,5632,19026,168220,289120,33569,93821,66144,70635,7687,5642,2714,55445,56636,71545,184182,93133,7332,37389,12643,52315,22729,11014,158742,17050,152889,50178,34601,41945,52136,9948,26914,63548,95721,115951,40759,8960,158258,38938,49232,48325,42234,81523,253019,66128,40978,20048,238048,38760,62928,122560,118532,43687,137472,163689,26680,9878,17448,51035,16211,60834,36749,29178,14241,59868,150086,2305,26477,42422,34342,165341,83279,33894,14257,29928,12743,13957,125571,89134,66712,10952,16507,147839,30146,7249,16565,45399,39874,114565,215780,31990,230881,171477,102,196546,44538,10880,84948,281705,86651,10617,31395,2342,453658,43569,60561,132901,21845,17727,58556,258242,22262,58728,4008,77997,11806,37431,30599,81375,109137,185787,114085,217292,97453,169085,30593,60212,11544,102056,65580,2384,91655,4855,95725,7295,157994,16228,20669,53276,141590,105246,17334,25440,76067,17967,39321,38911,11362,28559,63807,21627,26468,85816,40120,1025,15234,58319,69516,66512,124548,75845,78873,22137,46681,51242,85683,32909,76747,35555,43396,101465,1765,73094,1077,2962,39028,66777,57831,42048,15828,13962,36041,63657,52412,5242,58846,2141,5506,219012,134451,3936,182230,17558,17153,152237,22621,49377,170216,35257,68233,65374,6510,11126,212151,7184,2480,22517,3437,33073,30156,16557,3768,55067,86829,91e3,12350,148650,66017,79424,70885,49066,28250,21369,51213,34533,11510,3258,18176,18465,84413,6315,36411,163765,4346,356,107618,598,13727,285026,162695,8749,14583,7132,63521,184253,32378,25991,5604,30961,53675,4874,84693,5086,34811,26978,56564,7904,33519,51221,113942,69253,6664,125563,22055,220680,102008,742,51930,19494,176108,44424,35123,13025,75685,11759,74335,22250,181453,131147,16984,132115,154311,11991,76452,52609,85351,196,30969,9198,74919,2529,56838,71779,29187,116304,3504,62330,41190,86153,28393,254926,104228,105189,13264,84359,3574,12415,8534,57147,10175,188174,59504,60932,66318,16407,107921,17638,99103,49278,28403,39786,145865,8462,3558,43406,142271,29139,21989,36552,93955,72365,7176,13556,106185,37957,321774,17782,129017,51154,27938,24952,1935,39366,2791,33489,41582,56078,24558,9311,5449,218786,27808,190429,68013,36020,86003,29735,3404,87348,119357,115714,2324,86796,81973,40992,43376,93621,28784,16808,36367,2517,2909,191926,24978,55303,53308,205724,60068,3098,21375,64784,23949,26579,63121,12319,80145,39967,97861,6757,70143,67642,37082,34698,69140,122883,46151,62187,80934,429,19437,135071,137885,222647,13331,154065,327,61778,74257,40116,37493,14855,85079,237641,42342,102164,199965,71204,4662,29368,5042,113914,122214,8955,13149,102503,43173,5659,163787,69003,307084,63392,171080,21390,81918,86666,36622,24126,28887,5736,28054,207170,163428,79891,346467,95363,38980,111806,80828,9200,19288,294896,114468,87405,111715,141705,7015,72754,68463,48738,243147,33397,101210,37051,98801,82847,20397,4940,185559,18716,54718,83491,11725,40803,1128,12128,23060,5174,7745,67007,46701,1571,27807,180186,256996,18975,16837,7877,212758,250379,15440,87954,57755,24719,124057,83461,258,50864,8874,29038,71289,31627,15429,9005,4061,113851,107716,82819,13651,79656,117851,17539,111446,12938,39724,190787,4352,15402,21070,62708,8539,23777,73853,13552,38810,86117,16285,56400,1718,75342,142863,29033,378,110113,180321,32586,23606,26393,160984,207987,23783,8406,16904,24596,47274,11693,46539,60524,78595,48423,31718,20170,9009,146268,15183,191060,172765,1349,138436,37365,10970,40509,225817,20021,70394,152138,21541,66559,66544,89352,2725,17258,91345,7313,3815,115868,8660,40362,4071,103524,39388,118275,21950,6549,38226,32754,209574,29201,43495,18028,20296,40597,18370,47520,202450,24134,2219,8195,69545,38041,136934,46374,19041,159811,84865,58620,846,98749,13569,30714,97246,32186,4479,27355,92973,35214,151491,75963,37631,1561,27200,238083,23182,60756,12291,25766,39355,102333,87362,65741,59906,19538,201575,48772,102938,24438,292580,39964,66366,9004,61379,50548,37622,38732,28379,68180,76622,17488,69849,5963,7219,48143,43413,55358,540,58691,29506,19245,52193,48621,5518,13048,118625,44755,191081,42061,89197,2259,60665,66994,71210,51232,3585,142096,55024,7892,8345,58653,463307,65658,64319,137941,136323,53499,12746,43492,6978,95163,29925,60175,5128,7352,41463,184756,121146,20473,18426,4598,5309,54580,14277,121151,10691,56711,43880,63409,76682,11830,172218,264898,32632,66536,81062,31649,25788,92774,60222,11100,63159,9432,224657,25240,53613,152,138620,163829,2397,85345,12501,37507,64932,38575,43522,65789,80198,78796,35226,3851,108891,73311,3060,28391,93671,39663,46142,30982,66041,37281,68157,26553,71872,81142,211527,39747,118119,22695,2859,11066,20232,168911,7933,197005,17066,111071,44434,133994,120798,12766,227798,45756,132852,29917,36076,55352,65281,129800,41958,18944,84678,18580,168093,132621,39997,54092,27740,32354,3770,114118,103242,43918,15899,18574,145944,3190,123469,219903,24169,100571,62403,16776,92779,14535,17168,16475,14304,37231,1712,28218,242754,61688,28980,1318,51359,222657,99200,67989,31772,23932,35351,201251,49041,27306,19128,40135,3986,77333,19649,120683,151927,21081,7076,78375,77501,101599,8011,89585,96715,58179,5378,102138,106793,26051,217276,4197,16297,27014,46721,13322,22806,5278,29629,70632,9647,71519,58818,40603,128530,8903,36770,56900,31483,26935,43845,34265,34920,87658,6114,84767,64250,47318,50720,19264,162514,33357,13117,6705,46696,75032,71054,87004,42035,69138,11903,99854,102328,19611,34525,69312,6431,49842,101600,133178,108751,41829,89939,225664,48916,99556,9195,130387,5960,36857,116724,53518,94002,39077,53996,6945,22261,64291,8314,152785,57588,16522,9091,5048,87671,35441,39509,1945,12423,158923,178413,37549,14095,1475,73188,62878,4819,24012,68534,42606,4010,120809,57497,59564,101758,103718,32701,80116,12345,95834,46918,21468,53213,15665,31200,3867,5140,96013,250744,21016,10069,13968,35449,180829,27683,39704,59956,22893,3115,26293,32785,75934,62445,141162,62720,2018,83638,19949,114012,95006,3330,99829,130935,309272,9565,55874,121727,37017,23586,319858,40970,27602,8625,112329,61060,100088,118525,25922,16232,1907,60671,51583,44553,80993,5262,94679,8676,940,20736,11823,3020,16476,12340,152600,97416,3703,25744,66826,16245,16876,46446,84798,74227,176020,45192,61955,75496,23946,23626,40372,26036,6149,11822,30582,16541,41914,82385,232823,40921,80773,14930,3631,7517,39619,4348,36180,126106,138939,62611,1477,113512,47321,25052,14546,118881,29060,23589,128322,36795,18401,137921,104699,267929,36194,172791,18113,4766,188215,30083,332586,94089,5805,77909,22194,68234,154976,43220,40660,70001,184893,138095,11128,103010,22663,5108,212615,8485,5565,49222,54614,26530,42639,16319,55062,152662,105595,21114,22216,10294,68158,10436,86950,7206,62115,3977,3657,59874,456,118617,18156,106663,112229,80992,17442,8217,55551,5133,34344,251927,51153,39364,201321,7816,66803,23057,156724,145664,14276,95705,979,2796,6875,13429,212525,50602,26276,28284,3424,19465,52397,46963,31420,51399,206476,92317,48851,637,100820,83349,10317,60227,21972,6908,282439,32857,224767,95629,83882,42106,87338,69757,29840,68709,37665,45244,114577,49188,175943,54009,186746,106158,70168,3358,234002,50555,9221,129338,9562,20118,32923,78479,118280,65752,4977,10474,102174,60947,129006,10570,83451,8598,8078,159367,123785,80438,16742,5905,5281,181513,42402,6977,163136,93179,42191,14968,50421,112401,105440,33456,57347,121611,4221,94954,36517,24046,27796,6255,33394,72990,135408,116627,1233,57874,25654,95419,68156,401399,313338,55208,45573,93124,119251,47200,38196,11909,130667,45391,73904,64964,167846,4137,115606,52036,62214,7969,160925,7187,1132,134835,40309,73195,64494,80472,444841,61111,26500,45323,40743,53625,52797,22659,15631,29739,36706,28841,39147,102836,26794,10536,14845,87305,45874,12241,127587,83833,57183,79722,30844,41304,84655,20825,92500,3722,25655,27811,10157,81634,31362,34088,92487,70123,22190,185100,72658,139035,192523,88241,2078,230490,44528,85638,100198,22088,29982,291233,241062,13865,4445,137791,37835,107218,31726,19718,38234,72528,23046,19177,66695,5109,17251,28077,5617,21554,47839,72425,133825,1486,73065,181275,141508,21768,62971,63082,2512,34200,9904,120309,6392,91243,68416,268253,41199,116757,138551,185526,41246,28986,4093,19057,17295,4148,245766,122360,35356,112075,20301,75441,10998,7977,19769,62922,937,63547,100196,26427,157820,20983,236696,22935,8140,90315,156004,47204,140973,7726,45097,52725,22636,23436,257282,105247,522,88389,216031,202204,46812,211666,19693,68828,81691,45925,11256,30292,372,5236,167826,88328,232776,151611,5360,82104,18841,80393,25465,18285,20320,72377,31730,33160,45803,38715,27705,37379,24163,18360,103586,4015,32305,269494,91252,20080,36567,54650,7797,57073,12650,31164,42209,6375,261663,105528,81661,106002,2800,5375,17247,43151,4442,15727,194619,100855,144898,62320,78465,39929,16454,1967,28311,61363,17219,9395,8745,121445,76939,80385,162380,22009,54191,44248,16299,122830,48151,74429,78291,64755,14238,44966,2511,17712,67954,93583,829,105899,49935,84750,11591,33185,85447,42717,27409,208542,28965,62052,52525,5597,25694,65594,16343,63224,276188,12475,9331,127507,38522,57287,24128,133161,79723,105548,133695,48917,27558,43278,46520,13778,141954,110785,83366,17715,46317,105763,66298,147013,41086,94180,16478,220447,44611,730,19722,78975,117889,125643,26254,16574,18480,65006,15806,38549,246418,46052,36056,8440,34984,30170,3163,59800,4458,115442,4283,41970,33507,104078,1653,22,121158,276486,3655,6338,24048,133421,23641,2161,24422,36006,8086,10675,181474,12307,29514,59143,14729,52509,87128,122470,19446,80852,33314,24573,119864,14237,9652,57779,6612,51851,15284,98871,90581,124466,156831,21190,22015,71380,161906,87247,69201,18392,17908,108470,72962,40719,14338,17911,95260,43339,20610,78916,20710,72451,11315,31448,17263,58853,178878,48111,116002,45497,80506,82605,85880,36300,121755,25215,36118,301929,88728,405223,276136,553,34704,212438,49970,78329,922,20711,25036,257130,38295,145369,18128,15385,30829,55656,48345,8012,3561,28004,122041,192900,58338,112508,41085,29976,87040,47117,23905,4336,92061,138880,97407,42083,172121,6256,25192,172671,5,93568,1420,12677,31605,56743,40620,6015,78415,231077,31298,80026,13902,19048,24924,170586,32955,176119,87859,36731,6773,27711,24658,26475,115216,133207,93250,95820,88522,8317,5714,124047,55219,86860,19677,23961,22928,162209,8904,225992,359835,56084,96201,29392,96558,86071,93643,55114,13347,8183,95129,82012,2017,123336,34219,115554,157159,47747,101684,41008,18735,193781,104151,226906,7552,179874,124113,31159,21162,44010,14771,51268,166128,31382,73124,77438,92830,205709,12113,1292,38937,13114,1334,2118,15597,69581,14449,21934,76618,48728,67038,14967,51495,24243,87736,147249,26720,11119,46063,43749,5843,44147,152629,133428,65703,14269,45604,57982,28672,55616,45957,8438,95433,37698,220862,132034,39456,61870,4161,26501,73560,56418,9845,4654,20916,10456,88920,119358,9015,65931,96507,48029,38534,21676,109081,43078,34943,25089,6131,28766,23665,5477,10255,16695,67,45778,42443,42770,29534,23733,100513,62617,42630,48746,14191,43753,50295,26007,8792,57243,43119,54725,164253,58250,112304,131796,25165,4651,3188,24831,47748,3705,19540,13211,102095,5593,18699,23666,32005,117571,33541,60584,74573,86311,99443,25172,27222,168938,7143,11853,53560,18834,19960,86522,28217,53266,117700,72989,34323,18721,66450,34346,74056,47217,202002,46269,9429,68582,75458,37823,82843,96652,32549,145144,27958,19820,158086,31955,201406,135379,31207,192545,12950,51704,9094,248263,76147,64028,110009,79407,89345,99284,223492,47966,26848,15359,201137,2861,110507,71231,72297,31851,118777,71039,151051,240855,16333,50766,14727,7939,4149,80908,418780,88378,59276,1327,7284,38576,79814,65820,42199,84860,49574,62596,12396,70598,40117,8648,7994,16836,7630,14047,359699,106878,525,29037,28064,13380,11675,50669,74216,103539,180314,27449,56299,172344,19274,7301,246099,32043,19422,36506,129317,6806,30140,4614,46639,66926,932,86600,6322,27847,233103,10541,39025,34887,3517,12972,26220,2031,66561,115015,48658,47596,12714,33845,3893,16165,35237,89983,14769,11962,147224,47018,29977,27979,5552,82338,86023,131368,1218,24853,237840,132193,15455,40873,3668,65351,53388,15229,59889,272245,47934,11858,34347,18038,90853,86981,300602,19343,114181,29362,84921,6095,106059,79472,38015,1206,48741,6208,8e4,21916,17423,6002,108083,24479,34931,56661,9511,26995,100694,163853,35997,81254,58321,18919,171890,86877,91341,74503,70477,53412,7027,59281,39892,131302,5864,15947,61301,67466,162369,47956,27874,35624,282324,21270,111847,102548,41482,30955,116737,28264,8592,55458,22301,75090,29821,30697,51709,3041,19208,8038,24634,30467,87509,126428,19389,18814,152686,20701,83474,45832,80891,105808,11378,153223,120770,98186,150633,49838,9141,12755,30962,5260,74490,21256,31678,65062,33326,289838,187831,20595,89768,2805,58535,10844,70085,12090,2451,138068,98544,24461,4511,6754,41684,28203,3383,65355,82833,30161,83924,234361,128424,28921,222594,33975,125491,34069,11508,67464,144226,41850,98703,34371,7901,21254,38398,65651,23549,53883,213340,123269,12028,71764,177701,28758,2623,68395,11549,15232,68603,9660,63116,36079,57093,31198,20475,48467,89984,35619,186847,107469,31389,43631,73867,41949,68841,114250,1605,30564,63403,17588,27680,99533,12641,70325,50428,73426,78379,11855,91651,72081,91720,60198,15743,12065,83398,140046,6761,46598,45900,5068,886,62448,148968,37347,19405,9680,15819,43496,63370,75667,163700,37639,3633,22774,34341,183131,134335,37200,23915,7054,14194,12970,26438,13350,285521,25594,8219,104410,91039,168804,138480,149734,15907,33818,61132,60082,4622,110187,56736,13551,73571,3945,73463,65498,17758,263266,17593,2710,27585,54469,38200,45367,63754,28881,3473,12791,98287,31895,65787,4463,94536,24951,36332,59901,28803,52130,86403,7668,181822,74831,18977,9850,177206,145485,109798,7292,31421,26280,77211,58511,12507,127004,11113,147,8729,56208,43066,79926,129937,31345,83947,39915,46146,98763,42566,1337,13192,18323,105163,80570,117753,16555,72883,11077,159438,40764,70933,83329,26066,12276,72059,21655,173836,126713,69454,153482,91585,70644,102558,110483,6764,127864,190133,3961,101798,20945,71138,82402,90884,69669,44753,923,16939,59700,164258,25969,27082,31399,43846,6306,246093,51342,6153,151581,202801,182731,56475,162188,89426,141356,14355,121815,27536,28023,65257,77523,106668,127314,24947,12790,38796,169698,23555,10725,44573,183083,42088,62716,43265,105958,32050,44067,50118,1668,3874,6243,318411,16599,1691,94999,52378,28671,216728,123258,2059,34969,69225,5913,136280,171443,141515,91662,22175,135282,80020,92270,1663,4808,4482,3495,34691,5226,109830,108512,17342,107488,11606,123190,100247,29666,146527,113014,15794,30894,13224,39585,243192,22351,9903,7836,47699,11078,25468,122291,48821,26780,122679,75521,81450,630,4895,92900,55074,74293,17441,3563,111657,103102,51613,12318,52370,36191,68245,34269,40445,41354,122901,168604,182500,62012,42557,11259,24428,115113,86345,12362,3909,78430,86852,134602,20459,47853,93879,22577,7659,3688,38555,13349,17381,56715,91639,12493,10895,92438,3142,37057,28928,2004,36427,32268,34222,209974,10432,67436,41989,173518,107930,27079,62729,30908,55558,5828,45031,14902,53546,8204,144263,60255,14520,88212,86582,109589,69356,8064,47449,8505,66558,16886,4844,52817,111260,215129,12941,91118,650,20770,6273,73089,40618,62790,2873,35002,14023,97208,19386,102646,36993,143736,135457,35385,113601,17893,32627,84439,100619,56016,6581,57264,172160,45452,111710,203627,70131,24100,322787,1996,35665,70078,22358,90922,83658,4097,63200,58499,14542,99153,52159,6615,12414,63415,31986,16823,1579,65405,137809,8841,16898,48082,259,33014,42375,12260,179850,73667,91389,98882,29532,17311,326251,41092,5928,20742,44964,48019,43505,9317,49265,6643,192712,48424,163487,19861,20113,70848,31928,105333,23685,78563,14638,54755,7158,24142,44018,20774,125255,20331,24280,10163,1285,2336,39851,4299,117269,46714,63816,87779,159624,11731,9971,990,137317,108831,50994,74554,162680,23640,131597,146962,170620,34829,91205,21184,1913,63616,18427,93136,156592,17519,67565,115882,138220,78622,88535,18115,2711,33554,109492,54298,971,24914,25863,36363,45715,27099,194995,14299,178181,111488,72395,322385,157719,130787,11897,81843,83999,11369,49280,118604,40922,61332,110343,53407,75639,40582,300440,54722,25637,13694,48248,48278,194521,56203,52779,48783,72627,10953,376,16733,280238,26351,230789,15132,25168,137270,3588,63704,73376,94031,74284,19443,159557,9697,39901,13351,119050,15406,146455,3460,29556,75195,37673,102524,92329,47289,98413,15311,100684,56345,7116,95480,11590,7200,167,23610,58426,17730,136656,27944,53151,2701,8824,103124,3017,90744,113588,53216,79736,65940,26931,498,29568,80540,143543,21292,1740,59268,16561,180816,42323,50174,40890,52866,10703,57169,4700,17191,4424,93511,49698,166650,26972,48631,165169,82879,69326,202970,4007,2376,231325,139592,22119,62851,37504,68816,58345,67398,186643,43331,277416,53749,15746,23102,17432,4793,151138,48822,54265,48203,198688,14305,54287,2291,18018,113378,123260,7180,97549,87027,120085,2920,76080,8190,102005,5641,64580,14955,59802,54028,58884,19367,81779,412567,85957,97053,103637,78871,29364,27637,141728,4767,30686,112738,130146,42745,12730,105040,14844,232,210944,36581,152317,135543,29744,3129,55647,58149,46319,27265,17499,28005,59948,7170,34138,5702,293047,110892,408,91760,218674,18469,46095,81403,14389,4610,35672,73060,11006,74848,104820,118143,190357,20043,105358,141735,5115,27093,45924,123073,52599,29433,9616,238350,78610,24851,58858,26769,31969,24613,18294,4982,32735,39639,143563,112073,202205,12567,4873,88601,44897,81503,101648,81362,34662,85277,17574,48173,21435,221188,40215,39576,80786,26544,64668,81841,10731,37733,247986,149188,127703,495,18382,54388,72446,43071,30974,198723,89608,41360,190,33045,8386,31658,19992,237838,119015,137622,50890,100913,6460,116233,267230,26621,104129,65114,14190,41542,14888,85962,23342,23041,26453,43725,71809,45186,4770,46452,53894,56616,221286,18973,9038,109299,55365,19366,26863,18808,60909,69353,41738,83463,12100,68561,72860,3980,13796,49340,12332,31311,27418,4255,53430,18976,45523,510,14224,30477,26581,4530,3651,101663,139840,22709,150861,31996,63923,120623,262522,3076,10528,2929,14672,130238,18087,9816,121894,100308,25085,55111,14565,18952,53293,2042,369988,23674,61789,133529,28783,108293,35477,47119,36448,71049,40015,33055,78598,198442,1833,159937,40654,77444,189245,113153,8621,18599,38553,35223,166072,2375,11659,21786,89523,6032,12116,63046,159398,18454,3678,32521,47626,11411,103527,38896,42946,15696,26370,10185,8413,37080,165583,4331,63555,14907,72220,50056,6623,62236,36565,49783,10049,17503,100581,55951,146244,24724,9626,17969,25524,109300,173965,99994,101056,46459,43647,53737,277968,8347,123521,74858,33829,44762,77574,877,81377,222525,123532,30602,43881,53145,2973,16284,81940,61281,127044,63620,9875,14756,114829,19032,9202,52759,119141,23928,120551,19607,3599,33401,76821,73233,117430,39968,36539,7071,5446,121735,194059,15206,45283,6706,15603,65615,1207,165723,92275,34773,104447,8396,32353,205240,164323,13600,60555,79205,25532,22907,33410,57480,107111,69630,32137,47832,70913,33161,20321,2371,117348,10714,86246,1625,11763,17900,268,78457,99175,97940,101092,86660,32221,14041,128504,125080,53744,124263,31017,13897,403,31859,21964,5633,111630,5547,77329,17961,18241,84995,25984,12983,67491,62168,47262,5241,297,51191,7351,8967,147212,82060,16821,782,11033,82431,62957,5026,43459,77963,203477,53528,6247,191852,87774,74164,215654,13467,1522,219964,28589,244104,16242,117821,67725,72570,156792,17186,15979,26990,44128,193014,35276,57125,16212,166451,68017,6905,77608,16364,53777,75921,76426,37975,26203,269296,64099,84122,12077,38533,830,4407,20139,963,43028,38902,42911,37503,83343,85045,16979,1165,60835,137387,58380,86990,110066,134540,56331,193845,81238,17922,163093,38744,110641,12502,56404,34862,26865,125964,12965,111648,25547,7771,27196,136980,9555,29551,107158,57885,18831,37705,35505,101742,13970,102109,62548,124657,23328,11124,89592,146376,248050,6241,22033,18337,80685,29898,11908,216623,67721,106162,146610,21377,15085,91552,42041,62560,122532,125336,102365,121537,142559,29693,223919,11515,110495,18776,22494,5895,185059,103592,229351,51220,100102,37027,257855,29359,54123,36066,106493,12244,79258,32002,432,56205,94836,90182,6726,14762,29391,48938,26864,38083,60364,3310,60192,14766,205567,57504,110760,22649,24666,46333,21517,3430,13135,28873,27052,158809,11597,20529,6695,23138,22960,37137,45574,6545,305877,43423,26153,24769,59844,14501,10430,134352,56169,13213,103432,49523,35181,13435,12408,129475,64620,230854,77390,51990,15653,83248,33466,44571,117828,51481,2187,10559,68019,18021,54895,48247,18354,33737,4554,108595,37288,39767,116707,9175,3726,108877,21616,83684,49862,1938,8543,276466,20134,108498,48770,102254,31914,131520,185291,100559,51890,209,19526,76471,50544,71814,99351,8172,198526,28816,20419,9109,98389,136777,76479,75596,30635,165417,48216,120220,25955,211071,39314,24308,32164,2559,146280,43403,9233,17947,90585,1786,86920,125662,2457,64741,32152,32918,122882,78538,44001,31723,56426,23375,103172,88177,145697,52506,49319,68016,31664,41488,18486,110400,7030,28241,986,109199,19900,42147,56864,65287,49183,7858,24e3,30453,840,16673,25907,68916,89927,6309,158335,36407,199737,130464,13137,59603,201778,195292,21015,42466,179062,172561,89492,11075,180407,31868,72493,20998,60217,9865,19530,39274,130266,54539,21623,12535,13505,40641,73375,4087,85633,2153,3117,70680,55788,92096,47509,98493,37490,271936,151475,3032,16171,96642,34106,78425,125761,19591,3366,19316,54508,24183,50786,194248,91528,33253,34622,108355,41741,705,3814,3883,108929,13203,67831,10142,59754,68208,29128,84820,56880,38794,24972,48571,40821,40476,18137,164254,24064,236309,79181,11282,395,39169,2013,51587,28551,9645,701,109513,115899,113566,12762,62045,58322,103726,41343,40866,244102,143816,2490,70346,40973,52618,15412,30720,104315,38917,42027,93676,17513,107418,20706,123890,13399,97727,24044,87962,65606,44250,98044,65276,74790,101473,19350,91570,1326,87790,172042,7577,100813,86896,85891,41512,108130,27794,14875,71431,12835,156250,58135,3759,22476,42176,115873,34686,56523,73643,108505,51491,20838,12721,32863,45700,29496,13700,34294,55360,29206,155942,123812,7706,163234,203,132720,49358,144431,8130,175788,35818,3270,76832,25710,54095,97274,28779,94621,74396,19092,128242,58067,20885,14670,93255,15107,63291,23654,126900,129421,59294,262659,9798,3251,67344,28600,44629,50672,29072,26999,31526,23183,49175,165843,175455,17282,175411,32022,45989,30298,90690,78118,83156,23749,35636,31317,7069,80381,94561,133756,14960,97404,6138,41065,78041,32843,16601,34123,9559,146529,123377,96395,54441,42012,84257,123541,10745,22139,106459,11720,150883,172651,154996,110538,4728,53447,25704,2009,71152,119354,21166,66604,1429,216162,8637,122250,63520,27180,29172,36124,276428,107787,77184,4680,14952,104903,24418,14793,51561,52931,8371,26342,48526,7118,92066,67280,40653,8847,34597,105438,14198,50163,61188,146286,50315,41205,170829,161496,585,197359,95056,1687,365794,91349,48507,5804,49263,5146,104902,96365,117343,132222,46084,96919,16875,8073,262381,79982,52663,13928,16056,153908,15145,109256,132308,18763,24904,167644,13618,40750,18686,147124,114709,150038,52849,2938,12568,48617,8778,5459,44202,44591,74914,17183,248689,13878,7822,80060,23116,194037,18487,2067,7798,43077,33678,244028,31320,74273,2794,19466,8218,36280,183997,48124,19416,29656,19280,98734,7715,18311,30701,133602,150307,126956,7378,2933,79903,13178,12593,86571,26604,92446,13574,44205,65699,427599,21118,8245,14407,27877,47936,33542,7916,26460,117762,21596,37818,2249,127359,209394,60044,47677,308089,36791,154971,31417,6998,150042,174360,12255,43009,29335,48739,3912,101398,53340,2580,146939,151295,45360,125275,15273,45383,27456,48761,23314,8750,60801,85823,104759,27894,123685,66968,39480,26917,55290,83305,2696,98390,57569,145853,340733,4919,20024,52268,30884,7413,203685,70989,112855,4129,50536,349518,68205,332641,159581,135361,236026,37563,176404,64899,6578,122033,63871,1850,85234,82089,66124,74145,121098,107351,12687,36881,117334,13136,14698,85933,93866,18047,32620,310,15094,46e3,88451,23632,36645,27940,87618,80520,58892,20976,27702,140090,96075,67841,103292,238964,87778,107338,17019,83427,67522,7302,8261,47570,116787,8730,80484,61772,174422,56005,131193,52875,14588,28471,59817,9586,15720,158155,51307,109734,15196,11025,59331,3884,52626,102602,84797,25158,27314,4437,20488,76214,189248,35023,114952,157376,2827,62439,102878,129749,36405,10329,109339,108633,36662,1254,13267,5470,87105,58004,15397,10434,159667,21864,52022,179464,3013,32147,31496,116832,18494,105502,129227,107267,50033,13481,9954,24267,22141,16257,116154,36185,950,115685,11305,176708,2048,178671,112573,287867,162328,497663,95170,50979,193861,50987,30368,136257,31830,46549,15119,169876,23788,17462,249887,57377,1949,35448,14791,43769,210091,3783,34612,282103,88380,245190,5457,20491,98908,11402,86899,117916,16028,162584,60644,320177,156096,31065,55876,22e3,77655,9992,23397,13757,317623,63978,215255,2443,17648,93231,27388,104529,93807,55505,140477,12046,112040,70887,40152,94365,112353,25063,114679,266061,71248,119555,15589,2244,617,14129,211431,70110,100652,7777,4383,85911,89221,21010,120615,58357,86405,37554,41647,18,15143,69662,60491,14714,186134,148344,42347,5410,168175,44535,42449,343894,129417,99682,20659,27272,140483,63455,222159,17536,13722,42637,62324,11976,114691,148109,2283,32057,182393,4295,147364,33705,2075,44303,30274,28331,63740,69740,29148,10346,44862,33716,73937,153333,12930,38784,247159,2515,41053,20256,83368,256189,54639,115240,5096,24661,175419,153552,26516,141,138176,63885,34115,47222,55709,2765,28479,38875,236608,12229,22921,77291,54426,45388,2860,57787,114579,295139,105782,17826,71066,19119,54364,69385,16568,12323,28057,33346,34919,124763,155533,101386,31644,8627,49001,303600,29868,63213,9103,77280,71333,9696,138789,37059,24823,5057,21352,32368,114208,56803,19424,10445,58514,8661,209508,26187,171838,10460,63454,14016,122504,41328,21329,46618,32493,38225,7855,31763,7945,29876,8734,6438,24205,97490,139977,130740,47323,33195,85390,57194,13813,60600,21313,96251,7699,27584,170521,139271,1363,4402,336738,129223,84983,69150,13147,3590,163929,207225,155260,55916,20288,4503,8398,98490,11773,27512,37113,84976,86558,28365,11756,116005,182148,13733,115313,47644,67208,85069,9347,14995,226141,14704,101835,41159,35314,13113,63526,214039,29978,50446,83339,17440,129441,72522,118641,97816,24907,73844,15717,118884,167255,96509,162793,30847,36849,51297,78974,77793,10427,1873,2972,9999,35074,28190,64297,146836,46298,60038,163007,108919,61219,2403,75022,127339,4233,110389,69022,9833,128097,88016,79390,222936,22570,94657,28462,56956,38803,81536,30474,152794,19566,16481,147408,74574,81895,20731,1918,1366,76367,187321,54494,24366,21690,61696,33283,107477,77499,31112,414383,74362,18463,218441,120929,59848,258629,201924,69269,454,19989,13054,59894,3623,58908,20681,35723,78523,102680,38988,184112,108087,50944,132704,52966,21699,18860,96349,201411,82697,85395,95658,5093,6427,177894,44191,32755,26961,155739,6249,31310,81030,26574,84311,120155,86730,113535,7424,48888,13516,45747,98098,20077,183995,81945,43210,26704,40420,75831,45648,11180,6855,57927,65528,124096,34851,2598,156633,107572,127352,38169,123845,60142,62722,105584,232364,23211,68120,1601,22169,89299,747,258039,80572,7258,152249,11862,101204,8834,121434,33761,19175,133142,46343,40178,48723,3589,41977,30210,38868,62257,10087,82658,87827,90646,16415,47552,351723,28298,72225,91146,272760,1701,11295,1652,109651,300747,51863,198800,29446,11794,32345,37538,22356,33102,37590,113544,37970,11478,179743,25454,103417,59905,221970,105196,145604,7817,164809,102360,16974,75840,255333,56902,6659,1954,645,59400,67769,7689,18675,5215,13793,20536,27852,3387,29523,259718,16860,94625,43143,29245,15848,233581,22685,63631,78557,22836,133302,84513,1348,51826,47129,98836,58284,1830,1749,94642,10933,6145,12506,10975,13879,103781,144434,10268,28409,32346,52968,121567,107374,77268,23686,35097,10501,155275,15303,47136,21102,168741,55332,90385,15996,84817,681,137803,25054,142275,6163,38175,8056,124296,240642,65621,4934,178205,16101,62803,60964,18230,100622,76465,44689,14545,9543,47514,16852,93380,28048,12047,107106,37575,101485,77047,57326,34819,96137,76916,6469,46264,115983,75768,87668,69942,13027,165,8373,114231,26434,52844,42799,182044,23580,146254,38081,43236,33883,146220,382894,14606,46035,36481,166621,35417,95382,2957,59384,60428,36358,66343,75378,22267,22950,83528,17577,56474,25285,4619,179691,75355,95836,53295,34588,171410,4487,14679,84208,44015,18562,109133,54101,11531,86052,174479,303157,28095,9953,35642,14564,39802,16145,77606,117406,53038,121117,53624,22062,1212,7632,127157,237292,189087,10478,127345,102515,181997,86752,87623,10966,121602,68783,68681,83042,114380,138349,191305,67176,50085,39016,1427,42384,1412,67118,122616,72389,25260,2237,13576,137346,19938,20304,2191,68759,5373,61364,238507,75814,23931,69565,38993,131741,38364,12528,87762,5679,129853,5310,186831,32653,90338,260176,389531,108118,26843,43985,50175,30563,25106,56965,18130,140428,4542,165503,117991,24219,229605,1819,129663,1240,3797,76093,18398,71339,51919,93043,27175,47060,216257,6483,35051,1217,16512,80798,129064,13225,69339,8548,237079,72298,2575,34280,51379,117910,55671,53345,247552,29486,39328,140821,34681,57045,60177,5004,90269,78522,2479,322607,48474,61296,13057,31558,4678,59271,6699,27044,31988,35944,12503,83480,4389,136508,3781,114121,70279,4488,155829,42214,2898,68191,75695,305850,45041,74344,106509,30087,17429,93292,12477,290,23080,114802,35714,18751,26554,105424,17775,2144,2412,100610,65192,113975,52975,180272,135050,129815,76238,106483,21440,63186,4260,46189,9711,28249,4169,23429,23390,8324,141585,63809,67668,38457,38063,39226,59972,1189,203916,62368,14403,16949,61767,85801,1739,40147,35049,76757,33124,62102,15780,103593,103009,53484,22952,67973,114645,6566,5245,50462,7601,8288,3513,194571,80276,1908,54592,5124,58571,2513,6800,273997,193904,1119,17991,117245,2508,129156,82366,26278,71465,63341,56943,39662,106116,94966,156875,9736,2204,122308,94418,27134,1280,24539,49022,45314,3764,50904,46424,30699,28087,293839,9400,33646,40165,822,147499,50263,116179,29085,11863,31314,5578,17797,5104,12454,1604,15342,219206,10232,67800,94261,25872,13565,90339,78971,75377,26649,41184,47695,11514,35369,20767,14227,41953,309396,148270,147938,33074,14453,27499,109019,39018,25738,240196,158931,52820,8612,95853,21524,137010,84901,70869,70021,116794,48404,38771,6732,1070,70990,187297,49140,5238,576,3564,253975,16027,16483,2811,37775,19034,25259,4053,2e3,70083,95774,19713,33431,92703,91314,42381,288770,48194,95985,3991,77418,13406,241328,245086,56533,35275,62725,9246,51924,70181,95331,16163,31410,79016,39312,120878,119371,275987,80124,27712,9186,220,23598,146167,85209,68238,282190,57048,31273,30555,80913,17594,75779,59160,135002,101219,189377,29225,96735,60126,62522,104e3,27620,86814,17240,147533,11001,5425,43682,410,49460,87270,69480,46315,59448,1816,76201,9431,11788,87960,29063,65539,47347,11678,33846,7008,196704,9895,6753,8633,120892,59970,572824,115934,6646,202559,892,48351,37611,251282,57823,67263,57750,26527,34485,90747,7685,88370,6144,64182,1709,41969,21458,62327,181657,49247,225330,122600,114574,107124,85361,111833,63243,71420,15655,191178,72430,18063,51425,54002,12364,53225,86557,18193,97580,41232,138398,67821,128724,8944,233212,101353,52099,42127,14006,120107,32789,32132,3498,18123,33758,56058,5779,128760,59888,98869,18445,84702,51911,13234,218379,20093,39031,8074,70195,20708,23462,24355,131384,60189,26390,10403,41060,7140,10781,49410,42261,87202,82566,41663,43105,60276,2768,5733,74176,28329,2297,145430,131632,83615,122915,105441,655,224102,5284,136426,67763,16294,188511,32538,61049,27893,3394,13951,159099,28542,17930,145360,9492,190122,32285,78855,26440,13570,58648,73908,4239,124561,2444,74172,53131,11468,10794,73566,11623,35343,64710,30481,4163,10328,38309,29901,10538,154377,76132,92405,24839,11679,3465,13449,11637,7824,2337,57754,1260,14458,41118,19878,38661,13416,159180,37074,163164,54137,28627,52134,184900,8520,40385,29546,30502,22386,66527,107458,6850,24022,47983,30603,35083,8934,304066,39500,9,28261,33026,77251,9374,44833,116312,34990,29236,63563,125639,135405,165398,159055,55690,88141,69643,236964,31983,25572,20436,36746,60896,31850,16179,11828,5888,3043,66368,9750,31167,7915,53111,36430,1333,64344,93659,20061,60596,180191,51630,6792,30244,43509,101058,22409,420,44210,109783,43223,27030,72477,72831,32679,29235,7675,47556,12258,39907,149412,84926,118247,24692,71717,105038,86009,45941,41189,89453,29856,52543,30627,226798,67303,59230,67415,34408,1367,99685,16867,128419,52147,4111,125381,117881,16173,44093,102224,31575,23234,24870,83790,127407,239098,3200,994,1255,100903,242275,117266,55116,38205,16140,29662,11307,40414,208793,123355,56470,4862,75600,30119,58218,70828,24075,26974,7802,192353,4851,5475,78720,66596,3409,28573,64396,30381,30690,59859,88256,5406,99945,103064,34463,37727,24238,86643,60088,4057,23741,5967,162904,38240,28356,93858,25510,122879,6897,3278,7057,11971,4400,35461,211413,21395,59615,39471,87233,55795,128426,3051,22470,41950,14705,3974,180108,80476,78442,204996,91987,15634,67610,139015,142373,35611,51134,10387,4353,153456,57749,181039,14183,68447,151532,21107,36452,20551,3186,46247,46383,129666,88736,140662,146243,2066,8360,7978,64818,106963,17896,47801,10723,114821,223295,74192,3293,3393,16987,74064,11277,91622,4270,29828,27951,387869,103235,1374,61988,120083,477,145892,128378,11779,211263,61354,18221,17869,46530,83061,108538,157981,90608,67199,95080,49064,195814,12302,66307,10348,231346,160732,112859,63633,146558,21271,31037,198802,47622,12862,95710,3910,77850,73961,85585,34752,61e3,4082,24595,103679,71107,8208,79568,150019,16615,24961,139857,32664,197366,4559,54735,32696,4126,162019,75698,13916,70108,159638,19834,9349,24675,175560,49643,18206,52459,27992,10809,88865,401975,133172,29e3,34558,30915,3658,25834,42430,36562,125265,18182,10155,40149,97082,208980,19575,60853,90529,66545,9600,789,46420,2317,88593,55595,98980,115302,5742,169155,1073,177901,3472,11189,63711,78643,65472,50459,127979,93,42202,67053,21720,157650,11145,141378,42033,22824,85705,79114,35584,15974,1510,54172,28562,12451,104226,19190,97151,73024,20948,5151,81741,21499,29006,84183,198074,54003,45120,170125,26240,35177,28389,64863,79974,60778,176915,232183,45342,2038,80253,41564,40703,32689,5430,100689,5366,23007,134279,14266,26712,73993,24934,64242,52113,102887,61801,46415,201049,54251,62133,122757,164883,30815,139966,2319,30842,766,13362,10287,134518,86111,81665,82440,28333,43019,18963,8804,161944,23439,102144,101145,80029,39052,248708,30350,117340,11878,128467,974,138625,63961,5237,74778,61834,67040,43814,13690,65947,33809,232476,115258,181745,28824,94013,9510,10246,93722,81976,7217,114383,3493,16014,69045,72692,12145,80981,9507,6692,1620,60820,330444,35474,33962,4797,7053,295463,46445,27026,12491,77988,49524,35675,90947,29114,166705,101385,133782,32704,6186,84595,176031,185623,45966,151302,63069,1699,107491,947,15458,74452,196212,6046,10498,12163,10239,35191,243951,9277,9090,29539,54460,22820,26514,112549,60372,51753,48756,21812,70861,260326,41,44222,10441,16961,48148,138771,216194,5914,52153,53400,212036,56519,26245,10117,45888,15294,138019,90913,26368,43842,42111,23348,6082,194845,161089,156206,51546,11647,30759,302912,262094,8635,78876,26535,35283,54183,31183,85484,147873,12989,5197,6356,72894,65347,20150,27370,73787,1493,45918,12366,190217,20724,13858,10981,67449,81213,7553,14115,72242,271517,11842,48310,88743,143726,22177,3290,243231,58452,62937,12592,1654,40066,33477,13751,9921,128442,15868,7106,75236,83773,10775,36938,10482,170465,17368,17469,161508,32752,98340,800,19824,264456,3901,87319,2867,26782,9630,113102,185815,24197,44584,86366,40224,3636,140916,31731,267731,9567,53678,72984,29389,27963,17106,50282,284911,60170,8322,12608,23374,89652,5268,39044,229766,8869,151350,31436,177342,12269,183212,120418,116270,2843,78888,69192,7865,184099,1086,129897,18383,70508,20242,18508,229924,124569,35749,50589,55626,9884,83115,40971,30671,18135,14452,38861,17844,201826,5549,26413,17189,13561,38539,10679,143331,3314,36785,171194,49685,187713,67506,4618,104039,17060,195080,50648,33159,19238,67559,134840,28599,157523,17130,38064,117398,94355,31918,13575,34538,40326,13997,3494,348283,62481,26862,3603,104426,244363,153709,112487,304612,199674,41239,35545,54869,293005,28223,26277,26899,4533,18518,15492,38587,80488,70485,160395,263,60162,11382,222152,4696,250751,51921,182609,10707,48463,46243,1227,49111,111564,46502,33342,56846,68541,63559,858,139927,16654,229375,76759,26478,33205,95828,23399,92945,2637,35630,28470,143992,50214,14174,21456,166191,65665,1711,21594,78019,97599,111701,36,147151,110246,189022,43021,30397,40757,131935,42065,73335,48039,26596,28984,15102,2361,7421,202167,69744,43766,52826,3642,83304,33873,75140,63169,192389,36551,92748,13039,123959,233220,21738,84447,77230,20228,187852,19095,25799,92136,108774,29237,53947,2299,118106,2687,8830,42331,202924,33667,2023,73763,30704,19363,19779,16737,35629,48081,24068,101013,162338,291912,13749,24745,328289,167679,70086,48299,23306,16732,17801,43322,54589,3586,63653,43624,53474,925,109177,251316,43805,13082,19511,86565,142182,92461,17117,101033,103319,64589,4022,4351,235897,5352,82705,107142,46391,156084,5860,61365,10558,13045,7717,18357,33922,12590,33065,6928,46993,783,46937,67846,8952,26295,6107,119656,18799,17458,50747,4229,179559,112727,118080,20683,41464,125468,51560,49749,44231,7359,35339,62988,136487,67015,5208,29150,24956,105186,48858,6143,18097,6972,16404,73489,58742,97196,36357,164616,5834,32267,13746,147733,15113,132091,34127,106298,39729,106426,22294,9780,15602,36213,71502,42808,66802,599,60755,5851,39120,67363,108623,126368,72770,91263,32486,30596,151717,7951,52002,43103,11768,68942,40901,39344,24037,127500,116890,48403,16926,86750,17745,48648,159545,34460,58419,5634,114317,67865,31462,23352,24010,98185,125708,69686,68337,13610,26271,70691,2980,4768,27225,102402,75453,28106,8104,6931,1176,6274,6475,112635,22498,6176,238686,26832,28893,90319,14441,15682,15087,39517,45270,109134,104440,45965,47645,81772,7876,52683,87720,12898,4505,185665,2769,113401,15664,57592,105229,137381,97059,119268,6876,43309,33886,128363,35476,144249,67013,143587,83367,25703,91436,59347,53236,2289,16519,19844,46309,58558,99834,23313,218816,231303,36388,51333,183535,109792,139277,54306,90139,18235,8275,32710,37677,82464,86025,92204,88842,117723,37570,128723,234242,76350,73795,34896,148247,58424,11105,11744,45746,63372,17118,49772,199520,81902,38004,22911,33752,3125,1995,53792,4689,26909,108150,146062,69674,41811,161444,84855,8999,28561,16731,93937,3189,21967,24890,22943,1356,145300,51569,28802,517,118679,31703,40607,48098,108854,25003,10233,73969,177495,5248,24516,215347,146192,48712,60626,69188,40735,5866,586,101541,6509,47590,52129,5969,222045,110933,25733,24223,65339,62812,2414,155418,35819,16022,78423,43138,20995,128255,240673,46745,236093,72176,57085,97841,61248,107,36068,193177,105427,55726,215229,20446,47228,100420,87091,14429,121708,23605,21157,187721,21880,2997,203976,99166,95068,25877,7724,98925,83401,4829,13182,18229,13718,239662,38653,116505,153497,30589,89029,38962,181302,43853,78872,180301,4786,248240,7401,106136,112590,77745,19731,60880,77789,125748,135487,5975,48627,34084,12419,215770,47557,254582,10364,106495,21856,67539,88981,38805,21428,48732,42316,12149,16078,52808,25327,51322,33850,51147,12253,122354,46077,56483,254553,115417,81834,150991,94662,86668,7381,12841,100650,18218,15741,22372,68294,50705,15535,84660,61887,22553,72299,31361,24824,17743,46820,64288,31582,77006,111674,116384,30760,80920,86149,77192,51979,79691,60342,122805,103800,240873,160744,233114,78962,54920,8608,3484,316104,72548,24337,5088,230040,21926,10172,36838,26,86221,83458,102176,12062,17571,41929,41170,28428,68239,41750,103930,2634,18313,53019,34825,97837,63115,24606,73157,152474,14715,91439,37033,109806,140259,30668,174760,380,135597,95673,136073,65073,134249,13829,17279,122305,4420,46444,10237,64848,203623,70728,10349,182885,65075,24519,25783,40318,34139,22222,63394,55266,102764,41422,20126,65100,90408,53640,35128,48932,11192,38935,96839,34782,39492,19396,41332,6250,5511,19492,51304,25936,104466,54099,73771,86115,5080,7669,30891,111700,13931,25276,72289,135447,14820,258641,25265,31005,281179,75286,393,95359,14623,13584,6680,101227,80173,44933,76666,54542,13244,39348,458,25379,109451,134348,81143,6959,65554,12027,51311,8716,57589,140731,28467,23316,17272,30458,25980,55229,77197,83798,28302,114784,7428,34548,26241,14712,39336,103304,18928,54080,12870,334,87722,15208,16895,142098,114262,39820,83913,57817,28682,7721,14900,108672,11250,62246,42849,415188,1724,26555,24549,25505,26443,107450,145899,61035,43528,6901,60726,65906,267741,21338,147590,42079,18924,73017,135236,15393,5206,4026,84185,1531,5988,113890,82647,303391,7386,69844,71611,189865,76523,31877,13315,19314,198575,32821,1928,67641,25913,104475,103489,3297,70391,18406,15446,113347,19295,93790,27856,1792,167471,116449,8541,4408,41757,63233,25765,86680,64501,27034,24816,34975,6079,4486,49693,36229,16917,21581,62426,27862,11612,54284,35702,194034,355,24277,48262,87411,70504,310164,118018,12516,47559,43502,57433,107139,9290,66533,80863,14634,34312,91725,28606,21342,67241,72355,43244,375789,37402,174015,105070,8342,44167,67494,1890,16365,11723,271002,1865,47918,8350,45564,27742,25110,125803,8553,49504,81925,62211,4534,15491,19011,80373,206920,667,102405,128623,245524,5553,113309,192739,65766,19567,22832,261958,29679,21293,71134,20962,105123,24721,860,21752,33448,18372,157167,94822,35770,173224,232737,75729,28937,46828,28062,25453,5207,140366,36665,30652,6169,67920,150458,92040,23186,184604,92330,20891,176492,49427,27828,38305,42495,143982,49560,25503,90043,29747,65328,47830,12932,11068,77721,9003,25213,94205,140426,46090,89945,138173,192691,33329,112232,129905,35709,27514,1841,19957,31411,127476,53572,17497,173549,55063,175135,19841,69314,5192,237921,117660,150697,4060,273045,50414,98940,65348,153665,164423,58804,156695,48994,213928,86036,28608,8355,39574,34540,16927,135680,18374,151587,10830,53805,16878,16623,4282,48030,8537,14986,46102,13062,72897,72,33050,108227,39451,45935,651,113320,40535,95176,57450,48843,5003,19019,10407,211163,3848,1068,4988,32091,30095,41692,15099,43602,107434,50744,7627,171349,16313,150832,352665,207750,33937,38256,51091,156e3,87889,90663,84175,24908,114900,50365,31494,83829,5398,169342,47521,54818,18935,8356,43094,41212,174536,10082,92550,6678,60614,23355,69721,14796,34149,128830,58187,3179,208,40325,28399,225029,401412,51150,31580,207268,6657,10993,69818,64282,289845,23308,12961,38447,6681,52944,31855,2572,47646,120728,179148,37240,45196,218274,4816,3695,21961,50084,35209,18073,51452,27004,6100,33941,1377,84831,171214,85,141510,9078,99227,32610,6417,11718,49868,65579,87902,73018,49062,46280,61742,21512,40862,107733,15941,29168,157765,144919,14487,5767,158014,140070,7241,573,71584,16921,223566,40331,179473,35081,47926,140885,41508,52104,59180,42310,32811,29048,123517,102413,80208,10104,14746,12649,153641,126022,37965,113017,4171,83,142592,2809,6362,50416,71323,116894,260776,16204,1524,5760,30351,12658,20703,54403,36083,45408,74772,4946,14485,50759,111222,10890,2195,167147,92962,130534,16283,177256,35016,15472,210156,151187,73922,117691,43250,52051,37392,24811,24358,30830,5775,818,21969,1476,127322,151783,58392,31021,106913,65215,89407,90802,28531,11690,20234,95249,44602,37256,18707,11928,5161,4410,26571,51903,49768,22008,25252,65780,209499,68769,203726,13249,137363,48845,86823,6658,5674,31881,1083,1823,108676,34518,166752,13791,14287,91576,91429,8665,11529,26401,16191,91972,30964,5254,28486,54697,79613,66520,18447,22870,45203,194466,22822,51703,12278,76716,44595,73455,33546,12235,144843,36154,51247,11116,33040,3180,225753,60864,1972,28469,12891,28879,10338,144157,56294,353058,38302,41447,87532,110616,27065,168438,6557,1213,50804,144643,24817,2390,136531,38174,247513,16190,4059,122791,131994,137430,39506,57650,16305,5188,54309,106128,20628,88071,67394,395446,250285,66176,91254,1399,114196,43915,60230,44853,27206,106353,43013,18733,345105,226453,51202,16607,57106,117175,35492,10476,89598,127439,15187,39624,13688,61570,10615,31111,59370,6238,175252,32143,224492,41388,95408,34384,148238,78307,38959,9340,160091,61443,15737,11216,41244,170,38299,102443,113097,26382,14027,33707,3957,76300,66160,19431,18900,6952,1717,108656,82206,188021,257335,27295,43999,41210,31777,46956,57457,12657,11489,15697,48060,204748,53583,82422,284790,30503,137341,8120,19615,220311,15991,10217,63424,9808,67431,70976,98221,4491,15177,28535,144789,751,13230,2394,1504,33977,132104,30316,22230,931,97193,185240,24826,22687,174322,15307,22988,1390,188745,180325,29580,59068,74903,18994,29195,79,15436,7622,38462,11566,138710,44828,45774,37768,99236,68137,84083,19282,22698,17134,74807,126662,173497,46248,16938,119735,3212,28292,213652,49013,9975,32180,45660,86250,4801,68788,95490,77482,113751,11994,44624,94452,46839,128497,100316,5798,58588,73184,202987,65417,37790,88524,1606,43156,97964,105717,34947,11203,100060,37742,130074,93653,107799,94311,196106,41347,8035,10780,16390,27883,118236,167395,1979,25006,19375,31628,18916,144723,78502,114047,103107,86492,107686,5844,20934,206963,23556,22591,16562,146333,20167,10471,117434,33085,2863,9740,36669,41849,37271,22790,18209,28979,8231,12952,54408,21731,25130,45208,55748,138120,75826,414,29593,9925,292865,25999,683,123149,7036,92159,86055,61827,103680,23176,54918,58466,57578,13305,5709,86479,16697,31064,17660,200919,10770,49793,33423,32370,52047,16488,62555,6459,8426,83493,7763,59725,82812,18628,67760,79405,68557,9612,7673,28102,56517,69620,171797,32458,29541,15870,81109,32080,207644,71495,21202,11039,91036,61230,2810,130800,32260,4613,60590,37112,75214,33979,126402,155062,30642,63875,12810,194463,82799,47664,16725,36685,43367,61099,449,172150,102867,21691,301838,36745,7130,18671,57316,34852,38034,54182,35578,65900,99486,19771,3456,2658,16914,99866,28390,28109,8262,21147,34353,20006,4228,137085,1675,203023,283196,198286,214375,163329,290603,152574,40471,83506,30068,14730,23177,131539,34759,27668,32178,71896,104799,116305,85430,119262,42860,25160,8911,23428,49437,105322,6519,16203,6349,74711,1230,38045,8540,75165,44736,25909,51026,317034,4984,32281,91312,27060,44431,17817,45363,155937,239085,35697,59784,91993,29531,126740,213757,76560,167776,285273,24262,8237,65030,41160,74437,48804,118916,13159,37842,1031,75349,1478,11655,108777,23435,277425,101734,67469,70231,124711,43532,28514,65526,54956,1e3,21882,17728,25302,40952,52214,149632,1999,2111,3259,63362,89961,220561,39777,26335,9063,10572,12416,34551,34623,38604,24723,5947,15588,69927,66252,119177,69173,46629,28714,70715,212408,20521,406913,74380,11716,50659,50862,37009,88460,130101,7210,53853,538,65120,151950,55806,163748,52837,13153,21100,16674,64536,6091,138201,44837,58547,3723,163,2177,32288,85454,34033,8497,14282,25742,10535,10741,79559,117493,243787,49337,100718,79495,40139,42956,7551,55433,15421,31509,23034,45081,547,61176,53434,328001,8470,36263,30145,4519,74173,53935,11845,73774,60211,78025,3,4102,73782,109293,315332,48412,26683,13714,6865,20128,18490,104141,325,39470,171970,115860,15707,7268,73301,74336,31370,2368,111827,107757,136231,142844,97138,96638,84053,38691,23801,1588,10573,122098,77039,240,186135,146101,11996,18143,112963,46171,155836,348769,47795,121213,116266,132515,3344,144804,31286,99187,255838,129694,35894,48779,55235,148582,71967,65282,15174,13920,47080,6147,108242,157593,125025,7136,1286,28957,127956,28402,98813,20805,7532,109417,40610,5041,32958,15142,18408,108596,33543,50517,27748,80114,233434,91447,487,37094,100048,30541,43477,10639,89862,155868,37667,8726,60684,237903,73408,99589,12190,38739,97348,3914,13594,2680,149016,13907,30171,28343,23530,115225,61104,35821,147679,14337,4297,244282,24085,326976,56428,7851,21303,131620,71446,83253,68692,111870,5224,15813,38197,49026,45057,13660,3306,76345,40671,27905,91072,996,68527,62085,91351,122634,55109,168209,2024,27560,112707,17352,8306,167115,169921,166958,5031,46020,11844,67284,19130,76185,6920,32849,5450,14610,22451,21002,17392,31872,66682,84796,13709,40210,59898,12029,8719,53564,21462,91884,21647,88379,194428,12754,37797,132826,160016,22567,54383,53186,77611,31107,8339,4694,19185,90355,23597,17222,140675,28442,23668,55977,9128,61555,28774,155229,17658,9390,24379,69357,15752,127381,239631,62460,93181,55913,45133,140155,18676,25249,33164,29581,82837,67223,22362,29975,7317,52813,1943,29613,20012,207130,49617,49651,5636,15334,36313,29226,28084,95247,72072,19e3,224932,15811,114,32127,38097,37508,88507,37225,27359,91626,12193,69279,20608,11055,88156,92808,2152,57259,55275,72789,24475,104414,1708,9882,3818,48661,66897,1631,34806,227930,85815,87753,18321,250664,72733,25107,206797,50891,8082,196411,92596,96764,152823,65514,22819,387277,62176,51225,40329,15563,189,3659,73670,64357,51793,275136,33482,86653,74615,67058,11318,125720,15388,22388,8267,1730,102663,170910,40784,7144,85373,13040,7088,94309,583,44224,140424,77439,18496,164026,36578,4722,9151,5824,63365,26510,35199,40500,79277,32495,44614,35233,9566,203293,152144,7097,2330,183480,98629,13423,330887,44130,68600,30939,97829,31012,345465,56747,94879,4939,160027,149761,99423,46099,32251,15332,8761,96094,128555,5763,235318,222223,55729,30241,55420,201746,3987,81382,8259,49325,23287,7719,24633,251100,92311,18591,110533,64759,170260,393860,7175,21144,132887,3593,75346,101277,91109,16387,259187,11627,57459,173829,44694,55780,49797,89192,120443,62622,3904,14814,23887,1027,112258,64955,99800,11132,66353,36202,48624,18158,88481,96882,43059,11040,2455,7077,21651,181159,99126,100434,61388,68186,19161,110468,120052,8819,55324,41494,7014,37689,3618,87729,92615,207943,9823,128657,12587,15857,6379,67628,51216,71775,157617,63244,1503,3864,218754,110864,5769,21492,7243,1192,87921,85529,31512,18537,42698,35350,73510,84474,34301,8991,21013,35034,566,38832,19838,35586,37216,39413,55006,12178,59742,856,84563,6900,25632,17437,49786,30723,13847,70845,4044,7843,23944,235976,55530,48942,6518,20939,73769,192653,52936,95207,23895,132542,142982,22632,87452,48042,54018,178468,10728,26230,23559,363,81269,142012,5718,346258,31456,84333,246476,51018,66692,101804,120570,39962,30373,70593,2864,60541,19425,54209,104092,7201,31545,48018,25865,15442,46257,40443,8328,6451,111782,47527,97754,33046,470,245116,31095,39,91934,87208,73470,36708,36521,12801,70624,36272,8892,79768,12427,55454,103756,5908,52390,62962,22720,141138,94634,41689,128402,126390,6628,106394,35527,134394,82727,254651,194502,148064,89549,3202,28359,957,21954,27906,49840,142747,8307,24206,48978,1186,71728,133038,71474,91306,6333,110959,74600,70387,18983,62609,56057,22970,1147,135850,1321,28834,3578,59715,102227,32827,81415,99952,55636,257598,390,22702,35701,85872,402916,39216,189795,14929,19467,10112,144422,61514,5279,63421,134686,41436,8424,51925,10598,132295,124416,4604,194739,210929,57866,31829,51626,50007,9976,91878,61906,56168,81906,60918,61859,40017,23059,16887,40927,62064,12785,32893,32913,21782,93965,20169,44387,79084,38463,11457,93950,27127,157050,2697,337088,5116,54128,48255,33279,8821,27352,25515,124022,65710,28906,38557,33390,1722,104435,72215,38551,12094,30978,25113,6671,37355,175109,42862,98024,65406,221276,59624,118012,64637,78760,86697,21426,1639,40350,12584,67193,84144,31396,7863,143011,69629,63112,9454,28666,65798,46372,134721,6314,51402,30837,151922,2847,38676,38008,92823,136245,17540,5504,109295,205242,37606,5211,214892,1586,20670,208711,137743,19328,40652,16995,20023,14657,154919,34422,12996,13918,38221,47690,16398,2959,37680,89122,6721,198469,91876,172043,83898,101992,26084,94570,3635,76958,22853,76497,38266,176590,168403,44464,142840,79180,184594,1984,41806,83147,11985,6546,366068,59732,24533,271505,8736,39084,222992,93429,28962,58985,86665,8432,30028,14548,32439,54424,165029,55175,27458,69046,121277,46168,33732,20661,24581,135574,123110,37556,79260,72611,16957,12939,46162,58238,44907,72936,253758,41324,32518,96480,11949,124438,65280,43256,34107,53533,43531,37037,28366,45970,32741,173438,6121,194202,62969,26355,30314,58370,28455,1848,50519,82830,90393,21761,295490,10936,256940,133568,44050,20269,4089,27457,21610,219460,36743,14821,101388,52005,13124,30979,140816,167362,26054,18458,60789,34917,40447,26606,33422,9066,3452,83614,5761,20263,137238,25038,91310,101,52322,74548,42572,38084,214054,186568,31802,17665,30620,141936,37730,14420,4265,187218,49640,188208,51441,55388,96452,66659,40869,42039,60967,221027,19234,178581,29105,96050,9165,196118,157335,3738,40354,117436,2965,34136,59659,15570,50843,230035,31444,71260,43886,18316,5387,38500,168508,17406,32174,8828,103373,143806,90367,3560,18719,122310,16508,26719,2541,105429,6645,37998,73190,10591,235916,49737,87112,233941,53188,32193,79154,4544,52905,126477,7580,63501,57314,3216,31337,6541,103083,60846,49,9756,15481,1355,43840,14319,13743,27486,10222,73114,230718,418644,16706,6674,279748,23058,45273,295831,86306,2743,5535,88773,21829,35253,120938,31153,3169,16839,42847,8751,80974,33942,36867,35514,16485,26474,77775,56877,5391,48346,3882,108713,31403,27804,55248,26235,43821,136104,40118,175507,28034,203908,18732,1788,34030,106427,36958,54359,7251,44936,15356,69139,455,157915,22173,140291,50348,43275,82066,49621,54952,15216,36226,96695,66855,6936,1987,8227,196087,4631,68827,99004,47541,110265,17953,147605,110242,58520,31312,38724,329975,642,3155,34497,75937,6207,73843,6120,17249,51429,117746,3218,910,68961,319671,14938,29555,34700,1649,66673,72268,9655,76800,153087,6941,210168,27130,35398,1780,73242,3135,56689,19556,165307,8765,35967,121458,13333,70453,17350,117253,22265,13340,44265,39869,441,3742,135025,23581,33309,16543,17731,13291,157637,283005,21408,101360,63887,52312,83873,5338,233779,23759,186949,34531,177320,38069,156465,91004,19353,59852,68160,14891,1338,1072,29823,1950,28901,81407,313445,73038,84807,162348,240257,37162,138934,16111,58013,41253,102951,16457,96056,19541,56402,67217,41638,94381,89674,29481,37456,80815,151579,13937,13683,132537,19699,134545,67020,29816,222341,141235,427578,48868,129557,233342,23077,87871,16213,18728,16184,9469,37913,19680,2798,171356,178328,13216,50049,72690,71904,124644,55455,7504,29052,41036,266546,19899,30391,188755,8659,59469,16,104298,112943,53865,76203,138226,68857,139953,14125,107625,119795,173133,4398,50273,48808,54390,16466,122086,31835,67035,50971,48859,7508,46427,66477,73021,84615,39985,83076,46779,201569,53336,36443,60865,168164,143810,51393,25548,169307,32896,24485,38424,21837,29087,275813,51674,6714,64883,46169,187369,55186,76192,12852,12018,62134,31067,118303,16542,12125,10579,4928,26291,43854,7091,10946,253716,109062,39283,17261,113012,258512,47764,125126,32646,55892,80279,201623,149872,3192,385,1208,48750,5376,58738,22335,5427,82416,47811,32435,143086,38930,94128,59975,156037,37977,38224,62485,7698,50405,71027,16462,21559,136153,34131,107506,162069,63703,3101,215029,40407,4178,3774,9187,80019,17880,97926,67579,2600,18405,8351,47924,86638,70820,92206,86453,29610,42241,119200,3198,15466,67813,57863,35454,4779,99518,4649,104641,144269,33730,38073,65864,6838,109456,193298,154007,5623,45741,30846,182578,25573,157224,1543,58575,138703,146140,44971,49356,18275,59064,20300,13122,11848,24453,11973,9797,86843,2919,25530,49210,1130,161220,76788,75373,85604,34926,36014,17777,17255,51533,11676,92226,51845,119859,21525,5936,18507,28050,1140,31418,14857,34207,47859,10750,36382,32079,106909,59426,87757,38393,110042,15965,97104,33757,35344,97993,53979,33651,45407,41884,82515,173089,7177,58371,35365,47543,51927,35587,10670,23544,29306,84233,39976,76076,62097,9007,8668,28119,78281,120790,19835,143020,54968,18670,64959,20649,34469,42570,33001,136570,87796,120044,1106,58700,63951,127623,12805,83057,40212,31773,49850,7361,54336,347524,101314,23751,19569,48791,29174,49369,20467,7465,75842,38281,623,112457,60210,28849,51003,94720,6426,90047,85560,43761,3579,85105,34607,90410,118528,7224,42907,111163,18168,6960,161135,191298,5247,100584,127552,171568,20121,91173,12636,54615,20199,63730,98105,2396,40387,14438,125012,4765,33235,12865,45299,37728,82098,77872,114037,59253,19675,24838,398016,102561,11446,17069,57508,178277,65836,99941,26114,2585,271882,136866,50126,11027,155648,118367,14585,8910,123015,335383,40434,41016,53021,14439,87098,176860,201543,121888,2358,9286,5739,22666,54270,37884,169381,33984,93859,16124,89364,72207,51639,76366,99029,65812,2198,12147,174891,194289,6986,30252,88822,21284,11445,288337,160821,33034,100869,43852,25761,52882,1144,103809,1924,84458,86079,43411,13542,139276,18141,34978,41298,7276,26481,173800,33210,17951,142652,33616,33677,2210,19941,98568,2486,192414,80136,12058,235883,50963,249638,29572,27221,47034,6124,72107,63346,97620,158513,299699,40388,23235,37176,224244,198386,121323,67992,23827,63170,17838,106622,158590,26807,5345,23489,91891,55474,74834,37981,13058,5977,72552,34706,26828,145172,19904,21367,34043,960,77092,91381,4733,47446,7680,41697,5170,16960,14741,46101,13656,473,51842,37433,11103,11551,121951,13191,97536,165932,50397,51628,129028,9069,44885,6590,59195,47045,32940,225472,90345,21833,13303,29407,96615,141951,5198,6028,18395,7181,3861,14966,156358,167182,36529,55253,25942,173153,30959,27261,50691,150176,162201,38467,48462,80602,42163,118482,168,108756,26011,17166,54149,456538,22512,91374,13816,90358,131615,18132,226707,1824,28139,26860,42253,93877,77351,65575,8980,80574,22020,27948,40422,91324,76376,13528,39281,91685,82215,122541,144066,1983,193851,17283,26320,2739,194978,4790,26845,42627,61300,65815,174612,55133,4200,191130,79771,158321,52280,166796,221620,62461,11278,4067,88152,83409,31717,121367,13522,47325,37945,10406,174348,249321,154101,64912,29938,51775,17220,15776,166138,78890,84425,54121,42861,16368,24572,291647,10197,32073,22651,11677,97509,26952,35787,18424,41910,71614,94977,72318,41594,70024,275419,37702,60199,7335,39107,61315,18271,18394,33768,87884,104277,123724,7277,56288,71981,189803,49320,3352,6798,14240,8954,69220,94433,57372,28620,68863,193727,85575,42309,41667,67689,42081,22543,44824,12719,28540,114236,101553,27638,27296,4300,5353,4663,19379,94098,3758,95888,95144,80344,87320,28447,259518,12718,71391,152731,37063,24132,31911,104896,15672,103782,1521,4945,72541,23717,122632,15619,87175,206120,29428,189780,61416,28350,44457,972,1175,47233,198738,95789,41907,21953,97034,59341,22864,53713,16873,32971,20693,20954,31336,21477,16169,38370,16412,9019,3841,24599,21938,17085,6484,81198,76413,5849,72514,12320,65247,276175,37234,59796,52642,16312,57349,198507,94148,46134,18958,125552,1747,18725,151873,14901,5490,68287,29470,3689,64794,40814,26018,25692,54450,2703,88278,124886,173087,174e3,24159,179477,24276,46004,201876,209202,445,52876,31948,30206,157610,39180,18439,44124,50469,5774,96278,222758,200216,50290,45486,20435,46986,46276,140133,142326,15569,13363,47522,92583,2182,7135,16853,22998,30272,4952,63263,35623,39096,53789,44864,20053,110392,124213,4630,16087,28221,127787,25839,77481,44693,13464,113146,6983,27069,55717,50102,4760,7107,26186,66507,59145,36032,104182,71328,29425,64317,50781,47465,94298,69706,74899,22754,120756,25108,93077,56834,73286,39928,16218,41699,176763,7555,70819,50083,26895,23315,26014,16773,123079,41712,5719,31516,90427,158540,85051,183128,40864,27505,55392,9058,45224,96857,30901,136622,96557,56304,120061,11501,151448,5773,89743,7769,86069,2935,18471,41628,10114,33660,110170,49479,26745,92846,33221,26731,18795,87076,8550,2100,29972,120289,3077,72490,33784,2630,208722,50861,63483,79029,6419,39467,14302,45286,64207,9686,67513,44170,1050,77246,59266,17055,53801,7150,11111,42432,4278,94579,362117,36175,42902,41933,39002,98489,22913,74161,84773,57036,17556,162288,74485,178760,93867,73635,128860,50362,261,67455,80001,46080,35662,4368,25247,19230,74393,22588,1822,27682,235324,13798,85998,13194,235067,23514,71669,147632,23191,134748,214683,105101,1518,25489,247114,7380,54842,26922,3971,26361,20844,68642,170517,77339,123255,8963,77818,150998,48466,36806,2732,23261,11741,236162,18243,126216,28690,50546,16385,92760,197383,246558,201295,88255,67588,71687,176076,172653,169058,33906,63747,24835,157621,43338,30050,46152,132741,2770,51371,94835,6614,15112,11749,56936,1250,19027,399017,58036,100215,23388,55815,308768,124152,94803,9521,64186,8971,28,30427,62163,7616,103838,35079,29203,131235,7743,17389,10882,37420,61460,228512,85363,41581,131077,62822,119647,10130,54445,26925,19968,29016,24446,74028,24176,61448,67185,9254,8563,119129,9771,99184,37716,39514,10532,221512,258753,218630,55980,23394,32141,61924,66749,32411,3741,36475,26678,77010,44946,91203,128749,116953,20476,49625,53116,13735,102335,29376,51946,83407,67892,59212,34685,21083,1546,112982,32972,74397,1078,190545,16082,86140,58591,89611,101531,10061,105104,76319,20035,17551,52611,169061,190842,100780,23907,90413,115619,9675,34710,193435,49443,129734,11183,258877,16318,136182,126808,44635,27304,192375,2599,125648,47051,12091,23814,721,58800,40137,66726,97930,60877,74487,7942,54326,9841,41428,13762,8211,85383,6950,99177,79806,201786,296464,124087,13144,29741,41721,47634,55088,254286,106408,17041,99064,12942,64086,45233,14005,2612,55827,255,7984,13980,38574,12776,46654,73499,249951,2101,26676,25996,132326,116415,119062,50449,31033,23038,11589,179252,20007,14860,129270,21143,17796,144715,60106,70758,69842,34674,282133,44014,16774,57268,38528,24053,46373,201667,28327,471023,51889,102667,21193,114909,84132,69317,96723,67969,16134,68145,15058,28765,32035,2524,101089,98664,25045,76571,14957,86040,118506,262428,154764,81573,39681,283900,73287,127825,544,80448,52347,38512,175971,15180,45467,33086,46552,48894,81107,43213,36672,54025,76703,8053,7608,13299,56619,20752,238099,54164,105133,1444,32942,953,37564,8e3,66316,119463,106817,404,13667,149108,128597,31267,10269,49836,106150,1484,52330,76965,160486,171648,38456,31263,22424,37738,66245,67467,143369,60471,75610,20895,115528,86070,60854,40796,49347,18989,15030,11371,37578,15779,79867,10187,86462,46402,155626,93200,40229,7090,57547,108053,99598,11088,47505,41218,206017,2173,20988,30219,22919,80563,57566,42369,93141,41675,2407,182519,120495,27154,16702,29456,14349,7958,16688,117177,140375,42467,261919,74916,153569,10836,34742,49526,7621,105997,12212,2270,392377,7755,17959,25086,232152,138791,33847,13860,35316,5811,1344,71259,50452,207539,92635,50359,5821,33674,30255,2086,2587,96264,17543,42,6029,9580,43007,139248,82831,12917,29607,25786,51467,42137,85161,100698,31561,88989,121990,278500,3602,109344,37982,15279,116442,28936,30880,87894,58079,128661,126731,67392,28051,146885,4861,16216,97344,42827,147561,153948,22684,21335,47685,1853,43349,15185,59642,10229,25520,187921,108972,5579,98037,24945,6697,19193,63734,137934,75056,89740,19767,224268,56138,63643,151661,39313,70618,84031,89723,84074,13703,85626,35460,8867,64845,3439,57906,99776,63968,49270,81130,34356,16210,23547,36446,34090,140028,72439,2221,22163,57058,363492,113754,18913,95451,48663,54464,54037,176097,68425,3023,34906,29482,117389,341780,80431,58330,16753,92616,60907,94846,147486,4498,48646,7773,46801,7778,18946,464978,47558,33223,177444,7328,15626,63337,94700,11743,9351,255024,39098,16447,42647,96230,39769,58840,10068,63439,35800,65843,58823,413844,9156,51258,7434,61791,85018,6872,3692,28096,7121,33024,6009,75532,31997,192535,9661,3304,9547,14753,31987,25314,55689,15896,20430,39472,31340,99744,25398,115569,54883,28719,205423,23071,57855,64638,149867,25671,82403,37616,20668,39989,77996,74948,140555,175248,64810,36515,46595,4958,248773,24045,28728,136673,168704,20804,114833,100325,27135,21205,96151,153134,45992,7093,13992,76047,1980,19432,145001,75159,87462,17710,1013,45556,34297,144882,20648,26061,11319,129567,108555,18872,464580,33386,22717,65948,167189,5603,135042,79542,8801,202632,18114,91882,5973,5239,67315,4431,60916,47819,71693,32597,32606,18183,45072,80329,76385,24749,51305,40314,156514,14693,130345,13168,66214,18029,12858,34801,27628,14544,10823,40522,40185,33739,148694,23548,9923,61012,28859,17933,19442,34364,99849,164107,141167,30629,21054,6744,36491,8096,42474,41706,155060,30650,10600,163442,1143,96655,61390,52359,7559,51568,64256,203854,4467,22453,14504,436398,7878,6980,8293,63610,293747,16167,35763,19627,147603,15419,18032,110744,51346,33681,54571,40472,48615,39073,21604,13754,173027,92560,11083,47299,63062,11813,52007,29883,9734,139722,15953,1550,20651,13616,49306,16113,90089,92326,7584,30712,72424,164858,6831,152871,55746,197721,34167,196442,6022,112107,55215,7538,123381,4920,43539,77165,8939,50392,34192,20225,79762,22505,58667,40770,29788,97180,82835,4568,8579,13273,363569,35898,49983,436,36598,3237,131691,62418,35591,8101,4073,379438,65218,76072,33887,2968,27573,212619,288680,68278,72851,150504,217896,6913,121339,22017,35340,51072,43616,75043,31437,10833,81487,4364,22968,41454,106687,85446,19863,109625,149241,524,141850,214404,54376,657,237023,9401,108137,53800,32474,49712,53334,126876,27337,45552,177696,8269,15036,12097,42240,2328,125374,119295,99715,2500,19624,39441,27220,102691,60957,94543,39101,18566,67362,13975,78230,25017,34017,239007,90027,39351,41681,35354,43822,1043,916,58587,141983,94818,38799,75459,41114,67432,16195,36606,59568,22272,126769,31424,68659,12287,134302,257977,5756,207285,95637,47248,117689,19583,77451,22373,12200,54993,117118,34244,29386,34562,53819,71267,64172,77665,49368,7716,59301,25749,45426,194789,17297,2650,1766,32501,45198,20403,20984,6600,14171,94604,19037,5402,29896,9938,59935,109708,88081,145182,44844,39167,352626,164173,35374,45982,6122,154,73419,220487,53834,53601,17992,8609,229321,5610,68098,66815,71012,95069,140968,27396,8957,134489,24656,86659,56598,134852,17316,123838,255436,6613,41610,138033,81452,32023,32396,123687,63398,8693,29712,30407,19296,121188,3551,36099,20032,111948,56624,16547,27453,35916,15378,52039,56849,13489,22214,73177,53097,277349,2157,14029,187886,10260,141743,246460,91880,50869,3788,49486,133566,54950,33120,129337,53768,18333,9525,26902,312251,10297,9020,70759,16647,112432,59260,84609,9818,82766,73569,468,46001,75780,55028,52106,11498,43645,108069,17150,17753,29417,16705,31799,9606,289,122254,115975,8620,6133,255357,56908,14456,133464,43554,79224,11247,29630,160,12756,25464,65960,350428,62521,321796,100359,67358,35169,46172,113128,48988,88868,31094,33266,6847,60887,98188,49659,69117,92977,220228,13947,80181,35103,62170,97351,13475,2440,199768,19498,36597,46971,25234,67806,62881,84717,73648,181966,10488,94149,21550,26655,63436,48375,14405,165650,9621,24439,28043,42735,4490,29963,56674,45373,1934,262446,50855,67098,26898,5261,52696,40644,33900,9440,180286,87162,22940,19704,26936,69769,10254,101759,27406,12243,48e3,73926,113215,54935,5726,192787,4312,106216,9366,11550,52949,23457,212271,277152,133895,108374,6191,96477,29980,218916,58024,54696,40853,91124,65894,91170,65908,252552,6793,29212,15389,44516,122515,52617,35058,9017,103536,39510,49136,19242,130652,662077,74699,47024,31422,8517,73351,24399,13867,128360,4810,4434,61779,111983,61036,17798,110240,59722,102960,39688,10001,23803,23039,176498,56659,44814,134295,17188,77577,74466,226175,102472,154333,63900,111747,18062,41171,79669,32773,408933,42562,28931,30907,107388,43487,2946,240310,23938,24354,319,184983,7927,6488,1422,10790,68809,68209,64775,4361,202,17123,59634,51200,44391,18188,17843,2619,74278,3230,9540,47187,21702,36274,56894,43907,16310,34790,16866,6150,5561,13587,107545,108873,126867,86986,28640,33427,19017,5762,80637,17430,46903,2047,131055,25958,13558,5444,47152,13900,44563,122857,45348,70863,39593,54332,38068,33637,318,40310,143467,18502,24520,11377,62013,28942,27246,28269,83545,17999,59015,90707,30065,15161,34720,1263,37008,2012,6060,98575,92933,5721,299,199555,24578,29223,2985,743,115825,109523,136657,47454,26378,53586,3733,174945,93340,244456,5693,37386,28782,89767,27545,23573,18798,136425,34320,84778,20041,48453,38215,7477,71958,40621,8773,5874,187927,105965,51100,43533,18083,8443,10180,43597,2003,183999,69689,12216,129696,146188,62389,34044,68410,12765,43273,26949,266807,3345,34477,79197,5688,47539,213110,21634,22257,50092,32222,42346,39530,63668,98,134978,74022,5152,59088,174145,37220,9934,9545,118937,5724,87240,19875,15784,40143,23263,87513,181654,285152,37881,263241,4966,43934,10433,186657,6470,74416,225854,25908,142677,246262,32280,6192,75890,45546,143264,135305,29742,47013,77787,11732,126658,8763,37950,21806,57557,113464,89465,108995,164574,23894,22996,23169,15369,23117,17642,130607,40503,36239,280990,44666,9981,40427,147487,26869,168452,32886,32991,46798,240839,15111,70502,65697,88548,44145,28701,48767,31139,206777,35659,181164,166262,14554,171445,31786,66523,76607,17956,6507,31279,90476,116611,167918,6560,1243,115324,80128,41867,55897,187323,37069,32596,189444,145931,13390,105530,65709,26805,6999,55714,41300,22915,68951,22138,21120,22264,10058,19945,33635,56123,99085,10032,5818,6016,46649,57476,35264,94413,112522,262288,93686,83038,14341,23204,28807,66084,77987,6101,126673,7133,38126,5923,122091,170240,97772,46874,215746,43948,41622,3272,55596,8332,146411,251315,13533,8561,81521,115449,48616,175175,2063,186556,3036,134537,75772,29728,82360,22973,186559,86348,89100,38388,82297,45610,2613,87082,9986,177812,57884,23591,47485,42543,33582,44713,74439,257444,252451,31825,35631,38540,33066,5147,13973,4343,51830,70378,22827,26448,95560,36896,241741,48067,203953,298860,61620,20450,3220,67272,6586,107662,100160,108684,6929,57226,4762,7457,1320,40404,77204,99309,62750,208653,59977,44e3,74315,34332,5819,172217,64904,114077,18147,84012,1791,98456,90930,21446,116669,103938,7422,85140,59713,5768,326211,16239,75411,13229,29398,10758,236107,1539,112472,95979,152154,151294,306,21196,38146,10700,6891,84282,109646,56492,40539,6589,119491,51354,30685,140209,136906,29622,73617,49553,70525,51671,166869,139616,74395,37439,49595,45678,11959,33211,86560,52434,9282,62690,112155,130810,5243,108261,99970,265613,72551,80049,6391,33365,90721,66737,69872,87011,1860,9032,112544,60905,37371,89015,140351,19076,850,373531,2802,36725,218795,72062,28990,16550,24614,7815,6187,26336,33373,32162,42791,73555,32062,23386,10244,56392,49442,27076,136262,12412,14883,1134,33675,97153,199281,15608,100152,74072,47942,254301,36451,16026,10687,65067,56708,254030,30290,50490,13864,57941,259331,35588,23485,43486,24869,21620,92971,22072,88645,1048,182050,13343,32452,14825,19509,3325,216938,45740,99716,189082,53740,78245,25609,24311,176777,47340,308354,40669,66085,14102,125339,9225,128709,97207,1271,200933,78439,113451,88975,18324,46521,11819,18570,141756,72512,170020,52754,63550,118515,103073,93330,32736,50499,14722,31600,68452,398867,29316,172786,18417,104924,2606,5670,84818,16288,67106,59580,82929,607401,291,85829,359,15897,35830,50696,65630,52672,22115,356968,29895,40837,231192,34024,38957,26722,406,23335,124952,72068,68804,13268,147101,164740,276569,162596,66943,11569,26654,66358,4777,23229,102127,5848,978,2921,59666,5371,28212,90108,42938,39320,2499,4271,108792,33510,125072,71653,65239,38250,66357,38577,13964,86251,35708,50755,36010,29448,12209,3844,38222,206337,100876,67827,137088,14167,252225,84163,195270,1306,5703,54198,779,46802,22028,51124,86759,70560,113164,35685,162145,45471,34561,422,2611,6464,47486,19223,38246,9191,18331,89942,243642,212364,15893,17518,22617,6409,30046,126182,59716,36560,104428,18846,26592,19458,50793,147333,30826,1388,27647,10922,14495,33545,19269,135828,39727,41601,46931,233379,49169,131130,182112,16276,82381,118209,142445,128310,19672,28740,82907,33436,3118,102206,28723,24819,41937,38854,5157,3881,111491,1142,9776,421673,152241,29309,14961,87854,6054,15424,3796,82656,54996,2108,55367,239450,154525,9643,118103,106041,64601,68549,48707,30266,25772,18740,9462,229669,91798,112152,191327,14493,72828,8175,66636,236474,25817,87351,129027,76653,20422,22983,71240,27846,44661,12399,46158,77704,53101,35032,11072,17300,109294,33638,24408,1895,11241,760,17584,82479,125877,63150,141075,34259,23274,81698,15732,43577,48340,91584,14688,16379,24481,150280,96420,262050,48635,43727,61819,56268,72003,88178,17281,79912,13218,122519,125295,166396,11811,2171,118930,67746,17636,178278,174656,95661,173039,83845,79689,17473,98555,127696,203415,54730,22925,232239,9309,12136,175026,20740,180188,10747,39816,314017,266131,10040,175732,112550,220651,31974,37393,888,23008,86799,4303,64905,148467,75337,251,3284,370102,50264,9835,5438,23655,4481,29851,329,12855,7162,64931,78141,12804,42372,296771,83547,18624,34874,86271,3360,48665,77735,88767,11463,63527,28889,22258,29140,194315,113924,25499,6406,31334,1845,4802,49184,43455,35469,127594,92970,61038,115005,38840,87761,106838,8811,20572,55637,11162,96721,132425,108925,2948,125457,36356,3502,75270,27622,127192,2561,123095,49394,61155,16897,110064,9699,89448,53356,19628,220310,21622,83036,9885,112214,6087,26713,17901,161912,91492,3440,68594,9266,92238,8087,6866,150194,72175,80701,13459,31836,43243,239700,95846,44749,50647,21945,230538,120612,132371,244604,5193,105637,34661,41341,68775,85393,1874,8771,33718,49672,77403,595452,99507,6490,58895,128742,7704,39239,73217,43816,62824,37804,199976,22361,80005,87514,94832,14089,4574,139975,59142,75523,100268,43906,53442,15152,2547,186002,17011,19513,204282,3343,60568,128318,119250,4298,51871,41336,71759,21921,45074,98169,145889,99427,11350,1237,5520,28799,7803,53702,21026,136352,38293,128690,12158,90132,44600,10184,26957,39459,126025,78904,82999,59373,39301,150198,120529,153042,20177,50089,14764,271571,30530,123161,38975,101562,22941,5648,124654,109243,69817,71675,49162,106884,21241,107795,30258,16572,188262,141456,7688,60718,8271,11044,32440,104608,103419,236109,93156,43293,128929,42107,67180,25201,115254,185488,130954,72813,167547,20537,39969,38432,22582,184022,1139,27199,5655,17767,97412,122606,209377,27070,35871,326617,188954,42680,73512,80911,22629,3011,95021,315242,157737,383,41821,41808,19335,27950,15674,25677,110950,35375,76835,59108,57370,35262,16569,160415,37706,78086,32041,49691,137143,9782,172080,50148,77917,6323,10110,69172,17711,21795,59511,76184,135114,31046,132319,59105,157578,20549,80778,57649,158421,65143,4575,72235,21899,10797,92745,34035,106079,80159,4508,78304,25350,75457,46458,32937,25623,47,8531,104751,84953,8138,36508,187199,66310,115274,13253,32461,38536,1916,42007,187160,35055,26325,84394,35963,94216,45590,97782];var Bt={get(e=globalThis){let t=e.crypto;if(t==null||t.subtle==null)throw Object.assign(new Error("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p-crypto/blob/master/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return t}};var L4={SHA1:20,SHA256:32,SHA512:64};var n7={SHA1:"SHA-1",SHA256:"SHA-256",SHA512:"SHA-512"},i7=async(e,t)=>{let r=await Bt.get().subtle.sign({name:"HMAC"},e,t);return new Uint8Array(r,0,r.byteLength)};async function k4(e,t){let r=n7[e],n=await Bt.get().subtle.importKey("raw",t,{name:"HMAC",hash:{name:r}},!1,["sign"]);return{async digest(i){return await i7(n,i)},length:L4[e]}}var km=$(Qi(),1),h7=$(nt(),1);var E1={};Lt(E1,{generateEphemeralKeyPair:()=>i6,generateKeyPair:()=>Nh,generateKeyPairFromSeed:()=>Lh,importKey:()=>Uh,keyStretcher:()=>j5,keysPBM:()=>zn,marshalPrivateKey:()=>Fh,marshalPublicKey:()=>Dh,supportedKeys:()=>We,unmarshalPrivateKey:()=>i8,unmarshalPublicKey:()=>kh});var zn={};Lt(zn,{KeyType:()=>ct,PrivateKey:()=>Se,PublicKey:()=>Ee});var ct;(function(e){e.RSA="RSA",e.Ed25519="Ed25519",e.Secp256k1="Secp256k1"})(ct||(ct={}));var Ds;(function(e){e[e.RSA=0]="RSA",e[e.Ed25519=1]="Ed25519",e[e.Secp256k1=2]="Secp256k1"})(Ds||(Ds={}));(function(e){e.codec=()=>Tn(Ds)})(ct||(ct={}));var Ee;(function(e){let t;e.codec=()=>(t==null&&(t=Oe((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),ct.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.Type=ct.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>Ue(r,e.codec()),e.decode=r=>Fe(r,e.codec())})(Ee||(Ee={}));var Se;(function(e){let t;e.codec=()=>(t==null&&(t=Oe((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),ct.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.Type=ct.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>Ue(r,e.codec()),e.decode=r=>Fe(r,e.codec())})(Se||(Se={}));var wv=$(N0(),1),bv=$(Z5(),1),b1=$(nt(),1);var X5={"AES-128":{ivSize:16,keySize:16},"AES-256":{ivSize:16,keySize:32},Blowfish:{ivSize:8,keySize:32}};async function j5(e,t,r){let n=X5[e];if(n==null){let v=Object.keys(X5).join(" / ");throw new C(`unknown cipher type '${e}'. Must be ${v}`,"ERR_INVALID_CIPHER_TYPE")}if(t==null)throw new C("missing hash type","ERR_MISSING_HASH_TYPE");let i=n.keySize,o=n.ivSize,s=20,a=xt("key expansion"),u=2*(o+i+s),c=await k4(t,r),f=await c.digest(a),l=[],d=0;for(;d<u;){let v=await c.digest(ut([f,a])),S=v.length;d+S>u&&(S=u-d),l.push(v),d+=S,f=await c.digest(f)}let p=u/2,h=ut(l),y=h.subarray(0,p),g=h.subarray(p,u),m=v=>({iv:v.subarray(0,o),cipherKey:v.subarray(o,o+i),macKey:v.subarray(o+i)});return{k1:m(y),k2:m(g)}}var px=$(Ct(),1),dx=$(n1(),1),J5=$(nt(),1);function Ie(e,t){let r=Uint8Array.from(e.abs().toByteArray());if(r=r[0]===0?r.subarray(1):r,t!=null){if(r.length>t)throw new Error("byte array longer than desired length");r=ut([new Uint8Array(t-r.length),r])}return M(r,"base64url")}function ne(e){let t=a1(e);return new J5.default.jsbn.BigInteger(M(t,"base16"),16)}function a1(e,t){let r=xt(e,"base64urlpad");if(t!=null){if(r.length>t)throw new Error("byte array longer than desired length");r=ut([new Uint8Array(t-r.length),r])}return r}var t6={"P-256":256,"P-384":384,"P-521":521},N9=Object.keys(t6),Qs=N9.join(" / ");async function e6(e){if(e!=="P-256"&&e!=="P-384"&&e!=="P-521")throw new C(`Unknown curve: ${e}. Must be ${Qs}`,"ERR_INVALID_CURVE");let t=await Bt.get().subtle.generateKey({name:"ECDH",namedCurve:e},!0,["deriveBits"]),r=async(o,s)=>{let a;s!=null?a=await Bt.get().subtle.importKey("jwk",k9(e,s),{name:"ECDH",namedCurve:e},!1,["deriveBits"]):a=t.privateKey;let u=await Bt.get().subtle.importKey("jwk",n6(e,o),{name:"ECDH",namedCurve:e},!1,[]),c=await Bt.get().subtle.deriveBits({name:"ECDH",namedCurve:e,public:u},a,t6[e]);return new Uint8Array(c,0,c.byteLength)},n=await Bt.get().subtle.exportKey("jwk",t.publicKey);return{key:L9(n),genSharedKey:r}}var r6={"P-256":32,"P-384":48,"P-521":66};function L9(e){if(e.crv==null||e.x==null||e.y==null)throw new C("JWK was missing components","ERR_INVALID_PARAMETERS");if(e.crv!=="P-256"&&e.crv!=="P-384"&&e.crv!=="P-521")throw new C(`Unknown curve: ${e.crv}. Must be ${Qs}`,"ERR_INVALID_CURVE");let t=r6[e.crv];return ut([Uint8Array.from([4]),a1(e.x,t),a1(e.y,t)],1+t*2)}function n6(e,t){if(e!=="P-256"&&e!=="P-384"&&e!=="P-521")throw new C(`Unknown curve: ${e}. Must be ${Qs}`,"ERR_INVALID_CURVE");let r=r6[e];if(!st(t.subarray(0,1),Uint8Array.from([4])))throw new C("Cannot unmarshal public key - invalid key format","ERR_INVALID_KEY_FORMAT");return{kty:"EC",crv:e,x:M(t.subarray(1,r+1),"base64url"),y:M(t.subarray(1+r),"base64url"),ext:!0}}var k9=(e,t)=>({...n6(e,t.public),d:M(t.private,"base64url")});var i6=e6;function o6(){return typeof navigator<"u"&&navigator.userAgent.includes("Safari")&&navigator.userAgent.includes("Linux")&&!navigator.userAgent.includes("Chrome")}var s6={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function u1(e){let t=e?.algorithm??"AES-GCM",r=e?.keyLength??16,n=e?.nonceLength??12,i=e?.digest??"SHA-256",o=e?.saltLength??16,s=e?.iterations??32767,a=Bt.get();r*=8;async function u(l,d){let p=a.getRandomValues(new Uint8Array(o)),h=a.getRandomValues(new Uint8Array(n)),y={name:t,iv:h};typeof d=="string"&&(d=xt(d));let g;if(d.length===0&&o6())g=await a.subtle.importKey("jwk",s6,{name:"AES-GCM"},!0,["encrypt"]);else{let v={name:"PBKDF2",salt:p,iterations:s,hash:{name:i}},S=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(v,S,{name:t,length:r},!0,["encrypt"])}let m=await a.subtle.encrypt(y,g,l);return ut([p,y.iv,new Uint8Array(m)])}async function c(l,d){let p=l.subarray(0,o),h=l.subarray(o,o+n),y=l.subarray(o+n),g={name:t,iv:h};typeof d=="string"&&(d=xt(d));let m;if(d.length===0&&o6())m=await a.subtle.importKey("jwk",s6,{name:"AES-GCM"},!0,["decrypt"]);else{let S={name:"PBKDF2",salt:p,iterations:s,hash:{name:i}},L=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(S,L,{name:t,length:r},!0,["decrypt"])}let v=await a.subtle.decrypt(g,m,y);return new Uint8Array(v)}return{encrypt:u,decrypt:c}}async function u6(e,t){let r=Hr.decode(e);return await u1().decrypt(r,t)}var i2={};Lt(i2,{RsaPrivateKey:()=>t0,RsaPublicKey:()=>V0,fromJwk:()=>oh,generateKeyPair:()=>sh,unmarshalRsaPrivateKey:()=>nh,unmarshalRsaPublicKey:()=>ih});var iv=$(p6(),1),K0=$(nt(),1);var F9=$($n(),1);var Y=BigInt(0),ht=BigInt(1),Pr=BigInt(2),U0=BigInt(3),d6=BigInt(8),Et=Object.freeze({a:Y,b:BigInt(7),P:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:ht,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee")}),y6=(e,t)=>(e+t/Pr)/t,c1={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar(e){let{n:t}=Et,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-ht*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=r,s=BigInt("0x100000000000000000000000000000000"),a=y6(o*e,t),u=y6(-n*e,t),c=N(e-a*r-u*i,t),f=N(-a*n-u*o,t),l=c>s,d=f>s;if(l&&(c=t-c),d&&(f=t-f),c>s||f>s)throw new Error("splitScalarEndo: Endomorphism failed, k="+e);return{k1neg:l,k1:c,k2neg:d,k2:f}}},Be=32,Yn=32,U9=32,g6=Be+1,m6=2*Be+1;function x6(e){let{a:t,b:r}=Et,n=N(e*e),i=N(n*e);return N(i+t*e+r)}var f1=Et.a===Y,p1=class extends Error{constructor(t){super(t)}};function v6(e){if(!(e instanceof J))throw new TypeError("JacobianPoint expected")}var J=class{constructor(t,r,n){this.x=t,this.y=r,this.z=n}static fromAffine(t){if(!(t instanceof et))throw new TypeError("JacobianPoint#fromAffine: expected Point");return t.equals(et.ZERO)?J.ZERO:new J(t.x,t.y,ht)}static toAffineBatch(t){let r=q9(t.map(n=>n.z));return t.map((n,i)=>n.toAffine(r[i]))}static normalizeZ(t){return J.toAffineBatch(t).map(J.fromAffine)}equals(t){v6(t);let{x:r,y:n,z:i}=this,{x:o,y:s,z:a}=t,u=N(i*i),c=N(a*a),f=N(r*c),l=N(o*u),d=N(N(n*a)*c),p=N(N(s*i)*u);return f===l&&d===p}negate(){return new J(this.x,N(-this.y),this.z)}double(){let{x:t,y:r,z:n}=this,i=N(t*t),o=N(r*r),s=N(o*o),a=t+o,u=N(Pr*(N(a*a)-i-s)),c=N(U0*i),f=N(c*c),l=N(f-Pr*u),d=N(c*(u-l)-d6*s),p=N(Pr*r*n);return new J(l,d,p)}add(t){v6(t);let{x:r,y:n,z:i}=this,{x:o,y:s,z:a}=t;if(o===Y||s===Y)return this;if(r===Y||n===Y)return t;let u=N(i*i),c=N(a*a),f=N(r*c),l=N(o*u),d=N(N(n*a)*c),p=N(N(s*i)*u),h=N(l-f),y=N(p-d);if(h===Y)return y===Y?this.double():J.ZERO;let g=N(h*h),m=N(h*g),v=N(f*g),S=N(y*y-m-Pr*v),L=N(y*(v-S)-d*m),T=N(i*a*h);return new J(S,L,T)}subtract(t){return this.add(t.negate())}multiplyUnsafe(t){let r=J.ZERO;if(typeof t=="bigint"&&t===Y)return r;let n=E6(t);if(n===ht)return this;if(!f1){let l=r,d=this;for(;n>Y;)n&ht&&(l=l.add(d)),d=d.double(),n>>=ht;return l}let{k1neg:i,k1:o,k2neg:s,k2:a}=c1.splitScalar(n),u=r,c=r,f=this;for(;o>Y||a>Y;)o&ht&&(u=u.add(f)),a&ht&&(c=c.add(f)),f=f.double(),o>>=ht,a>>=ht;return i&&(u=u.negate()),s&&(c=c.negate()),c=new J(N(c.x*c1.beta),c.y,c.z),u.add(c)}precomputeWindow(t){let r=f1?128/t+1:256/t+1,n=[],i=this,o=i;for(let s=0;s<r;s++){o=i,n.push(o);for(let a=1;a<2**(t-1);a++)o=o.add(i),n.push(o);i=o.double()}return n}wNAF(t,r){!r&&this.equals(J.BASE)&&(r=et.BASE);let n=r&&r._WINDOW_SIZE||1;if(256%n)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let i=r&&Xs.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=J.normalizeZ(i),Xs.set(r,i)));let o=J.ZERO,s=J.BASE,a=1+(f1?128/n:256/n),u=2**(n-1),c=BigInt(2**n-1),f=2**n,l=BigInt(n);for(let d=0;d<a;d++){let p=d*u,h=Number(t&c);t>>=l,h>u&&(h-=f,t+=ht);let y=p,g=p+Math.abs(h)-1,m=d%2!==0,v=h<0;h===0?s=s.add(l1(m,i[y])):o=o.add(l1(v,i[g]))}return{p:o,f:s}}multiply(t,r){let n=E6(t),i,o;if(f1){let{k1neg:s,k1:a,k2neg:u,k2:c}=c1.splitScalar(n),{p:f,f:l}=this.wNAF(a,r),{p:d,f:p}=this.wNAF(c,r);f=l1(s,f),d=l1(u,d),d=new J(N(d.x*c1.beta),d.y,d.z),i=f.add(d),o=l.add(p)}else{let{p:s,f:a}=this.wNAF(n,r);i=s,o=a}return J.normalizeZ([i,o])[0]}toAffine(t){let{x:r,y:n,z:i}=this,o=this.equals(J.ZERO);t==null&&(t=o?d6:jn(i));let s=t,a=N(s*s),u=N(a*s),c=N(r*a),f=N(n*u),l=N(i*s);if(o)return et.ZERO;if(l!==ht)throw new Error("invZ was invalid");return new et(c,f)}};J.BASE=new J(Et.Gx,Et.Gy,ht);J.ZERO=new J(Y,ht,Y);function l1(e,t){let r=t.negate();return e?r:t}var Xs=new WeakMap,et=class{constructor(t,r){this.x=t,this.y=r}_setWindowSize(t){this._WINDOW_SIZE=t,Xs.delete(this)}hasEvenY(){return this.y%Pr===Y}static fromCompressedHex(t){let r=t.length===32,n=Nr(r?t:t.subarray(1));if(!Zs(n))throw new Error("Point is not on curve");let i=x6(n),o=V9(i),s=(o&ht)===ht;r?s&&(o=N(-o)):(t[0]&1)===1!==s&&(o=N(-o));let a=new et(n,o);return a.assertValidity(),a}static fromUncompressedHex(t){let r=Nr(t.subarray(1,Be+1)),n=Nr(t.subarray(Be+1,Be*2+1)),i=new et(r,n);return i.assertValidity(),i}static fromHex(t){let r=Xn(t),n=r.length,i=r[0];if(n===Be)return this.fromCompressedHex(r);if(n===g6&&(i===2||i===3))return this.fromCompressedHex(r);if(n===m6&&i===4)return this.fromUncompressedHex(r);throw new Error(`Point.fromHex: received invalid point. Expected 32-${g6} compressed bytes or ${m6} uncompressed bytes, not ${n}`)}static fromPrivateKey(t){return et.BASE.multiply(y1(t))}static fromSignature(t,r,n){let{r:i,s:o}=S6(r);if(![0,1,2,3].includes(n))throw new Error("Cannot recover: invalid recovery bit");let s=t2(Xn(t)),{n:a}=Et,u=n===2||n===3?i+a:i,c=jn(u,a),f=N(-s*c,a),l=N(o*c,a),d=n&1?"03":"02",p=et.fromHex(d+Qn(u)),h=et.BASE.multiplyAndAddUnsafe(p,f,l);if(!h)throw new Error("Cannot recover signature: point at infinify");return h.assertValidity(),h}toRawBytes(t=!1){return on(this.toHex(t))}toHex(t=!1){let r=Qn(this.x);return t?`${this.hasEvenY()?"02":"03"}${r}`:`04${r}${Qn(this.y)}`}toHexX(){return this.toHex(!0).slice(2)}toRawX(){return this.toRawBytes(!0).slice(1)}assertValidity(){let t="Point is not on elliptic curve",{x:r,y:n}=this;if(!Zs(r)||!Zs(n))throw new Error(t);let i=N(n*n),o=x6(r);if(N(i-o)!==Y)throw new Error(t)}equals(t){return this.x===t.x&&this.y===t.y}negate(){return new et(this.x,N(-this.y))}double(){return J.fromAffine(this).double().toAffine()}add(t){return J.fromAffine(this).add(J.fromAffine(t)).toAffine()}subtract(t){return this.add(t.negate())}multiply(t){return J.fromAffine(this).multiply(t,this).toAffine()}multiplyAndAddUnsafe(t,r,n){let i=J.fromAffine(this),o=r===Y||r===ht||this!==et.BASE?i.multiplyUnsafe(r):i.multiply(r),s=J.fromAffine(t).multiplyUnsafe(n),a=o.add(s);return a.equals(J.ZERO)?void 0:a.toAffine()}};et.BASE=new et(Et.Gx,Et.Gy);et.ZERO=new et(Y,Y);function w6(e){return Number.parseInt(e[0],16)>=8?"00"+e:e}function b6(e){if(e.length<2||e[0]!==2)throw new Error(`Invalid signature integer tag: ${Zn(e)}`);let t=e[1],r=e.subarray(2,t+2);if(!t||r.length!==t)throw new Error("Invalid signature integer: wrong length");if(r[0]===0&&r[1]<=127)throw new Error("Invalid signature integer: trailing length");return{data:Nr(r),left:e.subarray(t+2)}}function O9(e){if(e.length<2||e[0]!=48)throw new Error(`Invalid signature tag: ${Zn(e)}`);if(e[1]!==e.length-2)throw new Error("Invalid signature: incorrect length");let{data:t,left:r}=b6(e.subarray(2)),{data:n,left:i}=b6(r);if(i.length)throw new Error(`Invalid signature: left bytes after parsing: ${Zn(i)}`);return{r:t,s:n}}var Ge=class{constructor(t,r){this.r=t,this.s=r,this.assertValidity()}static fromCompact(t){let r=t instanceof Uint8Array,n="Signature.fromCompact";if(typeof t!="string"&&!r)throw new TypeError(`${n}: Expected string or Uint8Array`);let i=r?Zn(t):t;if(i.length!==128)throw new Error(`${n}: Expected 64-byte hex`);return new Ge(d1(i.slice(0,64)),d1(i.slice(64,128)))}static fromDER(t){let r=t instanceof Uint8Array;if(typeof t!="string"&&!r)throw new TypeError("Signature.fromDER: Expected string or Uint8Array");let{r:n,s:i}=O9(r?t:on(t));return new Ge(n,i)}static fromHex(t){return this.fromDER(t)}assertValidity(){let{r:t,s:r}=this;if(!M0(t))throw new Error("Invalid Signature: r must be 0 < r < n");if(!M0(r))throw new Error("Invalid Signature: s must be 0 < s < n")}hasHighS(){let t=Et.n>>ht;return this.s>t}normalizeS(){return this.hasHighS()?new Ge(this.r,N(-this.s,Et.n)):this}toDERRawBytes(){return on(this.toDERHex())}toDERHex(){let t=w6(F0(this.s)),r=w6(F0(this.r)),n=t.length/2,i=r.length/2,o=F0(n),s=F0(i);return`30${F0(i+n+4)}02${s}${r}02${o}${t}`}toRawBytes(){return this.toDERRawBytes()}toHex(){return this.toDERHex()}toCompactRawBytes(){return on(this.toCompactHex())}toCompactHex(){return Qn(this.r)+Qn(this.s)}};function Rr(...e){if(!e.every(n=>n instanceof Uint8Array))throw new Error("Uint8Array list expected");if(e.length===1)return e[0];let t=e.reduce((n,i)=>n+i.length,0),r=new Uint8Array(t);for(let n=0,i=0;n<e.length;n++){let o=e[n];r.set(o,i),i+=o.length}return r}var M9=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Zn(e){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");let t="";for(let r=0;r<e.length;r++)t+=M9[e[r]];return t}var K9=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000");function Qn(e){if(typeof e!="bigint")throw new Error("Expected bigint");if(!(Y<=e&&e<K9))throw new Error("Expected number 0 <= n < 2^256");return e.toString(16).padStart(64,"0")}function js(e){let t=on(Qn(e));if(t.length!==32)throw new Error("Error: expected 32 bytes");return t}function F0(e){let t=e.toString(16);return t.length&1?`0${t}`:t}function d1(e){if(typeof e!="string")throw new TypeError("hexToNumber: expected string, got "+typeof e);return BigInt(`0x${e}`)}function on(e){if(typeof e!="string")throw new TypeError("hexToBytes: expected string, got "+typeof e);if(e.length%2)throw new Error("hexToBytes: received invalid unpadded hex"+e.length);let t=new Uint8Array(e.length/2);for(let r=0;r<t.length;r++){let n=r*2,i=e.slice(n,n+2),o=Number.parseInt(i,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");t[r]=o}return t}function Nr(e){return d1(Zn(e))}function Xn(e){return e instanceof Uint8Array?Uint8Array.from(e):on(e)}function E6(e){if(typeof e=="number"&&Number.isSafeInteger(e)&&e>0)return BigInt(e);if(typeof e=="bigint"&&M0(e))return e;throw new TypeError("Expected valid private scalar: 0 < scalar < curve.n")}function N(e,t=Et.P){let r=e%t;return r>=Y?r:t+r}function pe(e,t){let{P:r}=Et,n=e;for(;t-- >Y;)n*=n,n%=r;return n}function V9(e){let{P:t}=Et,r=BigInt(6),n=BigInt(11),i=BigInt(22),o=BigInt(23),s=BigInt(44),a=BigInt(88),u=e*e*e%t,c=u*u*e%t,f=pe(c,U0)*c%t,l=pe(f,U0)*c%t,d=pe(l,Pr)*u%t,p=pe(d,n)*d%t,h=pe(p,i)*p%t,y=pe(h,s)*h%t,g=pe(y,a)*y%t,m=pe(g,s)*h%t,v=pe(m,U0)*c%t,S=pe(v,o)*p%t,L=pe(S,r)*u%t,T=pe(L,Pr);if(T*T%t!==e)throw new Error("Cannot find square root");return T}function jn(e,t=Et.P){if(e===Y||t<=Y)throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);let r=N(e,t),n=t,i=Y,o=ht,s=ht,a=Y;for(;r!==Y;){let c=n/r,f=n%r,l=i-s*c,d=o-a*c;n=r,r=f,i=s,o=a,s=l,a=d}if(n!==ht)throw new Error("invert: does not exist");return N(i,t)}function q9(e,t=Et.P){let r=new Array(e.length),n=e.reduce((o,s,a)=>s===Y?o:(r[a]=o,N(o*s,t)),ht),i=jn(n,t);return e.reduceRight((o,s,a)=>s===Y?o:(r[a]=N(o*r[a],t),N(o*s,t)),i),r}function z9(e){let t=e.length*8-Yn*8,r=Nr(e);return t>0?r>>BigInt(t):r}function t2(e,t=!1){let r=z9(e);if(t)return r;let{n}=Et;return r>=n?r-n:r}var Wn,O0,Js=class{constructor(t,r){if(this.hashLen=t,this.qByteLen=r,typeof t!="number"||t<2)throw new Error("hashLen must be a number");if(typeof r!="number"||r<2)throw new Error("qByteLen must be a number");this.v=new Uint8Array(t).fill(1),this.k=new Uint8Array(t).fill(0),this.counter=0}hmac(...t){return Ce.hmacSha256(this.k,...t)}hmacSync(...t){return O0(this.k,...t)}checkSync(){if(typeof O0!="function")throw new p1("hmacSha256Sync needs to be set")}incr(){if(this.counter>=1e3)throw new Error("Tried 1,000 k values for sign(), all were invalid");this.counter+=1}async reseed(t=new Uint8Array){this.k=await this.hmac(this.v,Uint8Array.from([0]),t),this.v=await this.hmac(this.v),t.length!==0&&(this.k=await this.hmac(this.v,Uint8Array.from([1]),t),this.v=await this.hmac(this.v))}reseedSync(t=new Uint8Array){this.checkSync(),this.k=this.hmacSync(this.v,Uint8Array.from([0]),t),this.v=this.hmacSync(this.v),t.length!==0&&(this.k=this.hmacSync(this.v,Uint8Array.from([1]),t),this.v=this.hmacSync(this.v))}async generate(){this.incr();let t=0,r=[];for(;t<this.qByteLen;){this.v=await this.hmac(this.v);let n=this.v.slice();r.push(n),t+=this.v.length}return Rr(...r)}generateSync(){this.checkSync(),this.incr();let t=0,r=[];for(;t<this.qByteLen;){this.v=this.hmacSync(this.v);let n=this.v.slice();r.push(n),t+=this.v.length}return Rr(...r)}};function M0(e){return Y<e&&e<Et.n}function Zs(e){return Y<e&&e<Et.P}function $9(e,t,r,n=!0){let{n:i}=Et,o=t2(e,!0);if(!M0(o))return;let s=jn(o,i),a=et.BASE.multiply(o),u=N(a.x,i);if(u===Y)return;let c=N(s*N(t+r*u,i),i);if(c===Y)return;let f=new Ge(u,c),l=(a.x===f.r?0:2)|Number(a.y&ht);return n&&f.hasHighS()&&(f=f.normalizeS(),l^=1),{sig:f,recovery:l}}function y1(e){let t;if(typeof e=="bigint")t=e;else if(typeof e=="number"&&Number.isSafeInteger(e)&&e>0)t=BigInt(e);else if(typeof e=="string"){if(e.length!==2*Yn)throw new Error("Expected 32 bytes of private key");t=d1(e)}else if(e instanceof Uint8Array){if(e.length!==Yn)throw new Error("Expected 32 bytes of private key");t=Nr(e)}else throw new TypeError("Expected valid private key");if(!M0(t))throw new Error("Expected private key: 0 < key < n");return t}function H9(e){return e instanceof et?(e.assertValidity(),e):et.fromHex(e)}function S6(e){if(e instanceof Ge)return e.assertValidity(),e;try{return Ge.fromDER(e)}catch{return Ge.fromCompact(e)}}function e2(e,t=!1){return et.fromPrivateKey(e).toRawBytes(t)}function A6(e){let t=e.length>Be?e.slice(0,Be):e;return Nr(t)}function G9(e){let t=A6(e),r=N(t,Et.n);return I6(r<Y?t:r)}function I6(e){return js(e)}function Q9(e,t,r){if(e==null)throw new Error(`sign: expected valid message hash, not "${e}"`);let n=Xn(e),i=y1(t),o=[I6(i),G9(n)];if(r!=null){r===!0&&(r=Ce.randomBytes(Be));let u=Xn(r);if(u.length!==Be)throw new Error(`sign: Expected ${Be} bytes of extra data`);o.push(u)}let s=Rr(...o),a=A6(n);return{seed:s,m:a,d:i}}function W9(e,t){let{sig:r,recovery:n}=e,{der:i,recovered:o}=Object.assign({canonical:!0,der:!0},t),s=i?r.toDERRawBytes():r.toCompactRawBytes();return o?[s,n]:s}async function B6(e,t,r={}){let{seed:n,m:i,d:o}=Q9(e,t,r.extraEntropy),s=new Js(U9,Yn);await s.reseed(n);let a;for(;!(a=$9(await s.generate(),i,o,r.canonical));)await s.reseed();return W9(a,r)}var Y9={strict:!0};function C6(e,t,r,n=Y9){let i;try{i=S6(e),t=Xn(t)}catch{return!1}let{r:o,s}=i;if(n.strict&&i.hasHighS())return!1;let a=t2(t),u;try{u=H9(r)}catch{return!1}let{n:c}=Et,f=jn(s,c),l=N(a*f,c),d=N(o*f,c),p=et.BASE.multiplyAndAddUnsafe(u,l,d);return p?N(p.x,c)===o:!1}et.BASE._setWindowSize(8);var ie={node:F9,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0};var h1={},Ce={bytesToHex:Zn,hexToBytes:on,concatBytes:Rr,mod:N,invert:jn,isValidPrivateKey(e){try{return y1(e),!0}catch{return!1}},_bigintTo32Bytes:js,_normalizePrivateKey:y1,hashToPrivateKey:e=>{e=Xn(e);let t=Yn+8;if(e.length<t||e.length>1024)throw new Error("Expected valid bytes of private key as per FIPS 186");let r=N(Nr(e),Et.n-ht)+ht;return js(r)},randomBytes:(e=32)=>{if(ie.web)return ie.web.getRandomValues(new Uint8Array(e));if(ie.node){let{randomBytes:t}=ie.node;return Uint8Array.from(t(e))}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>Ce.hashToPrivateKey(Ce.randomBytes(Yn+8)),precompute(e=8,t=et.BASE){let r=t===et.BASE?t:new et(t.x,t.y);return r._setWindowSize(e),r.multiply(U0),r},sha256:async(...e)=>{if(ie.web){let t=await ie.web.subtle.digest("SHA-256",Rr(...e));return new Uint8Array(t)}else if(ie.node){let{createHash:t}=ie.node,r=t("sha256");return e.forEach(n=>r.update(n)),Uint8Array.from(r.digest())}else throw new Error("The environment doesn't have sha256 function")},hmacSha256:async(e,...t)=>{if(ie.web){let r=await ie.web.subtle.importKey("raw",e,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),n=Rr(...t),i=await ie.web.subtle.sign("HMAC",r,n);return new Uint8Array(i)}else if(ie.node){let{createHmac:r}=ie.node,n=r("sha256",e);return t.forEach(i=>n.update(i)),Uint8Array.from(n.digest())}else throw new Error("The environment doesn't have hmac-sha256 function")},sha256Sync:void 0,hmacSha256Sync:void 0,taggedHash:async(e,...t)=>{let r=h1[e];if(r===void 0){let n=await Ce.sha256(Uint8Array.from(e,i=>i.charCodeAt(0)));r=Rr(n,n),h1[e]=r}return Ce.sha256(r,...t)},taggedHashSync:(e,...t)=>{if(typeof Wn!="function")throw new p1("sha256Sync is undefined, you need to set it");let r=h1[e];if(r===void 0){let n=Wn(Uint8Array.from(e,i=>i.charCodeAt(0)));r=Rr(n,n),h1[e]=r}return Wn(r,...t)},_JacobianPoint:J};Object.defineProperties(Ce,{sha256Sync:{configurable:!1,get(){return Wn},set(e){Wn||(Wn=e)}},hmacSha256Sync:{configurable:!1,get(){return O0},set(e){O0||(O0=e)}}});function sn(e){if(isNaN(e)||e<=0)throw new C("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return Ce.randomBytes(e)}var an={};Lt(an,{jwkToPkcs1:()=>j9,jwkToPkix:()=>th,pkcs1ToJwk:()=>X9,pkixToJwk:()=>J9});var Ux=$(N0(),1),Ox=$(s1(),1),fr=$(nt(),1);function X9(e){let t=fr.default.asn1.fromDer(M(e,"ascii")),r=fr.default.pki.privateKeyFromAsn1(t);return{kty:"RSA",n:Ie(r.n),e:Ie(r.e),d:Ie(r.d),p:Ie(r.p),q:Ie(r.q),dp:Ie(r.dP),dq:Ie(r.dQ),qi:Ie(r.qInv),alg:"RS256"}}function j9(e){if(e.n==null||e.e==null||e.d==null||e.p==null||e.q==null||e.dp==null||e.dq==null||e.qi==null)throw new C("JWK was missing components","ERR_INVALID_PARAMETERS");let t=fr.default.pki.privateKeyToAsn1({n:ne(e.n),e:ne(e.e),d:ne(e.d),p:ne(e.p),q:ne(e.q),dP:ne(e.dp),dQ:ne(e.dq),qInv:ne(e.qi)});return xt(fr.default.asn1.toDer(t).getBytes(),"ascii")}function J9(e){let t=fr.default.asn1.fromDer(M(e,"ascii")),r=fr.default.pki.publicKeyFromAsn1(t);return{kty:"RSA",n:Ie(r.n),e:Ie(r.e)}}function th(e){if(e.n==null||e.e==null)throw new C("JWK was missing components","ERR_INVALID_PARAMETERS");let t=fr.default.pki.publicKeyToAsn1({n:ne(e.n),e:ne(e.e)});return xt(fr.default.asn1.toDer(t).getBytes(),"ascii")}var zx=$(s1(),1),r2=$(nt(),1);function _6(e,t){return t.map(r=>ne(e[r]))}function T6(e){return r2.default.pki.setRsaPrivateKey(..._6(e,["n","e","d","p","q","dp","dq","qi"]))}function R6(e){return r2.default.pki.setRsaPublicKey(..._6(e,["n","e"]))}async function P6(e){let t=await Bt.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),r=await k6(t);return{privateKey:r[0],publicKey:r[1]}}async function n2(e){let r=[await Bt.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await eh(e)],n=await k6({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function N6(e,t){let r=await Bt.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await Bt.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,Uint8Array.from(t));return new Uint8Array(n,0,n.byteLength)}async function L6(e,t,r){let n=await Bt.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return await Bt.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,r)}async function k6(e){if(e.privateKey==null||e.publicKey==null)throw new C("Private and public key are required","ERR_INVALID_PARAMETERS");return await Promise.all([Bt.get().subtle.exportKey("jwk",e.privateKey),Bt.get().subtle.exportKey("jwk",e.publicKey)])}async function eh(e){return await Bt.get().subtle.importKey("jwk",{kty:e.kty,n:e.n,e:e.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function D6(e,t,r,n){let i=t?R6(e):T6(e),o=M(Uint8Array.from(r),"ascii"),s=n(o,i);return xt(s,"ascii")}function F6(e,t){return D6(e,!0,t,(r,n)=>n.encrypt(r))}function U6(e,t){return D6(e,!1,t,(r,n)=>n.decrypt(r))}async function Jn(e,t){let n=await u1().encrypt(e,t);return Hr.encode(n)}var V0=class{constructor(t){this._key=t}async verify(t,r){return await L6(this._key,r,t)}marshal(){return an.jwkToPkix(this._key)}get bytes(){return Ee.encode({Type:ct.RSA,Data:this.marshal()}).subarray()}encrypt(t){return F6(this._key,t)}equals(t){return st(this.bytes,t.bytes)}async hash(){let{bytes:t}=await mt.digest(this.bytes);return t}},t0=class{constructor(t,r){this._key=t,this._publicKey=r}genSecret(){return sn(16)}async sign(t){return await N6(this._key,t)}get public(){if(this._publicKey==null)throw new C("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new V0(this._publicKey)}decrypt(t){return U6(this._key,t)}marshal(){return an.jwkToPkcs1(this._key)}get bytes(){return Se.encode({Type:ct.RSA,Data:this.marshal()}).subarray()}equals(t){return st(this.bytes,t.bytes)}async hash(){let{bytes:t}=await mt.digest(this.bytes);return t}async id(){let t=await this.public.hash();return M(t,"base58btc")}async export(t,r="pkcs-8"){if(r==="pkcs-8"){let n=new K0.default.util.ByteBuffer(this.marshal()),i=K0.default.asn1.fromDer(n),o=K0.default.pki.privateKeyFromAsn1(i),s={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return K0.default.pki.encryptRsaPrivateKey(o,t,s)}else{if(r==="libp2p-key")return await Jn(this.bytes,t);throw new C(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function nh(e){let t=an.pkcs1ToJwk(e),r=await n2(t);return new t0(r.privateKey,r.publicKey)}function ih(e){let t=an.pkixToJwk(e);return new V0(t)}async function oh(e){let t=await n2(e);return new t0(t.privateKey,t.publicKey)}async function sh(e){let t=await P6(e);return new t0(t.privateKey,t.publicKey)}var d2={};Lt(d2,{Ed25519PrivateKey:()=>cn,Ed25519PublicKey:()=>G0,generateKeyPair:()=>Ch,generateKeyPairFromSeed:()=>p2,unmarshalEd25519PrivateKey:()=>Ih,unmarshalEd25519PublicKey:()=>Bh});var ah=$($n(),1);var Kt=BigInt(0),Z=BigInt(1),Dr=BigInt(2),uh=BigInt(8),O6=BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),pt=Object.freeze({a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),P:BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),l:O6,n:O6,h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960")});var z6=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000"),q0=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),sv=BigInt("6853475219497561581579357271197624642482790079785650197046958215289687604742"),ch=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),fh=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),lh=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),hh=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),Q=class{constructor(t,r,n,i){this.x=t,this.y=r,this.z=n,this.t=i}static fromAffine(t){if(!(t instanceof yt))throw new TypeError("ExtendedPoint#fromAffine: expected Point");return t.equals(yt.ZERO)?Q.ZERO:new Q(t.x,t.y,Z,I(t.x*t.y))}static toAffineBatch(t){let r=yh(t.map(n=>n.z));return t.map((n,i)=>n.toAffine(r[i]))}static normalizeZ(t){return this.toAffineBatch(t).map(this.fromAffine)}equals(t){K6(t);let{x:r,y:n,z:i}=this,{x:o,y:s,z:a}=t,u=I(r*a),c=I(o*i),f=I(n*a),l=I(s*i);return u===c&&f===l}negate(){return new Q(I(-this.x),this.y,this.z,I(-this.t))}double(){let{x:t,y:r,z:n}=this,{a:i}=pt,o=I(t*t),s=I(r*r),a=I(Dr*I(n*n)),u=I(i*o),c=t+r,f=I(I(c*c)-o-s),l=u+s,d=l-a,p=u-s,h=I(f*d),y=I(l*p),g=I(f*p),m=I(d*l);return new Q(h,y,m,g)}add(t){K6(t);let{x:r,y:n,z:i,t:o}=this,{x:s,y:a,z:u,t:c}=t,f=I((n-r)*(a+s)),l=I((n+r)*(a-s)),d=I(l-f);if(d===Kt)return this.double();let p=I(i*Dr*c),h=I(o*Dr*u),y=h+p,g=l+f,m=h-p,v=I(y*d),S=I(g*m),L=I(y*m),T=I(d*g);return new Q(v,S,T,L)}subtract(t){return this.add(t.negate())}precomputeWindow(t){let r=1+256/t,n=[],i=this,o=i;for(let s=0;s<r;s++){o=i,n.push(o);for(let a=1;a<2**(t-1);a++)o=o.add(i),n.push(o);i=o.double()}return n}wNAF(t,r){!r&&this.equals(Q.BASE)&&(r=yt.BASE);let n=r&&r._WINDOW_SIZE||1;if(256%n)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let i=r&&c2.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=Q.normalizeZ(i),c2.set(r,i)));let o=Q.ZERO,s=Q.BASE,a=1+256/n,u=2**(n-1),c=BigInt(2**n-1),f=2**n,l=BigInt(n);for(let d=0;d<a;d++){let p=d*u,h=Number(t&c);t>>=l,h>u&&(h-=f,t+=Z);let y=p,g=p+Math.abs(h)-1,m=d%2!==0,v=h<0;h===0?s=s.add(M6(m,i[y])):o=o.add(M6(v,i[g]))}return Q.normalizeZ([o,s])[0]}multiply(t,r){return this.wNAF(m1(t,pt.l),r)}multiplyUnsafe(t){let r=m1(t,pt.l,!1),n=Q.BASE,i=Q.ZERO;if(r===Kt)return i;if(this.equals(i)||r===Z)return this;if(this.equals(n))return this.wNAF(r);let o=i,s=this;for(;r>Kt;)r&Z&&(o=o.add(s)),s=s.double(),r>>=Z;return o}isSmallOrder(){return this.multiplyUnsafe(pt.h).equals(Q.ZERO)}isTorsionFree(){let t=this.multiplyUnsafe(pt.l/Dr).double();return pt.l%Dr&&(t=t.add(this)),t.equals(Q.ZERO)}toAffine(t){let{x:r,y:n,z:i}=this,o=this.equals(Q.ZERO);t==null&&(t=o?uh:x1(i));let s=I(r*t),a=I(n*t),u=I(i*t);if(o)return yt.ZERO;if(u!==Z)throw new Error("invZ was invalid");return new yt(s,a)}fromRistrettoBytes(){s2()}toRistrettoBytes(){s2()}fromRistrettoHash(){s2()}};Q.BASE=new Q(pt.Gx,pt.Gy,Z,I(pt.Gx*pt.Gy));Q.ZERO=new Q(Kt,Z,Z,Kt);function M6(e,t){let r=t.negate();return e?r:t}function K6(e){if(!(e instanceof Q))throw new TypeError("ExtendedPoint expected")}function o2(e){if(!(e instanceof Zt))throw new TypeError("RistrettoPoint expected")}function s2(){throw new Error("Legacy method: switch to RistrettoPoint")}var Zt=class{constructor(t){this.ep=t}static calcElligatorRistrettoMap(t){let{d:r}=pt,n=I(q0*t*t),i=I((n+Z)*lh),o=BigInt(-1),s=I((o-r*n)*I(n+r)),{isValid:a,value:u}=l2(i,s),c=I(u*t);kr(c)||(c=I(-c)),a||(u=c),a||(o=n);let f=I(o*(n-Z)*hh-s),l=u*u,d=I((u+u)*s),p=I(f*ch),h=I(Z-l),y=I(Z+l);return new Q(I(d*y),I(h*p),I(p*y),I(d*h))}static hashToCurve(t){t=Fr(t,64);let r=a2(t.slice(0,32)),n=this.calcElligatorRistrettoMap(r),i=a2(t.slice(32,64)),o=this.calcElligatorRistrettoMap(i);return new Zt(n.add(o))}static fromHex(t){t=Fr(t,32);let{a:r,d:n}=pt,i="RistrettoPoint.fromHex: the hex is not valid encoding of RistrettoPoint",o=a2(t);if(!mh(z0(o),t)||kr(o))throw new Error(i);let s=I(o*o),a=I(Z+r*s),u=I(Z-r*s),c=I(a*a),f=I(u*u),l=I(r*n*c-f),{isValid:d,value:p}=q6(I(l*f)),h=I(p*u),y=I(p*h*l),g=I((o+o)*h);kr(g)&&(g=I(-g));let m=I(a*y),v=I(g*m);if(!d||kr(v)||m===Kt)throw new Error(i);return new Zt(new Q(g,m,Z,v))}toRawBytes(){let{x:t,y:r,z:n,t:i}=this.ep,o=I(I(n+r)*I(n-r)),s=I(t*r),a=I(s*s),{value:u}=q6(I(o*a)),c=I(u*o),f=I(u*s),l=I(c*f*i),d;if(kr(i*l)){let h=I(r*q0),y=I(t*q0);t=h,r=y,d=I(c*fh)}else d=f;kr(t*l)&&(r=I(-r));let p=I((n-r)*d);return kr(p)&&(p=I(-p)),z0(p)}toHex(){return $0(this.toRawBytes())}toString(){return this.toHex()}equals(t){o2(t);let r=this.ep,n=t.ep,i=I(r.x*n.y)===I(r.y*n.x),o=I(r.y*n.y)===I(r.x*n.x);return i||o}add(t){return o2(t),new Zt(this.ep.add(t.ep))}subtract(t){return o2(t),new Zt(this.ep.subtract(t.ep))}multiply(t){return new Zt(this.ep.multiply(t))}multiplyUnsafe(t){return new Zt(this.ep.multiplyUnsafe(t))}};Zt.BASE=new Zt(Q.BASE);Zt.ZERO=new Zt(Q.ZERO);var c2=new WeakMap,yt=class{constructor(t,r){this.x=t,this.y=r}_setWindowSize(t){this._WINDOW_SIZE=t,c2.delete(this)}static fromHex(t,r=!0){let{d:n,P:i}=pt;t=Fr(t,32);let o=t.slice();o[31]=t[31]&-129;let s=H0(o);if(r&&s>=i)throw new Error("Expected 0 < hex < P");if(!r&&s>=z6)throw new Error("Expected 0 < hex < 2**256");let a=I(s*s),u=I(a-Z),c=I(n*a+Z),{isValid:f,value:l}=l2(u,c);if(!f)throw new Error("Point.fromHex: invalid y coordinate");let d=(l&Z)===Z;return(t[31]&128)!==0!==d&&(l=I(-l)),new yt(l,s)}static async fromPrivateKey(t){return(await v1(t)).point}toRawBytes(){let t=z0(this.y);return t[31]|=this.x&Z?128:0,t}toHex(){return $0(this.toRawBytes())}toX25519(){let{y:t}=this,r=I((Z+t)*x1(Z-t));return z0(r)}isTorsionFree(){return Q.fromAffine(this).isTorsionFree()}equals(t){return this.x===t.x&&this.y===t.y}negate(){return new yt(I(-this.x),this.y)}add(t){return Q.fromAffine(this).add(Q.fromAffine(t)).toAffine()}subtract(t){return this.add(t.negate())}multiply(t){return Q.fromAffine(this).multiply(t,this).toAffine()}};yt.BASE=new yt(pt.Gx,pt.Gy);yt.ZERO=new yt(Kt,Z);var un=class{constructor(t,r){this.r=t,this.s=r,this.assertValidity()}static fromHex(t){let r=Fr(t,64),n=yt.fromHex(r.slice(0,32),!1),i=H0(r.slice(32,64));return new un(n,i)}assertValidity(){let{r:t,s:r}=this;if(!(t instanceof yt))throw new Error("Expected Point instance");return m1(r,pt.l,!1),this}toRawBytes(){let t=new Uint8Array(64);return t.set(this.r.toRawBytes()),t.set(z0(this.s),32),t}toHex(){return $0(this.toRawBytes())}};function V6(...e){if(!e.every(n=>n instanceof Uint8Array))throw new Error("Expected Uint8Array list");if(e.length===1)return e[0];let t=e.reduce((n,i)=>n+i.length,0),r=new Uint8Array(t);for(let n=0,i=0;n<e.length;n++){let o=e[n];r.set(o,i),i+=o.length}return r}var ph=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function $0(e){if(!(e instanceof Uint8Array))throw new Error("Uint8Array expected");let t="";for(let r=0;r<e.length;r++)t+=ph[e[r]];return t}function f2(e){if(typeof e!="string")throw new TypeError("hexToBytes: expected string, got "+typeof e);if(e.length%2)throw new Error("hexToBytes: received invalid unpadded hex");let t=new Uint8Array(e.length/2);for(let r=0;r<t.length;r++){let n=r*2,i=e.slice(n,n+2),o=Number.parseInt(i,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");t[r]=o}return t}function $6(e){let r=e.toString(16).padStart(64,"0");return f2(r)}function z0(e){return $6(e).reverse()}function kr(e){return(I(e)&Z)===Z}function H0(e){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");return BigInt("0x"+$0(Uint8Array.from(e).reverse()))}var dh=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function a2(e){return I(H0(e)&dh)}function I(e,t=pt.P){let r=e%t;return r>=Kt?r:t+r}function x1(e,t=pt.P){if(e===Kt||t<=Kt)throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);let r=I(e,t),n=t,i=Kt,o=Z,s=Z,a=Kt;for(;r!==Kt;){let c=n/r,f=n%r,l=i-s*c,d=o-a*c;n=r,r=f,i=s,o=a,s=l,a=d}if(n!==Z)throw new Error("invert: does not exist");return I(i,t)}function yh(e,t=pt.P){let r=new Array(e.length),n=e.reduce((o,s,a)=>s===Kt?o:(r[a]=o,I(o*s,t)),Z),i=x1(n,t);return e.reduceRight((o,s,a)=>s===Kt?o:(r[a]=I(o*r[a],t),I(o*s,t)),i),r}function Qe(e,t){let{P:r}=pt,n=e;for(;t-- >Kt;)n*=n,n%=r;return n}function gh(e){let{P:t}=pt,r=BigInt(5),n=BigInt(10),i=BigInt(20),o=BigInt(40),s=BigInt(80),u=e*e%t*e%t,c=Qe(u,Dr)*u%t,f=Qe(c,Z)*e%t,l=Qe(f,r)*f%t,d=Qe(l,n)*l%t,p=Qe(d,i)*d%t,h=Qe(p,o)*p%t,y=Qe(h,s)*h%t,g=Qe(y,s)*h%t,m=Qe(g,n)*l%t;return{pow_p_5_8:Qe(m,Dr)*e%t,b2:u}}function l2(e,t){let r=I(t*t*t),n=I(r*r*t),i=gh(e*n).pow_p_5_8,o=I(e*r*i),s=I(t*o*o),a=o,u=I(o*q0),c=s===e,f=s===I(-e),l=s===I(-e*q0);return c&&(o=a),(f||l)&&(o=u),kr(o)&&(o=I(-o)),{isValid:c||f,value:o}}function q6(e){return l2(Z,e)}function g1(e){return I(H0(e),pt.l)}function mh(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}function Fr(e,t){let r=e instanceof Uint8Array?Uint8Array.from(e):f2(e);if(typeof t=="number"&&r.length!==t)throw new Error(`Expected ${t} bytes`);return r}function m1(e,t,r=!0){if(!t)throw new TypeError("Specify max value");if(typeof e=="number"&&Number.isSafeInteger(e)&&(e=BigInt(e)),typeof e=="bigint"&&e<t){if(r){if(Kt<e)return e}else if(Kt<=e)return e}throw new TypeError("Expected valid scalar: 0 < scalar < max")}function xh(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}function vh(e){if(e=typeof e=="bigint"||typeof e=="number"?$6(m1(e,z6)):Fr(e),e.length!==32)throw new Error("Expected 32 bytes");return e}function wh(e){let t=xh(e.slice(0,32)),r=e.slice(32,64),n=g1(t),i=yt.BASE.multiply(n),o=i.toRawBytes();return{head:t,prefix:r,scalar:n,point:i,pointBytes:o}}var u2;async function v1(e){return wh(await Ur.sha512(vh(e)))}async function h2(e){return(await v1(e)).pointBytes}async function H6(e,t){e=Fr(e);let{prefix:r,scalar:n,pointBytes:i}=await v1(t),o=g1(await Ur.sha512(r,e)),s=yt.BASE.multiply(o),a=g1(await Ur.sha512(s.toRawBytes(),i,e)),u=I(o+a*n,pt.l);return new un(s,u).toRawBytes()}function bh(e,t,r){t=Fr(t),r instanceof yt||(r=yt.fromHex(r,!1));let{r:n,s:i}=e instanceof un?e.assertValidity():un.fromHex(e),o=Q.BASE.multiplyUnsafe(i);return{r:n,s:i,SB:o,pub:r,msg:t}}function Eh(e,t,r,n){let i=g1(n),o=Q.fromAffine(e).multiplyUnsafe(i);return Q.fromAffine(t).add(o).subtract(r).multiplyUnsafe(pt.h).equals(Q.ZERO)}async function G6(e,t,r){let{r:n,SB:i,msg:o,pub:s}=bh(e,t,r),a=await Ur.sha512(n.toRawBytes(),s.toRawBytes(),o);return Eh(s,n,i,a)}yt.BASE._setWindowSize(8);var Lr={node:ah,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0},Ur={bytesToHex:$0,hexToBytes:f2,concatBytes:V6,getExtendedPublicKey:v1,mod:I,invert:x1,TORSION_SUBGROUP:["0100000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a","0000000000000000000000000000000000000000000000000000000000000080","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05","ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85","0000000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa"],hashToPrivateScalar:e=>{if(e=Fr(e),e.length<40||e.length>1024)throw new Error("Expected 40-1024 bytes of private key as per FIPS 186");return I(H0(e),pt.l-Z)+Z},randomBytes:(e=32)=>{if(Lr.web)return Lr.web.getRandomValues(new Uint8Array(e));if(Lr.node){let{randomBytes:t}=Lr.node;return new Uint8Array(t(e).buffer)}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>Ur.randomBytes(32),sha512:async(...e)=>{let t=V6(...e);if(Lr.web){let r=await Lr.web.subtle.digest("SHA-512",t.buffer);return new Uint8Array(r)}else{if(Lr.node)return Uint8Array.from(Lr.node.createHash("sha512").update(t).digest());throw new Error("The environment doesn't have sha512 function")}},precompute(e=8,t=yt.BASE){let r=t.equals(yt.BASE)?t:new yt(t.x,t.y);return r._setWindowSize(e),r.multiply(Dr),r},sha512Sync:void 0};Object.defineProperties(Ur,{sha512Sync:{configurable:!1,get(){return u2},set(e){u2||(u2=e)}}});var e0=32,lr=64,w1=32;async function Q6(){let e=Ur.randomPrivateKey(),t=await h2(e);return{privateKey:X6(e,t),publicKey:t}}async function W6(e){if(e.length!==w1)throw new TypeError('"seed" must be 32 bytes in length.');if(!(e instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let t=e,r=await h2(t);return{privateKey:X6(t,r),publicKey:r}}async function Y6(e,t){let r=e.subarray(0,w1);return await H6(t,r)}async function Z6(e,t,r){return await G6(t,r,e)}function X6(e,t){let r=new Uint8Array(lr);for(let n=0;n<w1;n++)r[n]=e[n],r[w1+n]=t[n];return r}var G0=class{constructor(t){this._key=r0(t,e0)}async verify(t,r){return await Z6(this._key,r,t)}marshal(){return this._key}get bytes(){return Ee.encode({Type:ct.Ed25519,Data:this.marshal()}).subarray()}equals(t){return st(this.bytes,t.bytes)}async hash(){let{bytes:t}=await mt.digest(this.bytes);return t}},cn=class{constructor(t,r){this._key=r0(t,lr),this._publicKey=r0(r,e0)}async sign(t){return await Y6(this._key,t)}get public(){return new G0(this._publicKey)}marshal(){return this._key}get bytes(){return Se.encode({Type:ct.Ed25519,Data:this.marshal()}).subarray()}equals(t){return st(this.bytes,t.bytes)}async hash(){let{bytes:t}=await mt.digest(this.bytes);return t}async id(){let t=vr.digest(this.public.bytes);return St.encode(t.bytes).substring(1)}async export(t,r="libp2p-key"){if(r==="libp2p-key")return await Jn(this.bytes,t);throw new C(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Ih(e){if(e.length>lr){e=r0(e,lr+e0);let n=e.subarray(0,lr),i=e.subarray(lr,e.length);return new cn(n,i)}e=r0(e,lr);let t=e.subarray(0,lr),r=e.subarray(e0);return new cn(t,r)}function Bh(e){return e=r0(e,e0),new G0(e)}async function Ch(){let{privateKey:e,publicKey:t}=await Q6();return new cn(e,t)}async function p2(e){let{privateKey:t,publicKey:r}=await W6(e);return new cn(t,r)}function r0(e,t){if(e=Uint8Array.from(e??[]),e.length!==t)throw new C(`Key must be a Uint8Array of length ${t}, got ${e.length}`,"ERR_INVALID_KEY_TYPE");return e}var g2={};Lt(g2,{Secp256k1PrivateKey:()=>W0,Secp256k1PublicKey:()=>Q0,generateKeyPair:()=>Ph,unmarshalSecp256k1PrivateKey:()=>Th,unmarshalSecp256k1PublicKey:()=>Rh});function j6(){return Ce.randomPrivateKey()}async function J6(e,t){let{digest:r}=await mt.digest(t);try{return await B6(r,e)}catch(n){throw new C(String(n),"ERR_INVALID_INPUT")}}async function t8(e,t,r){try{let{digest:n}=await mt.digest(r);return C6(t,n,e)}catch(n){throw new C(String(n),"ERR_INVALID_INPUT")}}function e8(e){return et.fromHex(e).toRawBytes(!0)}function r8(e){try{e2(e,!0)}catch(t){throw new C(String(t),"ERR_INVALID_PRIVATE_KEY")}}function y2(e){try{et.fromHex(e)}catch(t){throw new C(String(t),"ERR_INVALID_PUBLIC_KEY")}}function n8(e){try{return e2(e,!0)}catch(t){throw new C(String(t),"ERR_INVALID_PRIVATE_KEY")}}var Q0=class{constructor(t){y2(t),this._key=t}async verify(t,r){return await t8(this._key,r,t)}marshal(){return e8(this._key)}get bytes(){return Ee.encode({Type:ct.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return st(this.bytes,t.bytes)}async hash(){let{bytes:t}=await mt.digest(this.bytes);return t}},W0=class{constructor(t,r){this._key=t,this._publicKey=r??n8(t),r8(this._key),y2(this._publicKey)}async sign(t){return await J6(this._key,t)}get public(){return new Q0(this._publicKey)}marshal(){return this._key}get bytes(){return Se.encode({Type:ct.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return st(this.bytes,t.bytes)}async hash(){let{bytes:t}=await mt.digest(this.bytes);return t}async id(){let t=await this.public.hash();return M(t,"base58btc")}async export(t,r="libp2p-key"){if(r==="libp2p-key")return await Jn(this.bytes,t);throw new C(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Th(e){return new W0(e)}function Rh(e){return new Q0(e)}async function Ph(){let e=j6();return new W0(e)}var We={rsa:i2,ed25519:d2,secp256k1:g2};function m2(e){let t=Object.keys(We).join(" / ");return new C(`invalid or unsupported key type ${e}. Must be ${t}`,"ERR_UNSUPPORTED_KEY_TYPE")}function x2(e){if(e=e.toLowerCase(),e==="rsa"||e==="ed25519"||e==="secp256k1")return We[e];throw m2(e)}async function Nh(e,t){return await x2(e).generateKeyPair(t??2048)}async function Lh(e,t,r){if(e.toLowerCase()!=="ed25519")throw new C("Seed key derivation is unimplemented for RSA or secp256k1","ERR_UNSUPPORTED_KEY_DERIVATION_TYPE");return await p2(t)}function kh(e){let t=Ee.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case ct.RSA:return We.rsa.unmarshalRsaPublicKey(r);case ct.Ed25519:return We.ed25519.unmarshalEd25519PublicKey(r);case ct.Secp256k1:return We.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw m2(t.Type??"RSA")}}function Dh(e,t){return t=(t??"rsa").toLowerCase(),x2(t),e.bytes}async function i8(e){let t=Se.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case ct.RSA:return await We.rsa.unmarshalRsaPrivateKey(r);case ct.Ed25519:return We.ed25519.unmarshalEd25519PrivateKey(r);case ct.Secp256k1:return We.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw m2(t.Type??"RSA")}}function Fh(e,t){return t=(t??"rsa").toLowerCase(),x2(t),e.bytes}async function Uh(e,t){try{let i=await u6(e,t);return await i8(i)}catch{}let r=b1.default.pki.decryptRsaPrivateKey(e,t);if(r===null)throw new C("Cannot read the key, most likely the password is wrong or not a RSA key","ERR_CANNOT_DECRYPT_PEM");let n=b1.default.asn1.toDer(b1.default.pki.privateKeyToAsn1(r));return n=xt(n.getBytes(),"ascii"),await We.rsa.unmarshalRsaPrivateKey(n)}var Oh=$(Us(),1),Mh=$(Ct(),1);function Kh(e){return e[Symbol.asyncIterator]!=null}function Vh(e){if(Kh(e))return(async()=>{let t=0;for await(let r of e)t++;return t})();{let t=0;for(let r of e)t++;return t}}var S1=Vh;var A1=15,I1=class{constructor(t){let{peerRouting:r,routingTable:n,refreshInterval:i,refreshQueryTimeout:o,lan:s}=t;this.log=z(`libp2p:kad-dht:${s?"lan":"wan"}:routing-table:refresh`),this.peerRouting=r,this.routingTable=n,this.refreshInterval=i??3e5,this.refreshQueryTimeout=o??3e4,this.commonPrefixLengthRefreshedAt=[],this.refreshTable=this.refreshTable.bind(this)}async start(){this.log(`refreshing routing table every ${this.refreshInterval}ms`),this.refreshTable(!0)}async stop(){this.refreshTimeoutId!=null&&clearTimeout(this.refreshTimeoutId)}refreshTable(t=!1){this.log("refreshing routing table");let r=this._maxCommonPrefix(),n=this._getTrackedCommonPrefixLengthsForRefresh(r);this.log(`max common prefix length ${r}`),this.log(`tracked CPLs [ ${n.map(i=>i.toISOString()).join(", ")} ]`),Promise.all(n.map(async(i,o)=>{try{if(await this._refreshCommonPrefixLength(o,i,t),this._numPeersForCpl(r)===0){let s=Math.min(2*(o+1),n.length-1);for(let a=o+1;a<s+1;a++)try{await this._refreshCommonPrefixLength(a,i,t)}catch(u){this.log.error(u)}}}catch(s){this.log.error(s)}})).catch(i=>{this.log.error(i)}).then(()=>{this.refreshTimeoutId=setTimeout(this.refreshTable,this.refreshInterval),this.refreshTimeoutId.unref!=null&&this.refreshTimeoutId.unref()}).catch(i=>{this.log.error(i)})}async _refreshCommonPrefixLength(t,r,n){if(!n&&r.getTime()>Date.now()-this.refreshInterval){this.log("not running refresh for cpl %s as time since last refresh not above interval",t);return}let i=await this._generateRandomPeerId(t);this.log("starting refreshing cpl %s with key %p (routing table size was %s)",t,i,this.routingTable.size);let o=await S1(this.peerRouting.getClosestPeers(i.toBytes(),{signal:AbortSignal.timeout(this.refreshQueryTimeout)}));this.log(`found ${o} peers that were close to imaginary peer %p`,i),this.log("finished refreshing cpl %s with key %p (routing table size is now %s)",t,i,this.routingTable.size)}_getTrackedCommonPrefixLengthsForRefresh(t){t>A1&&(t=A1);let r=[];for(let n=0;n<=t;n++)r[n]=this.commonPrefixLengthRefreshedAt[n]??new Date;return r}async _generateRandomPeerId(t){if(this.routingTable.kb==null)throw new Error("Routing table not started");let r=sn(2),n=(r[1]<<8)+r[0],i=await this._makePeerId(this.routingTable.kb.localNodeId,n,t);return Yr(i)}async _makePeerId(t,r,n){if(n>A1)throw new Error(`Cannot generate peer ID for common prefix length greater than ${A1}`);let s=new DataView(t.buffer,t.byteOffset,t.byteLength).getUint16(0,!1)^32768>>n,a=65535<<16-(n+1),u=s&a|r&~a,c=N4[u],f=new ArrayBuffer(34),l=new DataView(f,0,f.byteLength);return l.setUint8(0,mt.code),l.setUint8(1,32),l.setUint32(2,c,!1),new Uint8Array(l.buffer,l.byteOffset,l.byteLength)}_maxCommonPrefix(){let t=0;for(let r of this._prefixLengths())r>t&&(t=r);return t}_numPeersForCpl(t){let r=0;for(let n of this._prefixLengths())n===t&&r++;return r}*_prefixLengths(){if(this.routingTable.kb!=null)for(let{id:t}of this.routingTable.kb.toIterable()){let r=sr(this.routingTable.kb.localNodeId,t),n=0;for(let i of r)if(i===0)n++;else break;yield n}}};var B1=class{constructor(t){if(!(t>0)||t-1&t)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(t),this.mask=t-1,this.top=0,this.btm=0,this.next=null}push(t){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=t,this.top=this.top+1&this.mask,!0)}shift(){let t=this.buffer[this.btm];if(t!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,t}isEmpty(){return this.buffer[this.btm]===void 0}},n0=class{constructor(t={}){this.hwm=t.splitLimit??16,this.head=new B1(this.hwm),this.tail=this.head,this.size=0}calculateSize(t){return t?.byteLength!=null?t.byteLength:1}push(t){if(t?.value!=null&&(this.size+=this.calculateSize(t.value)),!this.head.push(t)){let r=this.head;this.head=r.next=new B1(2*this.head.buffer.length),this.head.push(t)}}shift(){let t=this.tail.shift();if(t===void 0&&this.tail.next!=null){let r=this.tail.next;this.tail.next=null,this.tail=r,t=this.tail.shift()}return t?.value!=null&&(this.size-=this.calculateSize(t.value)),t}isEmpty(){return this.head.isEmpty()}};function C1(e={}){return $h(r=>{let n=r.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},e)}function $h(e,t){t=t??{};let r=t.onEnd,n=new n0,i,o,s,a=async()=>n.isEmpty()?s?{done:!0}:await new Promise((y,g)=>{o=m=>{o=null,n.push(m);try{y(e(n))}catch(v){g(v)}return i}}):e(n),u=y=>o!=null?o(y):(n.push(y),i),c=y=>(n=new n0,o!=null?o({error:y}):(n.push({error:y}),i)),f=y=>{if(s)return i;if(t?.objectMode!==!0&&y?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return u({done:!1,value:y})},l=y=>s?i:(s=!0,y!=null?c(y):u({done:!0})),d=()=>(n=new n0,l(),{done:!0}),p=y=>(l(y),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:a,return:d,throw:p,push:f,end:l,get readableLength(){return n.size}},r==null)return i;let h=i;return i={[Symbol.asyncIterator](){return this},next(){return h.next()},throw(y){return h.throw(y),r!=null&&(r(y),r=void 0),{done:!0}},return(){return h.return(),r!=null&&(r(),r=void 0),{done:!0}},push:f,end(y){return h.end(y),r!=null&&(r(y),r=void 0),i},get readableLength(){return h.readableLength}},i}function Hh(e){return e[Symbol.asyncIterator]!=null}function Gh(...e){let t=[];for(let r of e)Hh(r)||t.push(r);return t.length===e.length?function*(){for(let r of t)yield*r}():async function*(){let r=C1({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(e.map(async n=>{for await(let i of n)r.push(i)})),r.end()}catch(n){r.end(n)}}),yield*r}()}var _e=Gh;function Te(e,...t){if(e==null)throw new Error("Empty pipeline");if(v2(e)){let n=e;e=()=>n.source}else if(s8(e)||o8(e)){let n=e;e=()=>n}let r=[e,...t];if(r.length>1&&v2(r[r.length-1])&&(r[r.length-1]=r[r.length-1].sink),r.length>2)for(let n=1;n<r.length-1;n++)v2(r[n])&&(r[n]=Wh(r[n]));return Qh(...r)}var Qh=(...e)=>{let t;for(;e.length>0;)t=e.shift()(t);return t},o8=e=>e?.[Symbol.asyncIterator]!=null,s8=e=>e?.[Symbol.iterator]!=null,v2=e=>e==null?!1:e.sink!=null&&e.source!=null,Wh=e=>t=>{let r=e.sink(t);if(r?.then!=null){let n=C1({objectMode:!0});r.then(()=>{n.end()},s=>{n.end(s)});let i,o=e.source;if(o8(o))i=async function*(){yield*o,n.end()};else if(s8(o))i=function*(){yield*o,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return _e(n,i())}return e.source};var u8=Symbol.for("@achingbrain/uint8arraylist");function a8(e,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let r=0;for(let n of e){let i=r+n.byteLength;if(t<i)return{buf:n,index:t-r};r=i}throw new RangeError("index is out of bounds")}function _1(e){return!!e?.[u8]}var Ye=class{constructor(...t){Object.defineProperty(this,u8,{value:!0}),this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let r=0;for(let n of t)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(_1(n))r+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}prepend(...t){this.prependAll(t)}prependAll(t){let r=0;for(let n of t.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(_1(n))r+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}get(t){let r=a8(this.bufs,t);return r.buf[r.index]}set(t,r){let n=a8(this.bufs,t);n.buf[n.index]=r}write(t,r=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(r+n,t[n]);else if(_1(t))for(let n=0;n<t.length;n++)this.set(r+n,t.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(t){if(t=Math.trunc(t),!(Number.isNaN(t)||t<=0)){if(t===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,r){let{bufs:n,length:i}=this._subList(t,r);return ut(n,i)}subarray(t,r){let{bufs:n,length:i}=this._subList(t,r);return n.length===1?n[0]:ut(n,i)}sublist(t,r){let{bufs:n,length:i}=this._subList(t,r),o=new Ye;return o.length=i,o.bufs=n,o}_subList(t,r){if(t=t??0,r=r??this.length,t<0&&(t=this.length+t),r<0&&(r=this.length+r),t<0||r>this.length)throw new RangeError("index is out of bounds");if(t===r)return{bufs:[],length:0};if(t===0&&r===this.length)return{bufs:[...this.bufs],length:this.length};let n=[],i=0;for(let o=0;o<this.bufs.length;o++){let s=this.bufs[o],a=i,u=a+s.byteLength;if(i=u,t>=u)continue;let c=t>=a&&t<u,f=r>a&&r<=u;if(c&&f){if(t===a&&r===u){n.push(s);break}let l=t-a;n.push(s.subarray(l,l+(r-t)));break}if(c){if(t===0){n.push(s);continue}n.push(s.subarray(t-a));continue}if(f){if(r===u){n.push(s);break}n.push(s.subarray(0,r-a));break}n.push(s)}return{bufs:n,length:r-t}}indexOf(t,r=0){if(!_1(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=t instanceof Uint8Array?t:t.subarray();if(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),t.length===0)return r>this.length?this.length:r;let i=n.byteLength;if(i===0)throw new TypeError("search must be at least 1 byte long");let o=256,s=new Int32Array(o);for(let l=0;l<o;l++)s[l]=-1;for(let l=0;l<i;l++)s[n[l]]=l;let a=s,u=this.byteLength-n.byteLength,c=n.byteLength-1,f;for(let l=r;l<=u;l+=f){f=0;for(let d=c;d>=0;d--){let p=this.get(l+d);if(n[d]!==p){f=Math.max(1,d-a[p]);break}}if(f===0)return l}return-1}getInt8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(t,r){let n=jt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,t)}getInt16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(t,r,n){let i=tr(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,r,n),this.write(i,t)}getInt32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(t,r,n){let i=tr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,r,n),this.write(i,t)}getBigInt64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(t,r,n){let i=tr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,r,n),this.write(i,t)}getUint8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(t,r){let n=jt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,t)}getUint16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(t,r,n){let i=tr(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,r,n),this.write(i,t)}getUint32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(t,r,n){let i=tr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,r,n),this.write(i,t)}getBigUint64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(t,r,n){let i=tr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,r,n),this.write(i,t)}getFloat32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(t,r,n){let i=tr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,r,n),this.write(i,t)}getFloat64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(t,r,n){let i=tr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,r,n),this.write(i,t)}equals(t){if(t==null||!(t instanceof Ye)||t.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!st(this.bufs[r],t.bufs[r]))return!1;return!0}static fromUint8Arrays(t,r){let n=new Ye;return n.bufs=t,r==null&&(r=t.reduce((i,o)=>i+o.byteLength,0)),n.length=r,n}};function T1(e){return e instanceof Uint8Array?{get(t){return e[t]},set(t,r){e[t]=r}}:{get(t){return e.get(t)},set(t,r){e.set(t,r)}}}var c8=4294967296,oe=class{constructor(t=0,r=0){this.hi=t,this.lo=r}toBigInt(t){if(t===!0)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(BigInt(r)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toNumber(t){return Number(this.toBigInt(t))}zzDecode(){let t=-(this.lo&1),r=((this.lo>>>1|this.hi<<31)^t)>>>0,n=(this.hi>>>1^t)>>>0;return new oe(n,r)}zzEncode(){let t=this.hi>>31,r=((this.hi<<1|this.lo>>>31)^t)>>>0,n=(this.lo<<1^t)>>>0;return new oe(r,n)}toBytes(t,r=0){let n=T1(t);for(;this.hi>0;)n.set(r++,this.lo&127|128),this.lo=(this.lo>>>7|this.hi<<25)>>>0,this.hi>>>=7;for(;this.lo>127;)n.set(r++,this.lo&127|128),this.lo=this.lo>>>7;n.set(r++,this.lo)}static fromBigInt(t){if(t===0n)return new oe;let r=t<0;r&&(t=-t);let n=Number(t>>32n)|0,i=Number(t-(BigInt(n)<<32n))|0;return r&&(n=~n>>>0,i=~i>>>0,++i>c8&&(i=0,++n>c8&&(n=0))),new oe(n,i)}static fromNumber(t){if(t===0)return new oe;let r=t<0;r&&(t=-t);let n=t>>>0,i=(t-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new oe(i,n)}static fromBytes(t,r=0){let n=T1(t),i=new oe,o=0;if(t.length-r>4){for(;o<4;++o)if(i.lo=(i.lo|(n.get(r)&127)<<o*7)>>>0,n.get(r++)<128)return i;if(i.lo=(i.lo|(n.get(r)&127)<<28)>>>0,i.hi=(i.hi|(n.get(r)&127)>>4)>>>0,n.get(r++)<128)return i;o=0}else for(;o<4;++o){if(r>=t.length)throw RangeError(`index out of range: ${r} > ${t.length}`);if(i.lo=(i.lo|(n.get(r)&127)<<o*7)>>>0,n.get(r++)<128)return i}if(t.length-r>4){for(;o<5;++o)if(i.hi=(i.hi|(n.get(r)&127)<<o*7+3)>>>0,n.get(r++)<128)return i}else if(r<t.byteLength)for(;o<5;++o){if(r>=t.length)throw RangeError(`index out of range: ${r} > ${t.length}`);if(i.hi=(i.hi|(n.get(r)&127)<<o*7+3)>>>0,n.get(r++)<128)return i}throw RangeError("invalid varint encoding")}};var Yh=Math.pow(2,7),Zh=Math.pow(2,14),Xh=Math.pow(2,21),jh=Math.pow(2,28),Jh=Math.pow(2,35),tp=Math.pow(2,42),ep=Math.pow(2,49),rp=Math.pow(2,56),np=Math.pow(2,63),fn={encodingLength(e){return e<Yh?1:e<Zh?2:e<Xh?3:e<jh?4:e<Jh?5:e<tp?6:e<ep?7:e<rp?8:e<np?9:10},encode(e,t,r=0){if(Number.MAX_SAFE_INTEGER!=null&&e>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return t==null&&(t=jt(fn.encodingLength(e))),oe.fromNumber(e).toBytes(t,r),t},decode(e,t=0){return oe.fromBytes(e,t).toNumber(!0)}};function R1(e){return e[Symbol.asyncIterator]!=null}var P1=e=>{let t=fn.encodingLength(e),r=jt(t);return fn.encode(e,r),P1.bytes=t,r};P1.bytes=0;function ln(e,t){t=t??{};let r=t.lengthEncoder??P1;function*n(i){let o=r(i.byteLength);o instanceof Uint8Array?yield o:yield*o,i instanceof Uint8Array?yield i:yield*i}return R1(e)?async function*(){for await(let i of e)yield*n(i)}():function*(){for(let i of e)yield*n(i)}()}ln.single=(e,t)=>{t=t??{};let r=t.lengthEncoder??P1;return new Ye(r(e.byteLength),e)};var i0=$(h8(),1);var op=8,sp=1024*1024*4,hn;(function(e){e[e.LENGTH=0]="LENGTH",e[e.DATA=1]="DATA"})(hn||(hn={}));var w2=e=>{let t=fn.decode(e);return w2.bytes=fn.encodingLength(t),t};w2.bytes=0;function pn(e,t){let r=new Ye,n=hn.LENGTH,i=-1,o=t?.lengthDecoder??w2,s=t?.maxLengthLength??op,a=t?.maxDataLength??sp;function*u(){for(;r.byteLength>0;){if(n===hn.LENGTH)try{if(i=o(r),i<0)throw(0,i0.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,i0.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let c=o.bytes;r.consume(c),t?.onLength!=null&&t.onLength(i),n=hn.DATA}catch(c){if(c instanceof RangeError){if(r.byteLength>s)throw(0,i0.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw c}if(n===hn.DATA){if(r.byteLength<i)break;let c=r.sublist(0,i);r.consume(i),t?.onData!=null&&t.onData(c),yield c,n=hn.LENGTH}}}return R1(e)?async function*(){for await(let c of e)r.append(c),yield*u();if(r.byteLength>0)throw(0,i0.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let c of e)r.append(c),yield*u();if(r.byteLength>0)throw(0,i0.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}pn.fromReader=(e,t)=>{let r=1,n=async function*(){for(;;)try{let{done:o,value:s}=await e.next(r);if(o===!0)return;s!=null&&(yield s)}catch(o){if(o.code==="ERR_UNDER_READ")return{done:!0,value:null};throw o}finally{r=1}}();return pn(n,{...t??{},onLength:o=>{r=o}})};function ap(e){return e[Symbol.asyncIterator]!=null}function up(e){if(ap(e))return(async()=>{for await(let t of e);})();for(let t of e);}var Y0=up;function cp(e){return e[Symbol.asyncIterator]!=null}function fp(e){if(cp(e))return(async()=>{for await(let t of e)return t})();for(let t of e)return t}var d8=fp;var y8=W3,lp=Y3,b2=function(e){let t=0;if(e=e.toString().trim(),y8(e)){let r=new Uint8Array(t+4);return e.split(/\./g).forEach(n=>{r[t++]=parseInt(n,10)&255}),r}if(lp(e)){let r=e.split(":",8),n;for(n=0;n<r.length;n++){let o=y8(r[n]),s;o&&(s=b2(r[n]),r[n]=M(s.slice(0,2),"base16")),s!=null&&++n<8&&r.splice(n,0,M(s.slice(2,4),"base16"))}if(r[0]==="")for(;r.length<8;)r.unshift("0");else if(r[r.length-1]==="")for(;r.length<8;)r.push("0");else if(r.length<8){for(n=0;n<r.length&&r[n]!=="";n++);let o=[n,1];for(n=9-r.length;n>0;n--)o.push("0");r.splice.apply(r,o)}let i=new Uint8Array(t+16);for(n=0;n<r.length;n++){let o=parseInt(r[n],16);i[t++]=o>>8&255,i[t++]=o&255}return i}throw new Error("invalid ip address")},g8=function(e,t=0,r){t=~~t,r=r??e.length-t;let n=new DataView(e.buffer);if(r===4){let i=[];for(let o=0;o<r;o++)i.push(e[t+o]);return i.join(".")}if(r===16){let i=[];for(let o=0;o<r;o+=2)i.push(n.getUint16(t+o).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var Z0={},E2={},pp=[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,-1,"ip6zone"],[43,8,"ipcidr"],[53,-1,"dns",!0],[54,-1,"dns4",!0],[55,-1,"dns6",!0],[56,-1,"dnsaddr",!0],[132,16,"sctp"],[273,16,"udp"],[275,0,"p2p-webrtc-star"],[276,0,"p2p-webrtc-direct"],[277,0,"p2p-stardust"],[280,0,"webrtc-direct"],[281,0,"webrtc"],[290,0,"p2p-circuit"],[301,0,"udt"],[302,0,"utp"],[400,-1,"unix",!1,!0],[421,-1,"ipfs"],[421,-1,"p2p"],[443,0,"https"],[444,96,"onion"],[445,296,"onion3"],[446,-1,"garlic64"],[448,0,"tls"],[449,-1,"sni"],[460,0,"quic"],[461,0,"quic-v1"],[465,0,"webtransport"],[466,-1,"certhash"],[477,0,"ws"],[478,0,"wss"],[479,0,"p2p-websocket-star"],[480,0,"http"],[777,-1,"memory"]];pp.forEach(e=>{let t=dp(...e);E2[t.code]=t,Z0[t.name]=t});function dp(e,t,r,n,i){return{code:e,size:t,name:r,resolvable:!!n,path:!!i}}function ot(e){if(typeof e=="number"){if(E2[e]!=null)return E2[e];throw new Error(`no protocol with code: ${e}`)}else if(typeof e=="string"){if(Z0[e]!=null)return Z0[e];throw new Error(`no protocol with name: ${e}`)}throw new Error(`invalid protocol id type: ${typeof e}`)}var Ze=$(X0(),1);var Fw=parseInt("0xFFFF",16),Uw=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);var db=ot("ip4"),yb=ot("ip6"),gb=ot("ipcidr");function N8(e,t){switch(ot(e).code){case 4:case 41:return Lp(t);case 42:return R8(t);case 6:case 273:case 33:case 132:return k8(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return R8(t);case 421:return Up(t);case 444:return P8(t);case 445:return P8(t);case 466:return Fp(t);default:return M(t,"base16")}}function L8(e,t){switch(ot(e).code){case 4:return _8(t);case 41:return _8(t);case 42:return T8(t);case 6:case 273:case 33:case 132:return B2(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return T8(t);case 421:return kp(t);case 444:return Op(t);case 445:return Mp(t);case 466:return Dp(t);default:return xt(t,"base16")}}var I2=Object.values(wr).map(e=>e.decoder),Np=function(){let e=I2[0].or(I2[1]);return I2.slice(2).forEach(t=>e=e.or(t)),e}();function _8(e){if(!Pn(e))throw new Error("invalid ip address");return b2(e)}function Lp(e){let t=g8(e,0,e.length);if(t==null)throw new Error("ipBuff is required");if(!Pn(t))throw new Error("invalid ip address");return t}function B2(e){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,e),new Uint8Array(t)}function k8(e){return new DataView(e.buffer).getUint16(e.byteOffset)}function T8(e){let t=xt(e),r=Uint8Array.from(Ze.default.encode(t.length));return ut([r,t],r.length+t.length)}function R8(e){let t=Ze.default.decode(e);if(e=e.slice(Ze.default.decode.bytes),e.length!==t)throw new Error("inconsistent lengths");return M(e)}function kp(e){let t;e[0]==="Q"||e[0]==="1"?t=zr(St.decode(`z${e}`)).bytes:t=tt.parse(e).multihash.bytes;let r=Uint8Array.from(Ze.default.encode(t.length));return ut([r,t],r.length+t.length)}function Dp(e){let t=Np.decode(e),r=Uint8Array.from(Ze.default.encode(t.length));return ut([r,t],r.length+t.length)}function Fp(e){let t=Ze.default.decode(e),r=e.slice(Ze.default.decode.bytes);if(r.length!==t)throw new Error("inconsistent lengths");return"u"+M(r,"base64url")}function Up(e){let t=Ze.default.decode(e),r=e.slice(Ze.default.decode.bytes);if(r.length!==t)throw new Error("inconsistent lengths");return M(r,"base58btc")}function Op(e){let t=e.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==16)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion address.`);let r=ge.decode("b"+t[0]),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=B2(n);return ut([r,i],r.length+i.length)}function Mp(e){let t=e.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==56)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion3 address.`);let r=ge.decode(`b${t[0]}`),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=B2(n);return ut([r,i],r.length+i.length)}function P8(e){let t=e.slice(0,e.length-2),r=e.slice(e.length-2),n=M(t,"base32"),i=k8(r);return`${n}:${i}`}var o0=$(X0(),1);function Kp(e){let t=[],r=e.split("/").slice(1);if(r.length===1&&r[0]==="")return[];for(let n=0;n<r.length;n++){let i=r[n],o=ot(i);if(o.size===0){t.push([i]);continue}if(n++,n>=r.length)throw F8("invalid address: "+e);if(o.path===!0){t.push([i,P2(r.slice(n).join("/"))]);break}t.push([i,r[n]])}return t}function Vp(e){let t=[];return e.map(r=>{let n=k1(r);return t.push(n.name),r.length>1&&r[1]!=null&&t.push(r[1]),null}),P2(t.join("/"))}function qp(e){return e.map(t=>{Array.isArray(t)||(t=[t]);let r=k1(t);return t.length>1?[r.code,L8(r.code,t[1])]:[r.code]})}function C2(e){return e.map(t=>{let r=k1(t);return t[1]!=null?[r.code,N8(r.code,t[1])]:[r.code]})}function _2(e){return L1(ut(e.map(t=>{let r=k1(t),n=Uint8Array.from(o0.default.encode(r.code));return t.length>1&&t[1]!=null&&(n=ut([n,t[1]])),n})))}function T2(e,t){return e.size>0?e.size/8:e.size===0?0:o0.default.decode(t)+(o0.default.decode.bytes??0)}function N1(e){let t=[],r=0;for(;r<e.length;){let n=o0.default.decode(e,r),i=o0.default.decode.bytes??0,o=ot(n),s=T2(o,e.slice(r+i));if(s===0){t.push([n]),r+=i;continue}let a=e.slice(r+i,r+i+s);if(r+=s+i,r>e.length)throw F8("Invalid address Uint8Array: "+M(e,"base16"));t.push([n,a])}return t}function R2(e){let t=N1(e),r=C2(t);return Vp(r)}function zp(e){e=P2(e);let t=Kp(e),r=qp(t);return _2(r)}function D8(e){return zp(e)}function L1(e){let t=$p(e);if(t!=null)throw t;return Uint8Array.from(e)}function $p(e){try{N1(e)}catch(t){return t}}function P2(e){return"/"+e.trim().split("/").filter(t=>t).join("/")}function F8(e){return new Error("Error parsing address: "+e)}function k1(e){return ot(e[0])}var L2=$(X0(),1);var hr=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},s0=function(e,t,r,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(e,r):i?i.value=r:t.set(e,r),r},j0,J0,ti,Or,U8,Gp=Symbol.for("nodejs.util.inspect.custom"),Qp=[ot("dns").code,ot("dns4").code,ot("dns6").code,ot("dnsaddr").code],Wp=new Map,O8=Symbol.for("@multiformats/js-multiaddr/multiaddr");function Yp(e){return!!e?.[O8]}var pr=class{constructor(t){if(j0.set(this,void 0),J0.set(this,void 0),ti.set(this,void 0),Or.set(this,void 0),this[U8]=!0,t==null&&(t=""),t instanceof Uint8Array)this.bytes=L1(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);this.bytes=D8(t)}else if(Yp(t))this.bytes=L1(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr")}toString(){return hr(this,j0,"f")==null&&s0(this,j0,R2(this.bytes),"f"),hr(this,j0,"f")}toJSON(){return this.toString()}toOptions(){let t,r,n,i,o="",s=ot("tcp"),a=ot("udp"),u=ot("ip4"),c=ot("ip6"),f=ot("dns6"),l=ot("ip6zone");for(let[p,h]of this.stringTuples())p===l.code&&(o=`%${h??""}`),Qp.includes(p)&&(r=s.name,i=443,n=`${h??""}${o}`,t=p===f.code?6:4),(p===s.code||p===a.code)&&(r=ot(p).name,i=parseInt(h??"")),(p===u.code||p===c.code)&&(r=ot(p).name,n=`${h??""}${o}`,t=p===c.code?6:4);if(t==null||r==null||n==null||i==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:t,host:n,transport:r,port:i}}protos(){return this.protoCodes().map(t=>Object.assign({},ot(t)))}protoCodes(){let t=[],r=this.bytes,n=0;for(;n<r.length;){let i=L2.default.decode(r,n),o=L2.default.decode.bytes??0,s=ot(i),a=T2(s,r.slice(n+o));n+=a+o,t.push(i)}return t}protoNames(){return this.protos().map(t=>t.name)}tuples(){return hr(this,J0,"f")==null&&s0(this,J0,N1(this.bytes),"f"),hr(this,J0,"f")}stringTuples(){return hr(this,ti,"f")==null&&s0(this,ti,C2(this.tuples()),"f"),hr(this,ti,"f")}encapsulate(t){return t=new pr(t),new pr(this.toString()+t.toString())}decapsulate(t){let r=t.toString(),n=this.toString(),i=n.lastIndexOf(r);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new pr(n.slice(0,i))}decapsulateCode(t){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===t)return new pr(_2(r.slice(0,n)));return this}getPeerId(){try{let r=this.stringTuples().filter(n=>n[0]===Z0.ipfs.code).pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?M(St.decode(`z${n}`),"base58btc"):M(tt.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){if(hr(this,Or,"f")===void 0)try{s0(this,Or,this.stringTuples().filter(t=>ot(t[0]).path===!0)[0][1],"f"),hr(this,Or,"f")==null&&s0(this,Or,null,"f")}catch{s0(this,Or,null,"f")}return hr(this,Or,"f")}equals(t){return st(this.bytes,t.bytes)}async resolve(t){let r=this.protos().find(o=>o.resolvable);if(r==null)return[this];let n=Wp.get(r.name);if(n==null)throw new C(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,t)).map(o=>new pr(o))}nodeAddress(){let t=this.toOptions();if(t.transport!=="tcp"&&t.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${t.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:t.family,address:t.host,port:t.port}}isThinWaistAddress(t){let r=(t??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[(j0=new WeakMap,J0=new WeakMap,ti=new WeakMap,Or=new WeakMap,U8=O8,Gp)](){return`Multiaddr(${R2(this.bytes)})`}};function N2(e){return new pr(e)}var M8;(function(e){let t;e.codec=()=>(t==null&&(t=Oe((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.key!=null&&(n.uint32(10),n.bytes(r.key)),r.value!=null&&(n.uint32(18),n.bytes(r.value)),r.author!=null&&(n.uint32(26),n.bytes(r.author)),r.signature!=null&&(n.uint32(34),n.bytes(r.signature)),r.timeReceived!=null&&(n.uint32(42),n.string(r.timeReceived)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.key=r.bytes();break;case 2:i.value=r.bytes();break;case 3:i.author=r.bytes();break;case 4:i.signature=r.bytes();break;case 5:i.timeReceived=r.string();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>Ue(r,e.codec()),e.decode=r=>Fe(r,e.codec())})(M8||(M8={}));var Mr;(function(e){let t;(function(a){a.PUT_VALUE="PUT_VALUE",a.GET_VALUE="GET_VALUE",a.ADD_PROVIDER="ADD_PROVIDER",a.GET_PROVIDERS="GET_PROVIDERS",a.FIND_NODE="FIND_NODE",a.PING="PING"})(t=e.MessageType||(e.MessageType={}));let r;(function(a){a[a.PUT_VALUE=0]="PUT_VALUE",a[a.GET_VALUE=1]="GET_VALUE",a[a.ADD_PROVIDER=2]="ADD_PROVIDER",a[a.GET_PROVIDERS=3]="GET_PROVIDERS",a[a.FIND_NODE=4]="FIND_NODE",a[a.PING=5]="PING"})(r||(r={})),function(a){a.codec=()=>Tn(r)}(t=e.MessageType||(e.MessageType={}));let n;(function(a){a.NOT_CONNECTED="NOT_CONNECTED",a.CONNECTED="CONNECTED",a.CAN_CONNECT="CAN_CONNECT",a.CANNOT_CONNECT="CANNOT_CONNECT"})(n=e.ConnectionType||(e.ConnectionType={}));let i;(function(a){a[a.NOT_CONNECTED=0]="NOT_CONNECTED",a[a.CONNECTED=1]="CONNECTED",a[a.CAN_CONNECT=2]="CAN_CONNECT",a[a.CANNOT_CONNECT=3]="CANNOT_CONNECT"})(i||(i={})),function(a){a.codec=()=>Tn(i)}(n=e.ConnectionType||(e.ConnectionType={}));let o;(function(a){let u;a.codec=()=>(u==null&&(u=Oe((c,f,l={})=>{if(l.lengthDelimited!==!1&&f.fork(),c.id!=null&&(f.uint32(10),f.bytes(c.id)),c.addrs!=null)for(let d of c.addrs)f.uint32(18),f.bytes(d);c.connection!=null&&(f.uint32(24),e.ConnectionType.codec().encode(c.connection,f)),l.lengthDelimited!==!1&&f.ldelim()},(c,f)=>{let l={addrs:[]},d=f==null?c.len:c.pos+f;for(;c.pos<d;){let p=c.uint32();switch(p>>>3){case 1:l.id=c.bytes();break;case 2:l.addrs.push(c.bytes());break;case 3:l.connection=e.ConnectionType.codec().decode(c);break;default:c.skipType(p&7);break}}return l})),u),a.encode=c=>Ue(c,a.codec()),a.decode=c=>Fe(c,a.codec())})(o=e.Peer||(e.Peer={}));let s;e.codec=()=>(s==null&&(s=Oe((a,u,c={})=>{if(c.lengthDelimited!==!1&&u.fork(),a.type!=null&&(u.uint32(8),e.MessageType.codec().encode(a.type,u)),a.clusterLevelRaw!=null&&(u.uint32(80),u.int32(a.clusterLevelRaw)),a.key!=null&&(u.uint32(18),u.bytes(a.key)),a.record!=null&&(u.uint32(26),u.bytes(a.record)),a.closerPeers!=null)for(let f of a.closerPeers)u.uint32(66),e.Peer.codec().encode(f,u);if(a.providerPeers!=null)for(let f of a.providerPeers)u.uint32(74),e.Peer.codec().encode(f,u);c.lengthDelimited!==!1&&u.ldelim()},(a,u)=>{let c={closerPeers:[],providerPeers:[]},f=u==null?a.len:a.pos+u;for(;a.pos<f;){let l=a.uint32();switch(l>>>3){case 1:c.type=e.MessageType.codec().decode(a);break;case 10:c.clusterLevelRaw=a.int32();break;case 2:c.key=a.bytes();break;case 3:c.record=a.bytes();break;case 8:c.closerPeers.push(e.Peer.codec().decode(a,a.uint32()));break;case 9:c.providerPeers.push(e.Peer.codec().decode(a,a.uint32()));break;default:a.skipType(l&7);break}}return c})),s),e.encode=a=>Ue(a,e.codec()),e.decode=a=>Fe(a,e.codec())})(Mr||(Mr={}));var _t=Mr.MessageType,Zp=Mr.ConnectionType,q8=Object.keys(_t),gt=class{constructor(t,r,n){if(!(r instanceof Uint8Array))throw new Error("Key must be a Uint8Array");this.type=t,this.key=r,this.clusterLevelRaw=n,this.closerPeers=[],this.providerPeers=[],this.record=void 0}get clusterLevel(){let t=this.clusterLevelRaw-1;return t<0?0:t}set clusterLevel(t){this.clusterLevelRaw=t}serialize(){return Mr.encode({key:this.key,type:this.type,clusterLevelRaw:this.clusterLevelRaw,closerPeers:this.closerPeers.map(K8),providerPeers:this.providerPeers.map(K8),record:this.record==null?void 0:this.record.serialize().subarray()})}static deserialize(t){let r=Mr.decode(t),n=new gt(r.type??Mr.MessageType.PUT_VALUE,r.key??Uint8Array.from([]),r.clusterLevelRaw??0);return n.closerPeers=r.closerPeers.map(V8),n.providerPeers=r.providerPeers.map(V8),r.record?.length!=null&&(n.record=Rt.deserialize(r.record)),n}};function K8(e){return{id:e.id.toBytes(),addrs:(e.multiaddrs??[]).map(r=>r.bytes),connection:Zp.CONNECTED}}function V8(e){if(e.id==null)throw new Error("Invalid peer in message");return{id:Yr(e.id),multiaddrs:(e.addrs??[]).map(t=>N2(t)),protocols:[]}}var dn=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},dr,de=class extends EventTarget{constructor(){super(...arguments),dr.set(this,new Map)}listenerCount(t){let r=dn(this,dr,"f").get(t);return r==null?0:r.length}addEventListener(t,r,n){super.addEventListener(t,r,n);let i=dn(this,dr,"f").get(t);i==null&&(i=[],dn(this,dr,"f").set(t,i)),i.push({callback:r,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(t,r,n){super.removeEventListener(t.toString(),r??null,n);let i=dn(this,dr,"f").get(t);i!=null&&(i=i.filter(({callback:o})=>o!==r),dn(this,dr,"f").set(t,i))}dispatchEvent(t){let r=super.dispatchEvent(t),n=dn(this,dr,"f").get(t.type);return n==null||(n=n.filter(({once:i})=>!i),dn(this,dr,"f").set(t.type,n)),r}safeDispatchEvent(t,r){return this.dispatchEvent(new se(t,r))}};dr=new WeakMap;var k2=class extends Event{constructor(t,r){super(t,r),this.detail=r?.detail}},se=globalThis.CustomEvent??k2;function D2(e){return{...e,name:"SENDING_QUERY",type:0,messageName:e.type,messageType:q8.indexOf(e.type.toString())}}function ei(e){return{...e,name:"PEER_RESPONSE",type:1,messageName:e.messageType,closer:e.closer!=null?e.closer:[],providers:e.providers!=null?e.providers:[]}}function ri(e){return{...e,name:"FINAL_PEER",type:2}}function Gt(e){return{...e,name:"QUERY_ERROR",type:3}}function F2(e){return{...e,name:"PROVIDER",type:4}}function ni(e){return{...e,name:"VALUE",type:5}}function U2(e){return{...e,name:"DIALING_PEER",type:7}}var ii=class extends Error{constructor(t,r){super(t??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function z8(e){if(e!=null){if(typeof e[Symbol.iterator]=="function")return e[Symbol.iterator]();if(typeof e[Symbol.asyncIterator]=="function")return e[Symbol.asyncIterator]();if(typeof e.next=="function")return e}throw new Error("argument is not an iterator or iterable")}function $8(e,t,r){let n=r??{},i=z8(e);async function*o(){let s,a=()=>{s?.()};for(t.addEventListener("abort",a);;){let u;try{if(t.aborted){let{abortMessage:f,abortCode:l}=n;throw new ii(f,l)}let c=new Promise((f,l)=>{s=()=>{let{abortMessage:d,abortCode:p}=n;l(new ii(d,p))}});u=await Promise.race([c,i.next()]),s=null}catch(c){t.removeEventListener("abort",a);let f=c.type==="aborted"&&t.aborted;if(f&&n.onAbort!=null&&n.onAbort(e),typeof i.return=="function")try{let l=i.return();l instanceof Promise&&l.catch(d=>{n.onReturnError!=null&&n.onReturnError(d)})}catch(l){n.onReturnError!=null&&n.onReturnError(l)}if(f&&n.returnOnAbort===!0)return;throw c}if(u.done===!0)break;yield u.value}t.removeEventListener("abort",a)}return o()}function Xp(e,t,r){return n=>e($8(n,t,r))}function O2(e,t,r){return{sink:Xp(e.sink,t,{...r,onAbort:void 0}),source:$8(e.source,t,r)}}var D1=class extends de{constructor(t,r){super();let{protocol:n,lan:i}=r;this.components=t,this.log=z(`libp2p:kad-dht:${i?"lan":"wan"}:network`),this.running=!1,this.protocol=n}async start(){this.running||(this.running=!0)}async stop(){this.running=!1}isStarted(){return this.running}async*sendRequest(t,r,n={}){if(!this.running)return;this.log("sending %s to %p",r.type,t),yield U2({peer:t}),yield D2({to:t,type:r.type});let i;try{let s=await(await this.components.connectionManager.openConnection(t,n)).newStream(this.protocol,n),a=await this._writeReadMessage(s,r.serialize(),n);yield ei({from:t,messageType:a.type,closer:a.closerPeers,providers:a.providerPeers,record:a.record})}catch(o){yield Gt({from:t,error:o})}finally{i?.close()}}async*sendMessage(t,r,n={}){if(!this.running)return;this.log("sending %s to %p",r.type,t),yield U2({peer:t}),yield D2({to:t,type:r.type});let i;try{let s=await(await this.components.connectionManager.openConnection(t,n)).newStream(this.protocol,n);await this._writeMessage(s,r.serialize(),n),yield ei({from:t,messageType:r.type})}catch(o){yield Gt({from:t,error:o})}finally{i?.close()}}async _writeMessage(t,r,n){n.signal!=null&&(t=O2(t,n.signal)),await Te([r],i=>ln(i),t,Y0)}async _writeReadMessage(t,r,n){n.signal!=null&&(t=O2(t,n.signal));let i=await Te([r],s=>ln(s),t,s=>pn(s),async s=>{let a=await d8(s);if(a!=null)return a;throw new C("No message received","ERR_NO_MESSAGE_RECEIVED")}),o=gt.deserialize(i);return o.closerPeers.forEach(s=>{this.dispatchEvent(new se("peer",{detail:s}))}),o.providerPeers.forEach(s=>{this.dispatchEvent(new se("peer",{detail:s}))}),o}};async function a0(e,t){let r=t.key,i=M(r).split("/");if(i.length<3)return;let o=e[i[1].toString()];if(o==null){let s="Invalid record keytype";throw new C(s,"ERR_INVALID_RECORD_KEY_TYPE")}await o(r,t.value)}var jp=async(e,t)=>{if(!(e instanceof Uint8Array))throw new C('"key" must be a Uint8Array',"ERR_INVALID_RECORD_KEY_NOT_BUFFER");if(e.byteLength<5)throw new C("invalid public key record","ERR_INVALID_RECORD_KEY_TOO_SHORT");if(M(e.subarray(0,4))!=="/pk/")throw new C("key was not prefixed with /pk/","ERR_INVALID_RECORD_KEY_BAD_PREFIX");let n=e.slice(4),i=await mt.digest(t);if(!st(n,i.bytes))throw new C("public key does not match passed in key","ERR_INVALID_RECORD_HASH_MISMATCH")},H8={pk:jp};function G8(e,t,r){if(r.length===0){let s="No records given";throw new C(s,"ERR_NO_RECORDS_RECEIVED")}let i=M(t).split("/");if(i.length<3){let s="Record key does not have a selector function";throw new C(s,"ERR_NO_SELECTOR_FUNCTION_FOR_RECORD_KEY")}let o=e[i[1].toString()];if(o==null){let s=`Unrecognized key prefix: ${i[1]}`;throw new C(s,"ERR_UNRECOGNIZED_KEY_PREFIX")}return r.length===1?0:o(t,r)}function Jp(e,t){return 0}var Q8={pk:Jp};function yr(){let e={};return e.promise=new Promise((t,r)=>{e.resolve=t,e.reject=r}),e}var F1=globalThis.CustomEvent??Event;async function*oi(e,t={}){let r=t.concurrency??1/0;r<1&&(r=1/0);let n=t.ordered==null?!1:t.ordered,i=new EventTarget,o=[],s=yr(),a=yr(),u=!1,c,f=!1;i.addEventListener("task-complete",()=>{a.resolve()}),Promise.resolve().then(async()=>{try{for await(let h of e){if(o.length===r&&(s=yr(),await s.promise),f)break;let y={done:!1};o.push(y),h().then(g=>{y.done=!0,y.ok=!0,y.value=g,i.dispatchEvent(new F1("task-complete"))},g=>{y.done=!0,y.err=g,i.dispatchEvent(new F1("task-complete"))})}u=!0,i.dispatchEvent(new F1("task-complete"))}catch(h){c=h,i.dispatchEvent(new F1("task-complete"))}});function l(){return n?o[0]?.done:!!o.find(h=>h.done)}function*d(){for(;o.length>0&&o[0].done;){let h=o[0];if(o.shift(),h.ok)yield h.value;else throw f=!0,s.resolve(),h.err;s.resolve()}}function*p(){for(;l();)for(let h=0;h<o.length;h++)if(o[h].done){let y=o[h];if(o.splice(h,1),h--,y.ok)yield y.value;else throw f=!0,s.resolve(),y.err;s.resolve()}}for(;;){if(l()||(a=yr(),await a.promise),c!=null)throw c;if(n?yield*d():yield*p(),u&&o.length===0)break}}function td(e){let[t,r]=e[Symbol.asyncIterator]!=null?[e[Symbol.asyncIterator](),Symbol.asyncIterator]:[e[Symbol.iterator](),Symbol.iterator],n=[];return{peek:()=>t.next(),push:i=>{n.push(i)},next:()=>n.length>0?{done:!1,value:n.shift()}:t.next(),[r](){return this}}}var W8=td;function ed(e){return e[Symbol.asyncIterator]!=null}function rd(e,t){if(ed(e))return async function*(){for await(let a of e)yield t(a)}();let r=W8(e),{value:n,done:i}=r.next();if(i===!0)return function*(){}();let o=t(n);if(typeof o.then=="function")return async function*(){yield await o;for await(let a of r)yield t(a)}();let s=t;return function*(){yield o;for(let a of r)yield s(a)}()}var U1=rd;var O1=class{constructor(t,r){let{validators:n,selectors:i,peerRouting:o,queryManager:s,routingTable:a,network:u,lan:c}=r;this.components=t,this.log=z(`libp2p:kad-dht:${c?"lan":"wan"}:content-fetching`),this.validators=n,this.selectors=i,this.peerRouting=o,this.queryManager=s,this.routingTable=a,this.network=u}async putLocal(t,r){let n=rr(t);await this.components.datastore.put(n,r)}async getLocal(t){this.log("getLocal %b",t);let r=rr(t);this.log("fetching record for key %k",r);let n=await this.components.datastore.get(r);this.log("found %k in local datastore",r);let i=Rt.deserialize(n);return await a0(this.validators,i),i}async*sendCorrectionRecord(t,r,n,i={}){this.log("sendCorrection for %b",t);let o=ys(t,n);for(let{value:s,from:a}of r){if(st(s,n)){this.log("record was ok");continue}if(this.components.peerId.equals(a)){try{let f=rr(t);this.log(`Storing corrected record for key ${f.toString()}`),await this.components.datastore.put(f,o.subarray())}catch(f){this.log.error("Failed error correcting self",f)}continue}let u=!1,c=new gt(_t.PUT_VALUE,t,0);c.record=Rt.deserialize(o);for await(let f of this.network.sendRequest(a,c,i))f.name==="PEER_RESPONSE"&&f.record!=null&&st(f.record.value,Rt.deserialize(o).value)&&(u=!0),yield f;u||(yield Gt({from:a,error:new C("value not put correctly","ERR_PUT_VALUE_INVALID")})),this.log.error("Failed error correcting entry")}}async*put(t,r,n={}){this.log("put key %b value %b",t,r);let i=ys(t,r),o=rr(t);this.log(`storing record for key ${o.toString()}`),await this.components.datastore.put(o,i.subarray()),yield*Te(this.peerRouting.getClosestPeers(t,{signal:n.signal}),s=>U1(s,a=>async()=>{if(a.name!=="FINAL_PEER")return[a];let u=[],c=new gt(_t.PUT_VALUE,t,0);c.record=Rt.deserialize(i),this.log("send put to %p",a.peer.id);for await(let f of this.network.sendRequest(a.peer.id,c,n))u.push(f),f.name==="PEER_RESPONSE"&&(f.record!=null&&st(f.record.value,Rt.deserialize(i).value)||u.push(Gt({from:a.peer.id,error:new C("value not put correctly","ERR_PUT_VALUE_INVALID")})));return u}),s=>oi(s,{ordered:!1,concurrency:3}),async function*(s){for await(let a of s)yield*a})}async*get(t,r={}){this.log("get %b",t);let n=[];for await(let a of this.getMany(t,r))a.name==="VALUE"&&n.push(a),yield a;if(n.length===0)return;let i=n.map(a=>a.value),o=0;try{o=G8(this.selectors,t,i)}catch(a){if(a.code!=="ERR_NO_SELECTOR_FUNCTION_FOR_RECORD_KEY")throw a}let s=i[o];if(this.log("GetValue %b %b",t,s),s==null)throw new C("best value was not found","ERR_NOT_FOUND");yield*this.sendCorrectionRecord(t,n,s,r),yield n[o]}async*getMany(t,r={}){this.log("getMany values for %b",t);try{let a=await this.getLocal(t);yield ni({value:a.value,from:this.components.peerId})}catch(a){this.log("error getting local value for %b",t,a)}let n=await Me(t),i=this.routingTable.closestPeers(n);this.log("found %d peers in routing table",i.length);let o=this,s=async function*({peer:a,signal:u}){for await(let c of o.peerRouting.getValueOrPeers(a,t,{signal:u}))yield c,c.name==="PEER_RESPONSE"&&c.record!=null&&(yield ni({from:a,value:c.record.value}))};yield*this.queryManager.run(t,i,s,r)}};var M1=class{constructor(t,r){let{network:n,peerRouting:i,queryManager:o,routingTable:s,providers:a,lan:u}=r;this.components=t,this.log=z(`libp2p:kad-dht:${u?"lan":"wan"}:content-routing`),this.network=n,this.peerRouting=i,this.queryManager=o,this.routingTable=s,this.providers=a}async*provide(t,r,n={}){this.log("provide %s",t),await this.providers.addProvider(t,this.components.peerId);let i=new gt(_t.ADD_PROVIDER,t.multihash.bytes,0);i.providerPeers=[{id:this.components.peerId,multiaddrs:r,protocols:[]}];let o=0,s=a=>async()=>{if(a.name!=="FINAL_PEER")return[a];let u=[];this.log("putProvider %s to %p",t,a.peer.id);try{this.log("sending provider record for %s to %p",t,a.peer.id);for await(let c of this.network.sendMessage(a.peer.id,i,n))c.name==="PEER_RESPONSE"&&(this.log("sent provider record for %s to %p",t,a.peer.id),o++),u.push(c)}catch(c){this.log.error("error sending provide record to peer %p",a.peer.id,c),u.push(Gt({from:a.peer.id,error:c}))}return u};yield*Te(this.peerRouting.getClosestPeers(t.multihash.bytes,n),a=>U1(a,u=>s(u)),a=>oi(a,{ordered:!1,concurrency:3}),async function*(a){for await(let u of a)yield*u}),this.log("sent provider records to %d peers",o)}async*findProviders(t,r){let n=this.routingTable.kBucketSize,i=t.multihash.bytes,o=await Me(i),s=this;this.log("findProviders %c",t);let a=await this.providers.getProviders(t);if(a.length>0){let f=[];for(let l of a.slice(0,n))try{let d=await this.components.peerStore.get(l);f.push({id:l,multiaddrs:d.addresses.map(({multiaddr:p})=>p),protocols:d.protocols})}catch(d){if(d.code!=="ERR_NOT_FOUND")throw d;this.log("no peer store entry for %p",l)}yield ei({from:this.components.peerId,messageType:_t.GET_PROVIDERS,providers:f}),yield F2({from:this.components.peerId,providers:f})}if(a.length>=n)return;let u=async function*({peer:f,signal:l}){let d=new gt(_t.GET_PROVIDERS,i,0);yield*s.network.sendRequest(f,d,{signal:l})},c=new Set(a.map(f=>f.toString()));for await(let f of this.queryManager.run(i,this.routingTable.closestPeers(o),u,r))if(yield f,f.name==="PEER_RESPONSE"){this.log("Found %d provider entries for %c and %d closer peers",f.providers.length,t,f.closer.length);let l=[];for(let d of f.providers)c.has(d.id.toString())||(c.add(d.id.toString()),l.push(d));if(l.length>0&&(yield F2({from:f.from,providers:l})),c.size===n)return}}};function K1(e,t){for(let r=0;r<e.byteLength;r++){if(e[r]<t[r])return-1;if(e[r]>t[r])return 1}return e.byteLength>t.byteLength?1:e.byteLength<t.byteLength?-1:0}var V1=class{constructor(t,r){this.originDhtKey=t,this.capacity=r,this.peerDistances=[]}get length(){return this.peerDistances.length}get peers(){return this.peerDistances.map(t=>t.peerId)}async add(t){if(this.peerDistances.find(i=>i.peerId.equals(t))!=null)return;let r=await Jt(t),n={peerId:t,distance:sr(this.originDhtKey,r)};this.peerDistances.push(n),this.peerDistances.sort((i,o)=>K1(i.distance,o.distance)),this.peerDistances=this.peerDistances.slice(0,this.capacity)}async anyCloser(t){if(t.length===0)return!1;if(this.length===0)return!0;let r=await Promise.all(t.map(Jt)),n=this.peerDistances[this.peerDistances.length-1].distance;for(let i of r){let o=sr(this.originDhtKey,i);if(K1(o,n)<0)return!0}return!1}};var q1=class{constructor(t,r){let{routingTable:n,network:i,validators:o,queryManager:s,lan:a}=r;this.components=t,this.routingTable=n,this.network=i,this.validators=o,this.queryManager=s,this.log=z(`libp2p:kad-dht:${a?"lan":"wan"}:peer-routing`)}async findPeerLocal(t){let r,n=await this.routingTable.find(t);if(n!=null){this.log("findPeerLocal found %p in routing table",t);try{r=await this.components.peerStore.get(n)}catch(i){if(i.code!=="ERR_NOT_FOUND")throw i}}if(r==null)try{r=await this.components.peerStore.get(t)}catch(i){if(i.code!=="ERR_NOT_FOUND")throw i}if(r!=null)return this.log("findPeerLocal found %p in peer store",t),{id:r.id,multiaddrs:r.addresses.map(i=>i.multiaddr),protocols:[]}}async*_getValueSingle(t,r,n={}){let i=new gt(_t.GET_VALUE,r,0);yield*this.network.sendRequest(t,i,n)}async*getPublicKeyFromNode(t,r={}){let n=f4(t);for await(let i of this._getValueSingle(t,n,r))if(yield i,i.name==="PEER_RESPONSE"&&i.record!=null){let o=await o4(E1.marshalPublicKey({bytes:i.record.value}));if(!o.equals(t))throw new C("public key does not match id","ERR_PUBLIC_KEY_DOES_NOT_MATCH_ID");if(o.publicKey==null)throw new C("public key missing","ERR_PUBLIC_KEY_MISSING");yield ni({from:t,value:o.publicKey})}throw new C(`Node not responding with its public key: ${t.toString()}`,"ERR_INVALID_RECORD")}async*findPeer(t,r={}){this.log("findPeer %p",t);let n=await this.findPeerLocal(t);if(n!=null){this.log("found local"),yield ri({from:this.components.peerId,peer:n});return}let i=await Jt(t),o=this.routingTable.closestPeers(i);if(o.find(f=>f.equals(t))!=null)try{let f=await this.components.peerStore.get(t);this.log("found in peerStore"),yield ri({from:this.components.peerId,peer:{id:f.id,multiaddrs:f.addresses.map(l=>l.multiaddr),protocols:[]}});return}catch(f){if(f.code!=="ERR_NOT_FOUND")throw f}let a=this,u=async function*({peer:f,signal:l}){let d=new gt(_t.FIND_NODE,t.toBytes(),0);for await(let p of a.network.sendRequest(f,d,{signal:l}))if(yield p,p.name==="PEER_RESPONSE"){let h=p.closer.find(y=>y.id.equals(t));h!=null&&(yield ri({from:p.from,peer:h}))}},c=!1;for await(let f of this.queryManager.run(t.toBytes(),o,u,r))f.name==="FINAL_PEER"&&(c=!0),yield f;c||(yield Gt({from:this.components.peerId,error:new C("Not found","ERR_NOT_FOUND")}))}async*getClosestPeers(t,r={}){this.log("getClosestPeers to %b",t);let n=await Me(t),i=this.routingTable.closestPeers(n),o=this,s=new V1(n,this.routingTable.kBucketSize);await Promise.all(i.map(async u=>{await s.add(u)}));let a=async function*({peer:u,signal:c}){o.log("closerPeersSingle %s from %p",M(t,"base32"),u);let f=new gt(_t.FIND_NODE,t,0);yield*o.network.sendRequest(u,f,{signal:c})};for await(let u of this.queryManager.run(t,i,a,r))yield u,u.name==="PEER_RESPONSE"&&await Promise.all(u.closer.map(async c=>{await s.add(c.id)}));this.log("found %d peers close to %b",s.length,t);for(let u of s.peers)try{let c=await this.components.peerStore.get(u);yield ri({from:this.components.peerId,peer:{id:u,multiaddrs:c.addresses.map(({multiaddr:f})=>f),protocols:c.protocols}})}catch(c){if(c.code!=="ERR_NOT_FOUND")throw c}}async*getValueOrPeers(t,r,n={}){for await(let i of this._getValueSingle(t,r,n)){if(i.name==="PEER_RESPONSE"&&i.record!=null)try{await this._verifyRecordOnline(i.record)}catch{let s="invalid record received, discarded";this.log(s),yield Gt({from:i.from,error:new C(s,"ERR_INVALID_RECORD")});continue}yield i}}async _verifyRecordOnline(t){if(t.timeReceived==null)throw new C("invalid record received","ERR_INVALID_RECORD");await a0(this.validators,new Rt(t.key,t.value,t.timeReceived))}async getCloserPeersOffline(t,r){let n=await Me(t),i=this.routingTable.closestPeers(n),o=[];for(let s of i)if(!s.equals(r))try{let a=await this.components.peerStore.get(s);o.push({id:s,multiaddrs:a.addresses.map(({multiaddr:u})=>u),protocols:a.protocols})}catch(a){if(a.code!=="ERR_NOT_FOUND")throw a}return o.length>0?this.log("getCloserPeersOffline found %d peer(s) closer to %b than %p",o.length,t,r):this.log("getCloserPeersOffline could not find peer closer to %b than %p",t,r),o}};var X8=$(Z8(),1),M2=$(X0(),1);var gr=z("libp2p:kad-dht:providers"),z1=class{constructor(t,r={}){let{cacheSize:n,cleanupInterval:i,provideValidity:o}=r;this.components=t,this.cleanupInterval=i??36e5,this.provideValidity=o??864e5,this.cache=(0,X8.default)(n??256),this.syncQueue=new ir({concurrency:1}),this.started=!1}isStarted(){return this.started}async start(){this.started||(this.started=!0,this.cleaner=setInterval(()=>{this._cleanup().catch(t=>{gr.error(t)})},this.cleanupInterval))}async stop(){this.started=!1,this.cleaner!=null&&(clearInterval(this.cleaner),this.cleaner=void 0)}async _cleanup(){await this.syncQueue.add(async()=>{let t=Date.now(),r=0,n=0,i=new Map,o=this.components.datastore.batch(),s=this.components.datastore.query({prefix:ds});for await(let a of s)try{let{cid:u,peerId:c}=j8(a.key),f=J8(a.value).getTime(),l=Date.now(),d=l-f,p=d>this.provideValidity;if(gr("comparing: %d - %d = %d > %d %s",l,f,d,this.provideValidity,p?"(expired)":""),p){n++,o.delete(a.key);let h=i.get(u)??new Set;h.add(c),i.set(u,h)}r++}catch(u){gr.error(u.message)}i.size>0?(gr("deleting %d / %d entries",n,r),await o.commit()):gr("nothing to delete");for(let[a,u]of i){let c=si(a),f=this.cache.get(c);if(f!=null){for(let l of u)f.delete(l);f.size===0?this.cache.remove(c):this.cache.set(c,f)}}gr("Cleanup successful (%dms)",Date.now()-t)})}async _getProvidersMap(t){let r=si(t),n=this.cache.get(r);return n==null&&(n=await ad(this.components.datastore,t),this.cache.set(r,n)),n}async addProvider(t,r){await this.syncQueue.add(async()=>{gr("%p provides %s",r,t);let n=await this._getProvidersMap(t);gr("loaded %s provs",n.size);let i=new Date;n.set(r.toString(),i);let o=si(t);this.cache.set(o,n),await sd(this.components.datastore,t,r,i)})}async getProviders(t){return await this.syncQueue.add(async()=>(gr("get providers for %s",t),[...(await this._getProvidersMap(t)).keys()].map(n=>bt(n))),{throwOnTimeout:!0})}};function si(e){let t=typeof e=="string"?e:M(e.multihash.bytes,"base32");return`${ds}/${t}`}async function sd(e,t,r,n){let i=[si(t),"/",r.toString()].join(""),o=new Dt(i),s=Uint8Array.from(M2.default.encode(n.getTime()));await e.put(o,s)}function j8(e){let t=e.toString().split("/");if(t.length!==5)throw new Error(`incorrectly formatted provider entry key in datastore: ${e.toString()}`);return{cid:t[3],peerId:t[4]}}async function ad(e,t){let r=new Map,n=e.query({prefix:si(t)});for await(let i of n){let{peerId:o}=j8(i.key);r.set(o,J8(i.value))}return r}function J8(e){return new Date(M2.default.decode(e))}function c0(e){let t=new globalThis.AbortController;function r(){t.abort();for(let o of e)o?.removeEventListener!=null&&o.removeEventListener("abort",r)}for(let o of e){if(o?.aborted===!0){r();break}o?.addEventListener!=null&&o.addEventListener("abort",r)}function n(){for(let o of e)o?.removeEventListener!=null&&o.removeEventListener("abort",r)}let i=t.signal;return i.clear=n,i}var ud=BigInt("0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF");async function*tu(e){let{key:t,startingPeer:r,ourPeerId:n,signal:i,query:o,alpha:s,pathIndex:a,numPaths:u,cleanUp:c,queryFuncTimeout:f,log:l,peersSeen:d}=e,p=new ir({concurrency:s}),h=await Me(t);function y(g,m){if(g==null)return;d.add(g);let v=BigInt("0x"+M(sr(m,h),"base16"));p.add(async()=>{let S=[i];f!=null&&S.push(AbortSignal.timeout(f));let L=c0(S);try{for await(let T of o({key:t,peer:g,signal:L,pathIndex:a,numPaths:u})){if(L.aborted)return;if(T.name==="PEER_RESPONSE")for(let _ of T.closer){if(d.has(_.id)){l("already seen %p in query",_.id);continue}if(n.equals(_.id)){l("not querying ourselves");continue}let q=await Jt(_.id);if(BigInt("0x"+M(sr(q,h),"base16"))>v){l("skipping %p as they are not closer to %b than %p",_.id,t,g);continue}l("querying closer peer %p",_.id),y(_.id,q)}p.emit("completed",T)}}catch(T){if(!i.aborted)return Gt({from:g,error:T})}finally{L.clear()}},{priority:ud-v}).catch(S=>{l.error(S)})}y(r,await Jt(r)),yield*cd(p,i,c,l)}async function*cd(e,t,r,n){let i=yr(),o=!0,s=[],a=()=>{o&&(n("clean up queue, results %d, queue size %d, pending tasks %d",s.length,e.size,e.pending),o=!1,e.clear(),s.splice(0,s.length))};for(e.on("completed",u=>{s.push(u),i.resolve()}),e.on("error",u=>{n("queue error",u),a(),i.reject(u)}),e.on("idle",()=>{n("queue idle"),o=!1,i.resolve()}),t.addEventListener("abort",()=>{n("abort queue");let u=o;a(),u&&i.reject(new C("Query aborted","ERR_QUERY_ABORTED"))}),r.addEventListener("cleanup",()=>{a(),i.resolve()});o;)for(await i.promise,i=yr();s.length>0;){let u=s.shift();u!=null&&(yield u)}yield*s}var yn=$(xi(),1);var H1=class{constructor(t,r){let{lan:n=!1,disjointPaths:i=20,alpha:o=3}=r;this.components=t,this.disjointPaths=i??20,this.running=!1,this.alpha=o??3,this.lan=n,this.queries=0,this.shutDownController=new AbortController;try{yn.setMaxListeners!=null&&(0,yn.setMaxListeners)(1/0,this.shutDownController.signal)}catch{}}isStarted(){return this.running}async start(){this.running=!0,this.components.metrics!=null&&this.metrics==null&&(this.metrics={runningQueries:this.components.metrics.registerMetric(`libp2p_kad_dht_${this.lan?"lan":"wan"}_running_queries`),queryTime:this.components.metrics.registerMetric(`libp2p_kad_dht_${this.lan?"lan":"wan"}_query_time_seconds`)})}async stop(){this.running=!1,this.shutDownController.abort()}async*run(t,r,n,i={}){if(!this.running)throw new Error("QueryManager not started");let o=this.metrics?.queryTime.timer();if(i.signal==null){i.signal=AbortSignal.timeout(3e4);try{yn.setMaxListeners!=null&&(0,yn.setMaxListeners)(1/0,i.signal)}catch{}}let s=c0([this.shutDownController.signal,i.signal]);try{yn.setMaxListeners!=null&&(0,yn.setMaxListeners)(1/0,s)}catch{}let a=z(`libp2p:kad-dht:${this.lan?"lan":"wan"}:query:`+M(t,"base58btc")),u=r.slice(0,Math.min(this.disjointPaths,r.length)),c=Date.now(),f=new de;try{if(a("query:start"),this.queries++,this.metrics?.runningQueries.update(this.queries),r.length===0){a.error("Running query with no peers");return}let l=new fe,d=u.map((p,h)=>tu({key:t,startingPeer:p,ourPeerId:this.components.peerId,signal:s,query:n,pathIndex:h,numPaths:u.length,alpha:this.alpha,cleanUp:f,queryFuncTimeout:i.queryFuncTimeout,log:a,peersSeen:l}));for await(let p of _e(...d))yield p,p.name==="QUERY_ERROR"&&a("error",p.error)}catch(l){if(!(!this.running&&l.code==="ERR_QUERY_ABORTED"))throw l}finally{s.clear(),this.queries--,this.metrics?.runningQueries.update(this.queries),o?.(),f.dispatchEvent(new se("cleanup")),a("query:done in %dms",Date.now()-c)}}};var ai=z("libp2p:kad-dht:rpc:handlers:add-provider"),G1=class{constructor(t){let{providers:r}=t;this.providers=r}async handle(t,r){if(ai("start"),r.key==null||r.key.length===0)throw new C("Missing key","ERR_MISSING_KEY");let n;try{n=tt.decode(r.key)}catch{throw new C("Invalid CID","ERR_INVALID_CID")}(r.providerPeers==null||r.providerPeers.length===0)&&ai.error("no providers found in message"),await Promise.all(r.providerPeers.map(async i=>{if(!i.id.equals(t)){ai("invalid provider peer %p from %p",i.id,t);return}if(i.multiaddrs.length<1){ai("no valid addresses for provider %p. Ignore",t);return}ai("received provider %p for %s (addrs %s)",t,n,i.multiaddrs.map(o=>o.toString())),await this.providers.addProvider(n,i.id)}))}};var eu=z("libp2p:kad-dht:rpc:handlers:find-node"),Q1=class{constructor(t,r){let{peerRouting:n,lan:i}=r;this.components=t,this.peerRouting=n,this.lan=!!i}async handle(t,r){eu("incoming request from %p for peers closer to %b",t,r.key);let n=[];st(this.components.peerId.toBytes(),r.key)?n=[{id:this.components.peerId,multiaddrs:this.components.addressManager.getAddresses().map(o=>o.decapsulateCode(ot("p2p").code)),protocols:[]}]:n=await this.peerRouting.getCloserPeersOffline(r.key,t),n=n.map(this.lan?Fn:Dn).filter(({multiaddrs:o})=>o.length);let i=new gt(r.type,new Uint8Array(0),r.clusterLevel);return n.length>0?i.closerPeers=n:eu("could not find any peers closer to %b than %p",r.key,t),i}};var ru=z("libp2p:kad-dht:rpc:handlers:get-providers"),W1=class{constructor(t,r){let{peerRouting:n,providers:i,lan:o}=r;this.components=t,this.peerRouting=n,this.providers=i,this.lan=!!o}async handle(t,r){let n;try{n=tt.decode(r.key)}catch{throw new C("Invalid CID","ERR_INVALID_CID")}ru("%p asking for providers for %s",t,n);let[i,o]=await Promise.all([this.providers.getProviders(n),this.peerRouting.getCloserPeersOffline(r.key,t)]),s=await this._getPeers(i),a=await this._getPeers(o.map(({id:c})=>c)),u=new gt(r.type,r.key,r.clusterLevel);return s.length>0&&(u.providerPeers=s),a.length>0&&(u.closerPeers=a),ru("got %s providers %s closerPeers",s.length,a.length),u}async _getAddresses(t){return[]}async _getPeers(t){let r=[],n=this.lan?Fn:Dn;for(let i of t)try{let o=await this.components.peerStore.get(i),s=n({id:i,multiaddrs:o.addresses.map(({multiaddr:a})=>a),protocols:o.protocols});s.multiaddrs.length>0&&r.push(s)}catch(o){if(o.code!=="ERR_NOT_FOUND")throw o}return r}};var f0=z("libp2p:kad-dht:rpc:handlers:get-value"),Y1=class{constructor(t,r){let{peerRouting:n}=r;this.components=t,this.peerRouting=n}async handle(t,r){let n=r.key;if(f0("%p asked for key %b",t,n),n==null||n.length===0)throw new C("Invalid key","ERR_INVALID_KEY");let i=new gt(_t.GET_VALUE,n,r.clusterLevel);if(l4(n)){f0("is public key");let a=h4(n),u;try{let c=await this.components.peerStore.get(a);if(c.id.publicKey==null)throw new C("No public key found in key book","ERR_NOT_FOUND");u=c.id.publicKey}catch(c){if(c.code!=="ERR_NOT_FOUND")throw c}if(u!=null)return f0("returning found public key"),i.record=new Rt(n,u,new Date),i}let[o,s]=await Promise.all([this._checkLocalDatastore(n),this.peerRouting.getCloserPeersOffline(r.key,t)]);return o!=null&&(f0("had record for %b in local datastore",n),i.record=o),s.length>0&&(f0("had %s closer peers in routing table",s.length),i.closerPeers=s),i}async _checkLocalDatastore(t){f0("checkLocalDatastore looking for %b",t);let r=rr(t),n;try{n=await this.components.datastore.get(r)}catch(o){if(o.code==="ERR_NOT_FOUND")return;throw o}let i=Rt.deserialize(n);if(i==null)throw new C("Invalid record","ERR_INVALID_RECORD");if(i.timeReceived==null||Date.now()-i.timeReceived.getTime()>1296e5){await this.components.datastore.delete(r);return}return i}};var hd=z("libp2p:kad-dht:rpc:handlers:ping"),Z1=class{async handle(t,r){return hd("ping from %p",t),r}};var X1=class{constructor(t,r){let{validators:n}=r;this.components=t,this.log=z("libp2p:kad-dht:rpc:handlers:put-value"),this.validators=n}async handle(t,r){let n=r.key;this.log("%p asked us to store value for key %b",t,n);let i=r.record;if(i==null){let o=`Empty record from: ${t.toString()}`;throw this.log.error(o),new C(o,"ERR_EMPTY_RECORD")}try{await a0(this.validators,i),i.timeReceived=new Date;let o=rr(i.key);await this.components.datastore.put(o,i.serialize().subarray()),this.log("put record for %b into datastore under key %k",n,o)}catch(o){this.log("did not put record for key %b into datastore %o",n,o)}return r}};var j1=class{constructor(t,r){let{providers:n,peerRouting:i,validators:o,lan:s}=r;this.log=z("libp2p:kad-dht:rpc"),this.routingTable=r.routingTable,this.handlers={[_t.GET_VALUE]:new Y1(t,{peerRouting:i}),[_t.PUT_VALUE]:new X1(t,{validators:o}),[_t.FIND_NODE]:new Q1(t,{peerRouting:i,lan:s}),[_t.ADD_PROVIDER]:new G1({providers:n}),[_t.GET_PROVIDERS]:new W1(t,{peerRouting:i,providers:n,lan:s}),[_t.PING]:new Z1}}async handleMessage(t,r){try{await this.routingTable.add(t)}catch(i){this.log.error("Failed to update the kbucket store",i)}let n=this.handlers[r.type];if(n==null){this.log.error(`no handler found for message type: ${r.type}`);return}return await n.handle(t,r)}onIncomingStream(t){Promise.resolve().then(async()=>{let{stream:r,connection:n}=t,i=n.remotePeer;try{await this.routingTable.add(i)}catch(s){this.log.error(s)}let o=this;await Te(r,s=>pn(s),async function*(s){for await(let a of s){let u=gt.deserialize(a);o.log("incoming %s from %p",u.type,i);let c=await o.handleMessage(i,u);c!=null&&(yield c.serialize())}},s=>ln(s),r)}).catch(r=>{this.log.error(r)})}};var K2=Symbol.for("@libp2p/topology");var nu=()=>{},V2=class{constructor(t){this.min=t.min??0,this.max=t.max??1/0,this.peers=new Set,this.onConnect=t.onConnect??nu,this.onDisconnect=t.onDisconnect??nu}get[Symbol.toStringTag](){return K2.toString()}get[K2](){return!0}async setRegistrar(t){this.registrar=t}disconnect(t){this.onDisconnect(t)}};function iu(e){return new V2(e)}var J1=class extends de{constructor(t,r){super();let{protocol:n,lan:i}=r;this.components=t,this.log=z(`libp2p:kad-dht:topology-listener:${i?"lan":"wan"}`),this.running=!1,this.protocol=n}isStarted(){return this.running}async start(){if(this.running)return;this.running=!0;let t=iu({onConnect:r=>{this.log("observed peer %p with protocol %s",r,this.protocol),this.dispatchEvent(new se("peer",{detail:r}))}});this.registrarId=await this.components.registrar.register(this.protocol,t)}async stop(){this.running=!1,this.registrarId!=null&&(this.components.registrar.unregister(this.registrarId),this.registrarId=void 0)}};var q2=$(xi(),1);function pd(e){return e[Symbol.asyncIterator]!=null}function dd(e,t){return pd(e)?async function*(){let r=0;if(!(t<1)){for await(let n of e)if(yield n,r++,r===t)return}}():function*(){let r=0;if(!(t<1)){for(let n of e)if(yield n,r++,r===t)return}}()}var ou=dd;var to=class{constructor(t,r){let{peerRouting:n,lan:i,count:o,interval:s,queryTimeout:a}=r;this.components=t,this.log=z(`libp2p:kad-dht:${i?"lan":"wan"}:query-self`),this.running=!1,this.peerRouting=n,this.count=o??20,this.interval=s??3e5,this.queryTimeout=a??3e4}isStarted(){return this.running}async start(){this.running||(this.running=!0,this._querySelf())}async stop(){this.running=!1,this.timeoutId!=null&&clearTimeout(this.timeoutId),this.controller!=null&&this.controller.abort()}_querySelf(){Promise.resolve().then(async()=>{this.controller=new AbortController;let t=c0([this.controller.signal,AbortSignal.timeout(this.queryTimeout)]);try{q2.setMaxListeners!=null&&(0,q2.setMaxListeners)(1/0,t)}catch{}try{let r=await Te(this.peerRouting.getClosestPeers(this.components.peerId.toBytes(),{signal:t}),n=>ou(n,this.count),async n=>await S1(n));this.log("query ran successfully - found %d peers",r)}catch(r){this.log("query error",r)}finally{this.timeoutId=setTimeout(this._querySelf.bind(this),this.interval),t.clear()}}).catch(t=>{this.log("query error",t)})}};var su=Symbol.for("@libp2p/peer-discovery"),eo=Symbol.for("@libp2p/peer-discovery");var md=32,xd=64,ui=class extends de{constructor(t,r){super();let{kBucketSize:n,clientMode:i,validators:o,selectors:s,querySelfInterval:a,lan:u,protocolPrefix:c,pingTimeout:f,pingConcurrency:l,maxInboundStreams:d,maxOutboundStreams:p,providers:h}=r;this.running=!1,this.components=t,this.lan=!!u,this.log=z(`libp2p:kad-dht:${u===!0?"lan":"wan"}`),this.protocol=`${c??a4}${u===!0?s4:""}${u4}`,this.kBucketSize=n??20,this.clientMode=i??!0,this.maxInboundStreams=d??md,this.maxOutboundStreams=p??xd,this.routingTable=new qi(t,{kBucketSize:n,lan:this.lan,pingTimeout:f,pingConcurrency:l,protocol:this.protocol}),this.providers=new z1(t,h??{}),this.validators={...H8,...o},this.selectors={...Q8,...s},this.network=new D1(t,{protocol:this.protocol,lan:this.lan}),this.queryManager=new H1(t,{disjointPaths:Math.ceil(this.kBucketSize/2),lan:u}),this.peerRouting=new q1(t,{routingTable:this.routingTable,network:this.network,validators:this.validators,queryManager:this.queryManager,lan:this.lan}),this.contentFetching=new O1(t,{validators:this.validators,selectors:this.selectors,peerRouting:this.peerRouting,queryManager:this.queryManager,routingTable:this.routingTable,network:this.network,lan:this.lan}),this.contentRouting=new M1(t,{network:this.network,peerRouting:this.peerRouting,queryManager:this.queryManager,routingTable:this.routingTable,providers:this.providers,lan:this.lan}),this.routingTableRefresh=new I1({peerRouting:this.peerRouting,routingTable:this.routingTable,lan:this.lan}),this.rpc=new j1(t,{routingTable:this.routingTable,providers:this.providers,peerRouting:this.peerRouting,validators:this.validators,lan:this.lan}),this.topologyListener=new J1(t,{protocol:this.protocol,lan:this.lan}),this.querySelf=new to(t,{peerRouting:this.peerRouting,interval:a,lan:this.lan}),this.network.addEventListener("peer",y=>{let g=y.detail;this.onPeerConnect(g).catch(m=>{this.log.error("could not add %p to routing table",g.id,m)}),this.dispatchEvent(new se("peer",{detail:g}))}),this.topologyListener.addEventListener("peer",y=>{let g=y.detail;Promise.resolve().then(async()=>{let m=await this.components.peerStore.get(g),v={id:g,multiaddrs:m.addresses.map(({multiaddr:S})=>S),protocols:m.protocols};await this.onPeerConnect(v)}).catch(m=>{this.log.error("could not add %p to routing table",g,m)})})}get[eo](){return!0}get[Symbol.toStringTag](){return"@libp2p/kad-dht"}async onPeerConnect(t){if(this.log("peer %p connected with protocols %s",t.id,t.protocols),this.lan?t=Fn(t):t=Dn(t),t.multiaddrs.length===0){this.log("ignoring %p as they do not have any %s addresses in %s",t.id,this.lan?"private":"public",t.multiaddrs.map(r=>r.toString()));return}try{await this.routingTable.add(t.id)}catch(r){this.log.error("could not add %p to routing table",t.id,r)}}isStarted(){return this.running}async getMode(){return this.clientMode?"client":"server"}async setMode(t){await this.components.registrar.unhandle(this.protocol),t==="client"?(this.log("enabling client mode"),this.clientMode=!0):(this.log("enabling server mode"),this.clientMode=!1,await this.components.registrar.handle(this.protocol,this.rpc.onIncomingStream.bind(this.rpc),{maxInboundStreams:this.maxInboundStreams,maxOutboundStreams:this.maxOutboundStreams}))}async start(){this.running=!0,await this.setMode(this.clientMode?"client":"server"),await Promise.all([this.providers.start(),this.queryManager.start(),this.network.start(),this.routingTable.start(),this.topologyListener.start(),this.querySelf.start()]),await this.routingTableRefresh.start()}async stop(){this.running=!1,await Promise.all([this.providers.stop(),this.queryManager.stop(),this.network.stop(),this.routingTable.stop(),this.routingTableRefresh.stop(),this.topologyListener.stop(),this.querySelf.stop()])}async*put(t,r,n={}){yield*this.contentFetching.put(t,r,n)}async*get(t,r={}){yield*this.contentFetching.get(t,r)}async*provide(t,r={}){yield*this.contentRouting.provide(t,this.components.addressManager.getAddresses(),r)}async*findProviders(t,r={}){yield*this.contentRouting.findProviders(t,r)}async*findPeer(t,r={}){yield*this.peerRouting.findPeer(t,r)}async*getClosestPeers(t,r={}){yield*this.peerRouting.getClosestPeers(t,r)}async refreshRoutingTable(){this.routingTableRefresh.refreshTable(!0)}};var vd=z("libp2p:kad-dht"),ro=class extends de{constructor(t,r,n){super(),this.components=t,this.wan=r,this.lan=n,this.wan.addEventListener("peer",i=>{this.dispatchEvent(new se("peer",{detail:i.detail}))}),this.lan.addEventListener("peer",i=>{this.dispatchEvent(new se("peer",{detail:i.detail}))})}get[eo](){return!0}get[Symbol.toStringTag](){return"@libp2p/dual-kad-dht"}isStarted(){return this.wan.isStarted()&&this.lan.isStarted()}async getMode(){return await this.wan.getMode()}async setMode(t){await this.wan.setMode(t)}async start(){await Promise.all([this.lan.start(),this.wan.start()])}async stop(){await Promise.all([this.lan.stop(),this.wan.stop()])}async*put(t,r,n={}){for await(let i of _e(this.lan.put(t,r,n),this.wan.put(t,r,n)))yield i}async*get(t,r={}){let n=!1,i=!1;for await(let o of _e(this.lan.get(t,r),this.wan.get(t,r)))yield o,o.name==="DIALING_PEER"&&(n=!0),o.name==="VALUE"&&(n=!0,o.value!=null&&(i=!0)),o.name==="SENDING_QUERY"&&(n=!0);if(!n)throw new C("No peers found in routing table!","ERR_NO_PEERS_IN_ROUTING_TABLE");i||(yield Gt({from:this.components.peerId,error:new C("Not found","ERR_NOT_FOUND")}))}async*provide(t,r={}){let n=0,i=0,o=[],s=[this.lan];await this.wan.getMode()==="server"&&s.push(this.wan);for await(let a of _e(...s.map(u=>u.provide(t,r))))yield a,a.name==="SENDING_QUERY"&&n++,a.name==="QUERY_ERROR"&&o.push(a.error),a.name==="PEER_RESPONSE"&&a.messageName==="ADD_PROVIDER"&&(vd("sent provider record for %s to %p",t,a.from),i++);if(i===0)throw o.length>0?new C(`Failed to provide to ${o.length} of ${n} peers`,"ERR_PROVIDES_FAILED",{errors:o}):new C("Failed to provide - no peers found","ERR_PROVIDES_FAILED")}async*findProviders(t,r={}){yield*_e(this.lan.findProviders(t,r),this.wan.findProviders(t,r))}async*findPeer(t,r={}){let n=!1;for await(let i of _e(this.lan.findPeer(t,r),this.wan.findPeer(t,r)))yield i,(i.name==="SENDING_QUERY"||i.name==="FINAL_PEER")&&(n=!0);if(!n)throw new C("Peer lookup failed","ERR_LOOKUP_FAILED")}async*getClosestPeers(t,r={}){yield*_e(this.lan.getClosestPeers(t,r),this.wan.getClosestPeers(t,r))}async refreshRoutingTable(){await Promise.all([this.lan.refreshRoutingTable(),this.wan.refreshRoutingTable()])}};var au=Symbol.for("@libp2p/content-routing");var uu=Symbol.for("@libp2p/peer-routing");var no=class{constructor(t){this.dht=t}async provide(t){await Y0(this.dht.provide(t))}async*findProviders(t,r={}){for await(let n of this.dht.findProviders(t,r))n.name==="PROVIDER"&&(yield*n.providers)}async put(t,r,n){await Y0(this.dht.put(t,r,n))}async get(t,r){for await(let n of this.dht.get(t,r))if(n.name==="VALUE")return n.value;throw new C("Not found","ERR_NOT_FOUND")}},io=class{constructor(t){this.dht=t}async findPeer(t,r={}){for await(let n of this.dht.findPeer(t,r))if(n.name==="FINAL_PEER")return n.peer;throw new C("Not found","ERR_NOT_FOUND")}async*getClosestPeers(t,r={}){for await(let n of this.dht.getClosestPeers(t,r))n.name==="FINAL_PEER"&&(yield n.peer)}},z2=class extends ro{constructor(t,r){super(t,new ui(t,{protocolPrefix:"/ipfs",...r,lan:!1}),new ui(t,{protocolPrefix:"/ipfs",...r,clientMode:!1,lan:!0})),this.contentRouting=new no(this),this.peerRouting=new io(this)}get[au](){return this.contentRouting}get[uu](){return this.peerRouting}get[su](){return this}};function wd(e){return t=>new z2(t,e)}return du(bd);})();
|
|
27
|
+
`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),Cf=new RegExp(`(?:^${ve}$)|(?:^${_i}$)`),_f=new RegExp(`^${ve}$`),Tf=new RegExp(`^${_i}$`),cs=e=>e&&e.exact?Cf:new RegExp(`(?:${Sr(e)}${ve}${Sr(e)})|(?:${Sr(e)}${_i}${Sr(e)})`,"g");cs.v4=e=>e&&e.exact?_f:new RegExp(`${Sr(e)}${ve}${Sr(e)}`,"g");cs.v6=e=>e&&e.exact?Tf:new RegExp(`${Sr(e)}${_i}${Sr(e)}`,"g");var Q3=cs;var Ti=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let r=this.index,n=t();return n===void 0&&(this.index=r),n}parseWith(t){let r=t();if(this.index===this.input.length)return r}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(t){return this.readAtomically(()=>{let r=this.readChar();if(r===t)return r})}readSeparator(t,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(t)===void 0))return n()})}readNumber(t,r,n,i){return this.readAtomically(()=>{let o=0,s=0,a=this.peekChar();if(a===void 0)return;let u=a==="0",c=2**(8*i)-1;for(;;){let f=this.readAtomically(()=>{let l=this.readChar();if(l===void 0)return;let d=Number.parseInt(l,t);if(!Number.isNaN(d))return d});if(f===void 0)break;if(o*=t,o+=f,o>c||(s+=1,r!==void 0&&s>r))return}if(s!==0)return!n&&u&&s>1?void 0:o})}readIPv4Addr(){return this.readAtomically(()=>{let t=new Uint8Array(4);for(let r=0;r<t.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;t[r]=n}return t})}readIPv6Addr(){let t=r=>{for(let n=0;n<r.length/2;n++){let i=n*2;if(n<r.length-3){let s=this.readSeparator(":",n,()=>this.readIPv4Addr());if(s!==void 0)return r[i]=s[0],r[i+1]=s[1],r[i+2]=s[2],r[i+3]=s[3],[i+4,!0]}let o=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(o===void 0)return[i,!1];r[i]=o>>8,r[i+1]=o&255}return[r.length,!1]};return this.readAtomically(()=>{let r=new Uint8Array(16),[n,i]=t(r);if(n===16)return r;if(i||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let o=new Uint8Array(14),s=16-(n+2),[a]=t(o.subarray(0,s));return r.set(o.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var W3=45,Rf=15,Pn=new Ti;function fs(e){if(!(e.length>Rf))return Pn.new(e).parseWith(()=>Pn.readIPv4Addr())}function ls(e){if(!(e.length>W3))return Pn.new(e).parseWith(()=>Pn.readIPv6Addr())}function Ri(e){if(!(e.length>W3))return Pn.new(e).parseWith(()=>Pn.readIPAddr())}function Y3(e){return!!fs(e)}function Z3(e){return!!ls(e)}function Nn(e){return!!Ri(e)}var e4=$(j3(),1),{isValid:Pf,parse:Nf}=e4.default,Lf=["0.0.0.0/8","10.0.0.0/8","100.64.0.0/10","127.0.0.0/8","169.254.0.0/16","172.16.0.0/12","192.0.0.0/24","192.0.0.0/29","192.0.0.8/32","192.0.0.9/32","192.0.0.10/32","192.0.0.170/32","192.0.0.171/32","192.0.2.0/24","192.31.196.0/24","192.52.193.0/24","192.88.99.0/24","192.168.0.0/16","192.175.48.0/24","198.18.0.0/15","198.51.100.0/24","203.0.113.0/24","240.0.0.0/4","255.255.255.255/32"],kf=Lf.map(e=>new t4.Netmask(e));function Df(e){for(let t of kf)if(t.contains(e))return!0;return!1}function J3(e){return/^::$/.test(e)||/^::1$/.test(e)||/^::f{4}:([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(e)||/^::f{4}:0.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(e)||/^64:ff9b::([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(e)||/^100::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(e)||/^2001::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(e)||/^2001:2[0-9a-fA-F]:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(e)||/^2001:db8:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(e)||/^2002:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(e)||/^f[c-d]([0-9a-fA-F]{2,2}):/i.test(e)||/^fe[8-9a-bA-B][0-9a-fA-F]:/i.test(e)||/^ff([0-9a-fA-F]{2,2}):/i.test(e)}var r4=e=>{if(Pf(e)){let t=Nf(e);if(t.kind()==="ipv4")return Df(t.toNormalizedString());if(t.kind()==="ipv6")return J3(e)}else if(Nn(e)&&Q3.v6().test(e))return J3(e)};var hs=r4;function st(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}var Yr=class extends Error{constructor(t="The operation was aborted"){super(t),this.code=Yr.code,this.type=Yr.type}static get code(){return"ABORT_ERR"}static get type(){return"aborted"}},C=class extends Error{constructor(t,r,n){super(t),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var n4=Symbol.for("@libp2p/peer-id");var Ff=Symbol.for("nodejs.util.inspect.custom"),i4=Object.values(wr).map(e=>e.decoder).reduce((e,t)=>e.or(t),wr.identity.decoder),o4=114,ps=36,ds=37,b0=class{constructor(t){this.type=t.type,this.multihash=t.multihash,this.privateKey=t.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}get[n4](){return!0}toString(){return this.string==null&&(this.string=St.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return tt.createV1(o4,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(t){if(t instanceof Uint8Array)return st(this.multihash.bytes,t);if(typeof t=="string")return bt(t).equals(this);if(t?.multihash?.bytes!=null)return st(this.multihash.bytes,t.multihash.bytes);throw new Error("not valid Id")}[Ff](){return`PeerId(${this.toString()})`}},Ln=class extends b0{constructor(t){super({...t,type:"RSA"}),this.type="RSA",this.publicKey=t.publicKey}},kn=class extends b0{constructor(t){super({...t,type:"Ed25519"}),this.type="Ed25519",this.publicKey=t.multihash.digest}},Dn=class extends b0{constructor(t){super({...t,type:"secp256k1"}),this.type="secp256k1",this.publicKey=t.multihash.digest}};function bt(e,t){if(t=t??i4,e.charAt(0)==="1"||e.charAt(0)==="Q"){let r=zr(St.decode(`z${e}`));return e.startsWith("12D")?new kn({multihash:r}):e.startsWith("16U")?new Dn({multihash:r}):new Ln({multihash:r})}return Zr(i4.decode(e))}function Zr(e){try{let t=zr(e);if(t.code===vr.code){if(t.digest.length===ps)return new kn({multihash:t});if(t.digest.length===ds)return new Dn({multihash:t})}if(t.code===mt.code)return new Ln({multihash:t})}catch{return Uf(tt.decode(e))}throw new Error("Supplied PeerID CID is invalid")}function Uf(e){if(e==null||e.multihash==null||e.version==null||e.version===1&&e.code!==o4)throw new Error("Supplied PeerID CID is invalid");let t=e.multihash;if(t.code===mt.code)return new Ln({multihash:e.multihash});if(t.code===vr.code){if(t.digest.length===ps)return new kn({multihash:e.multihash});if(t.digest.length===ds)return new Dn({multihash:e.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function s4(e,t){return e.length===ps?new kn({multihash:ke(vr.code,e),privateKey:t}):e.length===ds?new Dn({multihash:ke(vr.code,e),privateKey:t}):new Ln({multihash:await mt.digest(e),publicKey:e,privateKey:t})}var a4="/lan",u4="/ipfs",c4="/kad/1.0.0",f4="/dht/record",ys="/dht/provider";var Of=xt("/pk/");function Fn(e){return{...e,multiaddrs:e.multiaddrs.filter(t=>{let[[r,n]]=t.stringTuples();if(r===53||r===54||r===55)return n!=="localhost";if(r!==4&&r!==6||n==null)return!1;let i=hs(n);return i==null?!0:!i})}}function Un(e){return{...e,multiaddrs:e.multiaddrs.filter(t=>{let[[r,n]]=t.stringTuples();if(n==="localhost")return!0;if(r!==4&&r!==6||n==null)return!1;let i=hs(n);return i??!1})}}async function Ke(e){return(await mt.digest(e)).digest}async function Jt(e){return await Ke(e.toBytes())}function nr(e){return new Dt(`${f4}/${M(e,"base32")}`,!1)}function l4(e){return ut([Of,e.toBytes()])}function h4(e){return M(e.subarray(0,4))==="/pk/"}function p4(e){return Zr(e.subarray(4))}function gs(e,t){let r=new Date;return new Rt(e,t,r).serialize()}function d4(e,t=100){let r;return()=>{clearTimeout(r),r=setTimeout(()=>{e()},t)}}var I4=$(g4(),1);var S0=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},vs=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},m4=e=>globalThis.DOMException===void 0?new vs(e):new DOMException(e),x4=e=>{let t=e.reason===void 0?m4("This operation was aborted."):e.reason;return t instanceof Error?t:m4(t)};function ws(e,t,r,n){let i,o=new Promise((s,a)=>{if(typeof t!="number"||Math.sign(t)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${t}\``);if(t===Number.POSITIVE_INFINITY){s(e);return}if(n={customTimers:{setTimeout,clearTimeout},...n},n.signal){let{signal:u}=n;u.aborted&&a(x4(u)),u.addEventListener("abort",()=>{a(x4(u))})}i=n.customTimers.setTimeout.call(void 0,()=>{if(typeof r=="function"){try{s(r())}catch(f){a(f)}return}let u=typeof r=="string"?r:`Promise timed out after ${t} milliseconds`,c=r instanceof Error?r:new S0(u);typeof e.cancel=="function"&&e.cancel(),a(c)},t),(async()=>{try{s(await e)}catch(u){a(u)}finally{n.customTimers.clearTimeout.call(void 0,i)}})()});return o.clear=()=>{clearTimeout(i),i=void 0},o}function bs(e,t,r){let n=0,i=e.length;for(;i>0;){let o=Math.trunc(i/2),s=n+o;r(e[s],t)<=0?(n=++s,i-=o+1):i=o}return n}var Xr=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},ir,A0=class{constructor(){ir.set(this,[])}enqueue(t,r){r={priority:0,...r};let n={priority:r.priority,run:t};if(this.size&&Xr(this,ir,"f")[this.size-1].priority>=r.priority){Xr(this,ir,"f").push(n);return}let i=bs(Xr(this,ir,"f"),n,(o,s)=>s.priority-o.priority);Xr(this,ir,"f").splice(i,0,n)}dequeue(){let t=Xr(this,ir,"f").shift();return t?.run}filter(t){return Xr(this,ir,"f").filter(r=>r.priority===t.priority).map(r=>r.run)}get size(){return Xr(this,ir,"f").length}};ir=new WeakMap;var vt=function(e,t,r,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(e,r):i?i.value=r:t.set(e,r),r},k=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},It,B0,C0,Ir,Oi,_0,Li,we,I0,te,ki,ee,T0,Ar,Di,v4,w4,S4,b4,E4,Fi,Es,Ss,Mi,A4,Ui,Ki=class extends Error{},or=class extends I4.default{constructor(t){var r,n,i,o;if(super(),It.add(this),B0.set(this,void 0),C0.set(this,void 0),Ir.set(this,0),Oi.set(this,void 0),_0.set(this,void 0),Li.set(this,0),we.set(this,void 0),I0.set(this,void 0),te.set(this,void 0),ki.set(this,void 0),ee.set(this,0),T0.set(this,void 0),Ar.set(this,void 0),Di.set(this,void 0),Object.defineProperty(this,"timeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),t={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:A0,...t},!(typeof t.intervalCap=="number"&&t.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(n=(r=t.intervalCap)===null||r===void 0?void 0:r.toString())!==null&&n!==void 0?n:""}\` (${typeof t.intervalCap})`);if(t.interval===void 0||!(Number.isFinite(t.interval)&&t.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(o=(i=t.interval)===null||i===void 0?void 0:i.toString())!==null&&o!==void 0?o:""}\` (${typeof t.interval})`);vt(this,B0,t.carryoverConcurrencyCount,"f"),vt(this,C0,t.intervalCap===Number.POSITIVE_INFINITY||t.interval===0,"f"),vt(this,Oi,t.intervalCap,"f"),vt(this,_0,t.interval,"f"),vt(this,te,new t.queueClass,"f"),vt(this,ki,t.queueClass,"f"),this.concurrency=t.concurrency,this.timeout=t.timeout,vt(this,Di,t.throwOnTimeout===!0,"f"),vt(this,Ar,t.autoStart===!1,"f")}get concurrency(){return k(this,T0,"f")}set concurrency(t){if(!(typeof t=="number"&&t>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${t}\` (${typeof t})`);vt(this,T0,t,"f"),k(this,It,"m",Mi).call(this)}async add(t,r={}){return r={timeout:this.timeout,throwOnTimeout:k(this,Di,"f"),...r},new Promise((n,i)=>{k(this,te,"f").enqueue(async()=>{var o,s,a;vt(this,ee,(s=k(this,ee,"f"),s++,s),"f"),vt(this,Ir,(a=k(this,Ir,"f"),a++,a),"f");try{if(!((o=r.signal)===null||o===void 0)&&o.aborted)throw new Ki("The task was aborted.");let u=t({signal:r.signal});r.timeout&&(u=ws(Promise.resolve(u),r.timeout)),r.signal&&(u=Promise.race([u,k(this,It,"m",A4).call(this,r.signal)]));let c=await u;n(c),this.emit("completed",c)}catch(u){if(u instanceof S0&&!r.throwOnTimeout){n();return}i(u),this.emit("error",u)}finally{k(this,It,"m",S4).call(this)}},r),this.emit("add"),k(this,It,"m",Fi).call(this)})}async addAll(t,r){return Promise.all(t.map(async n=>this.add(n,r)))}start(){return k(this,Ar,"f")?(vt(this,Ar,!1,"f"),k(this,It,"m",Mi).call(this),this):this}pause(){vt(this,Ar,!0,"f")}clear(){vt(this,te,new(k(this,ki,"f")),"f")}async onEmpty(){k(this,te,"f").size!==0&&await k(this,It,"m",Ui).call(this,"empty")}async onSizeLessThan(t){k(this,te,"f").size<t||await k(this,It,"m",Ui).call(this,"next",()=>k(this,te,"f").size<t)}async onIdle(){k(this,ee,"f")===0&&k(this,te,"f").size===0||await k(this,It,"m",Ui).call(this,"idle")}get size(){return k(this,te,"f").size}sizeBy(t){return k(this,te,"f").filter(t).length}get pending(){return k(this,ee,"f")}get isPaused(){return k(this,Ar,"f")}};B0=new WeakMap,C0=new WeakMap,Ir=new WeakMap,Oi=new WeakMap,_0=new WeakMap,Li=new WeakMap,we=new WeakMap,I0=new WeakMap,te=new WeakMap,ki=new WeakMap,ee=new WeakMap,T0=new WeakMap,Ar=new WeakMap,Di=new WeakMap,It=new WeakSet,v4=function(){return k(this,C0,"f")||k(this,Ir,"f")<k(this,Oi,"f")},w4=function(){return k(this,ee,"f")<k(this,T0,"f")},S4=function(){var t;vt(this,ee,(t=k(this,ee,"f"),t--,t),"f"),k(this,It,"m",Fi).call(this),this.emit("next")},b4=function(){k(this,It,"m",Ss).call(this),k(this,It,"m",Es).call(this),vt(this,I0,void 0,"f")},E4=function(){let t=Date.now();if(k(this,we,"f")===void 0){let r=k(this,Li,"f")-t;if(r<0)vt(this,Ir,k(this,B0,"f")?k(this,ee,"f"):0,"f");else return k(this,I0,"f")===void 0&&vt(this,I0,setTimeout(()=>{k(this,It,"m",b4).call(this)},r),"f"),!0}return!1},Fi=function(){if(k(this,te,"f").size===0)return k(this,we,"f")&&clearInterval(k(this,we,"f")),vt(this,we,void 0,"f"),this.emit("empty"),k(this,ee,"f")===0&&this.emit("idle"),!1;if(!k(this,Ar,"f")){let t=!k(this,It,"a",E4);if(k(this,It,"a",v4)&&k(this,It,"a",w4)){let r=k(this,te,"f").dequeue();return r?(this.emit("active"),r(),t&&k(this,It,"m",Es).call(this),!0):!1}}return!1},Es=function(){k(this,C0,"f")||k(this,we,"f")!==void 0||(vt(this,we,setInterval(()=>{k(this,It,"m",Ss).call(this)},k(this,_0,"f")),"f"),vt(this,Li,Date.now()+k(this,_0,"f"),"f"))},Ss=function(){k(this,Ir,"f")===0&&k(this,ee,"f")===0&&k(this,we,"f")&&(clearInterval(k(this,we,"f")),vt(this,we,void 0,"f")),vt(this,Ir,k(this,B0,"f")?k(this,ee,"f"):0,"f"),k(this,It,"m",Mi).call(this)},Mi=function(){for(;k(this,It,"m",Fi).call(this););},A4=async function(t){return new Promise((r,n)=>{t.addEventListener("abort",()=>{n(new Ki("The task was aborted."))},{once:!0})})},Ui=async function(t,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(t,i),n())};this.on(t,i)})};var ce=$(R4(),1);ce.default.formatters.b=e=>e==null?"undefined":St.baseEncode(e);ce.default.formatters.t=e=>e==null?"undefined":ge.baseEncode(e);ce.default.formatters.m=e=>e==null?"undefined":Hr.baseEncode(e);ce.default.formatters.p=e=>e==null?"undefined":e.toString();ce.default.formatters.c=e=>e==null?"undefined":e.toString();ce.default.formatters.k=e=>e==null?"undefined":e.toString();function Jf(e){let t=()=>{};return t.enabled=!1,t.color="",t.diff=0,t.log=()=>{},t.namespace=e,t.destroy=()=>!0,t.extend=()=>t,t}function z(e){let t=Jf(`${e}:trace`);return ce.default.enabled(`${e}:trace`)&&ce.default.names.map(r=>r.toString()).find(r=>r.includes(":trace"))!=null&&(t=(0,ce.default)(`${e}:trace`)),Object.assign((0,ce.default)(e),{error:(0,ce.default)(`${e}:error`),trace:t})}function sr(e,t){let r={[Symbol.iterator]:()=>r,next:()=>{let n=e.next(),i=n.value;return n.done===!0||i==null?{done:!0,value:void 0}:{done:!1,value:t(i)}}};return r}var As=class{constructor(t){if(this.map=new Map,t!=null)for(let[r,n]of t.entries())this.map.set(r.toString(),n)}[Symbol.iterator](){return this.entries()}clear(){this.map.clear()}delete(t){this.map.delete(t.toString())}entries(){return sr(this.map.entries(),t=>[bt(t[0]),t[1]])}forEach(t){this.map.forEach((r,n)=>{t(r,bt(n),this)})}get(t){return this.map.get(t.toString())}has(t){return this.map.has(t.toString())}set(t,r){this.map.set(t.toString(),r)}keys(){return sr(this.map.keys(),t=>bt(t))}values(){return this.map.values()}get size(){return this.map.size}};var fe=class{constructor(t){if(this.set=new Set,t!=null)for(let r of t)this.set.add(r.toString())}get size(){return this.set.size}[Symbol.iterator](){return this.values()}add(t){this.set.add(t.toString())}clear(){this.set.clear()}delete(t){this.set.delete(t.toString())}entries(){return sr(this.set.entries(),t=>{let r=bt(t[0]);return[r,r]})}forEach(t){this.set.forEach(r=>{let n=bt(r);t(n,n,this)})}has(t){return this.set.has(t.toString())}values(){return sr(this.set.values(),t=>bt(t))}intersection(t){let r=new fe;for(let n of t)this.has(n)&&r.add(n);return r}difference(t){let r=new fe;for(let n of this)t.has(n)||r.add(n);return r}union(t){let r=new fe;for(let n of t)r.add(n);for(let n of this)r.add(n);return r}};var Vn=class{constructor(t){if(this.list=[],t!=null)for(let r of t)this.list.push(r.toString())}[Symbol.iterator](){return sr(this.list.entries(),t=>bt(t[1]))}concat(t){let r=new Vn(this);for(let n of t)r.push(n);return r}entries(){return sr(this.list.entries(),t=>[t[0],bt(t[1])])}every(t){return this.list.every((r,n)=>t(bt(r),n,this))}filter(t){let r=new Vn;return this.list.forEach((n,i)=>{let o=bt(n);t(o,i,this)&&r.push(o)}),r}find(t){let r=this.list.find((n,i)=>t(bt(n),i,this));if(r!=null)return bt(r)}findIndex(t){return this.list.findIndex((r,n)=>t(bt(r),n,this))}forEach(t){this.list.forEach((r,n)=>{t(bt(r),n,this)})}includes(t){return this.list.includes(t.toString())}indexOf(t){return this.list.indexOf(t.toString())}pop(){let t=this.list.pop();if(t!=null)return bt(t)}push(...t){for(let r of t)this.list.push(r.toString())}shift(){let t=this.list.shift();if(t!=null)return bt(t)}unshift(...t){let r=this.list.length;for(let n=t.length-1;n>-1;n--)r=this.list.unshift(t[n].toString());return r}get length(){return this.list.length}};var t7="kad-close",e7=50,P4=20,r7=1e4,n7=10,zi=class{constructor(t,r){let{kBucketSize:n,pingTimeout:i,lan:o,pingConcurrency:s,protocol:a,tagName:u,tagValue:c}=r;this.components=t,this.log=z(`libp2p:kad-dht:${o?"lan":"wan"}:routing-table`),this.kBucketSize=n??P4,this.pingTimeout=i??r7,this.pingConcurrency=s??n7,this.lan=o,this.running=!1,this.protocol=a,this.tagName=u??t7,this.tagValue=c??e7;let f=()=>{this.metrics?.pingQueueSize.update(this.pingQueue.size),this.metrics?.pingRunning.update(this.pingQueue.pending)};this.pingQueue=new or({concurrency:this.pingConcurrency}),this.pingQueue.addListener("add",f),this.pingQueue.addListener("next",f),this._onPing=this._onPing.bind(this)}isStarted(){return this.running}async start(){this.running=!0,this.components.metrics!=null&&(this.metrics={routingTableSize:this.components.metrics.registerMetric(`libp2p_kad_dht_${this.lan?"lan":"wan"}_routing_table_size`),pingQueueSize:this.components.metrics.registerMetric(`libp2p_kad_dht_${this.lan?"lan":"wan"}_ping_queue_size`),pingRunning:this.components.metrics.registerMetric(`libp2p_kad_dht_${this.lan?"lan":"wan"}_ping_running`)});let t=new N4.default({localNodeId:await Jt(this.components.peerId),numberOfNodesPerKBucket:this.kBucketSize,numberOfNodesToPing:1});this.kb=t,t.on("ping",this._onPing),this._tagPeers(t)}async stop(){this.running=!1,this.pingQueue.clear(),this.kb=void 0}_tagPeers(t){let r=new fe,n=d4(()=>{let i=new fe(t.closest(t.localNodeId,P4).map(a=>a.peer)),o=i.difference(r),s=r.difference(i);Promise.resolve().then(async()=>{for(let a of o)await this.components.peerStore.merge(a,{tags:{[this.tagName]:{value:this.tagValue}}});for(let a of s)await this.components.peerStore.merge(a,{tags:{[this.tagName]:void 0}})}).catch(a=>{this.log.error("Could not update peer tags",a)}),r=i});t.on("added",()=>{n()}),t.on("removed",()=>{n()})}_onPing(t,r){this.pingQueue.add(async()=>{if(!this.running)return;let n=0;try{await Promise.all(t.map(async i=>{try{let o={signal:AbortSignal.timeout(this.pingTimeout)};this.log("pinging old contact %p",i.peer),(await(await this.components.connectionManager.openConnection(i.peer,o)).newStream(this.protocol,o)).close(),n++}catch(o){this.running&&this.kb!=null&&(this.log.error("could not ping peer %p",i.peer,o),this.log("evicting old contact after ping failed %p",i),this.kb.remove(i.id))}finally{this.metrics?.routingTableSize.update(this.size)}})),this.running&&n<t.length&&this.kb!=null&&(this.log("adding new contact %p",r.peer),this.kb.add(r))}catch(i){this.log.error("could not process k-bucket ping event",i)}}).catch(n=>{this.log.error("could not process k-bucket ping event",n)})}get size(){return this.kb==null?0:this.kb.count()}async find(t){let r=await Jt(t),n=this.closestPeer(r);if(n!=null&&t.equals(n))return n}closestPeer(t){let r=this.closestPeers(t,1);if(r.length>0)return r[0]}closestPeers(t,r=this.kBucketSize){return this.kb==null?[]:this.kb.closest(t,r).map(i=>i.peer)}async add(t){if(this.kb==null)throw new Error("RoutingTable is not started");let r=await Jt(t);this.kb.add({id:r,peer:t}),this.log("added %p with kad id %b",t,r),this.metrics?.routingTableSize.update(this.size)}async remove(t){if(this.kb==null)throw new Error("RoutingTable is not started");let r=await Jt(t);this.kb.remove(r),this.metrics?.routingTableSize.update(this.size)}};function ar(e,t){if(e.length!==t.length)throw new Error("Inputs should have the same length");let r=jt(e.length);for(let n=0;n<e.length;n++)r[n]=e[n]^t[n];return tr(r)}var L4=[77591,22417,43971,28421,740,29829,71467,228973,196661,78537,27689,36431,44415,14362,19456,106025,96308,2882,49509,21149,87173,131409,75844,23676,121838,30291,17492,2953,7564,110620,129477,127283,53113,72417,165166,109690,21200,102125,24049,71504,90342,25307,72039,26812,26715,32264,133800,71161,88956,171987,51779,24425,16671,30251,186294,247761,14202,2121,8465,35024,4876,85917,169730,3638,256836,96184,943,18678,6583,52907,35807,112254,214097,18796,11595,9243,23554,887,268203,382004,24590,111335,11625,16619,29039,102425,69006,97976,92362,32552,63717,41433,128974,137630,59943,10019,13986,35430,33665,108037,43799,43280,38195,29078,58629,18265,14425,46832,235538,40830,77881,110717,58937,3463,325358,51300,47623,117252,19007,10170,20540,91237,294813,4951,79841,56232,36270,128547,69209,66275,100156,32063,73531,34439,80937,28892,44466,88595,216307,32583,49620,16605,82127,45807,21630,78726,20235,40163,111007,96926,5567,72083,21665,58844,39419,179767,48328,42662,51550,5251,37811,49608,81056,50854,55513,20922,18891,197409,164656,32593,71449,220474,58919,85682,67854,13758,35066,3565,61905,214793,119572,141419,21504,10302,27354,67003,46131,32668,15165,64871,34450,17821,2757,11452,34189,5160,12257,85523,560,53385,65887,119549,135620,312353,115979,122356,10867,193231,124537,54783,90675,120791,4715,142253,50943,17271,43358,25331,4917,120566,34580,12878,33786,160528,32523,4869,301307,104817,81491,23276,8832,97911,31265,52065,7998,49622,9715,43998,34091,84587,20664,69041,29419,53205,10838,58288,116145,6185,5154,141795,35924,21307,144738,43730,12085,8279,10002,119,133779,199668,72938,31768,39176,67875,38453,9700,44144,4121,116048,41733,12868,82669,92308,128,34262,11332,7712,90764,36141,13553,71312,77470,117314,96549,49135,23602,54468,28605,6327,62308,17171,67531,21319,14105,894,107722,46157,8503,51069,100472,45138,15246,14577,35609,191464,1757,13364,161349,32067,91705,81144,52339,5408,91066,21983,14157,100545,4372,26630,129112,1423,29676,213626,4397,88436,99190,6877,49958,26122,114348,60661,29818,293118,50042,179738,16400,163423,89627,31040,43973,36638,45952,5153,1894,109322,1898,134021,12402,112077,68309,190269,69866,31938,107383,11522,105232,11248,14868,39852,71707,186525,16530,38162,106212,11700,5130,16608,26998,59586,108399,230033,43683,48135,82179,2073,5015,196684,189293,16378,23452,8301,35640,11632,214551,29240,57644,33137,91949,55157,52384,117313,5090,17717,89668,49363,82238,241035,66216,29066,184088,97206,62820,26595,4241,135635,173672,8202,459,71355,146294,29587,3008,135385,141203,14803,6634,45094,69362,50925,546,51884,62011,83296,234584,44515,56050,89476,87751,19373,12691,149923,19794,13833,35846,87557,58339,2884,19145,25647,12224,11024,77338,64608,122297,53025,7205,36189,36294,170779,21750,7739,173883,75192,35664,224240,113121,30181,26267,27036,117827,92015,106516,55628,203549,67949,60462,60844,35911,20457,1820,920,19773,8738,73173,181993,38521,98254,76257,46008,92796,5384,26868,151566,22124,2411,15919,186872,180021,28099,152961,78811,80237,62352,102653,74259,184890,16792,123702,224945,29940,19512,75283,14059,112691,92811,233329,20411,138569,53341,109802,50600,134528,66747,5529,166531,31578,64732,67189,1596,126357,967,167999,206598,109752,119431,207825,78791,91938,10301,27311,24233,252343,28831,32812,66002,112267,90895,8786,8095,16824,22866,21813,60507,174833,19549,130985,117051,52110,6938,81923,123864,38061,919,18680,53534,46739,112893,161529,85429,26761,11900,81121,91968,15390,217947,56524,1713,6654,37089,85630,138866,61850,16491,75577,16884,98296,73523,6140,44645,6062,36366,29844,57946,37932,42472,5266,20834,19309,33753,127182,134259,35810,41805,45878,312001,14881,47757,49251,120050,44252,3708,25856,107864,120347,1228,36550,41682,34496,47025,8393,173365,246526,12894,161607,35670,90785,126572,2095,124731,157033,58694,554,12786,9642,4817,16136,47864,174698,66992,4639,69284,10625,40710,27763,51738,30404,264105,137904,109882,52487,42824,57514,2740,10479,146799,107390,16586,88038,174951,9410,16185,44158,5568,40658,46108,12763,97385,26175,108859,664,230732,67470,46663,14395,50750,141320,93140,15361,47997,55784,6791,307840,118569,107326,18056,58281,260415,54691,8790,73332,45633,7511,45674,143373,14031,11799,94491,35646,96544,14560,26049,32983,25791,83814,42094,231370,63955,139212,2359,169908,3108,183486,105867,28197,32941,124968,26402,88267,149768,23053,3078,19091,52924,25383,19209,111548,97361,3959,24880,235061,9099,24921,161254,151405,20508,7159,34381,20133,11434,74036,19974,34769,36585,1076,22454,17354,38727,235160,111547,96454,117448,156940,91330,37299,7310,26915,117060,51369,22620,61861,322264,106850,111694,15091,2624,40345,300446,177064,1707,27389,54792,327783,132669,183543,59003,17744,20603,151134,106923,53084,71803,279424,319816,11579,21946,16728,38274,72711,5085,83391,88646,40159,25027,34680,10752,12988,54126,30365,18338,100445,230674,44874,84974,143877,123253,139372,28082,91477,144002,13096,219729,46016,50029,42377,14601,6660,58244,58978,23918,88206,113611,64452,17541,41032,10942,12021,49189,10978,40175,37156,10947,71709,106894,112538,57007,137486,150608,152719,40615,7746,279716,13101,19524,28708,40578,72320,1096,182051,94527,51275,22833,45164,81917,77519,48508,5421,140302,37845,149830,5587,27579,5357,428725,248187,6326,206760,39814,32585,89923,44341,288753,284443,96368,31201,94189,119504,20359,52073,103216,179,27934,32801,96035,34111,34309,101326,18198,20704,210266,37643,27880,141873,106e3,19414,56614,167714,66483,107885,86602,4379,20796,75467,4987,5017,118857,26003,34308,114428,29198,6686,29697,73632,3739,69795,16798,41504,7207,30722,21436,36735,28067,28545,3239,11221,36031,41889,100010,19247,317673,29495,174554,6424,129725,53845,94986,7955,59676,2604,191497,19735,102214,62954,23844,11872,179525,261436,34492,428,78404,142035,16747,17246,27578,37021,33672,57944,26056,135760,2369,61674,122066,31327,19374,157065,40553,130982,69619,71290,38855,72100,92903,95940,51422,165999,65713,57873,50726,7288,20272,2081,42326,22624,81120,57914,79352,19447,1684,72302,11774,302559,161481,96396,13692,414988,3721,79066,56627,46883,21150,11747,12184,5856,113458,176117,84416,52079,27933,3354,59765,141359,2212,216309,2555,23458,196722,142463,45701,44548,28798,19418,215,29916,9396,10574,114226,84475,13520,18694,34056,4524,90302,62930,13539,19407,77209,7728,38088,9535,2263,23875,183945,17750,26274,67172,10585,28042,22199,7478,51331,66030,26774,192929,31434,25850,50197,52926,178158,4679,181256,70184,229600,9959,105594,72158,73974,2726,35085,78087,23284,35568,51713,155676,5401,27254,11966,17569,223253,71993,103357,111477,55722,30504,26034,46774,35392,36285,214814,41143,163465,1051,16094,81044,6636,76489,179102,20712,39178,35683,125177,54219,30617,52994,25324,50123,2543,87529,58995,10688,125199,12388,60158,125481,131646,7642,133350,65874,3438,97277,101450,10075,56344,116821,50778,60547,98016,106135,13859,14255,16300,77373,173521,8285,45932,37426,4054,114295,55947,7703,39114,52,51119,128135,19714,60715,9554,50492,88180,2823,118271,52993,122625,97919,23859,37895,25040,33614,32102,20431,3577,9275,15686,43031,157741,110358,1884,40291,125391,13736,5008,64881,87336,77381,70711,43032,49155,118587,70494,4318,10168,30126,12580,10524,280104,104001,145413,2862,84140,6603,106005,13566,12780,11251,42830,571,179910,82443,13146,469,42714,32591,265217,424024,92553,54721,134100,6007,15242,114681,59030,16718,85465,200214,85982,55174,165013,23493,56964,82529,109150,32706,27568,82442,5350,14976,13165,44890,60021,21343,33978,17264,4655,22328,27819,75730,16567,55483,14510,17926,45827,150609,3704,7385,272531,161543,76904,122163,52405,2039,19165,41623,14423,228354,3369,176360,85491,7122,35789,303724,4465,13628,2233,55311,118771,20713,10006,221519,45115,71021,35650,29775,7337,10864,20665,21142,1746,15080,1624,32449,10905,105743,229797,7701,3940,22997,178467,57208,389057,39683,59403,63344,63125,54847,69691,18336,56448,3362,37202,18282,29648,138224,35867,10495,5911,28814,26653,31514,176702,26550,45621,11734,4525,40543,73944,121080,27858,155561,14887,44670,30742,8796,107455,113472,56369,75581,183777,240095,133699,153299,8768,160464,26058,49078,103971,21875,71486,44888,17156,9678,89541,123019,102337,3972,83930,21245,87852,109660,287918,183019,686,10100,39177,283941,11274,24736,26793,26214,25995,77011,141580,4070,23742,46285,46632,30700,26669,19056,35951,115575,174034,56097,35463,87425,24575,44245,38701,82317,85922,281616,100333,147697,61503,7730,84330,8530,59917,61597,17173,9092,32658,90288,193136,39023,20381,56654,31132,7779,1919,1375,117128,30819,11169,40938,23935,115201,101155,151034,4835,11231,74550,89388,59951,91704,107312,167882,115062,12732,72738,88703,464019,158267,57995,60496,737,14371,123867,4174,243339,159946,7568,16025,134556,110916,38103,191,80226,88794,29688,27230,10454,76308,57647,77409,113483,66864,14745,19808,12023,46583,84805,16015,17102,2231,20611,3547,95740,250131,34559,108894,8498,15853,159169,148920,20942,2813,93160,45188,210613,45531,52587,149062,39782,28194,57849,60965,84954,89766,84453,100927,16501,27658,165311,103841,54192,207341,19558,20084,319622,5672,205467,98462,61849,36279,13609,147177,24726,165015,209489,59591,31157,6551,117580,75060,141146,277310,21072,22023,106474,63041,137443,122965,68371,5383,42146,98961,113467,30863,23794,4843,99630,30392,82679,13699,241612,33601,93146,24319,18643,32155,95669,40440,15333,34089,67799,142144,58245,38633,114531,117400,77861,188726,5507,2568,8853,10987,107222,2663,2421,11530,13345,30075,41785,118661,104786,17459,12490,16281,71936,193555,17431,5944,71758,26485,77317,20803,367167,158,7362,93430,11735,172445,46002,11532,54482,930,62911,2235,23004,179236,4764,101859,208113,22477,55163,95579,14098,67320,162556,90709,156949,3826,57492,4025,34092,87442,104565,6718,186015,28214,14209,10039,107186,233912,58877,81637,55265,39828,6194,145813,50831,105849,4974,88319,122296,10272,197216,95714,51540,72418,23324,91555,8743,140452,250249,51666,34124,7229,38592,129641,78169,174242,22464,149964,51450,14034,10026,95376,26190,120062,14401,8700,265,31386,143573,7203,229889,61567,4227,140981,2466,72052,10787,10062,30958,6099,38471,30103,23202,208101,70847,467,58934,32271,32984,36637,24107,30771,17109,73353,13650,2098,157040,67366,66904,106018,265380,107238,18535,44025,32681,144983,62505,91295,56120,3082,77508,10322,63023,36700,81885,224127,16721,45023,239261,111272,13852,7866,149243,204199,32309,22084,42029,38316,126644,104973,14406,43454,67322,61310,15789,40285,24026,181047,6301,70927,23319,115823,27248,66693,115875,278566,63007,146844,56841,59007,87368,180001,22370,42114,80605,12022,10374,308,25079,14689,12618,63368,7936,264973,212291,136713,95999,105801,18965,32075,48700,52230,35119,96912,32992,8586,16606,101333,101812,14969,39930,759,193090,27387,42914,12937,5058,62646,64528,38624,25743,37502,3716,4435,30352,178687,26461,132611,42002,138442,35833,59582,16345,8048,60319,49349,309,47800,49739,90482,26405,34470,63786,32479,85028,39866,47846,11649,23934,29466,2816,42864,31828,7410,74885,49632,47629,111801,90749,19536,18767,105764,59606,21223,10746,76298,22220,39408,7190,79654,64856,11602,82156,272765,17079,70089,245473,51813,184407,384678,1576,122249,5064,27481,6188,25790,74361,27541,318284,45430,31488,620,93579,45723,192118,22670,51913,4162,70244,35966,26397,16199,50899,209613,121702,287507,2993,36101,132229,67345,33062,76295,118628,78705,52316,34375,107083,107454,44863,127561,33964,3073,154010,190914,55967,39074,6272,31047,5550,41123,26154,98638,47110,19998,148091,50229,31329,59900,195442,19106,61347,73497,70015,682,45850,25776,38022,148951,6288,37411,232526,109277,27286,32342,9262,5220,16651,23175,46740,129438,78614,121925,66914,88710,127952,5563,21500,34521,10739,14863,191006,62956,17359,16749,67027,56284,69134,43301,35039,58883,54466,60823,404451,75743,59856,86979,7923,34273,83785,32142,7693,268986,197428,282681,17049,22346,22990,92245,107180,3357,37104,96724,49153,7683,31197,43267,82231,164276,23696,20848,188364,22309,24821,158707,1018,22514,70922,27792,45589,59709,10765,736,35218,63479,51987,24275,63588,55361,92929,81964,4658,20122,12330,44058,13065,311456,72224,8337,211229,38979,22590,138478,52757,32595,133600,8838,31549,94412,43391,90056,1585,94802,127271,6223,31889,137038,132910,2165,57616,230152,6080,10748,36737,74579,134062,50525,180532,119270,34556,76155,82394,52595,29258,31435,87820,67996,26943,183878,38007,2410,13526,180297,69856,3503,187396,167700,7838,16701,9199,56267,3661,37407,65994,23767,5708,62508,221700,67088,86978,46776,84434,32088,5612,9149,88244,21685,95151,46750,189612,2979,506311,2594,3628,40074,105039,78243,28523,6651,38058,71999,30992,12764,68261,108991,6165,26450,61961,13400,22426,7490,60890,109623,2070,12958,50355,67979,257096,7213,42578,52121,35716,65461,7516,124758,39268,302,64712,14977,1467,219452,2840,34229,11121,21602,19270,63574,8024,1532,17331,79839,78885,52029,180767,57957,6069,91265,61380,55767,8927,32881,287603,22149,35029,68876,6428,199567,46926,13412,104132,21434,366616,45060,110046,81924,128910,45886,52821,130416,29416,77342,21762,67329,121432,79924,11724,38625,81006,102033,28338,13326,3250,82056,82526,38212,21112,12382,111495,3263,7414,86274,93490,40844,30224,45212,24019,48411,71367,24941,76729,57776,3769,38114,202019,197745,31953,237533,33270,201580,255648,100798,44741,32241,98468,106931,10085,15090,170358,33154,66787,18819,69760,25061,234005,82660,6295,131975,16874,9076,4094,25005,17740,40908,19533,220019,44330,99792,50040,19619,13950,55228,24423,31253,95308,103177,184795,28590,82285,5059,3210,75525,49894,70007,56178,10580,36051,139681,21617,98736,3555,106306,164189,37352,63915,47824,24883,145530,61904,28444,11483,19837,145446,30420,112972,85939,11835,191233,2262,20705,58630,1753,148334,1197,144714,6887,11223,107667,60879,77914,4151,57417,81594,96681,169430,1784,20444,95138,254041,27038,596,7117,72808,13759,3353,126776,21074,55322,27081,36942,39547,139830,179275,4453,713,8722,71399,19204,25785,22794,23923,104114,11291,25458,102309,88396,75288,230440,206396,104551,58447,130857,37247,94734,31548,176529,226077,65159,20104,10096,66881,94191,237909,27109,37404,1520,27421,25220,113003,23423,24884,50585,6286,231877,150800,11789,3226,90004,60642,5053,202400,61442,132531,175329,57138,30116,103847,9973,75367,16452,32360,59119,21246,10191,164804,23305,61051,37348,154530,13214,5468,50403,66754,130976,50559,80515,14436,155492,84017,5472,43107,41240,2890,90431,70188,382,76234,48040,50211,281038,237007,32115,142178,1536,22761,96429,1811,31243,1679,49143,55209,17402,235054,61494,7462,77030,34925,87609,78002,9499,9027,73289,201078,101379,63544,27666,5469,10642,30029,49816,132979,95620,58086,351930,116300,2110,2043,30845,6154,11279,16727,4122,2277,27281,4971,3650,39060,61970,65951,39674,75686,38151,11370,130809,177895,32665,63725,122267,7857,39618,118483,44792,157755,178624,136994,24260,41308,22471,12404,21707,12486,30473,52781,50246,20247,39065,909,56825,103158,128603,31542,1089,41935,32744,12428,37963,84420,33134,72921,208449,42622,168151,127335,147107,46699,38216,12591,94342,85814,31423,24944,2605,87542,67473,192551,4496,56321,91819,17630,6300,256183,114569,202090,33209,35289,34897,24967,40520,43470,5344,10199,34810,14283,10381,10017,62923,49924,23233,64539,13051,35686,19698,11570,135555,120868,44924,87065,52318,52335,47586,140906,245885,109834,78668,9065,46990,25258,72022,61243,40838,4545,146387,10537,11557,17470,36930,68104,46711,24264,79401,81043,18225,120488,24746,84338,81652,28266,13776,21878,46973,1047,230465,73357,95777,24973,210160,62210,58404,110633,169651,6937,41870,9909,26822,191062,76553,27519,96256,239070,2478,205678,67955,58532,20601,50120,19148,78501,195724,110740,8249,109665,27446,30568,57631,31425,49752,32820,65504,50079,3663,102256,219898,23849,211315,14645,4359,91767,9528,12449,49366,7941,49763,107848,8930,27086,50686,9744,10447,81935,39513,46514,1670,29229,6172,22312,137280,97759,9806,14445,22976,56458,73391,34983,93760,174219,52573,33149,59747,2429,136277,75123,165263,91040,7446,57632,48633,97140,246081,84766,151684,79918,93268,120346,54059,54875,77858,32996,103590,45276,11968,19600,25849,17159,132907,42828,16817,4913,99462,103303,27395,5737,74184,20749,21160,14377,77062,131403,158735,10999,27799,77785,9320,34366,51593,61070,33746,47048,29268,36675,30262,53297,9832,82e3,20188,122292,39917,7331,18160,68301,185935,134830,15031,4935,10004,165845,185534,46923,30109,44134,122631,18874,22903,112790,26561,18549,348902,82871,140345,255565,135390,63556,103747,145055,179600,145662,296111,61661,211987,23952,52342,126343,48450,32919,44277,82185,9591,62139,205363,376969,394874,108461,18040,120885,14798,39863,16571,16794,58271,81025,55206,14640,118656,6361,44092,85970,6262,153863,108244,180200,72264,79947,38044,10050,5735,61221,80712,5471,115689,11391,11661,184257,20010,60116,30320,19327,134598,45455,27542,18004,125092,452272,1549,91523,46567,180063,156026,2608,11174,58848,37788,65907,80194,30490,5786,40775,119519,106241,11323,156297,8425,61495,2617,29675,2425,59886,112582,49142,59618,4863,50597,86710,50650,168632,27693,85641,83643,18993,25768,84284,28090,93592,36627,312804,43381,9887,9402,100931,97165,3311,173330,66805,28935,4963,184460,3201,78102,19126,21607,37496,24938,22615,16153,32862,134792,153318,61120,6067,2812,12826,12792,23825,37559,64662,202250,102694,155488,85881,149193,46233,65383,15521,106982,11358,176786,25752,39717,34208,24510,32464,77742,39371,72028,138229,60688,71386,102834,132477,2208,11548,63670,271279,28351,30338,38620,32491,99845,143885,152266,13252,2825,178663,108097,1775,78201,14897,113573,163346,62292,171129,22183,96598,38733,64971,166776,117445,9968,146393,44677,74867,20908,97328,12761,25656,26785,9148,112344,26115,99176,110121,22437,49547,6180,79320,5835,31392,43328,33377,75870,119860,69497,80273,7325,155219,43167,111173,28347,20222,3763,71752,55041,47252,14618,28088,15012,97805,194698,54636,2036,41349,6173,96604,61530,51859,43782,13361,24334,22668,24792,7070,23441,16789,3209,36211,208475,26242,32880,122181,182407,21444,31060,88459,29929,77907,12716,10934,97005,20599,31690,8403,58445,30303,22700,10336,86731,103115,337709,72556,46788,112566,47684,67089,53548,36874,56487,41387,125985,26893,40071,106683,73712,18787,40105,72992,67246,137276,50802,36790,70328,138827,22466,39263,183295,29858,50975,9322,57397,10654,24364,30383,55799,41600,23584,127295,296610,129078,143558,244131,86397,36049,1085,80677,3820,108139,5476,34767,24683,7758,13060,7239,131671,250593,59556,103392,29810,4188,252323,39404,116877,7651,43600,40338,13554,157253,39196,25978,144387,61211,234,50104,6129,10449,93777,9240,356378,274148,4439,72970,3724,147770,78680,62570,115877,40027,40547,36817,224392,64609,34795,165027,67440,2477,37206,23431,50754,164797,46018,94995,170982,27051,7957,22767,3674,27900,56419,18930,60701,41302,2692,84749,339721,61996,111094,80221,50129,1045,8153,62945,19202,8250,37208,37418,32560,79477,41106,88569,33963,36693,5892,30570,1581,66471,49647,11922,160717,29442,5643,114865,82962,95982,132098,22633,22838,94726,54556,28566,205039,162340,33216,16849,35847,221339,94851,26533,71469,1805,3804,12935,45483,71020,36310,65381,192960,34240,35165,59773,1248,46954,155332,96864,4246,388800,16129,57133,74592,44807,442014,38203,42574,80818,91592,26377,36424,65760,977,77387,22628,147610,28018,30561,98454,6969,119628,63648,18170,36854,26601,64018,22027,37279,51395,152934,21153,9430,58760,194742,5330,55115,34158,28917,174111,13171,122326,1526,43896,66094,25325,4234,148354,11450,275,18999,112191,44365,22723,68409,8733,57746,96565,75007,14196,108844,29475,88599,177563,100792,106156,86323,93726,14248,135341,194131,40126,47099,14779,8272,39597,95983,171398,65882,28052,10393,47213,40689,22120,72212,106829,34964,109146,753,648,21660,30047,17527,181025,5619,145357,4085,216883,9359,186951,24779,53931,24545,36197,223296,62628,168101,4243,107313,30321,26642,13049,51059,31027,107912,807,73550,26551,84369,122422,165872,49754,74213,234264,33151,52014,33100,87183,22365,52500,40013,23302,5652,72723,21404,26107,48434,587,94049,168493,96418,32871,70860,31709,25128,443,71597,166253,15670,70994,26341,133675,28280,75491,54756,47955,56028,26182,11952,113272,472197,64640,110753,17919,337,50642,22576,142,87371,53391,93210,126694,15285,19642,85667,14148,1506,42092,52962,33243,11970,20734,135843,57044,58880,13002,219134,22876,64754,232519,4257,43120,321573,24799,64526,124728,52579,81472,70831,276848,17403,74359,23021,182101,74597,23744,148267,12055,7976,5349,11772,67540,167347,65318,18720,127832,108238,22828,90233,9987,259080,118185,73209,79270,13775,90100,137742,90799,70569,15699,19961,9087,67475,57872,39731,8810,134897,131868,146849,19898,3334,2281,167061,91073,60356,467742,74712,188,53179,137679,92769,29241,9537,132595,80119,1041,88962,5976,40171,44911,102859,139059,104558,98987,47761,19272,71472,113864,175377,73338,10857,23402,23758,1591,139864,5644,4076,118760,16427,134198,18853,20291,100849,37423,22038,36677,19071,195521,57445,11069,31869,55718,66882,148490,44,41296,75242,49704,166810,9906,20943,122258,49112,105667,15969,10344,6408,187694,21399,72742,58970,14867,14376,81889,41856,23225,15042,56993,16074,131389,74276,72407,53875,383108,53597,37363,68993,44854,122548,430927,198279,38430,80409,12245,2981,628,2818,17760,37437,238229,7968,46892,2200,3730,34190,65983,37959,112291,87850,70827,6522,20750,73913,111621,41652,19587,2780,58668,25916,85259,18200,168962,95781,42445,102050,7776,57662,103313,47742,96358,41964,66174,100396,29069,204735,19679,27978,7479,40264,22534,61183,36081,107436,58223,14680,23002,101311,24716,124108,12908,5646,31750,40380,14215,232799,102772,14122,96775,61398,50917,12096,149880,67833,598749,124194,155871,49216,790,14677,65319,56917,7440,145744,95701,12206,49405,129269,76199,45732,9767,11058,9047,210885,11051,7392,26307,2130,8132,147526,20802,232698,115660,50060,59789,57344,107623,80343,112676,23291,9866,160971,34032,118291,15719,59730,164911,28975,2659,58046,78480,21854,66209,53863,109085,116045,29021,46481,107552,22130,18764,70254,31272,11300,52460,43933,84738,20721,53869,190840,79673,105300,7561,321817,66924,13940,33281,101046,183181,32176,71878,5678,62924,79535,56646,40303,19559,27703,93042,73368,42187,3670,37376,46440,7023,36816,109628,20680,5940,276440,275233,170848,112093,136996,14984,20226,111441,77693,112960,48577,39370,55707,50314,123404,26570,54281,61372,123391,4857,35928,246740,132507,106646,44241,7196,92258,9825,37688,51197,303141,5590,15476,132986,10955,85782,34486,26696,7991,28813,18858,39546,11703,11365,38185,5716,93555,11925,40121,60002,6985,10976,171384,3887,43394,13337,56346,6381,252336,39573,75042,53711,1028,31781,44295,95925,131713,7214,68125,43571,70954,213234,1628,8760,13391,65485,17320,56038,1710,25248,60803,57399,19839,3870,326,281556,50945,72400,21460,316244,75619,56246,98775,481,13513,55765,50427,7388,123519,32929,57908,27124,61316,101097,57467,30228,48792,10788,20402,37318,50526,155730,34456,158065,145305,17832,43733,64052,4506,35072,205355,177028,184004,187081,68616,35938,83703,10367,36892,93186,260137,51934,89970,4985,23445,26755,21558,7948,78741,23376,124405,85594,68596,57536,49351,12619,56593,132668,99924,109728,71844,71935,196018,65464,17617,14987,89701,143773,33997,8687,22701,33258,2914,4436,72108,85610,9671,49067,2327,82988,1361,1672,44033,35777,30269,24057,10605,82236,616,15793,13919,47249,112086,116698,9484,80207,90574,33304,68624,93127,56101,42210,160929,4827,38995,38095,4701,125119,5027,33680,9236,231236,14135,87837,23318,70261,78893,30151,81482,14332,1084,74256,27532,46644,79185,3148,62615,6981,55672,31668,36825,1849,14536,37446,14738,23779,43058,162749,72199,1168,21346,5592,85932,85302,9668,18351,57135,150360,2080,228015,77953,34670,119302,151751,31009,106725,84265,45214,59289,74178,113071,263206,111009,4021,44449,188119,192629,123592,392506,292847,114487,12831,205858,9852,20780,79648,75767,357014,97721,18166,21005,67950,33226,204009,16536,2987,11335,66717,144910,47950,17262,55060,15063,2934,51038,26775,178497,66008,3427,49433,128592,20036,157553,63861,3089,23015,51210,28696,35933,49942,71135,231518,99620,17248,21835,176536,20676,16944,38700,165831,233253,295625,36723,13023,52745,10907,19423,67972,125868,95473,82875,1183,108455,52685,33417,64095,21433,52438,33191,127809,44505,211823,7810,2752,95548,162031,7185,91196,47563,61721,33359,17897,23682,42806,178101,22874,49707,199897,75419,82456,8618,11171,79712,116847,18783,44190,46564,5346,59046,95032,7893,14916,3214,26800,24172,121453,34362,10250,17408,18888,4840,68696,22831,13162,36005,32512,14800,62357,41723,45046,27247,37486,5372,2564,34261,298500,66509,133920,89138,31305,117697,19097,108304,81386,84106,23802,46411,63304,946,51417,41777,41041,19501,115864,60743,294354,37955,94165,18116,1156,17937,20645,57114,90804,58042,48643,92288,9861,2557,88546,61333,101008,12853,5148,87856,4152,144503,73841,18718,9789,147565,10846,42085,12789,30223,8993,56352,67203,2448,28215,6052,23540,126319,75933,36689,80235,23231,23561,21383,38800,77548,102798,21234,31468,158608,46188,63960,191679,8051,67014,11185,170078,42186,28827,34777,41930,212079,12421,34750,24111,110344,73918,45171,70826,141949,40063,23979,24254,37309,26724,27179,24718,83648,54938,14591,17425,29525,102675,48975,48654,12316,8929,60640,41709,50168,63264,89812,50716,48632,38755,138583,160123,55579,71829,24230,233277,46322,39650,166388,34718,24108,98252,7031,106695,62498,18258,35062,217827,78731,34824,33354,19520,60852,2432,60224,8587,2836,62955,702,20227,42285,40560,95592,62486,11094,53035,143291,18842,46177,77994,1770,9657,107422,172915,32655,128716,25886,25164,156740,119928,165875,85817,11007,89110,33956,12652,65156,180266,8494,36889,19958,20955,96,1264,118288,135769,44754,86671,5632,19026,168220,289120,33569,93821,66144,70635,7687,5642,2714,55445,56636,71545,184182,93133,7332,37389,12643,52315,22729,11014,158742,17050,152889,50178,34601,41945,52136,9948,26914,63548,95721,115951,40759,8960,158258,38938,49232,48325,42234,81523,253019,66128,40978,20048,238048,38760,62928,122560,118532,43687,137472,163689,26680,9878,17448,51035,16211,60834,36749,29178,14241,59868,150086,2305,26477,42422,34342,165341,83279,33894,14257,29928,12743,13957,125571,89134,66712,10952,16507,147839,30146,7249,16565,45399,39874,114565,215780,31990,230881,171477,102,196546,44538,10880,84948,281705,86651,10617,31395,2342,453658,43569,60561,132901,21845,17727,58556,258242,22262,58728,4008,77997,11806,37431,30599,81375,109137,185787,114085,217292,97453,169085,30593,60212,11544,102056,65580,2384,91655,4855,95725,7295,157994,16228,20669,53276,141590,105246,17334,25440,76067,17967,39321,38911,11362,28559,63807,21627,26468,85816,40120,1025,15234,58319,69516,66512,124548,75845,78873,22137,46681,51242,85683,32909,76747,35555,43396,101465,1765,73094,1077,2962,39028,66777,57831,42048,15828,13962,36041,63657,52412,5242,58846,2141,5506,219012,134451,3936,182230,17558,17153,152237,22621,49377,170216,35257,68233,65374,6510,11126,212151,7184,2480,22517,3437,33073,30156,16557,3768,55067,86829,91e3,12350,148650,66017,79424,70885,49066,28250,21369,51213,34533,11510,3258,18176,18465,84413,6315,36411,163765,4346,356,107618,598,13727,285026,162695,8749,14583,7132,63521,184253,32378,25991,5604,30961,53675,4874,84693,5086,34811,26978,56564,7904,33519,51221,113942,69253,6664,125563,22055,220680,102008,742,51930,19494,176108,44424,35123,13025,75685,11759,74335,22250,181453,131147,16984,132115,154311,11991,76452,52609,85351,196,30969,9198,74919,2529,56838,71779,29187,116304,3504,62330,41190,86153,28393,254926,104228,105189,13264,84359,3574,12415,8534,57147,10175,188174,59504,60932,66318,16407,107921,17638,99103,49278,28403,39786,145865,8462,3558,43406,142271,29139,21989,36552,93955,72365,7176,13556,106185,37957,321774,17782,129017,51154,27938,24952,1935,39366,2791,33489,41582,56078,24558,9311,5449,218786,27808,190429,68013,36020,86003,29735,3404,87348,119357,115714,2324,86796,81973,40992,43376,93621,28784,16808,36367,2517,2909,191926,24978,55303,53308,205724,60068,3098,21375,64784,23949,26579,63121,12319,80145,39967,97861,6757,70143,67642,37082,34698,69140,122883,46151,62187,80934,429,19437,135071,137885,222647,13331,154065,327,61778,74257,40116,37493,14855,85079,237641,42342,102164,199965,71204,4662,29368,5042,113914,122214,8955,13149,102503,43173,5659,163787,69003,307084,63392,171080,21390,81918,86666,36622,24126,28887,5736,28054,207170,163428,79891,346467,95363,38980,111806,80828,9200,19288,294896,114468,87405,111715,141705,7015,72754,68463,48738,243147,33397,101210,37051,98801,82847,20397,4940,185559,18716,54718,83491,11725,40803,1128,12128,23060,5174,7745,67007,46701,1571,27807,180186,256996,18975,16837,7877,212758,250379,15440,87954,57755,24719,124057,83461,258,50864,8874,29038,71289,31627,15429,9005,4061,113851,107716,82819,13651,79656,117851,17539,111446,12938,39724,190787,4352,15402,21070,62708,8539,23777,73853,13552,38810,86117,16285,56400,1718,75342,142863,29033,378,110113,180321,32586,23606,26393,160984,207987,23783,8406,16904,24596,47274,11693,46539,60524,78595,48423,31718,20170,9009,146268,15183,191060,172765,1349,138436,37365,10970,40509,225817,20021,70394,152138,21541,66559,66544,89352,2725,17258,91345,7313,3815,115868,8660,40362,4071,103524,39388,118275,21950,6549,38226,32754,209574,29201,43495,18028,20296,40597,18370,47520,202450,24134,2219,8195,69545,38041,136934,46374,19041,159811,84865,58620,846,98749,13569,30714,97246,32186,4479,27355,92973,35214,151491,75963,37631,1561,27200,238083,23182,60756,12291,25766,39355,102333,87362,65741,59906,19538,201575,48772,102938,24438,292580,39964,66366,9004,61379,50548,37622,38732,28379,68180,76622,17488,69849,5963,7219,48143,43413,55358,540,58691,29506,19245,52193,48621,5518,13048,118625,44755,191081,42061,89197,2259,60665,66994,71210,51232,3585,142096,55024,7892,8345,58653,463307,65658,64319,137941,136323,53499,12746,43492,6978,95163,29925,60175,5128,7352,41463,184756,121146,20473,18426,4598,5309,54580,14277,121151,10691,56711,43880,63409,76682,11830,172218,264898,32632,66536,81062,31649,25788,92774,60222,11100,63159,9432,224657,25240,53613,152,138620,163829,2397,85345,12501,37507,64932,38575,43522,65789,80198,78796,35226,3851,108891,73311,3060,28391,93671,39663,46142,30982,66041,37281,68157,26553,71872,81142,211527,39747,118119,22695,2859,11066,20232,168911,7933,197005,17066,111071,44434,133994,120798,12766,227798,45756,132852,29917,36076,55352,65281,129800,41958,18944,84678,18580,168093,132621,39997,54092,27740,32354,3770,114118,103242,43918,15899,18574,145944,3190,123469,219903,24169,100571,62403,16776,92779,14535,17168,16475,14304,37231,1712,28218,242754,61688,28980,1318,51359,222657,99200,67989,31772,23932,35351,201251,49041,27306,19128,40135,3986,77333,19649,120683,151927,21081,7076,78375,77501,101599,8011,89585,96715,58179,5378,102138,106793,26051,217276,4197,16297,27014,46721,13322,22806,5278,29629,70632,9647,71519,58818,40603,128530,8903,36770,56900,31483,26935,43845,34265,34920,87658,6114,84767,64250,47318,50720,19264,162514,33357,13117,6705,46696,75032,71054,87004,42035,69138,11903,99854,102328,19611,34525,69312,6431,49842,101600,133178,108751,41829,89939,225664,48916,99556,9195,130387,5960,36857,116724,53518,94002,39077,53996,6945,22261,64291,8314,152785,57588,16522,9091,5048,87671,35441,39509,1945,12423,158923,178413,37549,14095,1475,73188,62878,4819,24012,68534,42606,4010,120809,57497,59564,101758,103718,32701,80116,12345,95834,46918,21468,53213,15665,31200,3867,5140,96013,250744,21016,10069,13968,35449,180829,27683,39704,59956,22893,3115,26293,32785,75934,62445,141162,62720,2018,83638,19949,114012,95006,3330,99829,130935,309272,9565,55874,121727,37017,23586,319858,40970,27602,8625,112329,61060,100088,118525,25922,16232,1907,60671,51583,44553,80993,5262,94679,8676,940,20736,11823,3020,16476,12340,152600,97416,3703,25744,66826,16245,16876,46446,84798,74227,176020,45192,61955,75496,23946,23626,40372,26036,6149,11822,30582,16541,41914,82385,232823,40921,80773,14930,3631,7517,39619,4348,36180,126106,138939,62611,1477,113512,47321,25052,14546,118881,29060,23589,128322,36795,18401,137921,104699,267929,36194,172791,18113,4766,188215,30083,332586,94089,5805,77909,22194,68234,154976,43220,40660,70001,184893,138095,11128,103010,22663,5108,212615,8485,5565,49222,54614,26530,42639,16319,55062,152662,105595,21114,22216,10294,68158,10436,86950,7206,62115,3977,3657,59874,456,118617,18156,106663,112229,80992,17442,8217,55551,5133,34344,251927,51153,39364,201321,7816,66803,23057,156724,145664,14276,95705,979,2796,6875,13429,212525,50602,26276,28284,3424,19465,52397,46963,31420,51399,206476,92317,48851,637,100820,83349,10317,60227,21972,6908,282439,32857,224767,95629,83882,42106,87338,69757,29840,68709,37665,45244,114577,49188,175943,54009,186746,106158,70168,3358,234002,50555,9221,129338,9562,20118,32923,78479,118280,65752,4977,10474,102174,60947,129006,10570,83451,8598,8078,159367,123785,80438,16742,5905,5281,181513,42402,6977,163136,93179,42191,14968,50421,112401,105440,33456,57347,121611,4221,94954,36517,24046,27796,6255,33394,72990,135408,116627,1233,57874,25654,95419,68156,401399,313338,55208,45573,93124,119251,47200,38196,11909,130667,45391,73904,64964,167846,4137,115606,52036,62214,7969,160925,7187,1132,134835,40309,73195,64494,80472,444841,61111,26500,45323,40743,53625,52797,22659,15631,29739,36706,28841,39147,102836,26794,10536,14845,87305,45874,12241,127587,83833,57183,79722,30844,41304,84655,20825,92500,3722,25655,27811,10157,81634,31362,34088,92487,70123,22190,185100,72658,139035,192523,88241,2078,230490,44528,85638,100198,22088,29982,291233,241062,13865,4445,137791,37835,107218,31726,19718,38234,72528,23046,19177,66695,5109,17251,28077,5617,21554,47839,72425,133825,1486,73065,181275,141508,21768,62971,63082,2512,34200,9904,120309,6392,91243,68416,268253,41199,116757,138551,185526,41246,28986,4093,19057,17295,4148,245766,122360,35356,112075,20301,75441,10998,7977,19769,62922,937,63547,100196,26427,157820,20983,236696,22935,8140,90315,156004,47204,140973,7726,45097,52725,22636,23436,257282,105247,522,88389,216031,202204,46812,211666,19693,68828,81691,45925,11256,30292,372,5236,167826,88328,232776,151611,5360,82104,18841,80393,25465,18285,20320,72377,31730,33160,45803,38715,27705,37379,24163,18360,103586,4015,32305,269494,91252,20080,36567,54650,7797,57073,12650,31164,42209,6375,261663,105528,81661,106002,2800,5375,17247,43151,4442,15727,194619,100855,144898,62320,78465,39929,16454,1967,28311,61363,17219,9395,8745,121445,76939,80385,162380,22009,54191,44248,16299,122830,48151,74429,78291,64755,14238,44966,2511,17712,67954,93583,829,105899,49935,84750,11591,33185,85447,42717,27409,208542,28965,62052,52525,5597,25694,65594,16343,63224,276188,12475,9331,127507,38522,57287,24128,133161,79723,105548,133695,48917,27558,43278,46520,13778,141954,110785,83366,17715,46317,105763,66298,147013,41086,94180,16478,220447,44611,730,19722,78975,117889,125643,26254,16574,18480,65006,15806,38549,246418,46052,36056,8440,34984,30170,3163,59800,4458,115442,4283,41970,33507,104078,1653,22,121158,276486,3655,6338,24048,133421,23641,2161,24422,36006,8086,10675,181474,12307,29514,59143,14729,52509,87128,122470,19446,80852,33314,24573,119864,14237,9652,57779,6612,51851,15284,98871,90581,124466,156831,21190,22015,71380,161906,87247,69201,18392,17908,108470,72962,40719,14338,17911,95260,43339,20610,78916,20710,72451,11315,31448,17263,58853,178878,48111,116002,45497,80506,82605,85880,36300,121755,25215,36118,301929,88728,405223,276136,553,34704,212438,49970,78329,922,20711,25036,257130,38295,145369,18128,15385,30829,55656,48345,8012,3561,28004,122041,192900,58338,112508,41085,29976,87040,47117,23905,4336,92061,138880,97407,42083,172121,6256,25192,172671,5,93568,1420,12677,31605,56743,40620,6015,78415,231077,31298,80026,13902,19048,24924,170586,32955,176119,87859,36731,6773,27711,24658,26475,115216,133207,93250,95820,88522,8317,5714,124047,55219,86860,19677,23961,22928,162209,8904,225992,359835,56084,96201,29392,96558,86071,93643,55114,13347,8183,95129,82012,2017,123336,34219,115554,157159,47747,101684,41008,18735,193781,104151,226906,7552,179874,124113,31159,21162,44010,14771,51268,166128,31382,73124,77438,92830,205709,12113,1292,38937,13114,1334,2118,15597,69581,14449,21934,76618,48728,67038,14967,51495,24243,87736,147249,26720,11119,46063,43749,5843,44147,152629,133428,65703,14269,45604,57982,28672,55616,45957,8438,95433,37698,220862,132034,39456,61870,4161,26501,73560,56418,9845,4654,20916,10456,88920,119358,9015,65931,96507,48029,38534,21676,109081,43078,34943,25089,6131,28766,23665,5477,10255,16695,67,45778,42443,42770,29534,23733,100513,62617,42630,48746,14191,43753,50295,26007,8792,57243,43119,54725,164253,58250,112304,131796,25165,4651,3188,24831,47748,3705,19540,13211,102095,5593,18699,23666,32005,117571,33541,60584,74573,86311,99443,25172,27222,168938,7143,11853,53560,18834,19960,86522,28217,53266,117700,72989,34323,18721,66450,34346,74056,47217,202002,46269,9429,68582,75458,37823,82843,96652,32549,145144,27958,19820,158086,31955,201406,135379,31207,192545,12950,51704,9094,248263,76147,64028,110009,79407,89345,99284,223492,47966,26848,15359,201137,2861,110507,71231,72297,31851,118777,71039,151051,240855,16333,50766,14727,7939,4149,80908,418780,88378,59276,1327,7284,38576,79814,65820,42199,84860,49574,62596,12396,70598,40117,8648,7994,16836,7630,14047,359699,106878,525,29037,28064,13380,11675,50669,74216,103539,180314,27449,56299,172344,19274,7301,246099,32043,19422,36506,129317,6806,30140,4614,46639,66926,932,86600,6322,27847,233103,10541,39025,34887,3517,12972,26220,2031,66561,115015,48658,47596,12714,33845,3893,16165,35237,89983,14769,11962,147224,47018,29977,27979,5552,82338,86023,131368,1218,24853,237840,132193,15455,40873,3668,65351,53388,15229,59889,272245,47934,11858,34347,18038,90853,86981,300602,19343,114181,29362,84921,6095,106059,79472,38015,1206,48741,6208,8e4,21916,17423,6002,108083,24479,34931,56661,9511,26995,100694,163853,35997,81254,58321,18919,171890,86877,91341,74503,70477,53412,7027,59281,39892,131302,5864,15947,61301,67466,162369,47956,27874,35624,282324,21270,111847,102548,41482,30955,116737,28264,8592,55458,22301,75090,29821,30697,51709,3041,19208,8038,24634,30467,87509,126428,19389,18814,152686,20701,83474,45832,80891,105808,11378,153223,120770,98186,150633,49838,9141,12755,30962,5260,74490,21256,31678,65062,33326,289838,187831,20595,89768,2805,58535,10844,70085,12090,2451,138068,98544,24461,4511,6754,41684,28203,3383,65355,82833,30161,83924,234361,128424,28921,222594,33975,125491,34069,11508,67464,144226,41850,98703,34371,7901,21254,38398,65651,23549,53883,213340,123269,12028,71764,177701,28758,2623,68395,11549,15232,68603,9660,63116,36079,57093,31198,20475,48467,89984,35619,186847,107469,31389,43631,73867,41949,68841,114250,1605,30564,63403,17588,27680,99533,12641,70325,50428,73426,78379,11855,91651,72081,91720,60198,15743,12065,83398,140046,6761,46598,45900,5068,886,62448,148968,37347,19405,9680,15819,43496,63370,75667,163700,37639,3633,22774,34341,183131,134335,37200,23915,7054,14194,12970,26438,13350,285521,25594,8219,104410,91039,168804,138480,149734,15907,33818,61132,60082,4622,110187,56736,13551,73571,3945,73463,65498,17758,263266,17593,2710,27585,54469,38200,45367,63754,28881,3473,12791,98287,31895,65787,4463,94536,24951,36332,59901,28803,52130,86403,7668,181822,74831,18977,9850,177206,145485,109798,7292,31421,26280,77211,58511,12507,127004,11113,147,8729,56208,43066,79926,129937,31345,83947,39915,46146,98763,42566,1337,13192,18323,105163,80570,117753,16555,72883,11077,159438,40764,70933,83329,26066,12276,72059,21655,173836,126713,69454,153482,91585,70644,102558,110483,6764,127864,190133,3961,101798,20945,71138,82402,90884,69669,44753,923,16939,59700,164258,25969,27082,31399,43846,6306,246093,51342,6153,151581,202801,182731,56475,162188,89426,141356,14355,121815,27536,28023,65257,77523,106668,127314,24947,12790,38796,169698,23555,10725,44573,183083,42088,62716,43265,105958,32050,44067,50118,1668,3874,6243,318411,16599,1691,94999,52378,28671,216728,123258,2059,34969,69225,5913,136280,171443,141515,91662,22175,135282,80020,92270,1663,4808,4482,3495,34691,5226,109830,108512,17342,107488,11606,123190,100247,29666,146527,113014,15794,30894,13224,39585,243192,22351,9903,7836,47699,11078,25468,122291,48821,26780,122679,75521,81450,630,4895,92900,55074,74293,17441,3563,111657,103102,51613,12318,52370,36191,68245,34269,40445,41354,122901,168604,182500,62012,42557,11259,24428,115113,86345,12362,3909,78430,86852,134602,20459,47853,93879,22577,7659,3688,38555,13349,17381,56715,91639,12493,10895,92438,3142,37057,28928,2004,36427,32268,34222,209974,10432,67436,41989,173518,107930,27079,62729,30908,55558,5828,45031,14902,53546,8204,144263,60255,14520,88212,86582,109589,69356,8064,47449,8505,66558,16886,4844,52817,111260,215129,12941,91118,650,20770,6273,73089,40618,62790,2873,35002,14023,97208,19386,102646,36993,143736,135457,35385,113601,17893,32627,84439,100619,56016,6581,57264,172160,45452,111710,203627,70131,24100,322787,1996,35665,70078,22358,90922,83658,4097,63200,58499,14542,99153,52159,6615,12414,63415,31986,16823,1579,65405,137809,8841,16898,48082,259,33014,42375,12260,179850,73667,91389,98882,29532,17311,326251,41092,5928,20742,44964,48019,43505,9317,49265,6643,192712,48424,163487,19861,20113,70848,31928,105333,23685,78563,14638,54755,7158,24142,44018,20774,125255,20331,24280,10163,1285,2336,39851,4299,117269,46714,63816,87779,159624,11731,9971,990,137317,108831,50994,74554,162680,23640,131597,146962,170620,34829,91205,21184,1913,63616,18427,93136,156592,17519,67565,115882,138220,78622,88535,18115,2711,33554,109492,54298,971,24914,25863,36363,45715,27099,194995,14299,178181,111488,72395,322385,157719,130787,11897,81843,83999,11369,49280,118604,40922,61332,110343,53407,75639,40582,300440,54722,25637,13694,48248,48278,194521,56203,52779,48783,72627,10953,376,16733,280238,26351,230789,15132,25168,137270,3588,63704,73376,94031,74284,19443,159557,9697,39901,13351,119050,15406,146455,3460,29556,75195,37673,102524,92329,47289,98413,15311,100684,56345,7116,95480,11590,7200,167,23610,58426,17730,136656,27944,53151,2701,8824,103124,3017,90744,113588,53216,79736,65940,26931,498,29568,80540,143543,21292,1740,59268,16561,180816,42323,50174,40890,52866,10703,57169,4700,17191,4424,93511,49698,166650,26972,48631,165169,82879,69326,202970,4007,2376,231325,139592,22119,62851,37504,68816,58345,67398,186643,43331,277416,53749,15746,23102,17432,4793,151138,48822,54265,48203,198688,14305,54287,2291,18018,113378,123260,7180,97549,87027,120085,2920,76080,8190,102005,5641,64580,14955,59802,54028,58884,19367,81779,412567,85957,97053,103637,78871,29364,27637,141728,4767,30686,112738,130146,42745,12730,105040,14844,232,210944,36581,152317,135543,29744,3129,55647,58149,46319,27265,17499,28005,59948,7170,34138,5702,293047,110892,408,91760,218674,18469,46095,81403,14389,4610,35672,73060,11006,74848,104820,118143,190357,20043,105358,141735,5115,27093,45924,123073,52599,29433,9616,238350,78610,24851,58858,26769,31969,24613,18294,4982,32735,39639,143563,112073,202205,12567,4873,88601,44897,81503,101648,81362,34662,85277,17574,48173,21435,221188,40215,39576,80786,26544,64668,81841,10731,37733,247986,149188,127703,495,18382,54388,72446,43071,30974,198723,89608,41360,190,33045,8386,31658,19992,237838,119015,137622,50890,100913,6460,116233,267230,26621,104129,65114,14190,41542,14888,85962,23342,23041,26453,43725,71809,45186,4770,46452,53894,56616,221286,18973,9038,109299,55365,19366,26863,18808,60909,69353,41738,83463,12100,68561,72860,3980,13796,49340,12332,31311,27418,4255,53430,18976,45523,510,14224,30477,26581,4530,3651,101663,139840,22709,150861,31996,63923,120623,262522,3076,10528,2929,14672,130238,18087,9816,121894,100308,25085,55111,14565,18952,53293,2042,369988,23674,61789,133529,28783,108293,35477,47119,36448,71049,40015,33055,78598,198442,1833,159937,40654,77444,189245,113153,8621,18599,38553,35223,166072,2375,11659,21786,89523,6032,12116,63046,159398,18454,3678,32521,47626,11411,103527,38896,42946,15696,26370,10185,8413,37080,165583,4331,63555,14907,72220,50056,6623,62236,36565,49783,10049,17503,100581,55951,146244,24724,9626,17969,25524,109300,173965,99994,101056,46459,43647,53737,277968,8347,123521,74858,33829,44762,77574,877,81377,222525,123532,30602,43881,53145,2973,16284,81940,61281,127044,63620,9875,14756,114829,19032,9202,52759,119141,23928,120551,19607,3599,33401,76821,73233,117430,39968,36539,7071,5446,121735,194059,15206,45283,6706,15603,65615,1207,165723,92275,34773,104447,8396,32353,205240,164323,13600,60555,79205,25532,22907,33410,57480,107111,69630,32137,47832,70913,33161,20321,2371,117348,10714,86246,1625,11763,17900,268,78457,99175,97940,101092,86660,32221,14041,128504,125080,53744,124263,31017,13897,403,31859,21964,5633,111630,5547,77329,17961,18241,84995,25984,12983,67491,62168,47262,5241,297,51191,7351,8967,147212,82060,16821,782,11033,82431,62957,5026,43459,77963,203477,53528,6247,191852,87774,74164,215654,13467,1522,219964,28589,244104,16242,117821,67725,72570,156792,17186,15979,26990,44128,193014,35276,57125,16212,166451,68017,6905,77608,16364,53777,75921,76426,37975,26203,269296,64099,84122,12077,38533,830,4407,20139,963,43028,38902,42911,37503,83343,85045,16979,1165,60835,137387,58380,86990,110066,134540,56331,193845,81238,17922,163093,38744,110641,12502,56404,34862,26865,125964,12965,111648,25547,7771,27196,136980,9555,29551,107158,57885,18831,37705,35505,101742,13970,102109,62548,124657,23328,11124,89592,146376,248050,6241,22033,18337,80685,29898,11908,216623,67721,106162,146610,21377,15085,91552,42041,62560,122532,125336,102365,121537,142559,29693,223919,11515,110495,18776,22494,5895,185059,103592,229351,51220,100102,37027,257855,29359,54123,36066,106493,12244,79258,32002,432,56205,94836,90182,6726,14762,29391,48938,26864,38083,60364,3310,60192,14766,205567,57504,110760,22649,24666,46333,21517,3430,13135,28873,27052,158809,11597,20529,6695,23138,22960,37137,45574,6545,305877,43423,26153,24769,59844,14501,10430,134352,56169,13213,103432,49523,35181,13435,12408,129475,64620,230854,77390,51990,15653,83248,33466,44571,117828,51481,2187,10559,68019,18021,54895,48247,18354,33737,4554,108595,37288,39767,116707,9175,3726,108877,21616,83684,49862,1938,8543,276466,20134,108498,48770,102254,31914,131520,185291,100559,51890,209,19526,76471,50544,71814,99351,8172,198526,28816,20419,9109,98389,136777,76479,75596,30635,165417,48216,120220,25955,211071,39314,24308,32164,2559,146280,43403,9233,17947,90585,1786,86920,125662,2457,64741,32152,32918,122882,78538,44001,31723,56426,23375,103172,88177,145697,52506,49319,68016,31664,41488,18486,110400,7030,28241,986,109199,19900,42147,56864,65287,49183,7858,24e3,30453,840,16673,25907,68916,89927,6309,158335,36407,199737,130464,13137,59603,201778,195292,21015,42466,179062,172561,89492,11075,180407,31868,72493,20998,60217,9865,19530,39274,130266,54539,21623,12535,13505,40641,73375,4087,85633,2153,3117,70680,55788,92096,47509,98493,37490,271936,151475,3032,16171,96642,34106,78425,125761,19591,3366,19316,54508,24183,50786,194248,91528,33253,34622,108355,41741,705,3814,3883,108929,13203,67831,10142,59754,68208,29128,84820,56880,38794,24972,48571,40821,40476,18137,164254,24064,236309,79181,11282,395,39169,2013,51587,28551,9645,701,109513,115899,113566,12762,62045,58322,103726,41343,40866,244102,143816,2490,70346,40973,52618,15412,30720,104315,38917,42027,93676,17513,107418,20706,123890,13399,97727,24044,87962,65606,44250,98044,65276,74790,101473,19350,91570,1326,87790,172042,7577,100813,86896,85891,41512,108130,27794,14875,71431,12835,156250,58135,3759,22476,42176,115873,34686,56523,73643,108505,51491,20838,12721,32863,45700,29496,13700,34294,55360,29206,155942,123812,7706,163234,203,132720,49358,144431,8130,175788,35818,3270,76832,25710,54095,97274,28779,94621,74396,19092,128242,58067,20885,14670,93255,15107,63291,23654,126900,129421,59294,262659,9798,3251,67344,28600,44629,50672,29072,26999,31526,23183,49175,165843,175455,17282,175411,32022,45989,30298,90690,78118,83156,23749,35636,31317,7069,80381,94561,133756,14960,97404,6138,41065,78041,32843,16601,34123,9559,146529,123377,96395,54441,42012,84257,123541,10745,22139,106459,11720,150883,172651,154996,110538,4728,53447,25704,2009,71152,119354,21166,66604,1429,216162,8637,122250,63520,27180,29172,36124,276428,107787,77184,4680,14952,104903,24418,14793,51561,52931,8371,26342,48526,7118,92066,67280,40653,8847,34597,105438,14198,50163,61188,146286,50315,41205,170829,161496,585,197359,95056,1687,365794,91349,48507,5804,49263,5146,104902,96365,117343,132222,46084,96919,16875,8073,262381,79982,52663,13928,16056,153908,15145,109256,132308,18763,24904,167644,13618,40750,18686,147124,114709,150038,52849,2938,12568,48617,8778,5459,44202,44591,74914,17183,248689,13878,7822,80060,23116,194037,18487,2067,7798,43077,33678,244028,31320,74273,2794,19466,8218,36280,183997,48124,19416,29656,19280,98734,7715,18311,30701,133602,150307,126956,7378,2933,79903,13178,12593,86571,26604,92446,13574,44205,65699,427599,21118,8245,14407,27877,47936,33542,7916,26460,117762,21596,37818,2249,127359,209394,60044,47677,308089,36791,154971,31417,6998,150042,174360,12255,43009,29335,48739,3912,101398,53340,2580,146939,151295,45360,125275,15273,45383,27456,48761,23314,8750,60801,85823,104759,27894,123685,66968,39480,26917,55290,83305,2696,98390,57569,145853,340733,4919,20024,52268,30884,7413,203685,70989,112855,4129,50536,349518,68205,332641,159581,135361,236026,37563,176404,64899,6578,122033,63871,1850,85234,82089,66124,74145,121098,107351,12687,36881,117334,13136,14698,85933,93866,18047,32620,310,15094,46e3,88451,23632,36645,27940,87618,80520,58892,20976,27702,140090,96075,67841,103292,238964,87778,107338,17019,83427,67522,7302,8261,47570,116787,8730,80484,61772,174422,56005,131193,52875,14588,28471,59817,9586,15720,158155,51307,109734,15196,11025,59331,3884,52626,102602,84797,25158,27314,4437,20488,76214,189248,35023,114952,157376,2827,62439,102878,129749,36405,10329,109339,108633,36662,1254,13267,5470,87105,58004,15397,10434,159667,21864,52022,179464,3013,32147,31496,116832,18494,105502,129227,107267,50033,13481,9954,24267,22141,16257,116154,36185,950,115685,11305,176708,2048,178671,112573,287867,162328,497663,95170,50979,193861,50987,30368,136257,31830,46549,15119,169876,23788,17462,249887,57377,1949,35448,14791,43769,210091,3783,34612,282103,88380,245190,5457,20491,98908,11402,86899,117916,16028,162584,60644,320177,156096,31065,55876,22e3,77655,9992,23397,13757,317623,63978,215255,2443,17648,93231,27388,104529,93807,55505,140477,12046,112040,70887,40152,94365,112353,25063,114679,266061,71248,119555,15589,2244,617,14129,211431,70110,100652,7777,4383,85911,89221,21010,120615,58357,86405,37554,41647,18,15143,69662,60491,14714,186134,148344,42347,5410,168175,44535,42449,343894,129417,99682,20659,27272,140483,63455,222159,17536,13722,42637,62324,11976,114691,148109,2283,32057,182393,4295,147364,33705,2075,44303,30274,28331,63740,69740,29148,10346,44862,33716,73937,153333,12930,38784,247159,2515,41053,20256,83368,256189,54639,115240,5096,24661,175419,153552,26516,141,138176,63885,34115,47222,55709,2765,28479,38875,236608,12229,22921,77291,54426,45388,2860,57787,114579,295139,105782,17826,71066,19119,54364,69385,16568,12323,28057,33346,34919,124763,155533,101386,31644,8627,49001,303600,29868,63213,9103,77280,71333,9696,138789,37059,24823,5057,21352,32368,114208,56803,19424,10445,58514,8661,209508,26187,171838,10460,63454,14016,122504,41328,21329,46618,32493,38225,7855,31763,7945,29876,8734,6438,24205,97490,139977,130740,47323,33195,85390,57194,13813,60600,21313,96251,7699,27584,170521,139271,1363,4402,336738,129223,84983,69150,13147,3590,163929,207225,155260,55916,20288,4503,8398,98490,11773,27512,37113,84976,86558,28365,11756,116005,182148,13733,115313,47644,67208,85069,9347,14995,226141,14704,101835,41159,35314,13113,63526,214039,29978,50446,83339,17440,129441,72522,118641,97816,24907,73844,15717,118884,167255,96509,162793,30847,36849,51297,78974,77793,10427,1873,2972,9999,35074,28190,64297,146836,46298,60038,163007,108919,61219,2403,75022,127339,4233,110389,69022,9833,128097,88016,79390,222936,22570,94657,28462,56956,38803,81536,30474,152794,19566,16481,147408,74574,81895,20731,1918,1366,76367,187321,54494,24366,21690,61696,33283,107477,77499,31112,414383,74362,18463,218441,120929,59848,258629,201924,69269,454,19989,13054,59894,3623,58908,20681,35723,78523,102680,38988,184112,108087,50944,132704,52966,21699,18860,96349,201411,82697,85395,95658,5093,6427,177894,44191,32755,26961,155739,6249,31310,81030,26574,84311,120155,86730,113535,7424,48888,13516,45747,98098,20077,183995,81945,43210,26704,40420,75831,45648,11180,6855,57927,65528,124096,34851,2598,156633,107572,127352,38169,123845,60142,62722,105584,232364,23211,68120,1601,22169,89299,747,258039,80572,7258,152249,11862,101204,8834,121434,33761,19175,133142,46343,40178,48723,3589,41977,30210,38868,62257,10087,82658,87827,90646,16415,47552,351723,28298,72225,91146,272760,1701,11295,1652,109651,300747,51863,198800,29446,11794,32345,37538,22356,33102,37590,113544,37970,11478,179743,25454,103417,59905,221970,105196,145604,7817,164809,102360,16974,75840,255333,56902,6659,1954,645,59400,67769,7689,18675,5215,13793,20536,27852,3387,29523,259718,16860,94625,43143,29245,15848,233581,22685,63631,78557,22836,133302,84513,1348,51826,47129,98836,58284,1830,1749,94642,10933,6145,12506,10975,13879,103781,144434,10268,28409,32346,52968,121567,107374,77268,23686,35097,10501,155275,15303,47136,21102,168741,55332,90385,15996,84817,681,137803,25054,142275,6163,38175,8056,124296,240642,65621,4934,178205,16101,62803,60964,18230,100622,76465,44689,14545,9543,47514,16852,93380,28048,12047,107106,37575,101485,77047,57326,34819,96137,76916,6469,46264,115983,75768,87668,69942,13027,165,8373,114231,26434,52844,42799,182044,23580,146254,38081,43236,33883,146220,382894,14606,46035,36481,166621,35417,95382,2957,59384,60428,36358,66343,75378,22267,22950,83528,17577,56474,25285,4619,179691,75355,95836,53295,34588,171410,4487,14679,84208,44015,18562,109133,54101,11531,86052,174479,303157,28095,9953,35642,14564,39802,16145,77606,117406,53038,121117,53624,22062,1212,7632,127157,237292,189087,10478,127345,102515,181997,86752,87623,10966,121602,68783,68681,83042,114380,138349,191305,67176,50085,39016,1427,42384,1412,67118,122616,72389,25260,2237,13576,137346,19938,20304,2191,68759,5373,61364,238507,75814,23931,69565,38993,131741,38364,12528,87762,5679,129853,5310,186831,32653,90338,260176,389531,108118,26843,43985,50175,30563,25106,56965,18130,140428,4542,165503,117991,24219,229605,1819,129663,1240,3797,76093,18398,71339,51919,93043,27175,47060,216257,6483,35051,1217,16512,80798,129064,13225,69339,8548,237079,72298,2575,34280,51379,117910,55671,53345,247552,29486,39328,140821,34681,57045,60177,5004,90269,78522,2479,322607,48474,61296,13057,31558,4678,59271,6699,27044,31988,35944,12503,83480,4389,136508,3781,114121,70279,4488,155829,42214,2898,68191,75695,305850,45041,74344,106509,30087,17429,93292,12477,290,23080,114802,35714,18751,26554,105424,17775,2144,2412,100610,65192,113975,52975,180272,135050,129815,76238,106483,21440,63186,4260,46189,9711,28249,4169,23429,23390,8324,141585,63809,67668,38457,38063,39226,59972,1189,203916,62368,14403,16949,61767,85801,1739,40147,35049,76757,33124,62102,15780,103593,103009,53484,22952,67973,114645,6566,5245,50462,7601,8288,3513,194571,80276,1908,54592,5124,58571,2513,6800,273997,193904,1119,17991,117245,2508,129156,82366,26278,71465,63341,56943,39662,106116,94966,156875,9736,2204,122308,94418,27134,1280,24539,49022,45314,3764,50904,46424,30699,28087,293839,9400,33646,40165,822,147499,50263,116179,29085,11863,31314,5578,17797,5104,12454,1604,15342,219206,10232,67800,94261,25872,13565,90339,78971,75377,26649,41184,47695,11514,35369,20767,14227,41953,309396,148270,147938,33074,14453,27499,109019,39018,25738,240196,158931,52820,8612,95853,21524,137010,84901,70869,70021,116794,48404,38771,6732,1070,70990,187297,49140,5238,576,3564,253975,16027,16483,2811,37775,19034,25259,4053,2e3,70083,95774,19713,33431,92703,91314,42381,288770,48194,95985,3991,77418,13406,241328,245086,56533,35275,62725,9246,51924,70181,95331,16163,31410,79016,39312,120878,119371,275987,80124,27712,9186,220,23598,146167,85209,68238,282190,57048,31273,30555,80913,17594,75779,59160,135002,101219,189377,29225,96735,60126,62522,104e3,27620,86814,17240,147533,11001,5425,43682,410,49460,87270,69480,46315,59448,1816,76201,9431,11788,87960,29063,65539,47347,11678,33846,7008,196704,9895,6753,8633,120892,59970,572824,115934,6646,202559,892,48351,37611,251282,57823,67263,57750,26527,34485,90747,7685,88370,6144,64182,1709,41969,21458,62327,181657,49247,225330,122600,114574,107124,85361,111833,63243,71420,15655,191178,72430,18063,51425,54002,12364,53225,86557,18193,97580,41232,138398,67821,128724,8944,233212,101353,52099,42127,14006,120107,32789,32132,3498,18123,33758,56058,5779,128760,59888,98869,18445,84702,51911,13234,218379,20093,39031,8074,70195,20708,23462,24355,131384,60189,26390,10403,41060,7140,10781,49410,42261,87202,82566,41663,43105,60276,2768,5733,74176,28329,2297,145430,131632,83615,122915,105441,655,224102,5284,136426,67763,16294,188511,32538,61049,27893,3394,13951,159099,28542,17930,145360,9492,190122,32285,78855,26440,13570,58648,73908,4239,124561,2444,74172,53131,11468,10794,73566,11623,35343,64710,30481,4163,10328,38309,29901,10538,154377,76132,92405,24839,11679,3465,13449,11637,7824,2337,57754,1260,14458,41118,19878,38661,13416,159180,37074,163164,54137,28627,52134,184900,8520,40385,29546,30502,22386,66527,107458,6850,24022,47983,30603,35083,8934,304066,39500,9,28261,33026,77251,9374,44833,116312,34990,29236,63563,125639,135405,165398,159055,55690,88141,69643,236964,31983,25572,20436,36746,60896,31850,16179,11828,5888,3043,66368,9750,31167,7915,53111,36430,1333,64344,93659,20061,60596,180191,51630,6792,30244,43509,101058,22409,420,44210,109783,43223,27030,72477,72831,32679,29235,7675,47556,12258,39907,149412,84926,118247,24692,71717,105038,86009,45941,41189,89453,29856,52543,30627,226798,67303,59230,67415,34408,1367,99685,16867,128419,52147,4111,125381,117881,16173,44093,102224,31575,23234,24870,83790,127407,239098,3200,994,1255,100903,242275,117266,55116,38205,16140,29662,11307,40414,208793,123355,56470,4862,75600,30119,58218,70828,24075,26974,7802,192353,4851,5475,78720,66596,3409,28573,64396,30381,30690,59859,88256,5406,99945,103064,34463,37727,24238,86643,60088,4057,23741,5967,162904,38240,28356,93858,25510,122879,6897,3278,7057,11971,4400,35461,211413,21395,59615,39471,87233,55795,128426,3051,22470,41950,14705,3974,180108,80476,78442,204996,91987,15634,67610,139015,142373,35611,51134,10387,4353,153456,57749,181039,14183,68447,151532,21107,36452,20551,3186,46247,46383,129666,88736,140662,146243,2066,8360,7978,64818,106963,17896,47801,10723,114821,223295,74192,3293,3393,16987,74064,11277,91622,4270,29828,27951,387869,103235,1374,61988,120083,477,145892,128378,11779,211263,61354,18221,17869,46530,83061,108538,157981,90608,67199,95080,49064,195814,12302,66307,10348,231346,160732,112859,63633,146558,21271,31037,198802,47622,12862,95710,3910,77850,73961,85585,34752,61e3,4082,24595,103679,71107,8208,79568,150019,16615,24961,139857,32664,197366,4559,54735,32696,4126,162019,75698,13916,70108,159638,19834,9349,24675,175560,49643,18206,52459,27992,10809,88865,401975,133172,29e3,34558,30915,3658,25834,42430,36562,125265,18182,10155,40149,97082,208980,19575,60853,90529,66545,9600,789,46420,2317,88593,55595,98980,115302,5742,169155,1073,177901,3472,11189,63711,78643,65472,50459,127979,93,42202,67053,21720,157650,11145,141378,42033,22824,85705,79114,35584,15974,1510,54172,28562,12451,104226,19190,97151,73024,20948,5151,81741,21499,29006,84183,198074,54003,45120,170125,26240,35177,28389,64863,79974,60778,176915,232183,45342,2038,80253,41564,40703,32689,5430,100689,5366,23007,134279,14266,26712,73993,24934,64242,52113,102887,61801,46415,201049,54251,62133,122757,164883,30815,139966,2319,30842,766,13362,10287,134518,86111,81665,82440,28333,43019,18963,8804,161944,23439,102144,101145,80029,39052,248708,30350,117340,11878,128467,974,138625,63961,5237,74778,61834,67040,43814,13690,65947,33809,232476,115258,181745,28824,94013,9510,10246,93722,81976,7217,114383,3493,16014,69045,72692,12145,80981,9507,6692,1620,60820,330444,35474,33962,4797,7053,295463,46445,27026,12491,77988,49524,35675,90947,29114,166705,101385,133782,32704,6186,84595,176031,185623,45966,151302,63069,1699,107491,947,15458,74452,196212,6046,10498,12163,10239,35191,243951,9277,9090,29539,54460,22820,26514,112549,60372,51753,48756,21812,70861,260326,41,44222,10441,16961,48148,138771,216194,5914,52153,53400,212036,56519,26245,10117,45888,15294,138019,90913,26368,43842,42111,23348,6082,194845,161089,156206,51546,11647,30759,302912,262094,8635,78876,26535,35283,54183,31183,85484,147873,12989,5197,6356,72894,65347,20150,27370,73787,1493,45918,12366,190217,20724,13858,10981,67449,81213,7553,14115,72242,271517,11842,48310,88743,143726,22177,3290,243231,58452,62937,12592,1654,40066,33477,13751,9921,128442,15868,7106,75236,83773,10775,36938,10482,170465,17368,17469,161508,32752,98340,800,19824,264456,3901,87319,2867,26782,9630,113102,185815,24197,44584,86366,40224,3636,140916,31731,267731,9567,53678,72984,29389,27963,17106,50282,284911,60170,8322,12608,23374,89652,5268,39044,229766,8869,151350,31436,177342,12269,183212,120418,116270,2843,78888,69192,7865,184099,1086,129897,18383,70508,20242,18508,229924,124569,35749,50589,55626,9884,83115,40971,30671,18135,14452,38861,17844,201826,5549,26413,17189,13561,38539,10679,143331,3314,36785,171194,49685,187713,67506,4618,104039,17060,195080,50648,33159,19238,67559,134840,28599,157523,17130,38064,117398,94355,31918,13575,34538,40326,13997,3494,348283,62481,26862,3603,104426,244363,153709,112487,304612,199674,41239,35545,54869,293005,28223,26277,26899,4533,18518,15492,38587,80488,70485,160395,263,60162,11382,222152,4696,250751,51921,182609,10707,48463,46243,1227,49111,111564,46502,33342,56846,68541,63559,858,139927,16654,229375,76759,26478,33205,95828,23399,92945,2637,35630,28470,143992,50214,14174,21456,166191,65665,1711,21594,78019,97599,111701,36,147151,110246,189022,43021,30397,40757,131935,42065,73335,48039,26596,28984,15102,2361,7421,202167,69744,43766,52826,3642,83304,33873,75140,63169,192389,36551,92748,13039,123959,233220,21738,84447,77230,20228,187852,19095,25799,92136,108774,29237,53947,2299,118106,2687,8830,42331,202924,33667,2023,73763,30704,19363,19779,16737,35629,48081,24068,101013,162338,291912,13749,24745,328289,167679,70086,48299,23306,16732,17801,43322,54589,3586,63653,43624,53474,925,109177,251316,43805,13082,19511,86565,142182,92461,17117,101033,103319,64589,4022,4351,235897,5352,82705,107142,46391,156084,5860,61365,10558,13045,7717,18357,33922,12590,33065,6928,46993,783,46937,67846,8952,26295,6107,119656,18799,17458,50747,4229,179559,112727,118080,20683,41464,125468,51560,49749,44231,7359,35339,62988,136487,67015,5208,29150,24956,105186,48858,6143,18097,6972,16404,73489,58742,97196,36357,164616,5834,32267,13746,147733,15113,132091,34127,106298,39729,106426,22294,9780,15602,36213,71502,42808,66802,599,60755,5851,39120,67363,108623,126368,72770,91263,32486,30596,151717,7951,52002,43103,11768,68942,40901,39344,24037,127500,116890,48403,16926,86750,17745,48648,159545,34460,58419,5634,114317,67865,31462,23352,24010,98185,125708,69686,68337,13610,26271,70691,2980,4768,27225,102402,75453,28106,8104,6931,1176,6274,6475,112635,22498,6176,238686,26832,28893,90319,14441,15682,15087,39517,45270,109134,104440,45965,47645,81772,7876,52683,87720,12898,4505,185665,2769,113401,15664,57592,105229,137381,97059,119268,6876,43309,33886,128363,35476,144249,67013,143587,83367,25703,91436,59347,53236,2289,16519,19844,46309,58558,99834,23313,218816,231303,36388,51333,183535,109792,139277,54306,90139,18235,8275,32710,37677,82464,86025,92204,88842,117723,37570,128723,234242,76350,73795,34896,148247,58424,11105,11744,45746,63372,17118,49772,199520,81902,38004,22911,33752,3125,1995,53792,4689,26909,108150,146062,69674,41811,161444,84855,8999,28561,16731,93937,3189,21967,24890,22943,1356,145300,51569,28802,517,118679,31703,40607,48098,108854,25003,10233,73969,177495,5248,24516,215347,146192,48712,60626,69188,40735,5866,586,101541,6509,47590,52129,5969,222045,110933,25733,24223,65339,62812,2414,155418,35819,16022,78423,43138,20995,128255,240673,46745,236093,72176,57085,97841,61248,107,36068,193177,105427,55726,215229,20446,47228,100420,87091,14429,121708,23605,21157,187721,21880,2997,203976,99166,95068,25877,7724,98925,83401,4829,13182,18229,13718,239662,38653,116505,153497,30589,89029,38962,181302,43853,78872,180301,4786,248240,7401,106136,112590,77745,19731,60880,77789,125748,135487,5975,48627,34084,12419,215770,47557,254582,10364,106495,21856,67539,88981,38805,21428,48732,42316,12149,16078,52808,25327,51322,33850,51147,12253,122354,46077,56483,254553,115417,81834,150991,94662,86668,7381,12841,100650,18218,15741,22372,68294,50705,15535,84660,61887,22553,72299,31361,24824,17743,46820,64288,31582,77006,111674,116384,30760,80920,86149,77192,51979,79691,60342,122805,103800,240873,160744,233114,78962,54920,8608,3484,316104,72548,24337,5088,230040,21926,10172,36838,26,86221,83458,102176,12062,17571,41929,41170,28428,68239,41750,103930,2634,18313,53019,34825,97837,63115,24606,73157,152474,14715,91439,37033,109806,140259,30668,174760,380,135597,95673,136073,65073,134249,13829,17279,122305,4420,46444,10237,64848,203623,70728,10349,182885,65075,24519,25783,40318,34139,22222,63394,55266,102764,41422,20126,65100,90408,53640,35128,48932,11192,38935,96839,34782,39492,19396,41332,6250,5511,19492,51304,25936,104466,54099,73771,86115,5080,7669,30891,111700,13931,25276,72289,135447,14820,258641,25265,31005,281179,75286,393,95359,14623,13584,6680,101227,80173,44933,76666,54542,13244,39348,458,25379,109451,134348,81143,6959,65554,12027,51311,8716,57589,140731,28467,23316,17272,30458,25980,55229,77197,83798,28302,114784,7428,34548,26241,14712,39336,103304,18928,54080,12870,334,87722,15208,16895,142098,114262,39820,83913,57817,28682,7721,14900,108672,11250,62246,42849,415188,1724,26555,24549,25505,26443,107450,145899,61035,43528,6901,60726,65906,267741,21338,147590,42079,18924,73017,135236,15393,5206,4026,84185,1531,5988,113890,82647,303391,7386,69844,71611,189865,76523,31877,13315,19314,198575,32821,1928,67641,25913,104475,103489,3297,70391,18406,15446,113347,19295,93790,27856,1792,167471,116449,8541,4408,41757,63233,25765,86680,64501,27034,24816,34975,6079,4486,49693,36229,16917,21581,62426,27862,11612,54284,35702,194034,355,24277,48262,87411,70504,310164,118018,12516,47559,43502,57433,107139,9290,66533,80863,14634,34312,91725,28606,21342,67241,72355,43244,375789,37402,174015,105070,8342,44167,67494,1890,16365,11723,271002,1865,47918,8350,45564,27742,25110,125803,8553,49504,81925,62211,4534,15491,19011,80373,206920,667,102405,128623,245524,5553,113309,192739,65766,19567,22832,261958,29679,21293,71134,20962,105123,24721,860,21752,33448,18372,157167,94822,35770,173224,232737,75729,28937,46828,28062,25453,5207,140366,36665,30652,6169,67920,150458,92040,23186,184604,92330,20891,176492,49427,27828,38305,42495,143982,49560,25503,90043,29747,65328,47830,12932,11068,77721,9003,25213,94205,140426,46090,89945,138173,192691,33329,112232,129905,35709,27514,1841,19957,31411,127476,53572,17497,173549,55063,175135,19841,69314,5192,237921,117660,150697,4060,273045,50414,98940,65348,153665,164423,58804,156695,48994,213928,86036,28608,8355,39574,34540,16927,135680,18374,151587,10830,53805,16878,16623,4282,48030,8537,14986,46102,13062,72897,72,33050,108227,39451,45935,651,113320,40535,95176,57450,48843,5003,19019,10407,211163,3848,1068,4988,32091,30095,41692,15099,43602,107434,50744,7627,171349,16313,150832,352665,207750,33937,38256,51091,156e3,87889,90663,84175,24908,114900,50365,31494,83829,5398,169342,47521,54818,18935,8356,43094,41212,174536,10082,92550,6678,60614,23355,69721,14796,34149,128830,58187,3179,208,40325,28399,225029,401412,51150,31580,207268,6657,10993,69818,64282,289845,23308,12961,38447,6681,52944,31855,2572,47646,120728,179148,37240,45196,218274,4816,3695,21961,50084,35209,18073,51452,27004,6100,33941,1377,84831,171214,85,141510,9078,99227,32610,6417,11718,49868,65579,87902,73018,49062,46280,61742,21512,40862,107733,15941,29168,157765,144919,14487,5767,158014,140070,7241,573,71584,16921,223566,40331,179473,35081,47926,140885,41508,52104,59180,42310,32811,29048,123517,102413,80208,10104,14746,12649,153641,126022,37965,113017,4171,83,142592,2809,6362,50416,71323,116894,260776,16204,1524,5760,30351,12658,20703,54403,36083,45408,74772,4946,14485,50759,111222,10890,2195,167147,92962,130534,16283,177256,35016,15472,210156,151187,73922,117691,43250,52051,37392,24811,24358,30830,5775,818,21969,1476,127322,151783,58392,31021,106913,65215,89407,90802,28531,11690,20234,95249,44602,37256,18707,11928,5161,4410,26571,51903,49768,22008,25252,65780,209499,68769,203726,13249,137363,48845,86823,6658,5674,31881,1083,1823,108676,34518,166752,13791,14287,91576,91429,8665,11529,26401,16191,91972,30964,5254,28486,54697,79613,66520,18447,22870,45203,194466,22822,51703,12278,76716,44595,73455,33546,12235,144843,36154,51247,11116,33040,3180,225753,60864,1972,28469,12891,28879,10338,144157,56294,353058,38302,41447,87532,110616,27065,168438,6557,1213,50804,144643,24817,2390,136531,38174,247513,16190,4059,122791,131994,137430,39506,57650,16305,5188,54309,106128,20628,88071,67394,395446,250285,66176,91254,1399,114196,43915,60230,44853,27206,106353,43013,18733,345105,226453,51202,16607,57106,117175,35492,10476,89598,127439,15187,39624,13688,61570,10615,31111,59370,6238,175252,32143,224492,41388,95408,34384,148238,78307,38959,9340,160091,61443,15737,11216,41244,170,38299,102443,113097,26382,14027,33707,3957,76300,66160,19431,18900,6952,1717,108656,82206,188021,257335,27295,43999,41210,31777,46956,57457,12657,11489,15697,48060,204748,53583,82422,284790,30503,137341,8120,19615,220311,15991,10217,63424,9808,67431,70976,98221,4491,15177,28535,144789,751,13230,2394,1504,33977,132104,30316,22230,931,97193,185240,24826,22687,174322,15307,22988,1390,188745,180325,29580,59068,74903,18994,29195,79,15436,7622,38462,11566,138710,44828,45774,37768,99236,68137,84083,19282,22698,17134,74807,126662,173497,46248,16938,119735,3212,28292,213652,49013,9975,32180,45660,86250,4801,68788,95490,77482,113751,11994,44624,94452,46839,128497,100316,5798,58588,73184,202987,65417,37790,88524,1606,43156,97964,105717,34947,11203,100060,37742,130074,93653,107799,94311,196106,41347,8035,10780,16390,27883,118236,167395,1979,25006,19375,31628,18916,144723,78502,114047,103107,86492,107686,5844,20934,206963,23556,22591,16562,146333,20167,10471,117434,33085,2863,9740,36669,41849,37271,22790,18209,28979,8231,12952,54408,21731,25130,45208,55748,138120,75826,414,29593,9925,292865,25999,683,123149,7036,92159,86055,61827,103680,23176,54918,58466,57578,13305,5709,86479,16697,31064,17660,200919,10770,49793,33423,32370,52047,16488,62555,6459,8426,83493,7763,59725,82812,18628,67760,79405,68557,9612,7673,28102,56517,69620,171797,32458,29541,15870,81109,32080,207644,71495,21202,11039,91036,61230,2810,130800,32260,4613,60590,37112,75214,33979,126402,155062,30642,63875,12810,194463,82799,47664,16725,36685,43367,61099,449,172150,102867,21691,301838,36745,7130,18671,57316,34852,38034,54182,35578,65900,99486,19771,3456,2658,16914,99866,28390,28109,8262,21147,34353,20006,4228,137085,1675,203023,283196,198286,214375,163329,290603,152574,40471,83506,30068,14730,23177,131539,34759,27668,32178,71896,104799,116305,85430,119262,42860,25160,8911,23428,49437,105322,6519,16203,6349,74711,1230,38045,8540,75165,44736,25909,51026,317034,4984,32281,91312,27060,44431,17817,45363,155937,239085,35697,59784,91993,29531,126740,213757,76560,167776,285273,24262,8237,65030,41160,74437,48804,118916,13159,37842,1031,75349,1478,11655,108777,23435,277425,101734,67469,70231,124711,43532,28514,65526,54956,1e3,21882,17728,25302,40952,52214,149632,1999,2111,3259,63362,89961,220561,39777,26335,9063,10572,12416,34551,34623,38604,24723,5947,15588,69927,66252,119177,69173,46629,28714,70715,212408,20521,406913,74380,11716,50659,50862,37009,88460,130101,7210,53853,538,65120,151950,55806,163748,52837,13153,21100,16674,64536,6091,138201,44837,58547,3723,163,2177,32288,85454,34033,8497,14282,25742,10535,10741,79559,117493,243787,49337,100718,79495,40139,42956,7551,55433,15421,31509,23034,45081,547,61176,53434,328001,8470,36263,30145,4519,74173,53935,11845,73774,60211,78025,3,4102,73782,109293,315332,48412,26683,13714,6865,20128,18490,104141,325,39470,171970,115860,15707,7268,73301,74336,31370,2368,111827,107757,136231,142844,97138,96638,84053,38691,23801,1588,10573,122098,77039,240,186135,146101,11996,18143,112963,46171,155836,348769,47795,121213,116266,132515,3344,144804,31286,99187,255838,129694,35894,48779,55235,148582,71967,65282,15174,13920,47080,6147,108242,157593,125025,7136,1286,28957,127956,28402,98813,20805,7532,109417,40610,5041,32958,15142,18408,108596,33543,50517,27748,80114,233434,91447,487,37094,100048,30541,43477,10639,89862,155868,37667,8726,60684,237903,73408,99589,12190,38739,97348,3914,13594,2680,149016,13907,30171,28343,23530,115225,61104,35821,147679,14337,4297,244282,24085,326976,56428,7851,21303,131620,71446,83253,68692,111870,5224,15813,38197,49026,45057,13660,3306,76345,40671,27905,91072,996,68527,62085,91351,122634,55109,168209,2024,27560,112707,17352,8306,167115,169921,166958,5031,46020,11844,67284,19130,76185,6920,32849,5450,14610,22451,21002,17392,31872,66682,84796,13709,40210,59898,12029,8719,53564,21462,91884,21647,88379,194428,12754,37797,132826,160016,22567,54383,53186,77611,31107,8339,4694,19185,90355,23597,17222,140675,28442,23668,55977,9128,61555,28774,155229,17658,9390,24379,69357,15752,127381,239631,62460,93181,55913,45133,140155,18676,25249,33164,29581,82837,67223,22362,29975,7317,52813,1943,29613,20012,207130,49617,49651,5636,15334,36313,29226,28084,95247,72072,19e3,224932,15811,114,32127,38097,37508,88507,37225,27359,91626,12193,69279,20608,11055,88156,92808,2152,57259,55275,72789,24475,104414,1708,9882,3818,48661,66897,1631,34806,227930,85815,87753,18321,250664,72733,25107,206797,50891,8082,196411,92596,96764,152823,65514,22819,387277,62176,51225,40329,15563,189,3659,73670,64357,51793,275136,33482,86653,74615,67058,11318,125720,15388,22388,8267,1730,102663,170910,40784,7144,85373,13040,7088,94309,583,44224,140424,77439,18496,164026,36578,4722,9151,5824,63365,26510,35199,40500,79277,32495,44614,35233,9566,203293,152144,7097,2330,183480,98629,13423,330887,44130,68600,30939,97829,31012,345465,56747,94879,4939,160027,149761,99423,46099,32251,15332,8761,96094,128555,5763,235318,222223,55729,30241,55420,201746,3987,81382,8259,49325,23287,7719,24633,251100,92311,18591,110533,64759,170260,393860,7175,21144,132887,3593,75346,101277,91109,16387,259187,11627,57459,173829,44694,55780,49797,89192,120443,62622,3904,14814,23887,1027,112258,64955,99800,11132,66353,36202,48624,18158,88481,96882,43059,11040,2455,7077,21651,181159,99126,100434,61388,68186,19161,110468,120052,8819,55324,41494,7014,37689,3618,87729,92615,207943,9823,128657,12587,15857,6379,67628,51216,71775,157617,63244,1503,3864,218754,110864,5769,21492,7243,1192,87921,85529,31512,18537,42698,35350,73510,84474,34301,8991,21013,35034,566,38832,19838,35586,37216,39413,55006,12178,59742,856,84563,6900,25632,17437,49786,30723,13847,70845,4044,7843,23944,235976,55530,48942,6518,20939,73769,192653,52936,95207,23895,132542,142982,22632,87452,48042,54018,178468,10728,26230,23559,363,81269,142012,5718,346258,31456,84333,246476,51018,66692,101804,120570,39962,30373,70593,2864,60541,19425,54209,104092,7201,31545,48018,25865,15442,46257,40443,8328,6451,111782,47527,97754,33046,470,245116,31095,39,91934,87208,73470,36708,36521,12801,70624,36272,8892,79768,12427,55454,103756,5908,52390,62962,22720,141138,94634,41689,128402,126390,6628,106394,35527,134394,82727,254651,194502,148064,89549,3202,28359,957,21954,27906,49840,142747,8307,24206,48978,1186,71728,133038,71474,91306,6333,110959,74600,70387,18983,62609,56057,22970,1147,135850,1321,28834,3578,59715,102227,32827,81415,99952,55636,257598,390,22702,35701,85872,402916,39216,189795,14929,19467,10112,144422,61514,5279,63421,134686,41436,8424,51925,10598,132295,124416,4604,194739,210929,57866,31829,51626,50007,9976,91878,61906,56168,81906,60918,61859,40017,23059,16887,40927,62064,12785,32893,32913,21782,93965,20169,44387,79084,38463,11457,93950,27127,157050,2697,337088,5116,54128,48255,33279,8821,27352,25515,124022,65710,28906,38557,33390,1722,104435,72215,38551,12094,30978,25113,6671,37355,175109,42862,98024,65406,221276,59624,118012,64637,78760,86697,21426,1639,40350,12584,67193,84144,31396,7863,143011,69629,63112,9454,28666,65798,46372,134721,6314,51402,30837,151922,2847,38676,38008,92823,136245,17540,5504,109295,205242,37606,5211,214892,1586,20670,208711,137743,19328,40652,16995,20023,14657,154919,34422,12996,13918,38221,47690,16398,2959,37680,89122,6721,198469,91876,172043,83898,101992,26084,94570,3635,76958,22853,76497,38266,176590,168403,44464,142840,79180,184594,1984,41806,83147,11985,6546,366068,59732,24533,271505,8736,39084,222992,93429,28962,58985,86665,8432,30028,14548,32439,54424,165029,55175,27458,69046,121277,46168,33732,20661,24581,135574,123110,37556,79260,72611,16957,12939,46162,58238,44907,72936,253758,41324,32518,96480,11949,124438,65280,43256,34107,53533,43531,37037,28366,45970,32741,173438,6121,194202,62969,26355,30314,58370,28455,1848,50519,82830,90393,21761,295490,10936,256940,133568,44050,20269,4089,27457,21610,219460,36743,14821,101388,52005,13124,30979,140816,167362,26054,18458,60789,34917,40447,26606,33422,9066,3452,83614,5761,20263,137238,25038,91310,101,52322,74548,42572,38084,214054,186568,31802,17665,30620,141936,37730,14420,4265,187218,49640,188208,51441,55388,96452,66659,40869,42039,60967,221027,19234,178581,29105,96050,9165,196118,157335,3738,40354,117436,2965,34136,59659,15570,50843,230035,31444,71260,43886,18316,5387,38500,168508,17406,32174,8828,103373,143806,90367,3560,18719,122310,16508,26719,2541,105429,6645,37998,73190,10591,235916,49737,87112,233941,53188,32193,79154,4544,52905,126477,7580,63501,57314,3216,31337,6541,103083,60846,49,9756,15481,1355,43840,14319,13743,27486,10222,73114,230718,418644,16706,6674,279748,23058,45273,295831,86306,2743,5535,88773,21829,35253,120938,31153,3169,16839,42847,8751,80974,33942,36867,35514,16485,26474,77775,56877,5391,48346,3882,108713,31403,27804,55248,26235,43821,136104,40118,175507,28034,203908,18732,1788,34030,106427,36958,54359,7251,44936,15356,69139,455,157915,22173,140291,50348,43275,82066,49621,54952,15216,36226,96695,66855,6936,1987,8227,196087,4631,68827,99004,47541,110265,17953,147605,110242,58520,31312,38724,329975,642,3155,34497,75937,6207,73843,6120,17249,51429,117746,3218,910,68961,319671,14938,29555,34700,1649,66673,72268,9655,76800,153087,6941,210168,27130,35398,1780,73242,3135,56689,19556,165307,8765,35967,121458,13333,70453,17350,117253,22265,13340,44265,39869,441,3742,135025,23581,33309,16543,17731,13291,157637,283005,21408,101360,63887,52312,83873,5338,233779,23759,186949,34531,177320,38069,156465,91004,19353,59852,68160,14891,1338,1072,29823,1950,28901,81407,313445,73038,84807,162348,240257,37162,138934,16111,58013,41253,102951,16457,96056,19541,56402,67217,41638,94381,89674,29481,37456,80815,151579,13937,13683,132537,19699,134545,67020,29816,222341,141235,427578,48868,129557,233342,23077,87871,16213,18728,16184,9469,37913,19680,2798,171356,178328,13216,50049,72690,71904,124644,55455,7504,29052,41036,266546,19899,30391,188755,8659,59469,16,104298,112943,53865,76203,138226,68857,139953,14125,107625,119795,173133,4398,50273,48808,54390,16466,122086,31835,67035,50971,48859,7508,46427,66477,73021,84615,39985,83076,46779,201569,53336,36443,60865,168164,143810,51393,25548,169307,32896,24485,38424,21837,29087,275813,51674,6714,64883,46169,187369,55186,76192,12852,12018,62134,31067,118303,16542,12125,10579,4928,26291,43854,7091,10946,253716,109062,39283,17261,113012,258512,47764,125126,32646,55892,80279,201623,149872,3192,385,1208,48750,5376,58738,22335,5427,82416,47811,32435,143086,38930,94128,59975,156037,37977,38224,62485,7698,50405,71027,16462,21559,136153,34131,107506,162069,63703,3101,215029,40407,4178,3774,9187,80019,17880,97926,67579,2600,18405,8351,47924,86638,70820,92206,86453,29610,42241,119200,3198,15466,67813,57863,35454,4779,99518,4649,104641,144269,33730,38073,65864,6838,109456,193298,154007,5623,45741,30846,182578,25573,157224,1543,58575,138703,146140,44971,49356,18275,59064,20300,13122,11848,24453,11973,9797,86843,2919,25530,49210,1130,161220,76788,75373,85604,34926,36014,17777,17255,51533,11676,92226,51845,119859,21525,5936,18507,28050,1140,31418,14857,34207,47859,10750,36382,32079,106909,59426,87757,38393,110042,15965,97104,33757,35344,97993,53979,33651,45407,41884,82515,173089,7177,58371,35365,47543,51927,35587,10670,23544,29306,84233,39976,76076,62097,9007,8668,28119,78281,120790,19835,143020,54968,18670,64959,20649,34469,42570,33001,136570,87796,120044,1106,58700,63951,127623,12805,83057,40212,31773,49850,7361,54336,347524,101314,23751,19569,48791,29174,49369,20467,7465,75842,38281,623,112457,60210,28849,51003,94720,6426,90047,85560,43761,3579,85105,34607,90410,118528,7224,42907,111163,18168,6960,161135,191298,5247,100584,127552,171568,20121,91173,12636,54615,20199,63730,98105,2396,40387,14438,125012,4765,33235,12865,45299,37728,82098,77872,114037,59253,19675,24838,398016,102561,11446,17069,57508,178277,65836,99941,26114,2585,271882,136866,50126,11027,155648,118367,14585,8910,123015,335383,40434,41016,53021,14439,87098,176860,201543,121888,2358,9286,5739,22666,54270,37884,169381,33984,93859,16124,89364,72207,51639,76366,99029,65812,2198,12147,174891,194289,6986,30252,88822,21284,11445,288337,160821,33034,100869,43852,25761,52882,1144,103809,1924,84458,86079,43411,13542,139276,18141,34978,41298,7276,26481,173800,33210,17951,142652,33616,33677,2210,19941,98568,2486,192414,80136,12058,235883,50963,249638,29572,27221,47034,6124,72107,63346,97620,158513,299699,40388,23235,37176,224244,198386,121323,67992,23827,63170,17838,106622,158590,26807,5345,23489,91891,55474,74834,37981,13058,5977,72552,34706,26828,145172,19904,21367,34043,960,77092,91381,4733,47446,7680,41697,5170,16960,14741,46101,13656,473,51842,37433,11103,11551,121951,13191,97536,165932,50397,51628,129028,9069,44885,6590,59195,47045,32940,225472,90345,21833,13303,29407,96615,141951,5198,6028,18395,7181,3861,14966,156358,167182,36529,55253,25942,173153,30959,27261,50691,150176,162201,38467,48462,80602,42163,118482,168,108756,26011,17166,54149,456538,22512,91374,13816,90358,131615,18132,226707,1824,28139,26860,42253,93877,77351,65575,8980,80574,22020,27948,40422,91324,76376,13528,39281,91685,82215,122541,144066,1983,193851,17283,26320,2739,194978,4790,26845,42627,61300,65815,174612,55133,4200,191130,79771,158321,52280,166796,221620,62461,11278,4067,88152,83409,31717,121367,13522,47325,37945,10406,174348,249321,154101,64912,29938,51775,17220,15776,166138,78890,84425,54121,42861,16368,24572,291647,10197,32073,22651,11677,97509,26952,35787,18424,41910,71614,94977,72318,41594,70024,275419,37702,60199,7335,39107,61315,18271,18394,33768,87884,104277,123724,7277,56288,71981,189803,49320,3352,6798,14240,8954,69220,94433,57372,28620,68863,193727,85575,42309,41667,67689,42081,22543,44824,12719,28540,114236,101553,27638,27296,4300,5353,4663,19379,94098,3758,95888,95144,80344,87320,28447,259518,12718,71391,152731,37063,24132,31911,104896,15672,103782,1521,4945,72541,23717,122632,15619,87175,206120,29428,189780,61416,28350,44457,972,1175,47233,198738,95789,41907,21953,97034,59341,22864,53713,16873,32971,20693,20954,31336,21477,16169,38370,16412,9019,3841,24599,21938,17085,6484,81198,76413,5849,72514,12320,65247,276175,37234,59796,52642,16312,57349,198507,94148,46134,18958,125552,1747,18725,151873,14901,5490,68287,29470,3689,64794,40814,26018,25692,54450,2703,88278,124886,173087,174e3,24159,179477,24276,46004,201876,209202,445,52876,31948,30206,157610,39180,18439,44124,50469,5774,96278,222758,200216,50290,45486,20435,46986,46276,140133,142326,15569,13363,47522,92583,2182,7135,16853,22998,30272,4952,63263,35623,39096,53789,44864,20053,110392,124213,4630,16087,28221,127787,25839,77481,44693,13464,113146,6983,27069,55717,50102,4760,7107,26186,66507,59145,36032,104182,71328,29425,64317,50781,47465,94298,69706,74899,22754,120756,25108,93077,56834,73286,39928,16218,41699,176763,7555,70819,50083,26895,23315,26014,16773,123079,41712,5719,31516,90427,158540,85051,183128,40864,27505,55392,9058,45224,96857,30901,136622,96557,56304,120061,11501,151448,5773,89743,7769,86069,2935,18471,41628,10114,33660,110170,49479,26745,92846,33221,26731,18795,87076,8550,2100,29972,120289,3077,72490,33784,2630,208722,50861,63483,79029,6419,39467,14302,45286,64207,9686,67513,44170,1050,77246,59266,17055,53801,7150,11111,42432,4278,94579,362117,36175,42902,41933,39002,98489,22913,74161,84773,57036,17556,162288,74485,178760,93867,73635,128860,50362,261,67455,80001,46080,35662,4368,25247,19230,74393,22588,1822,27682,235324,13798,85998,13194,235067,23514,71669,147632,23191,134748,214683,105101,1518,25489,247114,7380,54842,26922,3971,26361,20844,68642,170517,77339,123255,8963,77818,150998,48466,36806,2732,23261,11741,236162,18243,126216,28690,50546,16385,92760,197383,246558,201295,88255,67588,71687,176076,172653,169058,33906,63747,24835,157621,43338,30050,46152,132741,2770,51371,94835,6614,15112,11749,56936,1250,19027,399017,58036,100215,23388,55815,308768,124152,94803,9521,64186,8971,28,30427,62163,7616,103838,35079,29203,131235,7743,17389,10882,37420,61460,228512,85363,41581,131077,62822,119647,10130,54445,26925,19968,29016,24446,74028,24176,61448,67185,9254,8563,119129,9771,99184,37716,39514,10532,221512,258753,218630,55980,23394,32141,61924,66749,32411,3741,36475,26678,77010,44946,91203,128749,116953,20476,49625,53116,13735,102335,29376,51946,83407,67892,59212,34685,21083,1546,112982,32972,74397,1078,190545,16082,86140,58591,89611,101531,10061,105104,76319,20035,17551,52611,169061,190842,100780,23907,90413,115619,9675,34710,193435,49443,129734,11183,258877,16318,136182,126808,44635,27304,192375,2599,125648,47051,12091,23814,721,58800,40137,66726,97930,60877,74487,7942,54326,9841,41428,13762,8211,85383,6950,99177,79806,201786,296464,124087,13144,29741,41721,47634,55088,254286,106408,17041,99064,12942,64086,45233,14005,2612,55827,255,7984,13980,38574,12776,46654,73499,249951,2101,26676,25996,132326,116415,119062,50449,31033,23038,11589,179252,20007,14860,129270,21143,17796,144715,60106,70758,69842,34674,282133,44014,16774,57268,38528,24053,46373,201667,28327,471023,51889,102667,21193,114909,84132,69317,96723,67969,16134,68145,15058,28765,32035,2524,101089,98664,25045,76571,14957,86040,118506,262428,154764,81573,39681,283900,73287,127825,544,80448,52347,38512,175971,15180,45467,33086,46552,48894,81107,43213,36672,54025,76703,8053,7608,13299,56619,20752,238099,54164,105133,1444,32942,953,37564,8e3,66316,119463,106817,404,13667,149108,128597,31267,10269,49836,106150,1484,52330,76965,160486,171648,38456,31263,22424,37738,66245,67467,143369,60471,75610,20895,115528,86070,60854,40796,49347,18989,15030,11371,37578,15779,79867,10187,86462,46402,155626,93200,40229,7090,57547,108053,99598,11088,47505,41218,206017,2173,20988,30219,22919,80563,57566,42369,93141,41675,2407,182519,120495,27154,16702,29456,14349,7958,16688,117177,140375,42467,261919,74916,153569,10836,34742,49526,7621,105997,12212,2270,392377,7755,17959,25086,232152,138791,33847,13860,35316,5811,1344,71259,50452,207539,92635,50359,5821,33674,30255,2086,2587,96264,17543,42,6029,9580,43007,139248,82831,12917,29607,25786,51467,42137,85161,100698,31561,88989,121990,278500,3602,109344,37982,15279,116442,28936,30880,87894,58079,128661,126731,67392,28051,146885,4861,16216,97344,42827,147561,153948,22684,21335,47685,1853,43349,15185,59642,10229,25520,187921,108972,5579,98037,24945,6697,19193,63734,137934,75056,89740,19767,224268,56138,63643,151661,39313,70618,84031,89723,84074,13703,85626,35460,8867,64845,3439,57906,99776,63968,49270,81130,34356,16210,23547,36446,34090,140028,72439,2221,22163,57058,363492,113754,18913,95451,48663,54464,54037,176097,68425,3023,34906,29482,117389,341780,80431,58330,16753,92616,60907,94846,147486,4498,48646,7773,46801,7778,18946,464978,47558,33223,177444,7328,15626,63337,94700,11743,9351,255024,39098,16447,42647,96230,39769,58840,10068,63439,35800,65843,58823,413844,9156,51258,7434,61791,85018,6872,3692,28096,7121,33024,6009,75532,31997,192535,9661,3304,9547,14753,31987,25314,55689,15896,20430,39472,31340,99744,25398,115569,54883,28719,205423,23071,57855,64638,149867,25671,82403,37616,20668,39989,77996,74948,140555,175248,64810,36515,46595,4958,248773,24045,28728,136673,168704,20804,114833,100325,27135,21205,96151,153134,45992,7093,13992,76047,1980,19432,145001,75159,87462,17710,1013,45556,34297,144882,20648,26061,11319,129567,108555,18872,464580,33386,22717,65948,167189,5603,135042,79542,8801,202632,18114,91882,5973,5239,67315,4431,60916,47819,71693,32597,32606,18183,45072,80329,76385,24749,51305,40314,156514,14693,130345,13168,66214,18029,12858,34801,27628,14544,10823,40522,40185,33739,148694,23548,9923,61012,28859,17933,19442,34364,99849,164107,141167,30629,21054,6744,36491,8096,42474,41706,155060,30650,10600,163442,1143,96655,61390,52359,7559,51568,64256,203854,4467,22453,14504,436398,7878,6980,8293,63610,293747,16167,35763,19627,147603,15419,18032,110744,51346,33681,54571,40472,48615,39073,21604,13754,173027,92560,11083,47299,63062,11813,52007,29883,9734,139722,15953,1550,20651,13616,49306,16113,90089,92326,7584,30712,72424,164858,6831,152871,55746,197721,34167,196442,6022,112107,55215,7538,123381,4920,43539,77165,8939,50392,34192,20225,79762,22505,58667,40770,29788,97180,82835,4568,8579,13273,363569,35898,49983,436,36598,3237,131691,62418,35591,8101,4073,379438,65218,76072,33887,2968,27573,212619,288680,68278,72851,150504,217896,6913,121339,22017,35340,51072,43616,75043,31437,10833,81487,4364,22968,41454,106687,85446,19863,109625,149241,524,141850,214404,54376,657,237023,9401,108137,53800,32474,49712,53334,126876,27337,45552,177696,8269,15036,12097,42240,2328,125374,119295,99715,2500,19624,39441,27220,102691,60957,94543,39101,18566,67362,13975,78230,25017,34017,239007,90027,39351,41681,35354,43822,1043,916,58587,141983,94818,38799,75459,41114,67432,16195,36606,59568,22272,126769,31424,68659,12287,134302,257977,5756,207285,95637,47248,117689,19583,77451,22373,12200,54993,117118,34244,29386,34562,53819,71267,64172,77665,49368,7716,59301,25749,45426,194789,17297,2650,1766,32501,45198,20403,20984,6600,14171,94604,19037,5402,29896,9938,59935,109708,88081,145182,44844,39167,352626,164173,35374,45982,6122,154,73419,220487,53834,53601,17992,8609,229321,5610,68098,66815,71012,95069,140968,27396,8957,134489,24656,86659,56598,134852,17316,123838,255436,6613,41610,138033,81452,32023,32396,123687,63398,8693,29712,30407,19296,121188,3551,36099,20032,111948,56624,16547,27453,35916,15378,52039,56849,13489,22214,73177,53097,277349,2157,14029,187886,10260,141743,246460,91880,50869,3788,49486,133566,54950,33120,129337,53768,18333,9525,26902,312251,10297,9020,70759,16647,112432,59260,84609,9818,82766,73569,468,46001,75780,55028,52106,11498,43645,108069,17150,17753,29417,16705,31799,9606,289,122254,115975,8620,6133,255357,56908,14456,133464,43554,79224,11247,29630,160,12756,25464,65960,350428,62521,321796,100359,67358,35169,46172,113128,48988,88868,31094,33266,6847,60887,98188,49659,69117,92977,220228,13947,80181,35103,62170,97351,13475,2440,199768,19498,36597,46971,25234,67806,62881,84717,73648,181966,10488,94149,21550,26655,63436,48375,14405,165650,9621,24439,28043,42735,4490,29963,56674,45373,1934,262446,50855,67098,26898,5261,52696,40644,33900,9440,180286,87162,22940,19704,26936,69769,10254,101759,27406,12243,48e3,73926,113215,54935,5726,192787,4312,106216,9366,11550,52949,23457,212271,277152,133895,108374,6191,96477,29980,218916,58024,54696,40853,91124,65894,91170,65908,252552,6793,29212,15389,44516,122515,52617,35058,9017,103536,39510,49136,19242,130652,662077,74699,47024,31422,8517,73351,24399,13867,128360,4810,4434,61779,111983,61036,17798,110240,59722,102960,39688,10001,23803,23039,176498,56659,44814,134295,17188,77577,74466,226175,102472,154333,63900,111747,18062,41171,79669,32773,408933,42562,28931,30907,107388,43487,2946,240310,23938,24354,319,184983,7927,6488,1422,10790,68809,68209,64775,4361,202,17123,59634,51200,44391,18188,17843,2619,74278,3230,9540,47187,21702,36274,56894,43907,16310,34790,16866,6150,5561,13587,107545,108873,126867,86986,28640,33427,19017,5762,80637,17430,46903,2047,131055,25958,13558,5444,47152,13900,44563,122857,45348,70863,39593,54332,38068,33637,318,40310,143467,18502,24520,11377,62013,28942,27246,28269,83545,17999,59015,90707,30065,15161,34720,1263,37008,2012,6060,98575,92933,5721,299,199555,24578,29223,2985,743,115825,109523,136657,47454,26378,53586,3733,174945,93340,244456,5693,37386,28782,89767,27545,23573,18798,136425,34320,84778,20041,48453,38215,7477,71958,40621,8773,5874,187927,105965,51100,43533,18083,8443,10180,43597,2003,183999,69689,12216,129696,146188,62389,34044,68410,12765,43273,26949,266807,3345,34477,79197,5688,47539,213110,21634,22257,50092,32222,42346,39530,63668,98,134978,74022,5152,59088,174145,37220,9934,9545,118937,5724,87240,19875,15784,40143,23263,87513,181654,285152,37881,263241,4966,43934,10433,186657,6470,74416,225854,25908,142677,246262,32280,6192,75890,45546,143264,135305,29742,47013,77787,11732,126658,8763,37950,21806,57557,113464,89465,108995,164574,23894,22996,23169,15369,23117,17642,130607,40503,36239,280990,44666,9981,40427,147487,26869,168452,32886,32991,46798,240839,15111,70502,65697,88548,44145,28701,48767,31139,206777,35659,181164,166262,14554,171445,31786,66523,76607,17956,6507,31279,90476,116611,167918,6560,1243,115324,80128,41867,55897,187323,37069,32596,189444,145931,13390,105530,65709,26805,6999,55714,41300,22915,68951,22138,21120,22264,10058,19945,33635,56123,99085,10032,5818,6016,46649,57476,35264,94413,112522,262288,93686,83038,14341,23204,28807,66084,77987,6101,126673,7133,38126,5923,122091,170240,97772,46874,215746,43948,41622,3272,55596,8332,146411,251315,13533,8561,81521,115449,48616,175175,2063,186556,3036,134537,75772,29728,82360,22973,186559,86348,89100,38388,82297,45610,2613,87082,9986,177812,57884,23591,47485,42543,33582,44713,74439,257444,252451,31825,35631,38540,33066,5147,13973,4343,51830,70378,22827,26448,95560,36896,241741,48067,203953,298860,61620,20450,3220,67272,6586,107662,100160,108684,6929,57226,4762,7457,1320,40404,77204,99309,62750,208653,59977,44e3,74315,34332,5819,172217,64904,114077,18147,84012,1791,98456,90930,21446,116669,103938,7422,85140,59713,5768,326211,16239,75411,13229,29398,10758,236107,1539,112472,95979,152154,151294,306,21196,38146,10700,6891,84282,109646,56492,40539,6589,119491,51354,30685,140209,136906,29622,73617,49553,70525,51671,166869,139616,74395,37439,49595,45678,11959,33211,86560,52434,9282,62690,112155,130810,5243,108261,99970,265613,72551,80049,6391,33365,90721,66737,69872,87011,1860,9032,112544,60905,37371,89015,140351,19076,850,373531,2802,36725,218795,72062,28990,16550,24614,7815,6187,26336,33373,32162,42791,73555,32062,23386,10244,56392,49442,27076,136262,12412,14883,1134,33675,97153,199281,15608,100152,74072,47942,254301,36451,16026,10687,65067,56708,254030,30290,50490,13864,57941,259331,35588,23485,43486,24869,21620,92971,22072,88645,1048,182050,13343,32452,14825,19509,3325,216938,45740,99716,189082,53740,78245,25609,24311,176777,47340,308354,40669,66085,14102,125339,9225,128709,97207,1271,200933,78439,113451,88975,18324,46521,11819,18570,141756,72512,170020,52754,63550,118515,103073,93330,32736,50499,14722,31600,68452,398867,29316,172786,18417,104924,2606,5670,84818,16288,67106,59580,82929,607401,291,85829,359,15897,35830,50696,65630,52672,22115,356968,29895,40837,231192,34024,38957,26722,406,23335,124952,72068,68804,13268,147101,164740,276569,162596,66943,11569,26654,66358,4777,23229,102127,5848,978,2921,59666,5371,28212,90108,42938,39320,2499,4271,108792,33510,125072,71653,65239,38250,66357,38577,13964,86251,35708,50755,36010,29448,12209,3844,38222,206337,100876,67827,137088,14167,252225,84163,195270,1306,5703,54198,779,46802,22028,51124,86759,70560,113164,35685,162145,45471,34561,422,2611,6464,47486,19223,38246,9191,18331,89942,243642,212364,15893,17518,22617,6409,30046,126182,59716,36560,104428,18846,26592,19458,50793,147333,30826,1388,27647,10922,14495,33545,19269,135828,39727,41601,46931,233379,49169,131130,182112,16276,82381,118209,142445,128310,19672,28740,82907,33436,3118,102206,28723,24819,41937,38854,5157,3881,111491,1142,9776,421673,152241,29309,14961,87854,6054,15424,3796,82656,54996,2108,55367,239450,154525,9643,118103,106041,64601,68549,48707,30266,25772,18740,9462,229669,91798,112152,191327,14493,72828,8175,66636,236474,25817,87351,129027,76653,20422,22983,71240,27846,44661,12399,46158,77704,53101,35032,11072,17300,109294,33638,24408,1895,11241,760,17584,82479,125877,63150,141075,34259,23274,81698,15732,43577,48340,91584,14688,16379,24481,150280,96420,262050,48635,43727,61819,56268,72003,88178,17281,79912,13218,122519,125295,166396,11811,2171,118930,67746,17636,178278,174656,95661,173039,83845,79689,17473,98555,127696,203415,54730,22925,232239,9309,12136,175026,20740,180188,10747,39816,314017,266131,10040,175732,112550,220651,31974,37393,888,23008,86799,4303,64905,148467,75337,251,3284,370102,50264,9835,5438,23655,4481,29851,329,12855,7162,64931,78141,12804,42372,296771,83547,18624,34874,86271,3360,48665,77735,88767,11463,63527,28889,22258,29140,194315,113924,25499,6406,31334,1845,4802,49184,43455,35469,127594,92970,61038,115005,38840,87761,106838,8811,20572,55637,11162,96721,132425,108925,2948,125457,36356,3502,75270,27622,127192,2561,123095,49394,61155,16897,110064,9699,89448,53356,19628,220310,21622,83036,9885,112214,6087,26713,17901,161912,91492,3440,68594,9266,92238,8087,6866,150194,72175,80701,13459,31836,43243,239700,95846,44749,50647,21945,230538,120612,132371,244604,5193,105637,34661,41341,68775,85393,1874,8771,33718,49672,77403,595452,99507,6490,58895,128742,7704,39239,73217,43816,62824,37804,199976,22361,80005,87514,94832,14089,4574,139975,59142,75523,100268,43906,53442,15152,2547,186002,17011,19513,204282,3343,60568,128318,119250,4298,51871,41336,71759,21921,45074,98169,145889,99427,11350,1237,5520,28799,7803,53702,21026,136352,38293,128690,12158,90132,44600,10184,26957,39459,126025,78904,82999,59373,39301,150198,120529,153042,20177,50089,14764,271571,30530,123161,38975,101562,22941,5648,124654,109243,69817,71675,49162,106884,21241,107795,30258,16572,188262,141456,7688,60718,8271,11044,32440,104608,103419,236109,93156,43293,128929,42107,67180,25201,115254,185488,130954,72813,167547,20537,39969,38432,22582,184022,1139,27199,5655,17767,97412,122606,209377,27070,35871,326617,188954,42680,73512,80911,22629,3011,95021,315242,157737,383,41821,41808,19335,27950,15674,25677,110950,35375,76835,59108,57370,35262,16569,160415,37706,78086,32041,49691,137143,9782,172080,50148,77917,6323,10110,69172,17711,21795,59511,76184,135114,31046,132319,59105,157578,20549,80778,57649,158421,65143,4575,72235,21899,10797,92745,34035,106079,80159,4508,78304,25350,75457,46458,32937,25623,47,8531,104751,84953,8138,36508,187199,66310,115274,13253,32461,38536,1916,42007,187160,35055,26325,84394,35963,94216,45590,97782];var Bt={get(e=globalThis){let t=e.crypto;if(t==null||t.subtle==null)throw Object.assign(new Error("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p-crypto/blob/master/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return t}};var k4={SHA1:20,SHA256:32,SHA512:64};var i7={SHA1:"SHA-1",SHA256:"SHA-256",SHA512:"SHA-512"},o7=async(e,t)=>{let r=await Bt.get().subtle.sign({name:"HMAC"},e,t);return new Uint8Array(r,0,r.byteLength)};async function D4(e,t){let r=i7[e],n=await Bt.get().subtle.importKey("raw",t,{name:"HMAC",hash:{name:r}},!1,["sign"]);return{async digest(i){return await o7(n,i)},length:k4[e]}}var Um=$(Wi(),1),p7=$(nt(),1);var S1={};Lt(S1,{generateEphemeralKeyPair:()=>o6,generateKeyPair:()=>Lh,generateKeyPairFromSeed:()=>kh,importKey:()=>Oh,keyStretcher:()=>J5,keysPBM:()=>$n,marshalPrivateKey:()=>Uh,marshalPublicKey:()=>Fh,supportedKeys:()=>Ye,unmarshalPrivateKey:()=>ou,unmarshalPublicKey:()=>Dh});var $n={};Lt($n,{KeyType:()=>ct,PrivateKey:()=>Se,PublicKey:()=>Ee});var ct;(function(e){e.RSA="RSA",e.Ed25519="Ed25519",e.Secp256k1="Secp256k1"})(ct||(ct={}));var Fs;(function(e){e[e.RSA=0]="RSA",e[e.Ed25519=1]="Ed25519",e[e.Secp256k1=2]="Secp256k1"})(Fs||(Fs={}));(function(e){e.codec=()=>Rn(Fs)})(ct||(ct={}));var Ee;(function(e){let t;e.codec=()=>(t==null&&(t=Me((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),ct.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.Type=ct.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>Oe(r,e.codec()),e.decode=r=>Ue(r,e.codec())})(Ee||(Ee={}));var Se;(function(e){let t;e.codec=()=>(t==null&&(t=Me((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),ct.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.Type=ct.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>Oe(r,e.codec()),e.decode=r=>Ue(r,e.codec())})(Se||(Se={}));var Sv=$(L0(),1),Av=$(X5(),1),E1=$(nt(),1);var j5={"AES-128":{ivSize:16,keySize:16},"AES-256":{ivSize:16,keySize:32},Blowfish:{ivSize:8,keySize:32}};async function J5(e,t,r){let n=j5[e];if(n==null){let x=Object.keys(j5).join(" / ");throw new C(`unknown cipher type '${e}'. Must be ${x}`,"ERR_INVALID_CIPHER_TYPE")}if(t==null)throw new C("missing hash type","ERR_MISSING_HASH_TYPE");let i=n.keySize,o=n.ivSize,s=20,a=xt("key expansion"),u=2*(o+i+s),c=await D4(t,r),f=await c.digest(a),l=[],d=0;for(;d<u;){let x=await c.digest(ut([f,a])),S=x.length;d+S>u&&(S=u-d),l.push(x),d+=S,f=await c.digest(f)}let p=u/2,h=ut(l),y=h.subarray(0,p),g=h.subarray(p,u),m=x=>({iv:x.subarray(0,o),cipherKey:x.subarray(o,o+i),macKey:x.subarray(o+i)});return{k1:m(y),k2:m(g)}}var gx=$(Ct(),1),mx=$(i1(),1),t6=$(nt(),1);function Ie(e,t){let r=Uint8Array.from(e.abs().toByteArray());if(r=r[0]===0?r.subarray(1):r,t!=null){if(r.length>t)throw new Error("byte array longer than desired length");r=ut([new Uint8Array(t-r.length),r])}return M(r,"base64url")}function ne(e){let t=u1(e);return new t6.default.jsbn.BigInteger(M(t,"base16"),16)}function u1(e,t){let r=xt(e,"base64urlpad");if(t!=null){if(r.length>t)throw new Error("byte array longer than desired length");r=ut([new Uint8Array(t-r.length),r])}return r}var e6={"P-256":256,"P-384":384,"P-521":521},L9=Object.keys(e6),Ws=L9.join(" / ");async function r6(e){if(e!=="P-256"&&e!=="P-384"&&e!=="P-521")throw new C(`Unknown curve: ${e}. Must be ${Ws}`,"ERR_INVALID_CURVE");let t=await Bt.get().subtle.generateKey({name:"ECDH",namedCurve:e},!0,["deriveBits"]),r=async(o,s)=>{let a;s!=null?a=await Bt.get().subtle.importKey("jwk",D9(e,s),{name:"ECDH",namedCurve:e},!1,["deriveBits"]):a=t.privateKey;let u=await Bt.get().subtle.importKey("jwk",i6(e,o),{name:"ECDH",namedCurve:e},!1,[]),c=await Bt.get().subtle.deriveBits({name:"ECDH",namedCurve:e,public:u},a,e6[e]);return new Uint8Array(c,0,c.byteLength)},n=await Bt.get().subtle.exportKey("jwk",t.publicKey);return{key:k9(n),genSharedKey:r}}var n6={"P-256":32,"P-384":48,"P-521":66};function k9(e){if(e.crv==null||e.x==null||e.y==null)throw new C("JWK was missing components","ERR_INVALID_PARAMETERS");if(e.crv!=="P-256"&&e.crv!=="P-384"&&e.crv!=="P-521")throw new C(`Unknown curve: ${e.crv}. Must be ${Ws}`,"ERR_INVALID_CURVE");let t=n6[e.crv];return ut([Uint8Array.from([4]),u1(e.x,t),u1(e.y,t)],1+t*2)}function i6(e,t){if(e!=="P-256"&&e!=="P-384"&&e!=="P-521")throw new C(`Unknown curve: ${e}. Must be ${Ws}`,"ERR_INVALID_CURVE");let r=n6[e];if(!st(t.subarray(0,1),Uint8Array.from([4])))throw new C("Cannot unmarshal public key - invalid key format","ERR_INVALID_KEY_FORMAT");return{kty:"EC",crv:e,x:M(t.subarray(1,r+1),"base64url"),y:M(t.subarray(1+r),"base64url"),ext:!0}}var D9=(e,t)=>({...i6(e,t.public),d:M(t.private,"base64url")});var o6=r6;function s6(){return typeof navigator<"u"&&navigator.userAgent.includes("Safari")&&navigator.userAgent.includes("Linux")&&!navigator.userAgent.includes("Chrome")}var a6={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function c1(e){let t=e?.algorithm??"AES-GCM",r=e?.keyLength??16,n=e?.nonceLength??12,i=e?.digest??"SHA-256",o=e?.saltLength??16,s=e?.iterations??32767,a=Bt.get();r*=8;async function u(l,d){let p=a.getRandomValues(new Uint8Array(o)),h=a.getRandomValues(new Uint8Array(n)),y={name:t,iv:h};typeof d=="string"&&(d=xt(d));let g;if(d.length===0&&s6())g=await a.subtle.importKey("jwk",a6,{name:"AES-GCM"},!0,["encrypt"]);else{let x={name:"PBKDF2",salt:p,iterations:s,hash:{name:i}},S=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(x,S,{name:t,length:r},!0,["encrypt"])}let m=await a.subtle.encrypt(y,g,l);return ut([p,y.iv,new Uint8Array(m)])}async function c(l,d){let p=l.subarray(0,o),h=l.subarray(o,o+n),y=l.subarray(o+n),g={name:t,iv:h};typeof d=="string"&&(d=xt(d));let m;if(d.length===0&&s6())m=await a.subtle.importKey("jwk",a6,{name:"AES-GCM"},!0,["decrypt"]);else{let S={name:"PBKDF2",salt:p,iterations:s,hash:{name:i}},L=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(S,L,{name:t,length:r},!0,["decrypt"])}let x=await a.subtle.decrypt(g,m,y);return new Uint8Array(x)}return{encrypt:u,decrypt:c}}async function c6(e,t){let r=Hr.decode(e);return await c1().decrypt(r,t)}var o2={};Lt(o2,{RsaPrivateKey:()=>e0,RsaPublicKey:()=>q0,fromJwk:()=>sh,generateKeyPair:()=>ah,unmarshalRsaPrivateKey:()=>ih,unmarshalRsaPublicKey:()=>oh});var av=$(d6(),1),V0=$(nt(),1);var U9=$(Hn(),1);var Y=BigInt(0),ht=BigInt(1),Pr=BigInt(2),O0=BigInt(3),y6=BigInt(8),Et=Object.freeze({a:Y,b:BigInt(7),P:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:ht,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee")}),g6=(e,t)=>(e+t/Pr)/t,f1={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar(e){let{n:t}=Et,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-ht*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=r,s=BigInt("0x100000000000000000000000000000000"),a=g6(o*e,t),u=g6(-n*e,t),c=N(e-a*r-u*i,t),f=N(-a*n-u*o,t),l=c>s,d=f>s;if(l&&(c=t-c),d&&(f=t-f),c>s||f>s)throw new Error("splitScalarEndo: Endomorphism failed, k="+e);return{k1neg:l,k1:c,k2neg:d,k2:f}}},Be=32,Zn=32,O9=32,m6=Be+1,x6=2*Be+1;function v6(e){let{a:t,b:r}=Et,n=N(e*e),i=N(n*e);return N(i+t*e+r)}var l1=Et.a===Y,d1=class extends Error{constructor(t){super(t)}};function w6(e){if(!(e instanceof J))throw new TypeError("JacobianPoint expected")}var J=class{constructor(t,r,n){this.x=t,this.y=r,this.z=n}static fromAffine(t){if(!(t instanceof et))throw new TypeError("JacobianPoint#fromAffine: expected Point");return t.equals(et.ZERO)?J.ZERO:new J(t.x,t.y,ht)}static toAffineBatch(t){let r=z9(t.map(n=>n.z));return t.map((n,i)=>n.toAffine(r[i]))}static normalizeZ(t){return J.toAffineBatch(t).map(J.fromAffine)}equals(t){w6(t);let{x:r,y:n,z:i}=this,{x:o,y:s,z:a}=t,u=N(i*i),c=N(a*a),f=N(r*c),l=N(o*u),d=N(N(n*a)*c),p=N(N(s*i)*u);return f===l&&d===p}negate(){return new J(this.x,N(-this.y),this.z)}double(){let{x:t,y:r,z:n}=this,i=N(t*t),o=N(r*r),s=N(o*o),a=t+o,u=N(Pr*(N(a*a)-i-s)),c=N(O0*i),f=N(c*c),l=N(f-Pr*u),d=N(c*(u-l)-y6*s),p=N(Pr*r*n);return new J(l,d,p)}add(t){w6(t);let{x:r,y:n,z:i}=this,{x:o,y:s,z:a}=t;if(o===Y||s===Y)return this;if(r===Y||n===Y)return t;let u=N(i*i),c=N(a*a),f=N(r*c),l=N(o*u),d=N(N(n*a)*c),p=N(N(s*i)*u),h=N(l-f),y=N(p-d);if(h===Y)return y===Y?this.double():J.ZERO;let g=N(h*h),m=N(h*g),x=N(f*g),S=N(y*y-m-Pr*x),L=N(y*(x-S)-d*m),T=N(i*a*h);return new J(S,L,T)}subtract(t){return this.add(t.negate())}multiplyUnsafe(t){let r=J.ZERO;if(typeof t=="bigint"&&t===Y)return r;let n=S6(t);if(n===ht)return this;if(!l1){let l=r,d=this;for(;n>Y;)n&ht&&(l=l.add(d)),d=d.double(),n>>=ht;return l}let{k1neg:i,k1:o,k2neg:s,k2:a}=f1.splitScalar(n),u=r,c=r,f=this;for(;o>Y||a>Y;)o&ht&&(u=u.add(f)),a&ht&&(c=c.add(f)),f=f.double(),o>>=ht,a>>=ht;return i&&(u=u.negate()),s&&(c=c.negate()),c=new J(N(c.x*f1.beta),c.y,c.z),u.add(c)}precomputeWindow(t){let r=l1?128/t+1:256/t+1,n=[],i=this,o=i;for(let s=0;s<r;s++){o=i,n.push(o);for(let a=1;a<2**(t-1);a++)o=o.add(i),n.push(o);i=o.double()}return n}wNAF(t,r){!r&&this.equals(J.BASE)&&(r=et.BASE);let n=r&&r._WINDOW_SIZE||1;if(256%n)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let i=r&&js.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=J.normalizeZ(i),js.set(r,i)));let o=J.ZERO,s=J.BASE,a=1+(l1?128/n:256/n),u=2**(n-1),c=BigInt(2**n-1),f=2**n,l=BigInt(n);for(let d=0;d<a;d++){let p=d*u,h=Number(t&c);t>>=l,h>u&&(h-=f,t+=ht);let y=p,g=p+Math.abs(h)-1,m=d%2!==0,x=h<0;h===0?s=s.add(h1(m,i[y])):o=o.add(h1(x,i[g]))}return{p:o,f:s}}multiply(t,r){let n=S6(t),i,o;if(l1){let{k1neg:s,k1:a,k2neg:u,k2:c}=f1.splitScalar(n),{p:f,f:l}=this.wNAF(a,r),{p:d,f:p}=this.wNAF(c,r);f=h1(s,f),d=h1(u,d),d=new J(N(d.x*f1.beta),d.y,d.z),i=f.add(d),o=l.add(p)}else{let{p:s,f:a}=this.wNAF(n,r);i=s,o=a}return J.normalizeZ([i,o])[0]}toAffine(t){let{x:r,y:n,z:i}=this,o=this.equals(J.ZERO);t==null&&(t=o?y6:Jn(i));let s=t,a=N(s*s),u=N(a*s),c=N(r*a),f=N(n*u),l=N(i*s);if(o)return et.ZERO;if(l!==ht)throw new Error("invZ was invalid");return new et(c,f)}};J.BASE=new J(Et.Gx,Et.Gy,ht);J.ZERO=new J(Y,ht,Y);function h1(e,t){let r=t.negate();return e?r:t}var js=new WeakMap,et=class{constructor(t,r){this.x=t,this.y=r}_setWindowSize(t){this._WINDOW_SIZE=t,js.delete(this)}hasEvenY(){return this.y%Pr===Y}static fromCompressedHex(t){let r=t.length===32,n=Nr(r?t:t.subarray(1));if(!Xs(n))throw new Error("Point is not on curve");let i=v6(n),o=q9(i),s=(o&ht)===ht;r?s&&(o=N(-o)):(t[0]&1)===1!==s&&(o=N(-o));let a=new et(n,o);return a.assertValidity(),a}static fromUncompressedHex(t){let r=Nr(t.subarray(1,Be+1)),n=Nr(t.subarray(Be+1,Be*2+1)),i=new et(r,n);return i.assertValidity(),i}static fromHex(t){let r=jn(t),n=r.length,i=r[0];if(n===Be)return this.fromCompressedHex(r);if(n===m6&&(i===2||i===3))return this.fromCompressedHex(r);if(n===x6&&i===4)return this.fromUncompressedHex(r);throw new Error(`Point.fromHex: received invalid point. Expected 32-${m6} compressed bytes or ${x6} uncompressed bytes, not ${n}`)}static fromPrivateKey(t){return et.BASE.multiply(g1(t))}static fromSignature(t,r,n){let{r:i,s:o}=A6(r);if(![0,1,2,3].includes(n))throw new Error("Cannot recover: invalid recovery bit");let s=e2(jn(t)),{n:a}=Et,u=n===2||n===3?i+a:i,c=Jn(u,a),f=N(-s*c,a),l=N(o*c,a),d=n&1?"03":"02",p=et.fromHex(d+Wn(u)),h=et.BASE.multiplyAndAddUnsafe(p,f,l);if(!h)throw new Error("Cannot recover signature: point at infinify");return h.assertValidity(),h}toRawBytes(t=!1){return sn(this.toHex(t))}toHex(t=!1){let r=Wn(this.x);return t?`${this.hasEvenY()?"02":"03"}${r}`:`04${r}${Wn(this.y)}`}toHexX(){return this.toHex(!0).slice(2)}toRawX(){return this.toRawBytes(!0).slice(1)}assertValidity(){let t="Point is not on elliptic curve",{x:r,y:n}=this;if(!Xs(r)||!Xs(n))throw new Error(t);let i=N(n*n),o=v6(r);if(N(i-o)!==Y)throw new Error(t)}equals(t){return this.x===t.x&&this.y===t.y}negate(){return new et(this.x,N(-this.y))}double(){return J.fromAffine(this).double().toAffine()}add(t){return J.fromAffine(this).add(J.fromAffine(t)).toAffine()}subtract(t){return this.add(t.negate())}multiply(t){return J.fromAffine(this).multiply(t,this).toAffine()}multiplyAndAddUnsafe(t,r,n){let i=J.fromAffine(this),o=r===Y||r===ht||this!==et.BASE?i.multiplyUnsafe(r):i.multiply(r),s=J.fromAffine(t).multiplyUnsafe(n),a=o.add(s);return a.equals(J.ZERO)?void 0:a.toAffine()}};et.BASE=new et(Et.Gx,Et.Gy);et.ZERO=new et(Y,Y);function b6(e){return Number.parseInt(e[0],16)>=8?"00"+e:e}function E6(e){if(e.length<2||e[0]!==2)throw new Error(`Invalid signature integer tag: ${Xn(e)}`);let t=e[1],r=e.subarray(2,t+2);if(!t||r.length!==t)throw new Error("Invalid signature integer: wrong length");if(r[0]===0&&r[1]<=127)throw new Error("Invalid signature integer: trailing length");return{data:Nr(r),left:e.subarray(t+2)}}function M9(e){if(e.length<2||e[0]!=48)throw new Error(`Invalid signature tag: ${Xn(e)}`);if(e[1]!==e.length-2)throw new Error("Invalid signature: incorrect length");let{data:t,left:r}=E6(e.subarray(2)),{data:n,left:i}=E6(r);if(i.length)throw new Error(`Invalid signature: left bytes after parsing: ${Xn(i)}`);return{r:t,s:n}}var Qe=class{constructor(t,r){this.r=t,this.s=r,this.assertValidity()}static fromCompact(t){let r=t instanceof Uint8Array,n="Signature.fromCompact";if(typeof t!="string"&&!r)throw new TypeError(`${n}: Expected string or Uint8Array`);let i=r?Xn(t):t;if(i.length!==128)throw new Error(`${n}: Expected 64-byte hex`);return new Qe(y1(i.slice(0,64)),y1(i.slice(64,128)))}static fromDER(t){let r=t instanceof Uint8Array;if(typeof t!="string"&&!r)throw new TypeError("Signature.fromDER: Expected string or Uint8Array");let{r:n,s:i}=M9(r?t:sn(t));return new Qe(n,i)}static fromHex(t){return this.fromDER(t)}assertValidity(){let{r:t,s:r}=this;if(!K0(t))throw new Error("Invalid Signature: r must be 0 < r < n");if(!K0(r))throw new Error("Invalid Signature: s must be 0 < s < n")}hasHighS(){let t=Et.n>>ht;return this.s>t}normalizeS(){return this.hasHighS()?new Qe(this.r,N(-this.s,Et.n)):this}toDERRawBytes(){return sn(this.toDERHex())}toDERHex(){let t=b6(U0(this.s)),r=b6(U0(this.r)),n=t.length/2,i=r.length/2,o=U0(n),s=U0(i);return`30${U0(i+n+4)}02${s}${r}02${o}${t}`}toRawBytes(){return this.toDERRawBytes()}toHex(){return this.toDERHex()}toCompactRawBytes(){return sn(this.toCompactHex())}toCompactHex(){return Wn(this.r)+Wn(this.s)}};function Rr(...e){if(!e.every(n=>n instanceof Uint8Array))throw new Error("Uint8Array list expected");if(e.length===1)return e[0];let t=e.reduce((n,i)=>n+i.length,0),r=new Uint8Array(t);for(let n=0,i=0;n<e.length;n++){let o=e[n];r.set(o,i),i+=o.length}return r}var K9=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Xn(e){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");let t="";for(let r=0;r<e.length;r++)t+=K9[e[r]];return t}var V9=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000");function Wn(e){if(typeof e!="bigint")throw new Error("Expected bigint");if(!(Y<=e&&e<V9))throw new Error("Expected number 0 <= n < 2^256");return e.toString(16).padStart(64,"0")}function Js(e){let t=sn(Wn(e));if(t.length!==32)throw new Error("Error: expected 32 bytes");return t}function U0(e){let t=e.toString(16);return t.length&1?`0${t}`:t}function y1(e){if(typeof e!="string")throw new TypeError("hexToNumber: expected string, got "+typeof e);return BigInt(`0x${e}`)}function sn(e){if(typeof e!="string")throw new TypeError("hexToBytes: expected string, got "+typeof e);if(e.length%2)throw new Error("hexToBytes: received invalid unpadded hex"+e.length);let t=new Uint8Array(e.length/2);for(let r=0;r<t.length;r++){let n=r*2,i=e.slice(n,n+2),o=Number.parseInt(i,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");t[r]=o}return t}function Nr(e){return y1(Xn(e))}function jn(e){return e instanceof Uint8Array?Uint8Array.from(e):sn(e)}function S6(e){if(typeof e=="number"&&Number.isSafeInteger(e)&&e>0)return BigInt(e);if(typeof e=="bigint"&&K0(e))return e;throw new TypeError("Expected valid private scalar: 0 < scalar < curve.n")}function N(e,t=Et.P){let r=e%t;return r>=Y?r:t+r}function pe(e,t){let{P:r}=Et,n=e;for(;t-- >Y;)n*=n,n%=r;return n}function q9(e){let{P:t}=Et,r=BigInt(6),n=BigInt(11),i=BigInt(22),o=BigInt(23),s=BigInt(44),a=BigInt(88),u=e*e*e%t,c=u*u*e%t,f=pe(c,O0)*c%t,l=pe(f,O0)*c%t,d=pe(l,Pr)*u%t,p=pe(d,n)*d%t,h=pe(p,i)*p%t,y=pe(h,s)*h%t,g=pe(y,a)*y%t,m=pe(g,s)*h%t,x=pe(m,O0)*c%t,S=pe(x,o)*p%t,L=pe(S,r)*u%t,T=pe(L,Pr);if(T*T%t!==e)throw new Error("Cannot find square root");return T}function Jn(e,t=Et.P){if(e===Y||t<=Y)throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);let r=N(e,t),n=t,i=Y,o=ht,s=ht,a=Y;for(;r!==Y;){let c=n/r,f=n%r,l=i-s*c,d=o-a*c;n=r,r=f,i=s,o=a,s=l,a=d}if(n!==ht)throw new Error("invert: does not exist");return N(i,t)}function z9(e,t=Et.P){let r=new Array(e.length),n=e.reduce((o,s,a)=>s===Y?o:(r[a]=o,N(o*s,t)),ht),i=Jn(n,t);return e.reduceRight((o,s,a)=>s===Y?o:(r[a]=N(o*r[a],t),N(o*s,t)),i),r}function $9(e){let t=e.length*8-Zn*8,r=Nr(e);return t>0?r>>BigInt(t):r}function e2(e,t=!1){let r=$9(e);if(t)return r;let{n}=Et;return r>=n?r-n:r}var Yn,M0,t2=class{constructor(t,r){if(this.hashLen=t,this.qByteLen=r,typeof t!="number"||t<2)throw new Error("hashLen must be a number");if(typeof r!="number"||r<2)throw new Error("qByteLen must be a number");this.v=new Uint8Array(t).fill(1),this.k=new Uint8Array(t).fill(0),this.counter=0}hmac(...t){return Ce.hmacSha256(this.k,...t)}hmacSync(...t){return M0(this.k,...t)}checkSync(){if(typeof M0!="function")throw new d1("hmacSha256Sync needs to be set")}incr(){if(this.counter>=1e3)throw new Error("Tried 1,000 k values for sign(), all were invalid");this.counter+=1}async reseed(t=new Uint8Array){this.k=await this.hmac(this.v,Uint8Array.from([0]),t),this.v=await this.hmac(this.v),t.length!==0&&(this.k=await this.hmac(this.v,Uint8Array.from([1]),t),this.v=await this.hmac(this.v))}reseedSync(t=new Uint8Array){this.checkSync(),this.k=this.hmacSync(this.v,Uint8Array.from([0]),t),this.v=this.hmacSync(this.v),t.length!==0&&(this.k=this.hmacSync(this.v,Uint8Array.from([1]),t),this.v=this.hmacSync(this.v))}async generate(){this.incr();let t=0,r=[];for(;t<this.qByteLen;){this.v=await this.hmac(this.v);let n=this.v.slice();r.push(n),t+=this.v.length}return Rr(...r)}generateSync(){this.checkSync(),this.incr();let t=0,r=[];for(;t<this.qByteLen;){this.v=this.hmacSync(this.v);let n=this.v.slice();r.push(n),t+=this.v.length}return Rr(...r)}};function K0(e){return Y<e&&e<Et.n}function Xs(e){return Y<e&&e<Et.P}function H9(e,t,r,n=!0){let{n:i}=Et,o=e2(e,!0);if(!K0(o))return;let s=Jn(o,i),a=et.BASE.multiply(o),u=N(a.x,i);if(u===Y)return;let c=N(s*N(t+r*u,i),i);if(c===Y)return;let f=new Qe(u,c),l=(a.x===f.r?0:2)|Number(a.y&ht);return n&&f.hasHighS()&&(f=f.normalizeS(),l^=1),{sig:f,recovery:l}}function g1(e){let t;if(typeof e=="bigint")t=e;else if(typeof e=="number"&&Number.isSafeInteger(e)&&e>0)t=BigInt(e);else if(typeof e=="string"){if(e.length!==2*Zn)throw new Error("Expected 32 bytes of private key");t=y1(e)}else if(e instanceof Uint8Array){if(e.length!==Zn)throw new Error("Expected 32 bytes of private key");t=Nr(e)}else throw new TypeError("Expected valid private key");if(!K0(t))throw new Error("Expected private key: 0 < key < n");return t}function G9(e){return e instanceof et?(e.assertValidity(),e):et.fromHex(e)}function A6(e){if(e instanceof Qe)return e.assertValidity(),e;try{return Qe.fromDER(e)}catch{return Qe.fromCompact(e)}}function r2(e,t=!1){return et.fromPrivateKey(e).toRawBytes(t)}function I6(e){let t=e.length>Be?e.slice(0,Be):e;return Nr(t)}function Q9(e){let t=I6(e),r=N(t,Et.n);return B6(r<Y?t:r)}function B6(e){return Js(e)}function W9(e,t,r){if(e==null)throw new Error(`sign: expected valid message hash, not "${e}"`);let n=jn(e),i=g1(t),o=[B6(i),Q9(n)];if(r!=null){r===!0&&(r=Ce.randomBytes(Be));let u=jn(r);if(u.length!==Be)throw new Error(`sign: Expected ${Be} bytes of extra data`);o.push(u)}let s=Rr(...o),a=I6(n);return{seed:s,m:a,d:i}}function Y9(e,t){let{sig:r,recovery:n}=e,{der:i,recovered:o}=Object.assign({canonical:!0,der:!0},t),s=i?r.toDERRawBytes():r.toCompactRawBytes();return o?[s,n]:s}async function C6(e,t,r={}){let{seed:n,m:i,d:o}=W9(e,t,r.extraEntropy),s=new t2(O9,Zn);await s.reseed(n);let a;for(;!(a=H9(await s.generate(),i,o,r.canonical));)await s.reseed();return Y9(a,r)}var Z9={strict:!0};function _6(e,t,r,n=Z9){let i;try{i=A6(e),t=jn(t)}catch{return!1}let{r:o,s}=i;if(n.strict&&i.hasHighS())return!1;let a=e2(t),u;try{u=G9(r)}catch{return!1}let{n:c}=Et,f=Jn(s,c),l=N(a*f,c),d=N(o*f,c),p=et.BASE.multiplyAndAddUnsafe(u,l,d);return p?N(p.x,c)===o:!1}et.BASE._setWindowSize(8);var ie={node:U9,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0};var p1={},Ce={bytesToHex:Xn,hexToBytes:sn,concatBytes:Rr,mod:N,invert:Jn,isValidPrivateKey(e){try{return g1(e),!0}catch{return!1}},_bigintTo32Bytes:Js,_normalizePrivateKey:g1,hashToPrivateKey:e=>{e=jn(e);let t=Zn+8;if(e.length<t||e.length>1024)throw new Error("Expected valid bytes of private key as per FIPS 186");let r=N(Nr(e),Et.n-ht)+ht;return Js(r)},randomBytes:(e=32)=>{if(ie.web)return ie.web.getRandomValues(new Uint8Array(e));if(ie.node){let{randomBytes:t}=ie.node;return Uint8Array.from(t(e))}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>Ce.hashToPrivateKey(Ce.randomBytes(Zn+8)),precompute(e=8,t=et.BASE){let r=t===et.BASE?t:new et(t.x,t.y);return r._setWindowSize(e),r.multiply(O0),r},sha256:async(...e)=>{if(ie.web){let t=await ie.web.subtle.digest("SHA-256",Rr(...e));return new Uint8Array(t)}else if(ie.node){let{createHash:t}=ie.node,r=t("sha256");return e.forEach(n=>r.update(n)),Uint8Array.from(r.digest())}else throw new Error("The environment doesn't have sha256 function")},hmacSha256:async(e,...t)=>{if(ie.web){let r=await ie.web.subtle.importKey("raw",e,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),n=Rr(...t),i=await ie.web.subtle.sign("HMAC",r,n);return new Uint8Array(i)}else if(ie.node){let{createHmac:r}=ie.node,n=r("sha256",e);return t.forEach(i=>n.update(i)),Uint8Array.from(n.digest())}else throw new Error("The environment doesn't have hmac-sha256 function")},sha256Sync:void 0,hmacSha256Sync:void 0,taggedHash:async(e,...t)=>{let r=p1[e];if(r===void 0){let n=await Ce.sha256(Uint8Array.from(e,i=>i.charCodeAt(0)));r=Rr(n,n),p1[e]=r}return Ce.sha256(r,...t)},taggedHashSync:(e,...t)=>{if(typeof Yn!="function")throw new d1("sha256Sync is undefined, you need to set it");let r=p1[e];if(r===void 0){let n=Yn(Uint8Array.from(e,i=>i.charCodeAt(0)));r=Rr(n,n),p1[e]=r}return Yn(r,...t)},_JacobianPoint:J};Object.defineProperties(Ce,{sha256Sync:{configurable:!1,get(){return Yn},set(e){Yn||(Yn=e)}},hmacSha256Sync:{configurable:!1,get(){return M0},set(e){M0||(M0=e)}}});function an(e){if(isNaN(e)||e<=0)throw new C("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return Ce.randomBytes(e)}var un={};Lt(un,{jwkToPkcs1:()=>J9,jwkToPkix:()=>eh,pkcs1ToJwk:()=>j9,pkixToJwk:()=>th});var Kx=$(L0(),1),Vx=$(a1(),1),lr=$(nt(),1);function j9(e){let t=lr.default.asn1.fromDer(M(e,"ascii")),r=lr.default.pki.privateKeyFromAsn1(t);return{kty:"RSA",n:Ie(r.n),e:Ie(r.e),d:Ie(r.d),p:Ie(r.p),q:Ie(r.q),dp:Ie(r.dP),dq:Ie(r.dQ),qi:Ie(r.qInv),alg:"RS256"}}function J9(e){if(e.n==null||e.e==null||e.d==null||e.p==null||e.q==null||e.dp==null||e.dq==null||e.qi==null)throw new C("JWK was missing components","ERR_INVALID_PARAMETERS");let t=lr.default.pki.privateKeyToAsn1({n:ne(e.n),e:ne(e.e),d:ne(e.d),p:ne(e.p),q:ne(e.q),dP:ne(e.dp),dQ:ne(e.dq),qInv:ne(e.qi)});return xt(lr.default.asn1.toDer(t).getBytes(),"ascii")}function th(e){let t=lr.default.asn1.fromDer(M(e,"ascii")),r=lr.default.pki.publicKeyFromAsn1(t);return{kty:"RSA",n:Ie(r.n),e:Ie(r.e)}}function eh(e){if(e.n==null||e.e==null)throw new C("JWK was missing components","ERR_INVALID_PARAMETERS");let t=lr.default.pki.publicKeyToAsn1({n:ne(e.n),e:ne(e.e)});return xt(lr.default.asn1.toDer(t).getBytes(),"ascii")}var Gx=$(a1(),1),n2=$(nt(),1);function T6(e,t){return t.map(r=>ne(e[r]))}function R6(e){return n2.default.pki.setRsaPrivateKey(...T6(e,["n","e","d","p","q","dp","dq","qi"]))}function P6(e){return n2.default.pki.setRsaPublicKey(...T6(e,["n","e"]))}async function N6(e){let t=await Bt.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),r=await D6(t);return{privateKey:r[0],publicKey:r[1]}}async function i2(e){let r=[await Bt.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await rh(e)],n=await D6({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function L6(e,t){let r=await Bt.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await Bt.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,Uint8Array.from(t));return new Uint8Array(n,0,n.byteLength)}async function k6(e,t,r){let n=await Bt.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return await Bt.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,r)}async function D6(e){if(e.privateKey==null||e.publicKey==null)throw new C("Private and public key are required","ERR_INVALID_PARAMETERS");return await Promise.all([Bt.get().subtle.exportKey("jwk",e.privateKey),Bt.get().subtle.exportKey("jwk",e.publicKey)])}async function rh(e){return await Bt.get().subtle.importKey("jwk",{kty:e.kty,n:e.n,e:e.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function F6(e,t,r,n){let i=t?P6(e):R6(e),o=M(Uint8Array.from(r),"ascii"),s=n(o,i);return xt(s,"ascii")}function U6(e,t){return F6(e,!0,t,(r,n)=>n.encrypt(r))}function O6(e,t){return F6(e,!1,t,(r,n)=>n.decrypt(r))}async function t0(e,t){let n=await c1().encrypt(e,t);return Hr.encode(n)}var q0=class{constructor(t){this._key=t}async verify(t,r){return await k6(this._key,r,t)}marshal(){return un.jwkToPkix(this._key)}get bytes(){return Ee.encode({Type:ct.RSA,Data:this.marshal()}).subarray()}encrypt(t){return U6(this._key,t)}equals(t){return st(this.bytes,t.bytes)}async hash(){let{bytes:t}=await mt.digest(this.bytes);return t}},e0=class{constructor(t,r){this._key=t,this._publicKey=r}genSecret(){return an(16)}async sign(t){return await L6(this._key,t)}get public(){if(this._publicKey==null)throw new C("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new q0(this._publicKey)}decrypt(t){return O6(this._key,t)}marshal(){return un.jwkToPkcs1(this._key)}get bytes(){return Se.encode({Type:ct.RSA,Data:this.marshal()}).subarray()}equals(t){return st(this.bytes,t.bytes)}async hash(){let{bytes:t}=await mt.digest(this.bytes);return t}async id(){let t=await this.public.hash();return M(t,"base58btc")}async export(t,r="pkcs-8"){if(r==="pkcs-8"){let n=new V0.default.util.ByteBuffer(this.marshal()),i=V0.default.asn1.fromDer(n),o=V0.default.pki.privateKeyFromAsn1(i),s={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return V0.default.pki.encryptRsaPrivateKey(o,t,s)}else{if(r==="libp2p-key")return await t0(this.bytes,t);throw new C(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function ih(e){let t=un.pkcs1ToJwk(e),r=await i2(t);return new e0(r.privateKey,r.publicKey)}function oh(e){let t=un.pkixToJwk(e);return new q0(t)}async function sh(e){let t=await i2(e);return new e0(t.privateKey,t.publicKey)}async function ah(e){let t=await N6(e);return new e0(t.privateKey,t.publicKey)}var y2={};Lt(y2,{Ed25519PrivateKey:()=>fn,Ed25519PublicKey:()=>Q0,generateKeyPair:()=>_h,generateKeyPairFromSeed:()=>d2,unmarshalEd25519PrivateKey:()=>Bh,unmarshalEd25519PublicKey:()=>Ch});var uh=$(Hn(),1);var Kt=BigInt(0),Z=BigInt(1),Dr=BigInt(2),ch=BigInt(8),M6=BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),pt=Object.freeze({a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),P:BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),l:M6,n:M6,h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960")});var $6=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000"),z0=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),cv=BigInt("6853475219497561581579357271197624642482790079785650197046958215289687604742"),fh=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),lh=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),hh=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),ph=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),Q=class{constructor(t,r,n,i){this.x=t,this.y=r,this.z=n,this.t=i}static fromAffine(t){if(!(t instanceof yt))throw new TypeError("ExtendedPoint#fromAffine: expected Point");return t.equals(yt.ZERO)?Q.ZERO:new Q(t.x,t.y,Z,I(t.x*t.y))}static toAffineBatch(t){let r=gh(t.map(n=>n.z));return t.map((n,i)=>n.toAffine(r[i]))}static normalizeZ(t){return this.toAffineBatch(t).map(this.fromAffine)}equals(t){V6(t);let{x:r,y:n,z:i}=this,{x:o,y:s,z:a}=t,u=I(r*a),c=I(o*i),f=I(n*a),l=I(s*i);return u===c&&f===l}negate(){return new Q(I(-this.x),this.y,this.z,I(-this.t))}double(){let{x:t,y:r,z:n}=this,{a:i}=pt,o=I(t*t),s=I(r*r),a=I(Dr*I(n*n)),u=I(i*o),c=t+r,f=I(I(c*c)-o-s),l=u+s,d=l-a,p=u-s,h=I(f*d),y=I(l*p),g=I(f*p),m=I(d*l);return new Q(h,y,m,g)}add(t){V6(t);let{x:r,y:n,z:i,t:o}=this,{x:s,y:a,z:u,t:c}=t,f=I((n-r)*(a+s)),l=I((n+r)*(a-s)),d=I(l-f);if(d===Kt)return this.double();let p=I(i*Dr*c),h=I(o*Dr*u),y=h+p,g=l+f,m=h-p,x=I(y*d),S=I(g*m),L=I(y*m),T=I(d*g);return new Q(x,S,T,L)}subtract(t){return this.add(t.negate())}precomputeWindow(t){let r=1+256/t,n=[],i=this,o=i;for(let s=0;s<r;s++){o=i,n.push(o);for(let a=1;a<2**(t-1);a++)o=o.add(i),n.push(o);i=o.double()}return n}wNAF(t,r){!r&&this.equals(Q.BASE)&&(r=yt.BASE);let n=r&&r._WINDOW_SIZE||1;if(256%n)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let i=r&&f2.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=Q.normalizeZ(i),f2.set(r,i)));let o=Q.ZERO,s=Q.BASE,a=1+256/n,u=2**(n-1),c=BigInt(2**n-1),f=2**n,l=BigInt(n);for(let d=0;d<a;d++){let p=d*u,h=Number(t&c);t>>=l,h>u&&(h-=f,t+=Z);let y=p,g=p+Math.abs(h)-1,m=d%2!==0,x=h<0;h===0?s=s.add(K6(m,i[y])):o=o.add(K6(x,i[g]))}return Q.normalizeZ([o,s])[0]}multiply(t,r){return this.wNAF(x1(t,pt.l),r)}multiplyUnsafe(t){let r=x1(t,pt.l,!1),n=Q.BASE,i=Q.ZERO;if(r===Kt)return i;if(this.equals(i)||r===Z)return this;if(this.equals(n))return this.wNAF(r);let o=i,s=this;for(;r>Kt;)r&Z&&(o=o.add(s)),s=s.double(),r>>=Z;return o}isSmallOrder(){return this.multiplyUnsafe(pt.h).equals(Q.ZERO)}isTorsionFree(){let t=this.multiplyUnsafe(pt.l/Dr).double();return pt.l%Dr&&(t=t.add(this)),t.equals(Q.ZERO)}toAffine(t){let{x:r,y:n,z:i}=this,o=this.equals(Q.ZERO);t==null&&(t=o?ch:v1(i));let s=I(r*t),a=I(n*t),u=I(i*t);if(o)return yt.ZERO;if(u!==Z)throw new Error("invZ was invalid");return new yt(s,a)}fromRistrettoBytes(){a2()}toRistrettoBytes(){a2()}fromRistrettoHash(){a2()}};Q.BASE=new Q(pt.Gx,pt.Gy,Z,I(pt.Gx*pt.Gy));Q.ZERO=new Q(Kt,Z,Z,Kt);function K6(e,t){let r=t.negate();return e?r:t}function V6(e){if(!(e instanceof Q))throw new TypeError("ExtendedPoint expected")}function s2(e){if(!(e instanceof Zt))throw new TypeError("RistrettoPoint expected")}function a2(){throw new Error("Legacy method: switch to RistrettoPoint")}var Zt=class{constructor(t){this.ep=t}static calcElligatorRistrettoMap(t){let{d:r}=pt,n=I(z0*t*t),i=I((n+Z)*hh),o=BigInt(-1),s=I((o-r*n)*I(n+r)),{isValid:a,value:u}=h2(i,s),c=I(u*t);kr(c)||(c=I(-c)),a||(u=c),a||(o=n);let f=I(o*(n-Z)*ph-s),l=u*u,d=I((u+u)*s),p=I(f*fh),h=I(Z-l),y=I(Z+l);return new Q(I(d*y),I(h*p),I(p*y),I(d*h))}static hashToCurve(t){t=Fr(t,64);let r=u2(t.slice(0,32)),n=this.calcElligatorRistrettoMap(r),i=u2(t.slice(32,64)),o=this.calcElligatorRistrettoMap(i);return new Zt(n.add(o))}static fromHex(t){t=Fr(t,32);let{a:r,d:n}=pt,i="RistrettoPoint.fromHex: the hex is not valid encoding of RistrettoPoint",o=u2(t);if(!xh($0(o),t)||kr(o))throw new Error(i);let s=I(o*o),a=I(Z+r*s),u=I(Z-r*s),c=I(a*a),f=I(u*u),l=I(r*n*c-f),{isValid:d,value:p}=z6(I(l*f)),h=I(p*u),y=I(p*h*l),g=I((o+o)*h);kr(g)&&(g=I(-g));let m=I(a*y),x=I(g*m);if(!d||kr(x)||m===Kt)throw new Error(i);return new Zt(new Q(g,m,Z,x))}toRawBytes(){let{x:t,y:r,z:n,t:i}=this.ep,o=I(I(n+r)*I(n-r)),s=I(t*r),a=I(s*s),{value:u}=z6(I(o*a)),c=I(u*o),f=I(u*s),l=I(c*f*i),d;if(kr(i*l)){let h=I(r*z0),y=I(t*z0);t=h,r=y,d=I(c*lh)}else d=f;kr(t*l)&&(r=I(-r));let p=I((n-r)*d);return kr(p)&&(p=I(-p)),$0(p)}toHex(){return H0(this.toRawBytes())}toString(){return this.toHex()}equals(t){s2(t);let r=this.ep,n=t.ep,i=I(r.x*n.y)===I(r.y*n.x),o=I(r.y*n.y)===I(r.x*n.x);return i||o}add(t){return s2(t),new Zt(this.ep.add(t.ep))}subtract(t){return s2(t),new Zt(this.ep.subtract(t.ep))}multiply(t){return new Zt(this.ep.multiply(t))}multiplyUnsafe(t){return new Zt(this.ep.multiplyUnsafe(t))}};Zt.BASE=new Zt(Q.BASE);Zt.ZERO=new Zt(Q.ZERO);var f2=new WeakMap,yt=class{constructor(t,r){this.x=t,this.y=r}_setWindowSize(t){this._WINDOW_SIZE=t,f2.delete(this)}static fromHex(t,r=!0){let{d:n,P:i}=pt;t=Fr(t,32);let o=t.slice();o[31]=t[31]&-129;let s=G0(o);if(r&&s>=i)throw new Error("Expected 0 < hex < P");if(!r&&s>=$6)throw new Error("Expected 0 < hex < 2**256");let a=I(s*s),u=I(a-Z),c=I(n*a+Z),{isValid:f,value:l}=h2(u,c);if(!f)throw new Error("Point.fromHex: invalid y coordinate");let d=(l&Z)===Z;return(t[31]&128)!==0!==d&&(l=I(-l)),new yt(l,s)}static async fromPrivateKey(t){return(await w1(t)).point}toRawBytes(){let t=$0(this.y);return t[31]|=this.x&Z?128:0,t}toHex(){return H0(this.toRawBytes())}toX25519(){let{y:t}=this,r=I((Z+t)*v1(Z-t));return $0(r)}isTorsionFree(){return Q.fromAffine(this).isTorsionFree()}equals(t){return this.x===t.x&&this.y===t.y}negate(){return new yt(I(-this.x),this.y)}add(t){return Q.fromAffine(this).add(Q.fromAffine(t)).toAffine()}subtract(t){return this.add(t.negate())}multiply(t){return Q.fromAffine(this).multiply(t,this).toAffine()}};yt.BASE=new yt(pt.Gx,pt.Gy);yt.ZERO=new yt(Kt,Z);var cn=class{constructor(t,r){this.r=t,this.s=r,this.assertValidity()}static fromHex(t){let r=Fr(t,64),n=yt.fromHex(r.slice(0,32),!1),i=G0(r.slice(32,64));return new cn(n,i)}assertValidity(){let{r:t,s:r}=this;if(!(t instanceof yt))throw new Error("Expected Point instance");return x1(r,pt.l,!1),this}toRawBytes(){let t=new Uint8Array(64);return t.set(this.r.toRawBytes()),t.set($0(this.s),32),t}toHex(){return H0(this.toRawBytes())}};function q6(...e){if(!e.every(n=>n instanceof Uint8Array))throw new Error("Expected Uint8Array list");if(e.length===1)return e[0];let t=e.reduce((n,i)=>n+i.length,0),r=new Uint8Array(t);for(let n=0,i=0;n<e.length;n++){let o=e[n];r.set(o,i),i+=o.length}return r}var dh=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function H0(e){if(!(e instanceof Uint8Array))throw new Error("Uint8Array expected");let t="";for(let r=0;r<e.length;r++)t+=dh[e[r]];return t}function l2(e){if(typeof e!="string")throw new TypeError("hexToBytes: expected string, got "+typeof e);if(e.length%2)throw new Error("hexToBytes: received invalid unpadded hex");let t=new Uint8Array(e.length/2);for(let r=0;r<t.length;r++){let n=r*2,i=e.slice(n,n+2),o=Number.parseInt(i,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");t[r]=o}return t}function H6(e){let r=e.toString(16).padStart(64,"0");return l2(r)}function $0(e){return H6(e).reverse()}function kr(e){return(I(e)&Z)===Z}function G0(e){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");return BigInt("0x"+H0(Uint8Array.from(e).reverse()))}var yh=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function u2(e){return I(G0(e)&yh)}function I(e,t=pt.P){let r=e%t;return r>=Kt?r:t+r}function v1(e,t=pt.P){if(e===Kt||t<=Kt)throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);let r=I(e,t),n=t,i=Kt,o=Z,s=Z,a=Kt;for(;r!==Kt;){let c=n/r,f=n%r,l=i-s*c,d=o-a*c;n=r,r=f,i=s,o=a,s=l,a=d}if(n!==Z)throw new Error("invert: does not exist");return I(i,t)}function gh(e,t=pt.P){let r=new Array(e.length),n=e.reduce((o,s,a)=>s===Kt?o:(r[a]=o,I(o*s,t)),Z),i=v1(n,t);return e.reduceRight((o,s,a)=>s===Kt?o:(r[a]=I(o*r[a],t),I(o*s,t)),i),r}function We(e,t){let{P:r}=pt,n=e;for(;t-- >Kt;)n*=n,n%=r;return n}function mh(e){let{P:t}=pt,r=BigInt(5),n=BigInt(10),i=BigInt(20),o=BigInt(40),s=BigInt(80),u=e*e%t*e%t,c=We(u,Dr)*u%t,f=We(c,Z)*e%t,l=We(f,r)*f%t,d=We(l,n)*l%t,p=We(d,i)*d%t,h=We(p,o)*p%t,y=We(h,s)*h%t,g=We(y,s)*h%t,m=We(g,n)*l%t;return{pow_p_5_8:We(m,Dr)*e%t,b2:u}}function h2(e,t){let r=I(t*t*t),n=I(r*r*t),i=mh(e*n).pow_p_5_8,o=I(e*r*i),s=I(t*o*o),a=o,u=I(o*z0),c=s===e,f=s===I(-e),l=s===I(-e*z0);return c&&(o=a),(f||l)&&(o=u),kr(o)&&(o=I(-o)),{isValid:c||f,value:o}}function z6(e){return h2(Z,e)}function m1(e){return I(G0(e),pt.l)}function xh(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}function Fr(e,t){let r=e instanceof Uint8Array?Uint8Array.from(e):l2(e);if(typeof t=="number"&&r.length!==t)throw new Error(`Expected ${t} bytes`);return r}function x1(e,t,r=!0){if(!t)throw new TypeError("Specify max value");if(typeof e=="number"&&Number.isSafeInteger(e)&&(e=BigInt(e)),typeof e=="bigint"&&e<t){if(r){if(Kt<e)return e}else if(Kt<=e)return e}throw new TypeError("Expected valid scalar: 0 < scalar < max")}function vh(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}function wh(e){if(e=typeof e=="bigint"||typeof e=="number"?H6(x1(e,$6)):Fr(e),e.length!==32)throw new Error("Expected 32 bytes");return e}function bh(e){let t=vh(e.slice(0,32)),r=e.slice(32,64),n=m1(t),i=yt.BASE.multiply(n),o=i.toRawBytes();return{head:t,prefix:r,scalar:n,point:i,pointBytes:o}}var c2;async function w1(e){return bh(await Ur.sha512(wh(e)))}async function p2(e){return(await w1(e)).pointBytes}async function G6(e,t){e=Fr(e);let{prefix:r,scalar:n,pointBytes:i}=await w1(t),o=m1(await Ur.sha512(r,e)),s=yt.BASE.multiply(o),a=m1(await Ur.sha512(s.toRawBytes(),i,e)),u=I(o+a*n,pt.l);return new cn(s,u).toRawBytes()}function Eh(e,t,r){t=Fr(t),r instanceof yt||(r=yt.fromHex(r,!1));let{r:n,s:i}=e instanceof cn?e.assertValidity():cn.fromHex(e),o=Q.BASE.multiplyUnsafe(i);return{r:n,s:i,SB:o,pub:r,msg:t}}function Sh(e,t,r,n){let i=m1(n),o=Q.fromAffine(e).multiplyUnsafe(i);return Q.fromAffine(t).add(o).subtract(r).multiplyUnsafe(pt.h).equals(Q.ZERO)}async function Q6(e,t,r){let{r:n,SB:i,msg:o,pub:s}=Eh(e,t,r),a=await Ur.sha512(n.toRawBytes(),s.toRawBytes(),o);return Sh(s,n,i,a)}yt.BASE._setWindowSize(8);var Lr={node:uh,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0},Ur={bytesToHex:H0,hexToBytes:l2,concatBytes:q6,getExtendedPublicKey:w1,mod:I,invert:v1,TORSION_SUBGROUP:["0100000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a","0000000000000000000000000000000000000000000000000000000000000080","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05","ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85","0000000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa"],hashToPrivateScalar:e=>{if(e=Fr(e),e.length<40||e.length>1024)throw new Error("Expected 40-1024 bytes of private key as per FIPS 186");return I(G0(e),pt.l-Z)+Z},randomBytes:(e=32)=>{if(Lr.web)return Lr.web.getRandomValues(new Uint8Array(e));if(Lr.node){let{randomBytes:t}=Lr.node;return new Uint8Array(t(e).buffer)}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>Ur.randomBytes(32),sha512:async(...e)=>{let t=q6(...e);if(Lr.web){let r=await Lr.web.subtle.digest("SHA-512",t.buffer);return new Uint8Array(r)}else{if(Lr.node)return Uint8Array.from(Lr.node.createHash("sha512").update(t).digest());throw new Error("The environment doesn't have sha512 function")}},precompute(e=8,t=yt.BASE){let r=t.equals(yt.BASE)?t:new yt(t.x,t.y);return r._setWindowSize(e),r.multiply(Dr),r},sha512Sync:void 0};Object.defineProperties(Ur,{sha512Sync:{configurable:!1,get(){return c2},set(e){c2||(c2=e)}}});var r0=32,hr=64,b1=32;async function W6(){let e=Ur.randomPrivateKey(),t=await p2(e);return{privateKey:j6(e,t),publicKey:t}}async function Y6(e){if(e.length!==b1)throw new TypeError('"seed" must be 32 bytes in length.');if(!(e instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let t=e,r=await p2(t);return{privateKey:j6(t,r),publicKey:r}}async function Z6(e,t){let r=e.subarray(0,b1);return await G6(t,r)}async function X6(e,t,r){return await Q6(t,r,e)}function j6(e,t){let r=new Uint8Array(hr);for(let n=0;n<b1;n++)r[n]=e[n],r[b1+n]=t[n];return r}var Q0=class{constructor(t){this._key=n0(t,r0)}async verify(t,r){return await X6(this._key,r,t)}marshal(){return this._key}get bytes(){return Ee.encode({Type:ct.Ed25519,Data:this.marshal()}).subarray()}equals(t){return st(this.bytes,t.bytes)}async hash(){let{bytes:t}=await mt.digest(this.bytes);return t}},fn=class{constructor(t,r){this._key=n0(t,hr),this._publicKey=n0(r,r0)}async sign(t){return await Z6(this._key,t)}get public(){return new Q0(this._publicKey)}marshal(){return this._key}get bytes(){return Se.encode({Type:ct.Ed25519,Data:this.marshal()}).subarray()}equals(t){return st(this.bytes,t.bytes)}async hash(){let{bytes:t}=await mt.digest(this.bytes);return t}async id(){let t=vr.digest(this.public.bytes);return St.encode(t.bytes).substring(1)}async export(t,r="libp2p-key"){if(r==="libp2p-key")return await t0(this.bytes,t);throw new C(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Bh(e){if(e.length>hr){e=n0(e,hr+r0);let n=e.subarray(0,hr),i=e.subarray(hr,e.length);return new fn(n,i)}e=n0(e,hr);let t=e.subarray(0,hr),r=e.subarray(r0);return new fn(t,r)}function Ch(e){return e=n0(e,r0),new Q0(e)}async function _h(){let{privateKey:e,publicKey:t}=await W6();return new fn(e,t)}async function d2(e){let{privateKey:t,publicKey:r}=await Y6(e);return new fn(t,r)}function n0(e,t){if(e=Uint8Array.from(e??[]),e.length!==t)throw new C(`Key must be a Uint8Array of length ${t}, got ${e.length}`,"ERR_INVALID_KEY_TYPE");return e}var m2={};Lt(m2,{Secp256k1PrivateKey:()=>Y0,Secp256k1PublicKey:()=>W0,generateKeyPair:()=>Nh,unmarshalSecp256k1PrivateKey:()=>Rh,unmarshalSecp256k1PublicKey:()=>Ph});function J6(){return Ce.randomPrivateKey()}async function tu(e,t){let{digest:r}=await mt.digest(t);try{return await C6(r,e)}catch(n){throw new C(String(n),"ERR_INVALID_INPUT")}}async function eu(e,t,r){try{let{digest:n}=await mt.digest(r);return _6(t,n,e)}catch(n){throw new C(String(n),"ERR_INVALID_INPUT")}}function ru(e){return et.fromHex(e).toRawBytes(!0)}function nu(e){try{r2(e,!0)}catch(t){throw new C(String(t),"ERR_INVALID_PRIVATE_KEY")}}function g2(e){try{et.fromHex(e)}catch(t){throw new C(String(t),"ERR_INVALID_PUBLIC_KEY")}}function iu(e){try{return r2(e,!0)}catch(t){throw new C(String(t),"ERR_INVALID_PRIVATE_KEY")}}var W0=class{constructor(t){g2(t),this._key=t}async verify(t,r){return await eu(this._key,r,t)}marshal(){return ru(this._key)}get bytes(){return Ee.encode({Type:ct.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return st(this.bytes,t.bytes)}async hash(){let{bytes:t}=await mt.digest(this.bytes);return t}},Y0=class{constructor(t,r){this._key=t,this._publicKey=r??iu(t),nu(this._key),g2(this._publicKey)}async sign(t){return await tu(this._key,t)}get public(){return new W0(this._publicKey)}marshal(){return this._key}get bytes(){return Se.encode({Type:ct.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return st(this.bytes,t.bytes)}async hash(){let{bytes:t}=await mt.digest(this.bytes);return t}async id(){let t=await this.public.hash();return M(t,"base58btc")}async export(t,r="libp2p-key"){if(r==="libp2p-key")return await t0(this.bytes,t);throw new C(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Rh(e){return new Y0(e)}function Ph(e){return new W0(e)}async function Nh(){let e=J6();return new Y0(e)}var Ye={rsa:o2,ed25519:y2,secp256k1:m2};function x2(e){let t=Object.keys(Ye).join(" / ");return new C(`invalid or unsupported key type ${e}. Must be ${t}`,"ERR_UNSUPPORTED_KEY_TYPE")}function v2(e){if(e=e.toLowerCase(),e==="rsa"||e==="ed25519"||e==="secp256k1")return Ye[e];throw x2(e)}async function Lh(e,t){return await v2(e).generateKeyPair(t??2048)}async function kh(e,t,r){if(e.toLowerCase()!=="ed25519")throw new C("Seed key derivation is unimplemented for RSA or secp256k1","ERR_UNSUPPORTED_KEY_DERIVATION_TYPE");return await d2(t)}function Dh(e){let t=Ee.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case ct.RSA:return Ye.rsa.unmarshalRsaPublicKey(r);case ct.Ed25519:return Ye.ed25519.unmarshalEd25519PublicKey(r);case ct.Secp256k1:return Ye.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw x2(t.Type??"RSA")}}function Fh(e,t){return t=(t??"rsa").toLowerCase(),v2(t),e.bytes}async function ou(e){let t=Se.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case ct.RSA:return await Ye.rsa.unmarshalRsaPrivateKey(r);case ct.Ed25519:return Ye.ed25519.unmarshalEd25519PrivateKey(r);case ct.Secp256k1:return Ye.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw x2(t.Type??"RSA")}}function Uh(e,t){return t=(t??"rsa").toLowerCase(),v2(t),e.bytes}async function Oh(e,t){try{let i=await c6(e,t);return await ou(i)}catch{}let r=E1.default.pki.decryptRsaPrivateKey(e,t);if(r===null)throw new C("Cannot read the key, most likely the password is wrong or not a RSA key","ERR_CANNOT_DECRYPT_PEM");let n=E1.default.asn1.toDer(E1.default.pki.privateKeyToAsn1(r));return n=xt(n.getBytes(),"ascii"),await Ye.rsa.unmarshalRsaPrivateKey(n)}var Mh=$(Os(),1),Kh=$(Ct(),1);function Vh(e){return e[Symbol.asyncIterator]!=null}function qh(e){if(Vh(e))return(async()=>{let t=0;for await(let r of e)t++;return t})();{let t=0;for(let r of e)t++;return t}}var A1=qh;var I1=15,B1=class{constructor(t){let{peerRouting:r,routingTable:n,refreshInterval:i,refreshQueryTimeout:o,lan:s}=t;this.log=z(`libp2p:kad-dht:${s?"lan":"wan"}:routing-table:refresh`),this.peerRouting=r,this.routingTable=n,this.refreshInterval=i??3e5,this.refreshQueryTimeout=o??3e4,this.commonPrefixLengthRefreshedAt=[],this.refreshTable=this.refreshTable.bind(this)}async start(){this.log(`refreshing routing table every ${this.refreshInterval}ms`),this.refreshTable(!0)}async stop(){this.refreshTimeoutId!=null&&clearTimeout(this.refreshTimeoutId)}refreshTable(t=!1){this.log("refreshing routing table");let r=this._maxCommonPrefix(),n=this._getTrackedCommonPrefixLengthsForRefresh(r);this.log(`max common prefix length ${r}`),this.log(`tracked CPLs [ ${n.map(i=>i.toISOString()).join(", ")} ]`),Promise.all(n.map(async(i,o)=>{try{if(await this._refreshCommonPrefixLength(o,i,t),this._numPeersForCpl(r)===0){let s=Math.min(2*(o+1),n.length-1);for(let a=o+1;a<s+1;a++)try{await this._refreshCommonPrefixLength(a,i,t)}catch(u){this.log.error(u)}}}catch(s){this.log.error(s)}})).catch(i=>{this.log.error(i)}).then(()=>{this.refreshTimeoutId=setTimeout(this.refreshTable,this.refreshInterval),this.refreshTimeoutId.unref!=null&&this.refreshTimeoutId.unref()}).catch(i=>{this.log.error(i)})}async _refreshCommonPrefixLength(t,r,n){if(!n&&r.getTime()>Date.now()-this.refreshInterval){this.log("not running refresh for cpl %s as time since last refresh not above interval",t);return}let i=await this._generateRandomPeerId(t);this.log("starting refreshing cpl %s with key %p (routing table size was %s)",t,i,this.routingTable.size);let o=await A1(this.peerRouting.getClosestPeers(i.toBytes(),{signal:AbortSignal.timeout(this.refreshQueryTimeout)}));this.log(`found ${o} peers that were close to imaginary peer %p`,i),this.log("finished refreshing cpl %s with key %p (routing table size is now %s)",t,i,this.routingTable.size)}_getTrackedCommonPrefixLengthsForRefresh(t){t>I1&&(t=I1);let r=[];for(let n=0;n<=t;n++)r[n]=this.commonPrefixLengthRefreshedAt[n]??new Date;return r}async _generateRandomPeerId(t){if(this.routingTable.kb==null)throw new Error("Routing table not started");let r=an(2),n=(r[1]<<8)+r[0],i=await this._makePeerId(this.routingTable.kb.localNodeId,n,t);return Zr(i)}async _makePeerId(t,r,n){if(n>I1)throw new Error(`Cannot generate peer ID for common prefix length greater than ${I1}`);let s=new DataView(t.buffer,t.byteOffset,t.byteLength).getUint16(0,!1)^32768>>n,a=65535<<16-(n+1),u=s&a|r&~a,c=L4[u],f=new ArrayBuffer(34),l=new DataView(f,0,f.byteLength);return l.setUint8(0,mt.code),l.setUint8(1,32),l.setUint32(2,c,!1),new Uint8Array(l.buffer,l.byteOffset,l.byteLength)}_maxCommonPrefix(){let t=0;for(let r of this._prefixLengths())r>t&&(t=r);return t}_numPeersForCpl(t){let r=0;for(let n of this._prefixLengths())n===t&&r++;return r}*_prefixLengths(){if(this.routingTable.kb!=null)for(let{id:t}of this.routingTable.kb.toIterable()){let r=ar(this.routingTable.kb.localNodeId,t),n=0;for(let i of r)if(i===0)n++;else break;yield n}}};var C1=class{constructor(t){if(!(t>0)||t-1&t)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(t),this.mask=t-1,this.top=0,this.btm=0,this.next=null}push(t){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=t,this.top=this.top+1&this.mask,!0)}shift(){let t=this.buffer[this.btm];if(t!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,t}isEmpty(){return this.buffer[this.btm]===void 0}},i0=class{constructor(t={}){this.hwm=t.splitLimit??16,this.head=new C1(this.hwm),this.tail=this.head,this.size=0}calculateSize(t){return t?.byteLength!=null?t.byteLength:1}push(t){if(t?.value!=null&&(this.size+=this.calculateSize(t.value)),!this.head.push(t)){let r=this.head;this.head=r.next=new C1(2*this.head.buffer.length),this.head.push(t)}}shift(){let t=this.tail.shift();if(t===void 0&&this.tail.next!=null){let r=this.tail.next;this.tail.next=null,this.tail=r,t=this.tail.shift()}return t?.value!=null&&(this.size-=this.calculateSize(t.value)),t}isEmpty(){return this.head.isEmpty()}};function _1(e={}){return Hh(r=>{let n=r.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},e)}function Hh(e,t){t=t??{};let r=t.onEnd,n=new i0,i,o,s,a=async()=>n.isEmpty()?s?{done:!0}:await new Promise((y,g)=>{o=m=>{o=null,n.push(m);try{y(e(n))}catch(x){g(x)}return i}}):e(n),u=y=>o!=null?o(y):(n.push(y),i),c=y=>(n=new i0,o!=null?o({error:y}):(n.push({error:y}),i)),f=y=>{if(s)return i;if(t?.objectMode!==!0&&y?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return u({done:!1,value:y})},l=y=>s?i:(s=!0,y!=null?c(y):u({done:!0})),d=()=>(n=new i0,l(),{done:!0}),p=y=>(l(y),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:a,return:d,throw:p,push:f,end:l,get readableLength(){return n.size}},r==null)return i;let h=i;return i={[Symbol.asyncIterator](){return this},next(){return h.next()},throw(y){return h.throw(y),r!=null&&(r(y),r=void 0),{done:!0}},return(){return h.return(),r!=null&&(r(),r=void 0),{done:!0}},push:f,end(y){return h.end(y),r!=null&&(r(y),r=void 0),i},get readableLength(){return h.readableLength}},i}function Gh(e){return e[Symbol.asyncIterator]!=null}function Qh(...e){let t=[];for(let r of e)Gh(r)||t.push(r);return t.length===e.length?function*(){for(let r of t)yield*r}():async function*(){let r=_1({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(e.map(async n=>{for await(let i of n)r.push(i)})),r.end()}catch(n){r.end(n)}}),yield*r}()}var _e=Qh;function Te(e,...t){if(e==null)throw new Error("Empty pipeline");if(w2(e)){let n=e;e=()=>n.source}else if(au(e)||su(e)){let n=e;e=()=>n}let r=[e,...t];if(r.length>1&&w2(r[r.length-1])&&(r[r.length-1]=r[r.length-1].sink),r.length>2)for(let n=1;n<r.length-1;n++)w2(r[n])&&(r[n]=Yh(r[n]));return Wh(...r)}var Wh=(...e)=>{let t;for(;e.length>0;)t=e.shift()(t);return t},su=e=>e?.[Symbol.asyncIterator]!=null,au=e=>e?.[Symbol.iterator]!=null,w2=e=>e==null?!1:e.sink!=null&&e.source!=null,Yh=e=>t=>{let r=e.sink(t);if(r?.then!=null){let n=_1({objectMode:!0});r.then(()=>{n.end()},s=>{n.end(s)});let i,o=e.source;if(su(o))i=async function*(){yield*o,n.end()};else if(au(o))i=function*(){yield*o,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return _e(n,i())}return e.source};var cu=Symbol.for("@achingbrain/uint8arraylist");function uu(e,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let r=0;for(let n of e){let i=r+n.byteLength;if(t<i)return{buf:n,index:t-r};r=i}throw new RangeError("index is out of bounds")}function T1(e){return!!e?.[cu]}var Ze=class{constructor(...t){Object.defineProperty(this,cu,{value:!0}),this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let r=0;for(let n of t)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(T1(n))r+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}prepend(...t){this.prependAll(t)}prependAll(t){let r=0;for(let n of t.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(T1(n))r+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}get(t){let r=uu(this.bufs,t);return r.buf[r.index]}set(t,r){let n=uu(this.bufs,t);n.buf[n.index]=r}write(t,r=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(r+n,t[n]);else if(T1(t))for(let n=0;n<t.length;n++)this.set(r+n,t.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(t){if(t=Math.trunc(t),!(Number.isNaN(t)||t<=0)){if(t===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,r){let{bufs:n,length:i}=this._subList(t,r);return ut(n,i)}subarray(t,r){let{bufs:n,length:i}=this._subList(t,r);return n.length===1?n[0]:ut(n,i)}sublist(t,r){let{bufs:n,length:i}=this._subList(t,r),o=new Ze;return o.length=i,o.bufs=n,o}_subList(t,r){if(t=t??0,r=r??this.length,t<0&&(t=this.length+t),r<0&&(r=this.length+r),t<0||r>this.length)throw new RangeError("index is out of bounds");if(t===r)return{bufs:[],length:0};if(t===0&&r===this.length)return{bufs:[...this.bufs],length:this.length};let n=[],i=0;for(let o=0;o<this.bufs.length;o++){let s=this.bufs[o],a=i,u=a+s.byteLength;if(i=u,t>=u)continue;let c=t>=a&&t<u,f=r>a&&r<=u;if(c&&f){if(t===a&&r===u){n.push(s);break}let l=t-a;n.push(s.subarray(l,l+(r-t)));break}if(c){if(t===0){n.push(s);continue}n.push(s.subarray(t-a));continue}if(f){if(r===u){n.push(s);break}n.push(s.subarray(0,r-a));break}n.push(s)}return{bufs:n,length:r-t}}indexOf(t,r=0){if(!T1(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=t instanceof Uint8Array?t:t.subarray();if(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),t.length===0)return r>this.length?this.length:r;let i=n.byteLength;if(i===0)throw new TypeError("search must be at least 1 byte long");let o=256,s=new Int32Array(o);for(let l=0;l<o;l++)s[l]=-1;for(let l=0;l<i;l++)s[n[l]]=l;let a=s,u=this.byteLength-n.byteLength,c=n.byteLength-1,f;for(let l=r;l<=u;l+=f){f=0;for(let d=c;d>=0;d--){let p=this.get(l+d);if(n[d]!==p){f=Math.max(1,d-a[p]);break}}if(f===0)return l}return-1}getInt8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(t,r){let n=jt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,t)}getInt16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(t,r,n){let i=er(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,r,n),this.write(i,t)}getInt32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(t,r,n){let i=er(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,r,n),this.write(i,t)}getBigInt64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(t,r,n){let i=er(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,r,n),this.write(i,t)}getUint8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(t,r){let n=jt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,t)}getUint16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(t,r,n){let i=er(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,r,n),this.write(i,t)}getUint32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(t,r,n){let i=er(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,r,n),this.write(i,t)}getBigUint64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(t,r,n){let i=er(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,r,n),this.write(i,t)}getFloat32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(t,r,n){let i=er(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,r,n),this.write(i,t)}getFloat64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(t,r,n){let i=er(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,r,n),this.write(i,t)}equals(t){if(t==null||!(t instanceof Ze)||t.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!st(this.bufs[r],t.bufs[r]))return!1;return!0}static fromUint8Arrays(t,r){let n=new Ze;return n.bufs=t,r==null&&(r=t.reduce((i,o)=>i+o.byteLength,0)),n.length=r,n}};function R1(e){return e instanceof Uint8Array?{get(t){return e[t]},set(t,r){e[t]=r}}:{get(t){return e.get(t)},set(t,r){e.set(t,r)}}}var fu=4294967296,oe=class{constructor(t=0,r=0){this.hi=t,this.lo=r}toBigInt(t){if(t===!0)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(BigInt(r)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toNumber(t){return Number(this.toBigInt(t))}zzDecode(){let t=-(this.lo&1),r=((this.lo>>>1|this.hi<<31)^t)>>>0,n=(this.hi>>>1^t)>>>0;return new oe(n,r)}zzEncode(){let t=this.hi>>31,r=((this.hi<<1|this.lo>>>31)^t)>>>0,n=(this.lo<<1^t)>>>0;return new oe(r,n)}toBytes(t,r=0){let n=R1(t);for(;this.hi>0;)n.set(r++,this.lo&127|128),this.lo=(this.lo>>>7|this.hi<<25)>>>0,this.hi>>>=7;for(;this.lo>127;)n.set(r++,this.lo&127|128),this.lo=this.lo>>>7;n.set(r++,this.lo)}static fromBigInt(t){if(t===0n)return new oe;let r=t<0;r&&(t=-t);let n=Number(t>>32n)|0,i=Number(t-(BigInt(n)<<32n))|0;return r&&(n=~n>>>0,i=~i>>>0,++i>fu&&(i=0,++n>fu&&(n=0))),new oe(n,i)}static fromNumber(t){if(t===0)return new oe;let r=t<0;r&&(t=-t);let n=t>>>0,i=(t-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new oe(i,n)}static fromBytes(t,r=0){let n=R1(t),i=new oe,o=0;if(t.length-r>4){for(;o<4;++o)if(i.lo=(i.lo|(n.get(r)&127)<<o*7)>>>0,n.get(r++)<128)return i;if(i.lo=(i.lo|(n.get(r)&127)<<28)>>>0,i.hi=(i.hi|(n.get(r)&127)>>4)>>>0,n.get(r++)<128)return i;o=0}else for(;o<4;++o){if(r>=t.length)throw RangeError(`index out of range: ${r} > ${t.length}`);if(i.lo=(i.lo|(n.get(r)&127)<<o*7)>>>0,n.get(r++)<128)return i}if(t.length-r>4){for(;o<5;++o)if(i.hi=(i.hi|(n.get(r)&127)<<o*7+3)>>>0,n.get(r++)<128)return i}else if(r<t.byteLength)for(;o<5;++o){if(r>=t.length)throw RangeError(`index out of range: ${r} > ${t.length}`);if(i.hi=(i.hi|(n.get(r)&127)<<o*7+3)>>>0,n.get(r++)<128)return i}throw RangeError("invalid varint encoding")}};var Zh=Math.pow(2,7),Xh=Math.pow(2,14),jh=Math.pow(2,21),Jh=Math.pow(2,28),tp=Math.pow(2,35),ep=Math.pow(2,42),rp=Math.pow(2,49),np=Math.pow(2,56),ip=Math.pow(2,63),ln={encodingLength(e){return e<Zh?1:e<Xh?2:e<jh?3:e<Jh?4:e<tp?5:e<ep?6:e<rp?7:e<np?8:e<ip?9:10},encode(e,t,r=0){if(Number.MAX_SAFE_INTEGER!=null&&e>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return t==null&&(t=jt(ln.encodingLength(e))),oe.fromNumber(e).toBytes(t,r),t},decode(e,t=0){return oe.fromBytes(e,t).toNumber(!0)}};function P1(e){return e[Symbol.asyncIterator]!=null}var N1=e=>{let t=ln.encodingLength(e),r=jt(t);return ln.encode(e,r),N1.bytes=t,r};N1.bytes=0;function hn(e,t){t=t??{};let r=t.lengthEncoder??N1;function*n(i){let o=r(i.byteLength);o instanceof Uint8Array?yield o:yield*o,i instanceof Uint8Array?yield i:yield*i}return P1(e)?async function*(){for await(let i of e)yield*n(i)}():function*(){for(let i of e)yield*n(i)}()}hn.single=(e,t)=>{t=t??{};let r=t.lengthEncoder??N1;return new Ze(r(e.byteLength),e)};var o0=$(pu(),1);var sp=8,ap=1024*1024*4,pn;(function(e){e[e.LENGTH=0]="LENGTH",e[e.DATA=1]="DATA"})(pn||(pn={}));var b2=e=>{let t=ln.decode(e);return b2.bytes=ln.encodingLength(t),t};b2.bytes=0;function dn(e,t){let r=new Ze,n=pn.LENGTH,i=-1,o=t?.lengthDecoder??b2,s=t?.maxLengthLength??sp,a=t?.maxDataLength??ap;function*u(){for(;r.byteLength>0;){if(n===pn.LENGTH)try{if(i=o(r),i<0)throw(0,o0.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,o0.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let c=o.bytes;r.consume(c),t?.onLength!=null&&t.onLength(i),n=pn.DATA}catch(c){if(c instanceof RangeError){if(r.byteLength>s)throw(0,o0.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw c}if(n===pn.DATA){if(r.byteLength<i)break;let c=r.sublist(0,i);r.consume(i),t?.onData!=null&&t.onData(c),yield c,n=pn.LENGTH}}}return P1(e)?async function*(){for await(let c of e)r.append(c),yield*u();if(r.byteLength>0)throw(0,o0.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let c of e)r.append(c),yield*u();if(r.byteLength>0)throw(0,o0.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}dn.fromReader=(e,t)=>{let r=1,n=async function*(){for(;;)try{let{done:o,value:s}=await e.next(r);if(o===!0)return;s!=null&&(yield s)}catch(o){if(o.code==="ERR_UNDER_READ")return{done:!0,value:null};throw o}finally{r=1}}();return dn(n,{...t??{},onLength:o=>{r=o}})};function up(e){return e[Symbol.asyncIterator]!=null}function cp(e){if(up(e))return(async()=>{for await(let t of e);})();for(let t of e);}var Z0=cp;function fp(e){return e[Symbol.asyncIterator]!=null}function lp(e){if(fp(e))return(async()=>{for await(let t of e)return t})();for(let t of e)return t}var yu=lp;var gu=Y3,hp=Z3,E2=function(e){let t=0;if(e=e.toString().trim(),gu(e)){let r=new Uint8Array(t+4);return e.split(/\./g).forEach(n=>{r[t++]=parseInt(n,10)&255}),r}if(hp(e)){let r=e.split(":",8),n;for(n=0;n<r.length;n++){let o=gu(r[n]),s;o&&(s=E2(r[n]),r[n]=M(s.slice(0,2),"base16")),s!=null&&++n<8&&r.splice(n,0,M(s.slice(2,4),"base16"))}if(r[0]==="")for(;r.length<8;)r.unshift("0");else if(r[r.length-1]==="")for(;r.length<8;)r.push("0");else if(r.length<8){for(n=0;n<r.length&&r[n]!=="";n++);let o=[n,1];for(n=9-r.length;n>0;n--)o.push("0");r.splice.apply(r,o)}let i=new Uint8Array(t+16);for(n=0;n<r.length;n++){let o=parseInt(r[n],16);i[t++]=o>>8&255,i[t++]=o&255}return i}throw new Error("invalid ip address")},mu=function(e,t=0,r){t=~~t,r=r??e.length-t;let n=new DataView(e.buffer);if(r===4){let i=[];for(let o=0;o<r;o++)i.push(e[t+o]);return i.join(".")}if(r===16){let i=[];for(let o=0;o<r;o+=2)i.push(n.getUint16(t+o).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var X0={},S2={},dp=[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,-1,"ip6zone"],[43,8,"ipcidr"],[53,-1,"dns",!0],[54,-1,"dns4",!0],[55,-1,"dns6",!0],[56,-1,"dnsaddr",!0],[132,16,"sctp"],[273,16,"udp"],[275,0,"p2p-webrtc-star"],[276,0,"p2p-webrtc-direct"],[277,0,"p2p-stardust"],[280,0,"webrtc-direct"],[281,0,"webrtc"],[290,0,"p2p-circuit"],[301,0,"udt"],[302,0,"utp"],[400,-1,"unix",!1,!0],[421,-1,"ipfs"],[421,-1,"p2p"],[443,0,"https"],[444,96,"onion"],[445,296,"onion3"],[446,-1,"garlic64"],[448,0,"tls"],[449,-1,"sni"],[460,0,"quic"],[461,0,"quic-v1"],[465,0,"webtransport"],[466,-1,"certhash"],[477,0,"ws"],[478,0,"wss"],[479,0,"p2p-websocket-star"],[480,0,"http"],[777,-1,"memory"]];dp.forEach(e=>{let t=yp(...e);S2[t.code]=t,X0[t.name]=t});function yp(e,t,r,n,i){return{code:e,size:t,name:r,resolvable:!!n,path:!!i}}function ot(e){if(typeof e=="number"){if(S2[e]!=null)return S2[e];throw new Error(`no protocol with code: ${e}`)}else if(typeof e=="string"){if(X0[e]!=null)return X0[e];throw new Error(`no protocol with name: ${e}`)}throw new Error(`invalid protocol id type: ${typeof e}`)}var Xe=$(j0(),1);var Mw=parseInt("0xFFFF",16),Kw=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);var mb=ot("ip4"),xb=ot("ip6"),vb=ot("ipcidr");function Lu(e,t){switch(ot(e).code){case 4:case 41:return kp(t);case 42:return Pu(t);case 6:case 273:case 33:case 132:return Du(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Pu(t);case 421:return Op(t);case 444:return Nu(t);case 445:return Nu(t);case 466:return Up(t);default:return M(t,"base16")}}function ku(e,t){switch(ot(e).code){case 4:return Tu(t);case 41:return Tu(t);case 42:return Ru(t);case 6:case 273:case 33:case 132:return C2(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Ru(t);case 421:return Dp(t);case 444:return Mp(t);case 445:return Kp(t);case 466:return Fp(t);default:return xt(t,"base16")}}var B2=Object.values(wr).map(e=>e.decoder),Lp=function(){let e=B2[0].or(B2[1]);return B2.slice(2).forEach(t=>e=e.or(t)),e}();function Tu(e){if(!Nn(e))throw new Error("invalid ip address");return E2(e)}function kp(e){let t=mu(e,0,e.length);if(t==null)throw new Error("ipBuff is required");if(!Nn(t))throw new Error("invalid ip address");return t}function C2(e){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,e),new Uint8Array(t)}function Du(e){return new DataView(e.buffer).getUint16(e.byteOffset)}function Ru(e){let t=xt(e),r=Uint8Array.from(Xe.default.encode(t.length));return ut([r,t],r.length+t.length)}function Pu(e){let t=Xe.default.decode(e);if(e=e.slice(Xe.default.decode.bytes),e.length!==t)throw new Error("inconsistent lengths");return M(e)}function Dp(e){let t;e[0]==="Q"||e[0]==="1"?t=zr(St.decode(`z${e}`)).bytes:t=tt.parse(e).multihash.bytes;let r=Uint8Array.from(Xe.default.encode(t.length));return ut([r,t],r.length+t.length)}function Fp(e){let t=Lp.decode(e),r=Uint8Array.from(Xe.default.encode(t.length));return ut([r,t],r.length+t.length)}function Up(e){let t=Xe.default.decode(e),r=e.slice(Xe.default.decode.bytes);if(r.length!==t)throw new Error("inconsistent lengths");return"u"+M(r,"base64url")}function Op(e){let t=Xe.default.decode(e),r=e.slice(Xe.default.decode.bytes);if(r.length!==t)throw new Error("inconsistent lengths");return M(r,"base58btc")}function Mp(e){let t=e.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==16)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion address.`);let r=ge.decode("b"+t[0]),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=C2(n);return ut([r,i],r.length+i.length)}function Kp(e){let t=e.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==56)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion3 address.`);let r=ge.decode(`b${t[0]}`),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=C2(n);return ut([r,i],r.length+i.length)}function Nu(e){let t=e.slice(0,e.length-2),r=e.slice(e.length-2),n=M(t,"base32"),i=Du(r);return`${n}:${i}`}var s0=$(j0(),1);function Vp(e){let t=[],r=e.split("/").slice(1);if(r.length===1&&r[0]==="")return[];for(let n=0;n<r.length;n++){let i=r[n],o=ot(i);if(o.size===0){t.push([i]);continue}if(n++,n>=r.length)throw Uu("invalid address: "+e);if(o.path===!0){t.push([i,N2(r.slice(n).join("/"))]);break}t.push([i,r[n]])}return t}function qp(e){let t=[];return e.map(r=>{let n=D1(r);return t.push(n.name),r.length>1&&r[1]!=null&&t.push(r[1]),null}),N2(t.join("/"))}function zp(e){return e.map(t=>{Array.isArray(t)||(t=[t]);let r=D1(t);return t.length>1?[r.code,ku(r.code,t[1])]:[r.code]})}function _2(e){return e.map(t=>{let r=D1(t);return t[1]!=null?[r.code,Lu(r.code,t[1])]:[r.code]})}function T2(e){return k1(ut(e.map(t=>{let r=D1(t),n=Uint8Array.from(s0.default.encode(r.code));return t.length>1&&t[1]!=null&&(n=ut([n,t[1]])),n})))}function R2(e,t){return e.size>0?e.size/8:e.size===0?0:s0.default.decode(t)+(s0.default.decode.bytes??0)}function L1(e){let t=[],r=0;for(;r<e.length;){let n=s0.default.decode(e,r),i=s0.default.decode.bytes??0,o=ot(n),s=R2(o,e.slice(r+i));if(s===0){t.push([n]),r+=i;continue}let a=e.slice(r+i,r+i+s);if(r+=s+i,r>e.length)throw Uu("Invalid address Uint8Array: "+M(e,"base16"));t.push([n,a])}return t}function P2(e){let t=L1(e),r=_2(t);return qp(r)}function $p(e){e=N2(e);let t=Vp(e),r=zp(t);return T2(r)}function Fu(e){return $p(e)}function k1(e){let t=Hp(e);if(t!=null)throw t;return Uint8Array.from(e)}function Hp(e){try{L1(e)}catch(t){return t}}function N2(e){return"/"+e.trim().split("/").filter(t=>t).join("/")}function Uu(e){return new Error("Error parsing address: "+e)}function D1(e){return ot(e[0])}var k2=$(j0(),1);var pr=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},a0=function(e,t,r,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(e,r):i?i.value=r:t.set(e,r),r},J0,ti,ei,Or,Ou,Qp=Symbol.for("nodejs.util.inspect.custom"),Wp=[ot("dns").code,ot("dns4").code,ot("dns6").code,ot("dnsaddr").code],Yp=new Map,Mu=Symbol.for("@multiformats/js-multiaddr/multiaddr");function Zp(e){return!!e?.[Mu]}var dr=class{constructor(t){if(J0.set(this,void 0),ti.set(this,void 0),ei.set(this,void 0),Or.set(this,void 0),this[Ou]=!0,t==null&&(t=""),t instanceof Uint8Array)this.bytes=k1(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);this.bytes=Fu(t)}else if(Zp(t))this.bytes=k1(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr")}toString(){return pr(this,J0,"f")==null&&a0(this,J0,P2(this.bytes),"f"),pr(this,J0,"f")}toJSON(){return this.toString()}toOptions(){let t,r,n,i,o="",s=ot("tcp"),a=ot("udp"),u=ot("ip4"),c=ot("ip6"),f=ot("dns6"),l=ot("ip6zone");for(let[p,h]of this.stringTuples())p===l.code&&(o=`%${h??""}`),Wp.includes(p)&&(r=s.name,i=443,n=`${h??""}${o}`,t=p===f.code?6:4),(p===s.code||p===a.code)&&(r=ot(p).name,i=parseInt(h??"")),(p===u.code||p===c.code)&&(r=ot(p).name,n=`${h??""}${o}`,t=p===c.code?6:4);if(t==null||r==null||n==null||i==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:t,host:n,transport:r,port:i}}protos(){return this.protoCodes().map(t=>Object.assign({},ot(t)))}protoCodes(){let t=[],r=this.bytes,n=0;for(;n<r.length;){let i=k2.default.decode(r,n),o=k2.default.decode.bytes??0,s=ot(i),a=R2(s,r.slice(n+o));n+=a+o,t.push(i)}return t}protoNames(){return this.protos().map(t=>t.name)}tuples(){return pr(this,ti,"f")==null&&a0(this,ti,L1(this.bytes),"f"),pr(this,ti,"f")}stringTuples(){return pr(this,ei,"f")==null&&a0(this,ei,_2(this.tuples()),"f"),pr(this,ei,"f")}encapsulate(t){return t=new dr(t),new dr(this.toString()+t.toString())}decapsulate(t){let r=t.toString(),n=this.toString(),i=n.lastIndexOf(r);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new dr(n.slice(0,i))}decapsulateCode(t){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===t)return new dr(T2(r.slice(0,n)));return this}getPeerId(){try{let r=this.stringTuples().filter(n=>n[0]===X0.ipfs.code).pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?M(St.decode(`z${n}`),"base58btc"):M(tt.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){if(pr(this,Or,"f")===void 0)try{a0(this,Or,this.stringTuples().filter(t=>ot(t[0]).path===!0)[0][1],"f"),pr(this,Or,"f")==null&&a0(this,Or,null,"f")}catch{a0(this,Or,null,"f")}return pr(this,Or,"f")}equals(t){return st(this.bytes,t.bytes)}async resolve(t){let r=this.protos().find(o=>o.resolvable);if(r==null)return[this];let n=Yp.get(r.name);if(n==null)throw new C(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,t)).map(o=>new dr(o))}nodeAddress(){let t=this.toOptions();if(t.transport!=="tcp"&&t.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${t.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:t.family,address:t.host,port:t.port}}isThinWaistAddress(t){let r=(t??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[(J0=new WeakMap,ti=new WeakMap,ei=new WeakMap,Or=new WeakMap,Ou=Mu,Qp)](){return`Multiaddr(${P2(this.bytes)})`}};function L2(e){return new dr(e)}var Ku;(function(e){let t;e.codec=()=>(t==null&&(t=Me((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.key!=null&&(n.uint32(10),n.bytes(r.key)),r.value!=null&&(n.uint32(18),n.bytes(r.value)),r.author!=null&&(n.uint32(26),n.bytes(r.author)),r.signature!=null&&(n.uint32(34),n.bytes(r.signature)),r.timeReceived!=null&&(n.uint32(42),n.string(r.timeReceived)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.key=r.bytes();break;case 2:i.value=r.bytes();break;case 3:i.author=r.bytes();break;case 4:i.signature=r.bytes();break;case 5:i.timeReceived=r.string();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>Oe(r,e.codec()),e.decode=r=>Ue(r,e.codec())})(Ku||(Ku={}));var Mr;(function(e){let t;(function(a){a.PUT_VALUE="PUT_VALUE",a.GET_VALUE="GET_VALUE",a.ADD_PROVIDER="ADD_PROVIDER",a.GET_PROVIDERS="GET_PROVIDERS",a.FIND_NODE="FIND_NODE",a.PING="PING"})(t=e.MessageType||(e.MessageType={}));let r;(function(a){a[a.PUT_VALUE=0]="PUT_VALUE",a[a.GET_VALUE=1]="GET_VALUE",a[a.ADD_PROVIDER=2]="ADD_PROVIDER",a[a.GET_PROVIDERS=3]="GET_PROVIDERS",a[a.FIND_NODE=4]="FIND_NODE",a[a.PING=5]="PING"})(r||(r={})),function(a){a.codec=()=>Rn(r)}(t=e.MessageType||(e.MessageType={}));let n;(function(a){a.NOT_CONNECTED="NOT_CONNECTED",a.CONNECTED="CONNECTED",a.CAN_CONNECT="CAN_CONNECT",a.CANNOT_CONNECT="CANNOT_CONNECT"})(n=e.ConnectionType||(e.ConnectionType={}));let i;(function(a){a[a.NOT_CONNECTED=0]="NOT_CONNECTED",a[a.CONNECTED=1]="CONNECTED",a[a.CAN_CONNECT=2]="CAN_CONNECT",a[a.CANNOT_CONNECT=3]="CANNOT_CONNECT"})(i||(i={})),function(a){a.codec=()=>Rn(i)}(n=e.ConnectionType||(e.ConnectionType={}));let o;(function(a){let u;a.codec=()=>(u==null&&(u=Me((c,f,l={})=>{if(l.lengthDelimited!==!1&&f.fork(),c.id!=null&&(f.uint32(10),f.bytes(c.id)),c.addrs!=null)for(let d of c.addrs)f.uint32(18),f.bytes(d);c.connection!=null&&(f.uint32(24),e.ConnectionType.codec().encode(c.connection,f)),l.lengthDelimited!==!1&&f.ldelim()},(c,f)=>{let l={addrs:[]},d=f==null?c.len:c.pos+f;for(;c.pos<d;){let p=c.uint32();switch(p>>>3){case 1:l.id=c.bytes();break;case 2:l.addrs.push(c.bytes());break;case 3:l.connection=e.ConnectionType.codec().decode(c);break;default:c.skipType(p&7);break}}return l})),u),a.encode=c=>Oe(c,a.codec()),a.decode=c=>Ue(c,a.codec())})(o=e.Peer||(e.Peer={}));let s;e.codec=()=>(s==null&&(s=Me((a,u,c={})=>{if(c.lengthDelimited!==!1&&u.fork(),a.type!=null&&(u.uint32(8),e.MessageType.codec().encode(a.type,u)),a.clusterLevelRaw!=null&&(u.uint32(80),u.int32(a.clusterLevelRaw)),a.key!=null&&(u.uint32(18),u.bytes(a.key)),a.record!=null&&(u.uint32(26),u.bytes(a.record)),a.closerPeers!=null)for(let f of a.closerPeers)u.uint32(66),e.Peer.codec().encode(f,u);if(a.providerPeers!=null)for(let f of a.providerPeers)u.uint32(74),e.Peer.codec().encode(f,u);c.lengthDelimited!==!1&&u.ldelim()},(a,u)=>{let c={closerPeers:[],providerPeers:[]},f=u==null?a.len:a.pos+u;for(;a.pos<f;){let l=a.uint32();switch(l>>>3){case 1:c.type=e.MessageType.codec().decode(a);break;case 10:c.clusterLevelRaw=a.int32();break;case 2:c.key=a.bytes();break;case 3:c.record=a.bytes();break;case 8:c.closerPeers.push(e.Peer.codec().decode(a,a.uint32()));break;case 9:c.providerPeers.push(e.Peer.codec().decode(a,a.uint32()));break;default:a.skipType(l&7);break}}return c})),s),e.encode=a=>Oe(a,e.codec()),e.decode=a=>Ue(a,e.codec())})(Mr||(Mr={}));var _t=Mr.MessageType,Xp=Mr.ConnectionType,zu=Object.keys(_t),gt=class{constructor(t,r,n){if(!(r instanceof Uint8Array))throw new Error("Key must be a Uint8Array");this.type=t,this.key=r,this.clusterLevelRaw=n,this.closerPeers=[],this.providerPeers=[],this.record=void 0}get clusterLevel(){let t=this.clusterLevelRaw-1;return t<0?0:t}set clusterLevel(t){this.clusterLevelRaw=t}serialize(){return Mr.encode({key:this.key,type:this.type,clusterLevelRaw:this.clusterLevelRaw,closerPeers:this.closerPeers.map(Vu),providerPeers:this.providerPeers.map(Vu),record:this.record==null?void 0:this.record.serialize().subarray()})}static deserialize(t){let r=Mr.decode(t),n=new gt(r.type??Mr.MessageType.PUT_VALUE,r.key??Uint8Array.from([]),r.clusterLevelRaw??0);return n.closerPeers=r.closerPeers.map(qu),n.providerPeers=r.providerPeers.map(qu),r.record?.length!=null&&(n.record=Rt.deserialize(r.record)),n}};function Vu(e){return{id:e.id.toBytes(),addrs:(e.multiaddrs??[]).map(r=>r.bytes),connection:Xp.CONNECTED}}function qu(e){if(e.id==null)throw new Error("Invalid peer in message");return{id:Zr(e.id),multiaddrs:(e.addrs??[]).map(t=>L2(t)),protocols:[]}}var yn=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},yr,de=class extends EventTarget{constructor(){super(...arguments),yr.set(this,new Map)}listenerCount(t){let r=yn(this,yr,"f").get(t);return r==null?0:r.length}addEventListener(t,r,n){super.addEventListener(t,r,n);let i=yn(this,yr,"f").get(t);i==null&&(i=[],yn(this,yr,"f").set(t,i)),i.push({callback:r,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(t,r,n){super.removeEventListener(t.toString(),r??null,n);let i=yn(this,yr,"f").get(t);i!=null&&(i=i.filter(({callback:o})=>o!==r),yn(this,yr,"f").set(t,i))}dispatchEvent(t){let r=super.dispatchEvent(t),n=yn(this,yr,"f").get(t.type);return n==null||(n=n.filter(({once:i})=>!i),yn(this,yr,"f").set(t.type,n)),r}safeDispatchEvent(t,r){return this.dispatchEvent(new se(t,r))}};yr=new WeakMap;var D2=class extends Event{constructor(t,r){super(t,r),this.detail=r?.detail}},se=globalThis.CustomEvent??D2;function F2(e){return{...e,name:"SENDING_QUERY",type:0,messageName:e.type,messageType:zu.indexOf(e.type.toString())}}function ri(e){return{...e,name:"PEER_RESPONSE",type:1,messageName:e.messageType,closer:e.closer!=null?e.closer:[],providers:e.providers!=null?e.providers:[]}}function ni(e){return{...e,name:"FINAL_PEER",type:2}}function Gt(e){return{...e,name:"QUERY_ERROR",type:3}}function U2(e){return{...e,name:"PROVIDER",type:4}}function ii(e){return{...e,name:"VALUE",type:5}}function O2(e){return{...e,name:"DIALING_PEER",type:7}}var oi=class extends Error{constructor(t,r){super(t??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function $u(e){if(e!=null){if(typeof e[Symbol.iterator]=="function")return e[Symbol.iterator]();if(typeof e[Symbol.asyncIterator]=="function")return e[Symbol.asyncIterator]();if(typeof e.next=="function")return e}throw new Error("argument is not an iterator or iterable")}function Hu(e,t,r){let n=r??{},i=$u(e);async function*o(){let s,a=()=>{s?.()};for(t.addEventListener("abort",a);;){let u;try{if(t.aborted){let{abortMessage:f,abortCode:l}=n;throw new oi(f,l)}let c=new Promise((f,l)=>{s=()=>{let{abortMessage:d,abortCode:p}=n;l(new oi(d,p))}});u=await Promise.race([c,i.next()]),s=null}catch(c){t.removeEventListener("abort",a);let f=c.type==="aborted"&&t.aborted;if(f&&n.onAbort!=null&&n.onAbort(e),typeof i.return=="function")try{let l=i.return();l instanceof Promise&&l.catch(d=>{n.onReturnError!=null&&n.onReturnError(d)})}catch(l){n.onReturnError!=null&&n.onReturnError(l)}if(f&&n.returnOnAbort===!0)return;throw c}if(u.done===!0)break;yield u.value}t.removeEventListener("abort",a)}return o()}function jp(e,t,r){return n=>e(Hu(n,t,r))}function M2(e,t,r){return{sink:jp(e.sink,t,{...r,onAbort:void 0}),source:Hu(e.source,t,r)}}var F1=class extends de{constructor(t,r){super();let{protocol:n,lan:i}=r;this.components=t,this.log=z(`libp2p:kad-dht:${i?"lan":"wan"}:network`),this.running=!1,this.protocol=n}async start(){this.running||(this.running=!0)}async stop(){this.running=!1}isStarted(){return this.running}async*sendRequest(t,r,n={}){if(!this.running)return;this.log("sending %s to %p",r.type,t),yield O2({peer:t}),yield F2({to:t,type:r.type});let i;try{let s=await(await this.components.connectionManager.openConnection(t,n)).newStream(this.protocol,n),a=await this._writeReadMessage(s,r.serialize(),n);yield ri({from:t,messageType:a.type,closer:a.closerPeers,providers:a.providerPeers,record:a.record})}catch(o){yield Gt({from:t,error:o})}finally{i?.close()}}async*sendMessage(t,r,n={}){if(!this.running)return;this.log("sending %s to %p",r.type,t),yield O2({peer:t}),yield F2({to:t,type:r.type});let i;try{let s=await(await this.components.connectionManager.openConnection(t,n)).newStream(this.protocol,n);await this._writeMessage(s,r.serialize(),n),yield ri({from:t,messageType:r.type})}catch(o){yield Gt({from:t,error:o})}finally{i?.close()}}async _writeMessage(t,r,n){n.signal!=null&&(t=M2(t,n.signal)),await Te([r],i=>hn(i),t,Z0)}async _writeReadMessage(t,r,n){n.signal!=null&&(t=M2(t,n.signal));let i=await Te([r],s=>hn(s),t,s=>dn(s),async s=>{let a=await yu(s);if(a!=null)return a;throw new C("No message received","ERR_NO_MESSAGE_RECEIVED")}),o=gt.deserialize(i);return o.closerPeers.forEach(s=>{this.dispatchEvent(new se("peer",{detail:s}))}),o.providerPeers.forEach(s=>{this.dispatchEvent(new se("peer",{detail:s}))}),o}};async function u0(e,t){let r=t.key,i=M(r).split("/");if(i.length<3)return;let o=e[i[1].toString()];if(o==null){let s="Invalid record keytype";throw new C(s,"ERR_INVALID_RECORD_KEY_TYPE")}await o(r,t.value)}var Jp=async(e,t)=>{if(!(e instanceof Uint8Array))throw new C('"key" must be a Uint8Array',"ERR_INVALID_RECORD_KEY_NOT_BUFFER");if(e.byteLength<5)throw new C("invalid public key record","ERR_INVALID_RECORD_KEY_TOO_SHORT");if(M(e.subarray(0,4))!=="/pk/")throw new C("key was not prefixed with /pk/","ERR_INVALID_RECORD_KEY_BAD_PREFIX");let n=e.slice(4),i=await mt.digest(t);if(!st(n,i.bytes))throw new C("public key does not match passed in key","ERR_INVALID_RECORD_HASH_MISMATCH")},Gu={pk:Jp};function Qu(e,t,r){if(r.length===0){let s="No records given";throw new C(s,"ERR_NO_RECORDS_RECEIVED")}let i=M(t).split("/");if(i.length<3){let s="Record key does not have a selector function";throw new C(s,"ERR_NO_SELECTOR_FUNCTION_FOR_RECORD_KEY")}let o=e[i[1].toString()];if(o==null){let s=`Unrecognized key prefix: ${i[1]}`;throw new C(s,"ERR_UNRECOGNIZED_KEY_PREFIX")}return r.length===1?0:o(t,r)}function td(e,t){return 0}var Wu={pk:td};function Re(){let e={};return e.promise=new Promise((t,r)=>{e.resolve=t,e.reject=r}),e}var U1=globalThis.CustomEvent??Event;async function*si(e,t={}){let r=t.concurrency??1/0;r<1&&(r=1/0);let n=t.ordered==null?!1:t.ordered,i=new EventTarget,o=[],s=Re(),a=Re(),u=!1,c,f=!1;i.addEventListener("task-complete",()=>{a.resolve()}),Promise.resolve().then(async()=>{try{for await(let h of e){if(o.length===r&&(s=Re(),await s.promise),f)break;let y={done:!1};o.push(y),h().then(g=>{y.done=!0,y.ok=!0,y.value=g,i.dispatchEvent(new U1("task-complete"))},g=>{y.done=!0,y.err=g,i.dispatchEvent(new U1("task-complete"))})}u=!0,i.dispatchEvent(new U1("task-complete"))}catch(h){c=h,i.dispatchEvent(new U1("task-complete"))}});function l(){return n?o[0]?.done:!!o.find(h=>h.done)}function*d(){for(;o.length>0&&o[0].done;){let h=o[0];if(o.shift(),h.ok)yield h.value;else throw f=!0,s.resolve(),h.err;s.resolve()}}function*p(){for(;l();)for(let h=0;h<o.length;h++)if(o[h].done){let y=o[h];if(o.splice(h,1),h--,y.ok)yield y.value;else throw f=!0,s.resolve(),y.err;s.resolve()}}for(;;){if(l()||(a=Re(),await a.promise),c!=null)throw c;if(n?yield*d():yield*p(),u&&o.length===0)break}}function ed(e){let[t,r]=e[Symbol.asyncIterator]!=null?[e[Symbol.asyncIterator](),Symbol.asyncIterator]:[e[Symbol.iterator](),Symbol.iterator],n=[];return{peek:()=>t.next(),push:i=>{n.push(i)},next:()=>n.length>0?{done:!1,value:n.shift()}:t.next(),[r](){return this}}}var Yu=ed;function rd(e){return e[Symbol.asyncIterator]!=null}function nd(e,t){if(rd(e))return async function*(){for await(let a of e)yield t(a)}();let r=Yu(e),{value:n,done:i}=r.next();if(i===!0)return function*(){}();let o=t(n);if(typeof o.then=="function")return async function*(){yield await o;for await(let a of r)yield t(a)}();let s=t;return function*(){yield o;for(let a of r)yield s(a)}()}var O1=nd;var M1=class{constructor(t,r){let{validators:n,selectors:i,peerRouting:o,queryManager:s,routingTable:a,network:u,lan:c}=r;this.components=t,this.log=z(`libp2p:kad-dht:${c?"lan":"wan"}:content-fetching`),this.validators=n,this.selectors=i,this.peerRouting=o,this.queryManager=s,this.routingTable=a,this.network=u}async putLocal(t,r){let n=nr(t);await this.components.datastore.put(n,r)}async getLocal(t){this.log("getLocal %b",t);let r=nr(t);this.log("fetching record for key %k",r);let n=await this.components.datastore.get(r);this.log("found %k in local datastore",r);let i=Rt.deserialize(n);return await u0(this.validators,i),i}async*sendCorrectionRecord(t,r,n,i={}){this.log("sendCorrection for %b",t);let o=gs(t,n);for(let{value:s,from:a}of r){if(st(s,n)){this.log("record was ok");continue}if(this.components.peerId.equals(a)){try{let f=nr(t);this.log(`Storing corrected record for key ${f.toString()}`),await this.components.datastore.put(f,o.subarray())}catch(f){this.log.error("Failed error correcting self",f)}continue}let u=!1,c=new gt(_t.PUT_VALUE,t,0);c.record=Rt.deserialize(o);for await(let f of this.network.sendRequest(a,c,i))f.name==="PEER_RESPONSE"&&f.record!=null&&st(f.record.value,Rt.deserialize(o).value)&&(u=!0),yield f;u||(yield Gt({from:a,error:new C("value not put correctly","ERR_PUT_VALUE_INVALID")})),this.log.error("Failed error correcting entry")}}async*put(t,r,n={}){this.log("put key %b value %b",t,r);let i=gs(t,r),o=nr(t);this.log(`storing record for key ${o.toString()}`),await this.components.datastore.put(o,i.subarray()),yield*Te(this.peerRouting.getClosestPeers(t,{signal:n.signal}),s=>O1(s,a=>async()=>{if(a.name!=="FINAL_PEER")return[a];let u=[],c=new gt(_t.PUT_VALUE,t,0);c.record=Rt.deserialize(i),this.log("send put to %p",a.peer.id);for await(let f of this.network.sendRequest(a.peer.id,c,n))u.push(f),f.name==="PEER_RESPONSE"&&(f.record!=null&&st(f.record.value,Rt.deserialize(i).value)||u.push(Gt({from:a.peer.id,error:new C("value not put correctly","ERR_PUT_VALUE_INVALID")})));return u}),s=>si(s,{ordered:!1,concurrency:3}),async function*(s){for await(let a of s)yield*a})}async*get(t,r={}){this.log("get %b",t);let n=[];for await(let a of this.getMany(t,r))a.name==="VALUE"&&n.push(a),yield a;if(n.length===0)return;let i=n.map(a=>a.value),o=0;try{o=Qu(this.selectors,t,i)}catch(a){if(a.code!=="ERR_NO_SELECTOR_FUNCTION_FOR_RECORD_KEY")throw a}let s=i[o];if(this.log("GetValue %b %b",t,s),s==null)throw new C("best value was not found","ERR_NOT_FOUND");yield*this.sendCorrectionRecord(t,n,s,r),yield n[o]}async*getMany(t,r={}){this.log("getMany values for %b",t);try{let a=await this.getLocal(t);yield ii({value:a.value,from:this.components.peerId})}catch(a){this.log("error getting local value for %b",t,a)}let n=await Ke(t),i=this.routingTable.closestPeers(n);this.log("found %d peers in routing table",i.length);let o=this,s=async function*({peer:a,signal:u}){for await(let c of o.peerRouting.getValueOrPeers(a,t,{signal:u}))yield c,c.name==="PEER_RESPONSE"&&c.record!=null&&(yield ii({from:a,value:c.record.value}))};yield*this.queryManager.run(t,i,s,r)}};var K1=class{constructor(t,r){let{network:n,peerRouting:i,queryManager:o,routingTable:s,providers:a,lan:u}=r;this.components=t,this.log=z(`libp2p:kad-dht:${u?"lan":"wan"}:content-routing`),this.network=n,this.peerRouting=i,this.queryManager=o,this.routingTable=s,this.providers=a}async*provide(t,r,n={}){this.log("provide %s",t),await this.providers.addProvider(t,this.components.peerId);let i=new gt(_t.ADD_PROVIDER,t.multihash.bytes,0);i.providerPeers=[{id:this.components.peerId,multiaddrs:r,protocols:[]}];let o=0,s=a=>async()=>{if(a.name!=="FINAL_PEER")return[a];let u=[];this.log("putProvider %s to %p",t,a.peer.id);try{this.log("sending provider record for %s to %p",t,a.peer.id);for await(let c of this.network.sendMessage(a.peer.id,i,n))c.name==="PEER_RESPONSE"&&(this.log("sent provider record for %s to %p",t,a.peer.id),o++),u.push(c)}catch(c){this.log.error("error sending provide record to peer %p",a.peer.id,c),u.push(Gt({from:a.peer.id,error:c}))}return u};yield*Te(this.peerRouting.getClosestPeers(t.multihash.bytes,n),a=>O1(a,u=>s(u)),a=>si(a,{ordered:!1,concurrency:3}),async function*(a){for await(let u of a)yield*u}),this.log("sent provider records to %d peers",o)}async*findProviders(t,r){let n=this.routingTable.kBucketSize,i=t.multihash.bytes,o=await Ke(i),s=this;this.log("findProviders %c",t);let a=await this.providers.getProviders(t);if(a.length>0){let f=[];for(let l of a.slice(0,n))try{let d=await this.components.peerStore.get(l);f.push({id:l,multiaddrs:d.addresses.map(({multiaddr:p})=>p),protocols:d.protocols})}catch(d){if(d.code!=="ERR_NOT_FOUND")throw d;this.log("no peer store entry for %p",l)}yield ri({from:this.components.peerId,messageType:_t.GET_PROVIDERS,providers:f}),yield U2({from:this.components.peerId,providers:f})}if(a.length>=n)return;let u=async function*({peer:f,signal:l}){let d=new gt(_t.GET_PROVIDERS,i,0);yield*s.network.sendRequest(f,d,{signal:l})},c=new Set(a.map(f=>f.toString()));for await(let f of this.queryManager.run(i,this.routingTable.closestPeers(o),u,r))if(yield f,f.name==="PEER_RESPONSE"){this.log("Found %d provider entries for %c and %d closer peers",f.providers.length,t,f.closer.length);let l=[];for(let d of f.providers)c.has(d.id.toString())||(c.add(d.id.toString()),l.push(d));if(l.length>0&&(yield U2({from:f.from,providers:l})),c.size===n)return}}};function V1(e,t){for(let r=0;r<e.byteLength;r++){if(e[r]<t[r])return-1;if(e[r]>t[r])return 1}return e.byteLength>t.byteLength?1:e.byteLength<t.byteLength?-1:0}var q1=class{constructor(t,r){this.originDhtKey=t,this.capacity=r,this.peerDistances=[]}get length(){return this.peerDistances.length}get peers(){return this.peerDistances.map(t=>t.peerId)}async add(t){if(this.peerDistances.find(i=>i.peerId.equals(t))!=null)return;let r=await Jt(t),n={peerId:t,distance:ar(this.originDhtKey,r)};this.peerDistances.push(n),this.peerDistances.sort((i,o)=>V1(i.distance,o.distance)),this.peerDistances=this.peerDistances.slice(0,this.capacity)}async anyCloser(t){if(t.length===0)return!1;if(this.length===0)return!0;let r=await Promise.all(t.map(Jt)),n=this.peerDistances[this.peerDistances.length-1].distance;for(let i of r){let o=ar(this.originDhtKey,i);if(V1(o,n)<0)return!0}return!1}};var z1=class{constructor(t,r){let{routingTable:n,network:i,validators:o,queryManager:s,lan:a}=r;this.components=t,this.routingTable=n,this.network=i,this.validators=o,this.queryManager=s,this.log=z(`libp2p:kad-dht:${a?"lan":"wan"}:peer-routing`)}async findPeerLocal(t){let r,n=await this.routingTable.find(t);if(n!=null){this.log("findPeerLocal found %p in routing table",t);try{r=await this.components.peerStore.get(n)}catch(i){if(i.code!=="ERR_NOT_FOUND")throw i}}if(r==null)try{r=await this.components.peerStore.get(t)}catch(i){if(i.code!=="ERR_NOT_FOUND")throw i}if(r!=null)return this.log("findPeerLocal found %p in peer store",t),{id:r.id,multiaddrs:r.addresses.map(i=>i.multiaddr),protocols:[]}}async*_getValueSingle(t,r,n={}){let i=new gt(_t.GET_VALUE,r,0);yield*this.network.sendRequest(t,i,n)}async*getPublicKeyFromNode(t,r={}){let n=l4(t);for await(let i of this._getValueSingle(t,n,r))if(yield i,i.name==="PEER_RESPONSE"&&i.record!=null){let o=await s4(S1.marshalPublicKey({bytes:i.record.value}));if(!o.equals(t))throw new C("public key does not match id","ERR_PUBLIC_KEY_DOES_NOT_MATCH_ID");if(o.publicKey==null)throw new C("public key missing","ERR_PUBLIC_KEY_MISSING");yield ii({from:t,value:o.publicKey})}throw new C(`Node not responding with its public key: ${t.toString()}`,"ERR_INVALID_RECORD")}async*findPeer(t,r={}){this.log("findPeer %p",t);let n=await this.findPeerLocal(t);if(n!=null){this.log("found local"),yield ni({from:this.components.peerId,peer:n});return}let i=await Jt(t),o=this.routingTable.closestPeers(i);if(o.find(f=>f.equals(t))!=null)try{let f=await this.components.peerStore.get(t);this.log("found in peerStore"),yield ni({from:this.components.peerId,peer:{id:f.id,multiaddrs:f.addresses.map(l=>l.multiaddr),protocols:[]}});return}catch(f){if(f.code!=="ERR_NOT_FOUND")throw f}let a=this,u=async function*({peer:f,signal:l}){let d=new gt(_t.FIND_NODE,t.toBytes(),0);for await(let p of a.network.sendRequest(f,d,{signal:l}))if(yield p,p.name==="PEER_RESPONSE"){let h=p.closer.find(y=>y.id.equals(t));h!=null&&(yield ni({from:p.from,peer:h}))}},c=!1;for await(let f of this.queryManager.run(t.toBytes(),o,u,r))f.name==="FINAL_PEER"&&(c=!0),yield f;c||(yield Gt({from:this.components.peerId,error:new C("Not found","ERR_NOT_FOUND")}))}async*getClosestPeers(t,r={}){this.log("getClosestPeers to %b",t);let n=await Ke(t),i=this.routingTable.closestPeers(n),o=this,s=new q1(n,this.routingTable.kBucketSize);await Promise.all(i.map(async u=>{await s.add(u)}));let a=async function*({peer:u,signal:c}){o.log("closerPeersSingle %s from %p",M(t,"base32"),u);let f=new gt(_t.FIND_NODE,t,0);yield*o.network.sendRequest(u,f,{signal:c})};for await(let u of this.queryManager.run(t,i,a,r))yield u,u.name==="PEER_RESPONSE"&&await Promise.all(u.closer.map(async c=>{await s.add(c.id)}));this.log("found %d peers close to %b",s.length,t);for(let u of s.peers)try{let c=await this.components.peerStore.get(u);yield ni({from:this.components.peerId,peer:{id:u,multiaddrs:c.addresses.map(({multiaddr:f})=>f),protocols:c.protocols}})}catch(c){if(c.code!=="ERR_NOT_FOUND")throw c}}async*getValueOrPeers(t,r,n={}){for await(let i of this._getValueSingle(t,r,n)){if(i.name==="PEER_RESPONSE"&&i.record!=null)try{await this._verifyRecordOnline(i.record)}catch{let s="invalid record received, discarded";this.log(s),yield Gt({from:i.from,error:new C(s,"ERR_INVALID_RECORD")});continue}yield i}}async _verifyRecordOnline(t){if(t.timeReceived==null)throw new C("invalid record received","ERR_INVALID_RECORD");await u0(this.validators,new Rt(t.key,t.value,t.timeReceived))}async getCloserPeersOffline(t,r){let n=await Ke(t),i=this.routingTable.closestPeers(n),o=[];for(let s of i)if(!s.equals(r))try{let a=await this.components.peerStore.get(s);o.push({id:s,multiaddrs:a.addresses.map(({multiaddr:u})=>u),protocols:a.protocols})}catch(a){if(a.code!=="ERR_NOT_FOUND")throw a}return o.length>0?this.log("getCloserPeersOffline found %d peer(s) closer to %b than %p",o.length,t,r):this.log("getCloserPeersOffline could not find peer closer to %b than %p",t,r),o}};var ju=$(Xu(),1),K2=$(j0(),1);var gr=z("libp2p:kad-dht:providers"),$1=class{constructor(t,r={}){let{cacheSize:n,cleanupInterval:i,provideValidity:o}=r;this.components=t,this.cleanupInterval=i??36e5,this.provideValidity=o??864e5,this.cache=(0,ju.default)(n??256),this.syncQueue=new or({concurrency:1}),this.started=!1}isStarted(){return this.started}async start(){this.started||(this.started=!0,this.cleaner=setInterval(()=>{this._cleanup().catch(t=>{gr.error(t)})},this.cleanupInterval))}async stop(){this.started=!1,this.cleaner!=null&&(clearInterval(this.cleaner),this.cleaner=void 0)}async _cleanup(){await this.syncQueue.add(async()=>{let t=Date.now(),r=0,n=0,i=new Map,o=this.components.datastore.batch(),s=this.components.datastore.query({prefix:ys});for await(let a of s)try{let{cid:u,peerId:c}=Ju(a.key),f=t8(a.value).getTime(),l=Date.now(),d=l-f,p=d>this.provideValidity;if(gr("comparing: %d - %d = %d > %d %s",l,f,d,this.provideValidity,p?"(expired)":""),p){n++,o.delete(a.key);let h=i.get(u)??new Set;h.add(c),i.set(u,h)}r++}catch(u){gr.error(u.message)}i.size>0?(gr("deleting %d / %d entries",n,r),await o.commit()):gr("nothing to delete");for(let[a,u]of i){let c=ai(a),f=this.cache.get(c);if(f!=null){for(let l of u)f.delete(l);f.size===0?this.cache.remove(c):this.cache.set(c,f)}}gr("Cleanup successful (%dms)",Date.now()-t)})}async _getProvidersMap(t){let r=ai(t),n=this.cache.get(r);return n==null&&(n=await ud(this.components.datastore,t),this.cache.set(r,n)),n}async addProvider(t,r){await this.syncQueue.add(async()=>{gr("%p provides %s",r,t);let n=await this._getProvidersMap(t);gr("loaded %s provs",n.size);let i=new Date;n.set(r.toString(),i);let o=ai(t);this.cache.set(o,n),await ad(this.components.datastore,t,r,i)})}async getProviders(t){return await this.syncQueue.add(async()=>(gr("get providers for %s",t),[...(await this._getProvidersMap(t)).keys()].map(n=>bt(n))),{throwOnTimeout:!0})}};function ai(e){let t=typeof e=="string"?e:M(e.multihash.bytes,"base32");return`${ys}/${t}`}async function ad(e,t,r,n){let i=[ai(t),"/",r.toString()].join(""),o=new Dt(i),s=Uint8Array.from(K2.default.encode(n.getTime()));await e.put(o,s)}function Ju(e){let t=e.toString().split("/");if(t.length!==5)throw new Error(`incorrectly formatted provider entry key in datastore: ${e.toString()}`);return{cid:t[3],peerId:t[4]}}async function ud(e,t){let r=new Map,n=e.query({prefix:ai(t)});for await(let i of n){let{peerId:o}=Ju(i.key);r.set(o,t8(i.value))}return r}function t8(e){return new Date(K2.default.decode(e))}function f0(e){let t=new globalThis.AbortController;function r(){t.abort();for(let o of e)o?.removeEventListener!=null&&o.removeEventListener("abort",r)}for(let o of e){if(o?.aborted===!0){r();break}o?.addEventListener!=null&&o.addEventListener("abort",r)}function n(){for(let o of e)o?.removeEventListener!=null&&o.removeEventListener("abort",r)}let i=t.signal;return i.clear=n,i}var cd=BigInt("0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF");async function*e8(e){let{key:t,startingPeer:r,ourPeerId:n,signal:i,query:o,alpha:s,pathIndex:a,numPaths:u,cleanUp:c,queryFuncTimeout:f,log:l,peersSeen:d}=e,p=new or({concurrency:s}),h=await Ke(t);function y(g,m){if(g==null)return;d.add(g);let x=BigInt("0x"+M(ar(m,h),"base16"));p.add(async()=>{let S=[i];f!=null&&S.push(AbortSignal.timeout(f));let L=f0(S);try{for await(let T of o({key:t,peer:g,signal:L,pathIndex:a,numPaths:u})){if(L.aborted)return;if(T.name==="PEER_RESPONSE")for(let _ of T.closer){if(d.has(_.id)){l("already seen %p in query",_.id);continue}if(n.equals(_.id)){l("not querying ourselves");continue}let q=await Jt(_.id);if(BigInt("0x"+M(ar(q,h),"base16"))>x){l("skipping %p as they are not closer to %b than %p",_.id,t,g);continue}l("querying closer peer %p",_.id),y(_.id,q)}p.emit("completed",T)}}catch(T){if(!i.aborted)return Gt({from:g,error:T})}finally{L.clear()}},{priority:cd-x}).catch(S=>{l.error(S)})}y(r,await Jt(r)),yield*fd(p,i,c,l)}async function*fd(e,t,r,n){let i=Re(),o=!0,s=[],a=()=>{o&&(n("clean up queue, results %d, queue size %d, pending tasks %d",s.length,e.size,e.pending),o=!1,e.clear(),s.splice(0,s.length))};for(e.on("completed",u=>{s.push(u),i.resolve()}),e.on("error",u=>{n("queue error",u),a(),i.reject(u)}),e.on("idle",()=>{n("queue idle"),o=!1,i.resolve()}),t.addEventListener("abort",()=>{n("abort queue");let u=o;a(),u&&i.reject(new C("Query aborted","ERR_QUERY_ABORTED"))}),r.addEventListener("cleanup",()=>{a(),i.resolve()});o;)for(await i.promise,i=Re();s.length>0;){let u=s.shift();u!=null&&(yield u)}yield*s}var gn=$(vi(),1);var G1=class{constructor(t,r){let{lan:n=!1,disjointPaths:i=20,alpha:o=3}=r;this.components=t,this.disjointPaths=i??20,this.running=!1,this.alpha=o??3,this.lan=n,this.queries=0,this.initialQuerySelfHasRun=r.initialQuerySelfHasRun,this.shutDownController=new AbortController;try{gn.setMaxListeners!=null&&(0,gn.setMaxListeners)(1/0,this.shutDownController.signal)}catch{}}isStarted(){return this.running}async start(){this.running=!0,this.components.metrics!=null&&this.metrics==null&&(this.metrics={runningQueries:this.components.metrics.registerMetric(`libp2p_kad_dht_${this.lan?"lan":"wan"}_running_queries`),queryTime:this.components.metrics.registerMetric(`libp2p_kad_dht_${this.lan?"lan":"wan"}_query_time_seconds`)})}async stop(){this.running=!1,this.shutDownController.abort()}async*run(t,r,n,i={}){if(!this.running)throw new Error("QueryManager not started");let o=this.metrics?.queryTime.timer();if(i.signal==null){i.signal=AbortSignal.timeout(3e4);try{gn.setMaxListeners!=null&&(0,gn.setMaxListeners)(1/0,i.signal)}catch{}}let s=f0([this.shutDownController.signal,i.signal]);try{gn.setMaxListeners!=null&&(0,gn.setMaxListeners)(1/0,s)}catch{}let a=z(`libp2p:kad-dht:${this.lan?"lan":"wan"}:query:`+M(t,"base58btc")),u=r.slice(0,Math.min(this.disjointPaths,r.length)),c=Date.now(),f=new de;try{if(i.isSelfQuery!==!0&&this.initialQuerySelfHasRun!=null&&(a("waiting for initial query-self query before continuing"),await Promise.race([new Promise((p,h)=>{s.addEventListener("abort",()=>{h(new Yr("Query was aborted before self-query ran"))})}),this.initialQuerySelfHasRun.promise]),this.initialQuerySelfHasRun=void 0),a("query:start"),this.queries++,this.metrics?.runningQueries.update(this.queries),r.length===0){a.error("Running query with no peers");return}let l=new fe,d=u.map((p,h)=>e8({key:t,startingPeer:p,ourPeerId:this.components.peerId,signal:s,query:n,pathIndex:h,numPaths:u.length,alpha:this.alpha,cleanUp:f,queryFuncTimeout:i.queryFuncTimeout,log:a,peersSeen:l}));for await(let p of _e(...d))yield p,p.name==="QUERY_ERROR"&&a("error",p.error)}catch(l){if(!(!this.running&&l.code==="ERR_QUERY_ABORTED"))throw l}finally{s.clear(),this.queries--,this.metrics?.runningQueries.update(this.queries),o?.(),f.dispatchEvent(new se("cleanup")),a("query:done in %dms",Date.now()-c)}}};var ui=z("libp2p:kad-dht:rpc:handlers:add-provider"),Q1=class{constructor(t){let{providers:r}=t;this.providers=r}async handle(t,r){if(ui("start"),r.key==null||r.key.length===0)throw new C("Missing key","ERR_MISSING_KEY");let n;try{n=tt.decode(r.key)}catch{throw new C("Invalid CID","ERR_INVALID_CID")}(r.providerPeers==null||r.providerPeers.length===0)&&ui.error("no providers found in message"),await Promise.all(r.providerPeers.map(async i=>{if(!i.id.equals(t)){ui("invalid provider peer %p from %p",i.id,t);return}if(i.multiaddrs.length<1){ui("no valid addresses for provider %p. Ignore",t);return}ui("received provider %p for %s (addrs %s)",t,n,i.multiaddrs.map(o=>o.toString())),await this.providers.addProvider(n,i.id)}))}};var r8=z("libp2p:kad-dht:rpc:handlers:find-node"),W1=class{constructor(t,r){let{peerRouting:n,lan:i}=r;this.components=t,this.peerRouting=n,this.lan=!!i}async handle(t,r){r8("incoming request from %p for peers closer to %b",t,r.key);let n=[];st(this.components.peerId.toBytes(),r.key)?n=[{id:this.components.peerId,multiaddrs:this.components.addressManager.getAddresses().map(o=>o.decapsulateCode(ot("p2p").code)),protocols:[]}]:n=await this.peerRouting.getCloserPeersOffline(r.key,t),n=n.map(this.lan?Un:Fn).filter(({multiaddrs:o})=>o.length);let i=new gt(r.type,new Uint8Array(0),r.clusterLevel);return n.length>0?i.closerPeers=n:r8("could not find any peers closer to %b than %p",r.key,t),i}};var n8=z("libp2p:kad-dht:rpc:handlers:get-providers"),Y1=class{constructor(t,r){let{peerRouting:n,providers:i,lan:o}=r;this.components=t,this.peerRouting=n,this.providers=i,this.lan=!!o}async handle(t,r){let n;try{n=tt.decode(r.key)}catch{throw new C("Invalid CID","ERR_INVALID_CID")}n8("%p asking for providers for %s",t,n);let[i,o]=await Promise.all([this.providers.getProviders(n),this.peerRouting.getCloserPeersOffline(r.key,t)]),s=await this._getPeers(i),a=await this._getPeers(o.map(({id:c})=>c)),u=new gt(r.type,r.key,r.clusterLevel);return s.length>0&&(u.providerPeers=s),a.length>0&&(u.closerPeers=a),n8("got %s providers %s closerPeers",s.length,a.length),u}async _getAddresses(t){return[]}async _getPeers(t){let r=[],n=this.lan?Un:Fn;for(let i of t)try{let o=await this.components.peerStore.get(i),s=n({id:i,multiaddrs:o.addresses.map(({multiaddr:a})=>a),protocols:o.protocols});s.multiaddrs.length>0&&r.push(s)}catch(o){if(o.code!=="ERR_NOT_FOUND")throw o}return r}};var l0=z("libp2p:kad-dht:rpc:handlers:get-value"),Z1=class{constructor(t,r){let{peerRouting:n}=r;this.components=t,this.peerRouting=n}async handle(t,r){let n=r.key;if(l0("%p asked for key %b",t,n),n==null||n.length===0)throw new C("Invalid key","ERR_INVALID_KEY");let i=new gt(_t.GET_VALUE,n,r.clusterLevel);if(h4(n)){l0("is public key");let a=p4(n),u;try{let c=await this.components.peerStore.get(a);if(c.id.publicKey==null)throw new C("No public key found in key book","ERR_NOT_FOUND");u=c.id.publicKey}catch(c){if(c.code!=="ERR_NOT_FOUND")throw c}if(u!=null)return l0("returning found public key"),i.record=new Rt(n,u,new Date),i}let[o,s]=await Promise.all([this._checkLocalDatastore(n),this.peerRouting.getCloserPeersOffline(r.key,t)]);return o!=null&&(l0("had record for %b in local datastore",n),i.record=o),s.length>0&&(l0("had %s closer peers in routing table",s.length),i.closerPeers=s),i}async _checkLocalDatastore(t){l0("checkLocalDatastore looking for %b",t);let r=nr(t),n;try{n=await this.components.datastore.get(r)}catch(o){if(o.code==="ERR_NOT_FOUND")return;throw o}let i=Rt.deserialize(n);if(i==null)throw new C("Invalid record","ERR_INVALID_RECORD");if(i.timeReceived==null||Date.now()-i.timeReceived.getTime()>1296e5){await this.components.datastore.delete(r);return}return i}};var pd=z("libp2p:kad-dht:rpc:handlers:ping"),X1=class{async handle(t,r){return pd("ping from %p",t),r}};var j1=class{constructor(t,r){let{validators:n}=r;this.components=t,this.log=z("libp2p:kad-dht:rpc:handlers:put-value"),this.validators=n}async handle(t,r){let n=r.key;this.log("%p asked us to store value for key %b",t,n);let i=r.record;if(i==null){let o=`Empty record from: ${t.toString()}`;throw this.log.error(o),new C(o,"ERR_EMPTY_RECORD")}try{await u0(this.validators,i),i.timeReceived=new Date;let o=nr(i.key);await this.components.datastore.put(o,i.serialize().subarray()),this.log("put record for %b into datastore under key %k",n,o)}catch(o){this.log("did not put record for key %b into datastore %o",n,o)}return r}};var J1=class{constructor(t,r){let{providers:n,peerRouting:i,validators:o,lan:s}=r;this.log=z("libp2p:kad-dht:rpc"),this.routingTable=r.routingTable,this.handlers={[_t.GET_VALUE]:new Z1(t,{peerRouting:i}),[_t.PUT_VALUE]:new j1(t,{validators:o}),[_t.FIND_NODE]:new W1(t,{peerRouting:i,lan:s}),[_t.ADD_PROVIDER]:new Q1({providers:n}),[_t.GET_PROVIDERS]:new Y1(t,{peerRouting:i,providers:n,lan:s}),[_t.PING]:new X1}}async handleMessage(t,r){try{await this.routingTable.add(t)}catch(i){this.log.error("Failed to update the kbucket store",i)}let n=this.handlers[r.type];if(n==null){this.log.error(`no handler found for message type: ${r.type}`);return}return await n.handle(t,r)}onIncomingStream(t){Promise.resolve().then(async()=>{let{stream:r,connection:n}=t,i=n.remotePeer;try{await this.routingTable.add(i)}catch(s){this.log.error(s)}let o=this;await Te(r,s=>dn(s),async function*(s){for await(let a of s){let u=gt.deserialize(a);o.log("incoming %s from %p",u.type,i);let c=await o.handleMessage(i,u);c!=null&&(yield c.serialize())}},s=>hn(s),r)}).catch(r=>{this.log.error(r)})}};var V2=Symbol.for("@libp2p/topology");var i8=()=>{},q2=class{constructor(t){this.min=t.min??0,this.max=t.max??1/0,this.peers=new Set,this.onConnect=t.onConnect??i8,this.onDisconnect=t.onDisconnect??i8}get[Symbol.toStringTag](){return V2.toString()}get[V2](){return!0}async setRegistrar(t){this.registrar=t}disconnect(t){this.onDisconnect(t)}};function o8(e){return new q2(e)}var to=class extends de{constructor(t,r){super();let{protocol:n,lan:i}=r;this.components=t,this.log=z(`libp2p:kad-dht:topology-listener:${i?"lan":"wan"}`),this.running=!1,this.protocol=n}isStarted(){return this.running}async start(){if(this.running)return;this.running=!0;let t=o8({onConnect:r=>{this.log("observed peer %p with protocol %s",r,this.protocol),this.dispatchEvent(new se("peer",{detail:r}))}});this.registrarId=await this.components.registrar.register(this.protocol,t)}async stop(){this.running=!1,this.registrarId!=null&&(this.components.registrar.unregister(this.registrarId),this.registrarId=void 0)}};var z2=$(vi(),1);function dd(e){return e[Symbol.asyncIterator]!=null}function yd(e,t){return dd(e)?async function*(){let r=0;if(!(t<1)){for await(let n of e)if(yield n,r++,r===t)return}}():function*(){let r=0;if(!(t<1)){for(let n of e)if(yield n,r++,r===t)return}}()}var s8=yd;function vd(e,t){let r;return function(){let n=function(){r=void 0,e()};clearTimeout(r),r=setTimeout(n,t)}}var eo=class{constructor(t,r){let{peerRouting:n,lan:i,count:o,interval:s,queryTimeout:a,routingTable:u}=r;this.components=t,this.log=z(`libp2p:kad-dht:${i?"lan":"wan"}:query-self`),this.running=!1,this.started=!1,this.peerRouting=n,this.routingTable=u,this.count=o??20,this.interval=s??3e5,this.initialInterval=r.initialInterval??1e3,this.queryTimeout=a??5e3,this.initialQuerySelfHasRun=r.initialQuerySelfHasRun,this.querySelf=vd(this.querySelf.bind(this),100)}isStarted(){return this.started}async start(){this.started||(this.started=!0,clearTimeout(this.timeoutId),this.timeoutId=setTimeout(this.querySelf.bind(this),this.initialInterval))}async stop(){this.started=!1,this.timeoutId!=null&&clearTimeout(this.timeoutId),this.controller!=null&&this.controller.abort()}querySelf(){if(!this.started){this.log("skip self-query because we are not started");return}if(this.running){this.log("skip self-query because we are already running, will run again in %dms",this.interval);return}if(this.routingTable.size===0){let t=this.interval;this.initialQuerySelfHasRun!=null&&(t=this.initialInterval),this.log("skip self-query because routing table is empty, will run again in %dms",t),clearTimeout(this.timeoutId),this.timeoutId=setTimeout(this.querySelf.bind(this),t);return}this.running=!0,Promise.resolve().then(async()=>{this.controller=new AbortController;let t=f0([this.controller.signal,AbortSignal.timeout(this.queryTimeout)]);try{z2.setMaxListeners!=null&&(0,z2.setMaxListeners)(1/0,t)}catch{}try{this.log("run self-query, look for %d peers timing out after %dms",this.count,this.queryTimeout);let r=await Te(this.peerRouting.getClosestPeers(this.components.peerId.toBytes(),{signal:t,isSelfQuery:!0}),n=>s8(n,this.count),async n=>await A1(n));this.log("self-query ran successfully - found %d peers",r),this.initialQuerySelfHasRun!=null&&(this.initialQuerySelfHasRun.resolve(),this.initialQuerySelfHasRun=void 0)}catch(r){this.log.error("self-query error",r)}finally{t.clear()}}).catch(t=>{this.log("self-query error",t)}).finally(()=>{this.running=!1,this.log("running self-query again in %dms",this.interval),clearTimeout(this.timeoutId),this.timeoutId=setTimeout(this.querySelf.bind(this),this.interval)})}};var a8=Symbol.for("@libp2p/peer-discovery"),ro=Symbol.for("@libp2p/peer-discovery");var wd=32,bd=64,ci=class extends de{constructor(t,r){super();let{kBucketSize:n,clientMode:i,validators:o,selectors:s,querySelfInterval:a,lan:u,protocolPrefix:c,pingTimeout:f,pingConcurrency:l,maxInboundStreams:d,maxOutboundStreams:p,providers:h}=r;this.running=!1,this.components=t,this.lan=!!u,this.log=z(`libp2p:kad-dht:${u===!0?"lan":"wan"}`),this.protocol=`${c??u4}${u===!0?a4:""}${c4}`,this.kBucketSize=n??20,this.clientMode=i??!0,this.maxInboundStreams=d??wd,this.maxOutboundStreams=p??bd,this.routingTable=new zi(t,{kBucketSize:n,lan:this.lan,pingTimeout:f,pingConcurrency:l,protocol:this.protocol}),this.providers=new $1(t,h??{}),this.validators={...Gu,...o},this.selectors={...Wu,...s},this.network=new F1(t,{protocol:this.protocol,lan:this.lan});let y=Re();r.allowQueryWithZeroPeers===!0&&y.resolve(),this.queryManager=new G1(t,{disjointPaths:Math.ceil(this.kBucketSize/2),lan:u,initialQuerySelfHasRun:y}),this.peerRouting=new z1(t,{routingTable:this.routingTable,network:this.network,validators:this.validators,queryManager:this.queryManager,lan:this.lan}),this.contentFetching=new M1(t,{validators:this.validators,selectors:this.selectors,peerRouting:this.peerRouting,queryManager:this.queryManager,routingTable:this.routingTable,network:this.network,lan:this.lan}),this.contentRouting=new K1(t,{network:this.network,peerRouting:this.peerRouting,queryManager:this.queryManager,routingTable:this.routingTable,providers:this.providers,lan:this.lan}),this.routingTableRefresh=new B1({peerRouting:this.peerRouting,routingTable:this.routingTable,lan:this.lan}),this.rpc=new J1(t,{routingTable:this.routingTable,providers:this.providers,peerRouting:this.peerRouting,validators:this.validators,lan:this.lan}),this.topologyListener=new to(t,{protocol:this.protocol,lan:this.lan}),this.querySelf=new eo(t,{peerRouting:this.peerRouting,interval:a,initialInterval:r.initialQuerySelfInterval,lan:this.lan,initialQuerySelfHasRun:y,routingTable:this.routingTable}),this.network.addEventListener("peer",g=>{let m=g.detail;this.onPeerConnect(m).catch(x=>{this.log.error("could not add %p to routing table",m.id,x)}),this.dispatchEvent(new se("peer",{detail:m}))}),this.topologyListener.addEventListener("peer",g=>{let m=g.detail;Promise.resolve().then(async()=>{let x=await this.components.peerStore.get(m),S={id:m,multiaddrs:x.addresses.map(({multiaddr:L})=>L),protocols:x.protocols};await this.onPeerConnect(S)}).catch(x=>{this.log.error("could not add %p to routing table",m,x)})})}get[ro](){return!0}get[Symbol.toStringTag](){return"@libp2p/kad-dht"}async onPeerConnect(t){if(this.log("peer %p connected with protocols",t.id,t.protocols),this.lan?t=Un(t):t=Fn(t),t.multiaddrs.length===0){this.log("ignoring %p as they do not have any %s addresses in %s",t.id,this.lan?"private":"public",t.multiaddrs.map(r=>r.toString()));return}try{await this.routingTable.add(t.id)}catch(r){this.log.error("could not add %p to routing table",t.id,r)}}isStarted(){return this.running}async getMode(){return this.clientMode?"client":"server"}async setMode(t){await this.components.registrar.unhandle(this.protocol),t==="client"?(this.log("enabling client mode"),this.clientMode=!0):(this.log("enabling server mode"),this.clientMode=!1,await this.components.registrar.handle(this.protocol,this.rpc.onIncomingStream.bind(this.rpc),{maxInboundStreams:this.maxInboundStreams,maxOutboundStreams:this.maxOutboundStreams}))}async start(){this.running=!0,await this.setMode(this.clientMode?"client":"server"),await Promise.all([this.providers.start(),this.queryManager.start(),this.network.start(),this.routingTable.start(),this.topologyListener.start(),this.querySelf.start()]),await this.routingTableRefresh.start()}async stop(){this.running=!1,await Promise.all([this.providers.stop(),this.queryManager.stop(),this.network.stop(),this.routingTable.stop(),this.routingTableRefresh.stop(),this.topologyListener.stop(),this.querySelf.stop()])}async*put(t,r,n={}){yield*this.contentFetching.put(t,r,n)}async*get(t,r={}){yield*this.contentFetching.get(t,r)}async*provide(t,r={}){yield*this.contentRouting.provide(t,this.components.addressManager.getAddresses(),r)}async*findProviders(t,r={}){yield*this.contentRouting.findProviders(t,r)}async*findPeer(t,r={}){yield*this.peerRouting.findPeer(t,r)}async*getClosestPeers(t,r={}){yield*this.peerRouting.getClosestPeers(t,r)}async refreshRoutingTable(){this.routingTableRefresh.refreshTable(!0)}};var Ed=z("libp2p:kad-dht"),no=class extends de{constructor(t,r,n){super(),this.components=t,this.wan=r,this.lan=n,this.wan.addEventListener("peer",i=>{this.dispatchEvent(new se("peer",{detail:i.detail}))}),this.lan.addEventListener("peer",i=>{this.dispatchEvent(new se("peer",{detail:i.detail}))})}get[ro](){return!0}get[Symbol.toStringTag](){return"@libp2p/dual-kad-dht"}isStarted(){return this.wan.isStarted()&&this.lan.isStarted()}async getMode(){return await this.wan.getMode()}async setMode(t){await this.wan.setMode(t)}async start(){await Promise.all([this.lan.start(),this.wan.start()])}async stop(){await Promise.all([this.lan.stop(),this.wan.stop()])}async*put(t,r,n={}){for await(let i of _e(this.lan.put(t,r,n),this.wan.put(t,r,n)))yield i}async*get(t,r={}){let n=!1,i=!1;for await(let o of _e(this.lan.get(t,r),this.wan.get(t,r)))yield o,o.name==="DIALING_PEER"&&(n=!0),o.name==="VALUE"&&(n=!0,o.value!=null&&(i=!0)),o.name==="SENDING_QUERY"&&(n=!0);if(!n)throw new C("No peers found in routing table!","ERR_NO_PEERS_IN_ROUTING_TABLE");i||(yield Gt({from:this.components.peerId,error:new C("Not found","ERR_NOT_FOUND")}))}async*provide(t,r={}){let n=0,i=0,o=[],s=[this.lan];await this.wan.getMode()==="server"&&s.push(this.wan);for await(let a of _e(...s.map(u=>u.provide(t,r))))yield a,a.name==="SENDING_QUERY"&&n++,a.name==="QUERY_ERROR"&&o.push(a.error),a.name==="PEER_RESPONSE"&&a.messageName==="ADD_PROVIDER"&&(Ed("sent provider record for %s to %p",t,a.from),i++);if(i===0)throw o.length>0?new C(`Failed to provide to ${o.length} of ${n} peers`,"ERR_PROVIDES_FAILED",{errors:o}):new C("Failed to provide - no peers found","ERR_PROVIDES_FAILED")}async*findProviders(t,r={}){yield*_e(this.lan.findProviders(t,r),this.wan.findProviders(t,r))}async*findPeer(t,r={}){let n=!1;for await(let i of _e(this.lan.findPeer(t,r),this.wan.findPeer(t,r)))yield i,(i.name==="SENDING_QUERY"||i.name==="FINAL_PEER")&&(n=!0);if(!n)throw new C("Peer lookup failed","ERR_LOOKUP_FAILED")}async*getClosestPeers(t,r={}){yield*_e(this.lan.getClosestPeers(t,r),this.wan.getClosestPeers(t,r))}async refreshRoutingTable(){await Promise.all([this.lan.refreshRoutingTable(),this.wan.refreshRoutingTable()])}};var u8=Symbol.for("@libp2p/content-routing");var c8=Symbol.for("@libp2p/peer-routing");var io=class{constructor(t){this.dht=t}async provide(t){await Z0(this.dht.provide(t))}async*findProviders(t,r={}){for await(let n of this.dht.findProviders(t,r))n.name==="PROVIDER"&&(yield*n.providers)}async put(t,r,n){await Z0(this.dht.put(t,r,n))}async get(t,r){for await(let n of this.dht.get(t,r))if(n.name==="VALUE")return n.value;throw new C("Not found","ERR_NOT_FOUND")}},oo=class{constructor(t){this.dht=t}async findPeer(t,r={}){for await(let n of this.dht.findPeer(t,r))if(n.name==="FINAL_PEER")return n.peer;throw new C("Not found","ERR_NOT_FOUND")}async*getClosestPeers(t,r={}){for await(let n of this.dht.getClosestPeers(t,r))n.name==="FINAL_PEER"&&(yield n.peer)}},$2=class extends no{constructor(t,r){super(t,new ci(t,{protocolPrefix:"/ipfs",...r,lan:!1}),new ci(t,{protocolPrefix:"/ipfs",...r,clientMode:!1,lan:!0})),this.contentRouting=new io(this),this.peerRouting=new oo(this)}get[u8](){return this.contentRouting}get[c8](){return this.peerRouting}get[a8](){return this}};function Sd(e){return t=>new $2(t,e)}return y8(Ad);})();
|
|
28
28
|
/*! Bundled license information:
|
|
29
29
|
|
|
30
30
|
ieee754/index.js:
|