@libp2p/kad-dht 9.1.4 → 9.1.5
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 +19 -19
- package/dist/src/content-fetching/index.d.ts +0 -3
- package/dist/src/content-fetching/index.d.ts.map +1 -1
- package/dist/src/content-fetching/index.js +3 -8
- package/dist/src/content-fetching/index.js.map +1 -1
- package/dist/src/content-routing/index.d.ts.map +1 -1
- package/dist/src/content-routing/index.js +1 -3
- package/dist/src/content-routing/index.js.map +1 -1
- package/dist/src/kad-dht.js +2 -2
- package/dist/src/kad-dht.js.map +1 -1
- package/dist/src/peer-routing/index.d.ts.map +1 -1
- package/dist/src/peer-routing/index.js +2 -26
- package/dist/src/peer-routing/index.js.map +1 -1
- package/dist/src/query/manager.d.ts +4 -1
- package/dist/src/query/manager.d.ts.map +1 -1
- package/dist/src/query/manager.js +7 -2
- package/dist/src/query/manager.js.map +1 -1
- package/dist/src/routing-table/index.js +1 -1
- package/dist/src/routing-table/index.js.map +1 -1
- package/package.json +1 -1
- package/src/content-fetching/index.ts +3 -12
- package/src/content-routing/index.ts +1 -3
- package/src/kad-dht.ts +2 -2
- package/src/peer-routing/index.ts +2 -30
- package/src/query/manager.ts +10 -2
- package/src/routing-table/index.ts +1 -1
package/dist/index.min.js
CHANGED
|
@@ -1,30 +1,30 @@
|
|
|
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 f8=Object.create;var f0=Object.defineProperty;var l8=Object.getOwnPropertyDescriptor;var h8=Object.getOwnPropertyNames;var p8=Object.getPrototypeOf,d8=Object.prototype.hasOwnProperty;var y8=(e,t,r)=>t in e?f0(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var D=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Lt=(e,t)=>{for(var r in t)f0(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&&f0(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?f0(r,"default",{value:e,enumerable:!0}):r,e)),g8=e=>G2(f0({},"__esModule",{value:!0}),e);var so=(e,t,r)=>(y8(e,typeof t!="symbol"?t+"":t,r),r);var X2=D((Ld,Z2)=>{var gn=1e3,mn=gn*60,xn=mn*60,Mr=xn*24,m8=Mr*7,x8=Mr*365.25;Z2.exports=function(e,t){t=t||{};var r=typeof e;if(r==="string"&&e.length>0)return v8(e);if(r==="number"&&isFinite(e))return t.long?b8(e):w8(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function v8(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*x8;case"weeks":case"week":case"w":return r*m8;case"days":case"day":case"d":return r*Mr;case"hours":case"hour":case"hrs":case"hr":case"h":return r*xn;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*gn;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function w8(e){var t=Math.abs(e);return t>=Mr?Math.round(e/Mr)+"d":t>=xn?Math.round(e/xn)+"h":t>=mn?Math.round(e/mn)+"m":t>=gn?Math.round(e/gn)+"s":e+"ms"}function b8(e){var t=Math.abs(e);return t>=Mr?li(e,t,Mr,"day"):t>=xn?li(e,t,xn,"hour"):t>=mn?li(e,t,mn,"minute"):t>=gn?li(e,t,gn,"second"):e+" ms"}function li(e,t,r,n){var i=t>=r*1.5;return Math.round(e/r)+" "+n+(i?"s":"")}});var J2=D((kd,j2)=>{function E8(e){r.debug=r,r.default=r,r.coerce=u,r.disable=o,r.enable=i,r.enabled=s,r.humanize=X2(),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,(C,q)=>{if(C==="%%")return"%";L++;let G=r.formatters[q];if(typeof G=="function"){let Nt=g[L];C=G.call(m,Nt),g.splice(L,1),L--}return C}),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}j2.exports=E8});var ta=D((Jt,hi)=>{Jt.formatArgs=I8;Jt.save=A8;Jt.load=B8;Jt.useColors=S8;Jt.storage=C8();Jt.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`."))}})();Jt.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 S8(){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 I8(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+hi.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)}Jt.log=console.debug||console.log||(()=>{});function A8(e){try{e?Jt.storage.setItem("debug",e):Jt.storage.removeItem("debug")}catch{}}function B8(){let e;try{e=Jt.storage.getItem("debug")}catch{}return!e&&typeof process<"u"&&"env"in process&&(e=process.env.DEBUG),e}function C8(){try{return localStorage}catch{}}hi.exports=J2()(Jt);var{formatters:_8}=hi.exports;_8.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var Ta=D((Hy,_a)=>{"use strict";_a.exports=qc;function qc(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 La=D(Na=>{"use strict";var mi=Na;mi.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 An=new Array(64),Pa=new Array(123);for(ve=0;ve<64;)Pa[An[ve]=ve<26?ve+65:ve<52?ve+71:ve<62?ve-4:ve-59|43]=ve++;var ve;mi.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++]=An[c>>2],u=(c&3)<<4,a=1;break;case 1:o[s++]=An[u|c>>4],u=(c&15)<<2,a=2;break;case 2:o[s++]=An[u|c>>6],o[s++]=An[c&63],a=0;break}s>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,o)),s=0)}return a&&(o[s++]=An[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 Ra="invalid encoding";mi.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=Pa[u])===void 0)throw Error(Ra);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(Ra);return n-i};mi.test=function(t){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(t)}});var Da=D((Qy,ka)=>{"use strict";ka.exports=xi;function xi(){this._listeners={}}xi.prototype.on=function(t,r,n){return(this._listeners[t]||(this._listeners[t]=[])).push({fn:r,ctx:n||this}),this};xi.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};xi.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 qa=D((Wy,Va)=>{"use strict";Va.exports=Fa(Fa);function Fa(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,Ua),e.writeFloatBE=t.bind(null,Oa);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,Ma),e.readFloatBE=r.bind(null,Ka)}(),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,Ua,0,4),e.writeDoubleBE=t.bind(null,Oa,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,Ma,0,4),e.readDoubleBE=r.bind(null,Ka,4,0)}(),e}function Ua(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 Oa(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 Ma(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0}function Ka(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}});var za=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 Ha=D($a=>{"use strict";var Po=$a;Po.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};Po.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))};Po.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 Qa=D((Zy,Ga)=>{"use strict";Ga.exports=zc;function zc(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 Ya=D((Xy,Wa)=>{"use strict";Wa.exports=kt;var y0=$r();function kt(e,t){this.lo=e>>>0,this.hi=t>>>0}var zr=kt.zero=new kt(0,0);zr.toNumber=function(){return 0};zr.zzEncode=zr.zzDecode=function(){return this};zr.length=function(){return 1};var $c=kt.zeroHash="\0\0\0\0\0\0\0\0";kt.fromNumber=function(t){if(t===0)return zr;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 kt(n,i)};kt.from=function(t){if(typeof t=="number")return kt.fromNumber(t);if(y0.isString(t))if(y0.Long)t=y0.Long.fromString(t);else return kt.fromNumber(parseInt(t,10));return t.low||t.high?new kt(t.low>>>0,t.high>>>0):zr};kt.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};kt.prototype.toLong=function(t){return y0.Long?new y0.Long(this.lo|0,this.hi|0,!!t):{low:this.lo|0,high:this.hi|0,unsigned:!!t}};var vr=String.prototype.charCodeAt;kt.fromHash=function(t){return t===$c?zr:new kt((vr.call(t,0)|vr.call(t,1)<<8|vr.call(t,2)<<16|vr.call(t,3)<<24)>>>0,(vr.call(t,4)|vr.call(t,5)<<8|vr.call(t,6)<<16|vr.call(t,7)<<24)>>>0)};kt.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)};kt.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};kt.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};kt.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 $r=D(No=>{"use strict";var F=No;F.asPromise=Ta();F.base64=La();F.EventEmitter=Da();F.float=qa();F.inquire=za();F.utf8=Ha();F.pool=Qa();F.LongBits=Ya();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||No;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 Za(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=Za;F.lcFirst=function(t){return t.charAt(0).toLowerCase()+t.substring(1)};function Xa(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&&Za(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=Xa;F.ProtocolError=Xa("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 Do=D((Jy,r3)=>{"use strict";r3.exports=It;var Ne=$r(),ko,t3=Ne.LongBits,Hc=Ne.utf8;function we(e,t){return RangeError("index out of range: "+e.pos+" + "+(t||1)+" > "+e.len)}function It(e){this.buf=e,this.pos=0,this.len=e.length}var ja=typeof Uint8Array<"u"?function(t){if(t instanceof Uint8Array||Array.isArray(t))return new It(t);throw Error("illegal buffer")}:function(t){if(Array.isArray(t))return new It(t);throw Error("illegal buffer")},e3=function(){return Ne.Buffer?function(r){return(It.create=function(i){return Ne.Buffer.isBuffer(i)?new ko(i):ja(i)})(r)}:ja};It.create=e3();It.prototype._slice=Ne.Array.prototype.subarray||Ne.Array.prototype.slice;It.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,we(this,10);return t}}();It.prototype.int32=function(){return this.uint32()|0};It.prototype.sint32=function(){var t=this.uint32();return t>>>1^-(t&1)|0};function Lo(){var e=new t3(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 we(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 we(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")}It.prototype.bool=function(){return this.uint32()!==0};function vi(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}It.prototype.fixed32=function(){if(this.pos+4>this.len)throw we(this,4);return vi(this.buf,this.pos+=4)};It.prototype.sfixed32=function(){if(this.pos+4>this.len)throw we(this,4);return vi(this.buf,this.pos+=4)|0};function Ja(){if(this.pos+8>this.len)throw we(this,8);return new t3(vi(this.buf,this.pos+=4),vi(this.buf,this.pos+=4))}It.prototype.float=function(){if(this.pos+4>this.len)throw we(this,4);var t=Ne.float.readFloatLE(this.buf,this.pos);return this.pos+=4,t};It.prototype.double=function(){if(this.pos+8>this.len)throw we(this,4);var t=Ne.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,t};It.prototype.bytes=function(){var t=this.uint32(),r=this.pos,n=this.pos+t;if(n>this.len)throw we(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)};It.prototype.string=function(){var t=this.bytes();return Hc.read(t,0,t.length)};It.prototype.skip=function(t){if(typeof t=="number"){if(this.pos+t>this.len)throw we(this,t);this.pos+=t}else do if(this.pos>=this.len)throw we(this);while(this.buf[this.pos++]&128);return this};It.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};It._configure=function(e){ko=e,It.create=e3(),ko._configure();var t=Ne.Long?"toLong":"toNumber";Ne.merge(It.prototype,{int64:function(){return Lo.call(this)[t](!1)},uint64:function(){return Lo.call(this)[t](!0)},sint64:function(){return Lo.call(this).zzDecode()[t](!1)},fixed64:function(){return Ja.call(this)[t](!0)},sfixed64:function(){return Ja.call(this)[t](!1)}})}});var s3=D((tg,o3)=>{"use strict";o3.exports=Hr;var i3=Do();(Hr.prototype=Object.create(i3.prototype)).constructor=Hr;var n3=$r();function Hr(e){i3.call(this,e)}Hr._configure=function(){n3.Buffer&&(Hr.prototype._slice=n3.Buffer.prototype.slice)};Hr.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))};Hr._configure()});var qo=D((eg,f3)=>{"use strict";f3.exports=X;var ce=$r(),Fo,wi=ce.LongBits,a3=ce.base64,u3=ce.utf8;function g0(e,t,r){this.fn=e,this.len=t,this.next=void 0,this.val=r}function Oo(){}function Gc(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 g0(Oo,0,0),this.tail=this.head,this.states=null}var c3=function(){return ce.Buffer?function(){return(X.create=function(){return new Fo})()}:function(){return new X}};X.create=c3();X.alloc=function(t){return new ce.Array(t)};ce.Array!==Array&&(X.alloc=ce.pool(X.alloc,ce.Array.prototype.subarray));X.prototype._push=function(t,r,n){return this.tail=this.tail.next=new g0(t,r,n),this.len+=r,this};function Mo(e,t,r){t[r]=e&255}function Qc(e,t,r){for(;e>127;)t[r++]=e&127|128,e>>>=7;t[r]=e}function Ko(e,t){this.len=e,this.next=void 0,this.val=t}Ko.prototype=Object.create(g0.prototype);Ko.prototype.fn=Qc;X.prototype.uint32=function(t){return this.len+=(this.tail=this.tail.next=new Ko((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(Vo,10,wi.fromNumber(t)):this.uint32(t)};X.prototype.sint32=function(t){return this.uint32((t<<1^t>>31)>>>0)};function Vo(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=wi.from(t);return this._push(Vo,r.length(),r)};X.prototype.int64=X.prototype.uint64;X.prototype.sint64=function(t){var r=wi.from(t).zzEncode();return this._push(Vo,r.length(),r)};X.prototype.bool=function(t){return this._push(Mo,1,t?1:0)};function Uo(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(Uo,4,t>>>0)};X.prototype.sfixed32=X.prototype.fixed32;X.prototype.fixed64=function(t){var r=wi.from(t);return this._push(Uo,4,r.lo)._push(Uo,4,r.hi)};X.prototype.sfixed64=X.prototype.fixed64;X.prototype.float=function(t){return this._push(ce.float.writeFloatLE,4,t)};X.prototype.double=function(t){return this._push(ce.float.writeDoubleLE,8,t)};var Wc=ce.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(Mo,1,0);if(ce.isString(t)){var n=X.alloc(r=a3.length(t));a3.decode(t,n,0),t=n}return this.uint32(r)._push(Wc,r,t)};X.prototype.string=function(t){var r=u3.length(t);return r?this.uint32(r)._push(u3.write,r,t):this._push(Mo,1,0)};X.prototype.fork=function(){return this.states=new Gc(this),this.head=this.tail=new g0(Oo,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 g0(Oo,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){Fo=e,X.create=c3(),Fo._configure()}});var p3=D((rg,h3)=>{"use strict";h3.exports=Le;var l3=qo();(Le.prototype=Object.create(l3.prototype)).constructor=Le;var wr=$r();function Le(){l3.call(this)}Le._configure=function(){Le.alloc=wr._Buffer_allocUnsafe,Le.writeBytesBuffer=wr.Buffer&&wr.Buffer.prototype instanceof Uint8Array&&wr.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++]}};Le.prototype.bytes=function(t){wr.isString(t)&&(t=wr._Buffer_from(t,"base64"));var r=t.length>>>0;return this.uint32(r),r&&this._push(Le.writeBytesBuffer,r,t),this};function Yc(e,t,r){e.length<40?wr.utf8.write(e,t,r):t.utf8Write?t.utf8Write(e,r):t.write(e,r)}Le.prototype.string=function(t){var r=wr.Buffer.byteLength(t);return this.uint32(r),r&&this._push(Yc,r,t),this};Le._configure()});var k3=D((Zg,L3)=>{L3.exports=ts;var N3=128,pf=127,df=~pf,yf=Math.pow(2,31);function ts(e,t,r){if(Number.MAX_SAFE_INTEGER&&e>Number.MAX_SAFE_INTEGER)throw ts.bytes=0,new RangeError("Could not encode varint");t=t||[],r=r||0;for(var n=r;e>=yf;)t[r++]=e&255|N3,e/=128;for(;e&df;)t[r++]=e&255|N3,e>>>=7;return t[r]=e|0,ts.bytes=r-n+1,t}});var U3=D((Xg,F3)=>{F3.exports=es;var gf=128,D3=127;function es(e,n){var r=0,n=n||0,i=0,o=n,s,a=e.length;do{if(o>=a||i>49)throw es.bytes=0,new RangeError("Could not decode varint");s=e[o++],r+=i<28?(s&D3)<<i:(s&D3)*Math.pow(2,i),i+=7}while(s>=gf);return es.bytes=o-n,r}});var M3=D((jg,O3)=>{var mf=Math.pow(2,7),xf=Math.pow(2,14),vf=Math.pow(2,21),wf=Math.pow(2,28),bf=Math.pow(2,35),Ef=Math.pow(2,42),Sf=Math.pow(2,49),If=Math.pow(2,56),Af=Math.pow(2,63);O3.exports=function(e){return e<mf?1:e<xf?2:e<vf?3:e<wf?4:e<bf?5:e<Ef?6:e<Sf?7:e<If?8:e<Af?9:10}});var b0=D((Jg,K3)=>{K3.exports={encode:k3(),decode:U3(),encodingLength:M3()}});var s4=D(_0=>{(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}(),_0.ip2long=s,_0.long2ip=a,_0.Netmask=e}).call(_0)});var f4=D((c4,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 C=0;C<L.length;C++)T.push(parseInt(L[C],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})(c4)});var C4=D((Nv,B4)=>{"use strict";function A4(e,t){for(let r in t)Object.defineProperty(e,r,{value:t[r],enumerable:!0,configurable:!0});return e}function v7(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 A4(e,r)}catch{r.message=e.message,r.stack=e.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(e)),A4(new i,r)}}B4.exports=v7});var nt=D((Jv,N4)=>{N4.exports={options:{usePureJavaScript:!1}}});var D4=D((tw,k4)=>{var ws={};k4.exports=ws;var L4={};ws.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=I7(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
|
|
3
|
-
`)}return n};ws.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=L4[t];if(!r){r=L4[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 I7(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((ew,M4)=>{var F4=nt(),U4=D4(),v=M4.exports=F4.util=F4.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 B7(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=B7;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 Ir="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Ar=[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],O4="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+=Ir.charAt(i>>2),r+=Ir.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=Ir.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":Ir.charAt(s&63)),t&&r.length>t&&(n+=r.substr(0,t)+`\r
|
|
4
|
-
`,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=Ar[e.charCodeAt(s++)-43],n=Ar[e.charCodeAt(s++)-43],i=Ar[e.charCodeAt(s++)-43],o=Ar[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:
|
|
5
|
-
`,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=Ar[e.charCodeAt(u++)-43],o=Ar[e.charCodeAt(u++)-43],s=Ar[e.charCodeAt(u++)-43],a=Ar[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,O4,t)};v.binary.base58.decode=function(e,t){return v.binary.baseN.decode(e,O4,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 Es=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}},Ss=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=Ss(e,t);i===null&&(i={}),i[r]=n,Es(e,t,i)},_7=function(e,t,r){var n=Ss(e,t);return n!==null&&(n=r in n?n[r]:null),n},T7=function(e,t,r){var n=Ss(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),Es(e,t,n)}},R7=function(e,t){Es(e,t,null)},Mi=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){Mi(C7,arguments,i)};v.getItem=function(e,t,r,n){return Mi(_7,arguments,n)};v.removeItem=function(e,t,r,n){Mi(T7,arguments,n)};v.clearItems=function(e,t,r){Mi(R7,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 As=D((rw,K4)=>{var Ft=nt();Ct();K4.exports=Ft.cipher=Ft.cipher||{};Ft.cipher.algorithms=Ft.cipher.algorithms||{};Ft.cipher.createCipher=function(e,t){var r=e;if(typeof r=="string"&&(r=Ft.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+e);return new Ft.cipher.BlockCipher({algorithm:r,key:t,decrypt:!1})};Ft.cipher.createDecipher=function(e,t){var r=e;if(typeof r=="string"&&(r=Ft.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+e);return new Ft.cipher.BlockCipher({algorithm:r,key:t,decrypt:!0})};Ft.cipher.registerAlgorithm=function(e,t){e=e.toUpperCase(),Ft.cipher.algorithms[e]=t};Ft.cipher.getAlgorithm=function(e){return e=e.toUpperCase(),e in Ft.cipher.algorithms?Ft.cipher.algorithms[e]:null};var Is=Ft.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)};Is.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=Ft.util.createBuffer(),this.output=e.output||Ft.util.createBuffer(),this.mode.start(t)};Is.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()};Is.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 Cs=D((nw,V4)=>{var Ut=nt();Ct();Ut.cipher=Ut.cipher||{};var H=V4.exports=Ut.cipher.modes=Ut.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=Ki(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=Ut.util.createBuffer(),this._partialBytes=0};H.cfb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=Ki(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=Ut.util.createBuffer(),this._partialBytes=0};H.ofb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=Ki(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=Ut.util.createBuffer(),this._partialBytes=0};H.ctr.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=Ki(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}Vi(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=Ut.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=Ut.util.createBuffer(e.iv);this._cipherLength=0;var r;if("additionalData"in e?r=Ut.util.createBuffer(e.additionalData):r=Ut.util.createBuffer(),"tagLength"in e?this._tagLength=e.tagLength:this._tagLength=128,this._tag=null,e.decrypt&&(this._tag=Ut.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(Bs(n*8)))}this._inBlock=this._j0.slice(0),Vi(this._inBlock),this._partialBytes=0,r=Ut.util.createBuffer(r),this._aDataLength=Bs(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),Vi(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),Vi(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=Ut.util.createBuffer();var n=this._aDataLength.concat(Bs(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 Ki(e,t){if(typeof e=="string"&&(e=Ut.util.createBuffer(e)),Ut.util.isArray(e)&&e.length>4){var r=e;e=Ut.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(!Ut.util.isArray(e)){for(var i=[],o=t/4,n=0;n<o;++n)i.push(e.getInt32());e=i}return e}function Vi(e){e[e.length-1]=e[e.length-1]+1&4294967295}function Bs(e){return[e/4294967296|0,e&4294967295]}});var zi=D((iw,H4)=>{var at=nt();As();Cs();Ct();H4.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){Rs||z4();var r=this;r.name=e,r.mode=new t({blockSize:16,cipher:{encrypt:function(n,i){return Ts(r._w,n,i,!1)},decrypt:function(n,i){return Ts(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=$4(t,e.decrypt&&!s),this._init=!0}};at.aes._expandKey=function(e,t){return Rs||z4(),$4(e,t)};at.aes._updateBlock=Ts;Kn("AES-ECB",at.cipher.modes.ecb);Kn("AES-CBC",at.cipher.modes.cbc);Kn("AES-CFB",at.cipher.modes.cfb);Kn("AES-OFB",at.cipher.modes.ofb);Kn("AES-CTR",at.cipher.modes.ctr);Kn("AES-GCM",at.cipher.modes.gcm);function Kn(e,t){var r=function(){return new at.aes.Algorithm(e,t)};at.cipher.registerAlgorithm(e,r)}var Rs=!1,Mn=4,$t,_s,q4,Xr,Se;function z4(){Rs=!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),_s=new Array(256),Xr=new Array(4),Se=new Array(4);for(var t=0;t<4;++t)Xr[t]=new Array(256),Se[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,_s[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)Xr[l][r]=c,Se[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 $4(e,t){for(var r=e.slice(0),n,i=1,o=r.length,s=o+6+1,a=Mn*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=Se[0],l=Se[1],d=Se[2],p=Se[3],h=r.slice(0);a=r.length;for(var u=0,y=a-Mn;u<a;u+=Mn,y-=Mn)if(u===0||u===a-Mn)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<Mn;++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 Ts(e,t,r,n){var i=e.length/4-1,o,s,a,u,c;n?(o=Se[0],s=Se[1],a=Se[2],u=Se[3],c=_s):(o=Xr[0],s=Xr[1],a=Xr[2],u=Xr[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 $i=D((yw,G4)=>{var P0=nt();P0.pki=P0.pki||{};var Ns=G4.exports=P0.pki.oids=P0.oids=P0.oids||{};function B(e,t){Ns[e]=t,Ns[t]=e}function rt(e,t){Ns[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((gw,W4)=>{var ft=nt();Ct();$i();var R=W4.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 k7=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=Hi(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 Hi(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=k7(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(Hi(e,t,r+1,n)),t-=i-e.length()}else for(;u>0;)i=e.length(),f.push(Hi(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=Hi(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 Q4=/[^\\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 c8=Object.create;var f0=Object.defineProperty;var f8=Object.getOwnPropertyDescriptor;var l8=Object.getOwnPropertyNames;var h8=Object.getPrototypeOf,p8=Object.prototype.hasOwnProperty;var d8=(e,t,r)=>t in e?f0(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var D=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Lt=(e,t)=>{for(var r in t)f0(e,r,{get:t[r],enumerable:!0})},Q2=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of l8(t))!p8.call(e,i)&&i!==r&&f0(e,i,{get:()=>t[i],enumerable:!(n=f8(t,i))||n.enumerable});return e};var $=(e,t,r)=>(r=e!=null?c8(h8(e)):{},Q2(t||!e||!e.__esModule?f0(r,"default",{value:e,enumerable:!0}):r,e)),y8=e=>Q2(f0({},"__esModule",{value:!0}),e);var so=(e,t,r)=>(d8(e,typeof t!="symbol"?t+"":t,r),r);var j2=D((Nd,X2)=>{var gn=1e3,mn=gn*60,xn=mn*60,Mr=xn*24,g8=Mr*7,m8=Mr*365.25;X2.exports=function(e,t){t=t||{};var r=typeof e;if(r==="string"&&e.length>0)return x8(e);if(r==="number"&&isFinite(e))return t.long?w8(e):v8(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function x8(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*m8;case"weeks":case"week":case"w":return r*g8;case"days":case"day":case"d":return r*Mr;case"hours":case"hour":case"hrs":case"hr":case"h":return r*xn;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*gn;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function v8(e){var t=Math.abs(e);return t>=Mr?Math.round(e/Mr)+"d":t>=xn?Math.round(e/xn)+"h":t>=mn?Math.round(e/mn)+"m":t>=gn?Math.round(e/gn)+"s":e+"ms"}function w8(e){var t=Math.abs(e);return t>=Mr?fi(e,t,Mr,"day"):t>=xn?fi(e,t,xn,"hour"):t>=mn?fi(e,t,mn,"minute"):t>=gn?fi(e,t,gn,"second"):e+" ms"}function fi(e,t,r,n){var i=t>=r*1.5;return Math.round(e/r)+" "+n+(i?"s":"")}});var ta=D((Ld,J2)=>{function b8(e){r.debug=r,r.default=r,r.coerce=u,r.disable=o,r.enable=i,r.enabled=s,r.humanize=j2(),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),b=x-(l||x);m.diff=b,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,(C,q)=>{if(C==="%%")return"%";L++;let G=r.formatters[q];if(typeof G=="function"){let Nt=g[L];C=G.call(m,Nt),g.splice(L,1),L--}return C}),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}J2.exports=b8});var ea=D((Jt,li)=>{Jt.formatArgs=S8;Jt.save=I8;Jt.load=A8;Jt.useColors=E8;Jt.storage=B8();Jt.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`."))}})();Jt.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 E8(){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 S8(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+li.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)}Jt.log=console.debug||console.log||(()=>{});function I8(e){try{e?Jt.storage.setItem("debug",e):Jt.storage.removeItem("debug")}catch{}}function A8(){let e;try{e=Jt.storage.getItem("debug")}catch{}return!e&&typeof process<"u"&&"env"in process&&(e=process.env.DEBUG),e}function B8(){try{return localStorage}catch{}}li.exports=ta()(Jt);var{formatters:C8}=li.exports;C8.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var Ra=D(($y,Ta)=>{"use strict";Ta.exports=Vc;function Vc(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 ka=D(La=>{"use strict";var gi=La;gi.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 An=new Array(64),Na=new Array(123);for(xe=0;xe<64;)Na[An[xe]=xe<26?xe+65:xe<52?xe+71:xe<62?xe-4:xe-59|43]=xe++;var xe;gi.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++]=An[c>>2],u=(c&3)<<4,a=1;break;case 1:o[s++]=An[u|c>>4],u=(c&15)<<2,a=2;break;case 2:o[s++]=An[u|c>>6],o[s++]=An[c&63],a=0;break}s>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,o)),s=0)}return a&&(o[s++]=An[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 Pa="invalid encoding";gi.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=Na[u])===void 0)throw Error(Pa);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(Pa);return n-i};gi.test=function(t){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(t)}});var Fa=D((Gy,Da)=>{"use strict";Da.exports=mi;function mi(){this._listeners={}}mi.prototype.on=function(t,r,n){return(this._listeners[t]||(this._listeners[t]=[])).push({fn:r,ctx:n||this}),this};mi.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};mi.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 za=D((Qy,qa)=>{"use strict";qa.exports=Ua(Ua);function Ua(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,Oa),e.writeFloatBE=t.bind(null,Ma);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,Ka),e.readFloatBE=r.bind(null,Va)}(),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,Oa,0,4),e.writeDoubleBE=t.bind(null,Ma,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,Ka,0,4),e.readDoubleBE=r.bind(null,Va,4,0)}(),e}function Oa(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 Ma(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 Ka(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0}function Va(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}});var $a=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 Ga=D(Ha=>{"use strict";var Po=Ha;Po.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};Po.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))};Po.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 Wa=D((Yy,Qa)=>{"use strict";Qa.exports=qc;function qc(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 Za=D((Zy,Ya)=>{"use strict";Ya.exports=kt;var y0=$r();function kt(e,t){this.lo=e>>>0,this.hi=t>>>0}var zr=kt.zero=new kt(0,0);zr.toNumber=function(){return 0};zr.zzEncode=zr.zzDecode=function(){return this};zr.length=function(){return 1};var zc=kt.zeroHash="\0\0\0\0\0\0\0\0";kt.fromNumber=function(t){if(t===0)return zr;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 kt(n,i)};kt.from=function(t){if(typeof t=="number")return kt.fromNumber(t);if(y0.isString(t))if(y0.Long)t=y0.Long.fromString(t);else return kt.fromNumber(parseInt(t,10));return t.low||t.high?new kt(t.low>>>0,t.high>>>0):zr};kt.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};kt.prototype.toLong=function(t){return y0.Long?new y0.Long(this.lo|0,this.hi|0,!!t):{low:this.lo|0,high:this.hi|0,unsigned:!!t}};var xr=String.prototype.charCodeAt;kt.fromHash=function(t){return t===zc?zr:new kt((xr.call(t,0)|xr.call(t,1)<<8|xr.call(t,2)<<16|xr.call(t,3)<<24)>>>0,(xr.call(t,4)|xr.call(t,5)<<8|xr.call(t,6)<<16|xr.call(t,7)<<24)>>>0)};kt.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)};kt.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};kt.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};kt.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 $r=D(No=>{"use strict";var F=No;F.asPromise=Ra();F.base64=ka();F.EventEmitter=Fa();F.float=za();F.inquire=$a();F.utf8=Ga();F.pool=Wa();F.LongBits=Za();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||No;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 Xa(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=Xa;F.lcFirst=function(t){return t.charAt(0).toLowerCase()+t.substring(1)};function ja(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&&Xa(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=ja;F.ProtocolError=ja("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 Do=D((jy,n3)=>{"use strict";n3.exports=It;var Ne=$r(),ko,e3=Ne.LongBits,$c=Ne.utf8;function ve(e,t){return RangeError("index out of range: "+e.pos+" + "+(t||1)+" > "+e.len)}function It(e){this.buf=e,this.pos=0,this.len=e.length}var Ja=typeof Uint8Array<"u"?function(t){if(t instanceof Uint8Array||Array.isArray(t))return new It(t);throw Error("illegal buffer")}:function(t){if(Array.isArray(t))return new It(t);throw Error("illegal buffer")},r3=function(){return Ne.Buffer?function(r){return(It.create=function(i){return Ne.Buffer.isBuffer(i)?new ko(i):Ja(i)})(r)}:Ja};It.create=r3();It.prototype._slice=Ne.Array.prototype.subarray||Ne.Array.prototype.slice;It.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,ve(this,10);return t}}();It.prototype.int32=function(){return this.uint32()|0};It.prototype.sint32=function(){var t=this.uint32();return t>>>1^-(t&1)|0};function Lo(){var e=new e3(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 ve(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 ve(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")}It.prototype.bool=function(){return this.uint32()!==0};function xi(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}It.prototype.fixed32=function(){if(this.pos+4>this.len)throw ve(this,4);return xi(this.buf,this.pos+=4)};It.prototype.sfixed32=function(){if(this.pos+4>this.len)throw ve(this,4);return xi(this.buf,this.pos+=4)|0};function t3(){if(this.pos+8>this.len)throw ve(this,8);return new e3(xi(this.buf,this.pos+=4),xi(this.buf,this.pos+=4))}It.prototype.float=function(){if(this.pos+4>this.len)throw ve(this,4);var t=Ne.float.readFloatLE(this.buf,this.pos);return this.pos+=4,t};It.prototype.double=function(){if(this.pos+8>this.len)throw ve(this,4);var t=Ne.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,t};It.prototype.bytes=function(){var t=this.uint32(),r=this.pos,n=this.pos+t;if(n>this.len)throw ve(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)};It.prototype.string=function(){var t=this.bytes();return $c.read(t,0,t.length)};It.prototype.skip=function(t){if(typeof t=="number"){if(this.pos+t>this.len)throw ve(this,t);this.pos+=t}else do if(this.pos>=this.len)throw ve(this);while(this.buf[this.pos++]&128);return this};It.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};It._configure=function(e){ko=e,It.create=r3(),ko._configure();var t=Ne.Long?"toLong":"toNumber";Ne.merge(It.prototype,{int64:function(){return Lo.call(this)[t](!1)},uint64:function(){return Lo.call(this)[t](!0)},sint64:function(){return Lo.call(this).zzDecode()[t](!1)},fixed64:function(){return t3.call(this)[t](!0)},sfixed64:function(){return t3.call(this)[t](!1)}})}});var a3=D((Jy,s3)=>{"use strict";s3.exports=Hr;var o3=Do();(Hr.prototype=Object.create(o3.prototype)).constructor=Hr;var i3=$r();function Hr(e){o3.call(this,e)}Hr._configure=function(){i3.Buffer&&(Hr.prototype._slice=i3.Buffer.prototype.slice)};Hr.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))};Hr._configure()});var qo=D((tg,l3)=>{"use strict";l3.exports=X;var ue=$r(),Fo,vi=ue.LongBits,u3=ue.base64,c3=ue.utf8;function g0(e,t,r){this.fn=e,this.len=t,this.next=void 0,this.val=r}function Oo(){}function Hc(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 g0(Oo,0,0),this.tail=this.head,this.states=null}var f3=function(){return ue.Buffer?function(){return(X.create=function(){return new Fo})()}:function(){return new X}};X.create=f3();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 g0(t,r,n),this.len+=r,this};function Mo(e,t,r){t[r]=e&255}function Gc(e,t,r){for(;e>127;)t[r++]=e&127|128,e>>>=7;t[r]=e}function Ko(e,t){this.len=e,this.next=void 0,this.val=t}Ko.prototype=Object.create(g0.prototype);Ko.prototype.fn=Gc;X.prototype.uint32=function(t){return this.len+=(this.tail=this.tail.next=new Ko((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(Vo,10,vi.fromNumber(t)):this.uint32(t)};X.prototype.sint32=function(t){return this.uint32((t<<1^t>>31)>>>0)};function Vo(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=vi.from(t);return this._push(Vo,r.length(),r)};X.prototype.int64=X.prototype.uint64;X.prototype.sint64=function(t){var r=vi.from(t).zzEncode();return this._push(Vo,r.length(),r)};X.prototype.bool=function(t){return this._push(Mo,1,t?1:0)};function Uo(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(Uo,4,t>>>0)};X.prototype.sfixed32=X.prototype.fixed32;X.prototype.fixed64=function(t){var r=vi.from(t);return this._push(Uo,4,r.lo)._push(Uo,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 Qc=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(Mo,1,0);if(ue.isString(t)){var n=X.alloc(r=u3.length(t));u3.decode(t,n,0),t=n}return this.uint32(r)._push(Qc,r,t)};X.prototype.string=function(t){var r=c3.length(t);return r?this.uint32(r)._push(c3.write,r,t):this._push(Mo,1,0)};X.prototype.fork=function(){return this.states=new Hc(this),this.head=this.tail=new g0(Oo,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 g0(Oo,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){Fo=e,X.create=f3(),Fo._configure()}});var d3=D((eg,p3)=>{"use strict";p3.exports=Le;var h3=qo();(Le.prototype=Object.create(h3.prototype)).constructor=Le;var vr=$r();function Le(){h3.call(this)}Le._configure=function(){Le.alloc=vr._Buffer_allocUnsafe,Le.writeBytesBuffer=vr.Buffer&&vr.Buffer.prototype instanceof Uint8Array&&vr.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++]}};Le.prototype.bytes=function(t){vr.isString(t)&&(t=vr._Buffer_from(t,"base64"));var r=t.length>>>0;return this.uint32(r),r&&this._push(Le.writeBytesBuffer,r,t),this};function Wc(e,t,r){e.length<40?vr.utf8.write(e,t,r):t.utf8Write?t.utf8Write(e,r):t.write(e,r)}Le.prototype.string=function(t){var r=vr.Buffer.byteLength(t);return this.uint32(r),r&&this._push(Wc,r,t),this};Le._configure()});var D3=D((Yg,k3)=>{k3.exports=ts;var L3=128,hf=127,pf=~hf,df=Math.pow(2,31);function ts(e,t,r){if(Number.MAX_SAFE_INTEGER&&e>Number.MAX_SAFE_INTEGER)throw ts.bytes=0,new RangeError("Could not encode varint");t=t||[],r=r||0;for(var n=r;e>=df;)t[r++]=e&255|L3,e/=128;for(;e&pf;)t[r++]=e&255|L3,e>>>=7;return t[r]=e|0,ts.bytes=r-n+1,t}});var O3=D((Zg,U3)=>{U3.exports=es;var yf=128,F3=127;function es(e,n){var r=0,n=n||0,i=0,o=n,s,a=e.length;do{if(o>=a||i>49)throw es.bytes=0,new RangeError("Could not decode varint");s=e[o++],r+=i<28?(s&F3)<<i:(s&F3)*Math.pow(2,i),i+=7}while(s>=yf);return es.bytes=o-n,r}});var K3=D((Xg,M3)=>{var gf=Math.pow(2,7),mf=Math.pow(2,14),xf=Math.pow(2,21),vf=Math.pow(2,28),wf=Math.pow(2,35),bf=Math.pow(2,42),Ef=Math.pow(2,49),Sf=Math.pow(2,56),If=Math.pow(2,63);M3.exports=function(e){return e<gf?1:e<mf?2:e<xf?3:e<vf?4:e<wf?5:e<bf?6:e<Ef?7:e<Sf?8:e<If?9:10}});var b0=D((jg,V3)=>{V3.exports={encode:D3(),decode:O3(),encodingLength:K3()}});var a4=D(C0=>{(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}(),C0.ip2long=s,C0.long2ip=a,C0.Netmask=e}).call(C0)});var l4=D((f4,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,b;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(b=h-y,x=":";b--;)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 C=0;C<L.length;C++)T.push(parseInt(L[C],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,b;for(m=3;m>=0;m-=1)if(x=this.octets[m],x in g){if(b=g[x],y&&b!==0)return null;b!==8&&(y=!0),h+=b}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 b=0;b<m.length;b++)y=m[b],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 b=7;b>=0;b-=1)if(m=this.parts[b],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(b){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${b})`)}},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,b;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))&&(b=g[6]||"",h=u(g[1].slice(0,-1)+b,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,b;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(b=x[g],p.kind()===b[0].kind()&&p.match.apply(p,b))return m}return y},typeof Pi<"u"&&Pi.exports?Pi.exports=d:e.ipaddr=d})(f4)});var _4=D((Rv,C4)=>{"use strict";function B4(e,t){for(let r in t)Object.defineProperty(e,r,{value:t[r],enumerable:!0,configurable:!0});return e}function x7(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 B4(e,r)}catch{r.message=e.message,r.stack=e.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(e)),B4(new i,r)}}C4.exports=x7});var nt=D((Yv,R4)=>{R4.exports={options:{usePureJavaScript:!1}}});var L4=D((Zv,N4)=>{var ws={};N4.exports=ws;var P4={};ws.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=b7(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
|
|
3
|
+
`)}return n};ws.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=P4[t];if(!r){r=P4[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 b7(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 Bt=D((Xv,U4)=>{var k4=nt(),D4=L4(),v=U4.exports=k4.util=k4.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 T0(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 E7=4096;v.ByteStringBuffer.prototype._optimizeConstructedString=function(e){this._constructedStringLength+=e,this._constructedStringLength>E7&&(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){T0(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){T0(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 S7(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=S7;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){T0(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 T0(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){T0(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 Ir="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Ar=[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],F4="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+=Ir.charAt(i>>2),r+=Ir.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=Ir.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":Ir.charAt(s&63)),t&&r.length>t&&(n+=r.substr(0,t)+`\r
|
|
4
|
+
`,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=Ar[e.charCodeAt(s++)-43],n=Ar[e.charCodeAt(s++)-43],i=Ar[e.charCodeAt(s++)-43],o=Ar[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:D4.encode,decode:D4.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+=Ir.charAt(i>>2),r+=Ir.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=Ir.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":Ir.charAt(s&63)),t&&r.length>t&&(n+=r.substr(0,t)+`\r
|
|
5
|
+
`,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=Ar[e.charCodeAt(u++)-43],o=Ar[e.charCodeAt(u++)-43],s=Ar[e.charCodeAt(u++)-43],a=Ar[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,F4,t)};v.binary.base58.decode=function(e,t){return v.binary.baseN.decode(e,F4,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 Es=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}},Ss=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},I7=function(e,t,r,n){var i=Ss(e,t);i===null&&(i={}),i[r]=n,Es(e,t,i)},A7=function(e,t,r){var n=Ss(e,t);return n!==null&&(n=r in n?n[r]:null),n},B7=function(e,t,r){var n=Ss(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),Es(e,t,n)}},C7=function(e,t){Es(e,t,null)},Mi=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){Mi(I7,arguments,i)};v.getItem=function(e,t,r,n){return Mi(A7,arguments,n)};v.removeItem=function(e,t,r,n){Mi(B7,arguments,n)};v.clearItems=function(e,t,r){Mi(C7,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 As=D((jv,O4)=>{var Ft=nt();Bt();O4.exports=Ft.cipher=Ft.cipher||{};Ft.cipher.algorithms=Ft.cipher.algorithms||{};Ft.cipher.createCipher=function(e,t){var r=e;if(typeof r=="string"&&(r=Ft.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+e);return new Ft.cipher.BlockCipher({algorithm:r,key:t,decrypt:!1})};Ft.cipher.createDecipher=function(e,t){var r=e;if(typeof r=="string"&&(r=Ft.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+e);return new Ft.cipher.BlockCipher({algorithm:r,key:t,decrypt:!0})};Ft.cipher.registerAlgorithm=function(e,t){e=e.toUpperCase(),Ft.cipher.algorithms[e]=t};Ft.cipher.getAlgorithm=function(e){return e=e.toUpperCase(),e in Ft.cipher.algorithms?Ft.cipher.algorithms[e]:null};var Is=Ft.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)};Is.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=Ft.util.createBuffer(),this.output=e.output||Ft.util.createBuffer(),this.mode.start(t)};Is.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()};Is.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 Cs=D((Jv,M4)=>{var Ut=nt();Bt();Ut.cipher=Ut.cipher||{};var H=M4.exports=Ut.cipher.modes=Ut.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=Ki(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=Ut.util.createBuffer(),this._partialBytes=0};H.cfb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=Ki(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=Ut.util.createBuffer(),this._partialBytes=0};H.ofb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=Ki(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=Ut.util.createBuffer(),this._partialBytes=0};H.ctr.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=Ki(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}Vi(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=Ut.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=Ut.util.createBuffer(e.iv);this._cipherLength=0;var r;if("additionalData"in e?r=Ut.util.createBuffer(e.additionalData):r=Ut.util.createBuffer(),"tagLength"in e?this._tagLength=e.tagLength:this._tagLength=128,this._tag=null,e.decrypt&&(this._tag=Ut.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(Bs(n*8)))}this._inBlock=this._j0.slice(0),Vi(this._inBlock),this._partialBytes=0,r=Ut.util.createBuffer(r),this._aDataLength=Bs(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),Vi(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),Vi(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=Ut.util.createBuffer();var n=this._aDataLength.concat(Bs(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 Ki(e,t){if(typeof e=="string"&&(e=Ut.util.createBuffer(e)),Ut.util.isArray(e)&&e.length>4){var r=e;e=Ut.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(!Ut.util.isArray(e)){for(var i=[],o=t/4,n=0;n<o;++n)i.push(e.getInt32());e=i}return e}function Vi(e){e[e.length-1]=e[e.length-1]+1&4294967295}function Bs(e){return[e/4294967296|0,e&4294967295]}});var zi=D((tw,z4)=>{var at=nt();As();Cs();Bt();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){Rs||V4();var r=this;r.name=e,r.mode=new t({blockSize:16,cipher:{encrypt:function(n,i){return Ts(r._w,n,i,!1)},decrypt:function(n,i){return Ts(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=q4(t,e.decrypt&&!s),this._init=!0}};at.aes._expandKey=function(e,t){return Rs||V4(),q4(e,t)};at.aes._updateBlock=Ts;Kn("AES-ECB",at.cipher.modes.ecb);Kn("AES-CBC",at.cipher.modes.cbc);Kn("AES-CFB",at.cipher.modes.cfb);Kn("AES-OFB",at.cipher.modes.ofb);Kn("AES-CTR",at.cipher.modes.ctr);Kn("AES-GCM",at.cipher.modes.gcm);function Kn(e,t){var r=function(){return new at.aes.Algorithm(e,t)};at.cipher.registerAlgorithm(e,r)}var Rs=!1,Mn=4,$t,_s,K4,Xr,Se;function V4(){Rs=!0,K4=[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),_s=new Array(256),Xr=new Array(4),Se=new Array(4);for(var t=0;t<4;++t)Xr[t]=new Array(256),Se[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,_s[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)Xr[l][r]=c,Se[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 q4(e,t){for(var r=e.slice(0),n,i=1,o=r.length,s=o+6+1,a=Mn*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]^K4[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=Se[0],l=Se[1],d=Se[2],p=Se[3],h=r.slice(0);a=r.length;for(var u=0,y=a-Mn;u<a;u+=Mn,y-=Mn)if(u===0||u===a-Mn)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<Mn;++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 Ts(e,t,r,n){var i=e.length/4-1,o,s,a,u,c;n?(o=Se[0],s=Se[1],a=Se[2],u=Se[3],c=_s):(o=Xr[0],s=Xr[1],a=Xr[2],u=Xr[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 $i=D((hw,Q4)=>{var R0=nt();R0.pki=R0.pki||{};var Ps=Q4.exports=R0.pki.oids=R0.oids=R0.oids||{};function B(e,t){Ps[e]=t,Ps[t]=e}function rt(e,t){Ps[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((pw,Y4)=>{var ct=nt();Bt();$i();var R=Y4.exports=ct.asn1=ct.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(ct.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||ct.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(ct.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(ct.util.isArray(e)){if(!ct.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 L7=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=ct.util.createBuffer(e));var r=e.length(),n=Hi(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 Hi(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=L7(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(Hi(e,t,r+1,n)),t-=i-e.length()}else for(;u>0;)i=e.length(),f.push(Hi(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=Hi(e,t,r+1,g),x=i-e.length();t-=x,a==R.Type.BITSTRING&&x++;var b=m.tagClass;x===u&&(b===R.Class.UNIVERSAL||b===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=ct.util.createBuffer(),r=e.tagClass|e.type,n=ct.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=ct.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=ct.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=ct.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=ct.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&&ct.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 W4=/[^\\u0000-\\u00ff]/;R.prettyPrint=function(e,t,r){var n="";t=t||0,r=r||2,t>0&&(n+=`
|
|
6
6
|
`);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+=`
|
|
7
7
|
`,n+=i+"Constructed: "+e.constructed+`
|
|
8
|
-
`,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)Q4.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:Q4.test(e.value)?n+="0x"+ft.util.bytesToHex(e.value):e.value.length===0?n+="[null]":n+=e.value}return n}});var X4=D((mw,Z4)=>{var yt=nt();As();Cs();Ct();Z4.exports=yt.des=yt.des||{};yt.des.startEncrypting=function(e,t,r,n){var i=Gi({key:e,output:r,decrypt:!1,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};yt.des.createEncryptionCipher=function(e,t){return Gi({key:e,output:null,decrypt:!1,mode:t})};yt.des.startDecrypting=function(e,t,r,n){var i=Gi({key:e,output:r,decrypt:!0,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};yt.des.createDecryptionCipher=function(e,t){return Gi({key:e,output:null,decrypt:!0,mode:t})};yt.des.Algorithm=function(e,t){var r=this;r.name=e,r.mode=new t({blockSize:8,cipher:{encrypt:function(n,i){return Y4(r._keys,n,i,!1)},decrypt:function(n,i){return Y4(r._keys,n,i,!0)}}}),r._init=!1};yt.des.Algorithm.prototype.initialize=function(e){if(!this._init){var t=yt.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=z7(t),this._init=!0}};Ke("DES-ECB",yt.cipher.modes.ecb);Ke("DES-CBC",yt.cipher.modes.cbc);Ke("DES-CFB",yt.cipher.modes.cfb);Ke("DES-OFB",yt.cipher.modes.ofb);Ke("DES-CTR",yt.cipher.modes.ctr);Ke("3DES-ECB",yt.cipher.modes.ecb);Ke("3DES-CBC",yt.cipher.modes.cbc);Ke("3DES-CFB",yt.cipher.modes.cfb);Ke("3DES-OFB",yt.cipher.modes.ofb);Ke("3DES-CTR",yt.cipher.modes.ctr);function Ke(e,t){var r=function(){return new yt.des.Algorithm(e,t)};yt.cipher.registerAlgorithm(e,r)}var D7=[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],F7=[-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],U7=[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],O7=[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],M7=[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],K7=[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],V7=[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],q7=[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 z7(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(),C=e.getInt32();S=(T>>>4^C)&252645135,C^=S,T^=S<<4,S=(C>>>-16^T)&65535,T^=S,C^=S<<-16,S=(T>>>2^C)&858993459,C^=S,T^=S<<2,S=(C>>>-16^T)&65535,T^=S,C^=S<<-16,S=(T>>>1^C)&1431655765,C^=S,T^=S<<1,S=(C>>>8^T)&16711935,T^=S,C^=S<<8,S=(T>>>1^C)&1431655765,C^=S,T^=S<<1,S=T<<8|C>>>20&240,T=C<<24|C<<8&16711680|C>>>8&65280|C>>>24&240,C=S;for(var q=0;q<m.length;++q){m[q]?(T=T<<2|T>>>26,C=C<<2|C>>>26):(T=T<<1|T>>>27,C=C<<1|C>>>27),T&=-15,C&=-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[C>>>28]|c[C>>>24&15]|f[C>>>20&15]|l[C>>>16&15]|d[C>>>12&15]|p[C>>>8&15]|h[C>>>4&15];S=(Nt>>>16^G)&65535,g[x++]=G^S,g[x++]=Nt^S<<16}}return g}function Y4(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^(F7[p>>>24&63]|O7[p>>>16&63]|K7[p>>>8&63]|q7[p&63]|D7[h>>>24&63]|U7[h>>>16&63]|M7[h>>>8&63]|V7[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 Gi(e){e=e||{};var t=(e.mode||"CBC").toUpperCase(),r="DES-"+t,n;e.decrypt?n=yt.cipher.createDecipher(r,e.key):n=yt.cipher.createCipher(r,e.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof yt.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var jr=D((xw,j4)=>{var Qi=nt();j4.exports=Qi.md=Qi.md||{};Qi.md.algorithms=Qi.md.algorithms||{}});var t5=D((vw,J4)=>{var or=nt();jr();Ct();var $7=J4.exports=or.hmac=or.hmac||{};$7.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 or.md.algorithms)t=or.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=or.util.createBuffer(s);else if(or.util.isArray(s)){var a=s;s=or.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=or.util.createBuffer(),n=or.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 qn=D(()=>{});var Ls=D((Ew,e5)=>{var Ht=nt();t5();jr();Ct();var H7=Ht.pkcs5=Ht.pkcs5||{},sr;Ht.util.isNodejs&&!Ht.options.usePureJavaScript&&(sr=qn());e5.exports=Ht.pbkdf2=H7.pbkdf2=function(e,t,r,n,i,o){if(typeof i=="function"&&(o=i,i=null),Ht.util.isNodejs&&!Ht.options.usePureJavaScript&&sr.pbkdf2&&(i===null||typeof i!="object")&&(sr.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),e=Buffer.from(e,"binary"),t=Buffer.from(t,"binary"),o?sr.pbkdf2Sync.length===4?sr.pbkdf2(e,t,r,n,function(S,L){if(S)return o(S);o(null,L.toString("binary"))}):sr.pbkdf2(e,t,r,n,i,function(S,L){if(S)return o(S);o(null,L.toString("binary"))}):sr.pbkdf2Sync.length===4?sr.pbkdf2Sync(e,t,r,n).toString("binary"):sr.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 i5=D((Sw,n5)=>{var Yi=nt();Ct();var r5=n5.exports=Yi.pem=Yi.pem||{};r5.encode=function(e,t){t=t||{};var r="-----BEGIN "+e.type+`-----\r
|
|
8
|
+
`,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,ct.pki&&ct.pki.oids&&u in ct.pki.oids&&(n+=" ("+ct.pki.oids[u]+") ")}if(e.type===R.Type.INTEGER)try{n+=R.derToInteger(e.value)}catch{n+="0x"+ct.util.bytesToHex(e.value)}else if(e.type===R.Type.BITSTRING){if(e.value.length>1?n+="0x"+ct.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)W4.test(e.value)||(n+="("+e.value+") "),n+="0x"+ct.util.bytesToHex(e.value);else if(e.type===R.Type.UTF8)try{n+=ct.util.decodeUtf8(e.value)}catch(f){if(f.message==="URI malformed")n+="0x"+ct.util.bytesToHex(e.value)+" (malformed UTF8)";else throw f}else e.type===R.Type.PRINTABLESTRING||e.type===R.Type.IA5String?n+=e.value:W4.test(e.value)?n+="0x"+ct.util.bytesToHex(e.value):e.value.length===0?n+="[null]":n+=e.value}return n}});var j4=D((dw,X4)=>{var yt=nt();As();Cs();Bt();X4.exports=yt.des=yt.des||{};yt.des.startEncrypting=function(e,t,r,n){var i=Gi({key:e,output:r,decrypt:!1,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};yt.des.createEncryptionCipher=function(e,t){return Gi({key:e,output:null,decrypt:!1,mode:t})};yt.des.startDecrypting=function(e,t,r,n){var i=Gi({key:e,output:r,decrypt:!0,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};yt.des.createDecryptionCipher=function(e,t){return Gi({key:e,output:null,decrypt:!0,mode:t})};yt.des.Algorithm=function(e,t){var r=this;r.name=e,r.mode=new t({blockSize:8,cipher:{encrypt:function(n,i){return Z4(r._keys,n,i,!1)},decrypt:function(n,i){return Z4(r._keys,n,i,!0)}}}),r._init=!1};yt.des.Algorithm.prototype.initialize=function(e){if(!this._init){var t=yt.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=q7(t),this._init=!0}};Me("DES-ECB",yt.cipher.modes.ecb);Me("DES-CBC",yt.cipher.modes.cbc);Me("DES-CFB",yt.cipher.modes.cfb);Me("DES-OFB",yt.cipher.modes.ofb);Me("DES-CTR",yt.cipher.modes.ctr);Me("3DES-ECB",yt.cipher.modes.ecb);Me("3DES-CBC",yt.cipher.modes.cbc);Me("3DES-CFB",yt.cipher.modes.cfb);Me("3DES-OFB",yt.cipher.modes.ofb);Me("3DES-CTR",yt.cipher.modes.ctr);function Me(e,t){var r=function(){return new yt.des.Algorithm(e,t)};yt.cipher.registerAlgorithm(e,r)}var k7=[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],D7=[-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],F7=[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],U7=[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],O7=[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],M7=[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],K7=[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],V7=[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 q7(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,b,L=0;L<y;L++){var T=e.getInt32(),C=e.getInt32();b=(T>>>4^C)&252645135,C^=b,T^=b<<4,b=(C>>>-16^T)&65535,T^=b,C^=b<<-16,b=(T>>>2^C)&858993459,C^=b,T^=b<<2,b=(C>>>-16^T)&65535,T^=b,C^=b<<-16,b=(T>>>1^C)&1431655765,C^=b,T^=b<<1,b=(C>>>8^T)&16711935,T^=b,C^=b<<8,b=(T>>>1^C)&1431655765,C^=b,T^=b<<1,b=T<<8|C>>>20&240,T=C<<24|C<<8&16711680|C>>>8&65280|C>>>24&240,C=b;for(var q=0;q<m.length;++q){m[q]?(T=T<<2|T>>>26,C=C<<2|C>>>26):(T=T<<1|T>>>27,C=C<<1|C>>>27),T&=-15,C&=-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[C>>>28]|c[C>>>24&15]|f[C>>>20&15]|l[C>>>16&15]|d[C>>>12&15]|p[C>>>8&15]|h[C>>>4&15];b=(Nt>>>16^G)&65535,g[x++]=G^b,g[x++]=Nt^b<<16}}return g}function Z4(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^(D7[p>>>24&63]|U7[p>>>16&63]|M7[p>>>8&63]|V7[p&63]|k7[h>>>24&63]|F7[h>>>16&63]|O7[h>>>8&63]|K7[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 Gi(e){e=e||{};var t=(e.mode||"CBC").toUpperCase(),r="DES-"+t,n;e.decrypt?n=yt.cipher.createDecipher(r,e.key):n=yt.cipher.createCipher(r,e.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof yt.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var jr=D((yw,J4)=>{var Qi=nt();J4.exports=Qi.md=Qi.md||{};Qi.md.algorithms=Qi.md.algorithms||{}});var e5=D((gw,t5)=>{var ir=nt();jr();Bt();var z7=t5.exports=ir.hmac=ir.hmac||{};z7.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 ir.md.algorithms)t=ir.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=ir.util.createBuffer(s);else if(ir.util.isArray(s)){var a=s;s=ir.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=ir.util.createBuffer(),n=ir.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 Vn=D(()=>{});var Ns=D((vw,r5)=>{var Ht=nt();e5();jr();Bt();var $7=Ht.pkcs5=Ht.pkcs5||{},or;Ht.util.isNodejs&&!Ht.options.usePureJavaScript&&(or=Vn());r5.exports=Ht.pbkdf2=$7.pbkdf2=function(e,t,r,n,i,o){if(typeof i=="function"&&(o=i,i=null),Ht.util.isNodejs&&!Ht.options.usePureJavaScript&&or.pbkdf2&&(i===null||typeof i!="object")&&(or.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),e=Buffer.from(e,"binary"),t=Buffer.from(t,"binary"),o?or.pbkdf2Sync.length===4?or.pbkdf2(e,t,r,n,function(b,L){if(b)return o(b);o(null,L.toString("binary"))}):or.pbkdf2(e,t,r,n,i,function(b,L){if(b)return o(b);o(null,L.toString("binary"))}):or.pbkdf2Sync.length===4?or.pbkdf2Sync(e,t,r,n).toString("binary"):or.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 o5=D((ww,i5)=>{var Yi=nt();Bt();var n5=i5.exports=Yi.pem=Yi.pem||{};n5.encode=function(e,t){t=t||{};var r="-----BEGIN "+e.type+`-----\r
|
|
9
9
|
`,n;if(e.procType&&(n={name:"Proc-Type",values:[String(e.procType.version),e.procType.type]},r+=Wi(n)),e.contentDomain&&(n={name:"Content-Domain",values:[e.contentDomain]},r+=Wi(n)),e.dekInfo&&(n={name:"DEK-Info",values:[e.dekInfo.algorithm]},e.dekInfo.parameters&&n.values.push(e.dekInfo.parameters),r+=Wi(n)),e.headers)for(var i=0;i<e.headers.length;++i)r+=Wi(e.headers[i]);return e.procType&&(r+=`\r
|
|
10
10
|
`),r+=Yi.util.encode64(e.body,t.maxline||64)+`\r
|
|
11
11
|
`,r+="-----END "+e.type+`-----\r
|
|
12
|
-
`,r};
|
|
12
|
+
`,r};n5.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:Yi.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(H7(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 Wi(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
|
|
13
13
|
`;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
|
|
14
14
|
`+t.substr(s)):t=t.substr(0,s)+`\r
|
|
15
|
-
`+a+t.substr(s+1),o=i-s-1,s=-1,++i}else(t[i]===" "||t[i]===" "||t[i]===",")&&(s=i);return t}function G7(e){return e.replace(/^\s+/,"")}});var f5=D((Iw,c5)=>{var Ve=nt();jr();Ct();var s5=c5.exports=Ve.sha256=Ve.sha256||{};Ve.md.sha256=Ve.md.algorithms.sha256=s5;s5.create=function(){a5||Q7();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),o5(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(ks.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};o5(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 ks=null,a5=!1,u5=null;function Q7(){ks=String.fromCharCode(128),ks+=Ve.util.fillString(String.fromCharCode(0),64),u5=[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],a5=!0}function o5(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+u5[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 h5=D((Aw,l5)=>{var qe=nt();Ct();var Zi=null;qe.util.isNodejs&&!qe.options.usePureJavaScript&&!process.versions["node-webkit"]&&(Zi=qn());var W7=l5.exports=qe.prng=qe.prng||{};W7.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 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)),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,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 Zi?(t.seedFile=function(c,f){Zi.randomBytes(c,function(l,d){if(l)return f(l);f(null,d.toString())})},t.seedFileSync=function(c){return Zi.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((Bw,Ds)=>{var Ot=nt();zi();f5();h5();Ct();(function(){if(Ot.random&&Ot.random.getBytes){Ds.exports=Ot.random;return}(function(e){var t={},r=new Array(4),n=Ot.util.createBuffer();t.formatKey=function(l){var d=Ot.util.createBuffer(l);return l=new Array(4),l[0]=d.getInt32(),l[1]=d.getInt32(),l[2]=d.getInt32(),l[3]=d.getInt32(),Ot.aes._expandKey(l,!1)},t.formatSeed=function(l){var d=Ot.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 Ot.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=Ot.md.sha256;function i(){var l=Ot.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=Ot.util.globalScope,u=a.crypto||a.msCrypto;if(u&&u.getRandomValues&&(s=function(l){return u.getRandomValues(l)}),Ot.options.usePureJavaScript||!Ot.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(!Ot.random)Ot.random=o;else for(var f in o)Ot.random[f]=o[f];Ot.random.createInstance=i,Ds.exports=Ot.random})(typeof jQuery<"u"?jQuery:null)})()});var g5=D((Cw,y5)=>{var Wt=nt();Ct();var Fs=[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],p5=[1,2,3,5],Y7=function(e,t){return e<<t&65535|(e&65535)>>16-t},Z7=function(e,t){return(e&65535)>>t|e<<16-t&65535};y5.exports=Wt.rc2=Wt.rc2||{};Wt.rc2.expandKey=function(e,t){typeof e=="string"&&(e=Wt.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(Fs[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-o,Fs[r.at(128-o)&s]),a=127-o;a>=0;a--)r.setAt(a,Fs[r.at(a+1)^r.at(a+o)]);return r};var d5=function(e,t,r){var n=!1,i=null,o=null,s=null,a,u,c,f,l=[];for(e=Wt.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]=Y7(h[c],p5[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]=Z7(h[c],p5[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=Wt.util.createBuffer(h)),n=!1,i=Wt.util.createBuffer(),o=y||new Wt.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};Wt.rc2.startEncrypting=function(e,t,r){var n=Wt.rc2.createEncryptionCipher(e,128);return n.start(t,r),n};Wt.rc2.createEncryptionCipher=function(e,t){return d5(e,t,!0)};Wt.rc2.startDecrypting=function(e,t,r){var n=Wt.rc2.createDecryptionCipher(e,128);return n.start(t,r),n};Wt.rc2.createDecryptionCipher=function(e,t){return d5(e,t,!1)}});var Ji=D((_w,I5)=>{var Us=nt();I5.exports=Us.jsbn=Us.jsbn||{};var ar,X7=0xdeadbeefcafe,m5=(X7&16777215)==15715070;function I(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))}Us.jsbn.BigInteger=I;function j(){return new I(null)}function j7(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 J7(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 x5(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"?(I.prototype.am=x5,ar=28):m5&&navigator.appName=="Microsoft Internet Explorer"?(I.prototype.am=J7,ar=30):m5&&navigator.appName!="Netscape"?(I.prototype.am=j7,ar=26):(I.prototype.am=x5,ar=28);I.prototype.DB=ar;I.prototype.DM=(1<<ar)-1;I.prototype.DV=1<<ar;var Os=52;I.prototype.FV=Math.pow(2,Os);I.prototype.F1=Os-ar;I.prototype.F2=2*ar-Os;var tl="0123456789abcdefghijklmnopqrstuvwxyz",Xi=new Array,zn,fe;zn="0".charCodeAt(0);for(fe=0;fe<=9;++fe)Xi[zn++]=fe;zn="a".charCodeAt(0);for(fe=10;fe<36;++fe)Xi[zn++]=fe;zn="A".charCodeAt(0);for(fe=10;fe<36;++fe)Xi[zn++]=fe;function v5(e){return tl.charAt(e)}function w5(e,t){var r=Xi[e.charCodeAt(t)];return r??-1}function el(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 rl(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 Br(e){var t=j();return t.fromInt(e),t}function nl(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:w5(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&&I.ZERO.subTo(this,this)}function il(){for(var e=this.s&this.DM;this.t>0&&this.data[this.t-1]==e;)--this.t}function ol(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=v5(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+=v5(n));return i?o:"0"}function sl(){var e=j();return I.ZERO.subTo(this,e),e}function al(){return this.s<0?this.negate():this}function ul(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 ji(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 cl(){return this.t<=0?0:this.DB*(this.t-1)+ji(this.data[this.t-1]^this.s&this.DM)}function fl(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 ll(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 hl(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 pl(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 dl(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 yl(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&&I.ZERO.subTo(t,t)}function gl(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 ml(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-ji(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)),I.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&&I.ZERO.subTo(t,t)),r.t=c,r.clamp(),u>0&&r.rShiftTo(u,r),s<0&&I.ZERO.subTo(r,r)}}}function xl(e){var t=j();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(I.ZERO)>0&&e.subTo(t,t),t}function Jr(e){this.m=e}function vl(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e}function wl(e){return e}function bl(e){e.divRemTo(this.m,null,e)}function El(e,t,r){e.multiplyTo(t,r),this.reduce(r)}function Sl(e,t){e.squareTo(t),this.reduce(t)}Jr.prototype.convert=vl;Jr.prototype.revert=wl;Jr.prototype.reduce=bl;Jr.prototype.mulTo=El;Jr.prototype.sqrTo=Sl;function Il(){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 tn(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(I.ZERO)>0&&this.m.subTo(t,t),t}function Bl(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 _l(e,t){e.squareTo(t),this.reduce(t)}function Tl(e,t,r){e.multiplyTo(t,r),this.reduce(r)}tn.prototype.convert=Al;tn.prototype.revert=Bl;tn.prototype.reduce=Cl;tn.prototype.mulTo=Tl;tn.prototype.sqrTo=_l;function Rl(){return(this.t>0?this.data[0]&1:this.s)==0}function Pl(e,t){if(e>4294967295||e<1)return I.ONE;var r=j(),n=j(),i=t.convert(this),o=ji(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 Nl(e,t){var r;return e<256||t.isEven()?r=new Jr(t):r=new tn(t),this.exp(e,r)}I.prototype.copyTo=el;I.prototype.fromInt=rl;I.prototype.fromString=nl;I.prototype.clamp=il;I.prototype.dlShiftTo=fl;I.prototype.drShiftTo=ll;I.prototype.lShiftTo=hl;I.prototype.rShiftTo=pl;I.prototype.subTo=dl;I.prototype.multiplyTo=yl;I.prototype.squareTo=gl;I.prototype.divRemTo=ml;I.prototype.invDigit=Il;I.prototype.isEven=Rl;I.prototype.exp=Pl;I.prototype.toString=ol;I.prototype.negate=sl;I.prototype.abs=al;I.prototype.compareTo=ul;I.prototype.bitLength=cl;I.prototype.mod=xl;I.prototype.modPowInt=Nl;I.ZERO=Br(0);I.ONE=Br(1);function Ll(){var e=j();return this.copyTo(e),e}function kl(){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 Dl(){return this.t==0?this.s:this.data[0]<<24>>24}function Fl(){return this.t==0?this.s:this.data[0]<<16>>16}function Ul(e){return Math.floor(Math.LN2*this.DB/Math.log(e))}function Ol(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function Ml(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=Br(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 Kl(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=w5(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&&I.ZERO.subTo(this,this)}function Vl(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(I.ONE.shiftLeft(e-1),Ms,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(t);)this.dAddOffset(2,0),this.bitLength()>e&&this.subTo(I.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 ql(){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 zl(e){return this.compareTo(e)==0}function $l(e){return this.compareTo(e)<0?this:e}function Hl(e){return this.compareTo(e)>0?this:e}function Gl(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 Ql(e,t){return e&t}function Wl(e){var t=j();return this.bitwiseTo(e,Ql,t),t}function Ms(e,t){return e|t}function Yl(e){var t=j();return this.bitwiseTo(e,Ms,t),t}function b5(e,t){return e^t}function Zl(e){var t=j();return this.bitwiseTo(e,b5,t),t}function E5(e,t){return e&~t}function Xl(e){var t=j();return this.bitwiseTo(e,E5,t),t}function jl(){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 Jl(e){var t=j();return e<0?this.rShiftTo(-e,t):this.lShiftTo(e,t),t}function t9(e){var t=j();return e<0?this.lShiftTo(-e,t):this.rShiftTo(e,t),t}function e9(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 r9(){for(var e=0;e<this.t;++e)if(this.data[e]!=0)return e*this.DB+e9(this.data[e]);return this.s<0?this.t*this.DB:-1}function n9(e){for(var t=0;e!=0;)e&=e-1,++t;return t}function i9(){for(var e=0,t=this.s&this.DM,r=0;r<this.t;++r)e+=n9(this.data[r]^t);return e}function o9(e){var t=Math.floor(e/this.DB);return t>=this.t?this.s!=0:(this.data[t]&1<<e%this.DB)!=0}function s9(e,t){var r=I.ONE.shiftLeft(e);return this.bitwiseTo(r,t,r),r}function a9(e){return this.changeBit(e,Ms)}function u9(e){return this.changeBit(e,E5)}function c9(e){return this.changeBit(e,b5)}function f9(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 l9(e){var t=j();return this.addTo(e,t),t}function h9(e){var t=j();return this.subTo(e,t),t}function p9(e){var t=j();return this.multiplyTo(e,t),t}function d9(e){var t=j();return this.divRemTo(e,t,null),t}function y9(e){var t=j();return this.divRemTo(e,null,t),t}function g9(e){var t=j(),r=j();return this.divRemTo(e,t,r),new Array(t,r)}function m9(e){this.data[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()}function x9(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 S5(e){return e}function v9(e,t,r){e.multiplyTo(t,r)}function w9(e,t){e.squareTo(t)}D0.prototype.convert=S5;D0.prototype.revert=S5;D0.prototype.mulTo=v9;D0.prototype.sqrTo=w9;function b9(e){return this.exp(e,new D0)}function E9(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 S9(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 $n(e){this.r2=j(),this.q3=j(),I.ONE.dlShiftTo(2*e.t,this.r2),this.mu=this.r2.divide(e),this.m=e}function I9(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 B9(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 _9(e,t,r){e.multiplyTo(t,r),this.reduce(r)}$n.prototype.convert=I9;$n.prototype.revert=A9;$n.prototype.reduce=B9;$n.prototype.mulTo=_9;$n.prototype.sqrTo=C9;function T9(e,t){var r=e.bitLength(),n,i=Br(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 Jr(t):t.isEven()?o=new $n(t):o=new tn(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=ji(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 R9(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 N9(e){var t=e.isEven();if(this.isEven()&&t||e.signum()==0)return I.ZERO;for(var r=e.clone(),n=this.clone(),i=Br(1),o=Br(0),s=Br(0),a=Br(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(I.ONE)!=0)return I.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 Be=[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],L9=(1<<26)/Be[Be.length-1];function k9(e){var t,r=this.abs();if(r.t==1&&r.data[0]<=Be[Be.length-1]){for(t=0;t<Be.length;++t)if(r.data[0]==Be[t])return!0;return!1}if(r.isEven())return!1;for(t=1;t<Be.length;){for(var n=Be[t],i=t+1;i<Be.length&&n<L9;)n*=Be[i++];for(n=r.modInt(n);t<i;)if(n%Be[t++]==0)return!1}return r.millerRabin(e)}function D9(e){var t=this.subtract(I.ONE),r=t.getLowestSetBit();if(r<=0)return!1;for(var n=t.shiftRight(r),i=F9(),o,s=0;s<e;++s){do o=new I(this.bitLength(),i);while(o.compareTo(I.ONE)<=0||o.compareTo(t)>=0);var a=o.modPow(n,this);if(a.compareTo(I.ONE)!=0&&a.compareTo(t)!=0){for(var u=1;u++<r&&a.compareTo(t)!=0;)if(a=a.modPowInt(2,this),a.compareTo(I.ONE)==0)return!1;if(a.compareTo(t)!=0)return!1}}return!0}function F9(){return{nextBytes:function(e){for(var t=0;t<e.length;++t)e[t]=Math.floor(Math.random()*256)}}}I.prototype.chunkSize=Ul;I.prototype.toRadix=Ml;I.prototype.fromRadix=Kl;I.prototype.fromNumber=Vl;I.prototype.bitwiseTo=Gl;I.prototype.changeBit=s9;I.prototype.addTo=f9;I.prototype.dMultiply=m9;I.prototype.dAddOffset=x9;I.prototype.multiplyLowerTo=E9;I.prototype.multiplyUpperTo=S9;I.prototype.modInt=P9;I.prototype.millerRabin=D9;I.prototype.clone=Ll;I.prototype.intValue=kl;I.prototype.byteValue=Dl;I.prototype.shortValue=Fl;I.prototype.signum=Ol;I.prototype.toByteArray=ql;I.prototype.equals=zl;I.prototype.min=$l;I.prototype.max=Hl;I.prototype.and=Wl;I.prototype.or=Yl;I.prototype.xor=Zl;I.prototype.andNot=Xl;I.prototype.not=jl;I.prototype.shiftLeft=Jl;I.prototype.shiftRight=t9;I.prototype.getLowestSetBit=r9;I.prototype.bitCount=i9;I.prototype.testBit=o9;I.prototype.setBit=a9;I.prototype.clearBit=u9;I.prototype.flipBit=c9;I.prototype.add=l9;I.prototype.subtract=h9;I.prototype.multiply=p9;I.prototype.divide=d9;I.prototype.remainder=y9;I.prototype.divideAndRemainder=g9;I.prototype.modPow=T9;I.prototype.modInverse=N9;I.prototype.pow=b9;I.prototype.gcd=R9;I.prototype.isProbablePrime=k9});var T5=D((Tw,_5)=>{var ze=nt();jr();Ct();var B5=_5.exports=ze.sha1=ze.sha1||{};ze.md.sha1=ze.md.algorithms.sha1=B5;B5.create=function(){C5||U9();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),A5(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(Ks.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};A5(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 Ks=null,C5=!1;function U9(){Ks=String.fromCharCode(128),Ks+=ze.util.fillString(String.fromCharCode(0),64),C5=!0}function A5(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 N5=D((Rw,P5)=>{var $e=nt();Ct();k0();T5();var R5=P5.exports=$e.pkcs1=$e.pkcs1||{};R5.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=t1(i,a-o.digestLength-1,s),g=$e.util.xorBytes(h,y,h.length),m=t1(g,o.digestLength,s),x=$e.util.xorBytes(i,m,i.length);return"\0"+x+g};R5.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=t1(f,i.digestLength,o),d=$e.util.xorBytes(c,l,c.length),p=t1(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 x=1,S=i.digestLength,L=i.digestLength;L<h.length;L++){var T=h.charCodeAt(L),C=T&1^1,q=x?65534:0;g|=T&q,x=x&C,S+=x}if(g||h.charCodeAt(S)!==1)throw new Error("Invalid RSAES-OAEP padding.");return h.substring(S+1)};function t1(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 L5=D((Pw,Vs)=>{var Cr=nt();Ct();Ji();k0();(function(){if(Cr.prime){Vs.exports=Cr.prime;return}var e=Vs.exports=Cr.prime=Cr.prime||{},t=Cr.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||Cr.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);Cr.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 Cr.util.estimateCores(function(T,C){T&&(C=2),g=C-1,L()});L();function L(){g=Math.max(1,g);for(var T=[],C=0;C<g;++C)T[C]=new Worker(S);for(var q=g,C=0;C<g;++C)T[C].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 dn=y.toString(16);ye.target.postMessage({hex:dn,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 r1=D((Nw,K5)=>{var U=nt();L0();Ji();$i();N5();L5();k0();Ct();typeof W>"u"&&(W=U.jsbn.BigInteger);var W,qs=U.util.isNodejs?qn():null,w=U.asn1,le=U.util;U.pki=U.pki||{};K5.exports=U.pki.rsa=U.rsa=U.rsa||{};var K=U.pki,O9=[6,4,2,4,2,4,6,2],M9={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"}]},K9={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"}]},V9={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"}]},q9=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"}]}]},z9={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"}]},$9=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()},O5=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=M5(e,t,r)):(i=U.util.createBuffer(),i.putBytes(e));for(var s=new W(i.toHex(),16),a=O5(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=O5(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?e1(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(G9(e.num.bitLength()))?++e.pqState:e.num.dAddOffset(O9[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(k5("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(D5("generateKey")&&D5("exportKey"))return le.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:U5(t),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return le.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(F5("generateKey")&&F5("exportKey")){var i=le.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:U5(t),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var u=a.target.result,c=le.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(k5("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;H9(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 M5(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=e1(c,r,!0);var f=w.fromDer(c,{parseAllBytes:s._parseAllDigestBytes}),l={},d=[];if(!w.validate(f,z9,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=e1(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:e1};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:$9},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,M9,t,r)&&(e=w.fromDer(U.util.createBuffer(t.privateKey))),t={},r=[],!w.validate(e,K9,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,q9,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,V9,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 M5(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 e1(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 H9(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 G9(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 k5(e){return U.util.isNodejs&&typeof qs[e]=="function"}function D5(e){return typeof le.globalScope<"u"&&typeof le.globalScope.crypto=="object"&&typeof le.globalScope.crypto.subtle=="object"&&typeof le.globalScope.crypto.subtle[e]=="function"}function F5(e){return typeof le.globalScope<"u"&&typeof le.globalScope.msCrypto=="object"&&typeof le.globalScope.msCrypto.subtle=="object"&&typeof le.globalScope.msCrypto.subtle[e]=="function"}function U5(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 G5=D((Lw,H5)=>{var P=nt();zi();L0();X4();jr();$i();Ls();i5();k0();g5();r1();Ct();typeof V5>"u"&&(V5=P.jsbn.BigInteger);var V5,b=P.asn1,V=P.pki=P.pki||{};H5.exports=V.pbe=P.pbe=P.pbe||{};var en=V.oids,Q9={name:"EncryptedPrivateKeyInfo",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:b.Class.UNIVERSAL,type:b.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:b.Class.UNIVERSAL,type:b.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},W9={name:"PBES2Algorithms",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:b.Class.UNIVERSAL,type:b.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:b.Class.UNIVERSAL,type:b.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:b.Class.UNIVERSAL,type:b.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:b.Class.UNIVERSAL,type:b.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:b.Class.UNIVERSAL,type:b.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},Y9={name:"pkcs-12PbeParams",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:b.Class.UNIVERSAL,type:b.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:b.Class.UNIVERSAL,type:b.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=b.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=en["aes128-CBC"],l=P.aes.createEncryptionCipher;break;case"aes192":s=24,c=16,f=en["aes192-CBC"],l=P.aes.createEncryptionCipher;break;case"aes256":s=32,c=16,f=en["aes256-CBC"],l=P.aes.createEncryptionCipher;break;case"des":s=8,c=8,f=en.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=$5(p),y=P.pkcs5.pbkdf2(t,n,i,s,h),g=P.random.getBytesSync(c),m=l(y);m.start(g),m.update(b.toDer(e)),m.finish(),u=m.output.getBytes();var x=Z9(n,o,s,p);a=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(en.pkcs5PBES2).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(en.pkcs5PBKDF2).getBytes()),x]),b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(f).getBytes()),b.create(b.Class.UNIVERSAL,b.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(b.toDer(e)),m.finish(),u=m.output.getBytes(),a=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(en["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,n),b.create(b.Class.UNIVERSAL,b.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=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[a,b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,u)]);return L};V.decryptPrivateKeyInfo=function(e,t){var r=null,n={},i=[];if(!b.validate(e,Q9,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=b.derToOid(n.encryptionOid),a=V.pbe.getCipher(s,n.encryptionParams,t),u=P.util.createBuffer(n.encryptedData);return a.update(u),a.finish()&&(r=b.fromDer(a.output)),r};V.encryptedPrivateKeyToPem=function(e,t){var r={type:"ENCRYPTED PRIVATE KEY",body:b.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 b.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(b.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(b.fromDer(r),t):r=b.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 C=new P.util.ByteBuffer;C.putBytes(h.bytes()),C.putBytes(S.bytes());for(var q=0;q<n;q++)o.start(),o.update(C.getBytes()),C=o.digest();var G=new P.util.ByteBuffer;for(a=0;a<c;a++)G.putByte(C.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(C)}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(!b.validate(t,W9,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=b.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=b.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=z5(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(!b.validate(t,Y9,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=z5(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 z5(e){var t;if(!e)t="hmacWithSHA1";else if(t=V.oids[b.derToOid(e)],!t){var r=new Error("Unsupported PRF OID.");throw r.oid=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return $5(t)}function $5(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 Z9(e,t,r,n){var i=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,e),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,t.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,P.util.hexToBytes(r.toString(16))),b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(V.oids[n]).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.NULL,!1,"")])),i}});var cu=D((ib,uu)=>{var lt=nt();jr();Ct();var F0=uu.exports=lt.sha512=lt.sha512||{};lt.md.sha512=lt.md.algorithms.sha512=F0;var su=lt.sha384=lt.sha512.sha384=lt.sha512.sha384||{};su.create=function(){return F0.create("SHA-384")};lt.md.sha384=lt.md.algorithms.sha384=su;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(au||th(),typeof e>"u"&&(e="SHA-512"),!(e in rn))throw new Error("Invalid SHA-512 algorithm: "+e);for(var t=rn[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),ou(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($s.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);ou(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 $s=null,au=!1,Hs=null,rn=null;function th(){$s=String.fromCharCode(128),$s+=lt.util.fillString(String.fromCharCode(0),128),Hs=[[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]],rn={},rn["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],rn["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],rn["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],rn["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],au=!0}function ou(e,t,r){for(var n,i,o,s,a,u,c,f,l,d,p,h,y,g,m,x,S,L,T,C,q,G,Nt,ye,Xt,qt,dn,ci,Tt,Qt,O,ro,no,io,oo,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)ro=t[Tt-2],Qt=ro[0],O=ro[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,io=t[Tt-15],Qt=io[0],O=io[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,no=t[Tt-7],oo=t[Tt-16],O=i+no[1]+s+oo[1],t[Tt][0]=n+no[0]+o+oo[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],C=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],dn=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&x|L&(g^x))>>>0,O=ci+f+d+Hs[Tt][1]+t[Tt][1],n=dn+c+l+Hs[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,dn=Xt,ci=qt,Xt=Nt,qt=ye,Nt=q,ye=G,O=C+i,q=T+n+(O/4294967296>>>0)>>>0,G=O>>>0,T=S,C=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]+C,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]+dn+(O/4294967296>>>0)>>>0,e[7][1]=O>>>0,H2-=128}}});var r6=D((EE,e6)=>{e6.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 i6=D((SE,y2)=>{"use strict";var op=Object.prototype.hasOwnProperty,Gt="~";function Z0(){}Object.create&&(Z0.prototype=Object.create(null),new Z0().__proto__||(Gt=!1));function sp(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function n6(e,t,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var o=new sp(r,n||e,i),s=Gt?Gt+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 E1(e,t){--e._eventsCount===0?e._events=new Z0:delete e._events[t]}function Vt(){this._events=new Z0,this._eventsCount=0}Vt.prototype.eventNames=function(){var t=[],r,n;if(this._eventsCount===0)return t;for(n in r=this._events)op.call(r,n)&&t.push(Gt?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(r)):t};Vt.prototype.listeners=function(t){var r=Gt?Gt+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=Gt?Gt+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=Gt?Gt+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 n6(this,t,r,n,!1)};Vt.prototype.once=function(t,r,n){return n6(this,t,r,n,!0)};Vt.prototype.removeListener=function(t,r,n,i){var o=Gt?Gt+t:t;if(!this._events[o])return this;if(!r)return E1(this,o),this;var s=this._events[o];if(s.fn)s.fn===r&&(!i||s.once)&&(!n||s.context===n)&&E1(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:E1(this,o)}return this};Vt.prototype.removeAllListeners=function(t){var r;return t?(r=Gt?Gt+t:t,this._events[r]&&E1(this,r)):(this._events=new Z0,this._eventsCount=0),this};Vt.prototype.off=Vt.prototype.removeListener;Vt.prototype.addListener=Vt.prototype.on;Vt.prefixed=Gt;Vt.EventEmitter=Vt;typeof y2<"u"&&(y2.exports=Vt)});var k1=D((OE,E2)=>{"use strict";var e0=typeof Reflect=="object"?Reflect:null,m6=e0&&typeof e0.apply=="function"?e0.apply:function(t,r,n){return Function.prototype.apply.call(t,r,n)},N1;e0&&typeof e0.ownKeys=="function"?N1=e0.ownKeys:Object.getOwnPropertySymbols?N1=function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:N1=function(t){return Object.getOwnPropertyNames(t)};function hp(e){console&&console.warn&&console.warn(e)}var v6=Number.isNaN||function(t){return t!==t};function ot(){ot.init.call(this)}E2.exports=ot;E2.exports.once=gp;ot.EventEmitter=ot;ot.prototype._events=void 0;ot.prototype._eventsCount=0;ot.prototype._maxListeners=void 0;var x6=10;function L1(e){if(typeof e!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}Object.defineProperty(ot,"defaultMaxListeners",{enumerable:!0,get:function(){return x6},set:function(e){if(typeof e!="number"||e<0||v6(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");x6=e}});ot.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};ot.prototype.setMaxListeners=function(t){if(typeof t!="number"||t<0||v6(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 w6(e){return e._maxListeners===void 0?ot.defaultMaxListeners:e._maxListeners}ot.prototype.getMaxListeners=function(){return w6(this)};ot.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")m6(u,this,r);else for(var c=u.length,f=A6(u,c),n=0;n<c;++n)m6(f[n],this,r);return!0};function b6(e,t,r,n){var i,o,s;if(L1(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=w6(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,hp(a)}return e}ot.prototype.addListener=function(t,r){return b6(this,t,r,!1)};ot.prototype.on=ot.prototype.addListener;ot.prototype.prependListener=function(t,r){return b6(this,t,r,!0)};function pp(){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 E6(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},i=pp.bind(n);return i.listener=r,n.wrapFn=i,i}ot.prototype.once=function(t,r){return L1(r),this.on(t,E6(this,t,r)),this};ot.prototype.prependOnceListener=function(t,r){return L1(r),this.prependListener(t,E6(this,t,r)),this};ot.prototype.removeListener=function(t,r){var n,i,o,s,a;if(L1(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():dp(n,o),n.length===1&&(i[t]=n[0]),i.removeListener!==void 0&&this.emit("removeListener",t,a||r)}return this};ot.prototype.off=ot.prototype.removeListener;ot.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 S6(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?yp(i):A6(i,i.length)}ot.prototype.listeners=function(t){return S6(this,t,!0)};ot.prototype.rawListeners=function(t){return S6(this,t,!1)};ot.listenerCount=function(e,t){return typeof e.listenerCount=="function"?e.listenerCount(t):I6.call(e,t)};ot.prototype.listenerCount=I6;function I6(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}ot.prototype.eventNames=function(){return this._eventsCount>0?N1(this._events):[]};function A6(e,t){for(var r=new Array(t),n=0;n<t;++n)r[n]=e[n];return r}function dp(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}function yp(e){for(var t=new Array(e.length),r=0;r<t.length;++r)t[r]=e[r].listener||e[r];return t}function gp(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))}B6(e,t,o,{once:!0}),t!=="error"&&mp(e,i,{once:!0})})}function mp(e,t,r){typeof e.on=="function"&&B6(e,"error",t,r)}function B6(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 P6=D(M1=>{"use strict";M1.byteLength=Rp;M1.toByteArray=Np;M1.fromByteArray=Dp;var Ye=[],de=[],Tp=typeof Uint8Array<"u"?Uint8Array:Array,A2="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(ln=0,T6=A2.length;ln<T6;++ln)Ye[ln]=A2[ln],de[A2.charCodeAt(ln)]=ln;var ln,T6;de["-".charCodeAt(0)]=62;de["_".charCodeAt(0)]=63;function R6(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 Rp(e){var t=R6(e),r=t[0],n=t[1];return(r+n)*3/4-n}function Pp(e,t,r){return(t+r)*3/4-r}function Np(e){var t,r=R6(e),n=r[0],i=r[1],o=new Tp(Pp(e,n,i)),s=0,a=i>0?n-4:n,u;for(u=0;u<a;u+=4)t=de[e.charCodeAt(u)]<<18|de[e.charCodeAt(u+1)]<<12|de[e.charCodeAt(u+2)]<<6|de[e.charCodeAt(u+3)],o[s++]=t>>16&255,o[s++]=t>>8&255,o[s++]=t&255;return i===2&&(t=de[e.charCodeAt(u)]<<2|de[e.charCodeAt(u+1)]>>4,o[s++]=t&255),i===1&&(t=de[e.charCodeAt(u)]<<10|de[e.charCodeAt(u+1)]<<4|de[e.charCodeAt(u+2)]>>2,o[s++]=t>>8&255,o[s++]=t&255),o}function Lp(e){return Ye[e>>18&63]+Ye[e>>12&63]+Ye[e>>6&63]+Ye[e&63]}function kp(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(Lp(n));return i.join("")}function Dp(e){for(var t,r=e.length,n=r%3,i=[],o=16383,s=0,a=r-n;s<a;s+=o)i.push(kp(e,s,s+o>a?a:s+o));return n===1?(t=e[r-1],i.push(Ye[t>>2]+Ye[t<<4&63]+"==")):n===2&&(t=(e[r-2]<<8)+e[r-1],i.push(Ye[t>>10]+Ye[t>>4&63]+Ye[t<<2&63]+"=")),i.join("")}});var N6=D(B2=>{B2.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)};B2.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 Y6=D(a0=>{"use strict";var C2=P6(),o0=N6(),L6=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;a0.Buffer=E;a0.SlowBuffer=Vp;a0.INSPECT_MAX_BYTES=50;var K1=2147483647;a0.kMaxLength=K1;E.TYPED_ARRAY_SUPPORT=Fp();!E.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 Fp(){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(E.prototype,"parent",{enumerable:!0,get:function(){if(E.isBuffer(this))return this.buffer}});Object.defineProperty(E.prototype,"offset",{enumerable:!0,get:function(){if(E.isBuffer(this))return this.byteOffset}});function yr(e){if(e>K1)throw new RangeError('The value "'+e+'" is invalid for option "size"');let t=new Uint8Array(e);return Object.setPrototypeOf(t,E.prototype),t}function E(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 P2(e)}return U6(e,t,r)}E.poolSize=8192;function U6(e,t,r){if(typeof e=="string")return Op(e,t);if(ArrayBuffer.isView(e))return Mp(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(Ze(e,ArrayBuffer)||e&&Ze(e.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(Ze(e,SharedArrayBuffer)||e&&Ze(e.buffer,SharedArrayBuffer)))return T2(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 E.from(n,t,r);let i=Kp(e);if(i)return i;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof e[Symbol.toPrimitive]=="function")return E.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)}E.from=function(e,t,r){return U6(e,t,r)};Object.setPrototypeOf(E.prototype,Uint8Array.prototype);Object.setPrototypeOf(E,Uint8Array);function O6(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 Up(e,t,r){return O6(e),e<=0?yr(e):t!==void 0?typeof r=="string"?yr(e).fill(t,r):yr(e).fill(t):yr(e)}E.alloc=function(e,t,r){return Up(e,t,r)};function P2(e){return O6(e),yr(e<0?0:N2(e)|0)}E.allocUnsafe=function(e){return P2(e)};E.allocUnsafeSlow=function(e){return P2(e)};function Op(e,t){if((typeof t!="string"||t==="")&&(t="utf8"),!E.isEncoding(t))throw new TypeError("Unknown encoding: "+t);let r=M6(e,t)|0,n=yr(r),i=n.write(e,t);return i!==r&&(n=n.slice(0,i)),n}function _2(e){let t=e.length<0?0:N2(e.length)|0,r=yr(t);for(let n=0;n<t;n+=1)r[n]=e[n]&255;return r}function Mp(e){if(Ze(e,Uint8Array)){let t=new Uint8Array(e);return T2(t.buffer,t.byteOffset,t.byteLength)}return _2(e)}function T2(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,E.prototype),n}function Kp(e){if(E.isBuffer(e)){let t=N2(e.length)|0,r=yr(t);return r.length===0||e.copy(r,0,0,t),r}if(e.length!==void 0)return typeof e.length!="number"||k2(e.length)?yr(0):_2(e);if(e.type==="Buffer"&&Array.isArray(e.data))return _2(e.data)}function N2(e){if(e>=K1)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+K1.toString(16)+" bytes");return e|0}function Vp(e){return+e!=e&&(e=0),E.alloc(+e)}E.isBuffer=function(t){return t!=null&&t._isBuffer===!0&&t!==E.prototype};E.compare=function(t,r){if(Ze(t,Uint8Array)&&(t=E.from(t,t.offset,t.byteLength)),Ze(r,Uint8Array)&&(r=E.from(r,r.offset,r.byteLength)),!E.isBuffer(t)||!E.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};E.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}};E.concat=function(t,r){if(!Array.isArray(t))throw new TypeError('"list" argument must be an Array of Buffers');if(t.length===0)return E.alloc(0);let n;if(r===void 0)for(r=0,n=0;n<t.length;++n)r+=t[n].length;let i=E.allocUnsafe(r),o=0;for(n=0;n<t.length;++n){let s=t[n];if(Ze(s,Uint8Array))o+s.length>i.length?(E.isBuffer(s)||(s=E.from(s)),s.copy(i,o)):Uint8Array.prototype.set.call(i,s,o);else if(E.isBuffer(s))s.copy(i,o);else throw new TypeError('"list" argument must be an Array of Buffers');o+=s.length}return i};function M6(e,t){if(E.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||Ze(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 R2(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return W6(e).length;default:if(i)return n?-1:R2(e).length;t=(""+t).toLowerCase(),i=!0}}E.byteLength=M6;function qp(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 jp(this,t,r);case"utf8":case"utf-8":return V6(this,t,r);case"ascii":return Zp(this,t,r);case"latin1":case"binary":return Xp(this,t,r);case"base64":return Wp(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Jp(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}E.prototype._isBuffer=!0;function hn(e,t,r){let n=e[t];e[t]=e[r],e[r]=n}E.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)hn(this,r,r+1);return this};E.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)hn(this,r,r+3),hn(this,r+1,r+2);return this};E.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)hn(this,r,r+7),hn(this,r+1,r+6),hn(this,r+2,r+5),hn(this,r+3,r+4);return this};E.prototype.toString=function(){let t=this.length;return t===0?"":arguments.length===0?V6(this,0,t):qp.apply(this,arguments)};E.prototype.toLocaleString=E.prototype.toString;E.prototype.equals=function(t){if(!E.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t?!0:E.compare(this,t)===0};E.prototype.inspect=function(){let t="",r=a0.INSPECT_MAX_BYTES;return t=this.toString("hex",0,r).replace(/(.{2})/g,"$1 ").trim(),this.length>r&&(t+=" ... "),"<Buffer "+t+">"};L6&&(E.prototype[L6]=E.prototype.inspect);E.prototype.compare=function(t,r,n,i,o){if(Ze(t,Uint8Array)&&(t=E.from(t,t.offset,t.byteLength)),!E.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 K6(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,k2(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=E.from(t,n)),E.isBuffer(t))return t.length===0?-1:k6(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):k6(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function k6(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}E.prototype.includes=function(t,r,n){return this.indexOf(t,r,n)!==-1};E.prototype.indexOf=function(t,r,n){return K6(this,t,r,n,!0)};E.prototype.lastIndexOf=function(t,r,n){return K6(this,t,r,n,!1)};function zp(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(k2(a))return s;e[r+s]=a}return s}function $p(e,t,r,n){return V1(R2(t,e.length-r),e,r,n)}function Hp(e,t,r,n){return V1(nd(t),e,r,n)}function Gp(e,t,r,n){return V1(W6(t),e,r,n)}function Qp(e,t,r,n){return V1(id(t,e.length-r),e,r,n)}E.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 zp(this,t,r,n);case"utf8":case"utf-8":return $p(this,t,r,n);case"ascii":case"latin1":case"binary":return Hp(this,t,r,n);case"base64":return Gp(this,t,r,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Qp(this,t,r,n);default:if(s)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),s=!0}};E.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function Wp(e,t,r){return t===0&&r===e.length?C2.fromByteArray(e):C2.fromByteArray(e.slice(t,r))}function V6(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 Yp(n)}var D6=4096;function Yp(e){let t=e.length;if(t<=D6)return String.fromCharCode.apply(String,e);let r="",n=0;for(;n<t;)r+=String.fromCharCode.apply(String,e.slice(n,n+=D6));return r}function Zp(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 Xp(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 jp(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+=od[e[o]];return i}function Jp(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}E.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,E.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")}E.prototype.readUintLE=E.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};E.prototype.readUintBE=E.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};E.prototype.readUint8=E.prototype.readUInt8=function(t,r){return t=t>>>0,r||Kt(t,1,this.length),this[t]};E.prototype.readUint16LE=E.prototype.readUInt16LE=function(t,r){return t=t>>>0,r||Kt(t,2,this.length),this[t]|this[t+1]<<8};E.prototype.readUint16BE=E.prototype.readUInt16BE=function(t,r){return t=t>>>0,r||Kt(t,2,this.length),this[t]<<8|this[t+1]};E.prototype.readUint32LE=E.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};E.prototype.readUint32BE=E.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])};E.prototype.readBigUInt64LE=Or(function(t){t=t>>>0,s0(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&oi(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))});E.prototype.readBigUInt64BE=Or(function(t){t=t>>>0,s0(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&oi(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)});E.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};E.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};E.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]};E.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};E.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};E.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};E.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]};E.prototype.readBigInt64LE=Or(function(t){t=t>>>0,s0(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&oi(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)});E.prototype.readBigInt64BE=Or(function(t){t=t>>>0,s0(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&oi(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)});E.prototype.readFloatLE=function(t,r){return t=t>>>0,r||Kt(t,4,this.length),o0.read(this,t,!0,23,4)};E.prototype.readFloatBE=function(t,r){return t=t>>>0,r||Kt(t,4,this.length),o0.read(this,t,!1,23,4)};E.prototype.readDoubleLE=function(t,r){return t=t>>>0,r||Kt(t,8,this.length),o0.read(this,t,!0,52,8)};E.prototype.readDoubleBE=function(t,r){return t=t>>>0,r||Kt(t,8,this.length),o0.read(this,t,!1,52,8)};function Zt(e,t,r,n,i,o){if(!E.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")}E.prototype.writeUintLE=E.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;Zt(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};E.prototype.writeUintBE=E.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;Zt(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};E.prototype.writeUint8=E.prototype.writeUInt8=function(t,r,n){return t=+t,r=r>>>0,n||Zt(this,t,r,1,255,0),this[r]=t&255,r+1};E.prototype.writeUint16LE=E.prototype.writeUInt16LE=function(t,r,n){return t=+t,r=r>>>0,n||Zt(this,t,r,2,65535,0),this[r]=t&255,this[r+1]=t>>>8,r+2};E.prototype.writeUint16BE=E.prototype.writeUInt16BE=function(t,r,n){return t=+t,r=r>>>0,n||Zt(this,t,r,2,65535,0),this[r]=t>>>8,this[r+1]=t&255,r+2};E.prototype.writeUint32LE=E.prototype.writeUInt32LE=function(t,r,n){return t=+t,r=r>>>0,n||Zt(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};E.prototype.writeUint32BE=E.prototype.writeUInt32BE=function(t,r,n){return t=+t,r=r>>>0,n||Zt(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 q6(e,t,r,n,i){Q6(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 z6(e,t,r,n,i){Q6(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}E.prototype.writeBigUInt64LE=Or(function(t,r=0){return q6(this,t,r,BigInt(0),BigInt("0xffffffffffffffff"))});E.prototype.writeBigUInt64BE=Or(function(t,r=0){return z6(this,t,r,BigInt(0),BigInt("0xffffffffffffffff"))});E.prototype.writeIntLE=function(t,r,n,i){if(t=+t,r=r>>>0,!i){let u=Math.pow(2,8*n-1);Zt(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};E.prototype.writeIntBE=function(t,r,n,i){if(t=+t,r=r>>>0,!i){let u=Math.pow(2,8*n-1);Zt(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};E.prototype.writeInt8=function(t,r,n){return t=+t,r=r>>>0,n||Zt(this,t,r,1,127,-128),t<0&&(t=255+t+1),this[r]=t&255,r+1};E.prototype.writeInt16LE=function(t,r,n){return t=+t,r=r>>>0,n||Zt(this,t,r,2,32767,-32768),this[r]=t&255,this[r+1]=t>>>8,r+2};E.prototype.writeInt16BE=function(t,r,n){return t=+t,r=r>>>0,n||Zt(this,t,r,2,32767,-32768),this[r]=t>>>8,this[r+1]=t&255,r+2};E.prototype.writeInt32LE=function(t,r,n){return t=+t,r=r>>>0,n||Zt(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};E.prototype.writeInt32BE=function(t,r,n){return t=+t,r=r>>>0,n||Zt(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};E.prototype.writeBigInt64LE=Or(function(t,r=0){return q6(this,t,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});E.prototype.writeBigInt64BE=Or(function(t,r=0){return z6(this,t,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function $6(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 H6(e,t,r,n,i){return t=+t,r=r>>>0,i||$6(e,t,r,4,34028234663852886e22,-34028234663852886e22),o0.write(e,t,r,n,23,4),r+4}E.prototype.writeFloatLE=function(t,r,n){return H6(this,t,r,!0,n)};E.prototype.writeFloatBE=function(t,r,n){return H6(this,t,r,!1,n)};function G6(e,t,r,n,i){return t=+t,r=r>>>0,i||$6(e,t,r,8,17976931348623157e292,-17976931348623157e292),o0.write(e,t,r,n,52,8),r+8}E.prototype.writeDoubleLE=function(t,r,n){return G6(this,t,r,!0,n)};E.prototype.writeDoubleBE=function(t,r,n){return G6(this,t,r,!1,n)};E.prototype.copy=function(t,r,n,i){if(!E.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};E.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"&&!E.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=E.isBuffer(t)?t:E.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 i0={};function L2(e,t,r){i0[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}`}}}L2("ERR_BUFFER_OUT_OF_BOUNDS",function(e){return e?`${e} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError);L2("ERR_INVALID_ARG_TYPE",function(e,t){return`The "${e}" argument must be of type number. Received type ${typeof t}`},TypeError);L2("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=F6(String(r)):typeof r=="bigint"&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=F6(i)),i+="n"),n+=` It must be ${t}. Received ${i}`,n},RangeError);function F6(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 td(e,t,r){s0(t,"offset"),(e[t]===void 0||e[t+r]===void 0)&&oi(t,e.length-(r+1))}function Q6(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 i0.ERR_OUT_OF_RANGE("value",a,e)}td(n,i,o)}function s0(e,t){if(typeof e!="number")throw new i0.ERR_INVALID_ARG_TYPE(t,"number",e)}function oi(e,t,r){throw Math.floor(e)!==e?(s0(e,r),new i0.ERR_OUT_OF_RANGE(r||"offset","an integer",e)):t<0?new i0.ERR_BUFFER_OUT_OF_BOUNDS:new i0.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${t}`,e)}var ed=/[^+/0-9A-Za-z-_]/g;function rd(e){if(e=e.split("=")[0],e=e.trim().replace(ed,""),e.length<2)return"";for(;e.length%4!==0;)e=e+"=";return e}function R2(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 nd(e){let t=[];for(let r=0;r<e.length;++r)t.push(e.charCodeAt(r)&255);return t}function id(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 W6(e){return C2.toByteArray(rd(e))}function V1(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 Ze(e,t){return e instanceof t||e!=null&&e.constructor!=null&&e.constructor.name!=null&&e.constructor.name===t.name}function k2(e){return e!==e}var od=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 Or(e){return typeof BigInt>"u"?sd:e}function sd(){throw new Error("BigInt not supported")}});var j6=D((D2,X6)=>{var q1=Y6(),Xe=q1.Buffer;function Z6(e,t){for(var r in e)t[r]=e[r]}Xe.from&&Xe.alloc&&Xe.allocUnsafe&&Xe.allocUnsafeSlow?X6.exports=q1:(Z6(q1,D2),D2.Buffer=pn);function pn(e,t,r){return Xe(e,t,r)}pn.prototype=Object.create(Xe.prototype);Z6(Xe,pn);pn.from=function(e,t,r){if(typeof e=="number")throw new TypeError("Argument must not be a number");return Xe(e,t,r)};pn.alloc=function(e,t,r){if(typeof e!="number")throw new TypeError("Argument must be a number");var n=Xe(e);return t!==void 0?typeof r=="string"?n.fill(t,r):n.fill(t):n.fill(0),n};pn.allocUnsafe=function(e){if(typeof e!="number")throw new TypeError("Argument must be a number");return Xe(e)};pn.allocUnsafeSlow=function(e){if(typeof e!="number")throw new TypeError("Argument must be a number");return q1.SlowBuffer(e)}});var J6=D((NS,U2)=>{"use strict";var F2=65536,ad=4294967295;function ud(){throw new Error(`Secure random number generation is not supported by this browser.
|
|
16
|
-
Use Chrome, Firefox or Internet Explorer 11`)}var cd=j6().Buffer,z1=globalThis.crypto||globalThis.msCrypto;z1&&z1.getRandomValues?U2.exports=fd:U2.exports=ud;function fd(e,t){if(e>ad)throw new RangeError("requested too many random bytes");var r=cd.allocUnsafe(e);if(e>0)if(e>F2)for(var n=0;n<e;n+=F2)z1.getRandomValues(r.slice(n,n+F2));else z1.getRandomValues(r);return typeof t=="function"?process.nextTick(function(){t(null,r)}):r}});var r8=D((LS,e8)=>{"use strict";var ld=J6(),{EventEmitter:hd}=k1();function t8(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 O2(){return{contacts:[],dontSplit:!1,left:null,right:null}}function si(e,t){if(!(t instanceof Uint8Array))throw new TypeError(e+" is not a Uint8Array")}var u0=class extends hd{constructor(t={}){super(),this.localNodeId=t.localNodeId||ld(20),this.numberOfNodesPerKBucket=t.numberOfNodesPerKBucket||20,this.numberOfNodesToPing=t.numberOfNodesToPing||3,this.distance=t.distance||u0.distance,this.arbiter=t.arbiter||u0.arbiter,this.metadata=Object.assign({},t.metadata),si("option.localNodeId as parameter 1",this.localNodeId),this.root=O2()}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){si("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(si("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){si("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(t8(t.contacts[n].id,r))return n;return-1}remove(t){si("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=O2(),t.right=O2();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(!t8(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))}};e8.exports=u0});var Ad={};Lt(Ad,{EventTypes:()=>z2,MessageType:()=>$2,kadDHT:()=>Id});var Q2=Symbol.for("@libp2p/content-routing");var W2=Symbol.for("@libp2p/peer-discovery");var Y2=Symbol.for("@libp2p/peer-routing");var fi=class extends Error{code;type;constructor(t="The operation was aborted"){super(t),this.code=fi.code,this.type=fi.type}},yn=fi;so(yn,"code","ABORT_ERR"),so(yn,"type","aborted");var _=class extends Error{code;props;constructor(t,r,n){super(t),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var ae=class extends EventTarget{#t=new Map;listenerCount(t){let r=this.#t.get(t);return r==null?0:r.length}addEventListener(t,r,n){super.addEventListener(t,r,n);let i=this.#t.get(t);i==null&&(i=[],this.#t.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=this.#t.get(t);i!=null&&(i=i.filter(({callback:o})=>o!==r),this.#t.set(t,i))}dispatchEvent(t){let r=super.dispatchEvent(t),n=this.#t.get(t.type);return n==null||(n=n.filter(({once:i})=>!i),this.#t.set(t.type,n)),r}safeDispatchEvent(t,r){return this.dispatchEvent(new jt(t,r))}},ao=class extends Event{detail;constructor(t,r){super(t,r),this.detail=r?.detail}},jt=globalThis.CustomEvent??ao;var ue=$(ta(),1);var ho={};Lt(ho,{base58btc:()=>St,base58flickr:()=>k8});function T8(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],C=0,q=S-1;(T!==0||C<g)&&q!==-1;q--,C++)T+=256*L[q]>>>0,L[q]=T%a>>>0,T=T/a>>>0;if(T!==0)throw new Error("Non-zero carry");g=C,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,C=x-1;(L!==0||T<m)&&C!==-1;C--,T++)L+=a*S[C]>>>0,S[C]=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 R8=T8,P8=R8,ea=P8;var Fd=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 na=e=>new TextEncoder().encode(e),ia=e=>new TextDecoder().decode(e);var uo=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")}},co=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 sa(this,t)}},fo=class{constructor(t){this.decoders=t}or(t){return sa(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`)}},sa=(e,t)=>new fo({...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 uo(t,r,n),this.decoder=new co(t,r,i)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},vn=({name:e,prefix:t,encode:r,decode:n})=>new lo(e,t,r,n),gr=({prefix:e,name:t,alphabet:r})=>{let{encode:n,decode:i}=ea(r,t);return vn({prefix:e,name:t,encode:n,decode:o=>je(i(o))})},N8=(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},L8=(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})=>vn({prefix:t,name:e,encode(i){return L8(i,n,r)},decode(i){return N8(i,n,r,e)}});var St=gr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),k8=gr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var po={};Lt(po,{base32:()=>ge,base32hex:()=>O8,base32hexpad:()=>K8,base32hexpadupper:()=>V8,base32hexupper:()=>M8,base32pad:()=>F8,base32padupper:()=>U8,base32upper:()=>D8,base32z:()=>q8});var ge=wt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),D8=wt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),F8=wt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),U8=wt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),O8=wt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),M8=wt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),K8=wt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),V8=wt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),q8=wt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var yo={};Lt(yo,{base64:()=>Kr,base64pad:()=>z8,base64url:()=>$8,base64urlpad:()=>H8});var Kr=wt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),z8=wt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),$8=wt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),H8=wt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});ue.default.formatters.b=e=>e==null?"undefined":St.baseEncode(e);ue.default.formatters.t=e=>e==null?"undefined":ge.baseEncode(e);ue.default.formatters.m=e=>e==null?"undefined":Kr.baseEncode(e);ue.default.formatters.p=e=>e==null?"undefined":e.toString();ue.default.formatters.c=e=>e==null?"undefined":e.toString();ue.default.formatters.k=e=>e==null?"undefined":e.toString();function G8(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=G8(`${e}:trace`);return ue.default.enabled(`${e}:trace`)&&ue.default.names.map(r=>r.toString()).find(r=>r.includes(":trace"))!=null&&(t=(0,ue.default)(`${e}:trace`)),Object.assign((0,ue.default)(e),{error:(0,ue.default)(`${e}:error`),trace:t})}function Q8(e){return e[Symbol.asyncIterator]!=null}function W8(e){if(Q8(e))return(async()=>{for await(let t of e);})();for(let t of e);}var l0=W8;var pi=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}},wn=class{constructor(t={}){this.hwm=t.splitLimit??16,this.head=new pi(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 pi(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 di(e={}){return Y8(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 Y8(e,t){t=t??{};let r=t.onEnd,n=new wn,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 wn,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 wn,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 Z8(e){return e[Symbol.asyncIterator]!=null}function X8(...e){let t=[];for(let r of e)Z8(r)||t.push(r);return t.length===e.length?function*(){for(let r of t)yield*r}():async function*(){let r=di({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 me=X8;var go={};Lt(go,{identity:()=>j8});var j8=vn({prefix:"\0",name:"identity",encode:e=>ia(e),decode:e=>na(e)});var mo={};Lt(mo,{base2:()=>J8});var J8=wt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var xo={};Lt(xo,{base8:()=>tc});var tc=wt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var vo={};Lt(vo,{base10:()=>ec});var ec=gr({prefix:"9",name:"base10",alphabet:"0123456789"});var wo={};Lt(wo,{base16:()=>rc,base16upper:()=>nc});var rc=wt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),nc=wt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var bo={};Lt(bo,{base36:()=>ic,base36upper:()=>oc});var ic=gr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),oc=gr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Eo={};Lt(Eo,{base256emoji:()=>fc});var aa=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}"),sc=aa.reduce((e,t,r)=>(e[r]=t,e),[]),ac=aa.reduce((e,t,r)=>(e[t.codePointAt(0)]=r,e),[]);function uc(e){return e.reduce((t,r)=>(t+=sc[r],t),"")}function cc(e){let t=[];for(let r of e){let n=ac[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);t.push(n)}return new Uint8Array(t)}var fc=vn({prefix:"\u{1F680}",name:"base256emoji",encode:uc,decode:cc});var Bo={};Lt(Bo,{sha256:()=>mt,sha512:()=>Tc});var lc=fa,ua=128,hc=127,pc=~hc,dc=Math.pow(2,31);function fa(e,t,r){t=t||[],r=r||0;for(var n=r;e>=dc;)t[r++]=e&255|ua,e/=128;for(;e&pc;)t[r++]=e&255|ua,e>>>=7;return t[r]=e|0,fa.bytes=r-n+1,t}var yc=So,gc=128,ca=127;function So(e,n){var r=0,n=n||0,i=0,o=n,s,a=e.length;do{if(o>=a)throw So.bytes=0,new RangeError("Could not decode varint");s=e[o++],r+=i<28?(s&ca)<<i:(s&ca)*Math.pow(2,i),i+=7}while(s>=gc);return So.bytes=o-n,r}var mc=Math.pow(2,7),xc=Math.pow(2,14),vc=Math.pow(2,21),wc=Math.pow(2,28),bc=Math.pow(2,35),Ec=Math.pow(2,42),Sc=Math.pow(2,49),Ic=Math.pow(2,56),Ac=Math.pow(2,63),Bc=function(e){return e<mc?1:e<xc?2:e<vc?3:e<wc?4:e<bc?5:e<Ec?6:e<Sc?7:e<Ic?8:e<Ac?9:10},Cc={encode:lc,decode:yc,encodingLength:Bc},_c=Cc,h0=_c;var p0=(e,t=0)=>[h0.decode(e,t),h0.decode.bytes],bn=(e,t,r=0)=>(h0.encode(e,t,r),t),En=e=>h0.encodingLength(e);var Pe=(e,t)=>{let r=t.byteLength,n=En(e),i=n+En(r),o=new Uint8Array(i+r);return bn(e,o,0),bn(r,o,n),o.set(t,i),new Sn(e,r,t,o)},Vr=e=>{let t=je(e),[r,n]=p0(t),[i,o]=p0(t.subarray(n)),s=t.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new Sn(r,i,s,t)},la=(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)}},Sn=class{constructor(t,r,n,i){this.code=t,this.size=r,this.digest=n,this.bytes=i}};var Ao=({name:e,code:t,encode:r})=>new Io(e,t,r),Io=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?Pe(this.code,r):r.then(n=>Pe(this.code,n))}else throw Error("Unknown type, must be binary type")}};var pa=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),mt=Ao({name:"sha2-256",code:18,encode:pa("SHA-256")}),Tc=Ao({name:"sha2-512",code:19,encode:pa("SHA-512")});var Co={};Lt(Co,{identity:()=>mr});var da=0,Rc="identity",ya=je,Pc=e=>Pe(da,ya(e)),mr={code:da,name:Rc,encode:ya,digest:Pc};var py=new TextEncoder,dy=new TextDecoder;var ga=(e,t)=>{let{bytes:r,version:n}=e;switch(n){case 0:return Dc(r,_o(e),t||St.encoder);default:return Fc(r,_o(e),t||ge.encoder)}};var ma=new WeakMap,_o=e=>{let t=ma.get(e);if(t==null){let r=new Map;return ma.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!==d0)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==Uc)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=Pe(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&&la(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||xa(n,i,o.bytes))}else if(r[Oc]===!0){let{version:n,multihash:i,code:o}=r,s=Vr(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!==d0)throw new Error(`Version 0 CID must use dag-pb (code: ${d0}) block encoding`);return new tt(t,r,n,n.bytes)}case 1:{let i=xa(t,r,n.bytes);return new tt(t,r,n,i)}default:throw new Error("Invalid version")}}static createV0(t){return tt.create(0,d0,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 Sn(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]=p0(t.subarray(r));return r+=d,l},i=n(),o=d0;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]=kc(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}},kc=(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)]}}},Dc=(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},Fc=(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},d0=112,Uc=18,xa=(e,t,r)=>{let n=En(e),i=n+En(t),o=new Uint8Array(i+r.byteLength);return bn(e,o,0),bn(t,o,n),o.set(r,i),o},Oc=Symbol.for("@ipld/js-cid/CID");var xr={...go,...mo,...xo,...vo,...wo,...po,...bo,...ho,...yo,...Eo},Iy={...Bo,...Co};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 te(e=0){return globalThis.Buffer?.allocUnsafe!=null?Je(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function wa(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var va=wa("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),To=wa("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=te(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),Mc={utf8:va,"utf-8":va,hex:xr.base16,latin1:To,ascii:To,binary:To,...xr},gi=Mc;function M(e,t="utf8"){let r=gi[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 ba(e,t,r){if(r.length===0){let s="No records given";throw new _(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 _(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 _(s,"ERR_UNRECOGNIZED_KEY_PREFIX")}return r.length===1?0:o(t,r)}function Kc(e,t){return 0}var Ea={pk:Kc};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}async function In(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 _(s,"ERR_INVALID_RECORD_KEY_TYPE")}await o(r,t.value)}var Vc=async(e,t)=>{if(!(e instanceof Uint8Array))throw new _('"key" must be a Uint8Array',"ERR_INVALID_RECORD_KEY_NOT_BUFFER");if(e.byteLength<5)throw new _("invalid public key record","ERR_INVALID_RECORD_KEY_TOO_SHORT");if(M(e.subarray(0,4))!=="/pk/")throw new _("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 _("public key does not match passed in key","ERR_INVALID_RECORD_HASH_MISMATCH")},Sa={pk:Vc};function xe(){let e={};return e.promise=new Promise((t,r)=>{e.resolve=t,e.reject=r}),e}var Ia="/lan",Aa="/ipfs",Ba="/kad/1.0.0",Ca="/dht/record",Ro="/dht/provider";var zo=$(Do(),1),d3=$(s3(),1),y3=$($r(),1),$o=$(qo(),1),g3=$(p3(),1);function Zc(){y3.default._configure(),zo.default._configure(d3.default),$o.default._configure(g3.default)}Zc();var m3=["uint64","int64","sint64","fixed64","sfixed64"];function Xc(e){for(let t of m3){if(e[t]==null)continue;let r=e[t];e[t]=function(){return BigInt(r.call(this).toString())}}return e}function Ho(e){return Xc(new zo.default(e))}function jc(e){for(let t of m3){if(e[t]==null)continue;let r=e[t];e[t]=function(n){return r.call(this,n.toString())}}return e}function Go(){return jc($o.default.create())}function ke(e,t){let r=Ho(e instanceof Uint8Array?e:e.subarray());return t.decode(r)}function De(e,t){let r=Go();return t.encode(e,r,{lengthDelimited:!1}),r.finish()}var Bn;(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"})(Bn||(Bn={}));function bi(e,t,r,n){return{name:e,type:t,encode:r,decode:n}}function Cn(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",Bn.VARINT,r,n)}function Fe(e,t){return bi("message",Bn.LENGTH_DELIMITED,e,t)}var m0;(function(e){let t;e.codec=()=>(t==null&&(t=Fe((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=>De(r,e.codec()),e.decode=r=>ke(r,e.codec())})(m0||(m0={}));function x3(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 v3(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 m0.encode(this.prepareSerialize())}prepareSerialize(){return{key:this.key,value:this.value,timeReceived:x3(this.timeReceived)}}static deserialize(t){let r=m0.decode(t);return new Rt(r.key,r.value,new Date(r.timeReceived))}static fromDeserialized(t){let r=v3(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 tf(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 w3=tf;function ef(e){return e[Symbol.asyncIterator]!=null}function rf(e,t){if(ef(e))return async function*(){for await(let a of e)yield t(a)}();let r=w3(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 Ei=rf;var Si=globalThis.CustomEvent??Event;async function*x0(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=xe(),a=xe(),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=xe(),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 Si("task-complete"))},g=>{y.done=!0,y.err=g,i.dispatchEvent(new Si("task-complete"))})}u=!0,i.dispatchEvent(new Si("task-complete"))}catch(h){c=h,i.dispatchEvent(new Si("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=xe(),await a.promise),c!=null)throw c;if(n?yield*d():yield*p(),u&&o.length===0)break}}function be(e,...t){if(e==null)throw new Error("Empty pipeline");if(Qo(e)){let n=e;e=()=>n.source}else if(E3(e)||b3(e)){let n=e;e=()=>n}let r=[e,...t];if(r.length>1&&Qo(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++)Qo(r[n])&&(r[n]=of(r[n]));return nf(...r)}var nf=(...e)=>{let t;for(;e.length>0;)t=e.shift()(t);return t},b3=e=>e?.[Symbol.asyncIterator]!=null,E3=e=>e?.[Symbol.iterator]!=null,Qo=e=>e==null?!1:e.sink!=null&&e.source!=null,of=e=>t=>{let r=e.sink(t);if(r?.then!=null){let n=di({objectMode:!0});r.then(()=>{n.end()},s=>{n.end(s)});let i,o=e.source;if(b3(o))i=async function*(){yield*o,n.end()};else if(E3(o))i=function*(){yield*o,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return me(n,i())}return e.source};var S3=Symbol.for("@libp2p/peer-id");var sf=Symbol.for("nodejs.util.inspect.custom"),I3=Object.values(xr).map(e=>e.decoder).reduce((e,t)=>e.or(t),xr.identity.decoder),A3=114,Wo=36,Yo=37,v0=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[S3](){return!0}toString(){return this.string==null&&(this.string=St.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return tt.createV1(A3,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")}[sf](){return`PeerId(${this.toString()})`}},_n=class extends v0{constructor(t){super({...t,type:"RSA"}),this.type="RSA",this.publicKey=t.publicKey}},Tn=class extends v0{constructor(t){super({...t,type:"Ed25519"}),this.type="Ed25519",this.publicKey=t.multihash.digest}},Rn=class extends v0{constructor(t){super({...t,type:"secp256k1"}),this.type="secp256k1",this.publicKey=t.multihash.digest}};function bt(e,t){if(t=t??I3,e.charAt(0)==="1"||e.charAt(0)==="Q"){let r=Vr(St.decode(`z${e}`));return e.startsWith("12D")?new Tn({multihash:r}):e.startsWith("16U")?new Rn({multihash:r}):new _n({multihash:r})}return Gr(I3.decode(e))}function Gr(e){try{let t=Vr(e);if(t.code===mr.code){if(t.digest.length===Wo)return new Tn({multihash:t});if(t.digest.length===Yo)return new Rn({multihash:t})}if(t.code===mt.code)return new _n({multihash:t})}catch{return af(tt.decode(e))}throw new Error("Supplied PeerID CID is invalid")}function af(e){if(e==null||e.multihash==null||e.version==null||e.version===1&&e.code!==A3)throw new Error("Supplied PeerID CID is invalid");let t=e.multihash;if(t.code===mt.code)return new _n({multihash:e.multihash});if(t.code===mr.code){if(t.digest.length===Wo)return new Tn({multihash:e.multihash});if(t.digest.length===Yo)return new Rn({multihash:e.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function B3(e,t){return e.length===Wo?new Tn({multihash:Pe(mr.code,e),privateKey:t}):e.length===Yo?new Rn({multihash:Pe(mr.code,e),privateKey:t}):new _n({multihash:await mt.digest(e),publicKey:e,privateKey:t})}var Ii=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 C3=45,uf=15,Pn=new Ii;function Zo(e){if(!(e.length>uf))return Pn.new(e).parseWith(()=>Pn.readIPv4Addr())}function Xo(e){if(!(e.length>C3))return Pn.new(e).parseWith(()=>Pn.readIPv6Addr())}function Ai(e){if(!(e.length>C3))return Pn.new(e).parseWith(()=>Pn.readIPAddr())}function _3(e){return!!Zo(e)}function T3(e){return!!Xo(e)}function Nn(e){return!!Ai(e)}var R3=_3,cf=T3,jo=function(e){let t=0;if(e=e.toString().trim(),R3(e)){let r=new Uint8Array(t+4);return e.split(/\./g).forEach(n=>{r[t++]=parseInt(n,10)&255}),r}if(cf(e)){let r=e.split(":",8),n;for(n=0;n<r.length;n++){let o=R3(r[n]),s;o&&(s=jo(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")},P3=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 w0={},Jo={},lf=[[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"]];lf.forEach(e=>{let t=hf(...e);Jo[t.code]=t,w0[t.name]=t});function hf(e,t,r,n,i){return{code:e,size:t,name:r,resolvable:!!n,path:!!i}}function it(e){if(typeof e=="number"){if(Jo[e]!=null)return Jo[e];throw new Error(`no protocol with code: ${e}`)}else if(typeof e=="string"){if(w0[e]!=null)return w0[e];throw new Error(`no protocol with name: ${e}`)}throw new Error(`invalid protocol id type: ${typeof e}`)}var Ue=$(b0(),1);function xt(e,t="utf8"){let r=gi[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}`)}function ut(e,t){t==null&&(t=e.reduce((i,o)=>i+o.length,0));let r=te(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return Je(r)}var hm=parseInt("0xFFFF",16),pm=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);var $m=it("ip4"),Hm=it("ip6"),Gm=it("ipcidr");function Q3(e,t){switch(it(e).code){case 4:case 41:return Pf(t);case 42:return H3(t);case 6:case 273:case 33:case 132:return Y3(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return H3(t);case 421:return Df(t);case 444:return G3(t);case 445:return G3(t);case 466:return kf(t);default:return M(t,"base16")}}function W3(e,t){switch(it(e).code){case 4:return z3(t);case 41:return z3(t);case 42:return $3(t);case 6:case 273:case 33:case 132:return ns(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return $3(t);case 421:return Nf(t);case 444:return Ff(t);case 445:return Uf(t);case 466:return Lf(t);default:return xt(t,"base16")}}var rs=Object.values(xr).map(e=>e.decoder),Rf=function(){let e=rs[0].or(rs[1]);return rs.slice(2).forEach(t=>e=e.or(t)),e}();function z3(e){if(!Nn(e))throw new Error("invalid ip address");return jo(e)}function Pf(e){let t=P3(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 ns(e){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,e),new Uint8Array(t)}function Y3(e){return new DataView(e.buffer).getUint16(e.byteOffset)}function $3(e){let t=xt(e),r=Uint8Array.from(Ue.default.encode(t.length));return ut([r,t],r.length+t.length)}function H3(e){let t=Ue.default.decode(e);if(e=e.slice(Ue.default.decode.bytes),e.length!==t)throw new Error("inconsistent lengths");return M(e)}function Nf(e){let t;e[0]==="Q"||e[0]==="1"?t=Vr(St.decode(`z${e}`)).bytes:t=tt.parse(e).multihash.bytes;let r=Uint8Array.from(Ue.default.encode(t.length));return ut([r,t],r.length+t.length)}function Lf(e){let t=Rf.decode(e),r=Uint8Array.from(Ue.default.encode(t.length));return ut([r,t],r.length+t.length)}function kf(e){let t=Ue.default.decode(e),r=e.slice(Ue.default.decode.bytes);if(r.length!==t)throw new Error("inconsistent lengths");return"u"+M(r,"base64url")}function Df(e){let t=Ue.default.decode(e),r=e.slice(Ue.default.decode.bytes);if(r.length!==t)throw new Error("inconsistent lengths");return M(r,"base58btc")}function Ff(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=ns(n);return ut([r,i],r.length+i.length)}function Uf(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=ns(n);return ut([r,i],r.length+i.length)}function G3(e){let t=e.slice(0,e.length-2),r=e.slice(e.length-2),n=M(t,"base32"),i=Y3(r);return`${n}:${i}`}var Ln=$(b0(),1);function Of(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=it(i);if(o.size===0){t.push([i]);continue}if(n++,n>=r.length)throw X3("invalid address: "+e);if(o.path===!0){t.push([i,us(r.slice(n).join("/"))]);break}t.push([i,r[n]])}return t}function Mf(e){let t=[];return e.map(r=>{let n=_i(r);return t.push(n.name),r.length>1&&r[1]!=null&&t.push(r[1]),null}),us(t.join("/"))}function Kf(e){return e.map(t=>{Array.isArray(t)||(t=[t]);let r=_i(t);return t.length>1?[r.code,W3(r.code,t[1])]:[r.code]})}function is(e){return e.map(t=>{let r=_i(t);return t[1]!=null?[r.code,Q3(r.code,t[1])]:[r.code]})}function os(e){return Ci(ut(e.map(t=>{let r=_i(t),n=Uint8Array.from(Ln.default.encode(r.code));return t.length>1&&t[1]!=null&&(n=ut([n,t[1]])),n})))}function ss(e,t){return e.size>0?e.size/8:e.size===0?0:Ln.default.decode(t)+(Ln.default.decode.bytes??0)}function Bi(e){let t=[],r=0;for(;r<e.length;){let n=Ln.default.decode(e,r),i=Ln.default.decode.bytes??0,o=it(n),s=ss(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 X3("Invalid address Uint8Array: "+M(e,"base16"));t.push([n,a])}return t}function as(e){let t=Bi(e),r=is(t);return Mf(r)}function Vf(e){e=us(e);let t=Of(e),r=Kf(t);return os(r)}function Z3(e){return Vf(e)}function Ci(e){let t=qf(e);if(t!=null)throw t;return Uint8Array.from(e)}function qf(e){try{Bi(e)}catch(t){return t}}function us(e){return"/"+e.trim().split("/").filter(t=>t).join("/")}function X3(e){return new Error("Error parsing address: "+e)}function _i(e){return it(e[0])}var fs=$(b0(),1);var er=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)},kn=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},E0,S0,I0,br,j3,$f=Symbol.for("nodejs.util.inspect.custom"),Hf=[it("dns").code,it("dns4").code,it("dns6").code,it("dnsaddr").code],Gf=new Map,J3=Symbol.for("@multiformats/js-multiaddr/multiaddr");function Qf(e){return!!e?.[J3]}var rr=class{constructor(t){if(E0.set(this,void 0),S0.set(this,void 0),I0.set(this,void 0),br.set(this,void 0),this[j3]=!0,t==null&&(t=""),t instanceof Uint8Array)this.bytes=Ci(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);this.bytes=Z3(t)}else if(Qf(t))this.bytes=Ci(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr")}toString(){return er(this,E0,"f")==null&&kn(this,E0,as(this.bytes),"f"),er(this,E0,"f")}toJSON(){return this.toString()}toOptions(){let t,r,n,i,o="",s=it("tcp"),a=it("udp"),u=it("ip4"),c=it("ip6"),f=it("dns6"),l=it("ip6zone");for(let[p,h]of this.stringTuples())p===l.code&&(o=`%${h??""}`),Hf.includes(p)&&(r=s.name,i=443,n=`${h??""}${o}`,t=p===f.code?6:4),(p===s.code||p===a.code)&&(r=it(p).name,i=parseInt(h??"")),(p===u.code||p===c.code)&&(r=it(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({},it(t)))}protoCodes(){let t=[],r=this.bytes,n=0;for(;n<r.length;){let i=fs.default.decode(r,n),o=fs.default.decode.bytes??0,s=it(i),a=ss(s,r.slice(n+o));n+=a+o,t.push(i)}return t}protoNames(){return this.protos().map(t=>t.name)}tuples(){return er(this,S0,"f")==null&&kn(this,S0,Bi(this.bytes),"f"),er(this,S0,"f")}stringTuples(){return er(this,I0,"f")==null&&kn(this,I0,is(this.tuples()),"f"),er(this,I0,"f")}encapsulate(t){return t=new rr(t),new rr(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 rr(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 rr(os(r.slice(0,n)));return this}getPeerId(){try{let r=this.stringTuples().filter(n=>n[0]===w0.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(er(this,br,"f")===void 0)try{kn(this,br,this.stringTuples().filter(t=>it(t[0]).path===!0)[0][1],"f"),er(this,br,"f")==null&&kn(this,br,null,"f")}catch{kn(this,br,null,"f")}return er(this,br,"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=Gf.get(r.name);if(n==null)throw new _(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,t)).map(o=>new rr(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)}[(E0=new WeakMap,S0=new WeakMap,I0=new WeakMap,br=new WeakMap,j3=J3,$f)](){return`Multiaddr(${as(this.bytes)})`}};function cs(e){return new rr(e)}var t4;(function(e){let t;e.codec=()=>(t==null&&(t=Fe((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=>De(r,e.codec()),e.decode=r=>ke(r,e.codec())})(t4||(t4={}));var Er;(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=()=>Cn(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=()=>Cn(i)}(n=e.ConnectionType||(e.ConnectionType={}));let o;(function(a){let u;a.codec=()=>(u==null&&(u=Fe((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=>De(c,a.codec()),a.decode=c=>ke(c,a.codec())})(o=e.Peer||(e.Peer={}));let s;e.codec=()=>(s==null&&(s=Fe((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=>De(a,e.codec()),e.decode=a=>ke(a,e.codec())})(Er||(Er={}));var At=Er.MessageType,Wf=Er.ConnectionType,n4=Object.keys(At),dt=class{type;key;clusterLevelRaw;closerPeers;providerPeers;record;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 Er.encode({key:this.key,type:this.type,clusterLevelRaw:this.clusterLevelRaw,closerPeers:this.closerPeers.map(e4),providerPeers:this.providerPeers.map(e4),record:this.record==null?void 0:this.record.serialize().subarray()})}static deserialize(t){let r=Er.decode(t),n=new dt(r.type??Er.MessageType.PUT_VALUE,r.key??Uint8Array.from([]),r.clusterLevelRaw??0);return n.closerPeers=r.closerPeers.map(r4),n.providerPeers=r.providerPeers.map(r4),r.record?.length!=null&&(n.record=Rt.deserialize(r.record)),n}};function e4(e){return{id:e.id.toBytes(),addrs:(e.multiaddrs??[]).map(r=>r.bytes),connection:Wf.CONNECTED}}function r4(e){if(e.id==null)throw new Error("Invalid peer in message");return{id:Gr(e.id),multiaddrs:(e.addrs??[]).map(t=>cs(t)),protocols:[]}}function ls(e){return{...e,name:"SENDING_QUERY",type:0,messageName:e.type,messageType:n4.indexOf(e.type.toString())}}function A0(e){return{...e,name:"PEER_RESPONSE",type:1,messageName:e.messageType,closer:e.closer!=null?e.closer:[],providers:e.providers!=null?e.providers:[]}}function B0(e){return{...e,name:"FINAL_PEER",type:2}}function zt(e){return{...e,name:"QUERY_ERROR",type:3}}function hs(e){return{...e,name:"PROVIDER",type:4}}function C0(e){return{...e,name:"VALUE",type:5}}function ps(e){return{...e,name:"DIALING_PEER",type:7}}var i4=(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 nr="/",o4=new TextEncoder().encode(nr),Ti=o4[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]!==Ti)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(nr))}static random(){return new Dt(i4().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=o4),this._buf[0]!==Ti){let t=new Uint8Array(this._buf.byteLength+1);t.fill(Ti,0,1),t.set(this._buf,1),this._buf=t}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===Ti;)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(nr).slice(1)}type(){return Yf(this.baseNamespace())}name(){return Zf(this.baseNamespace())}instance(t){return new Dt(this.toString()+":"+t)}path(){let t=this.parent().toString();return t.endsWith(nr)||(t+=nr),t+=this.type(),new Dt(t)}parent(){let t=this.list();return t.length===1?new Dt(nr):new Dt(t.slice(0,-1).join(nr))}child(t){return this.toString()===nr?t:t.toString()===nr?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(),...Xf(t.map(r=>r.namespaces()))])}};function Yf(e){let t=e.split(":");return t.length<2?"":t.slice(0,-1).join(":")}function Zf(e){let t=e.split(":");return t[t.length-1]}function Xf(e){return[].concat(...e)}var h4=$(s4(),1);var a4="[a-fA-F\\d:]",Sr=e=>e&&e.includeBoundaries?`(?:(?<=\\s|^)(?=${a4})|(?<=${a4})(?=\\s|$))`:"",Ee="(?: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}",Ri=`
|
|
15
|
+
`+a+t.substr(s+1),o=i-s-1,s=-1,++i}else(t[i]===" "||t[i]===" "||t[i]===",")&&(s=i);return t}function H7(e){return e.replace(/^\s+/,"")}});var l5=D((bw,f5)=>{var Ke=nt();jr();Bt();var a5=f5.exports=Ke.sha256=Ke.sha256||{};Ke.md.sha256=Ke.md.algorithms.sha256=a5;a5.create=function(){u5||G7();var e=null,t=Ke.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=Ke.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=Ke.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),s5(e,r,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=Ke.util.createBuffer();i.putBytes(t.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(Ls.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};s5(l,r,i);var d=Ke.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 Ls=null,u5=!1,c5=null;function G7(){Ls=String.fromCharCode(128),Ls+=Ke.util.fillString(String.fromCharCode(0),64),c5=[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],u5=!0}function s5(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+c5[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 p5=D((Ew,h5)=>{var Ve=nt();Bt();var Zi=null;Ve.util.isNodejs&&!Ve.options.usePureJavaScript&&!process.versions["node-webkit"]&&(Zi=Vn());var Q7=h5.exports=Ve.prng=Ve.prng||{};Q7.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=Ve.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 Ve.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)),Ve.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=Ve.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=Ve.util.globalScope,d=l.crypto||l.msCrypto;d&&d.getRandomValues&&(f=function(T){return d.getRandomValues(T)});var p=Ve.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,b,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)b=L>>>(g<<3),b^=Math.floor(Math.random()*256),p.putByte(b&255)}return p.getBytes(c)}return Zi?(t.seedFile=function(c,f){Zi.randomBytes(c,function(l,d){if(l)return f(l);f(null,d.toString())})},t.seedFileSync=function(c){return Zi.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((Sw,ks)=>{var Ot=nt();zi();l5();p5();Bt();(function(){if(Ot.random&&Ot.random.getBytes){ks.exports=Ot.random;return}(function(e){var t={},r=new Array(4),n=Ot.util.createBuffer();t.formatKey=function(l){var d=Ot.util.createBuffer(l);return l=new Array(4),l[0]=d.getInt32(),l[1]=d.getInt32(),l[2]=d.getInt32(),l[3]=d.getInt32(),Ot.aes._expandKey(l,!1)},t.formatSeed=function(l){var d=Ot.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 Ot.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=Ot.md.sha256;function i(){var l=Ot.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=Ot.util.globalScope,u=a.crypto||a.msCrypto;if(u&&u.getRandomValues&&(s=function(l){return u.getRandomValues(l)}),Ot.options.usePureJavaScript||!Ot.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(!Ot.random)Ot.random=o;else for(var f in o)Ot.random[f]=o[f];Ot.random.createInstance=i,ks.exports=Ot.random})(typeof jQuery<"u"?jQuery:null)})()});var m5=D((Iw,g5)=>{var Wt=nt();Bt();var Ds=[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],d5=[1,2,3,5],W7=function(e,t){return e<<t&65535|(e&65535)>>16-t},Y7=function(e,t){return(e&65535)>>t|e<<16-t&65535};g5.exports=Wt.rc2=Wt.rc2||{};Wt.rc2.expandKey=function(e,t){typeof e=="string"&&(e=Wt.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(Ds[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-o,Ds[r.at(128-o)&s]),a=127-o;a>=0;a--)r.setAt(a,Ds[r.at(a+1)^r.at(a+o)]);return r};var y5=function(e,t,r){var n=!1,i=null,o=null,s=null,a,u,c,f,l=[];for(e=Wt.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]=W7(h[c],d5[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]=Y7(h[c],d5[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=Wt.util.createBuffer(h)),n=!1,i=Wt.util.createBuffer(),o=y||new Wt.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};Wt.rc2.startEncrypting=function(e,t,r){var n=Wt.rc2.createEncryptionCipher(e,128);return n.start(t,r),n};Wt.rc2.createEncryptionCipher=function(e,t){return y5(e,t,!0)};Wt.rc2.startDecrypting=function(e,t,r){var n=Wt.rc2.createDecryptionCipher(e,128);return n.start(t,r),n};Wt.rc2.createDecryptionCipher=function(e,t){return y5(e,t,!1)}});var Ji=D((Aw,A5)=>{var Fs=nt();A5.exports=Fs.jsbn=Fs.jsbn||{};var sr,Z7=0xdeadbeefcafe,x5=(Z7&16777215)==15715070;function I(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))}Fs.jsbn.BigInteger=I;function j(){return new I(null)}function X7(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 j7(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 v5(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"?(I.prototype.am=v5,sr=28):x5&&navigator.appName=="Microsoft Internet Explorer"?(I.prototype.am=j7,sr=30):x5&&navigator.appName!="Netscape"?(I.prototype.am=X7,sr=26):(I.prototype.am=v5,sr=28);I.prototype.DB=sr;I.prototype.DM=(1<<sr)-1;I.prototype.DV=1<<sr;var Us=52;I.prototype.FV=Math.pow(2,Us);I.prototype.F1=Us-sr;I.prototype.F2=2*sr-Us;var J7="0123456789abcdefghijklmnopqrstuvwxyz",Xi=new Array,qn,ce;qn="0".charCodeAt(0);for(ce=0;ce<=9;++ce)Xi[qn++]=ce;qn="a".charCodeAt(0);for(ce=10;ce<36;++ce)Xi[qn++]=ce;qn="A".charCodeAt(0);for(ce=10;ce<36;++ce)Xi[qn++]=ce;function w5(e){return J7.charAt(e)}function b5(e,t){var r=Xi[e.charCodeAt(t)];return r??-1}function tl(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 el(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 Br(e){var t=j();return t.fromInt(e),t}function rl(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:b5(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&&I.ZERO.subTo(this,this)}function nl(){for(var e=this.s&this.DM;this.t>0&&this.data[this.t-1]==e;)--this.t}function il(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=w5(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+=w5(n));return i?o:"0"}function ol(){var e=j();return I.ZERO.subTo(this,e),e}function sl(){return this.s<0?this.negate():this}function al(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 ji(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 ul(){return this.t<=0?0:this.DB*(this.t-1)+ji(this.data[this.t-1]^this.s&this.DM)}function cl(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 fl(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 ll(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 hl(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 pl(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 dl(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&&I.ZERO.subTo(t,t)}function yl(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 gl(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-ji(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)),I.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&&I.ZERO.subTo(t,t)),r.t=c,r.clamp(),u>0&&r.rShiftTo(u,r),s<0&&I.ZERO.subTo(r,r)}}}function ml(e){var t=j();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(I.ZERO)>0&&e.subTo(t,t),t}function Jr(e){this.m=e}function xl(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e}function vl(e){return e}function wl(e){e.divRemTo(this.m,null,e)}function bl(e,t,r){e.multiplyTo(t,r),this.reduce(r)}function El(e,t){e.squareTo(t),this.reduce(t)}Jr.prototype.convert=xl;Jr.prototype.revert=vl;Jr.prototype.reduce=wl;Jr.prototype.mulTo=bl;Jr.prototype.sqrTo=El;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 tn(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 Il(e){var t=j();return e.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),e.s<0&&t.compareTo(I.ZERO)>0&&this.m.subTo(t,t),t}function Al(e){var t=j();return e.copyTo(t),this.reduce(t),t}function Bl(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 _l(e,t,r){e.multiplyTo(t,r),this.reduce(r)}tn.prototype.convert=Il;tn.prototype.revert=Al;tn.prototype.reduce=Bl;tn.prototype.mulTo=_l;tn.prototype.sqrTo=Cl;function Tl(){return(this.t>0?this.data[0]&1:this.s)==0}function Rl(e,t){if(e>4294967295||e<1)return I.ONE;var r=j(),n=j(),i=t.convert(this),o=ji(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 Jr(t):r=new tn(t),this.exp(e,r)}I.prototype.copyTo=tl;I.prototype.fromInt=el;I.prototype.fromString=rl;I.prototype.clamp=nl;I.prototype.dlShiftTo=cl;I.prototype.drShiftTo=fl;I.prototype.lShiftTo=ll;I.prototype.rShiftTo=hl;I.prototype.subTo=pl;I.prototype.multiplyTo=dl;I.prototype.squareTo=yl;I.prototype.divRemTo=gl;I.prototype.invDigit=Sl;I.prototype.isEven=Tl;I.prototype.exp=Rl;I.prototype.toString=il;I.prototype.negate=ol;I.prototype.abs=sl;I.prototype.compareTo=al;I.prototype.bitLength=ul;I.prototype.mod=ml;I.prototype.modPowInt=Pl;I.ZERO=Br(0);I.ONE=Br(1);function Nl(){var e=j();return this.copyTo(e),e}function Ll(){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 kl(){return this.t==0?this.s:this.data[0]<<24>>24}function Dl(){return this.t==0?this.s:this.data[0]<<16>>16}function Fl(e){return Math.floor(Math.LN2*this.DB/Math.log(e))}function Ul(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function Ol(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=Br(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 Ml(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=b5(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&&I.ZERO.subTo(this,this)}function Kl(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(I.ONE.shiftLeft(e-1),Os,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(t);)this.dAddOffset(2,0),this.bitLength()>e&&this.subTo(I.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 Vl(){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 ql(e){return this.compareTo(e)==0}function zl(e){return this.compareTo(e)<0?this:e}function $l(e){return this.compareTo(e)>0?this:e}function Hl(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 Gl(e,t){return e&t}function Ql(e){var t=j();return this.bitwiseTo(e,Gl,t),t}function Os(e,t){return e|t}function Wl(e){var t=j();return this.bitwiseTo(e,Os,t),t}function E5(e,t){return e^t}function Yl(e){var t=j();return this.bitwiseTo(e,E5,t),t}function S5(e,t){return e&~t}function Zl(e){var t=j();return this.bitwiseTo(e,S5,t),t}function Xl(){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 jl(e){var t=j();return e<0?this.rShiftTo(-e,t):this.lShiftTo(e,t),t}function Jl(e){var t=j();return e<0?this.lShiftTo(-e,t):this.rShiftTo(e,t),t}function t9(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 e9(){for(var e=0;e<this.t;++e)if(this.data[e]!=0)return e*this.DB+t9(this.data[e]);return this.s<0?this.t*this.DB:-1}function r9(e){for(var t=0;e!=0;)e&=e-1,++t;return t}function n9(){for(var e=0,t=this.s&this.DM,r=0;r<this.t;++r)e+=r9(this.data[r]^t);return e}function i9(e){var t=Math.floor(e/this.DB);return t>=this.t?this.s!=0:(this.data[t]&1<<e%this.DB)!=0}function o9(e,t){var r=I.ONE.shiftLeft(e);return this.bitwiseTo(r,t,r),r}function s9(e){return this.changeBit(e,Os)}function a9(e){return this.changeBit(e,S5)}function u9(e){return this.changeBit(e,E5)}function c9(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 f9(e){var t=j();return this.addTo(e,t),t}function l9(e){var t=j();return this.subTo(e,t),t}function h9(e){var t=j();return this.multiplyTo(e,t),t}function p9(e){var t=j();return this.divRemTo(e,t,null),t}function d9(e){var t=j();return this.divRemTo(e,null,t),t}function y9(e){var t=j(),r=j();return this.divRemTo(e,t,r),new Array(t,r)}function g9(e){this.data[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()}function m9(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 I5(e){return e}function x9(e,t,r){e.multiplyTo(t,r)}function v9(e,t){e.squareTo(t)}k0.prototype.convert=I5;k0.prototype.revert=I5;k0.prototype.mulTo=x9;k0.prototype.sqrTo=v9;function w9(e){return this.exp(e,new k0)}function b9(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 E9(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 zn(e){this.r2=j(),this.q3=j(),I.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 I9(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 B9(e,t){e.squareTo(t),this.reduce(t)}function C9(e,t,r){e.multiplyTo(t,r),this.reduce(r)}zn.prototype.convert=S9;zn.prototype.revert=I9;zn.prototype.reduce=A9;zn.prototype.mulTo=C9;zn.prototype.sqrTo=B9;function _9(e,t){var r=e.bitLength(),n,i=Br(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 Jr(t):t.isEven()?o=new zn(t):o=new tn(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=ji(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 T9(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 R9(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 I.ZERO;for(var r=e.clone(),n=this.clone(),i=Br(1),o=Br(0),s=Br(0),a=Br(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(I.ONE)!=0)return I.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 Ie=[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],N9=(1<<26)/Ie[Ie.length-1];function L9(e){var t,r=this.abs();if(r.t==1&&r.data[0]<=Ie[Ie.length-1]){for(t=0;t<Ie.length;++t)if(r.data[0]==Ie[t])return!0;return!1}if(r.isEven())return!1;for(t=1;t<Ie.length;){for(var n=Ie[t],i=t+1;i<Ie.length&&n<N9;)n*=Ie[i++];for(n=r.modInt(n);t<i;)if(n%Ie[t++]==0)return!1}return r.millerRabin(e)}function k9(e){var t=this.subtract(I.ONE),r=t.getLowestSetBit();if(r<=0)return!1;for(var n=t.shiftRight(r),i=D9(),o,s=0;s<e;++s){do o=new I(this.bitLength(),i);while(o.compareTo(I.ONE)<=0||o.compareTo(t)>=0);var a=o.modPow(n,this);if(a.compareTo(I.ONE)!=0&&a.compareTo(t)!=0){for(var u=1;u++<r&&a.compareTo(t)!=0;)if(a=a.modPowInt(2,this),a.compareTo(I.ONE)==0)return!1;if(a.compareTo(t)!=0)return!1}}return!0}function D9(){return{nextBytes:function(e){for(var t=0;t<e.length;++t)e[t]=Math.floor(Math.random()*256)}}}I.prototype.chunkSize=Fl;I.prototype.toRadix=Ol;I.prototype.fromRadix=Ml;I.prototype.fromNumber=Kl;I.prototype.bitwiseTo=Hl;I.prototype.changeBit=o9;I.prototype.addTo=c9;I.prototype.dMultiply=g9;I.prototype.dAddOffset=m9;I.prototype.multiplyLowerTo=b9;I.prototype.multiplyUpperTo=E9;I.prototype.modInt=R9;I.prototype.millerRabin=k9;I.prototype.clone=Nl;I.prototype.intValue=Ll;I.prototype.byteValue=kl;I.prototype.shortValue=Dl;I.prototype.signum=Ul;I.prototype.toByteArray=Vl;I.prototype.equals=ql;I.prototype.min=zl;I.prototype.max=$l;I.prototype.and=Ql;I.prototype.or=Wl;I.prototype.xor=Yl;I.prototype.andNot=Zl;I.prototype.not=Xl;I.prototype.shiftLeft=jl;I.prototype.shiftRight=Jl;I.prototype.getLowestSetBit=e9;I.prototype.bitCount=n9;I.prototype.testBit=i9;I.prototype.setBit=s9;I.prototype.clearBit=a9;I.prototype.flipBit=u9;I.prototype.add=f9;I.prototype.subtract=l9;I.prototype.multiply=h9;I.prototype.divide=p9;I.prototype.remainder=d9;I.prototype.divideAndRemainder=y9;I.prototype.modPow=_9;I.prototype.modInverse=P9;I.prototype.pow=w9;I.prototype.gcd=T9;I.prototype.isProbablePrime=L9});var R5=D((Bw,T5)=>{var qe=nt();jr();Bt();var C5=T5.exports=qe.sha1=qe.sha1||{};qe.md.sha1=qe.md.algorithms.sha1=C5;C5.create=function(){_5||F9();var e=null,t=qe.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=qe.util.createBuffer(),e={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},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),B5(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};B5(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},n};var Ms=null,_5=!1;function F9(){Ms=String.fromCharCode(128),Ms+=qe.util.fillString(String.fromCharCode(0),64),_5=!0}function B5(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 L5=D((Cw,N5)=>{var ze=nt();Bt();L0();R5();var P5=N5.exports=ze.pkcs1=ze.pkcs1||{};P5.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=ze.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=ze.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=t1(i,a-o.digestLength-1,s),g=ze.util.xorBytes(h,y,h.length),m=t1(g,o.digestLength,s),x=ze.util.xorBytes(i,m,i.length);return"\0"+x+g};P5.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=ze.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=t1(f,i.digestLength,o),d=ze.util.xorBytes(c,l,c.length),p=t1(d,s-i.digestLength-1,o),h=ze.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,b=i.digestLength,L=i.digestLength;L<h.length;L++){var T=h.charCodeAt(L),C=T&1^1,q=x?65534:0;g|=T&q,x=x&C,b+=x}if(g||h.charCodeAt(b)!==1)throw new Error("Invalid RSAES-OAEP padding.");return h.substring(b+1)};function t1(e,t,r){r||(r=ze.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 k5=D((_w,Ks)=>{var Cr=nt();Bt();Ji();L0();(function(){if(Cr.prime){Ks.exports=Cr.prime;return}var e=Ks.exports=Cr.prime=Cr.prime||{},t=Cr.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||Cr.random,g={nextBytes:function(m){for(var x=y.getBytesSync(m.length),b=0;b<m.length;++b)m[b]=x.charCodeAt(b)}};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);Cr.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,b=p.workerScript||"forge/prime.worker.js";if(g===-1)return Cr.util.estimateCores(function(T,C){T&&(C=2),g=C-1,L()});L();function L(){g=Math.max(1,g);for(var T=[],C=0;C<g;++C)T[C]=new Worker(b);for(var q=g,C=0;C<g;++C)T[C].addEventListener("message",Nt);var G=!1;function Nt(de){if(!G){--q;var Xt=de.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 dn=y.toString(16);de.target.postMessage({hex:dn,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 r1=D((Tw,V5)=>{var U=nt();N0();Ji();$i();L5();k5();L0();Bt();typeof W>"u"&&(W=U.jsbn.BigInteger);var W,Vs=U.util.isNodejs?Vn():null,w=U.asn1,fe=U.util;U.pki=U.pki||{};V5.exports=U.pki.rsa=U.rsa=U.rsa||{};var K=U.pki,U9=[6,4,2,4,2,4,6,2],O9={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"}]},M9={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"}]},K9={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"}]},V9=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"}]}]},q9={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"}]},z9=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()},M5=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=K5(e,t,r)):(i=U.util.createBuffer(),i.putBytes(e));for(var s=new W(i.toHex(),16),a=M5(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=M5(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?e1(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(H9(e.num.bitLength()))?++e.pqState:e.num.dAddOffset(U9[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(D5("generateKeyPair"))return Vs.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(F5("generateKey")&&F5("exportKey"))return fe.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:O5(t),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return fe.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(U5("generateKey")&&U5("exportKey")){var i=fe.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:O5(t),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var u=a.target.result,c=fe.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(D5("generateKeyPairSync")){var o=Vs.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;$9(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 K5(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=e1(c,r,!0);var f=w.fromDer(c,{parseAllBytes:s._parseAllDigestBytes}),l={},d=[];if(!w.validate(f,q9,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=e1(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:e1};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:z9},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,O9,t,r)&&(e=w.fromDer(U.util.createBuffer(t.privateKey))),t={},r=[],!w.validate(e,M9,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,$e(e.n)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,$e(e.e)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,$e(e.d)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,$e(e.p)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,$e(e.q)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,$e(e.dP)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,$e(e.dQ)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,$e(e.qInv))])};K.publicKeyFromAsn1=function(e){var t={},r=[];if(w.validate(e,V9,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,K9,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,$e(e.n)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,$e(e.e))])};function K5(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 e1(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 $9(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 $e(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 H9(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 D5(e){return U.util.isNodejs&&typeof Vs[e]=="function"}function F5(e){return typeof fe.globalScope<"u"&&typeof fe.globalScope.crypto=="object"&&typeof fe.globalScope.crypto.subtle=="object"&&typeof fe.globalScope.crypto.subtle[e]=="function"}function U5(e){return typeof fe.globalScope<"u"&&typeof fe.globalScope.msCrypto=="object"&&typeof fe.globalScope.msCrypto.subtle=="object"&&typeof fe.globalScope.msCrypto.subtle[e]=="function"}function O5(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 Q5=D((Rw,G5)=>{var P=nt();zi();N0();j4();jr();$i();Ns();o5();L0();m5();r1();Bt();typeof q5>"u"&&(q5=P.jsbn.BigInteger);var q5,E=P.asn1,V=P.pki=P.pki||{};G5.exports=V.pbe=P.pbe=P.pbe||{};var en=V.oids,G9={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"}]},Q9={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"}]}]},W9={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=en["aes128-CBC"],l=P.aes.createEncryptionCipher;break;case"aes192":s=24,c=16,f=en["aes192-CBC"],l=P.aes.createEncryptionCipher;break;case"aes256":s=32,c=16,f=en["aes256-CBC"],l=P.aes.createEncryptionCipher;break;case"des":s=8,c=8,f=en.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=H5(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=Y9(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(en.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(en.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 b=new P.util.ByteBuffer(n),y=V.pbe.generatePkcs12Key(t,b,1,i,s),g=V.pbe.generatePkcs12Key(t,b,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(en["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,G9,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 b=g;b.putBuffer(x);for(var L=Math.ceil(i/u),T=1;T<=L;T++){var C=new P.util.ByteBuffer;C.putBytes(h.bytes()),C.putBytes(b.bytes());for(var q=0;q<n;q++)o.start(),o.update(C.getBytes()),C=o.digest();var G=new P.util.ByteBuffer;for(a=0;a<c;a++)G.putByte(C.at(a%u));var Nt=Math.ceil(p/c)+Math.ceil(d/c),de=new P.util.ByteBuffer;for(s=0;s<Nt;s++){var Xt=new P.util.ByteBuffer(b.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);de.putBuffer(Xt)}b=de,f.putBuffer(C)}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,Q9,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=$5(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,W9,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=$5(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=[z5(n,e+t)],o=16,s=1;o<r;++s,o+=16)i.push(z5(n,i[s-1]+e+t));return i.join("").substr(0,r)};function z5(e,t){return e.start().update(t).digest().getBytes()}function $5(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 H5(t)}function H5(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 Y9(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 Eu=D((lb,bu)=>{var ht=nt();jr();Bt();var K0=bu.exports=ht.sha512=ht.sha512||{};ht.md.sha512=ht.md.algorithms.sha512=K0;var vu=ht.sha384=ht.sha512.sha384=ht.sha512.sha384||{};vu.create=function(){return K0.create("SHA-384")};ht.md.sha384=ht.md.algorithms.sha384=vu;ht.sha512.sha256=ht.sha512.sha256||{create:function(){return K0.create("SHA-512/256")}};ht.md["sha512/256"]=ht.md.algorithms["sha512/256"]=ht.sha512.sha256;ht.sha512.sha224=ht.sha512.sha224||{create:function(){return K0.create("SHA-512/224")}};ht.md["sha512/224"]=ht.md.algorithms["sha512/224"]=ht.sha512.sha224;K0.create=function(e){if(wu||wh(),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=ht.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=ht.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=ht.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),xu(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var u=ht.util.createBuffer();u.putBytes(n.bytes());var c=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,f=c&a.blockLength-1;u.putBytes(e2.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);xu(y,i,u);var g=ht.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 e2=null,wu=!1,r2=null,on=null;function wh(){e2=String.fromCharCode(128),e2+=ht.util.fillString(String.fromCharCode(0),128),r2=[[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]],wu=!0}function xu(e,t,r){for(var n,i,o,s,a,u,c,f,l,d,p,h,y,g,m,x,b,L,T,C,q,G,Nt,de,Xt,qt,dn,ui,Tt,Qt,O,ro,no,io,oo,G2=r.length();G2>=128;){for(Tt=0;Tt<16;++Tt)t[Tt][0]=r.getInt32()>>>0,t[Tt][1]=r.getInt32()>>>0;for(;Tt<80;++Tt)ro=t[Tt-2],Qt=ro[0],O=ro[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,io=t[Tt-15],Qt=io[0],O=io[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,no=t[Tt-7],oo=t[Tt-16],O=i+no[1]+s+oo[1],t[Tt][0]=n+no[0]+o+oo[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],b=e[2][0],L=e[2][1],T=e[3][0],C=e[3][1],q=e[4][0],G=e[4][1],Nt=e[5][0],de=e[5][1],Xt=e[6][0],qt=e[6][1],dn=e[7][0],ui=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&(de^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|b&(y^m))>>>0,h=(g&x|L&(g^x))>>>0,O=ui+f+d+r2[Tt][1]+t[Tt][1],n=dn+c+l+r2[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,dn=Xt,ui=qt,Xt=Nt,qt=de,Nt=q,de=G,O=C+i,q=T+n+(O/4294967296>>>0)>>>0,G=O>>>0,T=b,C=L,b=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]+b+(O/4294967296>>>0)>>>0,e[2][1]=O>>>0,O=e[3][1]+C,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]+de,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]+ui,e[7][0]=e[7][0]+dn+(O/4294967296>>>0)>>>0,e[7][1]=O>>>0,G2-=128}}});var e6=D((wE,t6)=>{t6.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 n6=D((bE,g2)=>{"use strict";var ip=Object.prototype.hasOwnProperty,Gt="~";function Y0(){}Object.create&&(Y0.prototype=Object.create(null),new Y0().__proto__||(Gt=!1));function op(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function r6(e,t,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var o=new op(r,n||e,i),s=Gt?Gt+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 E1(e,t){--e._eventsCount===0?e._events=new Y0:delete e._events[t]}function Vt(){this._events=new Y0,this._eventsCount=0}Vt.prototype.eventNames=function(){var t=[],r,n;if(this._eventsCount===0)return t;for(n in r=this._events)ip.call(r,n)&&t.push(Gt?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(r)):t};Vt.prototype.listeners=function(t){var r=Gt?Gt+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=Gt?Gt+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=Gt?Gt+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 r6(this,t,r,n,!1)};Vt.prototype.once=function(t,r,n){return r6(this,t,r,n,!0)};Vt.prototype.removeListener=function(t,r,n,i){var o=Gt?Gt+t:t;if(!this._events[o])return this;if(!r)return E1(this,o),this;var s=this._events[o];if(s.fn)s.fn===r&&(!i||s.once)&&(!n||s.context===n)&&E1(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:E1(this,o)}return this};Vt.prototype.removeAllListeners=function(t){var r;return t?(r=Gt?Gt+t:t,this._events[r]&&E1(this,r)):(this._events=new Y0,this._eventsCount=0),this};Vt.prototype.off=Vt.prototype.removeListener;Vt.prototype.addListener=Vt.prototype.on;Vt.prefixed=Gt;Vt.EventEmitter=Vt;typeof g2<"u"&&(g2.exports=Vt)});var k1=D((FE,S2)=>{"use strict";var e0=typeof Reflect=="object"?Reflect:null,g6=e0&&typeof e0.apply=="function"?e0.apply:function(t,r,n){return Function.prototype.apply.call(t,r,n)},N1;e0&&typeof e0.ownKeys=="function"?N1=e0.ownKeys:Object.getOwnPropertySymbols?N1=function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:N1=function(t){return Object.getOwnPropertyNames(t)};function lp(e){console&&console.warn&&console.warn(e)}var x6=Number.isNaN||function(t){return t!==t};function ot(){ot.init.call(this)}S2.exports=ot;S2.exports.once=yp;ot.EventEmitter=ot;ot.prototype._events=void 0;ot.prototype._eventsCount=0;ot.prototype._maxListeners=void 0;var m6=10;function L1(e){if(typeof e!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}Object.defineProperty(ot,"defaultMaxListeners",{enumerable:!0,get:function(){return m6},set:function(e){if(typeof e!="number"||e<0||x6(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");m6=e}});ot.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};ot.prototype.setMaxListeners=function(t){if(typeof t!="number"||t<0||x6(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 v6(e){return e._maxListeners===void 0?ot.defaultMaxListeners:e._maxListeners}ot.prototype.getMaxListeners=function(){return v6(this)};ot.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")g6(u,this,r);else for(var c=u.length,f=I6(u,c),n=0;n<c;++n)g6(f[n],this,r);return!0};function w6(e,t,r,n){var i,o,s;if(L1(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=v6(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,lp(a)}return e}ot.prototype.addListener=function(t,r){return w6(this,t,r,!1)};ot.prototype.on=ot.prototype.addListener;ot.prototype.prependListener=function(t,r){return w6(this,t,r,!0)};function hp(){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 b6(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},i=hp.bind(n);return i.listener=r,n.wrapFn=i,i}ot.prototype.once=function(t,r){return L1(r),this.on(t,b6(this,t,r)),this};ot.prototype.prependOnceListener=function(t,r){return L1(r),this.prependListener(t,b6(this,t,r)),this};ot.prototype.removeListener=function(t,r){var n,i,o,s,a;if(L1(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():pp(n,o),n.length===1&&(i[t]=n[0]),i.removeListener!==void 0&&this.emit("removeListener",t,a||r)}return this};ot.prototype.off=ot.prototype.removeListener;ot.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 E6(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?dp(i):I6(i,i.length)}ot.prototype.listeners=function(t){return E6(this,t,!0)};ot.prototype.rawListeners=function(t){return E6(this,t,!1)};ot.listenerCount=function(e,t){return typeof e.listenerCount=="function"?e.listenerCount(t):S6.call(e,t)};ot.prototype.listenerCount=S6;function S6(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}ot.prototype.eventNames=function(){return this._eventsCount>0?N1(this._events):[]};function I6(e,t){for(var r=new Array(t),n=0;n<t;++n)r[n]=e[n];return r}function pp(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}function dp(e){for(var t=new Array(e.length),r=0;r<t.length;++r)t[r]=e[r].listener||e[r];return t}function yp(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))}A6(e,t,o,{once:!0}),t!=="error"&&gp(e,i,{once:!0})})}function gp(e,t,r){typeof e.on=="function"&&A6(e,"error",t,r)}function A6(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 R6=D(M1=>{"use strict";M1.byteLength=Tp;M1.toByteArray=Pp;M1.fromByteArray=kp;var We=[],pe=[],_p=typeof Uint8Array<"u"?Uint8Array:Array,B2="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(ln=0,_6=B2.length;ln<_6;++ln)We[ln]=B2[ln],pe[B2.charCodeAt(ln)]=ln;var ln,_6;pe["-".charCodeAt(0)]=62;pe["_".charCodeAt(0)]=63;function T6(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 Tp(e){var t=T6(e),r=t[0],n=t[1];return(r+n)*3/4-n}function Rp(e,t,r){return(t+r)*3/4-r}function Pp(e){var t,r=T6(e),n=r[0],i=r[1],o=new _p(Rp(e,n,i)),s=0,a=i>0?n-4:n,u;for(u=0;u<a;u+=4)t=pe[e.charCodeAt(u)]<<18|pe[e.charCodeAt(u+1)]<<12|pe[e.charCodeAt(u+2)]<<6|pe[e.charCodeAt(u+3)],o[s++]=t>>16&255,o[s++]=t>>8&255,o[s++]=t&255;return i===2&&(t=pe[e.charCodeAt(u)]<<2|pe[e.charCodeAt(u+1)]>>4,o[s++]=t&255),i===1&&(t=pe[e.charCodeAt(u)]<<10|pe[e.charCodeAt(u+1)]<<4|pe[e.charCodeAt(u+2)]>>2,o[s++]=t>>8&255,o[s++]=t&255),o}function Np(e){return We[e>>18&63]+We[e>>12&63]+We[e>>6&63]+We[e&63]}function Lp(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(Np(n));return i.join("")}function kp(e){for(var t,r=e.length,n=r%3,i=[],o=16383,s=0,a=r-n;s<a;s+=o)i.push(Lp(e,s,s+o>a?a:s+o));return n===1?(t=e[r-1],i.push(We[t>>2]+We[t<<4&63]+"==")):n===2&&(t=(e[r-2]<<8)+e[r-1],i.push(We[t>>10]+We[t>>4&63]+We[t<<2&63]+"=")),i.join("")}});var P6=D(C2=>{C2.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)};C2.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 W6=D(a0=>{"use strict";var _2=R6(),o0=P6(),N6=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;a0.Buffer=S;a0.SlowBuffer=Kp;a0.INSPECT_MAX_BYTES=50;var K1=2147483647;a0.kMaxLength=K1;S.TYPED_ARRAY_SUPPORT=Dp();!S.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 Dp(){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(S.prototype,"parent",{enumerable:!0,get:function(){if(S.isBuffer(this))return this.buffer}});Object.defineProperty(S.prototype,"offset",{enumerable:!0,get:function(){if(S.isBuffer(this))return this.byteOffset}});function dr(e){if(e>K1)throw new RangeError('The value "'+e+'" is invalid for option "size"');let t=new Uint8Array(e);return Object.setPrototypeOf(t,S.prototype),t}function S(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 N2(e)}return F6(e,t,r)}S.poolSize=8192;function F6(e,t,r){if(typeof e=="string")return Up(e,t);if(ArrayBuffer.isView(e))return Op(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(Ye(e,ArrayBuffer)||e&&Ye(e.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(Ye(e,SharedArrayBuffer)||e&&Ye(e.buffer,SharedArrayBuffer)))return R2(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 S.from(n,t,r);let i=Mp(e);if(i)return i;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof e[Symbol.toPrimitive]=="function")return S.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)}S.from=function(e,t,r){return F6(e,t,r)};Object.setPrototypeOf(S.prototype,Uint8Array.prototype);Object.setPrototypeOf(S,Uint8Array);function U6(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 Fp(e,t,r){return U6(e),e<=0?dr(e):t!==void 0?typeof r=="string"?dr(e).fill(t,r):dr(e).fill(t):dr(e)}S.alloc=function(e,t,r){return Fp(e,t,r)};function N2(e){return U6(e),dr(e<0?0:L2(e)|0)}S.allocUnsafe=function(e){return N2(e)};S.allocUnsafeSlow=function(e){return N2(e)};function Up(e,t){if((typeof t!="string"||t==="")&&(t="utf8"),!S.isEncoding(t))throw new TypeError("Unknown encoding: "+t);let r=O6(e,t)|0,n=dr(r),i=n.write(e,t);return i!==r&&(n=n.slice(0,i)),n}function T2(e){let t=e.length<0?0:L2(e.length)|0,r=dr(t);for(let n=0;n<t;n+=1)r[n]=e[n]&255;return r}function Op(e){if(Ye(e,Uint8Array)){let t=new Uint8Array(e);return R2(t.buffer,t.byteOffset,t.byteLength)}return T2(e)}function R2(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,S.prototype),n}function Mp(e){if(S.isBuffer(e)){let t=L2(e.length)|0,r=dr(t);return r.length===0||e.copy(r,0,0,t),r}if(e.length!==void 0)return typeof e.length!="number"||D2(e.length)?dr(0):T2(e);if(e.type==="Buffer"&&Array.isArray(e.data))return T2(e.data)}function L2(e){if(e>=K1)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+K1.toString(16)+" bytes");return e|0}function Kp(e){return+e!=e&&(e=0),S.alloc(+e)}S.isBuffer=function(t){return t!=null&&t._isBuffer===!0&&t!==S.prototype};S.compare=function(t,r){if(Ye(t,Uint8Array)&&(t=S.from(t,t.offset,t.byteLength)),Ye(r,Uint8Array)&&(r=S.from(r,r.offset,r.byteLength)),!S.isBuffer(t)||!S.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};S.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}};S.concat=function(t,r){if(!Array.isArray(t))throw new TypeError('"list" argument must be an Array of Buffers');if(t.length===0)return S.alloc(0);let n;if(r===void 0)for(r=0,n=0;n<t.length;++n)r+=t[n].length;let i=S.allocUnsafe(r),o=0;for(n=0;n<t.length;++n){let s=t[n];if(Ye(s,Uint8Array))o+s.length>i.length?(S.isBuffer(s)||(s=S.from(s)),s.copy(i,o)):Uint8Array.prototype.set.call(i,s,o);else if(S.isBuffer(s))s.copy(i,o);else throw new TypeError('"list" argument must be an Array of Buffers');o+=s.length}return i};function O6(e,t){if(S.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||Ye(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 P2(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return Q6(e).length;default:if(i)return n?-1:P2(e).length;t=(""+t).toLowerCase(),i=!0}}S.byteLength=O6;function Vp(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 Xp(this,t,r);case"utf8":case"utf-8":return K6(this,t,r);case"ascii":return Yp(this,t,r);case"latin1":case"binary":return Zp(this,t,r);case"base64":return Qp(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return jp(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}S.prototype._isBuffer=!0;function hn(e,t,r){let n=e[t];e[t]=e[r],e[r]=n}S.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)hn(this,r,r+1);return this};S.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)hn(this,r,r+3),hn(this,r+1,r+2);return this};S.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)hn(this,r,r+7),hn(this,r+1,r+6),hn(this,r+2,r+5),hn(this,r+3,r+4);return this};S.prototype.toString=function(){let t=this.length;return t===0?"":arguments.length===0?K6(this,0,t):Vp.apply(this,arguments)};S.prototype.toLocaleString=S.prototype.toString;S.prototype.equals=function(t){if(!S.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t?!0:S.compare(this,t)===0};S.prototype.inspect=function(){let t="",r=a0.INSPECT_MAX_BYTES;return t=this.toString("hex",0,r).replace(/(.{2})/g,"$1 ").trim(),this.length>r&&(t+=" ... "),"<Buffer "+t+">"};N6&&(S.prototype[N6]=S.prototype.inspect);S.prototype.compare=function(t,r,n,i,o){if(Ye(t,Uint8Array)&&(t=S.from(t,t.offset,t.byteLength)),!S.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 M6(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,D2(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=S.from(t,n)),S.isBuffer(t))return t.length===0?-1:L6(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):L6(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function L6(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}S.prototype.includes=function(t,r,n){return this.indexOf(t,r,n)!==-1};S.prototype.indexOf=function(t,r,n){return M6(this,t,r,n,!0)};S.prototype.lastIndexOf=function(t,r,n){return M6(this,t,r,n,!1)};function qp(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(D2(a))return s;e[r+s]=a}return s}function zp(e,t,r,n){return V1(P2(t,e.length-r),e,r,n)}function $p(e,t,r,n){return V1(rd(t),e,r,n)}function Hp(e,t,r,n){return V1(Q6(t),e,r,n)}function Gp(e,t,r,n){return V1(nd(t,e.length-r),e,r,n)}S.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 qp(this,t,r,n);case"utf8":case"utf-8":return zp(this,t,r,n);case"ascii":case"latin1":case"binary":return $p(this,t,r,n);case"base64":return Hp(this,t,r,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Gp(this,t,r,n);default:if(s)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),s=!0}};S.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function Qp(e,t,r){return t===0&&r===e.length?_2.fromByteArray(e):_2.fromByteArray(e.slice(t,r))}function K6(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 Wp(n)}var k6=4096;function Wp(e){let t=e.length;if(t<=k6)return String.fromCharCode.apply(String,e);let r="",n=0;for(;n<t;)r+=String.fromCharCode.apply(String,e.slice(n,n+=k6));return r}function Yp(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 Zp(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 Xp(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+=id[e[o]];return i}function jp(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}S.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,S.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")}S.prototype.readUintLE=S.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};S.prototype.readUintBE=S.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};S.prototype.readUint8=S.prototype.readUInt8=function(t,r){return t=t>>>0,r||Kt(t,1,this.length),this[t]};S.prototype.readUint16LE=S.prototype.readUInt16LE=function(t,r){return t=t>>>0,r||Kt(t,2,this.length),this[t]|this[t+1]<<8};S.prototype.readUint16BE=S.prototype.readUInt16BE=function(t,r){return t=t>>>0,r||Kt(t,2,this.length),this[t]<<8|this[t+1]};S.prototype.readUint32LE=S.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};S.prototype.readUint32BE=S.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])};S.prototype.readBigUInt64LE=Or(function(t){t=t>>>0,s0(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&ii(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))});S.prototype.readBigUInt64BE=Or(function(t){t=t>>>0,s0(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&ii(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)});S.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};S.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};S.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]};S.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};S.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};S.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};S.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]};S.prototype.readBigInt64LE=Or(function(t){t=t>>>0,s0(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&ii(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)});S.prototype.readBigInt64BE=Or(function(t){t=t>>>0,s0(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&ii(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)});S.prototype.readFloatLE=function(t,r){return t=t>>>0,r||Kt(t,4,this.length),o0.read(this,t,!0,23,4)};S.prototype.readFloatBE=function(t,r){return t=t>>>0,r||Kt(t,4,this.length),o0.read(this,t,!1,23,4)};S.prototype.readDoubleLE=function(t,r){return t=t>>>0,r||Kt(t,8,this.length),o0.read(this,t,!0,52,8)};S.prototype.readDoubleBE=function(t,r){return t=t>>>0,r||Kt(t,8,this.length),o0.read(this,t,!1,52,8)};function Zt(e,t,r,n,i,o){if(!S.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")}S.prototype.writeUintLE=S.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;Zt(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};S.prototype.writeUintBE=S.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;Zt(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};S.prototype.writeUint8=S.prototype.writeUInt8=function(t,r,n){return t=+t,r=r>>>0,n||Zt(this,t,r,1,255,0),this[r]=t&255,r+1};S.prototype.writeUint16LE=S.prototype.writeUInt16LE=function(t,r,n){return t=+t,r=r>>>0,n||Zt(this,t,r,2,65535,0),this[r]=t&255,this[r+1]=t>>>8,r+2};S.prototype.writeUint16BE=S.prototype.writeUInt16BE=function(t,r,n){return t=+t,r=r>>>0,n||Zt(this,t,r,2,65535,0),this[r]=t>>>8,this[r+1]=t&255,r+2};S.prototype.writeUint32LE=S.prototype.writeUInt32LE=function(t,r,n){return t=+t,r=r>>>0,n||Zt(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};S.prototype.writeUint32BE=S.prototype.writeUInt32BE=function(t,r,n){return t=+t,r=r>>>0,n||Zt(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 V6(e,t,r,n,i){G6(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 q6(e,t,r,n,i){G6(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}S.prototype.writeBigUInt64LE=Or(function(t,r=0){return V6(this,t,r,BigInt(0),BigInt("0xffffffffffffffff"))});S.prototype.writeBigUInt64BE=Or(function(t,r=0){return q6(this,t,r,BigInt(0),BigInt("0xffffffffffffffff"))});S.prototype.writeIntLE=function(t,r,n,i){if(t=+t,r=r>>>0,!i){let u=Math.pow(2,8*n-1);Zt(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};S.prototype.writeIntBE=function(t,r,n,i){if(t=+t,r=r>>>0,!i){let u=Math.pow(2,8*n-1);Zt(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};S.prototype.writeInt8=function(t,r,n){return t=+t,r=r>>>0,n||Zt(this,t,r,1,127,-128),t<0&&(t=255+t+1),this[r]=t&255,r+1};S.prototype.writeInt16LE=function(t,r,n){return t=+t,r=r>>>0,n||Zt(this,t,r,2,32767,-32768),this[r]=t&255,this[r+1]=t>>>8,r+2};S.prototype.writeInt16BE=function(t,r,n){return t=+t,r=r>>>0,n||Zt(this,t,r,2,32767,-32768),this[r]=t>>>8,this[r+1]=t&255,r+2};S.prototype.writeInt32LE=function(t,r,n){return t=+t,r=r>>>0,n||Zt(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};S.prototype.writeInt32BE=function(t,r,n){return t=+t,r=r>>>0,n||Zt(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};S.prototype.writeBigInt64LE=Or(function(t,r=0){return V6(this,t,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});S.prototype.writeBigInt64BE=Or(function(t,r=0){return q6(this,t,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function z6(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 $6(e,t,r,n,i){return t=+t,r=r>>>0,i||z6(e,t,r,4,34028234663852886e22,-34028234663852886e22),o0.write(e,t,r,n,23,4),r+4}S.prototype.writeFloatLE=function(t,r,n){return $6(this,t,r,!0,n)};S.prototype.writeFloatBE=function(t,r,n){return $6(this,t,r,!1,n)};function H6(e,t,r,n,i){return t=+t,r=r>>>0,i||z6(e,t,r,8,17976931348623157e292,-17976931348623157e292),o0.write(e,t,r,n,52,8),r+8}S.prototype.writeDoubleLE=function(t,r,n){return H6(this,t,r,!0,n)};S.prototype.writeDoubleBE=function(t,r,n){return H6(this,t,r,!1,n)};S.prototype.copy=function(t,r,n,i){if(!S.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};S.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"&&!S.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=S.isBuffer(t)?t:S.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 i0={};function k2(e,t,r){i0[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}`}}}k2("ERR_BUFFER_OUT_OF_BOUNDS",function(e){return e?`${e} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError);k2("ERR_INVALID_ARG_TYPE",function(e,t){return`The "${e}" argument must be of type number. Received type ${typeof t}`},TypeError);k2("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=D6(String(r)):typeof r=="bigint"&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=D6(i)),i+="n"),n+=` It must be ${t}. Received ${i}`,n},RangeError);function D6(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 Jp(e,t,r){s0(t,"offset"),(e[t]===void 0||e[t+r]===void 0)&&ii(t,e.length-(r+1))}function G6(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 i0.ERR_OUT_OF_RANGE("value",a,e)}Jp(n,i,o)}function s0(e,t){if(typeof e!="number")throw new i0.ERR_INVALID_ARG_TYPE(t,"number",e)}function ii(e,t,r){throw Math.floor(e)!==e?(s0(e,r),new i0.ERR_OUT_OF_RANGE(r||"offset","an integer",e)):t<0?new i0.ERR_BUFFER_OUT_OF_BOUNDS:new i0.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${t}`,e)}var td=/[^+/0-9A-Za-z-_]/g;function ed(e){if(e=e.split("=")[0],e=e.trim().replace(td,""),e.length<2)return"";for(;e.length%4!==0;)e=e+"=";return e}function P2(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 rd(e){let t=[];for(let r=0;r<e.length;++r)t.push(e.charCodeAt(r)&255);return t}function nd(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 Q6(e){return _2.toByteArray(ed(e))}function V1(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 Ye(e,t){return e instanceof t||e!=null&&e.constructor!=null&&e.constructor.name!=null&&e.constructor.name===t.name}function D2(e){return e!==e}var id=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 Or(e){return typeof BigInt>"u"?od:e}function od(){throw new Error("BigInt not supported")}});var X6=D((F2,Z6)=>{var q1=W6(),Ze=q1.Buffer;function Y6(e,t){for(var r in e)t[r]=e[r]}Ze.from&&Ze.alloc&&Ze.allocUnsafe&&Ze.allocUnsafeSlow?Z6.exports=q1:(Y6(q1,F2),F2.Buffer=pn);function pn(e,t,r){return Ze(e,t,r)}pn.prototype=Object.create(Ze.prototype);Y6(Ze,pn);pn.from=function(e,t,r){if(typeof e=="number")throw new TypeError("Argument must not be a number");return Ze(e,t,r)};pn.alloc=function(e,t,r){if(typeof e!="number")throw new TypeError("Argument must be a number");var n=Ze(e);return t!==void 0?typeof r=="string"?n.fill(t,r):n.fill(t):n.fill(0),n};pn.allocUnsafe=function(e){if(typeof e!="number")throw new TypeError("Argument must be a number");return Ze(e)};pn.allocUnsafeSlow=function(e){if(typeof e!="number")throw new TypeError("Argument must be a number");return q1.SlowBuffer(e)}});var j6=D((PS,O2)=>{"use strict";var U2=65536,sd=4294967295;function ad(){throw new Error(`Secure random number generation is not supported by this browser.
|
|
16
|
+
Use Chrome, Firefox or Internet Explorer 11`)}var ud=X6().Buffer,z1=globalThis.crypto||globalThis.msCrypto;z1&&z1.getRandomValues?O2.exports=cd:O2.exports=ad;function cd(e,t){if(e>sd)throw new RangeError("requested too many random bytes");var r=ud.allocUnsafe(e);if(e>0)if(e>U2)for(var n=0;n<e;n+=U2)z1.getRandomValues(r.slice(n,n+U2));else z1.getRandomValues(r);return typeof t=="function"?process.nextTick(function(){t(null,r)}):r}});var e8=D((NS,t8)=>{"use strict";var fd=j6(),{EventEmitter:ld}=k1();function J6(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 M2(){return{contacts:[],dontSplit:!1,left:null,right:null}}function oi(e,t){if(!(t instanceof Uint8Array))throw new TypeError(e+" is not a Uint8Array")}var u0=class extends ld{constructor(t={}){super(),this.localNodeId=t.localNodeId||fd(20),this.numberOfNodesPerKBucket=t.numberOfNodesPerKBucket||20,this.numberOfNodesToPing=t.numberOfNodesToPing||3,this.distance=t.distance||u0.distance,this.arbiter=t.arbiter||u0.arbiter,this.metadata=Object.assign({},t.metadata),oi("option.localNodeId as parameter 1",this.localNodeId),this.root=M2()}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){oi("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(oi("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){oi("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(J6(t.contacts[n].id,r))return n;return-1}remove(t){oi("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=M2(),t.right=M2();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(!J6(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))}};t8.exports=u0});var Id={};Lt(Id,{EventTypes:()=>$2,MessageType:()=>H2,kadDHT:()=>Sd});var W2=Symbol.for("@libp2p/content-routing");var Y2=Symbol.for("@libp2p/peer-discovery");var Z2=Symbol.for("@libp2p/peer-routing");var ci=class extends Error{code;type;constructor(t="The operation was aborted"){super(t),this.code=ci.code,this.type=ci.type}},yn=ci;so(yn,"code","ABORT_ERR"),so(yn,"type","aborted");var _=class extends Error{code;props;constructor(t,r,n){super(t),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var se=class extends EventTarget{#t=new Map;listenerCount(t){let r=this.#t.get(t);return r==null?0:r.length}addEventListener(t,r,n){super.addEventListener(t,r,n);let i=this.#t.get(t);i==null&&(i=[],this.#t.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=this.#t.get(t);i!=null&&(i=i.filter(({callback:o})=>o!==r),this.#t.set(t,i))}dispatchEvent(t){let r=super.dispatchEvent(t),n=this.#t.get(t.type);return n==null||(n=n.filter(({once:i})=>!i),this.#t.set(t.type,n)),r}safeDispatchEvent(t,r){return this.dispatchEvent(new jt(t,r))}},ao=class extends Event{detail;constructor(t,r){super(t,r),this.detail=r?.detail}},jt=globalThis.CustomEvent??ao;var ae=$(ea(),1);var ho={};Lt(ho,{base58btc:()=>St,base58flickr:()=>L8});function _8(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 b=(x-m)*f+1>>>0,L=new Uint8Array(b);m!==x;){for(var T=h[m],C=0,q=b-1;(T!==0||C<g)&&q!==-1;q--,C++)T+=256*L[q]>>>0,L[q]=T%a>>>0,T=T/a>>>0;if(T!==0)throw new Error("Non-zero carry");g=C,m++}for(var G=b-g;G!==b&&L[G]===0;)G++;for(var Nt=u.repeat(y);G<b;++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,b=new Uint8Array(x);h[y];){var L=r[h.charCodeAt(y)];if(L===255)return;for(var T=0,C=x-1;(L!==0||T<m)&&C!==-1;C--,T++)L+=a*b[C]>>>0,b[C]=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&&b[q]===0;)q++;for(var G=new Uint8Array(g+(x-q)),Nt=g;q!==x;)G[Nt++]=b[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 T8=_8,R8=T8,ra=R8;var Dd=new Uint8Array(0);var na=(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},Xe=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 ia=e=>new TextEncoder().encode(e),oa=e=>new TextDecoder().decode(e);var uo=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")}},co=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 aa(this,t)}},fo=class{constructor(t){this.decoders=t}or(t){return aa(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`)}},aa=(e,t)=>new fo({...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 uo(t,r,n),this.decoder=new co(t,r,i)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},vn=({name:e,prefix:t,encode:r,decode:n})=>new lo(e,t,r,n),yr=({prefix:e,name:t,alphabet:r})=>{let{encode:n,decode:i}=ra(r,t);return vn({prefix:e,name:t,encode:n,decode:o=>Xe(i(o))})},P8=(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},N8=(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})=>vn({prefix:t,name:e,encode(i){return N8(i,n,r)},decode(i){return P8(i,n,r,e)}});var St=yr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),L8=yr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var po={};Lt(po,{base32:()=>ye,base32hex:()=>U8,base32hexpad:()=>M8,base32hexpadupper:()=>K8,base32hexupper:()=>O8,base32pad:()=>D8,base32padupper:()=>F8,base32upper:()=>k8,base32z:()=>V8});var ye=wt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),k8=wt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),D8=wt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),F8=wt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),U8=wt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),O8=wt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),M8=wt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),K8=wt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),V8=wt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var yo={};Lt(yo,{base64:()=>Kr,base64pad:()=>q8,base64url:()=>z8,base64urlpad:()=>$8});var Kr=wt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),q8=wt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),z8=wt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),$8=wt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});ae.default.formatters.b=e=>e==null?"undefined":St.baseEncode(e);ae.default.formatters.t=e=>e==null?"undefined":ye.baseEncode(e);ae.default.formatters.m=e=>e==null?"undefined":Kr.baseEncode(e);ae.default.formatters.p=e=>e==null?"undefined":e.toString();ae.default.formatters.c=e=>e==null?"undefined":e.toString();ae.default.formatters.k=e=>e==null?"undefined":e.toString();function H8(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=H8(`${e}:trace`);return ae.default.enabled(`${e}:trace`)&&ae.default.names.map(r=>r.toString()).find(r=>r.includes(":trace"))!=null&&(t=(0,ae.default)(`${e}:trace`)),Object.assign((0,ae.default)(e),{error:(0,ae.default)(`${e}:error`),trace:t})}function G8(e){return e[Symbol.asyncIterator]!=null}function Q8(e){if(G8(e))return(async()=>{for await(let t of e);})();for(let t of e);}var l0=Q8;var hi=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}},wn=class{constructor(t={}){this.hwm=t.splitLimit??16,this.head=new hi(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 hi(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 pi(e={}){return W8(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 W8(e,t){t=t??{};let r=t.onEnd,n=new wn,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 wn,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 wn,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 Y8(e){return e[Symbol.asyncIterator]!=null}function Z8(...e){let t=[];for(let r of e)Y8(r)||t.push(r);return t.length===e.length?function*(){for(let r of t)yield*r}():async function*(){let r=pi({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 ge=Z8;var go={};Lt(go,{identity:()=>X8});var X8=vn({prefix:"\0",name:"identity",encode:e=>oa(e),decode:e=>ia(e)});var mo={};Lt(mo,{base2:()=>j8});var j8=wt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var xo={};Lt(xo,{base8:()=>J8});var J8=wt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var vo={};Lt(vo,{base10:()=>tc});var tc=yr({prefix:"9",name:"base10",alphabet:"0123456789"});var wo={};Lt(wo,{base16:()=>ec,base16upper:()=>rc});var ec=wt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),rc=wt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var bo={};Lt(bo,{base36:()=>nc,base36upper:()=>ic});var nc=yr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),ic=yr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Eo={};Lt(Eo,{base256emoji:()=>cc});var ua=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}"),oc=ua.reduce((e,t,r)=>(e[r]=t,e),[]),sc=ua.reduce((e,t,r)=>(e[t.codePointAt(0)]=r,e),[]);function ac(e){return e.reduce((t,r)=>(t+=oc[r],t),"")}function uc(e){let t=[];for(let r of e){let n=sc[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);t.push(n)}return new Uint8Array(t)}var cc=vn({prefix:"\u{1F680}",name:"base256emoji",encode:ac,decode:uc});var Bo={};Lt(Bo,{sha256:()=>mt,sha512:()=>_c});var fc=la,ca=128,lc=127,hc=~lc,pc=Math.pow(2,31);function la(e,t,r){t=t||[],r=r||0;for(var n=r;e>=pc;)t[r++]=e&255|ca,e/=128;for(;e&hc;)t[r++]=e&255|ca,e>>>=7;return t[r]=e|0,la.bytes=r-n+1,t}var dc=So,yc=128,fa=127;function So(e,n){var r=0,n=n||0,i=0,o=n,s,a=e.length;do{if(o>=a)throw So.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>=yc);return So.bytes=o-n,r}var gc=Math.pow(2,7),mc=Math.pow(2,14),xc=Math.pow(2,21),vc=Math.pow(2,28),wc=Math.pow(2,35),bc=Math.pow(2,42),Ec=Math.pow(2,49),Sc=Math.pow(2,56),Ic=Math.pow(2,63),Ac=function(e){return e<gc?1:e<mc?2:e<xc?3:e<vc?4:e<wc?5:e<bc?6:e<Ec?7:e<Sc?8:e<Ic?9:10},Bc={encode:fc,decode:dc,encodingLength:Ac},Cc=Bc,h0=Cc;var p0=(e,t=0)=>[h0.decode(e,t),h0.decode.bytes],bn=(e,t,r=0)=>(h0.encode(e,t,r),t),En=e=>h0.encodingLength(e);var Pe=(e,t)=>{let r=t.byteLength,n=En(e),i=n+En(r),o=new Uint8Array(i+r);return bn(e,o,0),bn(r,o,n),o.set(t,i),new Sn(e,r,t,o)},Vr=e=>{let t=Xe(e),[r,n]=p0(t),[i,o]=p0(t.subarray(n)),s=t.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new Sn(r,i,s,t)},ha=(e,t)=>{if(e===t)return!0;{let r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&na(e.bytes,r.bytes)}},Sn=class{constructor(t,r,n,i){this.code=t,this.size=r,this.digest=n,this.bytes=i}};var Ao=({name:e,code:t,encode:r})=>new Io(e,t,r),Io=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?Pe(this.code,r):r.then(n=>Pe(this.code,n))}else throw Error("Unknown type, must be binary type")}};var da=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),mt=Ao({name:"sha2-256",code:18,encode:da("SHA-256")}),_c=Ao({name:"sha2-512",code:19,encode:da("SHA-512")});var Co={};Lt(Co,{identity:()=>gr});var ya=0,Tc="identity",ga=Xe,Rc=e=>Pe(ya,ga(e)),gr={code:ya,name:Tc,encode:ga,digest:Rc};var hy=new TextEncoder,py=new TextDecoder;var ma=(e,t)=>{let{bytes:r,version:n}=e;switch(n){case 0:return kc(r,_o(e),t||St.encoder);default:return Dc(r,_o(e),t||ye.encoder)}};var xa=new WeakMap,_o=e=>{let t=xa.get(e);if(t==null){let r=new Map;return xa.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!==d0)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==Fc)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=Pe(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&&ha(t.multihash,n.multihash)}toString(t){return ma(this,t)}toJSON(){return{"/":ma(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||va(n,i,o.bytes))}else if(r[Uc]===!0){let{version:n,multihash:i,code:o}=r,s=Vr(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!==d0)throw new Error(`Version 0 CID must use dag-pb (code: ${d0}) block encoding`);return new tt(t,r,n,n.bytes)}case 1:{let i=va(t,r,n.bytes);return new tt(t,r,n,i)}default:throw new Error("Invalid version")}}static createV0(t){return tt.create(0,d0,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=Xe(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 Sn(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]=p0(t.subarray(r));return r+=d,l},i=n(),o=d0;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]=Lc(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}},Lc=(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 ye.prefix:{let r=t||ye;return[ye.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)]}}},kc=(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},Dc=(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},d0=112,Fc=18,va=(e,t,r)=>{let n=En(e),i=n+En(t),o=new Uint8Array(i+r.byteLength);return bn(e,o,0),bn(t,o,n),o.set(r,i),o},Uc=Symbol.for("@ipld/js-cid/CID");var mr={...go,...mo,...xo,...vo,...wo,...po,...bo,...ho,...yo,...Eo},Sy={...Bo,...Co};function je(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function Je(e=0){return globalThis.Buffer?.alloc!=null?je(globalThis.Buffer.alloc(e)):new Uint8Array(e)}function te(e=0){return globalThis.Buffer?.allocUnsafe!=null?je(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function ba(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var wa=ba("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),To=ba("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=te(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),Oc={utf8:wa,"utf-8":wa,hex:mr.base16,latin1:To,ascii:To,binary:To,...mr},yi=Oc;function M(e,t="utf8"){let r=yi[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 Ea(e,t,r){if(r.length===0){let s="No records given";throw new _(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 _(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 _(s,"ERR_UNRECOGNIZED_KEY_PREFIX")}return r.length===1?0:o(t,r)}function Mc(e,t){return 0}var Sa={pk:Mc};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}async function In(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 _(s,"ERR_INVALID_RECORD_KEY_TYPE")}await o(r,t.value)}var Kc=async(e,t)=>{if(!(e instanceof Uint8Array))throw new _('"key" must be a Uint8Array',"ERR_INVALID_RECORD_KEY_NOT_BUFFER");if(e.byteLength<5)throw new _("invalid public key record","ERR_INVALID_RECORD_KEY_TOO_SHORT");if(M(e.subarray(0,4))!=="/pk/")throw new _("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 _("public key does not match passed in key","ERR_INVALID_RECORD_HASH_MISMATCH")},Ia={pk:Kc};function me(){let e={};return e.promise=new Promise((t,r)=>{e.resolve=t,e.reject=r}),e}var Aa="/lan",Ba="/ipfs",Ca="/kad/1.0.0",_a="/dht/record",Ro="/dht/provider";var zo=$(Do(),1),y3=$(a3(),1),g3=$($r(),1),$o=$(qo(),1),m3=$(d3(),1);function Yc(){g3.default._configure(),zo.default._configure(y3.default),$o.default._configure(m3.default)}Yc();var x3=["uint64","int64","sint64","fixed64","sfixed64"];function Zc(e){for(let t of x3){if(e[t]==null)continue;let r=e[t];e[t]=function(){return BigInt(r.call(this).toString())}}return e}function Ho(e){return Zc(new zo.default(e))}function Xc(e){for(let t of x3){if(e[t]==null)continue;let r=e[t];e[t]=function(n){return r.call(this,n.toString())}}return e}function Go(){return Xc($o.default.create())}function ke(e,t){let r=Ho(e instanceof Uint8Array?e:e.subarray());return t.decode(r)}function De(e,t){let r=Go();return t.encode(e,r,{lengthDelimited:!1}),r.finish()}var Bn;(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"})(Bn||(Bn={}));function wi(e,t,r,n){return{name:e,type:t,encode:r,decode:n}}function Cn(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 wi("enum",Bn.VARINT,r,n)}function Fe(e,t){return wi("message",Bn.LENGTH_DELIMITED,e,t)}var m0;(function(e){let t;e.codec=()=>(t==null&&(t=Fe((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=>De(r,e.codec()),e.decode=r=>ke(r,e.codec())})(m0||(m0={}));function v3(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 w3(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 m0.encode(this.prepareSerialize())}prepareSerialize(){return{key:this.key,value:this.value,timeReceived:v3(this.timeReceived)}}static deserialize(t){let r=m0.decode(t);return new Rt(r.key,r.value,new Date(r.timeReceived))}static fromDeserialized(t){let r=w3(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 Jc(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 b3=Jc;function tf(e){return e[Symbol.asyncIterator]!=null}function ef(e,t){if(tf(e))return async function*(){for await(let a of e)yield t(a)}();let r=b3(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 bi=ef;var Ei=globalThis.CustomEvent??Event;async function*x0(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=me(),a=me(),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=me(),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 Ei("task-complete"))},g=>{y.done=!0,y.err=g,i.dispatchEvent(new Ei("task-complete"))})}u=!0,i.dispatchEvent(new Ei("task-complete"))}catch(h){c=h,i.dispatchEvent(new Ei("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=me(),await a.promise),c!=null)throw c;if(n?yield*d():yield*p(),u&&o.length===0)break}}function we(e,...t){if(e==null)throw new Error("Empty pipeline");if(Qo(e)){let n=e;e=()=>n.source}else if(S3(e)||E3(e)){let n=e;e=()=>n}let r=[e,...t];if(r.length>1&&Qo(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++)Qo(r[n])&&(r[n]=nf(r[n]));return rf(...r)}var rf=(...e)=>{let t;for(;e.length>0;)t=e.shift()(t);return t},E3=e=>e?.[Symbol.asyncIterator]!=null,S3=e=>e?.[Symbol.iterator]!=null,Qo=e=>e==null?!1:e.sink!=null&&e.source!=null,nf=e=>t=>{let r=e.sink(t);if(r?.then!=null){let n=pi({objectMode:!0});r.then(()=>{n.end()},s=>{n.end(s)});let i,o=e.source;if(E3(o))i=async function*(){yield*o,n.end()};else if(S3(o))i=function*(){yield*o,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return ge(n,i())}return e.source};var I3=Symbol.for("@libp2p/peer-id");var of=Symbol.for("nodejs.util.inspect.custom"),A3=Object.values(mr).map(e=>e.decoder).reduce((e,t)=>e.or(t),mr.identity.decoder),B3=114,Wo=36,Yo=37,v0=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[I3](){return!0}toString(){return this.string==null&&(this.string=St.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return tt.createV1(B3,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")}[of](){return`PeerId(${this.toString()})`}},_n=class extends v0{constructor(t){super({...t,type:"RSA"}),this.type="RSA",this.publicKey=t.publicKey}},Tn=class extends v0{constructor(t){super({...t,type:"Ed25519"}),this.type="Ed25519",this.publicKey=t.multihash.digest}},Rn=class extends v0{constructor(t){super({...t,type:"secp256k1"}),this.type="secp256k1",this.publicKey=t.multihash.digest}};function bt(e,t){if(t=t??A3,e.charAt(0)==="1"||e.charAt(0)==="Q"){let r=Vr(St.decode(`z${e}`));return e.startsWith("12D")?new Tn({multihash:r}):e.startsWith("16U")?new Rn({multihash:r}):new _n({multihash:r})}return Gr(A3.decode(e))}function Gr(e){try{let t=Vr(e);if(t.code===gr.code){if(t.digest.length===Wo)return new Tn({multihash:t});if(t.digest.length===Yo)return new Rn({multihash:t})}if(t.code===mt.code)return new _n({multihash:t})}catch{return sf(tt.decode(e))}throw new Error("Supplied PeerID CID is invalid")}function sf(e){if(e==null||e.multihash==null||e.version==null||e.version===1&&e.code!==B3)throw new Error("Supplied PeerID CID is invalid");let t=e.multihash;if(t.code===mt.code)return new _n({multihash:e.multihash});if(t.code===gr.code){if(t.digest.length===Wo)return new Tn({multihash:e.multihash});if(t.digest.length===Yo)return new Rn({multihash:e.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function C3(e,t){return e.length===Wo?new Tn({multihash:Pe(gr.code,e),privateKey:t}):e.length===Yo?new Rn({multihash:Pe(gr.code,e),privateKey:t}):new _n({multihash:await mt.digest(e),publicKey:e,privateKey:t})}var Si=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 _3=45,af=15,Pn=new Si;function Zo(e){if(!(e.length>af))return Pn.new(e).parseWith(()=>Pn.readIPv4Addr())}function Xo(e){if(!(e.length>_3))return Pn.new(e).parseWith(()=>Pn.readIPv6Addr())}function Ii(e){if(!(e.length>_3))return Pn.new(e).parseWith(()=>Pn.readIPAddr())}function T3(e){return!!Zo(e)}function R3(e){return!!Xo(e)}function Nn(e){return!!Ii(e)}var P3=T3,uf=R3,jo=function(e){let t=0;if(e=e.toString().trim(),P3(e)){let r=new Uint8Array(t+4);return e.split(/\./g).forEach(n=>{r[t++]=parseInt(n,10)&255}),r}if(uf(e)){let r=e.split(":",8),n;for(n=0;n<r.length;n++){let o=P3(r[n]),s;o&&(s=jo(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")},N3=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 w0={},Jo={},ff=[[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"]];ff.forEach(e=>{let t=lf(...e);Jo[t.code]=t,w0[t.name]=t});function lf(e,t,r,n,i){return{code:e,size:t,name:r,resolvable:!!n,path:!!i}}function it(e){if(typeof e=="number"){if(Jo[e]!=null)return Jo[e];throw new Error(`no protocol with code: ${e}`)}else if(typeof e=="string"){if(w0[e]!=null)return w0[e];throw new Error(`no protocol with name: ${e}`)}throw new Error(`invalid protocol id type: ${typeof e}`)}var Ue=$(b0(),1);function xt(e,t="utf8"){let r=yi[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}`)}function ut(e,t){t==null&&(t=e.reduce((i,o)=>i+o.length,0));let r=te(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return je(r)}var lm=parseInt("0xFFFF",16),hm=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);var zm=it("ip4"),$m=it("ip6"),Hm=it("ipcidr");function W3(e,t){switch(it(e).code){case 4:case 41:return Rf(t);case 42:return G3(t);case 6:case 273:case 33:case 132:return Z3(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return G3(t);case 421:return kf(t);case 444:return Q3(t);case 445:return Q3(t);case 466:return Lf(t);default:return M(t,"base16")}}function Y3(e,t){switch(it(e).code){case 4:return $3(t);case 41:return $3(t);case 42:return H3(t);case 6:case 273:case 33:case 132:return ns(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return H3(t);case 421:return Pf(t);case 444:return Df(t);case 445:return Ff(t);case 466:return Nf(t);default:return xt(t,"base16")}}var rs=Object.values(mr).map(e=>e.decoder),Tf=function(){let e=rs[0].or(rs[1]);return rs.slice(2).forEach(t=>e=e.or(t)),e}();function $3(e){if(!Nn(e))throw new Error("invalid ip address");return jo(e)}function Rf(e){let t=N3(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 ns(e){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,e),new Uint8Array(t)}function Z3(e){return new DataView(e.buffer).getUint16(e.byteOffset)}function H3(e){let t=xt(e),r=Uint8Array.from(Ue.default.encode(t.length));return ut([r,t],r.length+t.length)}function G3(e){let t=Ue.default.decode(e);if(e=e.slice(Ue.default.decode.bytes),e.length!==t)throw new Error("inconsistent lengths");return M(e)}function Pf(e){let t;e[0]==="Q"||e[0]==="1"?t=Vr(St.decode(`z${e}`)).bytes:t=tt.parse(e).multihash.bytes;let r=Uint8Array.from(Ue.default.encode(t.length));return ut([r,t],r.length+t.length)}function Nf(e){let t=Tf.decode(e),r=Uint8Array.from(Ue.default.encode(t.length));return ut([r,t],r.length+t.length)}function Lf(e){let t=Ue.default.decode(e),r=e.slice(Ue.default.decode.bytes);if(r.length!==t)throw new Error("inconsistent lengths");return"u"+M(r,"base64url")}function kf(e){let t=Ue.default.decode(e),r=e.slice(Ue.default.decode.bytes);if(r.length!==t)throw new Error("inconsistent lengths");return M(r,"base58btc")}function Df(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=ye.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=ns(n);return ut([r,i],r.length+i.length)}function Ff(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=ye.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=ns(n);return ut([r,i],r.length+i.length)}function Q3(e){let t=e.slice(0,e.length-2),r=e.slice(e.length-2),n=M(t,"base32"),i=Z3(r);return`${n}:${i}`}var Ln=$(b0(),1);function Uf(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=it(i);if(o.size===0){t.push([i]);continue}if(n++,n>=r.length)throw j3("invalid address: "+e);if(o.path===!0){t.push([i,us(r.slice(n).join("/"))]);break}t.push([i,r[n]])}return t}function Of(e){let t=[];return e.map(r=>{let n=Ci(r);return t.push(n.name),r.length>1&&r[1]!=null&&t.push(r[1]),null}),us(t.join("/"))}function Mf(e){return e.map(t=>{Array.isArray(t)||(t=[t]);let r=Ci(t);return t.length>1?[r.code,Y3(r.code,t[1])]:[r.code]})}function is(e){return e.map(t=>{let r=Ci(t);return t[1]!=null?[r.code,W3(r.code,t[1])]:[r.code]})}function os(e){return Bi(ut(e.map(t=>{let r=Ci(t),n=Uint8Array.from(Ln.default.encode(r.code));return t.length>1&&t[1]!=null&&(n=ut([n,t[1]])),n})))}function ss(e,t){return e.size>0?e.size/8:e.size===0?0:Ln.default.decode(t)+(Ln.default.decode.bytes??0)}function Ai(e){let t=[],r=0;for(;r<e.length;){let n=Ln.default.decode(e,r),i=Ln.default.decode.bytes??0,o=it(n),s=ss(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 j3("Invalid address Uint8Array: "+M(e,"base16"));t.push([n,a])}return t}function as(e){let t=Ai(e),r=is(t);return Of(r)}function Kf(e){e=us(e);let t=Uf(e),r=Mf(t);return os(r)}function X3(e){return Kf(e)}function Bi(e){let t=Vf(e);if(t!=null)throw t;return Uint8Array.from(e)}function Vf(e){try{Ai(e)}catch(t){return t}}function us(e){return"/"+e.trim().split("/").filter(t=>t).join("/")}function j3(e){return new Error("Error parsing address: "+e)}function Ci(e){return it(e[0])}var fs=$(b0(),1);var tr=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)},kn=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},E0,S0,I0,wr,J3,zf=Symbol.for("nodejs.util.inspect.custom"),$f=[it("dns").code,it("dns4").code,it("dns6").code,it("dnsaddr").code],Hf=new Map,t4=Symbol.for("@multiformats/js-multiaddr/multiaddr");function Gf(e){return!!e?.[t4]}var er=class{constructor(t){if(E0.set(this,void 0),S0.set(this,void 0),I0.set(this,void 0),wr.set(this,void 0),this[J3]=!0,t==null&&(t=""),t instanceof Uint8Array)this.bytes=Bi(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);this.bytes=X3(t)}else if(Gf(t))this.bytes=Bi(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr")}toString(){return tr(this,E0,"f")==null&&kn(this,E0,as(this.bytes),"f"),tr(this,E0,"f")}toJSON(){return this.toString()}toOptions(){let t,r,n,i,o="",s=it("tcp"),a=it("udp"),u=it("ip4"),c=it("ip6"),f=it("dns6"),l=it("ip6zone");for(let[p,h]of this.stringTuples())p===l.code&&(o=`%${h??""}`),$f.includes(p)&&(r=s.name,i=443,n=`${h??""}${o}`,t=p===f.code?6:4),(p===s.code||p===a.code)&&(r=it(p).name,i=parseInt(h??"")),(p===u.code||p===c.code)&&(r=it(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({},it(t)))}protoCodes(){let t=[],r=this.bytes,n=0;for(;n<r.length;){let i=fs.default.decode(r,n),o=fs.default.decode.bytes??0,s=it(i),a=ss(s,r.slice(n+o));n+=a+o,t.push(i)}return t}protoNames(){return this.protos().map(t=>t.name)}tuples(){return tr(this,S0,"f")==null&&kn(this,S0,Ai(this.bytes),"f"),tr(this,S0,"f")}stringTuples(){return tr(this,I0,"f")==null&&kn(this,I0,is(this.tuples()),"f"),tr(this,I0,"f")}encapsulate(t){return t=new er(t),new er(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 er(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 er(os(r.slice(0,n)));return this}getPeerId(){try{let r=this.stringTuples().filter(n=>n[0]===w0.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(tr(this,wr,"f")===void 0)try{kn(this,wr,this.stringTuples().filter(t=>it(t[0]).path===!0)[0][1],"f"),tr(this,wr,"f")==null&&kn(this,wr,null,"f")}catch{kn(this,wr,null,"f")}return tr(this,wr,"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=Hf.get(r.name);if(n==null)throw new _(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,t)).map(o=>new er(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)}[(E0=new WeakMap,S0=new WeakMap,I0=new WeakMap,wr=new WeakMap,J3=t4,zf)](){return`Multiaddr(${as(this.bytes)})`}};function cs(e){return new er(e)}var e4;(function(e){let t;e.codec=()=>(t==null&&(t=Fe((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=>De(r,e.codec()),e.decode=r=>ke(r,e.codec())})(e4||(e4={}));var br;(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=()=>Cn(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=()=>Cn(i)}(n=e.ConnectionType||(e.ConnectionType={}));let o;(function(a){let u;a.codec=()=>(u==null&&(u=Fe((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=>De(c,a.codec()),a.decode=c=>ke(c,a.codec())})(o=e.Peer||(e.Peer={}));let s;e.codec=()=>(s==null&&(s=Fe((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=>De(a,e.codec()),e.decode=a=>ke(a,e.codec())})(br||(br={}));var At=br.MessageType,Qf=br.ConnectionType,i4=Object.keys(At),dt=class{type;key;clusterLevelRaw;closerPeers;providerPeers;record;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 br.encode({key:this.key,type:this.type,clusterLevelRaw:this.clusterLevelRaw,closerPeers:this.closerPeers.map(r4),providerPeers:this.providerPeers.map(r4),record:this.record==null?void 0:this.record.serialize().subarray()})}static deserialize(t){let r=br.decode(t),n=new dt(r.type??br.MessageType.PUT_VALUE,r.key??Uint8Array.from([]),r.clusterLevelRaw??0);return n.closerPeers=r.closerPeers.map(n4),n.providerPeers=r.providerPeers.map(n4),r.record?.length!=null&&(n.record=Rt.deserialize(r.record)),n}};function r4(e){return{id:e.id.toBytes(),addrs:(e.multiaddrs??[]).map(r=>r.bytes),connection:Qf.CONNECTED}}function n4(e){if(e.id==null)throw new Error("Invalid peer in message");return{id:Gr(e.id),multiaddrs:(e.addrs??[]).map(t=>cs(t)),protocols:[]}}function ls(e){return{...e,name:"SENDING_QUERY",type:0,messageName:e.type,messageType:i4.indexOf(e.type.toString())}}function A0(e){return{...e,name:"PEER_RESPONSE",type:1,messageName:e.messageType,closer:e.closer!=null?e.closer:[],providers:e.providers!=null?e.providers:[]}}function _i(e){return{...e,name:"FINAL_PEER",type:2}}function zt(e){return{...e,name:"QUERY_ERROR",type:3}}function hs(e){return{...e,name:"PROVIDER",type:4}}function B0(e){return{...e,name:"VALUE",type:5}}function ps(e){return{...e,name:"DIALING_PEER",type:7}}var o4=(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 rr="/",s4=new TextEncoder().encode(rr),Ti=s4[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]!==Ti)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(o4().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=s4),this._buf[0]!==Ti){let t=new Uint8Array(this._buf.byteLength+1);t.fill(Ti,0,1),t.set(this._buf,1),this._buf=t}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===Ti;)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 Wf(this.baseNamespace())}name(){return Yf(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(),...Zf(t.map(r=>r.namespaces()))])}};function Wf(e){let t=e.split(":");return t.length<2?"":t.slice(0,-1).join(":")}function Yf(e){let t=e.split(":");return t[t.length-1]}function Zf(e){return[].concat(...e)}var p4=$(a4(),1);var u4="[a-fA-F\\d:]",Er=e=>e&&e.includeBoundaries?`(?:(?<=\\s|^)(?=${u4})|(?<=${u4})(?=\\s|$))`:"",be="(?: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}",Ri=`
|
|
17
17
|
(?:
|
|
18
18
|
(?:${Pt}:){7}(?:${Pt}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
|
|
19
|
-
(?:${Pt}:){6}(?:${
|
|
20
|
-
(?:${Pt}:){5}(?::${
|
|
21
|
-
(?:${Pt}:){4}(?:(?::${Pt}){0,1}:${
|
|
22
|
-
(?:${Pt}:){3}(?:(?::${Pt}){0,2}:${
|
|
23
|
-
(?:${Pt}:){2}(?:(?::${Pt}){0,3}:${
|
|
24
|
-
(?:${Pt}:){1}(?:(?::${Pt}){0,4}:${
|
|
25
|
-
(?::(?:(?::${Pt}){0,5}:${
|
|
19
|
+
(?:${Pt}:){6}(?:${be}|:${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
|
|
20
|
+
(?:${Pt}:){5}(?::${be}|(?::${Pt}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4
|
|
21
|
+
(?:${Pt}:){4}(?:(?::${Pt}){0,1}:${be}|(?::${Pt}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4
|
|
22
|
+
(?:${Pt}:){3}(?:(?::${Pt}){0,2}:${be}|(?::${Pt}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4
|
|
23
|
+
(?:${Pt}:){2}(?:(?::${Pt}){0,3}:${be}|(?::${Pt}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4
|
|
24
|
+
(?:${Pt}:){1}(?:(?::${Pt}){0,4}:${be}|(?::${Pt}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
|
|
25
|
+
(?::(?:(?::${Pt}){0,5}:${be}|(?::${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(),jf=new RegExp(`(?:^${Ee}$)|(?:^${Ri}$)`),Jf=new RegExp(`^${Ee}$`),t7=new RegExp(`^${Ri}$`),ds=e=>e&&e.exact?jf:new RegExp(`(?:${Sr(e)}${Ee}${Sr(e)})|(?:${Sr(e)}${Ri}${Sr(e)})`,"g");ds.v4=e=>e&&e.exact?Jf:new RegExp(`${Sr(e)}${Ee}${Sr(e)}`,"g");ds.v6=e=>e&&e.exact?t7:new RegExp(`${Sr(e)}${Ri}${Sr(e)}`,"g");var u4=ds;var p4=$(f4(),1),{isValid:e7,parse:r7}=p4.default,n7=["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"],i7=n7.map(e=>new h4.Netmask(e));function o7(e){for(let t of i7)if(t.contains(e))return!0;return!1}function l4(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 d4=e=>{if(e7(e)){let t=r7(e);if(t.kind()==="ipv4")return o7(t.toNormalizedString());if(t.kind()==="ipv6")return l4(e)}else if(Nn(e)&&u4.v6().test(e))return l4(e)};var ys=d4;var s7=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=ys(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=ys(n);return i??!1})}}async function Oe(e){return(await mt.digest(e)).digest}async function ee(e){return Oe(e.toBytes())}function ir(e){return new Dt(`${Ca}/${M(e,"base32")}`,!1)}function y4(e){return ut([s7,e.toBytes()])}function g4(e){return M(e.subarray(0,4))==="/pk/"}function m4(e){return Gr(e.subarray(4))}function gs(e,t){let r=new Date;return new Rt(e,t,r).serialize()}function x4(e,t=100){let r;return()=>{clearTimeout(r),r=setTimeout(()=>{e()},t)}}var Ni=class{log;components;validators;selectors;peerRouting;queryManager;routingTable;network;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=ir(t);await this.components.datastore.put(n,r)}async getLocal(t){this.log("getLocal %b",t);let r=ir(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 In(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=ir(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 dt(At.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 zt({from:a,error:new _("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=ir(t);this.log(`storing record for key ${o.toString()}`),await this.components.datastore.put(o,i.subarray()),yield*be(this.peerRouting.getClosestPeers(t,{signal:n.signal}),s=>Ei(s,a=>async()=>{if(a.name!=="FINAL_PEER")return[a];let u=[],c=new dt(At.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(zt({from:a.peer.id,error:new _("value not put correctly","ERR_PUT_VALUE_INVALID")})));return u}),s=>x0(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=ba(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 _("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 C0({value:a.value,from:this.components.peerId})}catch(a){this.log("error getting local value for %b",t,a)}let n=await Oe(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 C0({from:a,value:c.record.value}))};yield*this.queryManager.run(t,i,s,r)}};var Li=class{log;components;network;peerRouting;queryManager;routingTable;providers;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 dt(At.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(zt({from:a.peer.id,error:c}))}return u};yield*be(this.peerRouting.getClosestPeers(t.multihash.bytes,n),a=>Ei(a,u=>s(u)),a=>x0(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 Oe(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 A0({from:this.components.peerId,messageType:At.GET_PROVIDERS,providers:f}),yield hs({from:this.components.peerId,providers:f})}if(a.length>=n)return;let u=async function*({peer:f,signal:l}){let d=new dt(At.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 hs({from:f.from,providers:l})),c.size===n)return}}};var T0=class extends Error{constructor(t,r){super(t??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function v4(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 w4(e,t,r){let n=r??{},i=v4(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 T0(f,l)}let c=new Promise((f,l)=>{s=()=>{let{abortMessage:d,abortCode:p}=n;l(new T0(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 a7(e,t,r){return n=>e(w4(n,t,r))}function xs(e,t,r){return{sink:a7(e.sink,t,{...r,onAbort:void 0}),source:w4(e.source,t,r)}}function u7(e){return e[Symbol.asyncIterator]!=null}function c7(e){if(u7(e))return(async()=>{for await(let t of e)return t})();for(let t of e)return t}var b4=c7;var S4=Symbol.for("@achingbrain/uint8arraylist");function E4(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 ki(e){return!!e?.[S4]}var Me=class{constructor(...t){Object.defineProperty(this,S4,{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(ki(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(ki(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=E4(this.bufs,t);return r.buf[r.index]}set(t,r){let n=E4(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(ki(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 Me;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(!ki(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=te(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=te(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 Me)||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 Me;return n.bufs=t,r==null&&(r=t.reduce((i,o)=>i+o.byteLength,0)),n.length=r,n}};function Di(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 I4=4294967296,re=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 re(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 re(r,n)}toBytes(t,r=0){let n=Di(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 re;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>I4&&(i=0,++n>I4&&(n=0))),new re(n,i)}static fromNumber(t){if(t===0)return new re;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 re(i,n)}static fromBytes(t,r=0){let n=Di(t),i=new re,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 f7=Math.pow(2,7),l7=Math.pow(2,14),h7=Math.pow(2,21),p7=Math.pow(2,28),d7=Math.pow(2,35),y7=Math.pow(2,42),g7=Math.pow(2,49),m7=Math.pow(2,56),x7=Math.pow(2,63),Qr={encodingLength(e){return e<f7?1:e<l7?2:e<h7?3:e<p7?4:e<d7?5:e<y7?6:e<g7?7:e<m7?8:e<x7?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=te(Qr.encodingLength(e))),re.fromNumber(e).toBytes(t,r),t},decode(e,t=0){return re.fromBytes(e,t).toNumber(!0)}};function Fi(e){return e[Symbol.asyncIterator]!=null}var Ui=e=>{let t=Qr.encodingLength(e),r=te(t);return Qr.encode(e,r),Ui.bytes=t,r};Ui.bytes=0;function Wr(e,t){t=t??{};let r=t.lengthEncoder??Ui;function*n(i){let o=r(i.byteLength);o instanceof Uint8Array?yield o:yield*o,i instanceof Uint8Array?yield i:yield*i}return Fi(e)?async function*(){for await(let i of e)yield*n(i)}():function*(){for(let i of e)yield*n(i)}()}Wr.single=(e,t)=>{t=t??{};let r=t.lengthEncoder??Ui;return new Me(r(e.byteLength),e)};var On=$(C4(),1);var w7=8,b7=1024*1024*4,Yr;(function(e){e[e.LENGTH=0]="LENGTH",e[e.DATA=1]="DATA"})(Yr||(Yr={}));var vs=e=>{let t=Qr.decode(e);return vs.bytes=Qr.encodingLength(t),t};vs.bytes=0;function Zr(e,t){let r=new Me,n=Yr.LENGTH,i=-1,o=t?.lengthDecoder??vs,s=t?.maxLengthLength??w7,a=t?.maxDataLength??b7;function*u(){for(;r.byteLength>0;){if(n===Yr.LENGTH)try{if(i=o(r),i<0)throw(0,On.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,On.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=Yr.DATA}catch(c){if(c instanceof RangeError){if(r.byteLength>s)throw(0,On.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw c}if(n===Yr.DATA){if(r.byteLength<i)break;let c=r.sublist(0,i);r.consume(i),t?.onData!=null&&t.onData(c),yield c,n=Yr.LENGTH}}}return Fi(e)?async function*(){for await(let c of e)r.append(c),yield*u();if(r.byteLength>0)throw(0,On.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,On.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}Zr.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 Zr(n,{...t??{},onLength:o=>{r=o}})};var Oi=class extends ae{log;protocol;running;components;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 ps({peer:t}),yield ls({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 A0({from:t,messageType:a.type,closer:a.closerPeers,providers:a.providerPeers,record:a.record})}catch(o){yield zt({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 ps({peer:t}),yield ls({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 A0({from:t,messageType:r.type})}catch(o){yield zt({from:t,error:o})}finally{i?.close()}}async _writeMessage(t,r,n){n.signal!=null&&(t=xs(t,n.signal)),await be([r],i=>Wr(i),t,l0)}async _writeReadMessage(t,r,n){n.signal!=null&&(t=xs(t,n.signal));let i=await be([r],s=>Wr(s),t,s=>Zr(s),async s=>{let a=await b4(s);if(a!=null)return a;throw new _("No message received","ERR_NO_MESSAGE_RECEIVED")}),o=dt.deserialize(i);return o.closerPeers.forEach(s=>{this.dispatchEvent(new jt("peer",{detail:s}))}),o.providerPeers.forEach(s=>{this.dispatchEvent(new jt("peer",{detail:s}))}),o}};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 T4={SHA1:20,SHA256:32,SHA512:64};var E7={SHA1:"SHA-1",SHA256:"SHA-256",SHA512:"SHA-512"},S7=async(e,t)=>{let r=await Bt.get().subtle.sign({name:"HMAC"},e,t);return new Uint8Array(r,0,r.byteLength)};async function R4(e,t){let r=E7[e],n=await Bt.get().subtle.importKey("raw",t,{name:"HMAC",hash:{name:r}},!1,["sign"]);return{async digest(i){return await S7(n,i)},length:T4[e]}}var ow=$(zi(),1),P7=$(nt(),1);var x1={};Lt(x1,{generateEphemeralKeyPair:()=>tu,generateKeyPair:()=>Xh,generateKeyPairFromSeed:()=>jh,importKey:()=>rp,keyStretcher:()=>W5,keysPBM:()=>Vn,marshalPrivateKey:()=>ep,marshalPublicKey:()=>tp,supportedKeys:()=>We,unmarshalPrivateKey:()=>t6,unmarshalPublicKey:()=>Jh});var Vn={};Lt(Vn,{KeyType:()=>ct,PrivateKey:()=>Ae,PublicKey:()=>Ie});var ct;(function(e){e.RSA="RSA",e.Ed25519="Ed25519",e.Secp256k1="Secp256k1"})(ct||(ct={}));var Ps;(function(e){e[e.RSA=0]="RSA",e[e.Ed25519=1]="Ed25519",e[e.Secp256k1=2]="Secp256k1"})(Ps||(Ps={}));(function(e){e.codec=()=>Cn(Ps)})(ct||(ct={}));var Ie;(function(e){let t;e.codec=()=>(t==null&&(t=Fe((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=>De(r,e.codec()),e.decode=r=>ke(r,e.codec())})(Ie||(Ie={}));var Ae;(function(e){let t;e.codec=()=>(t==null&&(t=Fe((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=>De(r,e.codec()),e.decode=r=>ke(r,e.codec())})(Ae||(Ae={}));var Hb=$(L0(),1),Gb=$(G5(),1),m1=$(nt(),1);var Q5={"AES-128":{ivSize:16,keySize:16},"AES-256":{ivSize:16,keySize:32},Blowfish:{ivSize:8,keySize:32}};async function W5(e,t,r){let n=Q5[e];if(n==null){let x=Object.keys(Q5).join(" / ");throw new _(`unknown cipher type '${e}'. Must be ${x}`,"ERR_INVALID_CIPHER_TYPE")}if(t==null)throw new _("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 R4(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 Ow=$(Ct(),1),Mw=$(Ji(),1),Y5=$(nt(),1);function Ce(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=n1(e);return new Y5.default.jsbn.BigInteger(M(t,"base16"),16)}function n1(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 Z5={"P-256":256,"P-384":384,"P-521":521},X9=Object.keys(Z5),zs=X9.join(" / ");async function X5(e){if(e!=="P-256"&&e!=="P-384"&&e!=="P-521")throw new _(`Unknown curve: ${e}. Must be ${zs}`,"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",J9(e,s),{name:"ECDH",namedCurve:e},!1,["deriveBits"]):a=t.privateKey;let u=await Bt.get().subtle.importKey("jwk",J5(e,o),{name:"ECDH",namedCurve:e},!1,[]),c=await Bt.get().subtle.deriveBits({name:"ECDH",namedCurve:e,public:u},a,Z5[e]);return new Uint8Array(c,0,c.byteLength)},n=await Bt.get().subtle.exportKey("jwk",t.publicKey);return{key:j9(n),genSharedKey:r}}var j5={"P-256":32,"P-384":48,"P-521":66};function j9(e){if(e.crv==null||e.x==null||e.y==null)throw new _("JWK was missing components","ERR_INVALID_PARAMETERS");if(e.crv!=="P-256"&&e.crv!=="P-384"&&e.crv!=="P-521")throw new _(`Unknown curve: ${e.crv}. Must be ${zs}`,"ERR_INVALID_CURVE");let t=j5[e.crv];return ut([Uint8Array.from([4]),n1(e.x,t),n1(e.y,t)],1+t*2)}function J5(e,t){if(e!=="P-256"&&e!=="P-384"&&e!=="P-521")throw new _(`Unknown curve: ${e}. Must be ${zs}`,"ERR_INVALID_CURVE");let r=j5[e];if(!st(t.subarray(0,1),Uint8Array.from([4])))throw new _("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 J9=(e,t)=>({...J5(e,t.public),d:M(t.private,"base64url")});var tu=X5;function eu(){return typeof navigator<"u"&&navigator.userAgent.includes("Safari")&&navigator.userAgent.includes("Linux")&&!navigator.userAgent.includes("Chrome")}var ru={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function i1(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&&eu())g=await a.subtle.importKey("jwk",ru,{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&&eu())m=await a.subtle.importKey("jwk",ru,{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 iu(e,t){let r=Kr.decode(e);return await i1().decrypt(r,t)}var t2={};Lt(t2,{RsaPrivateKey:()=>jn,RsaPublicKey:()=>q0,fromJwk:()=>Ih,generateKeyPair:()=>Ah,unmarshalRsaPrivateKey:()=>Eh,unmarshalRsaPublicKey:()=>Sh});var Tb=$(cu(),1),V0=$(nt(),1);var eh=$(qn(),1);var Y=BigInt(0),ht=BigInt(1),Tr=BigInt(2),O0=BigInt(3),fu=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")}),lu=(e,t)=>(e+t/Tr)/t,o1={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=lu(o*e,t),u=lu(-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}}},_e=32,Qn=32,rh=32,hu=_e+1,pu=2*_e+1;function du(e){let{a:t,b:r}=Et,n=N(e*e),i=N(n*e);return N(i+t*e+r)}var s1=Et.a===Y,c1=class extends Error{constructor(t){super(t)}};function yu(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=ah(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){yu(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(Tr*(N(a*a)-i-s)),c=N(O0*i),f=N(c*c),l=N(f-Tr*u),d=N(c*(u-l)-fu*s),p=N(Tr*r*n);return new J(l,d,p)}add(t){yu(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-Tr*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=xu(t);if(n===ht)return this;if(!s1){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}=o1.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*o1.beta),c.y,c.z),u.add(c)}precomputeWindow(t){let r=s1?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&&Qs.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=J.normalizeZ(i),Qs.set(r,i)));let o=J.ZERO,s=J.BASE,a=1+(s1?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(a1(m,i[y])):o=o.add(a1(x,i[g]))}return{p:o,f:s}}multiply(t,r){let n=xu(t),i,o;if(s1){let{k1neg:s,k1:a,k2neg:u,k2:c}=o1.splitScalar(n),{p:f,f:l}=this.wNAF(a,r),{p:d,f:p}=this.wNAF(c,r);f=a1(s,f),d=a1(u,d),d=new J(N(d.x*o1.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?fu:Zn(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 a1(e,t){let r=t.negate();return e?r:t}var Qs=new WeakMap,et=class{constructor(t,r){this.x=t,this.y=r}_setWindowSize(t){this._WINDOW_SIZE=t,Qs.delete(this)}hasEvenY(){return this.y%Tr===Y}static fromCompressedHex(t){let r=t.length===32,n=Rr(r?t:t.subarray(1));if(!Gs(n))throw new Error("Point is not on curve");let i=du(n),o=sh(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=Rr(t.subarray(1,_e+1)),n=Rr(t.subarray(_e+1,_e*2+1)),i=new et(r,n);return i.assertValidity(),i}static fromHex(t){let r=Yn(t),n=r.length,i=r[0];if(n===_e)return this.fromCompressedHex(r);if(n===hu&&(i===2||i===3))return this.fromCompressedHex(r);if(n===pu&&i===4)return this.fromUncompressedHex(r);throw new Error(`Point.fromHex: received invalid point. Expected 32-${hu} compressed bytes or ${pu} uncompressed bytes, not ${n}`)}static fromPrivateKey(t){return et.BASE.multiply(l1(t))}static fromSignature(t,r,n){let{r:i,s:o}=vu(r);if(![0,1,2,3].includes(n))throw new Error("Cannot recover: invalid recovery bit");let s=Zs(Yn(t)),{n:a}=Et,u=n===2||n===3?i+a:i,c=Zn(u,a),f=N(-s*c,a),l=N(o*c,a),d=n&1?"03":"02",p=et.fromHex(d+Hn(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 nn(this.toHex(t))}toHex(t=!1){let r=Hn(this.x);return t?`${this.hasEvenY()?"02":"03"}${r}`:`04${r}${Hn(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(!Gs(r)||!Gs(n))throw new Error(t);let i=N(n*n),o=du(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 gu(e){return Number.parseInt(e[0],16)>=8?"00"+e:e}function mu(e){if(e.length<2||e[0]!==2)throw new Error(`Invalid signature integer tag: ${Wn(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:Rr(r),left:e.subarray(t+2)}}function nh(e){if(e.length<2||e[0]!=48)throw new Error(`Invalid signature tag: ${Wn(e)}`);if(e[1]!==e.length-2)throw new Error("Invalid signature: incorrect length");let{data:t,left:r}=mu(e.subarray(2)),{data:n,left:i}=mu(r);if(i.length)throw new Error(`Invalid signature: left bytes after parsing: ${Wn(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?Wn(t):t;if(i.length!==128)throw new Error(`${n}: Expected 64-byte hex`);return new Ge(f1(i.slice(0,64)),f1(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}=nh(r?t:nn(t));return new Ge(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 Ge(this.r,N(-this.s,Et.n)):this}toDERRawBytes(){return nn(this.toDERHex())}toDERHex(){let t=gu(U0(this.s)),r=gu(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 nn(this.toCompactHex())}toCompactHex(){return Hn(this.r)+Hn(this.s)}};function _r(...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 ih=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Wn(e){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");let t="";for(let r=0;r<e.length;r++)t+=ih[e[r]];return t}var oh=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000");function Hn(e){if(typeof e!="bigint")throw new Error("Expected bigint");if(!(Y<=e&&e<oh))throw new Error("Expected number 0 <= n < 2^256");return e.toString(16).padStart(64,"0")}function Ws(e){let t=nn(Hn(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 f1(e){if(typeof e!="string")throw new TypeError("hexToNumber: expected string, got "+typeof e);return BigInt(`0x${e}`)}function nn(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 Rr(e){return f1(Wn(e))}function Yn(e){return e instanceof Uint8Array?Uint8Array.from(e):nn(e)}function xu(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 he(e,t){let{P:r}=Et,n=e;for(;t-- >Y;)n*=n,n%=r;return n}function sh(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=he(c,O0)*c%t,l=he(f,O0)*c%t,d=he(l,Tr)*u%t,p=he(d,n)*d%t,h=he(p,i)*p%t,y=he(h,s)*h%t,g=he(y,a)*y%t,m=he(g,s)*h%t,x=he(m,O0)*c%t,S=he(x,o)*p%t,L=he(S,r)*u%t,T=he(L,Tr);if(T*T%t!==e)throw new Error("Cannot find square root");return T}function Zn(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 ah(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=Zn(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 uh(e){let t=e.length*8-Qn*8,r=Rr(e);return t>0?r>>BigInt(t):r}function Zs(e,t=!1){let r=uh(e);if(t)return r;let{n}=Et;return r>=n?r-n:r}var Gn,M0,Ys=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 Te.hmacSha256(this.k,...t)}hmacSync(...t){return M0(this.k,...t)}checkSync(){if(typeof M0!="function")throw new c1("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 _r(...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 _r(...r)}};function K0(e){return Y<e&&e<Et.n}function Gs(e){return Y<e&&e<Et.P}function ch(e,t,r,n=!0){let{n:i}=Et,o=Zs(e,!0);if(!K0(o))return;let s=Zn(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 l1(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*Qn)throw new Error("Expected 32 bytes of private key");t=f1(e)}else if(e instanceof Uint8Array){if(e.length!==Qn)throw new Error("Expected 32 bytes of private key");t=Rr(e)}else throw new TypeError("Expected valid private key");if(!K0(t))throw new Error("Expected private key: 0 < key < n");return t}function fh(e){return e instanceof et?(e.assertValidity(),e):et.fromHex(e)}function vu(e){if(e instanceof Ge)return e.assertValidity(),e;try{return Ge.fromDER(e)}catch{return Ge.fromCompact(e)}}function Xs(e,t=!1){return et.fromPrivateKey(e).toRawBytes(t)}function wu(e){let t=e.length>_e?e.slice(0,_e):e;return Rr(t)}function lh(e){let t=wu(e),r=N(t,Et.n);return bu(r<Y?t:r)}function bu(e){return Ws(e)}function hh(e,t,r){if(e==null)throw new Error(`sign: expected valid message hash, not "${e}"`);let n=Yn(e),i=l1(t),o=[bu(i),lh(n)];if(r!=null){r===!0&&(r=Te.randomBytes(_e));let u=Yn(r);if(u.length!==_e)throw new Error(`sign: Expected ${_e} bytes of extra data`);o.push(u)}let s=_r(...o),a=wu(n);return{seed:s,m:a,d:i}}function ph(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 Eu(e,t,r={}){let{seed:n,m:i,d:o}=hh(e,t,r.extraEntropy),s=new Ys(rh,Qn);await s.reseed(n);let a;for(;!(a=ch(await s.generate(),i,o,r.canonical));)await s.reseed();return ph(a,r)}var dh={strict:!0};function Su(e,t,r,n=dh){let i;try{i=vu(e),t=Yn(t)}catch{return!1}let{r:o,s}=i;if(n.strict&&i.hasHighS())return!1;let a=Zs(t),u;try{u=fh(r)}catch{return!1}let{n:c}=Et,f=Zn(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:eh,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0};var u1={},Te={bytesToHex:Wn,hexToBytes:nn,concatBytes:_r,mod:N,invert:Zn,isValidPrivateKey(e){try{return l1(e),!0}catch{return!1}},_bigintTo32Bytes:Ws,_normalizePrivateKey:l1,hashToPrivateKey:e=>{e=Yn(e);let t=Qn+8;if(e.length<t||e.length>1024)throw new Error("Expected valid bytes of private key as per FIPS 186");let r=N(Rr(e),Et.n-ht)+ht;return Ws(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:()=>Te.hashToPrivateKey(Te.randomBytes(Qn+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",_r(...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=_r(...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=u1[e];if(r===void 0){let n=await Te.sha256(Uint8Array.from(e,i=>i.charCodeAt(0)));r=_r(n,n),u1[e]=r}return Te.sha256(r,...t)},taggedHashSync:(e,...t)=>{if(typeof Gn!="function")throw new c1("sha256Sync is undefined, you need to set it");let r=u1[e];if(r===void 0){let n=Gn(Uint8Array.from(e,i=>i.charCodeAt(0)));r=_r(n,n),u1[e]=r}return Gn(r,...t)},_JacobianPoint:J};Object.defineProperties(Te,{sha256Sync:{configurable:!1,get(){return Gn},set(e){Gn||(Gn=e)}},hmacSha256Sync:{configurable:!1,get(){return M0},set(e){M0||(M0=e)}}});function on(e){if(isNaN(e)||e<=0)throw new _("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return Te.randomBytes(e)}var sn={};Lt(sn,{jwkToPkcs1:()=>mh,jwkToPkix:()=>vh,pkcs1ToJwk:()=>gh,pkixToJwk:()=>xh});var ub=$(L0(),1),cb=$(r1(),1),ur=$(nt(),1);function gh(e){let t=ur.default.asn1.fromDer(M(e,"ascii")),r=ur.default.pki.privateKeyFromAsn1(t);return{kty:"RSA",n:Ce(r.n),e:Ce(r.e),d:Ce(r.d),p:Ce(r.p),q:Ce(r.q),dp:Ce(r.dP),dq:Ce(r.dQ),qi:Ce(r.qInv),alg:"RS256"}}function mh(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 _("JWK was missing components","ERR_INVALID_PARAMETERS");let t=ur.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(ur.default.asn1.toDer(t).getBytes(),"ascii")}function xh(e){let t=ur.default.asn1.fromDer(M(e,"ascii")),r=ur.default.pki.publicKeyFromAsn1(t);return{kty:"RSA",n:Ce(r.n),e:Ce(r.e)}}function vh(e){if(e.n==null||e.e==null)throw new _("JWK was missing components","ERR_INVALID_PARAMETERS");let t=ur.default.pki.publicKeyToAsn1({n:ne(e.n),e:ne(e.e)});return xt(ur.default.asn1.toDer(t).getBytes(),"ascii")}var db=$(r1(),1),js=$(nt(),1);function Iu(e,t){return t.map(r=>ne(e[r]))}function Au(e){return js.default.pki.setRsaPrivateKey(...Iu(e,["n","e","d","p","q","dp","dq","qi"]))}function Bu(e){return js.default.pki.setRsaPublicKey(...Iu(e,["n","e"]))}async function Cu(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 Ru(t);return{privateKey:r[0],publicKey:r[1]}}async function Js(e){let r=[await Bt.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await wh(e)],n=await Ru({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function _u(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 Tu(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 Ru(e){if(e.privateKey==null||e.publicKey==null)throw new _("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 wh(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 Pu(e,t,r,n){let i=t?Bu(e):Au(e),o=M(Uint8Array.from(r),"ascii"),s=n(o,i);return xt(s,"ascii")}function Nu(e,t){return Pu(e,!0,t,(r,n)=>n.encrypt(r))}function Lu(e,t){return Pu(e,!1,t,(r,n)=>n.decrypt(r))}async function Xn(e,t){let n=await i1().encrypt(e,t);return Kr.encode(n)}var q0=class{constructor(t){this._key=t}async verify(t,r){return await Tu(this._key,r,t)}marshal(){return sn.jwkToPkix(this._key)}get bytes(){return Ie.encode({Type:ct.RSA,Data:this.marshal()}).subarray()}encrypt(t){return Nu(this._key,t)}equals(t){return st(this.bytes,t.bytes)}async hash(){let{bytes:t}=await mt.digest(this.bytes);return t}},jn=class{constructor(t,r){this._key=t,this._publicKey=r}genSecret(){return on(16)}async sign(t){return await _u(this._key,t)}get public(){if(this._publicKey==null)throw new _("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new q0(this._publicKey)}decrypt(t){return Lu(this._key,t)}marshal(){return sn.jwkToPkcs1(this._key)}get bytes(){return Ae.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 Xn(this.bytes,t);throw new _(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function Eh(e){let t=sn.pkcs1ToJwk(e),r=await Js(t);return new jn(r.privateKey,r.publicKey)}function Sh(e){let t=sn.pkixToJwk(e);return new q0(t)}async function Ih(e){let t=await Js(e);return new jn(t.privateKey,t.publicKey)}async function Ah(e){let t=await Cu(e);return new jn(t.privateKey,t.publicKey)}var f2={};Lt(f2,{Ed25519PrivateKey:()=>un,Ed25519PublicKey:()=>Q0,generateKeyPair:()=>Gh,generateKeyPairFromSeed:()=>c2,unmarshalEd25519PrivateKey:()=>$h,unmarshalEd25519PublicKey:()=>Hh});var Bh=$(qn(),1);var Mt=BigInt(0),Z=BigInt(1),Lr=BigInt(2),Ch=BigInt(8),ku=BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),pt=Object.freeze({a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),P:BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),l:ku,n:ku,h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960")});var Mu=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000"),z0=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),Pb=BigInt("6853475219497561581579357271197624642482790079785650197046958215289687604742"),_h=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),Th=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),Rh=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 gt))throw new TypeError("ExtendedPoint#fromAffine: expected Point");return t.equals(gt.ZERO)?Q.ZERO:new Q(t.x,t.y,Z,A(t.x*t.y))}static toAffineBatch(t){let r=kh(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){Fu(t);let{x:r,y:n,z:i}=this,{x:o,y:s,z:a}=t,u=A(r*a),c=A(o*i),f=A(n*a),l=A(s*i);return u===c&&f===l}negate(){return new Q(A(-this.x),this.y,this.z,A(-this.t))}double(){let{x:t,y:r,z:n}=this,{a:i}=pt,o=A(t*t),s=A(r*r),a=A(Lr*A(n*n)),u=A(i*o),c=t+r,f=A(A(c*c)-o-s),l=u+s,d=l-a,p=u-s,h=A(f*d),y=A(l*p),g=A(f*p),m=A(d*l);return new Q(h,y,m,g)}add(t){Fu(t);let{x:r,y:n,z:i,t:o}=this,{x:s,y:a,z:u,t:c}=t,f=A((n-r)*(a+s)),l=A((n+r)*(a-s)),d=A(l-f);if(d===Mt)return this.double();let p=A(i*Lr*c),h=A(o*Lr*u),y=h+p,g=l+f,m=h-p,x=A(y*d),S=A(g*m),L=A(y*m),T=A(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=gt.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&&o2.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=Q.normalizeZ(i),o2.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(Du(m,i[y])):o=o.add(Du(x,i[g]))}return Q.normalizeZ([o,s])[0]}multiply(t,r){return this.wNAF(p1(t,pt.l),r)}multiplyUnsafe(t){let r=p1(t,pt.l,!1),n=Q.BASE,i=Q.ZERO;if(r===Mt)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>Mt;)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/Lr).double();return pt.l%Lr&&(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:d1(i));let s=A(r*t),a=A(n*t),u=A(i*t);if(o)return gt.ZERO;if(u!==Z)throw new Error("invZ was invalid");return new gt(s,a)}fromRistrettoBytes(){r2()}toRistrettoBytes(){r2()}fromRistrettoHash(){r2()}};Q.BASE=new Q(pt.Gx,pt.Gy,Z,A(pt.Gx*pt.Gy));Q.ZERO=new Q(Mt,Z,Z,Mt);function Du(e,t){let r=t.negate();return e?r:t}function Fu(e){if(!(e instanceof Q))throw new TypeError("ExtendedPoint expected")}function e2(e){if(!(e instanceof Yt))throw new TypeError("RistrettoPoint expected")}function r2(){throw new Error("Legacy method: switch to RistrettoPoint")}var Yt=class{constructor(t){this.ep=t}static calcElligatorRistrettoMap(t){let{d:r}=pt,n=A(z0*t*t),i=A((n+Z)*Rh),o=BigInt(-1),s=A((o-r*n)*A(n+r)),{isValid:a,value:u}=a2(i,s),c=A(u*t);Nr(c)||(c=A(-c)),a||(u=c),a||(o=n);let f=A(o*(n-Z)*Ph-s),l=u*u,d=A((u+u)*s),p=A(f*_h),h=A(Z-l),y=A(Z+l);return new Q(A(d*y),A(h*p),A(p*y),A(d*h))}static hashToCurve(t){t=kr(t,64);let r=n2(t.slice(0,32)),n=this.calcElligatorRistrettoMap(r),i=n2(t.slice(32,64)),o=this.calcElligatorRistrettoMap(i);return new Yt(n.add(o))}static fromHex(t){t=kr(t,32);let{a:r,d:n}=pt,i="RistrettoPoint.fromHex: the hex is not valid encoding of RistrettoPoint",o=n2(t);if(!Fh($0(o),t)||Nr(o))throw new Error(i);let s=A(o*o),a=A(Z+r*s),u=A(Z-r*s),c=A(a*a),f=A(u*u),l=A(r*n*c-f),{isValid:d,value:p}=Ou(A(l*f)),h=A(p*u),y=A(p*h*l),g=A((o+o)*h);Nr(g)&&(g=A(-g));let m=A(a*y),x=A(g*m);if(!d||Nr(x)||m===Mt)throw new Error(i);return new Yt(new Q(g,m,Z,x))}toRawBytes(){let{x:t,y:r,z:n,t:i}=this.ep,o=A(A(n+r)*A(n-r)),s=A(t*r),a=A(s*s),{value:u}=Ou(A(o*a)),c=A(u*o),f=A(u*s),l=A(c*f*i),d;if(Nr(i*l)){let h=A(r*z0),y=A(t*z0);t=h,r=y,d=A(c*Th)}else d=f;Nr(t*l)&&(r=A(-r));let p=A((n-r)*d);return Nr(p)&&(p=A(-p)),$0(p)}toHex(){return H0(this.toRawBytes())}toString(){return this.toHex()}equals(t){e2(t);let r=this.ep,n=t.ep,i=A(r.x*n.y)===A(r.y*n.x),o=A(r.y*n.y)===A(r.x*n.x);return i||o}add(t){return e2(t),new Yt(this.ep.add(t.ep))}subtract(t){return e2(t),new Yt(this.ep.subtract(t.ep))}multiply(t){return new Yt(this.ep.multiply(t))}multiplyUnsafe(t){return new Yt(this.ep.multiplyUnsafe(t))}};Yt.BASE=new Yt(Q.BASE);Yt.ZERO=new Yt(Q.ZERO);var o2=new WeakMap,gt=class{constructor(t,r){this.x=t,this.y=r}_setWindowSize(t){this._WINDOW_SIZE=t,o2.delete(this)}static fromHex(t,r=!0){let{d:n,P:i}=pt;t=kr(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>=Mu)throw new Error("Expected 0 < hex < 2**256");let a=A(s*s),u=A(a-Z),c=A(n*a+Z),{isValid:f,value:l}=a2(u,c);if(!f)throw new Error("Point.fromHex: invalid y coordinate");let d=(l&Z)===Z;return(t[31]&128)!==0!==d&&(l=A(-l)),new gt(l,s)}static async fromPrivateKey(t){return(await y1(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=A((Z+t)*d1(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 gt(A(-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()}};gt.BASE=new gt(pt.Gx,pt.Gy);gt.ZERO=new gt(Mt,Z);var an=class{constructor(t,r){this.r=t,this.s=r,this.assertValidity()}static fromHex(t){let r=kr(t,64),n=gt.fromHex(r.slice(0,32),!1),i=G0(r.slice(32,64));return new an(n,i)}assertValidity(){let{r:t,s:r}=this;if(!(t instanceof gt))throw new Error("Expected Point instance");return p1(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 Uu(...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 Nh=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+=Nh[e[r]];return t}function s2(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 Ku(e){let r=e.toString(16).padStart(64,"0");return s2(r)}function $0(e){return Ku(e).reverse()}function Nr(e){return(A(e)&Z)===Z}function G0(e){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");return BigInt("0x"+H0(Uint8Array.from(e).reverse()))}var Lh=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function n2(e){return A(G0(e)&Lh)}function A(e,t=pt.P){let r=e%t;return r>=Mt?r:t+r}function d1(e,t=pt.P){if(e===Mt||t<=Mt)throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);let r=A(e,t),n=t,i=Mt,o=Z,s=Z,a=Mt;for(;r!==Mt;){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 A(i,t)}function kh(e,t=pt.P){let r=new Array(e.length),n=e.reduce((o,s,a)=>s===Mt?o:(r[a]=o,A(o*s,t)),Z),i=d1(n,t);return e.reduceRight((o,s,a)=>s===Mt?o:(r[a]=A(o*r[a],t),A(o*s,t)),i),r}function Qe(e,t){let{P:r}=pt,n=e;for(;t-- >Mt;)n*=n,n%=r;return n}function Dh(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,Lr)*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,Lr)*e%t,b2:u}}function a2(e,t){let r=A(t*t*t),n=A(r*r*t),i=Dh(e*n).pow_p_5_8,o=A(e*r*i),s=A(t*o*o),a=o,u=A(o*z0),c=s===e,f=s===A(-e),l=s===A(-e*z0);return c&&(o=a),(f||l)&&(o=u),Nr(o)&&(o=A(-o)),{isValid:c||f,value:o}}function Ou(e){return a2(Z,e)}function h1(e){return A(G0(e),pt.l)}function Fh(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 kr(e,t){let r=e instanceof Uint8Array?Uint8Array.from(e):s2(e);if(typeof t=="number"&&r.length!==t)throw new Error(`Expected ${t} bytes`);return r}function p1(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(Mt<e)return e}else if(Mt<=e)return e}throw new TypeError("Expected valid scalar: 0 < scalar < max")}function Uh(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}function Oh(e){if(e=typeof e=="bigint"||typeof e=="number"?Ku(p1(e,Mu)):kr(e),e.length!==32)throw new Error("Expected 32 bytes");return e}function Mh(e){let t=Uh(e.slice(0,32)),r=e.slice(32,64),n=h1(t),i=gt.BASE.multiply(n),o=i.toRawBytes();return{head:t,prefix:r,scalar:n,point:i,pointBytes:o}}var i2;async function y1(e){return Mh(await Dr.sha512(Oh(e)))}async function u2(e){return(await y1(e)).pointBytes}async function Vu(e,t){e=kr(e);let{prefix:r,scalar:n,pointBytes:i}=await y1(t),o=h1(await Dr.sha512(r,e)),s=gt.BASE.multiply(o),a=h1(await Dr.sha512(s.toRawBytes(),i,e)),u=A(o+a*n,pt.l);return new an(s,u).toRawBytes()}function Kh(e,t,r){t=kr(t),r instanceof gt||(r=gt.fromHex(r,!1));let{r:n,s:i}=e instanceof an?e.assertValidity():an.fromHex(e),o=Q.BASE.multiplyUnsafe(i);return{r:n,s:i,SB:o,pub:r,msg:t}}function Vh(e,t,r,n){let i=h1(n),o=Q.fromAffine(e).multiplyUnsafe(i);return Q.fromAffine(t).add(o).subtract(r).multiplyUnsafe(pt.h).equals(Q.ZERO)}async function qu(e,t,r){let{r:n,SB:i,msg:o,pub:s}=Kh(e,t,r),a=await Dr.sha512(n.toRawBytes(),s.toRawBytes(),o);return Vh(s,n,i,a)}gt.BASE._setWindowSize(8);var Pr={node:Bh,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0},Dr={bytesToHex:H0,hexToBytes:s2,concatBytes:Uu,getExtendedPublicKey:y1,mod:A,invert:d1,TORSION_SUBGROUP:["0100000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a","0000000000000000000000000000000000000000000000000000000000000080","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05","ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85","0000000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa"],hashToPrivateScalar:e=>{if(e=kr(e),e.length<40||e.length>1024)throw new Error("Expected 40-1024 bytes of private key as per FIPS 186");return A(G0(e),pt.l-Z)+Z},randomBytes:(e=32)=>{if(Pr.web)return Pr.web.getRandomValues(new Uint8Array(e));if(Pr.node){let{randomBytes:t}=Pr.node;return new Uint8Array(t(e).buffer)}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>Dr.randomBytes(32),sha512:async(...e)=>{let t=Uu(...e);if(Pr.web){let r=await Pr.web.subtle.digest("SHA-512",t.buffer);return new Uint8Array(r)}else{if(Pr.node)return Uint8Array.from(Pr.node.createHash("sha512").update(t).digest());throw new Error("The environment doesn't have sha512 function")}},precompute(e=8,t=gt.BASE){let r=t.equals(gt.BASE)?t:new gt(t.x,t.y);return r._setWindowSize(e),r.multiply(Lr),r},sha512Sync:void 0};Object.defineProperties(Dr,{sha512Sync:{configurable:!1,get(){return i2},set(e){i2||(i2=e)}}});var Jn=32,cr=64,g1=32;async function zu(){let e=Dr.randomPrivateKey(),t=await u2(e);return{privateKey:Qu(e,t),publicKey:t}}async function $u(e){if(e.length!==g1)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 u2(t);return{privateKey:Qu(t,r),publicKey:r}}async function Hu(e,t){let r=e.subarray(0,g1);return await Vu(t,r)}async function Gu(e,t,r){return await qu(t,r,e)}function Qu(e,t){let r=new Uint8Array(cr);for(let n=0;n<g1;n++)r[n]=e[n],r[g1+n]=t[n];return r}var Q0=class{constructor(t){this._key=t0(t,Jn)}async verify(t,r){return await Gu(this._key,r,t)}marshal(){return this._key}get bytes(){return Ie.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}},un=class{constructor(t,r){this._key=t0(t,cr),this._publicKey=t0(r,Jn)}async sign(t){return await Hu(this._key,t)}get public(){return new Q0(this._publicKey)}marshal(){return this._key}get bytes(){return Ae.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=mr.digest(this.public.bytes);return St.encode(t.bytes).substring(1)}async export(t,r="libp2p-key"){if(r==="libp2p-key")return await Xn(this.bytes,t);throw new _(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function $h(e){if(e.length>cr){e=t0(e,cr+Jn);let n=e.subarray(0,cr),i=e.subarray(cr,e.length);return new un(n,i)}e=t0(e,cr);let t=e.subarray(0,cr),r=e.subarray(Jn);return new un(t,r)}function Hh(e){return e=t0(e,Jn),new Q0(e)}async function Gh(){let{privateKey:e,publicKey:t}=await zu();return new un(e,t)}async function c2(e){let{privateKey:t,publicKey:r}=await $u(e);return new un(t,r)}function t0(e,t){if(e=Uint8Array.from(e??[]),e.length!==t)throw new _(`Key must be a Uint8Array of length ${t}, got ${e.length}`,"ERR_INVALID_KEY_TYPE");return e}var h2={};Lt(h2,{Secp256k1PrivateKey:()=>Y0,Secp256k1PublicKey:()=>W0,generateKeyPair:()=>Zh,unmarshalSecp256k1PrivateKey:()=>Wh,unmarshalSecp256k1PublicKey:()=>Yh});function Wu(){return Te.randomPrivateKey()}async function Yu(e,t){let{digest:r}=await mt.digest(t);try{return await Eu(r,e)}catch(n){throw new _(String(n),"ERR_INVALID_INPUT")}}async function Zu(e,t,r){try{let{digest:n}=await mt.digest(r);return Su(t,n,e)}catch(n){throw new _(String(n),"ERR_INVALID_INPUT")}}function Xu(e){return et.fromHex(e).toRawBytes(!0)}function ju(e){try{Xs(e,!0)}catch(t){throw new _(String(t),"ERR_INVALID_PRIVATE_KEY")}}function l2(e){try{et.fromHex(e)}catch(t){throw new _(String(t),"ERR_INVALID_PUBLIC_KEY")}}function Ju(e){try{return Xs(e,!0)}catch(t){throw new _(String(t),"ERR_INVALID_PRIVATE_KEY")}}var W0=class{constructor(t){l2(t),this._key=t}async verify(t,r){return await Zu(this._key,r,t)}marshal(){return Xu(this._key)}get bytes(){return Ie.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??Ju(t),ju(this._key),l2(this._publicKey)}async sign(t){return await Yu(this._key,t)}get public(){return new W0(this._publicKey)}marshal(){return this._key}get bytes(){return Ae.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 Xn(this.bytes,t);throw new _(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Wh(e){return new Y0(e)}function Yh(e){return new W0(e)}async function Zh(){let e=Wu();return new Y0(e)}var We={rsa:t2,ed25519:f2,secp256k1:h2};function p2(e){let t=Object.keys(We).join(" / ");return new _(`invalid or unsupported key type ${e}. Must be ${t}`,"ERR_UNSUPPORTED_KEY_TYPE")}function d2(e){if(e=e.toLowerCase(),e==="rsa"||e==="ed25519"||e==="secp256k1")return We[e];throw p2(e)}async function Xh(e,t){return await d2(e).generateKeyPair(t??2048)}async function jh(e,t,r){if(e.toLowerCase()!=="ed25519")throw new _("Seed key derivation is unimplemented for RSA or secp256k1","ERR_UNSUPPORTED_KEY_DERIVATION_TYPE");return await c2(t)}function Jh(e){let t=Ie.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 p2(t.Type??"RSA")}}function tp(e,t){return t=(t??"rsa").toLowerCase(),d2(t),e.bytes}async function t6(e){let t=Ae.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 p2(t.Type??"RSA")}}function ep(e,t){return t=(t??"rsa").toLowerCase(),d2(t),e.bytes}async function rp(e,t){try{let i=await iu(e,t);return await t6(i)}catch{}let r=m1.default.pki.decryptRsaPrivateKey(e,t);if(r===null)throw new _("Cannot read the key, most likely the password is wrong or not a RSA key","ERR_CANNOT_DECRYPT_PEM");let n=m1.default.asn1.toDer(m1.default.pki.privateKeyToAsn1(r));return n=xt(n.getBytes(),"ascii"),await We.rsa.unmarshalRsaPrivateKey(n)}var np=$(Ls(),1),ip=$(Ct(),1);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}function fr(e,t){if(e.length!==t.length)throw new Error("Inputs should have the same length");let r=te(e.length);for(let n=0;n<e.length;n++)r[n]=e[n]^t[n];return Je(r)}var w1=class{originDhtKey;capacity;peerDistances;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 ee(t),n={peerId:t,distance:fr(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(ee)),n=this.peerDistances[this.peerDistances.length-1].distance;for(let i of r){let o=fr(this.originDhtKey,i);if(v1(o,n)<0)return!0}return!1}};var b1=class{components;log;routingTable;network;validators;queryManager;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 dt(At.GET_VALUE,r,0);yield*this.network.sendRequest(t,i,n)}async*getPublicKeyFromNode(t,r={}){let n=y4(t);for await(let i of this._getValueSingle(t,n,r))if(yield i,i.name==="PEER_RESPONSE"&&i.record!=null){let o=await B3(x1.marshalPublicKey({bytes:i.record.value}));if(!o.equals(t))throw new _("public key does not match id","ERR_PUBLIC_KEY_DOES_NOT_MATCH_ID");if(o.publicKey==null)throw new _("public key missing","ERR_PUBLIC_KEY_MISSING");yield C0({from:t,value:o.publicKey})}throw new _(`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 B0({from:this.components.peerId,peer:n});return}let i=await ee(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 B0({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 dt(At.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 B0({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 zt({from:this.components.peerId,error:new _("Not found","ERR_NOT_FOUND")}))}async*getClosestPeers(t,r={}){this.log("getClosestPeers to %b",t);let n=await Oe(t),i=this.routingTable.closestPeers(n),o=this,s=new w1(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 dt(At.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 B0({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 zt({from:i.from,error:new _(s,"ERR_INVALID_RECORD")});continue}yield i}}async _verifyRecordOnline(t){if(t.timeReceived==null)throw new _("invalid record received","ERR_INVALID_RECORD");await In(this.validators,new Rt(t.key,t.value,t.timeReceived))}async getCloserPeersOffline(t,r){let n=await Oe(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 d6=$(r6(),1);var p6=$(i6(),1);var X0=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},g2=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},o6=e=>globalThis.DOMException===void 0?new g2(e):new DOMException(e),s6=e=>{let t=e.reason===void 0?o6("This operation was aborted."):e.reason;return t instanceof Error?t:o6(t)};function m2(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(s6(u)),u.addEventListener("abort",()=>{a(s6(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 X0(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 x2(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 cn=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)},lr,j0=class{constructor(){lr.set(this,[])}enqueue(t,r){r={priority:0,...r};let n={priority:r.priority,run:t};if(this.size&&cn(this,lr,"f")[this.size-1].priority>=r.priority){cn(this,lr,"f").push(n);return}let i=x2(cn(this,lr,"f"),n,(o,s)=>s.priority-o.priority);cn(this,lr,"f").splice(i,0,n)}dequeue(){let t=cn(this,lr,"f").shift();return t?.run}filter(t){return cn(this,lr,"f").filter(r=>r.priority===t.priority).map(r=>r.run)}get size(){return cn(this,lr,"f").length}};lr=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)},_t,ti,ei,Ur,_1,ri,S1,Re,J0,oe,I1,se,ni,Fr,A1,a6,u6,l6,c6,f6,B1,v2,w2,T1,h6,C1,R1=class extends Error{},hr=class extends p6.default{constructor(t){var r,n,i,o;if(super(),_t.add(this),ti.set(this,void 0),ei.set(this,void 0),Ur.set(this,0),_1.set(this,void 0),ri.set(this,void 0),S1.set(this,0),Re.set(this,void 0),J0.set(this,void 0),oe.set(this,void 0),I1.set(this,void 0),se.set(this,0),ni.set(this,void 0),Fr.set(this,void 0),A1.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:j0,...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,ti,t.carryoverConcurrencyCount,"f"),vt(this,ei,t.intervalCap===Number.POSITIVE_INFINITY||t.interval===0,"f"),vt(this,_1,t.intervalCap,"f"),vt(this,ri,t.interval,"f"),vt(this,oe,new t.queueClass,"f"),vt(this,I1,t.queueClass,"f"),this.concurrency=t.concurrency,this.timeout=t.timeout,vt(this,A1,t.throwOnTimeout===!0,"f"),vt(this,Fr,t.autoStart===!1,"f")}get concurrency(){return k(this,ni,"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,ni,t,"f"),k(this,_t,"m",T1).call(this)}async add(t,r={}){return r={timeout:this.timeout,throwOnTimeout:k(this,A1,"f"),...r},new Promise((n,i)=>{k(this,oe,"f").enqueue(async()=>{var o,s,a;vt(this,se,(s=k(this,se,"f"),s++,s),"f"),vt(this,Ur,(a=k(this,Ur,"f"),a++,a),"f");try{if(!((o=r.signal)===null||o===void 0)&&o.aborted)throw new R1("The task was aborted.");let u=t({signal:r.signal});r.timeout&&(u=m2(Promise.resolve(u),r.timeout)),r.signal&&(u=Promise.race([u,k(this,_t,"m",h6).call(this,r.signal)]));let c=await u;n(c),this.emit("completed",c)}catch(u){if(u instanceof X0&&!r.throwOnTimeout){n();return}i(u),this.emit("error",u)}finally{k(this,_t,"m",l6).call(this)}},r),this.emit("add"),k(this,_t,"m",B1).call(this)})}async addAll(t,r){return Promise.all(t.map(async n=>this.add(n,r)))}start(){return k(this,Fr,"f")?(vt(this,Fr,!1,"f"),k(this,_t,"m",T1).call(this),this):this}pause(){vt(this,Fr,!0,"f")}clear(){vt(this,oe,new(k(this,I1,"f")),"f")}async onEmpty(){k(this,oe,"f").size!==0&&await k(this,_t,"m",C1).call(this,"empty")}async onSizeLessThan(t){k(this,oe,"f").size<t||await k(this,_t,"m",C1).call(this,"next",()=>k(this,oe,"f").size<t)}async onIdle(){k(this,se,"f")===0&&k(this,oe,"f").size===0||await k(this,_t,"m",C1).call(this,"idle")}get size(){return k(this,oe,"f").size}sizeBy(t){return k(this,oe,"f").filter(t).length}get pending(){return k(this,se,"f")}get isPaused(){return k(this,Fr,"f")}};ti=new WeakMap,ei=new WeakMap,Ur=new WeakMap,_1=new WeakMap,ri=new WeakMap,S1=new WeakMap,Re=new WeakMap,J0=new WeakMap,oe=new WeakMap,I1=new WeakMap,se=new WeakMap,ni=new WeakMap,Fr=new WeakMap,A1=new WeakMap,_t=new WeakSet,a6=function(){return k(this,ei,"f")||k(this,Ur,"f")<k(this,_1,"f")},u6=function(){return k(this,se,"f")<k(this,ni,"f")},l6=function(){var t;vt(this,se,(t=k(this,se,"f"),t--,t),"f"),k(this,_t,"m",B1).call(this),this.emit("next")},c6=function(){k(this,_t,"m",w2).call(this),k(this,_t,"m",v2).call(this),vt(this,J0,void 0,"f")},f6=function(){let t=Date.now();if(k(this,Re,"f")===void 0){let r=k(this,S1,"f")-t;if(r<0)vt(this,Ur,k(this,ti,"f")?k(this,se,"f"):0,"f");else return k(this,J0,"f")===void 0&&vt(this,J0,setTimeout(()=>{k(this,_t,"m",c6).call(this)},r),"f"),!0}return!1},B1=function(){if(k(this,oe,"f").size===0)return k(this,Re,"f")&&clearInterval(k(this,Re,"f")),vt(this,Re,void 0,"f"),this.emit("empty"),k(this,se,"f")===0&&this.emit("idle"),!1;if(!k(this,Fr,"f")){let t=!k(this,_t,"a",f6);if(k(this,_t,"a",a6)&&k(this,_t,"a",u6)){let r=k(this,oe,"f").dequeue();return r?(this.emit("active"),r(),t&&k(this,_t,"m",v2).call(this),!0):!1}}return!1},v2=function(){k(this,ei,"f")||k(this,Re,"f")!==void 0||(vt(this,Re,setInterval(()=>{k(this,_t,"m",w2).call(this)},k(this,ri,"f")),"f"),vt(this,S1,Date.now()+k(this,ri,"f"),"f"))},w2=function(){k(this,Ur,"f")===0&&k(this,se,"f")===0&&k(this,Re,"f")&&(clearInterval(k(this,Re,"f")),vt(this,Re,void 0,"f")),vt(this,Ur,k(this,ti,"f")?k(this,se,"f"):0,"f"),k(this,_t,"m",T1).call(this)},T1=function(){for(;k(this,_t,"m",B1).call(this););},h6=async function(t){return new Promise((r,n)=>{t.addEventListener("abort",()=>{n(new R1("The task was aborted."))},{once:!0})})},C1=async function(t,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(t,i),n())};this.on(t,i)})};var b2=$(b0(),1);var pr=z("libp2p:kad-dht:providers"),P1=class{components;cache;cleanupInterval;provideValidity;syncQueue;started;cleaner;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,d6.default)(n??256),this.syncQueue=new hr({concurrency:1}),this.started=!1}isStarted(){return this.started}async start(){this.started||(this.started=!0,this.cleaner=setInterval(()=>{this._cleanup().catch(t=>{pr.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:Ro});for await(let a of s)try{let{cid:u,peerId:c}=y6(a.key),f=g6(a.value).getTime(),l=Date.now(),d=l-f,p=d>this.provideValidity;if(pr("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){pr.error(u.message)}i.size>0?(pr("deleting %d / %d entries",n,r),await o.commit()):pr("nothing to delete");for(let[a,u]of i){let c=ii(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)}}pr("Cleanup successful (%dms)",Date.now()-t)})}async _getProvidersMap(t){let r=ii(t),n=this.cache.get(r);return n==null&&(n=await lp(this.components.datastore,t),this.cache.set(r,n)),n}async addProvider(t,r){await this.syncQueue.add(async()=>{pr("%p provides %s",r,t);let n=await this._getProvidersMap(t);pr("loaded %s provs",n.size);let i=new Date;n.set(r.toString(),i);let o=ii(t);this.cache.set(o,n),await fp(this.components.datastore,t,r,i)})}async getProviders(t){return this.syncQueue.add(async()=>(pr("get providers for %s",t),[...(await this._getProvidersMap(t)).keys()].map(n=>bt(n))),{throwOnTimeout:!0})}};function ii(e){let t=typeof e=="string"?e:M(e.multihash.bytes,"base32");return`${Ro}/${t}`}async function fp(e,t,r,n){let i=[ii(t),"/",r.toString()].join(""),o=new Dt(i),s=Uint8Array.from(b2.default.encode(n.getTime()));await e.put(o,s)}function y6(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 lp(e,t){let r=new Map,n=e.query({prefix:ii(t)});for await(let i of n){let{peerId:o}=y6(i.key);r.set(o,g6(i.value))}return r}function g6(e){return new Date(b2.default.decode(e))}var fn=$(k1(),1);function dr(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 S2=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 dr(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 dr(this.map.keys(),t=>bt(t))}values(){return this.map.values()}get size(){return this.map.size}};var pe=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 dr(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 dr(this.set.values(),t=>bt(t))}intersection(t){let r=new pe;for(let n of t)this.has(n)&&r.add(n);return r}difference(t){let r=new pe;for(let n of this)t.has(n)||r.add(n);return r}union(t){let r=new pe;for(let n of t)r.add(n);for(let n of this)r.add(n);return r}};var r0=class{constructor(t){if(this.list=[],t!=null)for(let r of t)this.list.push(r.toString())}[Symbol.iterator](){return dr(this.list.entries(),t=>bt(t[1]))}concat(t){let r=new r0(this);for(let n of t)r.push(n);return r}entries(){return dr(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 r0;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}};function n0(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 xp=BigInt("0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF");async function*C6(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 hr({concurrency:s}),h=await Oe(t);function y(g,m){if(g==null)return;d.add(g);let x=BigInt("0x"+M(fr(m,h),"base16"));p.add(async()=>{let S=[i];f!=null&&S.push(AbortSignal.timeout(f));let L=n0(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 C of T.closer){if(d.has(C.id)){l("already seen %p in query",C.id);continue}if(n.equals(C.id)){l("not querying ourselves");continue}let q=await ee(C.id);if(BigInt("0x"+M(fr(q,h),"base16"))>x){l("skipping %p as they are not closer to %b than %p",C.id,t,g);continue}l("querying closer peer %p",C.id),y(C.id,q)}p.emit("completed",T)}}catch(T){if(!i.aborted)return zt({from:g,error:T})}finally{L.clear()}},{priority:xp-x}).catch(S=>{l.error(S)})}y(r,await ee(r)),yield*vp(p,i,c,l)}async function*vp(e,t,r,n){let i=xe(),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 _("Query aborted","ERR_QUERY_ABORTED"))}),r.addEventListener("cleanup",()=>{a(),i.resolve()});o;)for(await i.promise,i=xe();s.length>0;){let u=s.shift();u!=null&&(yield u)}yield*s}var F1=class{components;lan;disjointPaths;alpha;shutDownController;running;queries;metrics;initialQuerySelfHasRun;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{fn.setMaxListeners!=null&&(0,fn.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{fn.setMaxListeners!=null&&(0,fn.setMaxListeners)(1/0,i.signal)}catch{}}let s=n0([this.shutDownController.signal,i.signal]);try{fn.setMaxListeners!=null&&(0,fn.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 ae;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 yn("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 pe,d=u.map((p,h)=>C6({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 me(...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 jt("cleanup")),a("query:done in %dms",Date.now()-c)}}};var I2=$(k1(),1);function bp(e){return e[Symbol.asyncIterator]!=null}function Ep(e){if(bp(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 U1=Ep;function Sp(e){return e[Symbol.asyncIterator]!=null}function Ip(e,t){return Sp(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 _6=Ip;function _p(e,t){let r;return function(){let n=function(){r=void 0,e()};clearTimeout(r),r=setTimeout(n,t)}}var O1=class{log;components;peerRouting;routingTable;count;interval;initialInterval;queryTimeout;started;running;timeoutId;controller;initialQuerySelfHasRun;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=_p(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=n0([this.controller.signal,AbortSignal.timeout(this.queryTimeout)]);try{I2.setMaxListeners!=null&&(0,I2.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 be(this.peerRouting.getClosestPeers(this.components.peerId.toBytes(),{signal:t,isSelfQuery:!0}),n=>_6(n,this.count),async n=>U1(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 i8=$(r8(),1);var pd="kad-close",dd=50,n8=20,yd=1e4,gd=10,$1=class{kBucketSize;kb;pingQueue;log;components;lan;pingTimeout;pingConcurrency;running;protocol;tagName;tagValue;metrics;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??n8,this.pingTimeout=i??yd,this.pingConcurrency=s??gd,this.lan=o,this.running=!1,this.protocol=a,this.tagName=u??pd,this.tagValue=c??dd;let f=()=>{this.metrics?.pingQueueSize.update(this.pingQueue.size),this.metrics?.pingRunning.update(this.pingQueue.pending)};this.pingQueue=new hr({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 i8.default({localNodeId:await ee(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 pe,n=x4(()=>{let i=new pe(t.closest(t.localNodeId,n8).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 ee(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 ee(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 ee(t);this.kb.remove(r),this.metrics?.routingTableSize.update(this.size)}};var o8=[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 H1=15,G1=class{log;peerRouting;routingTable;refreshInterval;refreshQueryTimeout;commonPrefixLengthRefreshedAt;refreshTimeoutId;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 U1(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>H1&&(t=H1);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=on(2),n=(r[1]<<8)+r[0],i=await this._makePeerId(this.routingTable.kb.localNodeId,n,t);return Gr(i)}async _makePeerId(t,r,n){if(n>H1)throw new Error(`Cannot generate peer ID for common prefix length greater than ${H1}`);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=o8[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=fr(this.routingTable.kb.localNodeId,t),n=0;for(let i of r)if(i===0)n++;else break;yield n}}};var ai=z("libp2p:kad-dht:rpc:handlers:add-provider"),Q1=class{providers;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 _("Missing key","ERR_MISSING_KEY");let n;try{n=tt.decode(r.key)}catch{throw new _("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 s8=z("libp2p:kad-dht:rpc:handlers:find-node"),W1=class{peerRouting;lan;components;constructor(t,r){let{peerRouting:n,lan:i}=r;this.components=t,this.peerRouting=n,this.lan=!!i}async handle(t,r){s8("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(it("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 dt(r.type,new Uint8Array(0),r.clusterLevel);return n.length>0?i.closerPeers=n:s8("could not find any peers closer to %b than %p",r.key,t),i}};var a8=z("libp2p:kad-dht:rpc:handlers:get-providers"),Y1=class{components;peerRouting;providers;lan;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 _("Invalid CID","ERR_INVALID_CID")}a8("%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 dt(r.type,r.key,r.clusterLevel);return s.length>0&&(u.providerPeers=s),a.length>0&&(u.closerPeers=a),a8("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 c0=z("libp2p:kad-dht:rpc:handlers:get-value"),Z1=class{components;peerRouting;constructor(t,r){let{peerRouting:n}=r;this.components=t,this.peerRouting=n}async handle(t,r){let n=r.key;if(c0("%p asked for key %b",t,n),n==null||n.length===0)throw new _("Invalid key","ERR_INVALID_KEY");let i=new dt(At.GET_VALUE,n,r.clusterLevel);if(g4(n)){c0("is public key");let a=m4(n),u;try{let c=await this.components.peerStore.get(a);if(c.id.publicKey==null)throw new _("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 c0("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&&(c0("had record for %b in local datastore",n),i.record=o),s.length>0&&(c0("had %s closer peers in routing table",s.length),i.closerPeers=s),i}async _checkLocalDatastore(t){c0("checkLocalDatastore looking for %b",t);let r=ir(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 _("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 wd=z("libp2p:kad-dht:rpc:handlers:ping"),X1=class{async handle(t,r){return wd("ping from %p",t),r}};var j1=class{log;components;validators;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 _(o,"ERR_EMPTY_RECORD")}try{await In(this.validators,i),i.timeReceived=new Date;let o=ir(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{handlers;routingTable;log;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={[At.GET_VALUE]:new Z1(t,{peerRouting:i}),[At.PUT_VALUE]:new j1(t,{validators:o}),[At.FIND_NODE]:new W1(t,{peerRouting:i,lan:s}),[At.ADD_PROVIDER]:new Q1({providers:n}),[At.GET_PROVIDERS]:new Y1(t,{peerRouting:i,providers:n,lan:s}),[At.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 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 be(r,s=>Zr(s),async function*(s){for await(let a of s){let u=dt.deserialize(a);o.log("incoming %s from %p",u.type,i);let c=await o.handleMessage(i,u);c!=null&&(yield c.serialize())}},s=>Wr(s),r)}).catch(r=>{this.log.error(r)})}};var M2=Symbol.for("@libp2p/topology");var u8=()=>{},K2=class{constructor(t){this.min=t.min??0,this.max=t.max??1/0,this.peers=new Set,this.onConnect=t.onConnect??u8,this.onDisconnect=t.onDisconnect??u8}get[Symbol.toStringTag](){return M2.toString()}get[M2](){return!0}async setRegistrar(t){this.registrar=t}disconnect(t){this.onDisconnect(t)}};function c8(e){return new K2(e)}var to=class extends ae{log;components;protocol;running;registrarId;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=c8({onConnect:r=>{this.log("observed peer %p with protocol %s",r,this.protocol),this.dispatchEvent(new jt("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 bd=32,Ed=64,ui=class extends ae{protocol;routingTable;providers;network;peerRouting;components;log;running;kBucketSize;clientMode;lan;validators;selectors;queryManager;contentFetching;contentRouting;routingTableRefresh;rpc;topologyListener;querySelf;maxInboundStreams;maxOutboundStreams;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??Aa}${u===!0?Ia:""}${Ba}`,this.kBucketSize=n??20,this.clientMode=i??!0,this.maxInboundStreams=d??bd,this.maxOutboundStreams=p??Ed,this.routingTable=new $1(t,{kBucketSize:n,lan:this.lan,pingTimeout:f,pingConcurrency:l,protocol:this.protocol}),this.providers=new P1(t,h??{}),this.validators={...Sa,...o},this.selectors={...Ea,...s},this.network=new Oi(t,{protocol:this.protocol,lan:this.lan});let y=xe();r.allowQueryWithZeroPeers===!0&&y.resolve(),this.queryManager=new F1(t,{disjointPaths:Math.ceil(this.kBucketSize/2),lan:u,initialQuerySelfHasRun:y}),this.peerRouting=new b1(t,{routingTable:this.routingTable,network:this.network,validators:this.validators,queryManager:this.queryManager,lan:this.lan}),this.contentFetching=new Ni(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 Li(t,{network:this.network,peerRouting:this.peerRouting,queryManager:this.queryManager,routingTable:this.routingTable,providers:this.providers,lan:this.lan}),this.routingTableRefresh=new G1({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 O1(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 jt("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)})})}async onPeerConnect(t){if(this.log("peer %p connected with protocols",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 Sd=z("libp2p:kad-dht"),V2=class{dht;constructor(t){this.dht=t}async provide(t){await l0(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 l0(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 _("Not found","ERR_NOT_FOUND")}},q2=class{dht;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 _("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)}},eo=class extends ae{wan;lan;components;contentRouting;peerRouting;constructor(t,r={}){super(),this.components=t,this.wan=new ui(t,{protocolPrefix:"/ipfs",...r,lan:!1}),this.lan=new ui(t,{protocolPrefix:"/ipfs",...r,clientMode:!1,lan:!0}),this.contentRouting=new V2(this),this.peerRouting=new q2(this),this.wan.addEventListener("peer",n=>{this.dispatchEvent(new jt("peer",{detail:n.detail}))}),this.lan.addEventListener("peer",n=>{this.dispatchEvent(new jt("peer",{detail:n.detail}))})}[Symbol.toStringTag]="@libp2p/dual-kad-dht";get[Q2](){return this.contentRouting}get[Y2](){return this.peerRouting}get[W2](){return this}isStarted(){return this.wan.isStarted()&&this.lan.isStarted()}async getMode(){return 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 me(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 me(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 _("No peers found in routing table!","ERR_NO_PEERS_IN_ROUTING_TABLE");i||(yield zt({from:this.components.peerId,error:new _("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 me(...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"&&(Sd("sent provider record for %s to %p",t,a.from),i++);if(i===0)throw o.length>0?new _(`Failed to provide to ${o.length} of ${n} peers`,"ERR_PROVIDES_FAILED",{errors:o}):new _("Failed to provide - no peers found","ERR_PROVIDES_FAILED")}async*findProviders(t,r={}){yield*me(this.lan.findProviders(t,r),this.wan.findProviders(t,r))}async*findPeer(t,r={}){let n=!1;for await(let i of me(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 _("Peer lookup failed","ERR_LOOKUP_FAILED")}async*getClosestPeers(t,r={}){yield*me(this.lan.getClosestPeers(t,r),this.wan.getClosestPeers(t,r))}async refreshRoutingTable(){await Promise.all([this.lan.refreshRoutingTable(),this.wan.refreshRoutingTable()])}};var z2;(function(e){e[e.SENDING_QUERY=0]="SENDING_QUERY",e[e.PEER_RESPONSE=1]="PEER_RESPONSE",e[e.FINAL_PEER=2]="FINAL_PEER",e[e.QUERY_ERROR=3]="QUERY_ERROR",e[e.PROVIDER=4]="PROVIDER",e[e.VALUE=5]="VALUE",e[e.ADDING_PEER=6]="ADDING_PEER",e[e.DIALING_PEER=7]="DIALING_PEER"})(z2||(z2={}));var $2;(function(e){e[e.PUT_VALUE=0]="PUT_VALUE",e[e.GET_VALUE=1]="GET_VALUE",e[e.ADD_PROVIDER=2]="ADD_PROVIDER",e[e.GET_PROVIDERS=3]="GET_PROVIDERS",e[e.FIND_NODE=4]="FIND_NODE",e[e.PING=5]="PING"})($2||($2={}));function Id(e){return t=>new eo(t,e)}return g8(Ad);})();
|
|
27
|
+
`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),Xf=new RegExp(`(?:^${be}$)|(?:^${Ri}$)`),jf=new RegExp(`^${be}$`),Jf=new RegExp(`^${Ri}$`),ds=e=>e&&e.exact?Xf:new RegExp(`(?:${Er(e)}${be}${Er(e)})|(?:${Er(e)}${Ri}${Er(e)})`,"g");ds.v4=e=>e&&e.exact?jf:new RegExp(`${Er(e)}${be}${Er(e)}`,"g");ds.v6=e=>e&&e.exact?Jf:new RegExp(`${Er(e)}${Ri}${Er(e)}`,"g");var c4=ds;var d4=$(l4(),1),{isValid:t7,parse:e7}=d4.default,r7=["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"],n7=r7.map(e=>new p4.Netmask(e));function i7(e){for(let t of n7)if(t.contains(e))return!0;return!1}function h4(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 y4=e=>{if(t7(e)){let t=e7(e);if(t.kind()==="ipv4")return i7(t.toNormalizedString());if(t.kind()==="ipv6")return h4(e)}else if(Nn(e)&&c4.v6().test(e))return h4(e)};var ys=y4;var o7=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=ys(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=ys(n);return i??!1})}}async function Sr(e){return(await mt.digest(e)).digest}async function Ee(e){return Sr(e.toBytes())}function nr(e){return new Dt(`${_a}/${M(e,"base32")}`,!1)}function g4(e){return ut([o7,e.toBytes()])}function m4(e){return M(e.subarray(0,4))==="/pk/"}function x4(e){return Gr(e.subarray(4))}function gs(e,t){let r=new Date;return new Rt(e,t,r).serialize()}function v4(e,t=100){let r;return()=>{clearTimeout(r),r=setTimeout(()=>{e()},t)}}var Ni=class{log;components;validators;selectors;peerRouting;queryManager;network;constructor(t,r){let{validators:n,selectors:i,peerRouting:o,queryManager:s,network:a,lan:u}=r;this.components=t,this.log=z(`libp2p:kad-dht:${u?"lan":"wan"}:content-fetching`),this.validators=n,this.selectors=i,this.peerRouting=o,this.queryManager=s,this.network=a}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 In(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 dt(At.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 zt({from:a,error:new _("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*we(this.peerRouting.getClosestPeers(t,{signal:n.signal}),s=>bi(s,a=>async()=>{if(a.name!=="FINAL_PEER")return[a];let u=[],c=new dt(At.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(zt({from:a.peer.id,error:new _("value not put correctly","ERR_PUT_VALUE_INVALID")})));return u}),s=>x0(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=Ea(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 _("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 o=await this.getLocal(t);yield B0({value:o.value,from:this.components.peerId})}catch(o){this.log("error getting local value for %b",t,o)}let n=this,i=async function*({peer:o,signal:s}){for await(let a of n.peerRouting.getValueOrPeers(o,t,{signal:s}))yield a,a.name==="PEER_RESPONSE"&&a.record!=null&&(yield B0({from:o,value:a.record.value}))};yield*this.queryManager.run(t,i,r)}};var Li=class{log;components;network;peerRouting;queryManager;routingTable;providers;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 dt(At.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(zt({from:a.peer.id,error:c}))}return u};yield*we(this.peerRouting.getClosestPeers(t.multihash.bytes,n),a=>bi(a,u=>s(u)),a=>x0(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=this;this.log("findProviders %c",t);let s=await this.providers.getProviders(t);if(s.length>0){let c=[];for(let f of s.slice(0,n))try{let l=await this.components.peerStore.get(f);c.push({id:f,multiaddrs:l.addresses.map(({multiaddr:d})=>d),protocols:l.protocols})}catch(l){if(l.code!=="ERR_NOT_FOUND")throw l;this.log("no peer store entry for %p",f)}yield A0({from:this.components.peerId,messageType:At.GET_PROVIDERS,providers:c}),yield hs({from:this.components.peerId,providers:c})}if(s.length>=n)return;let a=async function*({peer:c,signal:f}){let l=new dt(At.GET_PROVIDERS,i,0);yield*o.network.sendRequest(c,l,{signal:f})},u=new Set(s.map(c=>c.toString()));for await(let c of this.queryManager.run(i,a,r))if(yield c,c.name==="PEER_RESPONSE"){this.log("Found %d provider entries for %c and %d closer peers",c.providers.length,t,c.closer.length);let f=[];for(let l of c.providers)u.has(l.id.toString())||(u.add(l.id.toString()),f.push(l));if(f.length>0&&(yield hs({from:c.from,providers:f})),u.size===n)return}}};var _0=class extends Error{constructor(t,r){super(t??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function w4(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 b4(e,t,r){let n=r??{},i=w4(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 _0(f,l)}let c=new Promise((f,l)=>{s=()=>{let{abortMessage:d,abortCode:p}=n;l(new _0(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 s7(e,t,r){return n=>e(b4(n,t,r))}function xs(e,t,r){return{sink:s7(e.sink,t,{...r,onAbort:void 0}),source:b4(e.source,t,r)}}function a7(e){return e[Symbol.asyncIterator]!=null}function u7(e){if(a7(e))return(async()=>{for await(let t of e)return t})();for(let t of e)return t}var E4=u7;var I4=Symbol.for("@achingbrain/uint8arraylist");function S4(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 ki(e){return!!e?.[I4]}var Oe=class{constructor(...t){Object.defineProperty(this,I4,{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(ki(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(ki(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=S4(this.bufs,t);return r.buf[r.index]}set(t,r){let n=S4(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(ki(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 Oe;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(!ki(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=te(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=Je(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=Je(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=Je(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=te(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=Je(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=Je(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=Je(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=Je(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=Je(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,r,n),this.write(i,t)}equals(t){if(t==null||!(t instanceof Oe)||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 Oe;return n.bufs=t,r==null&&(r=t.reduce((i,o)=>i+o.byteLength,0)),n.length=r,n}};function Di(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 A4=4294967296,ee=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 ee(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 ee(r,n)}toBytes(t,r=0){let n=Di(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 ee;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>A4&&(i=0,++n>A4&&(n=0))),new ee(n,i)}static fromNumber(t){if(t===0)return new ee;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 ee(i,n)}static fromBytes(t,r=0){let n=Di(t),i=new ee,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 c7=Math.pow(2,7),f7=Math.pow(2,14),l7=Math.pow(2,21),h7=Math.pow(2,28),p7=Math.pow(2,35),d7=Math.pow(2,42),y7=Math.pow(2,49),g7=Math.pow(2,56),m7=Math.pow(2,63),Qr={encodingLength(e){return e<c7?1:e<f7?2:e<l7?3:e<h7?4:e<p7?5:e<d7?6:e<y7?7:e<g7?8:e<m7?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=te(Qr.encodingLength(e))),ee.fromNumber(e).toBytes(t,r),t},decode(e,t=0){return ee.fromBytes(e,t).toNumber(!0)}};function Fi(e){return e[Symbol.asyncIterator]!=null}var Ui=e=>{let t=Qr.encodingLength(e),r=te(t);return Qr.encode(e,r),Ui.bytes=t,r};Ui.bytes=0;function Wr(e,t){t=t??{};let r=t.lengthEncoder??Ui;function*n(i){let o=r(i.byteLength);o instanceof Uint8Array?yield o:yield*o,i instanceof Uint8Array?yield i:yield*i}return Fi(e)?async function*(){for await(let i of e)yield*n(i)}():function*(){for(let i of e)yield*n(i)}()}Wr.single=(e,t)=>{t=t??{};let r=t.lengthEncoder??Ui;return new Oe(r(e.byteLength),e)};var On=$(_4(),1);var v7=8,w7=1024*1024*4,Yr;(function(e){e[e.LENGTH=0]="LENGTH",e[e.DATA=1]="DATA"})(Yr||(Yr={}));var vs=e=>{let t=Qr.decode(e);return vs.bytes=Qr.encodingLength(t),t};vs.bytes=0;function Zr(e,t){let r=new Oe,n=Yr.LENGTH,i=-1,o=t?.lengthDecoder??vs,s=t?.maxLengthLength??v7,a=t?.maxDataLength??w7;function*u(){for(;r.byteLength>0;){if(n===Yr.LENGTH)try{if(i=o(r),i<0)throw(0,On.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,On.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=Yr.DATA}catch(c){if(c instanceof RangeError){if(r.byteLength>s)throw(0,On.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw c}if(n===Yr.DATA){if(r.byteLength<i)break;let c=r.sublist(0,i);r.consume(i),t?.onData!=null&&t.onData(c),yield c,n=Yr.LENGTH}}}return Fi(e)?async function*(){for await(let c of e)r.append(c),yield*u();if(r.byteLength>0)throw(0,On.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,On.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}Zr.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 Zr(n,{...t??{},onLength:o=>{r=o}})};var Oi=class extends se{log;protocol;running;components;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 ps({peer:t}),yield ls({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 A0({from:t,messageType:a.type,closer:a.closerPeers,providers:a.providerPeers,record:a.record})}catch(o){yield zt({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 ps({peer:t}),yield ls({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 A0({from:t,messageType:r.type})}catch(o){yield zt({from:t,error:o})}finally{i?.close()}}async _writeMessage(t,r,n){n.signal!=null&&(t=xs(t,n.signal)),await we([r],i=>Wr(i),t,l0)}async _writeReadMessage(t,r,n){n.signal!=null&&(t=xs(t,n.signal));let i=await we([r],s=>Wr(s),t,s=>Zr(s),async s=>{let a=await E4(s);if(a!=null)return a;throw new _("No message received","ERR_NO_MESSAGE_RECEIVED")}),o=dt.deserialize(i);return o.closerPeers.forEach(s=>{this.dispatchEvent(new jt("peer",{detail:s}))}),o.providerPeers.forEach(s=>{this.dispatchEvent(new jt("peer",{detail:s}))}),o}};var ew=$(zi(),1),_7=$(nt(),1);var Ct={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 $4={SHA1:20,SHA256:32,SHA512:64};var P7={SHA1:"SHA-1",SHA256:"SHA-256",SHA512:"SHA-512"},N7=async(e,t)=>{let r=await Ct.get().subtle.sign({name:"HMAC"},e,t);return new Uint8Array(r,0,r.byteLength)};async function H4(e,t){let r=P7[e],n=await Ct.get().subtle.importKey("raw",t,{name:"HMAC",hash:{name:r}},!1,["sign"]);return{async digest(i){return N7(n,i)},length:$4[e]}}var x1={};Lt(x1,{generateEphemeralKeyPair:()=>du,generateKeyPair:()=>Zh,generateKeyPairFromSeed:()=>Xh,importKey:()=>ep,keyStretcher:()=>mu,keysPBM:()=>Gn,marshalPrivateKey:()=>tp,marshalPublicKey:()=>Jh,supportedKeys:()=>Qe,unmarshalPrivateKey:()=>Ju,unmarshalPublicKey:()=>jh});var zb=$(N0(),1),$b=$(Q5(),1);var m1=$(nt(),1);var Js={};Lt(Js,{Ed25519PrivateKey:()=>nn,Ed25519PublicKey:()=>M0,generateKeyPair:()=>gh,generateKeyPairFromSeed:()=>js,unmarshalEd25519PrivateKey:()=>dh,unmarshalEd25519PublicKey:()=>yh});var Z9=$(Vn(),1);var Mt=BigInt(0),Y=BigInt(1),Rr=BigInt(2),X9=BigInt(8),W5=BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),ft=Object.freeze({a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),P:BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),l:W5,n:W5,h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960")});var J5=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000"),D0=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),Pw=BigInt("6853475219497561581579357271197624642482790079785650197046958215289687604742"),j9=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),J9=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),th=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),eh=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 gt))throw new TypeError("ExtendedPoint#fromAffine: expected Point");return t.equals(gt.ZERO)?Q.ZERO:new Q(t.x,t.y,Y,A(t.x*t.y))}static toAffineBatch(t){let r=ih(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){Z5(t);let{x:r,y:n,z:i}=this,{x:o,y:s,z:a}=t,u=A(r*a),c=A(o*i),f=A(n*a),l=A(s*i);return u===c&&f===l}negate(){return new Q(A(-this.x),this.y,this.z,A(-this.t))}double(){let{x:t,y:r,z:n}=this,{a:i}=ft,o=A(t*t),s=A(r*r),a=A(Rr*A(n*n)),u=A(i*o),c=t+r,f=A(A(c*c)-o-s),l=u+s,d=l-a,p=u-s,h=A(f*d),y=A(l*p),g=A(f*p),m=A(d*l);return new Q(h,y,m,g)}add(t){Z5(t);let{x:r,y:n,z:i,t:o}=this,{x:s,y:a,z:u,t:c}=t,f=A((n-r)*(a+s)),l=A((n+r)*(a-s)),d=A(l-f);if(d===Mt)return this.double();let p=A(i*Rr*c),h=A(o*Rr*u),y=h+p,g=l+f,m=h-p,x=A(y*d),b=A(g*m),L=A(y*m),T=A(d*g);return new Q(x,b,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=gt.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&&Gs.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=Q.normalizeZ(i),Gs.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+=Y);let y=p,g=p+Math.abs(h)-1,m=d%2!==0,x=h<0;h===0?s=s.add(Y5(m,i[y])):o=o.add(Y5(x,i[g]))}return Q.normalizeZ([o,s])[0]}multiply(t,r){return this.wNAF(i1(t,ft.l),r)}multiplyUnsafe(t){let r=i1(t,ft.l,!1),n=Q.BASE,i=Q.ZERO;if(r===Mt)return i;if(this.equals(i)||r===Y)return this;if(this.equals(n))return this.wNAF(r);let o=i,s=this;for(;r>Mt;)r&Y&&(o=o.add(s)),s=s.double(),r>>=Y;return o}isSmallOrder(){return this.multiplyUnsafe(ft.h).equals(Q.ZERO)}isTorsionFree(){let t=this.multiplyUnsafe(ft.l/Rr).double();return ft.l%Rr&&(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?X9:o1(i));let s=A(r*t),a=A(n*t),u=A(i*t);if(o)return gt.ZERO;if(u!==Y)throw new Error("invZ was invalid");return new gt(s,a)}fromRistrettoBytes(){zs()}toRistrettoBytes(){zs()}fromRistrettoHash(){zs()}};Q.BASE=new Q(ft.Gx,ft.Gy,Y,A(ft.Gx*ft.Gy));Q.ZERO=new Q(Mt,Y,Y,Mt);function Y5(e,t){let r=t.negate();return e?r:t}function Z5(e){if(!(e instanceof Q))throw new TypeError("ExtendedPoint expected")}function qs(e){if(!(e instanceof Yt))throw new TypeError("RistrettoPoint expected")}function zs(){throw new Error("Legacy method: switch to RistrettoPoint")}var Yt=class{constructor(t){this.ep=t}static calcElligatorRistrettoMap(t){let{d:r}=ft,n=A(D0*t*t),i=A((n+Y)*th),o=BigInt(-1),s=A((o-r*n)*A(n+r)),{isValid:a,value:u}=Ws(i,s),c=A(u*t);Tr(c)||(c=A(-c)),a||(u=c),a||(o=n);let f=A(o*(n-Y)*eh-s),l=u*u,d=A((u+u)*s),p=A(f*j9),h=A(Y-l),y=A(Y+l);return new Q(A(d*y),A(h*p),A(p*y),A(d*h))}static hashToCurve(t){t=Pr(t,64);let r=$s(t.slice(0,32)),n=this.calcElligatorRistrettoMap(r),i=$s(t.slice(32,64)),o=this.calcElligatorRistrettoMap(i);return new Yt(n.add(o))}static fromHex(t){t=Pr(t,32);let{a:r,d:n}=ft,i="RistrettoPoint.fromHex: the hex is not valid encoding of RistrettoPoint",o=$s(t);if(!sh(F0(o),t)||Tr(o))throw new Error(i);let s=A(o*o),a=A(Y+r*s),u=A(Y-r*s),c=A(a*a),f=A(u*u),l=A(r*n*c-f),{isValid:d,value:p}=j5(A(l*f)),h=A(p*u),y=A(p*h*l),g=A((o+o)*h);Tr(g)&&(g=A(-g));let m=A(a*y),x=A(g*m);if(!d||Tr(x)||m===Mt)throw new Error(i);return new Yt(new Q(g,m,Y,x))}toRawBytes(){let{x:t,y:r,z:n,t:i}=this.ep,o=A(A(n+r)*A(n-r)),s=A(t*r),a=A(s*s),{value:u}=j5(A(o*a)),c=A(u*o),f=A(u*s),l=A(c*f*i),d;if(Tr(i*l)){let h=A(r*D0),y=A(t*D0);t=h,r=y,d=A(c*J9)}else d=f;Tr(t*l)&&(r=A(-r));let p=A((n-r)*d);return Tr(p)&&(p=A(-p)),F0(p)}toHex(){return U0(this.toRawBytes())}toString(){return this.toHex()}equals(t){qs(t);let r=this.ep,n=t.ep,i=A(r.x*n.y)===A(r.y*n.x),o=A(r.y*n.y)===A(r.x*n.x);return i||o}add(t){return qs(t),new Yt(this.ep.add(t.ep))}subtract(t){return qs(t),new Yt(this.ep.subtract(t.ep))}multiply(t){return new Yt(this.ep.multiply(t))}multiplyUnsafe(t){return new Yt(this.ep.multiplyUnsafe(t))}};Yt.BASE=new Yt(Q.BASE);Yt.ZERO=new Yt(Q.ZERO);var Gs=new WeakMap,gt=class{constructor(t,r){this.x=t,this.y=r}_setWindowSize(t){this._WINDOW_SIZE=t,Gs.delete(this)}static fromHex(t,r=!0){let{d:n,P:i}=ft;t=Pr(t,32);let o=t.slice();o[31]=t[31]&-129;let s=O0(o);if(r&&s>=i)throw new Error("Expected 0 < hex < P");if(!r&&s>=J5)throw new Error("Expected 0 < hex < 2**256");let a=A(s*s),u=A(a-Y),c=A(n*a+Y),{isValid:f,value:l}=Ws(u,c);if(!f)throw new Error("Point.fromHex: invalid y coordinate");let d=(l&Y)===Y;return(t[31]&128)!==0!==d&&(l=A(-l)),new gt(l,s)}static async fromPrivateKey(t){return(await s1(t)).point}toRawBytes(){let t=F0(this.y);return t[31]|=this.x&Y?128:0,t}toHex(){return U0(this.toRawBytes())}toX25519(){let{y:t}=this,r=A((Y+t)*o1(Y-t));return F0(r)}isTorsionFree(){return Q.fromAffine(this).isTorsionFree()}equals(t){return this.x===t.x&&this.y===t.y}negate(){return new gt(A(-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()}};gt.BASE=new gt(ft.Gx,ft.Gy);gt.ZERO=new gt(Mt,Y);var rn=class{constructor(t,r){this.r=t,this.s=r,this.assertValidity()}static fromHex(t){let r=Pr(t,64),n=gt.fromHex(r.slice(0,32),!1),i=O0(r.slice(32,64));return new rn(n,i)}assertValidity(){let{r:t,s:r}=this;if(!(t instanceof gt))throw new Error("Expected Point instance");return i1(r,ft.l,!1),this}toRawBytes(){let t=new Uint8Array(64);return t.set(this.r.toRawBytes()),t.set(F0(this.s),32),t}toHex(){return U0(this.toRawBytes())}};function X5(...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 rh=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function U0(e){if(!(e instanceof Uint8Array))throw new Error("Uint8Array expected");let t="";for(let r=0;r<e.length;r++)t+=rh[e[r]];return t}function Qs(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 tu(e){let r=e.toString(16).padStart(64,"0");return Qs(r)}function F0(e){return tu(e).reverse()}function Tr(e){return(A(e)&Y)===Y}function O0(e){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");return BigInt("0x"+U0(Uint8Array.from(e).reverse()))}var nh=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function $s(e){return A(O0(e)&nh)}function A(e,t=ft.P){let r=e%t;return r>=Mt?r:t+r}function o1(e,t=ft.P){if(e===Mt||t<=Mt)throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);let r=A(e,t),n=t,i=Mt,o=Y,s=Y,a=Mt;for(;r!==Mt;){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!==Y)throw new Error("invert: does not exist");return A(i,t)}function ih(e,t=ft.P){let r=new Array(e.length),n=e.reduce((o,s,a)=>s===Mt?o:(r[a]=o,A(o*s,t)),Y),i=o1(n,t);return e.reduceRight((o,s,a)=>s===Mt?o:(r[a]=A(o*r[a],t),A(o*s,t)),i),r}function He(e,t){let{P:r}=ft,n=e;for(;t-- >Mt;)n*=n,n%=r;return n}function oh(e){let{P:t}=ft,r=BigInt(5),n=BigInt(10),i=BigInt(20),o=BigInt(40),s=BigInt(80),u=e*e%t*e%t,c=He(u,Rr)*u%t,f=He(c,Y)*e%t,l=He(f,r)*f%t,d=He(l,n)*l%t,p=He(d,i)*d%t,h=He(p,o)*p%t,y=He(h,s)*h%t,g=He(y,s)*h%t,m=He(g,n)*l%t;return{pow_p_5_8:He(m,Rr)*e%t,b2:u}}function Ws(e,t){let r=A(t*t*t),n=A(r*r*t),i=oh(e*n).pow_p_5_8,o=A(e*r*i),s=A(t*o*o),a=o,u=A(o*D0),c=s===e,f=s===A(-e),l=s===A(-e*D0);return c&&(o=a),(f||l)&&(o=u),Tr(o)&&(o=A(-o)),{isValid:c||f,value:o}}function j5(e){return Ws(Y,e)}function n1(e){return A(O0(e),ft.l)}function sh(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 Pr(e,t){let r=e instanceof Uint8Array?Uint8Array.from(e):Qs(e);if(typeof t=="number"&&r.length!==t)throw new Error(`Expected ${t} bytes`);return r}function i1(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(Mt<e)return e}else if(Mt<=e)return e}throw new TypeError("Expected valid scalar: 0 < scalar < max")}function ah(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}function uh(e){if(e=typeof e=="bigint"||typeof e=="number"?tu(i1(e,J5)):Pr(e),e.length!==32)throw new Error("Expected 32 bytes");return e}function ch(e){let t=ah(e.slice(0,32)),r=e.slice(32,64),n=n1(t),i=gt.BASE.multiply(n),o=i.toRawBytes();return{head:t,prefix:r,scalar:n,point:i,pointBytes:o}}var Hs;async function s1(e){return ch(await Nr.sha512(uh(e)))}async function Ys(e){return(await s1(e)).pointBytes}async function eu(e,t){e=Pr(e);let{prefix:r,scalar:n,pointBytes:i}=await s1(t),o=n1(await Nr.sha512(r,e)),s=gt.BASE.multiply(o),a=n1(await Nr.sha512(s.toRawBytes(),i,e)),u=A(o+a*n,ft.l);return new rn(s,u).toRawBytes()}function fh(e,t,r){t=Pr(t),r instanceof gt||(r=gt.fromHex(r,!1));let{r:n,s:i}=e instanceof rn?e.assertValidity():rn.fromHex(e),o=Q.BASE.multiplyUnsafe(i);return{r:n,s:i,SB:o,pub:r,msg:t}}function lh(e,t,r,n){let i=n1(n),o=Q.fromAffine(e).multiplyUnsafe(i);return Q.fromAffine(t).add(o).subtract(r).multiplyUnsafe(ft.h).equals(Q.ZERO)}async function ru(e,t,r){let{r:n,SB:i,msg:o,pub:s}=fh(e,t,r),a=await Nr.sha512(n.toRawBytes(),s.toRawBytes(),o);return lh(s,n,i,a)}gt.BASE._setWindowSize(8);var _r={node:Z9,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0},Nr={bytesToHex:U0,hexToBytes:Qs,concatBytes:X5,getExtendedPublicKey:s1,mod:A,invert:o1,TORSION_SUBGROUP:["0100000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a","0000000000000000000000000000000000000000000000000000000000000080","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05","ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85","0000000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa"],hashToPrivateScalar:e=>{if(e=Pr(e),e.length<40||e.length>1024)throw new Error("Expected 40-1024 bytes of private key as per FIPS 186");return A(O0(e),ft.l-Y)+Y},randomBytes:(e=32)=>{if(_r.web)return _r.web.getRandomValues(new Uint8Array(e));if(_r.node){let{randomBytes:t}=_r.node;return new Uint8Array(t(e).buffer)}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>Nr.randomBytes(32),sha512:async(...e)=>{let t=X5(...e);if(_r.web){let r=await _r.web.subtle.digest("SHA-512",t.buffer);return new Uint8Array(r)}else{if(_r.node)return Uint8Array.from(_r.node.createHash("sha512").update(t).digest());throw new Error("The environment doesn't have sha512 function")}},precompute(e=8,t=gt.BASE){let r=t.equals(gt.BASE)?t:new gt(t.x,t.y);return r._setWindowSize(e),r.multiply(Rr),r},sha512Sync:void 0};Object.defineProperties(Nr,{sha512Sync:{configurable:!1,get(){return Hs},set(e){Hs||(Hs=e)}}});var $n=32,ar=64,a1=32;async function nu(){let e=Nr.randomPrivateKey(),t=await Ys(e);return{privateKey:au(e,t),publicKey:t}}async function iu(e){if(e.length!==a1)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 Ys(t);return{privateKey:au(t,r),publicKey:r}}async function ou(e,t){let r=e.subarray(0,a1);return eu(t,r)}async function su(e,t,r){return ru(t,r,e)}function au(e,t){let r=new Uint8Array(ar);for(let n=0;n<a1;n++)r[n]=e[n],r[a1+n]=t[n];return r}var Zs={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=Ct.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){g=await a.subtle.importKey("jwk",Zs,{name:"AES-GCM"},!0,["encrypt"]);try{let x={name:"PBKDF2",salt:p,iterations:s,hash:{name:i}},b=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(x,b,{name:t,length:r},!0,["encrypt"])}catch{g=await a.subtle.importKey("jwk",Zs,{name:"AES-GCM"},!0,["encrypt"])}}else{let x={name:"PBKDF2",salt:p,iterations:s,hash:{name:i}},b=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(x,b,{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)try{let b={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(b,L,{name:t,length:r},!0,["decrypt"])}catch{m=await a.subtle.importKey("jwk",Zs,{name:"AES-GCM"},!0,["decrypt"])}else{let b={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(b,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 Hn(e,t){let n=await u1().encrypt(e,t);return Kr.encode(n)}var Gn={};Lt(Gn,{KeyType:()=>lt,PrivateKey:()=>Be,PublicKey:()=>Ae});var lt;(function(e){e.RSA="RSA",e.Ed25519="Ed25519",e.Secp256k1="Secp256k1"})(lt||(lt={}));var Xs;(function(e){e[e.RSA=0]="RSA",e[e.Ed25519=1]="Ed25519",e[e.Secp256k1=2]="Secp256k1"})(Xs||(Xs={}));(function(e){e.codec=()=>Cn(Xs)})(lt||(lt={}));var Ae;(function(e){let t;e.codec=()=>(t==null&&(t=Fe((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),lt.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=lt.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>De(r,e.codec()),e.decode=r=>ke(r,e.codec())})(Ae||(Ae={}));var Be;(function(e){let t;e.codec=()=>(t==null&&(t=Fe((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),lt.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=lt.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>De(r,e.codec()),e.decode=r=>ke(r,e.codec())})(Be||(Be={}));var M0=class{_key;constructor(t){this._key=Qn(t,$n)}async verify(t,r){return su(this._key,r,t)}marshal(){return this._key}get bytes(){return Ae.encode({Type:lt.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}},nn=class{_key;_publicKey;constructor(t,r){this._key=Qn(t,ar),this._publicKey=Qn(r,$n)}async sign(t){return ou(this._key,t)}get public(){return new M0(this._publicKey)}marshal(){return this._key}get bytes(){return Be.encode({Type:lt.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=gr.digest(this.public.bytes);return St.encode(t.bytes).substring(1)}async export(t,r="libp2p-key"){if(r==="libp2p-key")return Hn(this.bytes,t);throw new _(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function dh(e){if(e.length>ar){e=Qn(e,ar+$n);let n=e.subarray(0,ar),i=e.subarray(ar,e.length);return new nn(n,i)}e=Qn(e,ar);let t=e.subarray(0,ar),r=e.subarray($n);return new nn(t,r)}function yh(e){return e=Qn(e,$n),new M0(e)}async function gh(){let{privateKey:e,publicKey:t}=await nu();return new nn(e,t)}async function js(e){let{privateKey:t,publicKey:r}=await iu(e);return new nn(t,r)}function Qn(e,t){if(e=Uint8Array.from(e??[]),e.length!==t)throw new _(`Key must be a Uint8Array of length ${t}, got ${e.length}`,"ERR_INVALID_KEY_TYPE");return e}var $w=$(Bt(),1),Hw=$(Ji(),1),cu=$(nt(),1);function Ce(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 re(e){let t=c1(e);return new cu.default.jsbn.BigInteger(M(t,"base16"),16)}function c1(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 fu={"P-256":256,"P-384":384,"P-521":521},mh=Object.keys(fu),t2=mh.join(" / ");async function lu(e){if(e!=="P-256"&&e!=="P-384"&&e!=="P-521")throw new _(`Unknown curve: ${e}. Must be ${t2}`,"ERR_INVALID_CURVE");let t=await Ct.get().subtle.generateKey({name:"ECDH",namedCurve:e},!0,["deriveBits"]),r=async(o,s)=>{let a;s!=null?a=await Ct.get().subtle.importKey("jwk",vh(e,s),{name:"ECDH",namedCurve:e},!1,["deriveBits"]):a=t.privateKey;let u=await Ct.get().subtle.importKey("jwk",pu(e,o),{name:"ECDH",namedCurve:e},!1,[]),c=await Ct.get().subtle.deriveBits({name:"ECDH",namedCurve:e,public:u},a,fu[e]);return new Uint8Array(c,0,c.byteLength)},n=await Ct.get().subtle.exportKey("jwk",t.publicKey);return{key:xh(n),genSharedKey:r}}var hu={"P-256":32,"P-384":48,"P-521":66};function xh(e){if(e.crv==null||e.x==null||e.y==null)throw new _("JWK was missing components","ERR_INVALID_PARAMETERS");if(e.crv!=="P-256"&&e.crv!=="P-384"&&e.crv!=="P-521")throw new _(`Unknown curve: ${e.crv}. Must be ${t2}`,"ERR_INVALID_CURVE");let t=hu[e.crv];return ut([Uint8Array.from([4]),c1(e.x,t),c1(e.y,t)],1+t*2)}function pu(e,t){if(e!=="P-256"&&e!=="P-384"&&e!=="P-521")throw new _(`Unknown curve: ${e}. Must be ${t2}`,"ERR_INVALID_CURVE");let r=hu[e];if(!st(t.subarray(0,1),Uint8Array.from([4])))throw new _("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 vh=(e,t)=>({...pu(e,t.public),d:M(t.private,"base64url")});var du=lu;async function yu(e,t){let r=Kr.decode(e);return u1().decrypt(r,t)}var gu={"AES-128":{ivSize:16,keySize:16},"AES-256":{ivSize:16,keySize:32},Blowfish:{ivSize:8,keySize:32}};async function mu(e,t,r){let n=gu[e];if(n==null){let x=Object.keys(gu).join(" / ");throw new _(`unknown cipher type '${e}'. Must be ${x}`,"ERR_INVALID_CIPHER_TYPE")}if(t==null)throw new _("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 H4(t,r),f=await c.digest(a),l=[],d=0;for(;d<u;){let x=await c.digest(ut([f,a])),b=x.length;d+b>u&&(b=u-d),l.push(x),d+=b,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 l2={};Lt(l2,{RsaPrivateKey:()=>t0,RsaPublicKey:()=>G0,fromJwk:()=>$h,generateKeyPair:()=>Hh,unmarshalRsaPrivateKey:()=>qh,unmarshalRsaPublicKey:()=>zh});var H0=$(nt(),1);var Lb=$(Eu(),1);var bh=$(Vn(),1);var Z=BigInt(0),pt=BigInt(1),kr=BigInt(2),q0=BigInt(3),Su=BigInt(8),Et=Object.freeze({a:Z,b:BigInt(7),P:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:pt,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee")}),Iu=(e,t)=>(e+t/kr)/t,f1={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar(e){let{n:t}=Et,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-pt*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=r,s=BigInt("0x100000000000000000000000000000000"),a=Iu(o*e,t),u=Iu(-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}}},_e=32,Zn=32,Eh=32,Au=_e+1,Bu=2*_e+1;function Cu(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===Z,d1=class extends Error{constructor(t){super(t)}};function _u(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,pt)}static toAffineBatch(t){let r=Ch(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){_u(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(kr*(N(a*a)-i-s)),c=N(q0*i),f=N(c*c),l=N(f-kr*u),d=N(c*(u-l)-Su*s),p=N(kr*r*n);return new J(l,d,p)}add(t){_u(t);let{x:r,y:n,z:i}=this,{x:o,y:s,z:a}=t;if(o===Z||s===Z)return this;if(r===Z||n===Z)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===Z)return y===Z?this.double():J.ZERO;let g=N(h*h),m=N(h*g),x=N(f*g),b=N(y*y-m-kr*x),L=N(y*(x-b)-d*m),T=N(i*a*h);return new J(b,L,T)}subtract(t){return this.add(t.negate())}multiplyUnsafe(t){let r=J.ZERO;if(typeof t=="bigint"&&t===Z)return r;let n=Pu(t);if(n===pt)return this;if(!l1){let l=r,d=this;for(;n>Z;)n&pt&&(l=l.add(d)),d=d.double(),n>>=pt;return l}let{k1neg:i,k1:o,k2neg:s,k2:a}=f1.splitScalar(n),u=r,c=r,f=this;for(;o>Z||a>Z;)o&pt&&(u=u.add(f)),a&pt&&(c=c.add(f)),f=f.double(),o>>=pt,a>>=pt;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&&i2.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=J.normalizeZ(i),i2.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+=pt);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=Pu(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?Su: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!==pt)throw new Error("invZ was invalid");return new et(c,f)}};J.BASE=new J(Et.Gx,Et.Gy,pt);J.ZERO=new J(Z,pt,Z);function h1(e,t){let r=t.negate();return e?r:t}var i2=new WeakMap,et=class{constructor(t,r){this.x=t,this.y=r}_setWindowSize(t){this._WINDOW_SIZE=t,i2.delete(this)}hasEvenY(){return this.y%kr===Z}static fromCompressedHex(t){let r=t.length===32,n=Dr(r?t:t.subarray(1));if(!n2(n))throw new Error("Point is not on curve");let i=Cu(n),o=Bh(i),s=(o&pt)===pt;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=Dr(t.subarray(1,_e+1)),n=Dr(t.subarray(_e+1,_e*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===_e)return this.fromCompressedHex(r);if(n===Au&&(i===2||i===3))return this.fromCompressedHex(r);if(n===Bu&&i===4)return this.fromUncompressedHex(r);throw new Error(`Point.fromHex: received invalid point. Expected 32-${Au} compressed bytes or ${Bu} uncompressed bytes, not ${n}`)}static fromPrivateKey(t){return et.BASE.multiply(g1(t))}static fromSignature(t,r,n){let{r:i,s:o}=Nu(r);if(![0,1,2,3].includes(n))throw new Error("Cannot recover: invalid recovery bit");let s=a2(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(!n2(r)||!n2(n))throw new Error(t);let i=N(n*n),o=Cu(r);if(N(i-o)!==Z)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===Z||r===pt||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(Z,Z);function Tu(e){return Number.parseInt(e[0],16)>=8?"00"+e:e}function Ru(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:Dr(r),left:e.subarray(t+2)}}function Sh(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}=Ru(e.subarray(2)),{data:n,left:i}=Ru(r);if(i.length)throw new Error(`Invalid signature: left bytes after parsing: ${Xn(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?Xn(t):t;if(i.length!==128)throw new Error(`${n}: Expected 64-byte hex`);return new Ge(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}=Sh(r?t:sn(t));return new Ge(n,i)}static fromHex(t){return this.fromDER(t)}assertValidity(){let{r:t,s:r}=this;if(!$0(t))throw new Error("Invalid Signature: r must be 0 < r < n");if(!$0(r))throw new Error("Invalid Signature: s must be 0 < s < n")}hasHighS(){let t=Et.n>>pt;return this.s>t}normalizeS(){return this.hasHighS()?new Ge(this.r,N(-this.s,Et.n)):this}toDERRawBytes(){return sn(this.toDERHex())}toDERHex(){let t=Tu(V0(this.s)),r=Tu(V0(this.r)),n=t.length/2,i=r.length/2,o=V0(n),s=V0(i);return`30${V0(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 Lr(...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 Ih=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+=Ih[e[r]];return t}var Ah=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000");function Wn(e){if(typeof e!="bigint")throw new Error("Expected bigint");if(!(Z<=e&&e<Ah))throw new Error("Expected number 0 <= n < 2^256");return e.toString(16).padStart(64,"0")}function o2(e){let t=sn(Wn(e));if(t.length!==32)throw new Error("Error: expected 32 bytes");return t}function V0(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 Dr(e){return y1(Xn(e))}function jn(e){return e instanceof Uint8Array?Uint8Array.from(e):sn(e)}function Pu(e){if(typeof e=="number"&&Number.isSafeInteger(e)&&e>0)return BigInt(e);if(typeof e=="bigint"&&$0(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>=Z?r:t+r}function le(e,t){let{P:r}=Et,n=e;for(;t-- >Z;)n*=n,n%=r;return n}function Bh(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=le(c,q0)*c%t,l=le(f,q0)*c%t,d=le(l,kr)*u%t,p=le(d,n)*d%t,h=le(p,i)*p%t,y=le(h,s)*h%t,g=le(y,a)*y%t,m=le(g,s)*h%t,x=le(m,q0)*c%t,b=le(x,o)*p%t,L=le(b,r)*u%t,T=le(L,kr);if(T*T%t!==e)throw new Error("Cannot find square root");return T}function Jn(e,t=Et.P){if(e===Z||t<=Z)throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);let r=N(e,t),n=t,i=Z,o=pt,s=pt,a=Z;for(;r!==Z;){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!==pt)throw new Error("invert: does not exist");return N(i,t)}function Ch(e,t=Et.P){let r=new Array(e.length),n=e.reduce((o,s,a)=>s===Z?o:(r[a]=o,N(o*s,t)),pt),i=Jn(n,t);return e.reduceRight((o,s,a)=>s===Z?o:(r[a]=N(o*r[a],t),N(o*s,t)),i),r}function _h(e){let t=e.length*8-Zn*8,r=Dr(e);return t>0?r>>BigInt(t):r}function a2(e,t=!1){let r=_h(e);if(t)return r;let{n}=Et;return r>=n?r-n:r}var Yn,z0,s2=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 Te.hmacSha256(this.k,...t)}hmacSync(...t){return z0(this.k,...t)}checkSync(){if(typeof z0!="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 Lr(...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 Lr(...r)}};function $0(e){return Z<e&&e<Et.n}function n2(e){return Z<e&&e<Et.P}function Th(e,t,r,n=!0){let{n:i}=Et,o=a2(e,!0);if(!$0(o))return;let s=Jn(o,i),a=et.BASE.multiply(o),u=N(a.x,i);if(u===Z)return;let c=N(s*N(t+r*u,i),i);if(c===Z)return;let f=new Ge(u,c),l=(a.x===f.r?0:2)|Number(a.y&pt);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=Dr(e)}else throw new TypeError("Expected valid private key");if(!$0(t))throw new Error("Expected private key: 0 < key < n");return t}function Rh(e){return e instanceof et?(e.assertValidity(),e):et.fromHex(e)}function Nu(e){if(e instanceof Ge)return e.assertValidity(),e;try{return Ge.fromDER(e)}catch{return Ge.fromCompact(e)}}function u2(e,t=!1){return et.fromPrivateKey(e).toRawBytes(t)}function Lu(e){let t=e.length>_e?e.slice(0,_e):e;return Dr(t)}function Ph(e){let t=Lu(e),r=N(t,Et.n);return ku(r<Z?t:r)}function ku(e){return o2(e)}function Nh(e,t,r){if(e==null)throw new Error(`sign: expected valid message hash, not "${e}"`);let n=jn(e),i=g1(t),o=[ku(i),Ph(n)];if(r!=null){r===!0&&(r=Te.randomBytes(_e));let u=jn(r);if(u.length!==_e)throw new Error(`sign: Expected ${_e} bytes of extra data`);o.push(u)}let s=Lr(...o),a=Lu(n);return{seed:s,m:a,d:i}}function Lh(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 Du(e,t,r={}){let{seed:n,m:i,d:o}=Nh(e,t,r.extraEntropy),s=new s2(Eh,Zn);await s.reseed(n);let a;for(;!(a=Th(await s.generate(),i,o,r.canonical));)await s.reseed();return Lh(a,r)}var kh={strict:!0};function Fu(e,t,r,n=kh){let i;try{i=Nu(e),t=jn(t)}catch{return!1}let{r:o,s}=i;if(n.strict&&i.hasHighS())return!1;let a=a2(t),u;try{u=Rh(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 ne={node:bh,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0};var p1={},Te={bytesToHex:Xn,hexToBytes:sn,concatBytes:Lr,mod:N,invert:Jn,isValidPrivateKey(e){try{return g1(e),!0}catch{return!1}},_bigintTo32Bytes:o2,_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(Dr(e),Et.n-pt)+pt;return o2(r)},randomBytes:(e=32)=>{if(ne.web)return ne.web.getRandomValues(new Uint8Array(e));if(ne.node){let{randomBytes:t}=ne.node;return Uint8Array.from(t(e))}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>Te.hashToPrivateKey(Te.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(q0),r},sha256:async(...e)=>{if(ne.web){let t=await ne.web.subtle.digest("SHA-256",Lr(...e));return new Uint8Array(t)}else if(ne.node){let{createHash:t}=ne.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(ne.web){let r=await ne.web.subtle.importKey("raw",e,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),n=Lr(...t),i=await ne.web.subtle.sign("HMAC",r,n);return new Uint8Array(i)}else if(ne.node){let{createHmac:r}=ne.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 Te.sha256(Uint8Array.from(e,i=>i.charCodeAt(0)));r=Lr(n,n),p1[e]=r}return Te.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=Lr(n,n),p1[e]=r}return Yn(r,...t)},_JacobianPoint:J};Object.defineProperties(Te,{sha256Sync:{configurable:!1,get(){return Yn},set(e){Yn||(Yn=e)}},hmacSha256Sync:{configurable:!1,get(){return z0},set(e){z0||(z0=e)}}});function an(e){if(isNaN(e)||e<=0)throw new _("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return Te.randomBytes(e)}var yb=$(r1(),1),c2=$(nt(),1);function Uu(e,t){return t.map(r=>re(e[r]))}function Ou(e){return c2.default.pki.setRsaPrivateKey(...Uu(e,["n","e","d","p","q","dp","dq","qi"]))}function Mu(e){return c2.default.pki.setRsaPublicKey(...Uu(e,["n","e"]))}var un={};Lt(un,{jwkToPkcs1:()=>Uh,jwkToPkix:()=>Mh,pkcs1ToJwk:()=>Fh,pkixToJwk:()=>Oh});var xb=$(N0(),1),vb=$(r1(),1);var ur=$(nt(),1);function Fh(e){let t=ur.default.asn1.fromDer(M(e,"ascii")),r=ur.default.pki.privateKeyFromAsn1(t);return{kty:"RSA",n:Ce(r.n),e:Ce(r.e),d:Ce(r.d),p:Ce(r.p),q:Ce(r.q),dp:Ce(r.dP),dq:Ce(r.dQ),qi:Ce(r.qInv),alg:"RS256"}}function Uh(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 _("JWK was missing components","ERR_INVALID_PARAMETERS");let t=ur.default.pki.privateKeyToAsn1({n:re(e.n),e:re(e.e),d:re(e.d),p:re(e.p),q:re(e.q),dP:re(e.dp),dQ:re(e.dq),qInv:re(e.qi)});return xt(ur.default.asn1.toDer(t).getBytes(),"ascii")}function Oh(e){let t=ur.default.asn1.fromDer(M(e,"ascii")),r=ur.default.pki.publicKeyFromAsn1(t);return{kty:"RSA",n:Ce(r.n),e:Ce(r.e)}}function Mh(e){if(e.n==null||e.e==null)throw new _("JWK was missing components","ERR_INVALID_PARAMETERS");let t=ur.default.pki.publicKeyToAsn1({n:re(e.n),e:re(e.e)});return xt(ur.default.asn1.toDer(t).getBytes(),"ascii")}async function Ku(e){let t=await Ct.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 zu(t);return{privateKey:r[0],publicKey:r[1]}}async function f2(e){let r=[await Ct.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await Kh(e)],n=await zu({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function Vu(e,t){let r=await Ct.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await Ct.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,Uint8Array.from(t));return new Uint8Array(n,0,n.byteLength)}async function qu(e,t,r){let n=await Ct.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return Ct.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,r)}async function zu(e){if(e.privateKey==null||e.publicKey==null)throw new _("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([Ct.get().subtle.exportKey("jwk",e.privateKey),Ct.get().subtle.exportKey("jwk",e.publicKey)])}async function Kh(e){return Ct.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 $u(e,t,r,n){let i=t?Mu(e):Ou(e),o=M(Uint8Array.from(r),"ascii"),s=n(o,i);return xt(s,"ascii")}function Hu(e,t){return $u(e,!0,t,(r,n)=>n.encrypt(r))}function Gu(e,t){return $u(e,!1,t,(r,n)=>n.decrypt(r))}var G0=class{_key;constructor(t){this._key=t}async verify(t,r){return qu(this._key,r,t)}marshal(){return un.jwkToPkix(this._key)}get bytes(){return Ae.encode({Type:lt.RSA,Data:this.marshal()}).subarray()}encrypt(t){return Hu(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{_key;_publicKey;constructor(t,r){this._key=t,this._publicKey=r}genSecret(){return an(16)}async sign(t){return Vu(this._key,t)}get public(){if(this._publicKey==null)throw new _("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new G0(this._publicKey)}decrypt(t){return Gu(this._key,t)}marshal(){return un.jwkToPkcs1(this._key)}get bytes(){return Be.encode({Type:lt.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 H0.default.util.ByteBuffer(this.marshal()),i=H0.default.asn1.fromDer(n),o=H0.default.pki.privateKeyFromAsn1(i),s={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return H0.default.pki.encryptRsaPrivateKey(o,t,s)}else{if(r==="libp2p-key")return Hn(this.bytes,t);throw new _(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function qh(e){let t=un.pkcs1ToJwk(e),r=await f2(t);return new t0(r.privateKey,r.publicKey)}function zh(e){let t=un.pkixToJwk(e);return new G0(t)}async function $h(e){let t=await f2(e);return new t0(t.privateKey,t.publicKey)}async function Hh(e){let t=await Ku(e);return new t0(t.privateKey,t.publicKey)}var p2={};Lt(p2,{Secp256k1PrivateKey:()=>W0,Secp256k1PublicKey:()=>Q0,generateKeyPair:()=>Yh,unmarshalSecp256k1PrivateKey:()=>Qh,unmarshalSecp256k1PublicKey:()=>Wh});function Qu(){return Te.randomPrivateKey()}async function Wu(e,t){let{digest:r}=await mt.digest(t);try{return await Du(r,e)}catch(n){throw new _(String(n),"ERR_INVALID_INPUT")}}async function Yu(e,t,r){try{let{digest:n}=await mt.digest(r);return Fu(t,n,e)}catch(n){throw new _(String(n),"ERR_INVALID_INPUT")}}function Zu(e){return et.fromHex(e).toRawBytes(!0)}function Xu(e){try{u2(e,!0)}catch(t){throw new _(String(t),"ERR_INVALID_PRIVATE_KEY")}}function h2(e){try{et.fromHex(e)}catch(t){throw new _(String(t),"ERR_INVALID_PUBLIC_KEY")}}function ju(e){try{return u2(e,!0)}catch(t){throw new _(String(t),"ERR_INVALID_PRIVATE_KEY")}}var Q0=class{_key;constructor(t){h2(t),this._key=t}async verify(t,r){return Yu(this._key,r,t)}marshal(){return Zu(this._key)}get bytes(){return Ae.encode({Type:lt.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{_key;_publicKey;constructor(t,r){this._key=t,this._publicKey=r??ju(t),Xu(this._key),h2(this._publicKey)}async sign(t){return Wu(this._key,t)}get public(){return new Q0(this._publicKey)}marshal(){return this._key}get bytes(){return Be.encode({Type:lt.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 Hn(this.bytes,t);throw new _(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Qh(e){return new W0(e)}function Wh(e){return new Q0(e)}async function Yh(){let e=Qu();return new W0(e)}var Qe={rsa:l2,ed25519:Js,secp256k1:p2};function d2(e){let t=Object.keys(Qe).join(" / ");return new _(`invalid or unsupported key type ${e}. Must be ${t}`,"ERR_UNSUPPORTED_KEY_TYPE")}function y2(e){if(e=e.toLowerCase(),e==="rsa"||e==="ed25519"||e==="secp256k1")return Qe[e];throw d2(e)}async function Zh(e,t){return y2(e).generateKeyPair(t??2048)}async function Xh(e,t,r){if(e.toLowerCase()!=="ed25519")throw new _("Seed key derivation is unimplemented for RSA or secp256k1","ERR_UNSUPPORTED_KEY_DERIVATION_TYPE");return js(t)}function jh(e){let t=Ae.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case lt.RSA:return Qe.rsa.unmarshalRsaPublicKey(r);case lt.Ed25519:return Qe.ed25519.unmarshalEd25519PublicKey(r);case lt.Secp256k1:return Qe.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw d2(t.Type??"RSA")}}function Jh(e,t){return t=(t??"rsa").toLowerCase(),y2(t),e.bytes}async function Ju(e){let t=Be.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case lt.RSA:return Qe.rsa.unmarshalRsaPrivateKey(r);case lt.Ed25519:return Qe.ed25519.unmarshalEd25519PrivateKey(r);case lt.Secp256k1:return Qe.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw d2(t.Type??"RSA")}}function tp(e,t){return t=(t??"rsa").toLowerCase(),y2(t),e.bytes}async function ep(e,t){try{let i=await yu(e,t);return await Ju(i)}catch{}let r=m1.default.pki.decryptRsaPrivateKey(e,t);if(r===null)throw new _("Cannot read the key, most likely the password is wrong or not a RSA key","ERR_CANNOT_DECRYPT_PEM");let n=m1.default.asn1.toDer(m1.default.pki.privateKeyToAsn1(r));return n=xt(n.getBytes(),"ascii"),Qe.rsa.unmarshalRsaPrivateKey(n)}var rp=$(Ns(),1),np=$(Bt(),1);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}function cr(e,t){if(e.length!==t.length)throw new Error("Inputs should have the same length");let r=te(e.length);for(let n=0;n<e.length;n++)r[n]=e[n]^t[n];return je(r)}var w1=class{originDhtKey;capacity;peerDistances;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 Ee(t),n={peerId:t,distance:cr(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(Ee)),n=this.peerDistances[this.peerDistances.length-1].distance;for(let i of r){let o=cr(this.originDhtKey,i);if(v1(o,n)<0)return!0}return!1}};var b1=class{components;log;routingTable;network;validators;queryManager;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 dt(At.GET_VALUE,r,0);yield*this.network.sendRequest(t,i,n)}async*getPublicKeyFromNode(t,r={}){let n=g4(t);for await(let i of this._getValueSingle(t,n,r))if(yield i,i.name==="PEER_RESPONSE"&&i.record!=null){let o=await C3(x1.marshalPublicKey({bytes:i.record.value}));if(!o.equals(t))throw new _("public key does not match id","ERR_PUBLIC_KEY_DOES_NOT_MATCH_ID");if(o.publicKey==null)throw new _("public key missing","ERR_PUBLIC_KEY_MISSING");yield B0({from:t,value:o.publicKey})}throw new _(`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 _i({from:this.components.peerId,peer:n});return}let i=this,o=async function*({peer:a,signal:u}){let c=new dt(At.FIND_NODE,t.toBytes(),0);for await(let f of i.network.sendRequest(a,c,{signal:u}))if(yield f,f.name==="PEER_RESPONSE"){let l=f.closer.find(d=>d.id.equals(t));l!=null&&(yield _i({from:f.from,peer:l}))}},s=!1;for await(let a of this.queryManager.run(t.toBytes(),o,r))a.name==="FINAL_PEER"&&(s=!0),yield a;s||(yield zt({from:this.components.peerId,error:new _("Not found","ERR_NOT_FOUND")}))}async*getClosestPeers(t,r={}){this.log("getClosestPeers to %b",t);let n=await Sr(t),i=this.routingTable.closestPeers(n),o=this,s=new w1(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 dt(At.FIND_NODE,t,0);yield*o.network.sendRequest(u,f,{signal:c})};for await(let u of this.queryManager.run(t,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 _i({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 zt({from:i.from,error:new _(s,"ERR_INVALID_RECORD")});continue}yield i}}async _verifyRecordOnline(t){if(t.timeReceived==null)throw new _("invalid record received","ERR_INVALID_RECORD");await In(this.validators,new Rt(t.key,t.value,t.timeReceived))}async getCloserPeersOffline(t,r){let n=await Sr(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 p6=$(e6(),1);var h6=$(n6(),1);var Z0=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},m2=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},i6=e=>globalThis.DOMException===void 0?new m2(e):new DOMException(e),o6=e=>{let t=e.reason===void 0?i6("This operation was aborted."):e.reason;return t instanceof Error?t:i6(t)};function x2(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(o6(u)),u.addEventListener("abort",()=>{a(o6(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 Z0(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 v2(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 cn=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)},fr,X0=class{constructor(){fr.set(this,[])}enqueue(t,r){r={priority:0,...r};let n={priority:r.priority,run:t};if(this.size&&cn(this,fr,"f")[this.size-1].priority>=r.priority){cn(this,fr,"f").push(n);return}let i=v2(cn(this,fr,"f"),n,(o,s)=>s.priority-o.priority);cn(this,fr,"f").splice(i,0,n)}dequeue(){let t=cn(this,fr,"f").shift();return t?.run}filter(t){return cn(this,fr,"f").filter(r=>r.priority===t.priority).map(r=>r.run)}get size(){return cn(this,fr,"f").length}};fr=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)},_t,J0,ti,Ur,_1,ei,S1,Re,j0,ie,I1,oe,ri,Fr,A1,s6,a6,f6,u6,c6,B1,w2,b2,T1,l6,C1,R1=class extends Error{},lr=class extends h6.default{constructor(t){var r,n,i,o;if(super(),_t.add(this),J0.set(this,void 0),ti.set(this,void 0),Ur.set(this,0),_1.set(this,void 0),ei.set(this,void 0),S1.set(this,0),Re.set(this,void 0),j0.set(this,void 0),ie.set(this,void 0),I1.set(this,void 0),oe.set(this,0),ri.set(this,void 0),Fr.set(this,void 0),A1.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:X0,...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,J0,t.carryoverConcurrencyCount,"f"),vt(this,ti,t.intervalCap===Number.POSITIVE_INFINITY||t.interval===0,"f"),vt(this,_1,t.intervalCap,"f"),vt(this,ei,t.interval,"f"),vt(this,ie,new t.queueClass,"f"),vt(this,I1,t.queueClass,"f"),this.concurrency=t.concurrency,this.timeout=t.timeout,vt(this,A1,t.throwOnTimeout===!0,"f"),vt(this,Fr,t.autoStart===!1,"f")}get concurrency(){return k(this,ri,"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,ri,t,"f"),k(this,_t,"m",T1).call(this)}async add(t,r={}){return r={timeout:this.timeout,throwOnTimeout:k(this,A1,"f"),...r},new Promise((n,i)=>{k(this,ie,"f").enqueue(async()=>{var o,s,a;vt(this,oe,(s=k(this,oe,"f"),s++,s),"f"),vt(this,Ur,(a=k(this,Ur,"f"),a++,a),"f");try{if(!((o=r.signal)===null||o===void 0)&&o.aborted)throw new R1("The task was aborted.");let u=t({signal:r.signal});r.timeout&&(u=x2(Promise.resolve(u),r.timeout)),r.signal&&(u=Promise.race([u,k(this,_t,"m",l6).call(this,r.signal)]));let c=await u;n(c),this.emit("completed",c)}catch(u){if(u instanceof Z0&&!r.throwOnTimeout){n();return}i(u),this.emit("error",u)}finally{k(this,_t,"m",f6).call(this)}},r),this.emit("add"),k(this,_t,"m",B1).call(this)})}async addAll(t,r){return Promise.all(t.map(async n=>this.add(n,r)))}start(){return k(this,Fr,"f")?(vt(this,Fr,!1,"f"),k(this,_t,"m",T1).call(this),this):this}pause(){vt(this,Fr,!0,"f")}clear(){vt(this,ie,new(k(this,I1,"f")),"f")}async onEmpty(){k(this,ie,"f").size!==0&&await k(this,_t,"m",C1).call(this,"empty")}async onSizeLessThan(t){k(this,ie,"f").size<t||await k(this,_t,"m",C1).call(this,"next",()=>k(this,ie,"f").size<t)}async onIdle(){k(this,oe,"f")===0&&k(this,ie,"f").size===0||await k(this,_t,"m",C1).call(this,"idle")}get size(){return k(this,ie,"f").size}sizeBy(t){return k(this,ie,"f").filter(t).length}get pending(){return k(this,oe,"f")}get isPaused(){return k(this,Fr,"f")}};J0=new WeakMap,ti=new WeakMap,Ur=new WeakMap,_1=new WeakMap,ei=new WeakMap,S1=new WeakMap,Re=new WeakMap,j0=new WeakMap,ie=new WeakMap,I1=new WeakMap,oe=new WeakMap,ri=new WeakMap,Fr=new WeakMap,A1=new WeakMap,_t=new WeakSet,s6=function(){return k(this,ti,"f")||k(this,Ur,"f")<k(this,_1,"f")},a6=function(){return k(this,oe,"f")<k(this,ri,"f")},f6=function(){var t;vt(this,oe,(t=k(this,oe,"f"),t--,t),"f"),k(this,_t,"m",B1).call(this),this.emit("next")},u6=function(){k(this,_t,"m",b2).call(this),k(this,_t,"m",w2).call(this),vt(this,j0,void 0,"f")},c6=function(){let t=Date.now();if(k(this,Re,"f")===void 0){let r=k(this,S1,"f")-t;if(r<0)vt(this,Ur,k(this,J0,"f")?k(this,oe,"f"):0,"f");else return k(this,j0,"f")===void 0&&vt(this,j0,setTimeout(()=>{k(this,_t,"m",u6).call(this)},r),"f"),!0}return!1},B1=function(){if(k(this,ie,"f").size===0)return k(this,Re,"f")&&clearInterval(k(this,Re,"f")),vt(this,Re,void 0,"f"),this.emit("empty"),k(this,oe,"f")===0&&this.emit("idle"),!1;if(!k(this,Fr,"f")){let t=!k(this,_t,"a",c6);if(k(this,_t,"a",s6)&&k(this,_t,"a",a6)){let r=k(this,ie,"f").dequeue();return r?(this.emit("active"),r(),t&&k(this,_t,"m",w2).call(this),!0):!1}}return!1},w2=function(){k(this,ti,"f")||k(this,Re,"f")!==void 0||(vt(this,Re,setInterval(()=>{k(this,_t,"m",b2).call(this)},k(this,ei,"f")),"f"),vt(this,S1,Date.now()+k(this,ei,"f"),"f"))},b2=function(){k(this,Ur,"f")===0&&k(this,oe,"f")===0&&k(this,Re,"f")&&(clearInterval(k(this,Re,"f")),vt(this,Re,void 0,"f")),vt(this,Ur,k(this,J0,"f")?k(this,oe,"f"):0,"f"),k(this,_t,"m",T1).call(this)},T1=function(){for(;k(this,_t,"m",B1).call(this););},l6=async function(t){return new Promise((r,n)=>{t.addEventListener("abort",()=>{n(new R1("The task was aborted."))},{once:!0})})},C1=async function(t,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(t,i),n())};this.on(t,i)})};var E2=$(b0(),1);var hr=z("libp2p:kad-dht:providers"),P1=class{components;cache;cleanupInterval;provideValidity;syncQueue;started;cleaner;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,p6.default)(n??256),this.syncQueue=new lr({concurrency:1}),this.started=!1}isStarted(){return this.started}async start(){this.started||(this.started=!0,this.cleaner=setInterval(()=>{this._cleanup().catch(t=>{hr.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:Ro});for await(let a of s)try{let{cid:u,peerId:c}=d6(a.key),f=y6(a.value).getTime(),l=Date.now(),d=l-f,p=d>this.provideValidity;if(hr("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){hr.error(u.message)}i.size>0?(hr("deleting %d / %d entries",n,r),await o.commit()):hr("nothing to delete");for(let[a,u]of i){let c=ni(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)}}hr("Cleanup successful (%dms)",Date.now()-t)})}async _getProvidersMap(t){let r=ni(t),n=this.cache.get(r);return n==null&&(n=await fp(this.components.datastore,t),this.cache.set(r,n)),n}async addProvider(t,r){await this.syncQueue.add(async()=>{hr("%p provides %s",r,t);let n=await this._getProvidersMap(t);hr("loaded %s provs",n.size);let i=new Date;n.set(r.toString(),i);let o=ni(t);this.cache.set(o,n),await cp(this.components.datastore,t,r,i)})}async getProviders(t){return this.syncQueue.add(async()=>(hr("get providers for %s",t),[...(await this._getProvidersMap(t)).keys()].map(n=>bt(n))),{throwOnTimeout:!0})}};function ni(e){let t=typeof e=="string"?e:M(e.multihash.bytes,"base32");return`${Ro}/${t}`}async function cp(e,t,r,n){let i=[ni(t),"/",r.toString()].join(""),o=new Dt(i),s=Uint8Array.from(E2.default.encode(n.getTime()));await e.put(o,s)}function d6(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 fp(e,t){let r=new Map,n=e.query({prefix:ni(t)});for await(let i of n){let{peerId:o}=d6(i.key);r.set(o,y6(i.value))}return r}function y6(e){return new Date(E2.default.decode(e))}var fn=$(k1(),1);function pr(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 I2=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 pr(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 pr(this.map.keys(),t=>bt(t))}values(){return this.map.values()}get size(){return this.map.size}};var he=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 pr(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 pr(this.set.values(),t=>bt(t))}intersection(t){let r=new he;for(let n of t)this.has(n)&&r.add(n);return r}difference(t){let r=new he;for(let n of this)t.has(n)||r.add(n);return r}union(t){let r=new he;for(let n of t)r.add(n);for(let n of this)r.add(n);return r}};var r0=class{constructor(t){if(this.list=[],t!=null)for(let r of t)this.list.push(r.toString())}[Symbol.iterator](){return pr(this.list.entries(),t=>bt(t[1]))}concat(t){let r=new r0(this);for(let n of t)r.push(n);return r}entries(){return pr(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 r0;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}};function n0(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 mp=BigInt("0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF");async function*B6(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 lr({concurrency:s}),h=await Sr(t);function y(g,m){if(g==null)return;d.add(g);let x=BigInt("0x"+M(cr(m,h),"base16"));p.add(async()=>{let b=[i];f!=null&&b.push(AbortSignal.timeout(f));let L=n0(b);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 C of T.closer){if(d.has(C.id)){l("already seen %p in query",C.id);continue}if(n.equals(C.id)){l("not querying ourselves");continue}let q=await Ee(C.id);if(BigInt("0x"+M(cr(q,h),"base16"))>x){l("skipping %p as they are not closer to %b than %p",C.id,t,g);continue}l("querying closer peer %p",C.id),y(C.id,q)}p.emit("completed",T)}}catch(T){if(!i.aborted)return zt({from:g,error:T})}finally{L.clear()}},{priority:mp-x}).catch(b=>{l.error(b)})}y(r,await Ee(r)),yield*xp(p,i,c,l)}async function*xp(e,t,r,n){let i=me(),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 _("Query aborted","ERR_QUERY_ABORTED"))}),r.addEventListener("cleanup",()=>{a(),i.resolve()});o;)for(await i.promise,i=me();s.length>0;){let u=s.shift();u!=null&&(yield u)}yield*s}var F1=class{components;lan;disjointPaths;alpha;shutDownController;running;queries;metrics;routingTable;initialQuerySelfHasRun;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.routingTable=r.routingTable,this.shutDownController=new AbortController;try{fn.setMaxListeners!=null&&(0,fn.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={}){if(!this.running)throw new Error("QueryManager not started");let i=this.metrics?.queryTime.timer();if(n.signal==null){n.signal=AbortSignal.timeout(3e4);try{fn.setMaxListeners!=null&&(0,fn.setMaxListeners)(1/0,n.signal)}catch{}}let o=n0([this.shutDownController.signal,n.signal]);try{fn.setMaxListeners!=null&&(0,fn.setMaxListeners)(1/0,o)}catch{}let s=z(`libp2p:kad-dht:${this.lan?"lan":"wan"}:query:`+M(t,"base58btc")),a=Date.now(),u=new se;try{n.isSelfQuery!==!0&&this.initialQuerySelfHasRun!=null&&(s("waiting for initial query-self query before continuing"),await Promise.race([new Promise((h,y)=>{o.addEventListener("abort",()=>{y(new yn("Query was aborted before self-query ran"))})}),this.initialQuerySelfHasRun.promise]),this.initialQuerySelfHasRun=void 0),s("query:start"),this.queries++,this.metrics?.runningQueries.update(this.queries);let c=await Sr(t),f=this.routingTable.closestPeers(c),l=f.slice(0,Math.min(this.disjointPaths,f.length));if(f.length===0){s.error("Running query with no peers");return}let d=new he,p=l.map((h,y)=>B6({key:t,startingPeer:h,ourPeerId:this.components.peerId,signal:o,query:r,pathIndex:y,numPaths:l.length,alpha:this.alpha,cleanUp:u,queryFuncTimeout:n.queryFuncTimeout,log:s,peersSeen:d}));for await(let h of ge(...p))yield h,h.name==="QUERY_ERROR"&&s("error",h.error)}catch(c){if(!(!this.running&&c.code==="ERR_QUERY_ABORTED"))throw c}finally{o.clear(),this.queries--,this.metrics?.runningQueries.update(this.queries),i?.(),u.dispatchEvent(new jt("cleanup")),s("query:done in %dms",Date.now()-a)}}};var A2=$(k1(),1);function wp(e){return e[Symbol.asyncIterator]!=null}function bp(e){if(wp(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 U1=bp;function Ep(e){return e[Symbol.asyncIterator]!=null}function Sp(e,t){return Ep(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 C6=Sp;function Cp(e,t){let r;return function(){let n=function(){r=void 0,e()};clearTimeout(r),r=setTimeout(n,t)}}var O1=class{log;components;peerRouting;routingTable;count;interval;initialInterval;queryTimeout;started;running;timeoutId;controller;initialQuerySelfHasRun;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=Cp(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=n0([this.controller.signal,AbortSignal.timeout(this.queryTimeout)]);try{A2.setMaxListeners!=null&&(0,A2.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 we(this.peerRouting.getClosestPeers(this.components.peerId.toBytes(),{signal:t,isSelfQuery:!0}),n=>C6(n,this.count),async n=>U1(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 n8=$(e8(),1);var hd="kad-close",pd=50,r8=20,dd=1e4,yd=10,$1=class{kBucketSize;kb;pingQueue;log;components;lan;pingTimeout;pingConcurrency;running;protocol;tagName;tagValue;metrics;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??r8,this.pingTimeout=i??dd,this.pingConcurrency=s??yd,this.lan=o,this.running=!1,this.protocol=a,this.tagName=u??hd,this.tagValue=c??pd;let f=()=>{this.metrics?.pingQueueSize.update(this.pingQueue.size),this.metrics?.pingRunning.update(this.pingQueue.pending)};this.pingQueue=new lr({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 n8.default({localNodeId:await Ee(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 he,n=v4(()=>{let i=new he(t.closest(t.localNodeId,r8).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.peer),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 Ee(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 Ee(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 Ee(t);this.kb.remove(r),this.metrics?.routingTableSize.update(this.size)}};var i8=[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 H1=15,G1=class{log;peerRouting;routingTable;refreshInterval;refreshQueryTimeout;commonPrefixLengthRefreshedAt;refreshTimeoutId;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 U1(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>H1&&(t=H1);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 Gr(i)}async _makePeerId(t,r,n){if(n>H1)throw new Error(`Cannot generate peer ID for common prefix length greater than ${H1}`);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=i8[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=cr(this.routingTable.kb.localNodeId,t),n=0;for(let i of r)if(i===0)n++;else break;yield n}}};var si=z("libp2p:kad-dht:rpc:handlers:add-provider"),Q1=class{providers;constructor(t){let{providers:r}=t;this.providers=r}async handle(t,r){if(si("start"),r.key==null||r.key.length===0)throw new _("Missing key","ERR_MISSING_KEY");let n;try{n=tt.decode(r.key)}catch{throw new _("Invalid CID","ERR_INVALID_CID")}(r.providerPeers==null||r.providerPeers.length===0)&&si.error("no providers found in message"),await Promise.all(r.providerPeers.map(async i=>{if(!i.id.equals(t)){si("invalid provider peer %p from %p",i.id,t);return}if(i.multiaddrs.length<1){si("no valid addresses for provider %p. Ignore",t);return}si("received provider %p for %s (addrs %s)",t,n,i.multiaddrs.map(o=>o.toString())),await this.providers.addProvider(n,i.id)}))}};var o8=z("libp2p:kad-dht:rpc:handlers:find-node"),W1=class{peerRouting;lan;components;constructor(t,r){let{peerRouting:n,lan:i}=r;this.components=t,this.peerRouting=n,this.lan=!!i}async handle(t,r){o8("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(it("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 dt(r.type,new Uint8Array(0),r.clusterLevel);return n.length>0?i.closerPeers=n:o8("could not find any peers closer to %b than %p",r.key,t),i}};var s8=z("libp2p:kad-dht:rpc:handlers:get-providers"),Y1=class{components;peerRouting;providers;lan;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 _("Invalid CID","ERR_INVALID_CID")}s8("%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 dt(r.type,r.key,r.clusterLevel);return s.length>0&&(u.providerPeers=s),a.length>0&&(u.closerPeers=a),s8("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 c0=z("libp2p:kad-dht:rpc:handlers:get-value"),Z1=class{components;peerRouting;constructor(t,r){let{peerRouting:n}=r;this.components=t,this.peerRouting=n}async handle(t,r){let n=r.key;if(c0("%p asked for key %b",t,n),n==null||n.length===0)throw new _("Invalid key","ERR_INVALID_KEY");let i=new dt(At.GET_VALUE,n,r.clusterLevel);if(m4(n)){c0("is public key");let a=x4(n),u;try{let c=await this.components.peerStore.get(a);if(c.id.publicKey==null)throw new _("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 c0("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&&(c0("had record for %b in local datastore",n),i.record=o),s.length>0&&(c0("had %s closer peers in routing table",s.length),i.closerPeers=s),i}async _checkLocalDatastore(t){c0("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 _("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 vd=z("libp2p:kad-dht:rpc:handlers:ping"),X1=class{async handle(t,r){return vd("ping from %p",t),r}};var j1=class{log;components;validators;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 _(o,"ERR_EMPTY_RECORD")}try{await In(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{handlers;routingTable;log;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={[At.GET_VALUE]:new Z1(t,{peerRouting:i}),[At.PUT_VALUE]:new j1(t,{validators:o}),[At.FIND_NODE]:new W1(t,{peerRouting:i,lan:s}),[At.ADD_PROVIDER]:new Q1({providers:n}),[At.GET_PROVIDERS]:new Y1(t,{peerRouting:i,providers:n,lan:s}),[At.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 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 we(r,s=>Zr(s),async function*(s){for await(let a of s){let u=dt.deserialize(a);o.log("incoming %s from %p",u.type,i);let c=await o.handleMessage(i,u);c!=null&&(yield c.serialize())}},s=>Wr(s),r)}).catch(r=>{this.log.error(r)})}};var K2=Symbol.for("@libp2p/topology");var a8=()=>{},V2=class{constructor(t){this.min=t.min??0,this.max=t.max??1/0,this.peers=new Set,this.onConnect=t.onConnect??a8,this.onDisconnect=t.onDisconnect??a8}get[Symbol.toStringTag](){return K2.toString()}get[K2](){return!0}async setRegistrar(t){this.registrar=t}disconnect(t){this.onDisconnect(t)}};function u8(e){return new V2(e)}var to=class extends se{log;components;protocol;running;registrarId;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=u8({onConnect:r=>{this.log("observed peer %p with protocol %s",r,this.protocol),this.dispatchEvent(new jt("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 wd=32,bd=64,ai=class extends se{protocol;routingTable;providers;network;peerRouting;components;log;running;kBucketSize;clientMode;lan;validators;selectors;queryManager;contentFetching;contentRouting;routingTableRefresh;rpc;topologyListener;querySelf;maxInboundStreams;maxOutboundStreams;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??Ba}${u===!0?Aa:""}${Ca}`,this.kBucketSize=n??20,this.clientMode=i??!0,this.maxInboundStreams=d??wd,this.maxOutboundStreams=p??bd,this.routingTable=new $1(t,{kBucketSize:n,lan:this.lan,pingTimeout:f,pingConcurrency:l,protocol:this.protocol}),this.providers=new P1(t,h??{}),this.validators={...Ia,...o},this.selectors={...Sa,...s},this.network=new Oi(t,{protocol:this.protocol,lan:this.lan});let y=me();r.allowQueryWithZeroPeers===!0&&y.resolve(),this.queryManager=new F1(t,{disjointPaths:Math.ceil(this.kBucketSize/2),lan:u,initialQuerySelfHasRun:y,routingTable:this.routingTable}),this.peerRouting=new b1(t,{routingTable:this.routingTable,network:this.network,validators:this.validators,queryManager:this.queryManager,lan:this.lan}),this.contentFetching=new Ni(t,{validators:this.validators,selectors:this.selectors,peerRouting:this.peerRouting,queryManager:this.queryManager,network:this.network,lan:this.lan}),this.contentRouting=new Li(t,{network:this.network,peerRouting:this.peerRouting,queryManager:this.queryManager,routingTable:this.routingTable,providers:this.providers,lan:this.lan}),this.routingTableRefresh=new G1({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 O1(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 jt("peer",{detail:m}))}),this.topologyListener.addEventListener("peer",g=>{let m=g.detail;Promise.resolve().then(async()=>{let x=await this.components.peerStore.get(m),b={id:m,multiaddrs:x.addresses.map(({multiaddr:L})=>L),protocols:x.protocols};await this.onPeerConnect(b)}).catch(x=>{this.log.error("could not add %p to routing table",m,x)})})}async onPeerConnect(t){if(this.log("peer %p connected with protocols",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 Ed=z("libp2p:kad-dht"),q2=class{dht;constructor(t){this.dht=t}async provide(t){await l0(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 l0(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 _("Not found","ERR_NOT_FOUND")}},z2=class{dht;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 _("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)}},eo=class extends se{wan;lan;components;contentRouting;peerRouting;constructor(t,r={}){super(),this.components=t,this.wan=new ai(t,{protocolPrefix:"/ipfs",...r,lan:!1}),this.lan=new ai(t,{protocolPrefix:"/ipfs",...r,clientMode:!1,lan:!0}),this.contentRouting=new q2(this),this.peerRouting=new z2(this),this.wan.addEventListener("peer",n=>{this.dispatchEvent(new jt("peer",{detail:n.detail}))}),this.lan.addEventListener("peer",n=>{this.dispatchEvent(new jt("peer",{detail:n.detail}))})}[Symbol.toStringTag]="@libp2p/dual-kad-dht";get[W2](){return this.contentRouting}get[Z2](){return this.peerRouting}get[Y2](){return this}isStarted(){return this.wan.isStarted()&&this.lan.isStarted()}async getMode(){return 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 ge(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 ge(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 _("No peers found in routing table!","ERR_NO_PEERS_IN_ROUTING_TABLE");i||(yield zt({from:this.components.peerId,error:new _("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 ge(...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 _(`Failed to provide to ${o.length} of ${n} peers`,"ERR_PROVIDES_FAILED",{errors:o}):new _("Failed to provide - no peers found","ERR_PROVIDES_FAILED")}async*findProviders(t,r={}){yield*ge(this.lan.findProviders(t,r),this.wan.findProviders(t,r))}async*findPeer(t,r={}){let n=!1;for await(let i of ge(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 _("Peer lookup failed","ERR_LOOKUP_FAILED")}async*getClosestPeers(t,r={}){yield*ge(this.lan.getClosestPeers(t,r),this.wan.getClosestPeers(t,r))}async refreshRoutingTable(){await Promise.all([this.lan.refreshRoutingTable(),this.wan.refreshRoutingTable()])}};var $2;(function(e){e[e.SENDING_QUERY=0]="SENDING_QUERY",e[e.PEER_RESPONSE=1]="PEER_RESPONSE",e[e.FINAL_PEER=2]="FINAL_PEER",e[e.QUERY_ERROR=3]="QUERY_ERROR",e[e.PROVIDER=4]="PROVIDER",e[e.VALUE=5]="VALUE",e[e.ADDING_PEER=6]="ADDING_PEER",e[e.DIALING_PEER=7]="DIALING_PEER"})($2||($2={}));var H2;(function(e){e[e.PUT_VALUE=0]="PUT_VALUE",e[e.GET_VALUE=1]="GET_VALUE",e[e.ADD_PROVIDER=2]="ADD_PROVIDER",e[e.GET_PROVIDERS=3]="GET_PROVIDERS",e[e.FIND_NODE=4]="FIND_NODE",e[e.PING=5]="PING"})(H2||(H2={}));function Sd(e){return t=>new eo(t,e)}return y8(Id);})();
|
|
28
28
|
/*! Bundled license information:
|
|
29
29
|
|
|
30
30
|
ieee754/index.js:
|
|
@@ -41,10 +41,10 @@ buffer/index.js:
|
|
|
41
41
|
safe-buffer/index.js:
|
|
42
42
|
(*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> *)
|
|
43
43
|
|
|
44
|
-
@noble/secp256k1/lib/esm/index.js:
|
|
45
|
-
(*! noble-secp256k1 - MIT License (c) 2019 Paul Miller (paulmillr.com) *)
|
|
46
|
-
|
|
47
44
|
@noble/ed25519/lib/esm/index.js:
|
|
48
45
|
(*! noble-ed25519 - MIT License (c) 2019 Paul Miller (paulmillr.com) *)
|
|
46
|
+
|
|
47
|
+
@noble/secp256k1/lib/esm/index.js:
|
|
48
|
+
(*! noble-secp256k1 - MIT License (c) 2019 Paul Miller (paulmillr.com) *)
|
|
49
49
|
*/
|
|
50
50
|
return Libp2PKadDht}));
|