Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/webtorrent/webtorrent.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFeross Aboukhadijeh <feross@feross.org>2019-08-09 01:30:26 +0300
committerFeross Aboukhadijeh <feross@feross.org>2019-08-09 01:30:26 +0300
commit286893d1f957da6ec315d1628b857f1d3dbce3c0 (patch)
tree11a0415f0824246b891f1f7cd50a9cfe356867ae /webtorrent.min.js
parent5ccae9605b6b696a48ea3263c9124160a4e4e76f (diff)
build
Diffstat (limited to 'webtorrent.min.js')
-rw-r--r--webtorrent.min.js2
1 files changed, 1 insertions, 1 deletions
diff --git a/webtorrent.min.js b/webtorrent.min.js
index 1607068..11c18a6 100644
--- a/webtorrent.min.js
+++ b/webtorrent.min.js
@@ -1 +1 @@
-!function(t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):("undefined"==typeof window?"undefined"==typeof global?"undefined"==typeof self?this:self:global:window).WebTorrent=t()}(function(){var eo=Math.ceil,to=Math.max,no=Math.pow,ro=String.fromCharCode,oo=Math.abs,ao=Math.min,io=Math.floor;function tt(){this._events&&Object.prototype.hasOwnProperty.call(this,"_events")||(this._events=c(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0}function v(t){return void 0===t._maxListeners?tt.defaultMaxListeners:t._maxListeners}function C(d,e,t,n){var r,l,u;if("function"!=typeof t)throw new TypeError("\"listener\" argument must be a function");if((l=d._events)?(l.newListener&&(d.emit("newListener",e,t.listener?t.listener:t),l=d._events),u=l[e]):(l=d._events=c(null),d._eventsCount=0),!u)u=l[e]=t,++d._eventsCount;else if("function"==typeof u?u=l[e]=n?[t,u]:[u,t]:n?u.unshift(t):u.push(t),!u.warned&&(r=v(d))&&0<r&&u.length>r){u.warned=!0;var f=new Error("Possible EventEmitter memory leak detected. "+u.length+" \""+(e+"\" listeners added. Use emitter.setMaxListeners() to increase limit."));f.name="MaxListenersExceededWarning",f.emitter=d,f.type=e,f.count=u.length,"object"==typeof console&&console.warn&&console.warn("%s: %s",f.name,f.message)}return d}function x(){if(!this.fired)switch(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length){case 0:return this.listener.call(this.target);case 1:return this.listener.call(this.target,arguments[0]);case 2:return this.listener.call(this.target,arguments[0],arguments[1]);case 3:return this.listener.call(this.target,arguments[0],arguments[1],arguments[2]);default:for(var n=Array(arguments.length),e=0;e<n.length;++e)n[e]=arguments[e];this.listener.apply(this.target,n);}}function T(o,e,t){var n={fired:!1,wrapFn:void 0,target:o,type:e,listener:t},r=s.call(x,n);return r.listener=t,n.wrapFn=r,r}function A(o,e,t){var n=o._events;if(!n)return[];var r=n[e];return r?"function"==typeof r?t?[r.listener||r]:[r]:t?function(r){for(var e=Array(r.length),t=0;t<e.length;++t)e[t]=r[t].listener||r[t];return e}(r):R(r,r.length):[]}function I(r){var e=this._events;if(e){var t=e[r];if("function"==typeof t)return 1;if(t)return t.length}return 0}function R(o,e){for(var t=Array(e),n=0;n<e;++n)t[n]=o[n];return t}function B(r){var e=r.length;if(0<e%4)throw new Error("Invalid string. Length must be a multiple of 4");var t=r.indexOf("=");return-1===t&&(t=e),[t,t===e?0:4-t%4]}function D(d,e,t){for(var n,a,l=[],s=e;s<t;s+=3)n=(16711680&d[s]<<16)+(65280&d[s+1]<<8)+(255&d[s+2]),l.push(w[63&(a=n)>>18]+w[63&a>>12]+w[63&a>>6]+w[63&a]);return l.join("")}function H(r,e){for(var t in r)e[t]=r[t]}function V(r,e,t){return z(r,e,t)}function G(o,e,t){var n=[],r=null;return G._encode(n,o),r=mo.concat(n),G.bytes=r.length,mo.isBuffer(e)?(r.copy(e,t),e):r}function J(d,e,t){for(var n,a=0,l=1,c=e;c<t;c++)if(n=d[c],58>n&&48<=n)a=10*a+(n-48);else if(c!==e||43!==n){if(c!==e||45!==n){if(46===n)break;throw new Error("not a number: buffer["+c+"] = "+n)}l=-1}return a*l}function ne(o,e,d,a){return null==o||0===o.length?null:("number"!=typeof e&&null==a&&(a=e,e=void 0),"number"!=typeof d&&null==a&&(a=d,d=void 0),ne.position=0,ne.encoding=a||null,ne.data=_o.isBuffer(o)?o.slice(e,d):_o.from(o),ne.bytes=ne.data.length,ne.next())}function re(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function he(){throw new Error("setTimeout has not been defined")}function _e(){throw new Error("clearTimeout has not been defined")}function ye(n){if(se===setTimeout)return setTimeout(n,0);if((se===he||!se)&&setTimeout)return se=setTimeout,setTimeout(n,0);try{return se(n,0)}catch(e){try{return se.call(null,n,0)}catch(e){return se.call(this,n,0)}}}function be(){ko&&me&&(ko=!1,me.length?So=me.concat(So):Eo=-1,So.length&&Se())}function Se(){if(!ko){var n=ye(be);ko=!0;for(var e=So.length;e;){for(me=So,So=[];++Eo<e;)me&&me[Eo].run();Eo=-1,e=So.length}me=null,ko=!1,function(n){if(bo===clearTimeout)return clearTimeout(n);if((bo===_e||!bo)&&clearTimeout)return bo=clearTimeout,clearTimeout(n);try{bo(n)}catch(e){try{return bo.call(null,n)}catch(e){return bo.call(this,n)}}}(n)}}function Ce(n,e){this.fun=n,this.array=e}function xe(){}function Te(o,d,e){e||(e=Error);var t=function(t){function e(e,n,r){return t.call(this,function(t,e,n){return"string"==typeof d?d:d(t,e,n)}(e,n,r))||this}var o,a;return a=t,(o=e).prototype=Object.create(a.prototype),o.prototype.constructor=o,o.__proto__=a,e}(e);t.prototype.name=e.name,t.prototype.code=o,Ie[o]=t}function Be(r,o){if(Array.isArray(r)){var t=r.length;return r=r.map(function(t){return t+""}),2<t?"one of ".concat(o," ").concat(r.slice(0,t-1).join(", "),", or ")+r[t-1]:2===t?"one of ".concat(o," ").concat(r[0]," or ").concat(r[1]):"of ".concat(o," ").concat(r[0])}return"of ".concat(o," ").concat(r+"")}function Le(r,e){for(var t in r)e[t]=r[t]}function qe(r,e,t){return De(r,e,t)}function Fe(o,e){var t=this._transformState;t.transforming=!1;var n=t.writecb;if(null===n)return this.emit("error",new $e);t.writechunk=null,t.writecb=null,null!=e&&this.push(e),n(o);var r=this._readableState;r.reading=!1,(r.needReadable||r.length<r.highWaterMark)&&this._read(r.highWaterMark)}function Je(t){return this instanceof Je?void(Ke.call(this,t),this._transformState={afterTransform:Fe.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,t&&("function"==typeof t.transform&&(this._transform=t.transform),"function"==typeof t.flush&&(this._flush=t.flush)),this.on("prefinish",Xe)):new Je(t)}function Xe(){var r=this;"function"!=typeof this._flush||this._readableState.destroyed?Ze(this,null,null):this._flush(function(e,t){Ze(r,e,t)})}function Ze(r,e,t){if(e)return r.emit("error",e);if(null!=t&&r.push(t),r._writableState.length)throw new Ge;if(r._transformState.transforming)throw new Ve;return r.push(null)}function Qe(t){return this instanceof Qe?void He.call(this,t):new Qe(t)}function nt(t){if(t)throw t}function ot(t){t()}function at(n,e){return n.pipe(e)}function ht(t){return bt(t)||wt(t)}function bt(t){return t instanceof Int8Array||t instanceof Int16Array||t instanceof Int32Array||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Uint16Array||t instanceof Uint32Array||t instanceof Float32Array||t instanceof Float64Array}function wt(t){return _t[Uo.call(t)]}function vt(t){return St.existsSync(t)&&St.statSync(t).isFile()}function Tt(r,e){var t=this;return t instanceof Tt?void(st.Readable.call(t,e),t.destroyed=!1,t._drained=!1,t._forwarding=!1,t._current=null,t._toStreams2=e&&e.objectMode?It:Bt,"function"==typeof r?t._queue=r:(t._queue=r.map(t._toStreams2),t._queue.forEach(function(n){"function"!=typeof n&&t._attachErrorListener(n)})),t._next()):new Tt(r,e)}function It(t){return Lt(t,{objectMode:!0,highWaterMark:16})}function Bt(t){return Lt(t)}function Lt(r,e){if(!r||"function"==typeof r||r._readableState)return r;var t=new st.Readable(e).wrap(r);return r.destroy&&(t.destroy=r.destroy.bind(r)),t}function Rt(n){var e=function(){return e.called?e.value:(e.called=!0,e.value=n.apply(this,arguments))};return e.called=!1,e}function Ut(r){var e=function(){if(e.called)throw new Error(e.onceError);return e.called=!0,e.value=r.apply(this,arguments)},t=r.name||"Function wrapped with `once`";return e.onceError=t+" shouldn't be called more than once",e.called=!1,e}function Pt(t){return Fo.digest(t)}function Nt(r,e){for(var t in r)e[t]=r[t]}function Gt(r,e,t){return rn(r,e,t)}function on(t){return!!t.constructor&&"function"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}function an(n,e){n.emit("error",e)}function ln(o,e){var t=this._transformState;t.transforming=!1;var n=t.writecb;if(!n)return this.emit("error",new Error("write callback called multiple times"));t.writechunk=null,t.writecb=null,null!=e&&this.push(e),n(o);var r=this._readableState;r.reading=!1,(r.needReadable||r.length<r.highWaterMark)&&this._read(r.highWaterMark)}function hn(t){return this instanceof hn?void(pn.call(this,t),this._transformState={afterTransform:ln.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,t&&("function"==typeof t.transform&&(this._transform=t.transform),"function"==typeof t.flush&&(this._flush=t.flush)),this.on("prefinish",mn)):new hn(t)}function mn(){var r=this;"function"==typeof this._flush?this._flush(function(e,t){_n(r,e,t)}):_n(this,null,null)}function _n(r,e,t){if(e)return r.emit("error",e);if(null!=t&&r.push(t),r._writableState.length)throw new Error("Calling transform done when ws.length != 0");if(r._transformState.transforming)throw new Error("Calling transform done when still transforming");return r.push(null)}function bn(t){return this instanceof bn?void fn.call(this,t):new bn(t)}function yn(n,e){return Object.prototype.hasOwnProperty.call(n,e)}function wn(o,e){if(o.map)return o.map(e);for(var t=[],n=0;n<o.length;n++)t.push(e(o[n],n));return t}function vn(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}function Bn(o,e,t){if(o&&Qo.isObject(o)&&o instanceof vn)return o;var n=new vn;return n.parse(o,e,t),n}function Mn(t){if("string"==typeof t&&(t=Nn.parse(t)),t.protocol||(t.protocol="https:"),"https:"!==t.protocol)throw new Error("Protocol \""+t.protocol+"\" not supported. Expected \"https:\"");return t}function Dn(n){let e=n>>3;return 0!=n%8&&e++,e}function Zn(){}function rr(t){return Lr(t,{objectMode:!0,highWaterMark:16})}function Er(t){return Lr(t)}function Lr(r,e){if(!r||"function"==typeof r||r._readableState)return r;var t=new st.Readable(e).wrap(r);return r.destroy&&(t.destroy=r.destroy.bind(r)),t}function Br(r,e){var o=this;if(!(o instanceof Br))return new Br(r,e);if(!wd)throw new Error("web browser lacks MediaSource support");e||(e={}),o._debug=e.debug,o._bufferDuration=e.bufferDuration||60,o._elem=r,o._mediaSource=new wd,o._streams=[],o.detailedError=null,o._errorHandler=function(){o._elem.removeEventListener("error",o._errorHandler),o._streams.slice().forEach(function(t){t.destroy(o._elem.error)})},o._elem.addEventListener("error",o._errorHandler),o._elem.src=window.URL.createObjectURL(o._mediaSource)}function Rr(r,e){var t=this;if(st.Writable.call(t),t._wrapper=r,t._elem=r._elem,t._mediaSource=r._mediaSource,t._allStreams=r._streams,t._allStreams.push(t),t._bufferDuration=r._bufferDuration,t._sourceBuffer=null,t._debugBuffers=[],t._openHandler=function(){t._onSourceOpen()},t._flowHandler=function(){t._flow()},t._errorHandler=function(n){t.destroyed||t.emit("error",n)},"string"==typeof e)t._type=e,"open"===t._mediaSource.readyState?t._createSourceBuffer():t._mediaSource.addEventListener("sourceopen",t._openHandler);else if(null===e._sourceBuffer)e.destroy(),t._type=e._type,t._mediaSource.addEventListener("sourceopen",t._openHandler);else{if(!e._sourceBuffer)throw new Error("The argument to MediaElementWrapper.createWriteStream must be a string or a previous stream returned from that function");e.destroy(),t._type=e._type,t._sourceBuffer=e._sourceBuffer,t._debugBuffers=e._debugBuffers,t._sourceBuffer.addEventListener("updateend",t._flowHandler),t._sourceBuffer.addEventListener("error",t._errorHandler)}t._elem.addEventListener("timeupdate",t._flowHandler),t.on("error",function(n){t._wrapper.error(n)}),t.on("finish",function(){if(!t.destroyed&&(t._finished=!0,t._allStreams.every(function(t){return t._finished}))){t._wrapper._dumpDebugData();try{t._mediaSource.endOfStream()}catch(e){}}})}function Ur(r,e,t={}){return this instanceof Ur?void(this.detailedError=null,this._elem=e,this._elemWrapper=new Qr(e),this._waitingFired=!1,this._trackMeta=null,this._file=r,this._tracks=null,"none"!==this._elem.preload&&this._createMuxer(),this._onError=()=>{this.detailedError=this._elemWrapper.detailedError,this.destroy()},this._onWaiting=()=>{this._waitingFired=!0,this._muxer?this._tracks&&this._pump():this._createMuxer()},e.autoplay&&(e.preload="auto"),e.addEventListener("waiting",this._onWaiting),e.addEventListener("error",this._onError)):(console.warn("don't invoked VideoStream without 'new'"),new Ur(r,e,t))}function Mr(p,f,e,g){function t(){return!("number"==typeof p.length&&p.length>e.maxBlobLength&&(Nd("File length too large for Blob URL approach: %d (max: %d)",p.length,e.maxBlobLength),d(new Error("File length too large for Blob URL approach: "+p.length+" (max: "+e.maxBlobLength+")")),1))}function n(e){t()&&(l=f(e),qr(p,function(n,e){return n?d(n):void(l.addEventListener("error",d),l.addEventListener("loadstart",a),l.addEventListener("canplay",c),l.src=e)}))}function a(){l.removeEventListener("loadstart",a),e.autoplay&&l.play()}function c(){l.removeEventListener("canplay",c),g(null,l)}function r(){qr(p,function(t,e){return t?d(t):void(".pdf"===u?((l=f("object")).setAttribute("typemustmatch",!0),l.setAttribute("type","application/pdf"),l.setAttribute("data",e)):((l=f("iframe")).sandbox="allow-forms allow-scripts",l.src=e),g(null,l))})}function d(e){e.message="Error rendering file \""+p.name+"\": "+e.message,Nd(e.message),g(e)}var l,u=pt.extname(p.name).toLowerCase(),s=0;0<=qd.indexOf(u)?function(){function o(){Nd("Use MediaSource API for "+p.name),e(),l.addEventListener("error",i),l.addEventListener("loadstart",a),l.addEventListener("canplay",c);var r,o=new Qr(l).createWriteStream((r=p.name,{".m4a":"audio/mp4; codecs=\"mp4a.40.5\"",".m4b":"audio/mp4; codecs=\"mp4a.40.5\"",".m4p":"audio/mp4; codecs=\"mp4a.40.5\"",".m4v":"video/mp4; codecs=\"avc1.640029, mp4a.40.5\"",".mkv":"video/webm; codecs=\"avc1.640029, mp4a.40.5\"",".mp3":"audio/mpeg",".mp4":"video/mp4; codecs=\"avc1.640029, mp4a.40.5\"",".webm":"video/webm; codecs=\"vorbis, vp8\""}[pt.extname(r).toLowerCase()]));p.createReadStream().pipe(o),s&&(l.currentTime=s)}function r(){Nd("Use Blob URL for "+p.name),e(),l.addEventListener("error",d),l.addEventListener("loadstart",a),l.addEventListener("canplay",c),qr(p,function(n,e){return n?d(n):void(l.src=e,s&&(l.currentTime=s))})}function i(n){Nd("MediaSource API error: fallback to Blob URL: %o",n.message||n),t()&&(l.removeEventListener("error",i),l.removeEventListener("canplay",c),r())}function e(){l||(l=f(h)).addEventListener("progress",function(){s=l.currentTime})}var h=0<=Dd.indexOf(u)?"video":"audio";Vd?0<=Hd.indexOf(u)?(Nd("Use `videostream` package for "+p.name),e(),l.addEventListener("error",function n(e){Nd("videostream error: fallback to MediaSource API: %o",e.message||e),l.removeEventListener("error",n),l.removeEventListener("canplay",c),o()}),l.addEventListener("loadstart",a),l.addEventListener("canplay",c),Md(p,l)):o():r()}():0<=Fd.indexOf(u)?n("video"):0<=Wd.indexOf(u)?n("audio"):0<=jd.indexOf(u)?(l=f("img"),qr(p,function(e,t){return e?d(e):void(l.src=t,l.alt=p.name,g(null,l))})):0<=zd.indexOf(u)?r():function(){Nd("Unknown file extension \"%s\" - will attempt to render into iframe",u);var n="";p.createReadStream({start:0,end:1e3}).setEncoding("utf8").on("data",function(t){n+=t}).on("end",function(){Zr(n)?(Nd("File extension \"%s\" appears ascii, so will render.",u),r()):(Nd("File extension \"%s\" appears non-ascii, will not render.",u),g(new Error("Unsupported file type \""+u+"\": Cannot append to DOM")))}).on("error",g)}()}function qr(r,e){var t=pt.extname(r.name).toLowerCase();Sd(r.createReadStream(),Od.mime[t],e)}function Fr(t){if(null==t)throw new Error("file cannot be null or undefined");if("string"!=typeof t.name)throw new Error("missing or invalid file.name property");if("function"!=typeof t.createReadStream)throw new Error("missing or invalid file.createReadStream property")}function Wr(t){null==t.autoplay&&(t.autoplay=!1),null==t.muted&&(t.muted=!1),null==t.controls&&(t.controls=!0),null==t.maxBlobLength&&(t.maxBlobLength=200000000)}var so=function(r){var e;return function(t){return e||r(e={exports:{},parent:t},e.exports),e.exports}},lo=so(function(n,o){(function(p){var g=co({}),m=o,r={moov:["mvhd","meta","traks","mvex"],trak:["tkhd","tref","trgr","edts","meta","mdia","udta"],edts:["elst"],mdia:["mdhd","hdlr","elng","minf"],minf:["vmhd","smhd","hmhd","sthd","nmhd","dinf","stbl"],dinf:["dref"],stbl:["stsd","stts","ctts","cslg","stsc","stsz","stz2","stco","co64","stss","stsh","padb","stdp","sdtp","sbgps","sgpds","subss","saizs","saios"],mvex:["mehd","trexs","leva"],moof:["mfhd","meta","trafs"],traf:["tfhd","tfdt","trun","sbgps","sgpds","subss","saizs","saios","meta"]};m.encode=function(e,t,o){return m.encodingLength(e),o=o||0,t=t||p.alloc(e.length),m._encode(e,t,o)},m._encode=function(d,i,e){var t=d.type,n=d.length;4294967295<n&&(n=1),i.writeUInt32BE(n,e),i.write(d.type,e+4,4,"ascii");var o=e+8;if(1===n&&(Cd.encode(d.length,i,o),o+=8),g.fullBoxes[t]&&(i.writeUInt32BE(d.flags||0,o),i.writeUInt8(d.version||0,o),o+=4),r[t])r[t].forEach(function(e){if(5===e.length){var t=d[e]||[];e=e.substr(0,4),t.forEach(function(t){m._encode(t,i,o),o+=m.encode.bytes})}else d[e]&&(m._encode(d[e],i,o),o+=m.encode.bytes)}),d.otherBoxes&&d.otherBoxes.forEach(function(t){m._encode(t,i,o),o+=m.encode.bytes});else if(g[t]){var s=g[t].encode;s(d,i,o),o+=s.bytes}else{if(!d.buffer)throw new Error("Either `type` must be set to a known type (not'"+t+"') or `buffer` must be set");d.buffer.copy(i,o),o+=d.buffer.length}return m.encode.bytes=o-e,i},m.readHeaders=function(r,e,d){if(e=e||0,8>(d=d||r.length)-e)return 8;var l,c,u=r.readUInt32BE(e),f=r.toString("ascii",e+4,e+8),a=e+8;if(1===u){if(16>d-e)return 16;u=Cd.decode(r,a),a+=8}return g.fullBoxes[f]&&(l=r.readUInt8(a),c=16777215&r.readUInt32BE(a),a+=4),{length:u,headersLen:a-e,contentLen:u-(a-e),type:f,version:l,flags:c}},m.decode=function(o,e,d){e=e||0,d=d||o.length;var a=m.readHeaders(o,e,d);if(!a||a.length>d-e)throw new Error("Data too short");return m.decodeWithoutHeaders(a,o,e+a.headersLen,e+a.length)},m.decodeWithoutHeaders=function(e,t,n,i){n=n||0,i=i||t.length;var s=e.type,h={};if(r[s]){h.otherBoxes=[];for(var _,b=r[s],u=n;8<=i-u;)if(_=m.decode(t,u,i),u+=_.length,0<=b.indexOf(_.type))h[_.type]=_;else if(0<=b.indexOf(_.type+"s")){var y=_.type+"s";(h[y]=h[y]||[]).push(_)}else h.otherBoxes.push(_)}else g[s]?h=(0,g[s].decode)(t,n,i):h.buffer=p.from(t.slice(n,i));return h.length=e.length,h.contentLen=e.contentLen,h.type=e.type,h.version=e.version,h.flags=e.flags,h},m.encodingLength=function(o){var e=o.type,d=8;if(g.fullBoxes[e]&&(d+=4),r[e])r[e].forEach(function(n){if(5===n.length){var e=o[n]||[];n=n.substr(0,4),e.forEach(function(t){t.type=n,d+=m.encodingLength(t)})}else if(o[n]){var r=o[n];r.type=n,d+=m.encodingLength(r)}}),o.otherBoxes&&o.otherBoxes.forEach(function(t){d+=m.encodingLength(t)});else if(g[e])d+=g[e].encodingLength(o);else{if(!o.buffer)throw new Error("Either `type` must be set to a known type (not'"+e+"') or `buffer` must be set");d+=o.buffer.length}return 4294967295<d&&(d+=8),o.length=d,d}}).call(this,p({}).Buffer)}),co=so(function(t,m){(function(_){function e(o,e,t){for(var n=e;n<t;n++)o[n]=0}function n(r,e,t){e.writeUInt32BE(io((r.getTime()+2082844800000)/1e3),t)}function o(r,e,t){e.writeUIntBE(io((r.getTime()+2082844800000)/1e3),t,6)}function b(r,e,t){e.writeUInt16BE(io(r)%65536,t),e.writeUInt16BE(io(256*(256*r))%65536,t+2)}function a(o,d,t){o||(o=[0,0,0,0,0,0,0,0,0]);for(var n=0;n<o.length;n++)b(o[n],d,t+4*n)}function i(r){for(var e=Array(r.length/4),t=0;t<e.length;t++)e[t]=l(r,4*t);return e}function s(n,e){return new Date(1e3*n.readUIntBE(e,6)-2082844800000)}function d(n,e){return new Date(1e3*n.readUInt32BE(e)-2082844800000)}function l(n,e){return n.readUInt16BE(e)+n.readUInt16BE(e+2)/65536}function c(n,e){return n[e]+n[e+1]/256}function u(o,e,t){var n;for(n=0;n<t&&0!==o[e+n];n++);return o.toString("utf8",e,e+n)}var f=lo({});m.fullBoxes={},["mvhd","tkhd","mdhd","vmhd","smhd","stsd","esds","stsz","stco","co64","stss","stts","ctts","stsc","dref","elst","hdlr","mehd","trex","mfhd","tfhd","tfdt","trun"].forEach(function(t){m.fullBoxes[t]=!0}),m.ftyp={},m.ftyp.encode=function(e,t,n){t=t?t.slice(n):_.alloc(m.ftyp.encodingLength(e));var d=e.compatibleBrands||[];t.write(e.brand,0,4,"ascii"),t.writeUInt32BE(e.brandVersion,4);for(var a=0;a<d.length;a++)t.write(d[a],8+4*a,4,"ascii");return m.ftyp.encode.bytes=8+4*d.length,t},m.ftyp.decode=function(o,d){for(var t=(o=o.slice(d)).toString("ascii",0,4),n=o.readUInt32BE(4),r=[],a=8;a<o.length;a+=4)r.push(o.toString("ascii",a,a+4));return{brand:t,brandVersion:n,compatibleBrands:r}},m.ftyp.encodingLength=function(t){return 8+4*(t.compatibleBrands||[]).length},m.mvhd={},m.mvhd.encode=function(o,t,d){return t=t?t.slice(d):_.alloc(96),n(o.ctime||new Date,t,0),n(o.mtime||new Date,t,4),t.writeUInt32BE(o.timeScale||0,8),t.writeUInt32BE(o.duration||0,12),b(o.preferredRate||0,t,16),function(n,e){e[20]=io(n)%256,e[21]=io(256*n)%256}(o.preferredVolume||0,t),e(t,22,32),a(o.matrix,t,32),t.writeUInt32BE(o.previewTime||0,68),t.writeUInt32BE(o.previewDuration||0,72),t.writeUInt32BE(o.posterTime||0,76),t.writeUInt32BE(o.selectionTime||0,80),t.writeUInt32BE(o.selectionDuration||0,84),t.writeUInt32BE(o.currentTime||0,88),t.writeUInt32BE(o.nextTrackId||0,92),m.mvhd.encode.bytes=96,t},m.mvhd.decode=function(n,r){return{ctime:d(n=n.slice(r),0),mtime:d(n,4),timeScale:n.readUInt32BE(8),duration:n.readUInt32BE(12),preferredRate:l(n,16),preferredVolume:c(n,20),matrix:i(n.slice(32,68)),previewTime:n.readUInt32BE(68),previewDuration:n.readUInt32BE(72),posterTime:n.readUInt32BE(76),selectionTime:n.readUInt32BE(80),selectionDuration:n.readUInt32BE(84),currentTime:n.readUInt32BE(88),nextTrackId:n.readUInt32BE(92)}},m.mvhd.encodingLength=function(){return 96},m.tkhd={},m.tkhd.encode=function(o,t,d){return t=t?t.slice(d):_.alloc(80),n(o.ctime||new Date,t,0),n(o.mtime||new Date,t,4),t.writeUInt32BE(o.trackId||0,8),e(t,12,16),t.writeUInt32BE(o.duration||0,16),e(t,20,28),t.writeUInt16BE(o.layer||0,28),t.writeUInt16BE(o.alternateGroup||0,30),t.writeUInt16BE(o.volume||0,32),a(o.matrix,t,36),t.writeUInt32BE(o.trackWidth||0,72),t.writeUInt32BE(o.trackHeight||0,76),m.tkhd.encode.bytes=80,t},m.tkhd.decode=function(n,r){return{ctime:d(n=n.slice(r),0),mtime:d(n,4),trackId:n.readUInt32BE(8),duration:n.readUInt32BE(16),layer:n.readUInt16BE(28),alternateGroup:n.readUInt16BE(30),volume:n.readUInt16BE(32),matrix:i(n.slice(36,72)),trackWidth:n.readUInt32BE(72),trackHeight:n.readUInt32BE(76)}},m.tkhd.encodingLength=function(){return 80},m.mdhd={},m.mdhd.encode=function(e,t,d){return 1===e.version?(t=t?t.slice(d):_.alloc(32),o(e.ctime||new Date,t,0),o(e.mtime||new Date,t,8),t.writeUInt32BE(e.timeScale||0,16),t.writeUIntBE(e.duration||0,20,6),t.writeUInt16BE(e.language||0,28),t.writeUInt16BE(e.quality||0,30),m.mdhd.encode.bytes=32,t):(t=t?t.slice(d):_.alloc(20),n(e.ctime||new Date,t,0),n(e.mtime||new Date,t,4),t.writeUInt32BE(e.timeScale||0,8),t.writeUInt32BE(e.duration||0,12),t.writeUInt16BE(e.language||0,16),t.writeUInt16BE(e.quality||0,18),m.mdhd.encode.bytes=20,t)},m.mdhd.decode=function(r,o,t){return r=r.slice(o),20==t-o?{ctime:d(r,0),mtime:d(r,4),timeScale:r.readUInt32BE(8),duration:r.readUInt32BE(12),language:r.readUInt16BE(16),quality:r.readUInt16BE(18)}:{ctime:s(r,0),mtime:s(r,8),timeScale:r.readUInt32BE(16),duration:r.readUIntBE(20,6),language:r.readUInt16BE(28),quality:r.readUInt16BE(30)}},m.mdhd.encodingLength=function(t){return 1===t.version?32:20},m.vmhd={},m.vmhd.encode=function(e,t,n){(t=t?t.slice(n):_.alloc(8)).writeUInt16BE(e.graphicsMode||0,0);var o=e.opcolor||[0,0,0];return t.writeUInt16BE(o[0],2),t.writeUInt16BE(o[1],4),t.writeUInt16BE(o[2],6),m.vmhd.encode.bytes=8,t},m.vmhd.decode=function(n,r){return{graphicsMode:(n=n.slice(r)).readUInt16BE(0),opcolor:[n.readUInt16BE(2),n.readUInt16BE(4),n.readUInt16BE(6)]}},m.vmhd.encodingLength=function(){return 8},m.smhd={},m.smhd.encode=function(n,t,o){return(t=t?t.slice(o):_.alloc(4)).writeUInt16BE(n.balance||0,0),e(t,2,4),m.smhd.encode.bytes=4,t},m.smhd.decode=function(n,r){return{balance:(n=n.slice(r)).readUInt16BE(0)}},m.smhd.encodingLength=function(){return 4},m.stsd={},m.stsd.encode=function(e,t,n){t=t?t.slice(n):_.alloc(m.stsd.encodingLength(e));var r=e.entries||[];t.writeUInt32BE(r.length,0);for(var o,d=4,s=0;s<r.length;s++)o=r[s],f.encode(o,t,d),d+=f.encode.bytes;return m.stsd.encode.bytes=d,t},m.stsd.decode=function(r,d,t){for(var n,l=(r=r.slice(d)).readUInt32BE(0),i=Array(l),s=4,c=0;c<l;c++)n=f.decode(r,s,t),i[c]=n,s+=n.length;return{entries:i}},m.stsd.encodingLength=function(r){var e=4;if(!r.entries)return e;for(var o=0;o<r.entries.length;o++)e+=f.encodingLength(r.entries[o]);return e},m.avc1=m.VisualSampleEntry={},m.VisualSampleEntry.encode=function(n,t,r){e(t=t?t.slice(r):_.alloc(m.VisualSampleEntry.encodingLength(n)),0,6),t.writeUInt16BE(n.dataReferenceIndex||0,6),e(t,8,24),t.writeUInt16BE(n.width||0,24),t.writeUInt16BE(n.height||0,26),t.writeUInt32BE(n.hResolution||4718592,28),t.writeUInt32BE(n.vResolution||4718592,32),e(t,36,40),t.writeUInt16BE(n.frameCount||1,40);var o=n.compressorName||"",d=ao(o.length,31);t.writeUInt8(d,42),t.write(o,43,d,"utf8"),t.writeUInt16BE(n.depth||24,74),t.writeInt16BE(-1,76);var a=78;(n.children||[]).forEach(function(n){f.encode(n,t,a),a+=f.encode.bytes}),m.VisualSampleEntry.encode.bytes=a},m.VisualSampleEntry.decode=function(r,d,t){r=r.slice(d);for(var n,l=t-d,i=ao(r.readUInt8(42),31),s={dataReferenceIndex:r.readUInt16BE(6),width:r.readUInt16BE(24),height:r.readUInt16BE(26),hResolution:r.readUInt32BE(28),vResolution:r.readUInt32BE(32),frameCount:r.readUInt16BE(40),compressorName:r.toString("utf8",43,43+i),depth:r.readUInt16BE(74),children:[]},o=78;8<=l-o;)n=f.decode(r,o,l),s.children.push(n),s[n.type]=n,o+=n.length;return s},m.VisualSampleEntry.encodingLength=function(n){var r=78;return(n.children||[]).forEach(function(t){r+=f.encodingLength(t)}),r},m.avcC={},m.avcC.encode=function(e,t,n){t=t?t.slice(n):_.alloc(e.buffer.length),e.buffer.copy(t),m.avcC.encode.bytes=e.buffer.length},m.avcC.decode=function(e,o,n){return{mimeCodec:(e=e.slice(o,n)).toString("hex",1,4),buffer:_.from(e)}},m.avcC.encodingLength=function(t){return t.buffer.length},m.mp4a=m.AudioSampleEntry={},m.AudioSampleEntry.encode=function(n,t,r){e(t=t?t.slice(r):_.alloc(m.AudioSampleEntry.encodingLength(n)),0,6),t.writeUInt16BE(n.dataReferenceIndex||0,6),e(t,8,16),t.writeUInt16BE(n.channelCount||2,16),t.writeUInt16BE(n.sampleSize||16,18),e(t,20,24),t.writeUInt32BE(n.sampleRate||0,24);var o=28;(n.children||[]).forEach(function(n){f.encode(n,t,o),o+=f.encode.bytes}),m.AudioSampleEntry.encode.bytes=o},m.AudioSampleEntry.decode=function(r,d,t){for(var n,l=t-d,i={dataReferenceIndex:(r=r.slice(d,t)).readUInt16BE(6),channelCount:r.readUInt16BE(16),sampleSize:r.readUInt16BE(18),sampleRate:r.readUInt32BE(24),children:[]},s=28;8<=l-s;)n=f.decode(r,s,l),i.children.push(n),i[n.type]=n,s+=n.length;return i},m.AudioSampleEntry.encodingLength=function(n){var r=28;return(n.children||[]).forEach(function(t){r+=f.encodingLength(t)}),r},m.esds={},m.esds.encode=function(e,t,n){t=t?t.slice(n):_.alloc(e.buffer.length),e.buffer.copy(t,0),m.esds.encode.bytes=e.buffer.length},m.esds.decode=function(e,d,n){e=e.slice(d,n);var r=Ld.Descriptor.decode(e,0,e.length),i=("ESDescriptor"===r.tagName?r:{}).DecoderConfigDescriptor||{},s=i.oti||0,o=i.DecoderSpecificInfo,a=o?(248&o.buffer.readUInt8(0))>>3:0,l=null;return s&&(l=s.toString(16),a&&(l+="."+a)),{mimeCodec:l,buffer:_.from(e.slice(0))}},m.esds.encodingLength=function(t){return t.buffer.length},m.stsz={},m.stsz.encode=function(e,t,n){var d=e.entries||[];(t=t?t.slice(n):_.alloc(m.stsz.encodingLength(e))).writeUInt32BE(0,0),t.writeUInt32BE(d.length,4);for(var a=0;a<d.length;a++)t.writeUInt32BE(d[a],4*a+8);return m.stsz.encode.bytes=8+4*d.length,t},m.stsz.decode=function(o,d){for(var t=(o=o.slice(d)).readUInt32BE(0),n=o.readUInt32BE(4),r=Array(n),a=0;a<n;a++)r[a]=0===t?o.readUInt32BE(4*a+8):t;return{entries:r}},m.stsz.encodingLength=function(t){return 8+4*t.entries.length},m.stss=m.stco={},m.stco.encode=function(e,t,n){var d=e.entries||[];(t=t?t.slice(n):_.alloc(m.stco.encodingLength(e))).writeUInt32BE(d.length,0);for(var a=0;a<d.length;a++)t.writeUInt32BE(d[a],4*a+4);return m.stco.encode.bytes=4+4*d.length,t},m.stco.decode=function(o,d){for(var t=(o=o.slice(d)).readUInt32BE(0),n=Array(t),r=0;r<t;r++)n[r]=o.readUInt32BE(4*r+4);return{entries:n}},m.stco.encodingLength=function(t){return 4+4*t.entries.length},m.co64={},m.co64.encode=function(e,t,n){var d=e.entries||[];(t=t?t.slice(n):_.alloc(m.co64.encodingLength(e))).writeUInt32BE(d.length,0);for(var a=0;a<d.length;a++)Cd.encode(d[a],t,8*a+4);return m.co64.encode.bytes=4+8*d.length,t},m.co64.decode=function(o,d){for(var t=(o=o.slice(d)).readUInt32BE(0),n=Array(t),r=0;r<t;r++)n[r]=Cd.decode(o,8*r+4);return{entries:n}},m.co64.encodingLength=function(t){return 4+8*t.entries.length},m.stts={},m.stts.encode=function(e,t,n){var d=e.entries||[];(t=t?t.slice(n):_.alloc(m.stts.encodingLength(e))).writeUInt32BE(d.length,0);for(var i,s=0;s<d.length;s++)i=8*s+4,t.writeUInt32BE(d[s].count||0,i),t.writeUInt32BE(d[s].duration||0,i+4);return m.stts.encode.bytes=4+8*e.entries.length,t},m.stts.decode=function(o,d){for(var t,a=(o=o.slice(d)).readUInt32BE(0),n=Array(a),r=0;r<a;r++)t=8*r+4,n[r]={count:o.readUInt32BE(t),duration:o.readUInt32BE(t+4)};return{entries:n}},m.stts.encodingLength=function(t){return 4+8*t.entries.length},m.ctts={},m.ctts.encode=function(e,t,n){var d=e.entries||[];(t=t?t.slice(n):_.alloc(m.ctts.encodingLength(e))).writeUInt32BE(d.length,0);for(var i,s=0;s<d.length;s++)i=8*s+4,t.writeUInt32BE(d[s].count||0,i),t.writeUInt32BE(d[s].compositionOffset||0,i+4);return m.ctts.encode.bytes=4+8*d.length,t},m.ctts.decode=function(o,d){for(var t,a=(o=o.slice(d)).readUInt32BE(0),n=Array(a),r=0;r<a;r++)t=8*r+4,n[r]={count:o.readUInt32BE(t),compositionOffset:o.readInt32BE(t+4)};return{entries:n}},m.ctts.encodingLength=function(t){return 4+8*t.entries.length},m.stsc={},m.stsc.encode=function(e,t,n){var d=e.entries||[];(t=t?t.slice(n):_.alloc(m.stsc.encodingLength(e))).writeUInt32BE(d.length,0);for(var i,s=0;s<d.length;s++)i=12*s+4,t.writeUInt32BE(d[s].firstChunk||0,i),t.writeUInt32BE(d[s].samplesPerChunk||0,i+4),t.writeUInt32BE(d[s].sampleDescriptionId||0,i+8);return m.stsc.encode.bytes=4+12*d.length,t},m.stsc.decode=function(o,d){for(var t,a=(o=o.slice(d)).readUInt32BE(0),n=Array(a),r=0;r<a;r++)t=12*r+4,n[r]={firstChunk:o.readUInt32BE(t),samplesPerChunk:o.readUInt32BE(t+4),sampleDescriptionId:o.readUInt32BE(t+8)};return{entries:n}},m.stsc.encodingLength=function(t){return 4+12*t.entries.length},m.dref={},m.dref.encode=function(e,t,n){t=t?t.slice(n):_.alloc(m.dref.encodingLength(e));var d=e.entries||[];t.writeUInt32BE(d.length,0);for(var i=4,s=0;s<d.length;s++){var l=d[s],u=(l.buf?l.buf.length:0)+4+4;t.writeUInt32BE(u,i),i+=4,t.write(l.type,i,4,"ascii"),i+=4,l.buf&&(l.buf.copy(t,i),i+=l.buf.length)}return m.dref.encode.bytes=i,t},m.dref.decode=function(d,l){for(var t=(d=d.slice(l)).readUInt32BE(0),n=Array(t),r=4,c=0;c<t;c++){var u=d.readUInt32BE(r),o=d.toString("ascii",r+4,r+8),a=d.slice(r+8,r+u);r+=u,n[c]={type:o,buf:a}}return{entries:n}},m.dref.encodingLength=function(o){var e=4;if(!o.entries)return e;for(var d,a=0;a<o.entries.length;a++)d=o.entries[a].buf,e+=(d?d.length:0)+4+4;return e},m.elst={},m.elst.encode=function(e,t,n){var d=e.entries||[];(t=t?t.slice(n):_.alloc(m.elst.encodingLength(e))).writeUInt32BE(d.length,0);for(var i,s=0;s<d.length;s++)i=12*s+4,t.writeUInt32BE(d[s].trackDuration||0,i),t.writeUInt32BE(d[s].mediaTime||0,i+4),b(d[s].mediaRate||0,t,i+8);return m.elst.encode.bytes=4+12*d.length,t},m.elst.decode=function(o,d){for(var t,a=(o=o.slice(d)).readUInt32BE(0),n=Array(a),r=0;r<a;r++)t=12*r+4,n[r]={trackDuration:o.readUInt32BE(t),mediaTime:o.readInt32BE(t+4),mediaRate:l(o,t+8)};return{entries:n}},m.elst.encodingLength=function(t){return 4+12*t.entries.length},m.hdlr={},m.hdlr.encode=function(e,t,n){t=t?t.slice(n):_.alloc(m.hdlr.encodingLength(e));var o=21+(e.name||"").length;return t.fill(0,0,o),t.write(e.handlerType||"",4,4,"ascii"),function(e,t){var n=_.from(e,"utf8");n.copy(t,20),t[20+n.length]=0}(e.name||"",t),m.hdlr.encode.bytes=o,t},m.hdlr.decode=function(r,o,t){return{handlerType:(r=r.slice(o)).toString("ascii",4,8),name:u(r,20,t)}},m.hdlr.encodingLength=function(t){return 21+(t.name||"").length},m.mehd={},m.mehd.encode=function(e,t,n){return(t=t?t.slice(n):_.alloc(4)).writeUInt32BE(e.fragmentDuration||0,0),m.mehd.encode.bytes=4,t},m.mehd.decode=function(n,r){return{fragmentDuration:(n=n.slice(r)).readUInt32BE(0)}},m.mehd.encodingLength=function(){return 4},m.trex={},m.trex.encode=function(e,t,n){return(t=t?t.slice(n):_.alloc(20)).writeUInt32BE(e.trackId||0,0),t.writeUInt32BE(e.defaultSampleDescriptionIndex||0,4),t.writeUInt32BE(e.defaultSampleDuration||0,8),t.writeUInt32BE(e.defaultSampleSize||0,12),t.writeUInt32BE(e.defaultSampleFlags||0,16),m.trex.encode.bytes=20,t},m.trex.decode=function(n,r){return{trackId:(n=n.slice(r)).readUInt32BE(0),defaultSampleDescriptionIndex:n.readUInt32BE(4),defaultSampleDuration:n.readUInt32BE(8),defaultSampleSize:n.readUInt32BE(12),defaultSampleFlags:n.readUInt32BE(16)}},m.trex.encodingLength=function(){return 20},m.mfhd={},m.mfhd.encode=function(e,t,n){return(t=t?t.slice(n):_.alloc(4)).writeUInt32BE(e.sequenceNumber||0,0),m.mfhd.encode.bytes=4,t},m.mfhd.decode=function(t){return{sequenceNumber:t.readUInt32BE(0)}},m.mfhd.encodingLength=function(){return 4},m.tfhd={},m.tfhd.encode=function(e,t,n){return(t=t?t.slice(n):_.alloc(4)).writeUInt32BE(e.trackId,0),m.tfhd.encode.bytes=4,t},m.tfhd.decode=function(){},m.tfhd.encodingLength=function(){return 4},m.tfdt={},m.tfdt.encode=function(e,t,n){return(t=t?t.slice(n):_.alloc(4)).writeUInt32BE(e.baseMediaDecodeTime||0,0),m.tfdt.encode.bytes=4,t},m.tfdt.decode=function(){},m.tfdt.encodingLength=function(){return 4},m.trun={},m.trun.encode=function(e,t,n){(t=t?t.slice(n):_.alloc(8+16*e.entries.length)).writeUInt32BE(e.entries.length,0),t.writeInt32BE(e.dataOffset,4);for(var d,i=8,l=0;l<e.entries.length;l++)d=e.entries[l],t.writeUInt32BE(d.sampleDuration,i),i+=4,t.writeUInt32BE(d.sampleSize,i),i+=4,t.writeUInt32BE(d.sampleFlags,i),i+=4,0===(e.version||0)?t.writeUInt32BE(d.sampleCompositionTimeOffset,i):t.writeInt32BE(d.sampleCompositionTimeOffset,i),i+=4;m.trun.encode.bytes=i},m.trun.decode=function(){},m.trun.encodingLength=function(t){return 8+16*t.entries.length},m.mdat={},m.mdat.encode=function(n,e,t){n.buffer?(n.buffer.copy(e,t),m.mdat.encode.bytes=n.buffer.length):m.mdat.encode.bytes=m.mdat.encodingLength(n)},m.mdat.decode=function(e,t,n){return{buffer:_.from(e.slice(t,n))}},m.mdat.encodingLength=function(t){return t.buffer?t.buffer.length:t.contentLength}}).call(this,p({}).Buffer)}),t=so(function(i){(function(_,e){"use strict";function t(r,d){r=r||{};var t=d instanceof(L=L||fo({}));this.objectMode=!!r.objectMode,t&&(this.objectMode=this.objectMode||!!r.readableObjectMode);var n=r.highWaterMark,o=r.readableHighWaterMark,a=this.objectMode?16:16384;this.highWaterMark=n||0===n?n:t&&(o||0===o)?o:a,this.highWaterMark=io(this.highWaterMark),this.buffer=new cn,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=r.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,r.encoding&&(I||(I=uo({}).StringDecoder),this.decoder=new I(r.encoding),this.encoding=r.encoding)}function n(r){return(L=L||fo({}),!(this instanceof n))?new n(r):void(this._readableState=new t(r,this),this.readable=!0,r&&("function"==typeof r.read&&(this._read=r.read),"function"==typeof r.destroy&&(this._destroy=r.destroy)),en.call(this))}function s(d,e,a,n,r){var i,c=d._readableState;return null===e?(c.reading=!1,function(r,e){if(!e.ended){if(e.decoder){var t=e.decoder.end();t&&t.length&&(e.buffer.push(t),e.length+=e.objectMode?1:t.length)}e.ended=!0,p(r)}}(d,c)):(r||(i=function(d,e){var t,a;return a=e,B.isBuffer(a)||a instanceof o||"string"==typeof e||void 0===e||d.objectMode||(t=new TypeError("Invalid non-string/buffer chunk")),t}(c,e)),i?d.emit("error",i):c.objectMode||e&&0<e.length?("string"==typeof e||c.objectMode||Object.getPrototypeOf(e)===B.prototype||(e=function(t){return B.from(t)}(e)),n?c.endEmitted?d.emit("error",new Error("stream.unshift() after end event")):l(d,c,e,!0):c.ended?d.emit("error",new Error("stream.push() after EOF")):(c.reading=!1,c.decoder&&!a?(e=c.decoder.write(e),c.objectMode||0!==e.length?l(d,c,e,!1):b(d,c)):l(d,c,e,!1))):n||(c.reading=!1)),function(t){return!t.ended&&(t.needReadable||t.length<t.highWaterMark||0===t.length)}(c)}function l(o,e,t,n){e.flowing&&0===e.length&&!e.sync?(o.emit("data",t),o.read(0)):(e.length+=e.objectMode?1:t.length,n?e.buffer.unshift(t):e.buffer.push(t),e.needReadable&&p(o)),b(o,e)}function f(n,e){return 0>=n||0===e.length&&e.ended?0:e.objectMode?1:n==n?(n>e.highWaterMark&&(e.highWaterMark=function(t){return t>=8388608?t=8388608:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(n)),n<=e.length?n:e.ended?e.length:(e.needReadable=!0,0)):e.flowing&&e.length?e.buffer.head.data.length:e.length}function p(n){var e=n._readableState;e.needReadable=!1,e.emittedReadable||(R("emitReadable",e.flowing),e.emittedReadable=!0,e.sync?Xt.nextTick(g,n):g(n))}function g(t){R("emit readable"),t.emit("readable"),S(t)}function b(n,e){e.readingMore||(e.readingMore=!0,Xt.nextTick(y,n,e))}function y(r,e){for(var t=e.length;!e.reading&&!e.flowing&&!e.ended&&e.length<e.highWaterMark&&(R("maybeReadMore read 0"),r.read(0),t!==e.length);)t=e.length;e.readingMore=!1}function w(t){R("readable nexttick read 0"),t.read(0)}function k(n,e){e.reading||(R("resume read 0"),n.read(0)),e.resumeScheduled=!1,e.awaitDrain=0,n.emit("resume"),S(n),e.flowing&&!e.reading&&n.read(0)}function S(n){var e=n._readableState;for(R("flow",e.flowing);e.flowing&&null!==n.read(););}function E(r,e){return 0===e.length?null:(e.objectMode?t=e.buffer.shift():!r||r>=e.length?(t=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.head.data:e.buffer.concat(e.length),e.buffer.clear()):t=function(o,e,t){var n;return o<e.head.data.length?(n=e.head.data.slice(0,o),e.head.data=e.head.data.slice(o)):n=o===e.head.data.length?e.shift():t?function(d,a){var t=a.head,l=1,c=t.data;for(d-=c.length;t=t.next;){var u=t.data,s=d>u.length?u.length:d;if(c+=s===u.length?u:u.slice(0,d),0==(d-=s)){s===u.length?(++l,a.head=t.next?t.next:a.tail=null):(a.head=t,t.data=u.slice(s));break}++l}return a.length-=l,c}(o,e):function(d,a){var t=B.allocUnsafe(d),n=a.head,l=1;for(n.data.copy(t),d-=n.data.length;n=n.next;){var c=n.data,s=d>c.length?c.length:d;if(c.copy(t,t.length-d,0,s),0==(d-=s)){s===c.length?(++l,a.head=n.next?n.next:a.tail=null):(a.head=n,n.data=c.slice(s));break}++l}return a.length-=l,t}(o,e),n}(r,e.buffer,e.decoder),t);var t}function v(n){var e=n._readableState;if(0<e.length)throw new Error("\"endReadable()\" called on non-empty stream");e.endEmitted||(e.ended=!0,Xt.nextTick(C,e,n))}function C(n,e){n.endEmitted||0!==n.length||(n.endEmitted=!0,e.readable=!1,e.emit("end"))}function x(o,e){for(var t=0,d=o.length;t<d;t++)if(o[t]===e)return t;return-1}var L;i.exports=n,n.ReadableState=t,m.EventEmitter;var T=function(n,e){return n.listeners(e).length},B=tn.Buffer,o=e.Uint8Array||function(){};sn.inherits=Me;var I,R;R=oe&&oe.debuglog?oe.debuglog("stream"):function(){},sn.inherits(n,en);var a=["error","close","destroy","pause","resume"];Object.defineProperty(n.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(t){this._readableState&&(this._readableState.destroyed=t)}}),n.prototype.destroy=dn.destroy,n.prototype._undestroy=dn.undestroy,n.prototype._destroy=function(n,e){this.push(null),e(n)},n.prototype.push=function(o,d){var a,i=this._readableState;return i.objectMode?a=!0:"string"==typeof o&&((d=d||i.defaultEncoding)!==i.encoding&&(o=B.from(o,d),d=""),a=!0),s(this,o,d,!1,a)},n.prototype.unshift=function(t){return s(this,t,null,!0,!1)},n.prototype.isPaused=function(){return!1===this._readableState.flowing},n.prototype.setEncoding=function(t){return I||(I=uo({}).StringDecoder),this._readableState.decoder=new I(t),this._readableState.encoding=t,this};n.prototype.read=function(o){R("read",o),o=parseInt(o,10);var d=this._readableState,t=o;if(0!==o&&(d.emittedReadable=!1),0===o&&d.needReadable&&(d.length>=d.highWaterMark||d.ended))return R("read: emitReadable",d.length,d.ended),0===d.length&&d.ended?v(this):p(this),null;if(0===(o=f(o,d))&&d.ended)return 0===d.length&&v(this),null;var n,a=d.needReadable;return R("need readable",a),(0===d.length||d.length-o<d.highWaterMark)&&R("length less than watermark",a=!0),d.ended||d.reading?R("reading or ended",a=!1):a&&(R("do read"),d.reading=!0,d.sync=!0,0===d.length&&(d.needReadable=!0),this._read(d.highWaterMark),d.sync=!1,d.reading||(o=f(t,d))),null===(n=0<o?E(o,d):null)?(d.needReadable=!0,o=0):d.length-=o,0===d.length&&(d.ended||(d.needReadable=!0),t!==o&&d.ended&&v(this)),null!==n&&this.emit("data",n),n},n.prototype._read=function(){this.emit("error",new Error("_read() is not implemented"))},n.prototype.pipe=function(o,e){function u(){R("onend"),o.end()}function a(e){R("ondata"),n=!1,!1!==o.write(e)||n||((1===r.pipesCount&&r.pipes===o||1<r.pipesCount&&-1!==x(r.pipes,o))&&!h&&(R("false write response, pause",m._readableState.awaitDrain),m._readableState.awaitDrain++,n=!0),m.pause())}function l(e){R("onerror",e),g(),o.removeListener("error",l),0===T(o,"error")&&o.emit("error",e)}function f(){o.removeListener("finish",p),g()}function p(){R("onfinish"),o.removeListener("close",f),g()}function g(){R("unpipe"),m.unpipe(o)}var m=this,r=this._readableState;switch(r.pipesCount){case 0:r.pipes=o;break;case 1:r.pipes=[r.pipes,o];break;default:r.pipes.push(o);}r.pipesCount+=1,R("pipe count=%d opts=%j",r.pipesCount,e);var t=e&&!1===e.end||o===_.stdout||o===_.stderr?g:u;r.endEmitted?Xt.nextTick(t):m.once("end",t),o.on("unpipe",function e(t,n){R("onunpipe"),t===m&&n&&!1===n.hasUnpiped&&(n.hasUnpiped=!0,R("cleanup"),o.removeListener("close",f),o.removeListener("finish",p),o.removeListener("drain",i),o.removeListener("error",l),o.removeListener("unpipe",e),m.removeListener("end",u),m.removeListener("end",g),m.removeListener("data",a),h=!0,!r.awaitDrain||o._writableState&&!o._writableState.needDrain||i())});var i=function(n){return function(){var e=n._readableState;R("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&T(n,"data")&&(e.flowing=!0,S(n))}}(m);o.on("drain",i);var h=!1,n=!1;return m.on("data",a),function(r,e,t){return"function"==typeof r.prependListener?r.prependListener("error",t):void(r._events&&r._events.error?Qt(r._events.error)?r._events.error.unshift(t):r._events.error=[t,r._events.error]:r.on("error",t))}(o,0,l),o.once("close",f),o.once("finish",p),o.emit("pipe",m),r.flowing||(R("pipe resume"),m.resume()),o},n.prototype.unpipe=function(d){var a=this._readableState,t={hasUnpiped:!1};if(0===a.pipesCount)return this;if(1===a.pipesCount)return d&&d!==a.pipes?this:(d||(d=a.pipes),a.pipes=null,a.pipesCount=0,a.flowing=!1,d&&d.emit("unpipe",this,t),this);if(!d){var n=a.pipes,r=a.pipesCount;a.pipes=null,a.pipesCount=0,a.flowing=!1;for(var i=0;i<r;i++)n[i].emit("unpipe",this,t);return this}var l=x(a.pipes,d);return-1===l?this:(a.pipes.splice(l,1),a.pipesCount-=1,1===a.pipesCount&&(a.pipes=a.pipes[0]),d.emit("unpipe",this,t),this)},n.prototype.on=function(o,e){var t=en.prototype.on.call(this,o,e);if("data"===o)!1!==this._readableState.flowing&&this.resume();else if("readable"===o){var n=this._readableState;n.endEmitted||n.readableListening||(n.readableListening=n.needReadable=!0,n.emittedReadable=!1,n.reading?n.length&&p(this):Xt.nextTick(w,this))}return t},n.prototype.addListener=n.prototype.on,n.prototype.resume=function(){var t=this._readableState;return t.flowing||(R("resume"),t.flowing=!0,function(n,e){e.resumeScheduled||(e.resumeScheduled=!0,Xt.nextTick(k,n,e))}(this,t)),this},n.prototype.pause=function(){return R("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(R("pause"),this._readableState.flowing=!1,this.emit("pause")),this},n.prototype.wrap=function(o){var d=this,t=this._readableState,e=!1;for(var n in o.on("end",function(){if(R("wrapped end"),t.decoder&&!t.ended){var n=t.decoder.end();n&&n.length&&d.push(n)}d.push(null)}),o.on("data",function(n){R("wrapped data"),t.decoder&&(n=t.decoder.write(n)),t.objectMode&&null==n||(t.objectMode||n&&n.length)&&(d.push(n)||(e=!0,o.pause()))}),o)void 0===this[n]&&"function"==typeof o[n]&&(this[n]=function(e){return function(){return o[e].apply(o,arguments)}}(n));for(var i=0;i<a.length;i++)o.on(a[i],this.emit.bind(this,a[i]));return this._read=function(n){R("wrapped _read",n),e&&(e=!1,o.resume())},this},Object.defineProperty(n.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),n._fromList=E}).call(this,pe,"undefined"==typeof global?"undefined"==typeof self?"undefined"==typeof window?{}:window:self:global)}),uo=so(function(f,e){"use strict";function t(r){var e;switch(this.encoding=function(r){var e=function(n){if(!n)return"utf8";for(var r;;)switch(n){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return n;default:if(r)return;n=(""+n).toLowerCase(),r=!0;}}(r);if("string"!=typeof e&&(l.isEncoding===n||!n(r)))throw new Error("Unknown encoding: "+r);return e||r}(r),this.encoding){case"utf16le":this.text=o,this.end=a,e=4;break;case"utf8":this.fillLast=i,e=4;break;case"base64":this.text=s,this.end=c,e=3;break;default:return this.write=u,void(this.end=d);}this.lastNeed=0,this.lastTotal=0,this.lastChar=l.allocUnsafe(e)}function p(t){return 127>=t?0:6==t>>5?2:14==t>>4?3:30==t>>3?4:2==t>>6?-1:-2}function i(r){var e=this.lastTotal-this.lastNeed,t=function(n,e){if(128!=(192&e[0]))return n.lastNeed=0,"\uFFFD";if(1<n.lastNeed&&1<e.length){if(128!=(192&e[1]))return n.lastNeed=1,"\uFFFD";if(2<n.lastNeed&&2<e.length&&128!=(192&e[2]))return n.lastNeed=2,"\uFFFD"}}(this,r);return void 0===t?this.lastNeed<=r.length?(r.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(r.copy(this.lastChar,e,0,r.length),void(this.lastNeed-=r.length)):t}function o(o,e){if(0==(o.length-e)%2){var t=o.toString("utf16le",e);if(t){var n=t.charCodeAt(t.length-1);if(55296<=n&&56319>=n)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=o[o.length-2],this.lastChar[1]=o[o.length-1],t.slice(0,-1)}return t}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=o[o.length-1],o.toString("utf16le",e,o.length-1)}function a(r){var e=r&&r.length?this.write(r):"";if(this.lastNeed){var t=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,t)}return e}function s(r,e){var t=(r.length-e)%3;return 0==t?r.toString("base64",e):(this.lastNeed=3-t,this.lastTotal=3,1==t?this.lastChar[0]=r[r.length-1]:(this.lastChar[0]=r[r.length-2],this.lastChar[1]=r[r.length-1]),r.toString("base64",e,r.length-t))}function c(n){var e=n&&n.length?this.write(n):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function u(t){return t.toString(this.encoding)}function d(t){return t&&t.length?this.write(t):""}var l=tn.Buffer,n=l.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1;}};e.StringDecoder=t,t.prototype.write=function(r){if(0===r.length)return"";var e,o;if(this.lastNeed){if(void 0===(e=this.fillLast(r)))return"";o=this.lastNeed,this.lastNeed=0}else o=0;return o<r.length?e?e+this.text(r,o):this.text(r,o):e||""},t.prototype.end=function(n){var e=n&&n.length?this.write(n):"";return this.lastNeed?e+"\uFFFD":e},t.prototype.text=function(o,e){var t=function(o,e,t){var n=e.length-1;if(n<t)return 0;var d=p(e[n]);return 0<=d?(0<d&&(o.lastNeed=d-1),d):--n<t||-2===d?0:0<=(d=p(e[n]))?(0<d&&(o.lastNeed=d-2),d):--n<t||-2===d?0:0<=(d=p(e[n]))?(0<d&&(2===d?d=0:o.lastNeed=d-3),d):0}(this,o,e);if(!this.lastNeed)return o.toString("utf8",e);this.lastTotal=t;var n=o.length-(t-this.lastNeed);return o.copy(this.lastChar,0,n),o.toString("utf8",e,n)},t.prototype.fillLast=function(t){return this.lastNeed<=t.length?(t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):void(t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length)}}),fo=so(function(o){"use strict";function f(t){return this instanceof f?void(n.call(this,t),i.call(this,t),t&&!1===t.readable&&(this.readable=!1),t&&!1===t.writable&&(this.writable=!1),this.allowHalfOpen=!0,t&&!1===t.allowHalfOpen&&(this.allowHalfOpen=!1),this.once("end",u)):new f(t)}function u(){this.allowHalfOpen||this._writableState.ended||Xt.nextTick(e,this)}function e(t){t.end()}var d=Object.keys||function(r){var e=[];for(var t in r)e.push(t);return e};o.exports=f,sn.inherits=Me;var n=t({}),i=r({});sn.inherits(f,n);for(var s,l=d(i.prototype),a=0;a<l.length;a++)s=l[a],f.prototype[s]||(f.prototype[s]=i.prototype[s]);Object.defineProperty(f.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(f.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&this._readableState.destroyed&&this._writableState.destroyed},set:function(t){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=t,this._writableState.destroyed=t)}}),f.prototype._destroy=function(n,e){this.push(null),this.end(),Xt.nextTick(e,n)}}),r=so(function(s){(function(e,t,n){"use strict";function S(n){var e=this;this.next=null,this.entry=null,this.finish=function(){!function(n,e){var t=n.entry;for(n.entry=null;t;){var o=t.callback;e.pendingcb--,o(void 0),t=t.next}e.corkedRequestsFree?e.corkedRequestsFree.next=n:e.corkedRequestsFree=n}(e,n)}}function k(){}function r(o,d){b=b||fo({}),o=o||{};var t=d instanceof b;this.objectMode=!!o.objectMode,t&&(this.objectMode=this.objectMode||!!o.writableObjectMode);var n=o.highWaterMark,r=o.writableHighWaterMark,a=this.objectMode?16:16384;this.highWaterMark=n||0===n?n:t&&(r||0===r)?r:a,this.highWaterMark=io(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var i=!1===o.decodeStrings;this.decodeStrings=!i,this.defaultEncoding=o.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(t){!function(o,e){var t=o._writableState,n=t.sync,r=t.writecb;if(function(t){t.writing=!1,t.writecb=null,t.length-=t.writelen,t.writelen=0}(t),e)!function(o,e,t,n,r){--e.pendingcb,t?(Xt.nextTick(r,n),Xt.nextTick(_,o,e),o._writableState.errorEmitted=!0,o.emit("error",n)):(r(n),o._writableState.errorEmitted=!0,o.emit("error",n),_(o,e))}(o,t,n,e,r);else{var d=g(t);d||t.corked||t.bufferProcessing||!t.bufferedRequest||p(o,t),n?y(f,o,t,d,r):f(o,t,d,r)}}(d,t)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new S(this)}function i(t){return(b=b||fo({}),!(a.call(i,this)||this instanceof b))?new i(t):void(this._writableState=new r(t,this),this.writable=!0,t&&("function"==typeof t.write&&(this._write=t.write),"function"==typeof t.writev&&(this._writev=t.writev),"function"==typeof t.destroy&&(this._destroy=t.destroy),"function"==typeof t.final&&(this._final=t.final)),en.call(this))}function l(d,e,t,n,r,a,i){e.writelen=n,e.writecb=i,e.writing=!0,e.sync=!0,t?d._writev(r,e.onwrite):d._write(r,a,e.onwrite),e.sync=!1}function f(o,e,t,n){t||function(n,e){0===e.length&&e.needDrain&&(e.needDrain=!1,n.emit("drain"))}(o,e),e.pendingcb--,n(),_(o,e)}function p(i,e){e.bufferProcessing=!0;var t=e.bufferedRequest;if(i._writev&&t&&t.next){var f=e.bufferedRequestCount,r=Array(f),s=e.corkedRequestsFree;s.entry=t;for(var o=0,p=!0;t;)r[o]=t,t.isBuf||(p=!1),t=t.next,o+=1;r.allBuffers=p,l(i,e,!0,e.length,r,"",s.finish),e.pendingcb++,e.lastBufferedRequest=null,s.next?(e.corkedRequestsFree=s.next,s.next=null):e.corkedRequestsFree=new S(e),e.bufferedRequestCount=0}else{for(;t;){var g=t.chunk,c=t.encoding,u=t.callback;if(l(i,e,!1,e.objectMode?1:g.length,g,c,u),t=t.next,e.bufferedRequestCount--,e.writing)break}null===t&&(e.lastBufferedRequest=null)}e.bufferedRequest=t,e.bufferProcessing=!1}function g(t){return t.ending&&0===t.length&&null===t.bufferedRequest&&!t.finished&&!t.writing}function m(r,e){r._final(function(t){e.pendingcb--,t&&r.emit("error",t),e.prefinished=!0,r.emit("prefinish"),_(r,e)})}function _(r,e){var t=g(e);return t&&(function(n,e){e.prefinished||e.finalCalled||("function"==typeof n._final?(e.pendingcb++,e.finalCalled=!0,Xt.nextTick(m,n,e)):(e.prefinished=!0,n.emit("prefinish")))}(r,e),0===e.pendingcb&&(e.finished=!0,r.emit("finish"))),t}s.exports=i;var b,y=!e.browser&&-1<["v0.10","v0.9."].indexOf(e.version.slice(0,5))?n:Xt.nextTick;i.WritableState=r,sn.inherits=Me;var a,w={deprecate:xo},c=tn.Buffer,u=t.Uint8Array||function(){};sn.inherits(i,en),r.prototype.getBuffer=function(){for(var n=this.bufferedRequest,r=[];n;)r.push(n),n=n.next;return r},function(){try{Object.defineProperty(r.prototype,"buffer",{get:w.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(t){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(a=Function.prototype[Symbol.hasInstance],Object.defineProperty(i,Symbol.hasInstance,{value:function(t){return!!a.call(this,t)||this===i&&t&&t._writableState instanceof r}})):a=function(t){return t instanceof this},i.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},i.prototype.write=function(d,a,f){var p,h=this._writableState,i=!1,g=!h.objectMode&&(p=d,c.isBuffer(p)||p instanceof u);return g&&!c.isBuffer(d)&&(d=function(t){return c.from(t)}(d)),"function"==typeof a&&(f=a,a=null),g?a="buffer":a||(a=h.defaultEncoding),"function"!=typeof f&&(f=k),h.ended?function(r,e){var t=new Error("write after end");r.emit("error",t),Xt.nextTick(e,t)}(this,f):(g||function(o,e,t,n){var r=!0,d=!1;return null===t?d=new TypeError("May not write null values to stream"):"string"==typeof t||void 0===t||e.objectMode||(d=new TypeError("Invalid non-string/buffer chunk")),d&&(o.emit("error",d),Xt.nextTick(n,d),r=!1),r}(this,h,d,f))&&(h.pendingcb++,i=function(d,e,t,u,f,p){if(!t){var s=function(r,e,o){return r.objectMode||!1===r.decodeStrings||"string"!=typeof e||(e=c.from(e,o)),e}(e,u,f);u!==s&&(t=!0,f="buffer",u=s)}var o=e.objectMode?1:u.length;e.length+=o;var a=e.length<e.highWaterMark;if(a||(e.needDrain=!0),e.writing||e.corked){var h=e.lastBufferedRequest;e.lastBufferedRequest={chunk:u,encoding:f,isBuf:t,callback:p,next:null},h?h.next=e.lastBufferedRequest:e.bufferedRequest=e.lastBufferedRequest,e.bufferedRequestCount+=1}else l(d,e,!1,o,u,f,p);return a}(this,h,g,d,a,f)),i},i.prototype.cork=function(){this._writableState.corked++},i.prototype.uncork=function(){var t=this._writableState;t.corked&&(t.corked--,t.writing||t.corked||t.finished||t.bufferProcessing||!t.bufferedRequest||p(this,t))},i.prototype.setDefaultEncoding=function(t){if("string"==typeof t&&(t=t.toLowerCase()),!(-1<["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((t+"").toLowerCase())))throw new TypeError("Unknown encoding: "+t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(i.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),i.prototype._write=function(r,e,t){t(new Error("_write() is not implemented"))},i.prototype._writev=null,i.prototype.end=function(o,d,a){var i=this._writableState;"function"==typeof o?(a=o,o=null,d=null):"function"==typeof d&&(a=d,d=null),null!=o&&this.write(o,d),i.corked&&(i.corked=1,this.uncork()),i.ending||i.finished||function(r,e,t){e.ending=!0,_(r,e),t&&(e.finished?Xt.nextTick(t):r.once("finish",t)),e.ended=!0,r.writable=!1}(this,i,a)},Object.defineProperty(i.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),i.prototype.destroy=dn.destroy,i.prototype._undestroy=dn.undestroy,i.prototype._destroy=function(n,e){this.end(),e(n)}}).call(this,pe,"undefined"==typeof global?"undefined"==typeof self?"undefined"==typeof window?{}:window:self:global,o({}).setImmediate)}),o=so(function(n,d){(function(t,e){function n(n,e){this._id=n,this._clearFn=e}var l=pe.nextTick,r=(Function.prototype.apply,Array.prototype.slice),i={},s=0;n.prototype.unref=n.prototype.ref=function(){},n.prototype.close=function(){this._clearFn.call(window,this._id)},d.setImmediate="function"==typeof t?t:function(t){var e=s++,n=!(2>arguments.length)&&r.call(arguments,1);return i[e]=!0,l(function(){i[e]&&(n?t.apply(null,n):t.call(null),d.clearImmediate(e))}),e},d.clearImmediate="function"==typeof e?e:function(t){delete i[t]}}).call(this,o({}).setImmediate,o({}).clearImmediate)}),a=so(function(t){var o=Math.round;function n(d,e,t,n){return o(d/t)+" "+n+(e>=1.5*t?"s":"")}t.exports=function(r,e){e=e||{};var d,i,s=typeof r;if("string"==s&&0<r.length)return function(n){if(!(100<(n=n+"").length)){var r=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(n);if(r){var t=parseFloat(r[1]);switch((r[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*t;case"weeks":case"week":case"w":return 6048e5*t;case"days":case"day":case"d":return t*86400000;case"hours":case"hour":case"hrs":case"hr":case"h":return t*3600000;case"minutes":case"minute":case"mins":case"min":case"m":return t*60000;case"seconds":case"second":case"secs":case"sec":case"s":return t*1000;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return t;default:}}}}(r);if("number"==s&&isFinite(r))return e.long?(d=r,86400000<=(i=oo(d))?n(d,i,86400000,"day"):3600000<=i?n(d,i,3600000,"hour"):60000<=i?n(d,i,60000,"minute"):1000<=i?n(d,i,1000,"second"):d+" ms"):function(n){var e=oo(n);return 86400000<=e?o(n/86400000)+"d":3600000<=e?o(n/3600000)+"h":60000<=e?o(n/60000)+"m":1000<=e?o(n/1000)+"s":n+"ms"}(r);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(r))}}),e=so(function(t){t.exports=function(n,e,t){for(var r,d,l,u=1/0,f=0,p=e.length-1;f<=p&&(0>(l=e[r=f+(p-f>>1)]-n)?f=r+1:0<l&&(p=r-1),(l=oo(l))<u&&(u=l,d=r),e[r]!==n););return t?d:e[d]}}),po=so(function(f){(function(_,e){"use strict";function n(r,o,t){H=H||l({}),r=r||{},"boolean"!=typeof t&&(t=o instanceof H),this.objectMode=!!r.objectMode,t&&(this.objectMode=this.objectMode||!!r.readableObjectMode),this.highWaterMark=W(this,r,"readableHighWaterMark",t),this.buffer=new fe,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==r.emitClose,this.destroyed=!1,this.defaultEncoding=r.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,r.encoding&&(a||(a=d({}).StringDecoder),this.decoder=new a(r.encoding),this.encoding=r.encoding)}function k(r){if(H=H||l({}),!(this instanceof k))return new k(r);var e=this instanceof H;this._readableState=new n(r,this,e),this.readable=!0,r&&("function"==typeof r.read&&(this._read=r.read),"function"==typeof r.destroy&&(this._destroy=r.destroy)),yo.call(this)}function S(d,e,a,n,r){D("readableAddChunk",e);var i,s=d._readableState;if(null===e)s.reading=!1,function(r,e){if(!e.ended){if(e.decoder){var t=e.decoder.end();t&&t.length&&(e.buffer.push(t),e.length+=e.objectMode?1:t.length)}e.ended=!0,e.sync?T(r):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,I(r)))}}(d,s);else if(r||(i=function(d,e){var t,a;return a=e,F.isBuffer(a)||a instanceof o||"string"==typeof e||void 0===e||d.objectMode||(t=new j("chunk",["string","Buffer","Uint8Array"],e)),t}(s,e)),i)d.emit("error",i);else if(!(s.objectMode||e&&0<e.length))n||(s.reading=!1,R(d,s));else if("string"==typeof e||s.objectMode||Object.getPrototypeOf(e)===F.prototype||(e=function(t){return F.from(t)}(e)),n)s.endEmitted?d.emit("error",new b):C(d,s,e,!0);else if(s.ended)d.emit("error",new g);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!a?(e=s.decoder.write(e),s.objectMode||0!==e.length?C(d,s,e,!1):R(d,s)):C(d,s,e,!1)}return!s.ended&&(s.length<s.highWaterMark||0===s.length)}function C(o,e,t,n){e.flowing&&0===e.length&&!e.sync?(e.awaitDrain=0,o.emit("data",t)):(e.length+=e.objectMode?1:t.length,n?e.buffer.unshift(t):e.buffer.push(t),e.needReadable&&T(o)),R(o,e)}function x(n,e){return 0>=n||0===e.length&&e.ended?0:e.objectMode?1:n==n?(n>e.highWaterMark&&(e.highWaterMark=function(t){return t>=8388608?t=8388608:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(n)),n<=e.length?n:e.ended?e.length:(e.needReadable=!0,0)):e.flowing&&e.length?e.buffer.head.data.length:e.length}function T(t){var e=t._readableState;e.needReadable=!1,e.emittedReadable||(D("emitReadable",e.flowing),e.emittedReadable=!0,_.nextTick(I,t))}function I(n){var e=n._readableState;D("emitReadable_",e.destroyed,e.length,e.ended),!e.destroyed&&(e.length||e.ended)&&n.emit("readable"),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,U(n)}function R(r,e){e.readingMore||(e.readingMore=!0,_.nextTick(t,r,e))}function t(r,e){for(;!e.reading&&!e.ended&&(e.length<e.highWaterMark||e.flowing&&0===e.length);){var t=e.length;if(D("maybeReadMore read 0"),r.read(0),t===e.length)break}e.readingMore=!1}function L(n){var e=n._readableState;e.readableListening=0<n.listenerCount("readable"),e.resumeScheduled&&!e.paused?e.flowing=!0:0<n.listenerCount("data")&&n.resume()}function B(t){D("readable nexttick read 0"),t.read(0)}function A(n,e){D("resume",e.reading),e.reading||n.read(0),e.resumeScheduled=!1,n.emit("resume"),U(n),e.flowing&&!e.reading&&n.read(0)}function U(n){var e=n._readableState;for(D("flow",e.flowing);e.flowing&&null!==n.read(););}function P(r,e){return 0===e.length?null:(e.objectMode?t=e.buffer.shift():!r||r>=e.length?(t=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.first():e.buffer.concat(e.length),e.buffer.clear()):t=e.buffer.consume(r,e.decoder),t);var t}function M(t){var e=t._readableState;D("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,_.nextTick(O,e,t))}function O(n,e){D("endReadableNT",n.endEmitted,n.length),n.endEmitted||0!==n.length||(n.endEmitted=!0,e.readable=!1,e.emit("end"))}function N(o,e){for(var t=0,d=o.length;t<d;t++)if(o[t]===e)return t;return-1}var H;f.exports=k,k.ReadableState=n,m.EventEmitter;var D,q=function(n,e){return n.listeners(e).length},F=p({}).Buffer,o=e.Uint8Array||function(){};D=oe&&oe.debuglog?oe.debuglog("stream"):function(){};var a,s,W=Ue.getHighWaterMark,u=Co.codes,j=u.ERR_INVALID_ARG_TYPE,g=u.ERR_STREAM_PUSH_AFTER_EOF,y=u.ERR_METHOD_NOT_IMPLEMENTED,b=u.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,w=Oe.emitExperimentalWarning;Me(k,yo);var v=["error","close","destroy","pause","resume"];Object.defineProperty(k.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(t){this._readableState&&(this._readableState.destroyed=t)}}),k.prototype.destroy=vo.destroy,k.prototype._undestroy=vo.undestroy,k.prototype._destroy=function(n,e){e(n)},k.prototype.push=function(o,d){var a,i=this._readableState;return i.objectMode?a=!0:"string"==typeof o&&((d=d||i.defaultEncoding)!==i.encoding&&(o=F.from(o,d),d=""),a=!0),S(this,o,d,!1,a)},k.prototype.unshift=function(t){return S(this,t,null,!0,!1)},k.prototype.isPaused=function(){return!1===this._readableState.flowing},k.prototype.setEncoding=function(t){return a||(a=d({}).StringDecoder),this._readableState.decoder=new a(t),this._readableState.encoding=this._readableState.decoder.encoding,this};k.prototype.read=function(o){D("read",o),o=parseInt(o,10);var d=this._readableState,t=o;if(0!==o&&(d.emittedReadable=!1),0===o&&d.needReadable&&((0===d.highWaterMark?0<d.length:d.length>=d.highWaterMark)||d.ended))return D("read: emitReadable",d.length,d.ended),0===d.length&&d.ended?M(this):T(this),null;if(0===(o=x(o,d))&&d.ended)return 0===d.length&&M(this),null;var n,a=d.needReadable;return D("need readable",a),(0===d.length||d.length-o<d.highWaterMark)&&D("length less than watermark",a=!0),d.ended||d.reading?D("reading or ended",a=!1):a&&(D("do read"),d.reading=!0,d.sync=!0,0===d.length&&(d.needReadable=!0),this._read(d.highWaterMark),d.sync=!1,d.reading||(o=x(t,d))),null===(n=0<o?P(o,d):null)?(d.needReadable=!0,o=0):(d.length-=o,d.awaitDrain=0),0===d.length&&(d.ended||(d.needReadable=!0),t!==o&&d.ended&&M(this)),null!==n&&this.emit("data",n),n},k.prototype._read=function(){this.emit("error",new y("_read()"))},k.prototype.pipe=function(i,e){function m(){D("onend"),i.end()}function h(e){D("ondata");var t=i.write(e);D("dest.write",t),!1===t&&((1===r.pipesCount&&r.pipes===i||1<r.pipesCount&&-1!==N(r.pipes,i))&&!a&&(D("false write response, pause",r.awaitDrain),r.awaitDrain++),g.pause())}function d(e){D("onerror",e),p(),i.removeListener("error",d),0===q(i,"error")&&i.emit("error",e)}function l(){i.removeListener("finish",f),p()}function f(){D("onfinish"),i.removeListener("close",l),p()}function p(){D("unpipe"),g.unpipe(i)}var g=this,r=this._readableState;switch(r.pipesCount){case 0:r.pipes=i;break;case 1:r.pipes=[r.pipes,i];break;default:r.pipes.push(i);}r.pipesCount+=1,D("pipe count=%d opts=%j",r.pipesCount,e);var t=e&&!1===e.end||i===_.stdout||i===_.stderr?p:m;r.endEmitted?_.nextTick(t):g.once("end",t),i.on("unpipe",function e(t,n){D("onunpipe"),t===g&&n&&!1===n.hasUnpiped&&(n.hasUnpiped=!0,D("cleanup"),i.removeListener("close",l),i.removeListener("finish",f),i.removeListener("drain",o),i.removeListener("error",d),i.removeListener("unpipe",e),g.removeListener("end",m),g.removeListener("end",p),g.removeListener("data",h),a=!0,!r.awaitDrain||i._writableState&&!i._writableState.needDrain||o())});var o=function(n){return function(){var e=n._readableState;D("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&q(n,"data")&&(e.flowing=!0,U(n))}}(g);i.on("drain",o);var a=!1;return g.on("data",h),function(r,e,t){return"function"==typeof r.prependListener?r.prependListener("error",t):void(r._events&&r._events.error?Array.isArray(r._events.error)?r._events.error.unshift(t):r._events.error=[t,r._events.error]:r.on("error",t))}(i,0,d),i.once("close",l),i.once("finish",f),i.emit("pipe",g),r.flowing||(D("pipe resume"),g.resume()),i},k.prototype.unpipe=function(d){var a=this._readableState,t={hasUnpiped:!1};if(0===a.pipesCount)return this;if(1===a.pipesCount)return d&&d!==a.pipes?this:(d||(d=a.pipes),a.pipes=null,a.pipesCount=0,a.flowing=!1,d&&d.emit("unpipe",this,t),this);if(!d){var n=a.pipes,r=a.pipesCount;a.pipes=null,a.pipesCount=0,a.flowing=!1;for(var i=0;i<r;i++)n[i].emit("unpipe",this,{hasUnpiped:!1});return this}var l=N(a.pipes,d);return-1===l?this:(a.pipes.splice(l,1),a.pipesCount-=1,1===a.pipesCount&&(a.pipes=a.pipes[0]),d.emit("unpipe",this,t),this)},k.prototype.on=function(t,e){var n=yo.prototype.on.call(this,t,e),r=this._readableState;return"data"===t?(r.readableListening=0<this.listenerCount("readable"),!1!==r.flowing&&this.resume()):"readable"==t&&(r.endEmitted||r.readableListening||(r.readableListening=r.needReadable=!0,r.flowing=!1,r.emittedReadable=!1,D("on readable",r.length,r.reading),r.length?T(this):r.reading||_.nextTick(B,this))),n},k.prototype.addListener=k.prototype.on,k.prototype.removeListener=function(t,e){var n=yo.prototype.removeListener.call(this,t,e);return"readable"===t&&_.nextTick(L,this),n},k.prototype.removeAllListeners=function(t){var e=yo.prototype.removeAllListeners.apply(this,arguments);return"readable"!==t&&void 0!==t||_.nextTick(L,this),e},k.prototype.resume=function(){var t=this._readableState;return t.flowing||(D("resume"),t.flowing=!t.readableListening,function(t,e){e.resumeScheduled||(e.resumeScheduled=!0,_.nextTick(A,t,e))}(this,t)),t.paused=!1,this},k.prototype.pause=function(){return D("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(D("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},k.prototype.wrap=function(d){var a=this,t=this._readableState,e=!1;for(var n in d.on("end",function(){if(D("wrapped end"),t.decoder&&!t.ended){var n=t.decoder.end();n&&n.length&&a.push(n)}a.push(null)}),d.on("data",function(n){D("wrapped data"),t.decoder&&(n=t.decoder.write(n)),t.objectMode&&null==n||(t.objectMode||n&&n.length)&&(a.push(n)||(e=!0,d.pause()))}),d)void 0===this[n]&&"function"==typeof d[n]&&(this[n]=function(e){return function(){return d[e].apply(d,arguments)}}(n));for(var i=0;i<v.length;i++)d.on(v[i],this.emit.bind(this,v[i]));return this._read=function(n){D("wrapped _read",n),e&&(e=!1,d.resume())},this},"function"==typeof Symbol&&(k.prototype[Symbol.asyncIterator]=function(){return w("Readable[Symbol.asyncIterator]"),void 0===s&&(s=i({})),s(this)}),Object.defineProperty(k.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty(k.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(k.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(t){this._readableState&&(this._readableState.flowing=t)}}),k._fromList=P,Object.defineProperty(k.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}})}).call(this,pe,"undefined"==typeof global?"undefined"==typeof self?"undefined"==typeof window?{}:window:self:global)}),i=so(function(l){(function(_){"use strict";function t(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function b(n,e){return{value:n,done:e}}function r(r){var e=r[i];if(null!==e){var t=r[u].read();null!==t&&(r[p]=null,r[i]=null,r[s]=null,e(b(t,!1)))}}var e,f=ho({}),i=Symbol("lastResolve"),s=Symbol("lastReject"),o=Symbol("error"),a=Symbol("ended"),p=Symbol("lastPromise"),c=Symbol("handlePromise"),u=Symbol("stream"),d=Object.getPrototypeOf(function(){}),h=Object.setPrototypeOf((t(e={get stream(){return this[u]},next:function(){var t=this,e=this[o];if(null!==e)return Promise.reject(e);if(this[a])return Promise.resolve(b(void 0,!0));if(this[u].destroyed)return new Promise(function(e,n){_.nextTick(function(){t[o]?n(t[o]):e(b(void 0,!0))})});var n,d=this[p];if(d)n=new Promise(function(o,e){return function(t,n){o.then(function(){e[a]?t(b(void 0,!0)):e[c](t,n)},n)}}(d,this));else{var i=this[u].read();if(null!==i)return Promise.resolve(b(i,!1));n=new Promise(this[c])}return this[p]=n,n}},Symbol.asyncIterator,function(){return this}),t(e,"return",function(){var r=this;return new Promise(function(o,t){r[u].destroy(null,function(n){n?t(n):o(b(void 0,!0))})})}),e),d);l.exports=function(d){var e,g=Object.create(h,(t(e={},u,{value:d,writable:!0}),t(e,i,{value:null,writable:!0}),t(e,s,{value:null,writable:!0}),t(e,o,{value:null,writable:!0}),t(e,a,{value:d._readableState.endEmitted,writable:!0}),t(e,c,{value:function(r,e){var t=g[u].read();t?(g[p]=null,g[i]=null,g[s]=null,r(b(t,!1))):(g[i]=r,g[s]=e)},writable:!0}),e));return g[p]=null,f(d,function(r){if(r&&"ERR_STREAM_PREMATURE_CLOSE"!==r.code){var e=g[s];return null!==e&&(g[p]=null,g[i]=null,g[s]=null,e(r)),void(g[o]=r)}var t=g[i];null!==t&&(g[p]=null,g[i]=null,g[s]=null,t(b(void 0,!0))),g[a]=!0}),d.on("readable",function(t){_.nextTick(r,t)}.bind(null,g)),g}}).call(this,pe)}),ho=so(function(t){"use strict";function m(){}var r=Co.codes.ERR_STREAM_PREMATURE_CLOSE;t.exports=function n(_,e,t){if("function"==typeof e)return n(_,null,e);e||(e={}),t=function(o){var e=!1;return function(){if(!e){e=!0;for(var t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];o.apply(this,n)}}}(t||m);var b=e.readable||!1!==e.readable&&_.readable,y=e.writable||!1!==e.writable&&_.writable,w=function(){_.writable||S()},h=_._writableState&&_._writableState.finished,S=function(){y=!1,h=!0,b||t.call(_)},u=_._readableState&&_._readableState.endEmitted,k=function(){b=!1,u=!0,y||t.call(_)},l=function(n){t.call(_,n)},f=function(){var n;return b&&!u?(_._readableState&&_._readableState.ended||(n=new r),t.call(_,n)):y&&!h?(_._writableState&&_._writableState.ended||(n=new r),t.call(_,n)):void 0},p=function(){_.req.on("finish",S)};return function(t){return t.setHeader&&"function"==typeof t.abort}(_)?(_.on("complete",S),_.on("abort",f),_.req?p():_.on("request",p)):y&&!_._writableState&&(_.on("end",w),_.on("close",w)),_.on("end",k),_.on("finish",S),!1!==e.error&&_.on("error",l),_.on("close",f),function(){_.removeListener("complete",S),_.removeListener("abort",f),_.removeListener("request",p),_.req&&_.req.removeListener("finish",S),_.removeListener("end",w),_.removeListener("close",w),_.removeListener("finish",S),_.removeListener("end",k),_.removeListener("error",l),_.removeListener("close",f)}}}),d=so(function(f,e){"use strict";function t(r){var e;switch(this.encoding=function(r){var e=function(n){if(!n)return"utf8";for(var r;;)switch(n){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return n;default:if(r)return;n=(""+n).toLowerCase(),r=!0;}}(r);if("string"!=typeof e&&(l.isEncoding===n||!n(r)))throw new Error("Unknown encoding: "+r);return e||r}(r),this.encoding){case"utf16le":this.text=o,this.end=a,e=4;break;case"utf8":this.fillLast=i,e=4;break;case"base64":this.text=s,this.end=c,e=3;break;default:return this.write=u,void(this.end=d);}this.lastNeed=0,this.lastTotal=0,this.lastChar=l.allocUnsafe(e)}function p(t){return 127>=t?0:6==t>>5?2:14==t>>4?3:30==t>>3?4:2==t>>6?-1:-2}function i(r){var e=this.lastTotal-this.lastNeed,t=function(n,e){if(128!=(192&e[0]))return n.lastNeed=0,"\uFFFD";if(1<n.lastNeed&&1<e.length){if(128!=(192&e[1]))return n.lastNeed=1,"\uFFFD";if(2<n.lastNeed&&2<e.length&&128!=(192&e[2]))return n.lastNeed=2,"\uFFFD"}}(this,r);return void 0===t?this.lastNeed<=r.length?(r.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(r.copy(this.lastChar,e,0,r.length),void(this.lastNeed-=r.length)):t}function o(o,e){if(0==(o.length-e)%2){var t=o.toString("utf16le",e);if(t){var n=t.charCodeAt(t.length-1);if(55296<=n&&56319>=n)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=o[o.length-2],this.lastChar[1]=o[o.length-1],t.slice(0,-1)}return t}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=o[o.length-1],o.toString("utf16le",e,o.length-1)}function a(r){var e=r&&r.length?this.write(r):"";if(this.lastNeed){var t=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,t)}return e}function s(r,e){var t=(r.length-e)%3;return 0==t?r.toString("base64",e):(this.lastNeed=3-t,this.lastTotal=3,1==t?this.lastChar[0]=r[r.length-1]:(this.lastChar[0]=r[r.length-2],this.lastChar[1]=r[r.length-1]),r.toString("base64",e,r.length-t))}function c(n){var e=n&&n.length?this.write(n):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function u(t){return t.toString(this.encoding)}function d(t){return t&&t.length?this.write(t):""}var l=Lo.Buffer,n=l.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1;}};e.StringDecoder=t,t.prototype.write=function(r){if(0===r.length)return"";var e,o;if(this.lastNeed){if(void 0===(e=this.fillLast(r)))return"";o=this.lastNeed,this.lastNeed=0}else o=0;return o<r.length?e?e+this.text(r,o):this.text(r,o):e||""},t.prototype.end=function(n){var e=n&&n.length?this.write(n):"";return this.lastNeed?e+"\uFFFD":e},t.prototype.text=function(o,e){var t=function(o,e,t){var n=e.length-1;if(n<t)return 0;var d=p(e[n]);return 0<=d?(0<d&&(o.lastNeed=d-1),d):--n<t||-2===d?0:0<=(d=p(e[n]))?(0<d&&(o.lastNeed=d-2),d):--n<t||-2===d?0:0<=(d=p(e[n]))?(0<d&&(2===d?d=0:o.lastNeed=d-3),d):0}(this,o,e);if(!this.lastNeed)return o.toString("utf8",e);this.lastTotal=t;var n=o.length-(t-this.lastNeed);return o.copy(this.lastChar,0,n),o.toString("utf8",e,n)},t.prototype.fillLast=function(t){return this.lastNeed<=t.length?(t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):void(t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length)}}),l=so(function(l){(function(e){"use strict";function t(o){return this instanceof t?void(n.call(this,o),r.call(this,o),this.allowHalfOpen=!0,o&&(!1===o.readable&&(this.readable=!1),!1===o.writable&&(this.writable=!1),!1===o.allowHalfOpen&&(this.allowHalfOpen=!1,this.once("end",f)))):new t(o)}function f(){this._writableState.ended||e.nextTick(c,this)}function c(t){t.end()}var d=Object.keys||function(r){var e=[];for(var t in r)e.push(t);return e};l.exports=t;var n=po({}),r=u({});Me(t,n);for(var i,p=d(r.prototype),s=0;s<p.length;s++)i=p[s],t.prototype[i]||(t.prototype[i]=r.prototype[i]);Object.defineProperty(t.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(t.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(t.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(t.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&this._readableState.destroyed&&this._writableState.destroyed},set:function(t){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=t,this._writableState.destroyed=t)}})}).call(this,pe)}),u=so(function(m){(function(L,e){"use strict";function B(n){var e=this;this.next=null,this.entry=null,this.finish=function(){!function(n,e){var t=n.entry;for(n.entry=null;t;){var o=t.callback;e.pendingcb--,o(void 0),t=t.next}e.corkedRequestsFree.next=n}(e,n)}}function t(){}function n(t,r,n){T=T||l({}),t=t||{},"boolean"!=typeof n&&(n=r instanceof T),this.objectMode=!!t.objectMode,n&&(this.objectMode=this.objectMode||!!t.writableObjectMode),this.highWaterMark=h(this,t,"writableHighWaterMark",n),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var d=!1===t.decodeStrings;this.decodeStrings=!d,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(t){!function(t,e){var n=t._writableState,r=n.sync,d=n.writecb;if("function"!=typeof d)throw new u;if(function(t){t.writing=!1,t.writecb=null,t.length-=t.writelen,t.writelen=0}(n),e)!function(t,e,n,r,o){--e.pendingcb,n?(L.nextTick(o,r),L.nextTick(x,t,e),t._writableState.errorEmitted=!0,t.emit("error",r)):(o(r),t._writableState.errorEmitted=!0,t.emit("error",r),x(t,e))}(t,n,r,e,d);else{var a=v(n)||t.destroyed;a||n.corked||n.bufferProcessing||!n.bufferedRequest||E(t,n),r?L.nextTick(S,t,n,a,d):S(t,n,a,d)}}(r,t)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==t.emitClose,this.bufferedRequestCount=0,this.corkedRequestsFree=new B(this)}function r(o){var e=this instanceof(T=T||l({}));return e||I.call(r,this)?void(this._writableState=new n(o,this,e),this.writable=!0,o&&("function"==typeof o.write&&(this._write=o.write),"function"==typeof o.writev&&(this._writev=o.writev),"function"==typeof o.destroy&&(this._destroy=o.destroy),"function"==typeof o.final&&(this._final=o.final)),yo.call(this)):new r(o)}function k(d,e,t,n,r,a,i){e.writelen=n,e.writecb=i,e.writing=!0,e.sync=!0,e.destroyed?e.onwrite(new g("write")):t?d._writev(r,e.onwrite):d._write(r,a,e.onwrite),e.sync=!1}function S(o,e,t,n){t||function(n,e){0===e.length&&e.needDrain&&(e.needDrain=!1,n.emit("drain"))}(o,e),e.pendingcb--,n(),x(o,e)}function E(r,e){e.bufferProcessing=!0;var t=e.bufferedRequest;if(r._writev&&t&&t.next){var l=e.bufferedRequestCount,i=Array(l),s=e.corkedRequestsFree;s.entry=t;for(var o=0,f=!0;t;)i[o]=t,t.isBuf||(f=!1),t=t.next,o+=1;i.allBuffers=f,k(r,e,!0,e.length,i,"",s.finish),e.pendingcb++,e.lastBufferedRequest=null,s.next?(e.corkedRequestsFree=s.next,s.next=null):e.corkedRequestsFree=new B(e),e.bufferedRequestCount=0}else{for(;t;){var p=t.chunk,c=t.encoding,u=t.callback;if(k(r,e,!1,e.objectMode?1:p.length,p,c,u),t=t.next,e.bufferedRequestCount--,e.writing)break}null===t&&(e.lastBufferedRequest=null)}e.bufferedRequest=t,e.bufferProcessing=!1}function v(t){return t.ending&&0===t.length&&null===t.bufferedRequest&&!t.finished&&!t.writing}function C(r,e){r._final(function(t){e.pendingcb--,t&&r.emit("error",t),e.prefinished=!0,r.emit("prefinish"),x(r,e)})}function x(t,e){var n=v(e);return n&&(function(t,e){e.prefinished||e.finalCalled||("function"!=typeof t._final||e.destroyed?(e.prefinished=!0,t.emit("prefinish")):(e.pendingcb++,e.finalCalled=!0,L.nextTick(C,t,e)))}(t,e),0===e.pendingcb&&(e.finished=!0,t.emit("finish"))),n}var T;m.exports=r,r.WritableState=n;var I,R={deprecate:xo},A=p({}).Buffer,a=e.Uint8Array||function(){},h=Ue.getHighWaterMark,o=Co.codes,c=o.ERR_INVALID_ARG_TYPE,d=o.ERR_METHOD_NOT_IMPLEMENTED,u=o.ERR_MULTIPLE_CALLBACK,f=o.ERR_STREAM_CANNOT_PIPE,g=o.ERR_STREAM_DESTROYED,_=o.ERR_STREAM_NULL_VALUES,y=o.ERR_STREAM_WRITE_AFTER_END,b=o.ERR_UNKNOWN_ENCODING;Me(r,yo),n.prototype.getBuffer=function(){for(var n=this.bufferedRequest,r=[];n;)r.push(n),n=n.next;return r},function(){try{Object.defineProperty(n.prototype,"buffer",{get:R.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(t){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(I=Function.prototype[Symbol.hasInstance],Object.defineProperty(r,Symbol.hasInstance,{value:function(t){return!!I.call(this,t)||this===r&&t&&t._writableState instanceof n}})):I=function(t){return t instanceof this},r.prototype.pipe=function(){this.emit("error",new f)},r.prototype.write=function(d,l,u){var f,p=this._writableState,s=!1,h=!p.objectMode&&(f=d,A.isBuffer(f)||f instanceof a);return h&&!A.isBuffer(d)&&(d=function(t){return A.from(t)}(d)),"function"==typeof l&&(u=l,l=null),h?l="buffer":l||(l=p.defaultEncoding),"function"!=typeof u&&(u=t),p.ending?function(t,e){var n=new y;t.emit("error",n),L.nextTick(e,n)}(this,u):(h||function(t,e,n,r){var o;return null===n?o=new _:"string"==typeof n||e.objectMode||(o=new c("chunk",["string","Buffer"],n)),!o||(t.emit("error",o),L.nextTick(r,o),!1)}(this,p,d,u))&&(p.pendingcb++,s=function(d,e,t,a,l,f){if(!t){var s=function(r,e,o){return r.objectMode||!1===r.decodeStrings||"string"!=typeof e||(e=A.from(e,o)),e}(e,a,l);a!==s&&(t=!0,l="buffer",a=s)}var o=e.objectMode?1:a.length;e.length+=o;var p=e.length<e.highWaterMark;if(p||(e.needDrain=!0),e.writing||e.corked){var c=e.lastBufferedRequest;e.lastBufferedRequest={chunk:a,encoding:l,isBuf:t,callback:f,next:null},c?c.next=e.lastBufferedRequest:e.bufferedRequest=e.lastBufferedRequest,e.bufferedRequestCount+=1}else k(d,e,!1,o,a,l,f);return p}(this,p,h,d,l,u)),s},r.prototype.cork=function(){this._writableState.corked++},r.prototype.uncork=function(){var t=this._writableState;t.corked&&(t.corked--,t.writing||t.corked||t.bufferProcessing||!t.bufferedRequest||E(this,t))},r.prototype.setDefaultEncoding=function(t){if("string"==typeof t&&(t=t.toLowerCase()),!(-1<["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((t+"").toLowerCase())))throw new b(t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(r.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(r.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),r.prototype._write=function(r,e,t){t(new d("_write()"))},r.prototype._writev=null,r.prototype.end=function(t,o,d){var a=this._writableState;return"function"==typeof t?(d=t,t=null,o=null):"function"==typeof o&&(d=o,o=null),null!=t&&this.write(t,o),a.corked&&(a.corked=1,this.uncork()),a.ending||function(t,e,n){e.ending=!0,x(t,e),n&&(e.finished?L.nextTick(n):t.once("finish",n)),e.ended=!0,t.writable=!1}(this,a,d),this},Object.defineProperty(r.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(r.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),r.prototype.destroy=vo.destroy,r.prototype._undestroy=vo.undestroy,r.prototype._destroy=function(n,e){e(n)}}).call(this,pe,"undefined"==typeof global?"undefined"==typeof self?"undefined"==typeof window?{}:window:self:global)}),p=so(function(n,L){(function(H){"use strict";function D(e){if(e>N)throw new RangeError("The value \""+e+"\" is invalid for option \"size\"");var t=new Uint8Array(e);return t.__proto__=H.prototype,t}function H(o,e,t){if("number"==typeof o){if("string"==typeof e)throw new TypeError("The \"string\" argument must be of type string. Received type number");return s(o)}return r(o,e,t)}function r(e,t,n){if("string"==typeof e)return function(e,t){if("string"==typeof t&&""!==t||(t="utf8"),!H.isEncoding(t))throw new TypeError("Unknown encoding: "+t);var r=0|a(e,t),d=D(r),i=d.write(e,t);return i!==r&&(d=d.slice(0,i)),d}(e,t);if(ArrayBuffer.isView(e))return q(e);if(null==e)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(M(e,ArrayBuffer)||e&&M(e.buffer,ArrayBuffer))return function(e,t,n){if(0>t||e.byteLength<t)throw new RangeError("\"offset\" is outside of buffer bounds");if(e.byteLength<t+(n||0))throw new RangeError("\"length\" is outside of buffer bounds");var r;return(r=void 0===t&&void 0===n?new Uint8Array(e):void 0===n?new Uint8Array(e,t):new Uint8Array(e,t,n)).__proto__=H.prototype,r}(e,t,n);if("number"==typeof e)throw new TypeError("The \"value\" argument must not be of type number. Received type number");var r=e.valueOf&&e.valueOf();if(null!=r&&r!==e)return H.from(r,t,n);var d=function(e){if(H.isBuffer(e)){var t=0|o(e.length),n=D(t);return 0===n.length?n:(e.copy(n,0,0,t),n)}return void 0===e.length?"Buffer"===e.type&&Array.isArray(e.data)?q(e.data):void 0:"number"!=typeof e.length||P(e.length)?D(0):q(e)}(e);if(d)return d;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return H.from(e[Symbol.toPrimitive]("string"),t,n);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function i(t){if("number"!=typeof t)throw new TypeError("\"size\" argument must be of type number");if(0>t)throw new RangeError("The value \""+t+"\" is invalid for option \"size\"")}function s(t){return i(t),D(0>t?0:0|o(t))}function q(r){for(var e=0>r.length?0:0|o(r.length),t=D(e),n=0;n<e;n+=1)t[n]=255&r[n];return t}function o(t){if(t>=N)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+N.toString(16)+" bytes");return 0|t}function a(e,t){if(H.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||M(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError("The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. Received type "+typeof e);var o=e.length,r=2<arguments.length&&!0===arguments[2];if(!r&&0===o)return 0;for(var d=!1;;)switch(t){case"ascii":case"latin1":case"binary":return o;case"utf8":case"utf-8":return R(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*o;case"hex":return o>>>1;case"base64":return U(e).length;default:if(d)return r?-1:R(e).length;t=(""+t).toLowerCase(),d=!0;}}function c(o,e,t){var n=o[e];o[e]=o[t],o[t]=n}function u(e,t,o,a,l){if(0===e.length)return-1;if("string"==typeof o?(a=o,o=0):2147483647<o?o=2147483647:-2147483648>o&&(o=-2147483648),P(o=+o)&&(o=l?0:e.length-1),0>o&&(o=e.length+o),o>=e.length){if(l)return-1;o=e.length-1}else if(0>o){if(!l)return-1;o=0}if("string"==typeof t&&(t=H.from(t,a)),H.isBuffer(t))return 0===t.length?-1:d(e,t,o,a,l);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?l?Uint8Array.prototype.indexOf.call(e,t,o):Uint8Array.prototype.lastIndexOf.call(e,t,o):d(e,[t],o,a,l);throw new TypeError("val must be string, number or Buffer")}function d(f,e,t,p,g){function i(n,e){return 1===m?n[e]:n.readUInt16BE(e*m)}var c,m=1,_=f.length,b=e.length;if(void 0!==p&&("ucs2"===(p=(p+"").toLowerCase())||"ucs-2"===p||"utf16le"===p||"utf-16le"===p)){if(2>f.length||2>e.length)return-1;m=2,_/=2,b/=2,t/=2}if(g){var y=-1;for(c=t;c<_;c++)if(i(f,c)!==i(e,-1===y?0:c-y))-1!==y&&(c-=c-y),y=-1;else if(-1===y&&(y=c),c-y+1===b)return y*m}else for(t+b>_&&(t=_-b),c=t;0<=c;c--){for(var w=!0,S=0;S<b;S++)if(i(f,c+S)!==i(e,S)){w=!1;break}if(w)return c}return-1}function l(d,e,t,l){t=+t||0;var c=d.length-t;l?(l=+l)>c&&(l=c):l=c;var i=e.length;l>i/2&&(l=i/2);for(var s,u=0;u<l;++u){if(s=parseInt(e.substr(2*u,2),16),P(s))return u;d[t+u]=s}return u}function f(o,e,t,n){return F(R(e,o.length-t),o,t,n)}function p(o,e,t,n){return F(function(r){for(var e=[],t=0;t<r.length;++t)e.push(255&r.charCodeAt(t));return e}(e),o,t,n)}function h(o,e,t,n){return p(o,e,t,n)}function g(o,e,t,n){return F(U(e),o,t,n)}function m(o,e,t,n){return F(function(d,e){for(var a,l,c,u=[],s=0;s<d.length&&!(0>(e-=2));++s)l=(a=d.charCodeAt(s))>>8,c=a%256,u.push(c),u.push(l);return u}(e,o.length-t),o,t,n)}function _(r,e,t){return 0===e&&t===r.length?y.fromByteArray(r):y.fromByteArray(r.slice(e,t))}function b(l,e,t){t=ao(l.length,t);for(var f=[],r=e;r<t;){var p,g,m,_,b=l[r],c=null,y=239<b?4:223<b?3:191<b?2:1;r+y<=t&&(1==y?128>b&&(c=b):2==y?128==(192&(p=l[r+1]))&&127<(_=(31&b)<<6|63&p)&&(c=_):3==y?(p=l[r+1],g=l[r+2],128==(192&p)&&128==(192&g)&&2047<(_=(15&b)<<12|(63&p)<<6|63&g)&&(55296>_||57343<_)&&(c=_)):4==y?(p=l[r+1],g=l[r+2],m=l[r+3],128==(192&p)&&128==(192&g)&&128==(192&m)&&65535<(_=(15&b)<<18|(63&p)<<12|(63&g)<<6|63&m)&&1114112>_&&(c=_)):void 0);null===c?(c=65533,y=1):65535<c&&(c-=65536,f.push(55296|1023&c>>>10),c=56320|1023&c),f.push(c),r+=y}return function(o){var e=o.length;if(e<=W)return ro.apply(String,o);for(var t="",d=0;d<e;)t+=ro.apply(String,o.slice(d,d+=W));return t}(f)}function w(o,e,t){var d="";t=ao(o.length,t);for(var a=e;a<t;++a)d+=ro(127&o[a]);return d}function E(o,e,t){var d="";t=ao(o.length,t);for(var a=e;a<t;++a)d+=ro(o[a]);return d}function k(d,e,a){var l,c=d.length;(!e||0>e)&&(e=0),(!a||0>a||a>c)&&(a=c);for(var i="",u=e;u<a;++u)i+=16>(l=d[u])?"0"+l.toString(16):l.toString(16);return i}function S(o,e,t){for(var n=o.slice(e,t),r="",d=0;d<n.length;d+=2)r+=ro(n[d]+256*n[d+1]);return r}function C(r,e,t){if(0!=r%1||0>r)throw new RangeError("offset is not uint");if(r+e>t)throw new RangeError("Trying to access beyond buffer length")}function x(e,t,n,r,d,a){if(!H.isBuffer(e))throw new TypeError("\"buffer\" argument must be a Buffer instance");if(t>d||t<a)throw new RangeError("\"value\" argument is out of bounds");if(n+r>e.length)throw new RangeError("Index out of range")}function T(o,e,t,n){if(t+n>o.length)throw new RangeError("Index out of range");if(0>t)throw new RangeError("Index out of range")}function A(o,e,d,a,r){return e=+e,d>>>=0,r||T(o,0,d,4),O.write(o,e,d,a,23,4),d+4}function I(o,e,d,a,r){return e=+e,d>>>=0,r||T(o,0,d,8),O.write(o,e,d,a,52,8),d+8}function R(d,e){var a;e=e||1/0;for(var l=d.length,r=null,c=[],s=0;s<l;++s){if(55295<(a=d.charCodeAt(s))&&57344>a){if(!r){if(56319<a){-1<(e-=3)&&c.push(239,191,189);continue}if(s+1===l){-1<(e-=3)&&c.push(239,191,189);continue}r=a;continue}if(56320>a){-1<(e-=3)&&c.push(239,191,189),r=a;continue}a=65536+(r-55296<<10|a-56320)}else r&&-1<(e-=3)&&c.push(239,191,189);if(r=null,128>a){if(0>(e-=1))break;c.push(a)}else if(2048>a){if(0>(e-=2))break;c.push(192|a>>6,128|63&a)}else if(65536>a){if(0>(e-=3))break;c.push(224|a>>12,128|63&a>>6,128|63&a)}else{if(!(1114112>a))throw new Error("Invalid code point");if(0>(e-=4))break;c.push(240|a>>18,128|63&a>>12,128|63&a>>6,128|63&a)}}return c}function U(n){return y.toByteArray(function(n){if(2>(n=(n=n.split("=")[0]).trim().replace(t,"")).length)return"";for(;0!=n.length%4;)n+="=";return n}(n))}function F(o,e,t,n){for(var r=0;r<n&&!(r+t>=e.length||r>=o.length);++r)e[r+t]=o[r];return r}function M(n,e){return n instanceof e||null!=n&&null!=n.constructor&&null!=n.constructor.name&&n.constructor.name===e.name}function P(t){return t!=t}L.Buffer=H,L.SlowBuffer=function(e){return+e!=e&&(e=0),H.alloc(+e)},L.INSPECT_MAX_BYTES=50;var N=2147483647;L.kMaxLength=N,H.TYPED_ARRAY_SUPPORT=function(){try{var t=new Uint8Array(1);return t.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===t.foo()}catch(e){return!1}}(),H.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||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."),Object.defineProperty(H.prototype,"parent",{enumerable:!0,get:function(){if(H.isBuffer(this))return this.buffer}}),Object.defineProperty(H.prototype,"offset",{enumerable:!0,get:function(){if(H.isBuffer(this))return this.byteOffset}}),"undefined"!=typeof Symbol&&null!=Symbol.species&&H[Symbol.species]===H&&Object.defineProperty(H,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}),H.poolSize=8192,H.from=function(o,e,t){return r(o,e,t)},H.prototype.__proto__=Uint8Array.prototype,H.__proto__=Uint8Array,H.alloc=function(r,e,t){return function(r,e,t){return i(r),0>=r?D(r):void 0===e?D(r):"string"==typeof t?D(r).fill(e,t):D(r).fill(e)}(r,e,t)},H.allocUnsafe=function(t){return s(t)},H.allocUnsafeSlow=function(t){return s(t)},H.isBuffer=function(e){return null!=e&&!0===e._isBuffer&&e!==H.prototype},H.compare=function(e,d){if(M(e,Uint8Array)&&(e=H.from(e,e.offset,e.byteLength)),M(d,Uint8Array)&&(d=H.from(d,d.offset,d.byteLength)),!H.isBuffer(e)||!H.isBuffer(d))throw new TypeError("The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array");if(e===d)return 0;for(var a=e.length,l=d.length,c=0,u=ao(a,l);c<u;++c)if(e[c]!==d[c]){a=e[c],l=d[c];break}return a<l?-1:l<a?1:0},H.isEncoding=function(t){switch((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;}},H.concat=function(e,t){if(!Array.isArray(e))throw new TypeError("\"list\" argument must be an Array of Buffers");if(0===e.length)return H.alloc(0);var d;if(void 0===t)for(t=0,d=0;d<e.length;++d)t+=e[d].length;var a=H.allocUnsafe(t),i=0;for(d=0;d<e.length;++d){var l=e[d];if(M(l,Uint8Array)&&(l=H.from(l)),!H.isBuffer(l))throw new TypeError("\"list\" argument must be an Array of Buffers");l.copy(a,i),i+=l.length}return a},H.byteLength=a,H.prototype._isBuffer=!0,H.prototype.swap16=function(){var n=this.length;if(0!=n%2)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;e<n;e+=2)c(this,e,e+1);return this},H.prototype.swap32=function(){var n=this.length;if(0!=n%4)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var e=0;e<n;e+=4)c(this,e,e+3),c(this,e+1,e+2);return this},H.prototype.swap64=function(){var n=this.length;if(0!=n%8)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var e=0;e<n;e+=8)c(this,e,e+7),c(this,e+1,e+6),c(this,e+2,e+5),c(this,e+3,e+4);return this},H.prototype.toString=function(){var t=this.length;return 0===t?"":0===arguments.length?b(this,0,t):function(o,d,a){var i=!1;if((void 0===d||0>d)&&(d=0),d>this.length)return"";if((void 0===a||a>this.length)&&(a=this.length),0>=a)return"";if((a>>>=0)<=(d>>>=0))return"";for(o||(o="utf8");;)switch(o){case"hex":return k(this,d,a);case"utf8":case"utf-8":return b(this,d,a);case"ascii":return w(this,d,a);case"latin1":case"binary":return E(this,d,a);case"base64":return _(this,d,a);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return S(this,d,a);default:if(i)throw new TypeError("Unknown encoding: "+o);o=(o+"").toLowerCase(),i=!0;}}.apply(this,arguments)},H.prototype.toLocaleString=H.prototype.toString,H.prototype.equals=function(e){if(!H.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===H.compare(this,e)},H.prototype.inspect=function(){var t="",r=L.INSPECT_MAX_BYTES;return t=this.toString("hex",0,r).replace(/(.{2})/g,"$1 ").trim(),this.length>r&&(t+=" ... "),"<Buffer "+t+">"},H.prototype.compare=function(e,l,f,p,g){if(M(e,Uint8Array)&&(e=H.from(e,e.offset,e.byteLength)),!H.isBuffer(e))throw new TypeError("The \"target\" argument must be one of type Buffer or Uint8Array. Received type "+typeof e);if(void 0===l&&(l=0),void 0===f&&(f=e?e.length:0),void 0===p&&(p=0),void 0===g&&(g=this.length),0>l||f>e.length||0>p||g>this.length)throw new RangeError("out of range index");if(p>=g&&l>=f)return 0;if(p>=g)return-1;if(l>=f)return 1;if(this===e)return 0;for(var m=(g>>>=0)-(p>>>=0),_=(f>>>=0)-(l>>>=0),b=ao(m,_),h=this.slice(p,g),c=e.slice(l,f),u=0;u<b;++u)if(h[u]!==c[u]){m=h[u],_=c[u];break}return m<_?-1:_<m?1:0},H.prototype.includes=function(r,e,t){return-1!==this.indexOf(r,e,t)},H.prototype.indexOf=function(r,e,t){return u(this,r,e,t,!0)},H.prototype.lastIndexOf=function(r,e,t){return u(this,r,e,t,!1)},H.prototype.write=function(o,e,d,a){if(void 0===e)a="utf8",d=this.length,e=0;else if(void 0===d&&"string"==typeof e)a=e,d=this.length,e=0;else{if(!isFinite(e))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");e>>>=0,isFinite(d)?(d>>>=0,void 0===a&&(a="utf8")):(a=d,d=void 0)}var c=this.length-e;if((void 0===d||d>c)&&(d=c),0<o.length&&(0>d||0>e)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");a||(a="utf8");for(var i=!1;;)switch(a){case"hex":return l(this,o,e,d);case"utf8":case"utf-8":return f(this,o,e,d);case"ascii":return p(this,o,e,d);case"latin1":case"binary":return h(this,o,e,d);case"base64":return g(this,o,e,d);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return m(this,o,e,d);default:if(i)throw new TypeError("Unknown encoding: "+a);a=(""+a).toLowerCase(),i=!0;}},H.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var W=4096;H.prototype.slice=function(e,o){var d=this.length;0>(e=~~e)?0>(e+=d)&&(e=0):e>d&&(e=d),0>(o=void 0===o?d:~~o)?0>(o+=d)&&(o=0):o>d&&(o=d),o<e&&(o=e);var r=this.subarray(e,o);return r.__proto__=H.prototype,r},H.prototype.readUIntLE=function(o,d,a){o>>>=0,d>>>=0,a||C(o,d,this.length);for(var n=this[o],l=1,c=0;++c<d&&(l*=256);)n+=this[o+c]*l;return n},H.prototype.readUIntBE=function(o,d,a){o>>>=0,d>>>=0,a||C(o,d,this.length);for(var n=this[o+--d],s=1;0<d&&(s*=256);)n+=this[o+--d]*s;return n},H.prototype.readUInt8=function(n,r){return n>>>=0,r||C(n,1,this.length),this[n]},H.prototype.readUInt16LE=function(n,r){return n>>>=0,r||C(n,2,this.length),this[n]|this[n+1]<<8},H.prototype.readUInt16BE=function(n,r){return n>>>=0,r||C(n,2,this.length),this[n]<<8|this[n+1]},H.prototype.readUInt32LE=function(n,r){return n>>>=0,r||C(n,4,this.length),(this[n]|this[n+1]<<8|this[n+2]<<16)+16777216*this[n+3]},H.prototype.readUInt32BE=function(n,r){return n>>>=0,r||C(n,4,this.length),16777216*this[n]+(this[n+1]<<16|this[n+2]<<8|this[n+3])},H.prototype.readIntLE=function(o,d,a){o>>>=0,d>>>=0,a||C(o,d,this.length);for(var n=this[o],l=1,c=0;++c<d&&(l*=256);)n+=this[o+c]*l;return n>=(l*=128)&&(n-=no(2,8*d)),n},H.prototype.readIntBE=function(o,d,a){o>>>=0,d>>>=0,a||C(o,d,this.length);for(var n=d,l=1,c=this[o+--n];0<n&&(l*=256);)c+=this[o+--n]*l;return c>=(l*=128)&&(c-=no(2,8*d)),c},H.prototype.readInt8=function(n,r){return n>>>=0,r||C(n,1,this.length),128&this[n]?-1*(255-this[n]+1):this[n]},H.prototype.readInt16LE=function(r,o){r>>>=0,o||C(r,2,this.length);var t=this[r]|this[r+1]<<8;return 32768&t?4294901760|t:t},H.prototype.readInt16BE=function(r,o){r>>>=0,o||C(r,2,this.length);var t=this[r+1]|this[r]<<8;return 32768&t?4294901760|t:t},H.prototype.readInt32LE=function(n,r){return n>>>=0,r||C(n,4,this.length),this[n]|this[n+1]<<8|this[n+2]<<16|this[n+3]<<24},H.prototype.readInt32BE=function(n,r){return n>>>=0,r||C(n,4,this.length),this[n]<<24|this[n+1]<<16|this[n+2]<<8|this[n+3]},H.prototype.readFloatLE=function(n,r){return n>>>=0,r||C(n,4,this.length),O.read(this,n,!0,23,4)},H.prototype.readFloatBE=function(n,r){return n>>>=0,r||C(n,4,this.length),O.read(this,n,!1,23,4)},H.prototype.readDoubleLE=function(n,r){return n>>>=0,r||C(n,8,this.length),O.read(this,n,!0,52,8)},H.prototype.readDoubleBE=function(n,r){return n>>>=0,r||C(n,8,this.length),O.read(this,n,!1,52,8)},H.prototype.writeUIntLE=function(o,d,a,l){o=+o,d>>>=0,a>>>=0,l||x(this,o,d,a,no(2,8*a)-1,0);var r=1,c=0;for(this[d]=255&o;++c<a&&(r*=256);)this[d+c]=255&o/r;return d+a},H.prototype.writeUIntBE=function(o,d,a,l){o=+o,d>>>=0,a>>>=0,l||x(this,o,d,a,no(2,8*a)-1,0);var r=a-1,c=1;for(this[d+r]=255&o;0<=--r&&(c*=256);)this[d+r]=255&o/c;return d+a},H.prototype.writeUInt8=function(r,o,d){return r=+r,o>>>=0,d||x(this,r,o,1,255,0),this[o]=255&r,o+1},H.prototype.writeUInt16LE=function(r,o,d){return r=+r,o>>>=0,d||x(this,r,o,2,65535,0),this[o]=255&r,this[o+1]=r>>>8,o+2},H.prototype.writeUInt16BE=function(r,o,d){return r=+r,o>>>=0,d||x(this,r,o,2,65535,0),this[o]=r>>>8,this[o+1]=255&r,o+2},H.prototype.writeUInt32LE=function(r,o,d){return r=+r,o>>>=0,d||x(this,r,o,4,4294967295,0),this[o+3]=r>>>24,this[o+2]=r>>>16,this[o+1]=r>>>8,this[o]=255&r,o+4},H.prototype.writeUInt32BE=function(r,o,d){return r=+r,o>>>=0,d||x(this,r,o,4,4294967295,0),this[o]=r>>>24,this[o+1]=r>>>16,this[o+2]=r>>>8,this[o+3]=255&r,o+4},H.prototype.writeIntLE=function(d,l,c,n){if(d=+d,l>>>=0,!n){var r=no(2,8*c-1);x(this,d,l,c,r-1,-r)}var i=0,u=1,f=0;for(this[l]=255&d;++i<c&&(u*=256);)0>d&&0==f&&0!==this[l+i-1]&&(f=1),this[l+i]=255&(d/u>>0)-f;return l+c},H.prototype.writeIntBE=function(d,l,c,n){if(d=+d,l>>>=0,!n){var r=no(2,8*c-1);x(this,d,l,c,r-1,-r)}var i=c-1,u=1,f=0;for(this[l+i]=255&d;0<=--i&&(u*=256);)0>d&&0==f&&0!==this[l+i+1]&&(f=1),this[l+i]=255&(d/u>>0)-f;return l+c},H.prototype.writeInt8=function(r,o,d){return r=+r,o>>>=0,d||x(this,r,o,1,127,-128),0>r&&(r=255+r+1),this[o]=255&r,o+1},H.prototype.writeInt16LE=function(r,o,d){return r=+r,o>>>=0,d||x(this,r,o,2,32767,-32768),this[o]=255&r,this[o+1]=r>>>8,o+2},H.prototype.writeInt16BE=function(r,o,d){return r=+r,o>>>=0,d||x(this,r,o,2,32767,-32768),this[o]=r>>>8,this[o+1]=255&r,o+2},H.prototype.writeInt32LE=function(r,o,d){return r=+r,o>>>=0,d||x(this,r,o,4,2147483647,-2147483648),this[o]=255&r,this[o+1]=r>>>8,this[o+2]=r>>>16,this[o+3]=r>>>24,o+4},H.prototype.writeInt32BE=function(r,o,d){return r=+r,o>>>=0,d||x(this,r,o,4,2147483647,-2147483648),0>r&&(r=4294967295+r+1),this[o]=r>>>24,this[o+1]=r>>>16,this[o+2]=r>>>8,this[o+3]=255&r,o+4},H.prototype.writeFloatLE=function(r,e,t){return A(this,r,e,!0,t)},H.prototype.writeFloatBE=function(r,e,t){return A(this,r,e,!1,t)},H.prototype.writeDoubleLE=function(r,e,t){return I(this,r,e,!0,t)},H.prototype.writeDoubleBE=function(r,e,t){return I(this,r,e,!1,t)},H.prototype.copy=function(e,t,d,a){if(!H.isBuffer(e))throw new TypeError("argument should be a Buffer");if(d||(d=0),a||0===a||(a=this.length),t>=e.length&&(t=e.length),t||(t=0),0<a&&a<d&&(a=d),a===d)return 0;if(0===e.length||0===this.length)return 0;if(0>t)throw new RangeError("targetStart out of bounds");if(0>d||d>=this.length)throw new RangeError("Index out of range");if(0>a)throw new RangeError("sourceEnd out of bounds");a>this.length&&(a=this.length),e.length-t<a-d&&(a=e.length-t+d);var l=a-d;if(this===e&&"function"==typeof Uint8Array.prototype.copyWithin)this.copyWithin(t,d,a);else if(this===e&&d<t&&t<a)for(var s=l-1;0<=s;--s)e[s+t]=this[s+d];else Uint8Array.prototype.set.call(e,this.subarray(d,a),t);return l},H.prototype.fill=function(e,d,l,c){if("string"==typeof e){if("string"==typeof d?(c=d,d=0,l=this.length):"string"==typeof l&&(c=l,l=this.length),void 0!==c&&"string"!=typeof c)throw new TypeError("encoding must be a string");if("string"==typeof c&&!H.isEncoding(c))throw new TypeError("Unknown encoding: "+c);if(1===e.length){var u=e.charCodeAt(0);("utf8"===c&&128>u||"latin1"===c)&&(e=u)}}else"number"==typeof e&&(e&=255);if(0>d||this.length<d||this.length<l)throw new RangeError("Out of range index");if(l<=d)return this;var s;if(d>>>=0,l=void 0===l?this.length:l>>>0,e||(e=0),"number"==typeof e)for(s=d;s<l;++s)this[s]=e;else{var f=H.isBuffer(e)?e:H.from(e,c),a=f.length;if(0===a)throw new TypeError("The value \""+e+"\" is invalid for argument \"value\"");for(s=0;s<l-d;++s)this[s+d]=f[s%a]}return this};var t=/[^+\/0-9A-Za-z-_]/g}).call(this,p({}).Buffer)}),m={},c=Object.create||function(n){var e=function(){};return e.prototype=n,new e},f=Object.keys||function(r){var e=[];for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&e.push(t);return t},s=Function.prototype.bind||function(n){var e=this;return function(){return e.apply(n,arguments)}};m=tt,tt.EventEmitter=tt,tt.prototype._events=void 0,tt.prototype._maxListeners=void 0;var h,g=10;try{var b={};Object.defineProperty&&Object.defineProperty(b,"x",{value:0}),h=0===b.x}catch(e){h=!1}h?Object.defineProperty(tt,"defaultMaxListeners",{enumerable:!0,get:function(){return g},set:function(t){if("number"!=typeof t||0>t||t!=t)throw new TypeError("\"defaultMaxListeners\" must be a positive number");g=t}}):tt.defaultMaxListeners=g,tt.prototype.setMaxListeners=function(t){if("number"!=typeof t||0>t||isNaN(t))throw new TypeError("\"n\" argument must be a positive number");return this._maxListeners=t,this},tt.prototype.getMaxListeners=function(){return v(this)},tt.prototype.emit=function(d){var e,l,u,f,p,g,m="error"===d;if(g=this._events)m=m&&null==g.error;else if(!m)return!1;if(m){if(1<arguments.length&&(e=arguments[1]),e instanceof Error)throw e;var _=new Error("Unhandled \"error\" event. ("+e+")");throw _.context=e,_}if(!(l=g[d]))return!1;var h="function"==typeof l;switch(u=arguments.length){case 1:!function(o,e,t){if(e)o.call(t);else for(var n=o.length,r=R(o,n),d=0;d<n;++d)r[d].call(t)}(l,h,this);break;case 2:!function(d,e,t,n){if(e)d.call(t,n);else for(var r=d.length,a=R(d,r),i=0;i<r;++i)a[i].call(t,n)}(l,h,this,arguments[1]);break;case 3:!function(d,e,t,n,r){if(e)d.call(t,n,r);else for(var i=d.length,s=R(d,i),o=0;o<i;++o)s[o].call(t,n,r)}(l,h,this,arguments[1],arguments[2]);break;case 4:!function(d,e,t,n,r,i){if(e)d.call(t,n,r,i);else for(var s=d.length,o=R(d,s),a=0;a<s;++a)o[a].call(t,n,r,i)}(l,h,this,arguments[1],arguments[2],arguments[3]);break;default:for(f=Array(u-1),p=1;p<u;p++)f[p-1]=arguments[p];!function(d,e,t,n){if(e)d.apply(t,n);else for(var r=d.length,a=R(d,r),i=0;i<r;++i)a[i].apply(t,n)}(l,h,this,f);}return!0},tt.prototype.addListener=function(n,e){return C(this,n,e,!1)},tt.prototype.on=tt.prototype.addListener,tt.prototype.prependListener=function(n,e){return C(this,n,e,!0)},tt.prototype.once=function(n,e){if("function"!=typeof e)throw new TypeError("\"listener\" argument must be a function");return this.on(n,T(this,n,e)),this},tt.prototype.prependOnceListener=function(n,e){if("function"!=typeof e)throw new TypeError("\"listener\" argument must be a function");return this.prependListener(n,T(this,n,e)),this},tt.prototype.removeListener=function(d,e){var t,a,l,u,f;if("function"!=typeof e)throw new TypeError("\"listener\" argument must be a function");if(!(a=this._events))return this;if(!(t=a[d]))return this;if(t===e||t.listener===e)0==--this._eventsCount?this._events=c(null):(delete a[d],a.removeListener&&this.emit("removeListener",d,t.listener||e));else if("function"!=typeof t){for(l=-1,u=t.length-1;0<=u;u--)if(t[u]===e||t[u].listener===e){f=t[u].listener,l=u;break}if(0>l)return this;0===l?t.shift():function(t){for(var e=l,o=e+1,d=t.length;o<d;e+=1,o+=1)t[e]=t[o];t.pop()}(t),1===t.length&&(a[d]=t[0]),a.removeListener&&this.emit("removeListener",d,f||e)}return this},tt.prototype.removeAllListeners=function(o){var e,d,a;if(!(d=this._events))return this;if(!d.removeListener)return 0===arguments.length?(this._events=c(null),this._eventsCount=0):d[o]&&(0==--this._eventsCount?this._events=c(null):delete d[o]),this;if(0===arguments.length){var l,u=f(d);for(a=0;a<u.length;++a)"removeListener"!==(l=u[a])&&this.removeAllListeners(l);return this.removeAllListeners("removeListener"),this._events=c(null),this._eventsCount=0,this}if("function"==typeof(e=d[o]))this.removeListener(o,e);else if(e)for(a=e.length-1;0<=a;a--)this.removeListener(o,e[a]);return this},tt.prototype.listeners=function(t){return A(this,t,!0)},tt.prototype.rawListeners=function(t){return A(this,t,!1)},tt.listenerCount=function(n,e){return"function"==typeof n.listenerCount?n.listenerCount(e):I.call(n,e)},tt.prototype.listenerCount=I,tt.prototype.eventNames=function(){return 0<this._eventsCount?Reflect.ownKeys(this._events):[]};for(var y={toByteArray:function(d){var e,l,c=B(d),r=c[0],i=c[1],s=new L(function(r,e,t){return 3*(e+t)/4-t}(0,r,i)),o=0,u=0<i?r-4:r;for(l=0;l<u;l+=4)e=S[d.charCodeAt(l)]<<18|S[d.charCodeAt(l+1)]<<12|S[d.charCodeAt(l+2)]<<6|S[d.charCodeAt(l+3)],s[o++]=255&e>>16,s[o++]=255&e>>8,s[o++]=255&e;return 2===i&&(e=S[d.charCodeAt(l)]<<2|S[d.charCodeAt(l+1)]>>4,s[o++]=255&e),1===i&&(e=S[d.charCodeAt(l)]<<10|S[d.charCodeAt(l+1)]<<4|S[d.charCodeAt(l+2)]>>2,s[o++]=255&e>>8,s[o++]=255&e),s},fromByteArray:function(d){for(var e,a=d.length,n=a%3,r=[],i=0,l=a-n;i<l;i+=16383)r.push(D(d,i,i+16383>l?l:i+16383));return 1==n?(e=d[a-1],r.push(w[e>>2]+w[63&e<<4]+"==")):2==n&&(e=(d[a-2]<<8)+d[a-1],r.push(w[e>>10]+w[63&e>>4]+w[63&e<<2]+"=")),r.join("")}},w=[],S=[],L="undefined"==typeof Uint8Array?Array:Uint8Array,U="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",P=0,M=U.length;P<M;++P)w[P]=U[P],S[U.charCodeAt(P)]=P;S[45]=62,S[95]=63;var O={read:function(p,e,t,n,r){var i,g,m=8*r-n-1,a=(1<<m)-1,h=a>>1,c=-7,_=t?r-1:0,b=t?-1:1,l=p[e+_];for(_+=b,i=l&(1<<-c)-1,l>>=-c,c+=m;0<c;i=256*i+p[e+_],_+=b,c-=8);for(g=i&(1<<-c)-1,i>>=-c,c+=n;0<c;g=256*g+p[e+_],_+=b,c-=8);if(0===i)i=1-h;else{if(i===a)return g?NaN:1/0*(l?-1:1);g+=no(2,n),i-=h}return(l?-1:1)*g*no(2,i-n)},write:function(m,e,_,n,r,b){var s,y,w,S=8*b-r-1,k=(1<<S)-1,u=k>>1,d=23===r?no(2,-24)-no(2,-77):0,l=n?0:b-1,E=n?1:-1,p=0>e||0===e&&0>1/e?1:0;for(e=oo(e),isNaN(e)||e===1/0?(y=isNaN(e)?1:0,s=k):(s=io(Math.log(e)/Math.LN2),1>e*(w=no(2,-s))&&(s--,w*=2),2<=(e+=1<=s+u?d/w:d*no(2,1-u))*w&&(s++,w/=2),s+u>=k?(y=0,s=k):1<=s+u?(y=(e*w-1)*no(2,r),s+=u):(y=e*no(2,u-1)*no(2,r),s=0));8<=r;m[_+l]=255&y,l+=E,y/=256,r-=8);for(s=s<<r|y,S+=r;0<S;m[_+l]=255&s,l+=E,s/=256,S-=8);m[_+l-E]|=128*p}},q={};(function(t){q=function(e,o){var d=[];e.on("data",function(t){d.push(t)}),e.once("end",function(){o&&o(null,t.concat(d)),o=null}),e.once("error",function(t){o&&o(t),o=null})}}).call(this,p({}).Buffer);var j={},go=p({}),z=go.Buffer;z.from&&z.alloc&&z.allocUnsafe&&z.allocUnsafeSlow?j=go:(H(go,j),j.Buffer=V),V.prototype=Object.create(z.prototype),H(z,V),V.from=function(r,e,t){if("number"==typeof r)throw new TypeError("Argument must not be a number");return z(r,e,t)},V.alloc=function(o,e,t){if("number"!=typeof o)throw new TypeError("Argument must be a number");var n=z(o);return void 0===e?n.fill(0):"string"==typeof t?n.fill(e,t):n.fill(e),n},V.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return z(t)},V.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return go.SlowBuffer(t)};var $,mo=j.Buffer;G.bytes=-1,G._floatConversionDetected=!1,G.getType=function(t){return mo.isBuffer(t)?"buffer":Array.isArray(t)?"array":ArrayBuffer.isView(t)?"arraybufferview":t instanceof Number?"number":t instanceof Boolean?"boolean":t instanceof ArrayBuffer?"arraybuffer":typeof t},G._encode=function(n,e){if(null!=e)switch(G.getType(e)){case"buffer":G.buffer(n,e);break;case"object":G.dict(n,e);break;case"array":G.list(n,e);break;case"string":G.string(n,e);break;case"number":case"boolean":G.number(n,e);break;case"arraybufferview":G.buffer(n,mo.from(e.buffer,e.byteOffset,e.byteLength));break;case"arraybuffer":G.buffer(n,mo.from(e));}};var Y=mo.from("e"),X=mo.from("d"),Z=mo.from("l");G.buffer=function(n,e){n.push(mo.from(e.length+":"),e)},G.string=function(n,e){n.push(mo.from(mo.byteLength(e)+":"+e))},G.number=function(r,e){var t=2147483648*(e/2147483648<<0)+(e%2147483648<<0);r.push(mo.from("i"+t+"e")),t===e||G._floatConversionDetected||(G._floatConversionDetected=!0,console.warn("WARNING: Possible data corruption detected with value \""+e+"\":","Bencoding only defines support for integers, value was converted to \""+t+"\""),console.trace())},G.dict=function(o,e){o.push(X);for(var t,d=0,a=Object.keys(e).sort(),i=a.length;d<i;d++)null!=e[t=a[d]]&&(G.string(o,t),G._encode(o,e[t]));o.push(Y)},G.list=function(o,e){var t=0,d=e.length;for(o.push(Z);t<d;t++)null!=e[t]&&G._encode(o,e[t]);o.push(Y)},$=G;var Q,_o=j.Buffer;ne.bytes=0,ne.position=0,ne.data=null,ne.encoding=null,ne.next=function(){switch(ne.data[ne.position]){case 100:return ne.dictionary();case 108:return ne.list();case 105:return ne.integer();default:return ne.buffer();}},ne.find=function(o){for(var e=ne.position,d=ne.data.length,n=ne.data;e<d;){if(n[e]===o)return e;e++}throw new Error("Invalid data: Missing delimiter \""+ro(o)+"\" [0x"+o.toString(16)+"]")},ne.dictionary=function(){ne.position++;for(var t={};101!==ne.data[ne.position];)t[ne.buffer()]=ne.next();return ne.position++,t},ne.list=function(){ne.position++;for(var t=[];101!==ne.data[ne.position];)t.push(ne.next());return ne.position++,t},ne.integer=function(){var n=ne.find(101),e=J(ne.data,ne.position+1,n);return ne.position+=n+1-ne.position,e},ne.buffer=function(){var r=ne.find(58),o=J(ne.data,ne.position,r),t=++r+o;return ne.position=t,ne.encoding?ne.data.toString(ne.encoding,r,t):ne.data.slice(r,t)},Q=ne;var te={},ie=te;ie.encode=$,ie.decode=Q,ie.byteLength=ie.encodingLength=function(t){return ie.encode(t).length};var se,bo,yo=m.EventEmitter,oe={},ae=p({}).Buffer,de=oe.inspect,le=de&&de.custom||"inspect",fe=function(){function n(){this.head=null,this.tail=null,this.length=0}var e=n.prototype;return e.push=function(n){var e={data:n,next:null};0<this.length?this.tail.next=e:this.head=e,this.tail=e,++this.length},e.unshift=function(n){var e={data:n,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length},e.shift=function(){if(0!==this.length){var t=this.head.data;return this.head=1===this.length?this.tail=null:this.head.next,--this.length,t}},e.clear=function(){this.head=this.tail=null,this.length=0},e.join=function(r){if(0===this.length)return"";for(var e=this.head,o=""+e.data;e=e.next;)o+=r+e.data;return o},e.concat=function(d){if(0===this.length)return ae.alloc(0);for(var e,a,l,c=ae.allocUnsafe(d>>>0),i=this.head,u=0;i;)e=i.data,a=c,l=u,ae.prototype.copy.call(e,a,l),u+=i.data.length,i=i.next;return c},e.consume=function(r,e){var t;return r<this.head.data.length?(t=this.head.data.slice(0,r),this.head.data=this.head.data.slice(r)):t=r===this.head.data.length?this.shift():e?this._getString(r):this._getBuffer(r),t},e.first=function(){return this.head.data},e._getString=function(o){var d=this.head,a=1,l=d.data;for(o-=l.length;d=d.next;){var c=d.data,i=o>c.length?c.length:o;if(l+=i===c.length?c:c.slice(0,o),0==(o-=i)){i===c.length?(++a,this.head=d.next?d.next:this.tail=null):(this.head=d,d.data=c.slice(i));break}++a}return this.length-=a,l},e._getBuffer=function(o){var d=ae.allocUnsafe(o),t=this.head,a=1;for(t.data.copy(d),o-=t.data.length;t=t.next;){var l=t.data,i=o>l.length?l.length:o;if(l.copy(d,d.length-o,0,i),0==(o-=i)){i===l.length?(++a,this.head=t.next?t.next:this.tail=null):(this.head=t,t.data=l.slice(i));break}++a}return this.length-=a,d},e[le]=function(n,e){return de(this,function(o){for(var e=1;e<arguments.length;e++){var d=null==arguments[e]?{}:arguments[e],n=Object.keys(d);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(d).filter(function(t){return Object.getOwnPropertyDescriptor(d,t).enumerable}))),n.forEach(function(e){re(o,e,d[e])})}return o}({},e,{depth:0,customInspect:!1}))},n}(),pe={},wo=pe={};!function(){try{se="function"==typeof setTimeout?setTimeout:he}catch(t){se=he}try{bo="function"==typeof clearTimeout?clearTimeout:_e}catch(t){bo=_e}}();var me,So=[],ko=!1,Eo=-1;wo.nextTick=function(r){var e=Array(arguments.length-1);if(1<arguments.length)for(var t=1;t<arguments.length;t++)e[t-1]=arguments[t];So.push(new Ce(r,e)),1!==So.length||ko||ye(Se)},Ce.prototype.run=function(){this.fun.apply(null,this.array)},wo.title="browser",wo.browser=!0,wo.env={},wo.argv=[],wo.version="",wo.versions={},wo.on=xe,wo.addListener=xe,wo.once=xe,wo.off=xe,wo.removeListener=xe,wo.removeAllListeners=xe,wo.emit=xe,wo.prependListener=xe,wo.prependOnceListener=xe,wo.listeners=function(){return[]},wo.binding=function(){throw new Error("process.binding is not supported")},wo.cwd=function(){return"/"},wo.chdir=function(){throw new Error("process.chdir is not supported")},wo.umask=function(){return 0};var vo={};(function(d){"use strict";function e(r,e){n(r,e),a(r)}function a(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close")}function n(n,e){n.emit("error",e)}vo={destroy:function(t,i){var s=this,r=this._readableState&&this._readableState.destroyed,o=this._writableState&&this._writableState.destroyed;return r||o?(i?i(t):!t||this._writableState&&this._writableState.errorEmitted||d.nextTick(n,this,t),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,function(t){!i&&t?(d.nextTick(e,s,t),s._writableState&&(s._writableState.errorEmitted=!0)):i?(d.nextTick(a,s),i(t)):d.nextTick(a,s)}),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}}}).call(this,pe);var Co={},Ie={};Te("ERR_INVALID_OPT_VALUE",function(n,e){return"The value \""+e+"\" is invalid for option \""+n+"\""},TypeError),Te("ERR_INVALID_ARG_TYPE",function(d,e,l){var n,c,u,f;if("string"==typeof e&&("not ","not "===e.substr(0,4))?(n="must not be",e=e.replace(/^not /,"")):n="must be",u=d,(void 0===f||f>u.length)&&(f=u.length)," argument"===u.substring(f-9,f))c="The ".concat(d," ").concat(n," ").concat(Be(e,"type"));else{var p=function(r,e,t){return"number"!=typeof t&&(t=0),!(t+1>r.length)&&-1!==r.indexOf(".",t)}(d)?"property":"argument";c="The \"".concat(d,"\" ").concat(p," ").concat(n," ").concat(Be(e,"type"))}return c+". Received type ".concat(typeof l)},TypeError),Te("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),Te("ERR_METHOD_NOT_IMPLEMENTED",function(t){return"The "+t+" method is not implemented"}),Te("ERR_STREAM_PREMATURE_CLOSE","Premature close"),Te("ERR_STREAM_DESTROYED",function(t){return"Cannot call "+t+" after a stream was destroyed"}),Te("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),Te("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),Te("ERR_STREAM_WRITE_AFTER_END","write after end"),Te("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),Te("ERR_UNKNOWN_ENCODING",function(t){return"Unknown encoding: "+t},TypeError),Te("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),Co.codes=Ie;var Re=Co.codes.ERR_INVALID_OPT_VALUE,Ue={getHighWaterMark:function(o,e,t,n){var r=function(r,e,t){return null==r.highWaterMark?e?r[t]:null:r.highWaterMark}(e,n,t);if(null!=r){if(!isFinite(r)||io(r)!==r||0>r)throw new Re(n?t:"highWaterMark",r);return io(r)}return o.objectMode?16:16384}},Oe={};(function(r){"use strict";var e=new Set;Oe.emitExperimentalWarning=r.emitWarning?function(t){if(!e.has(t)){e.add(t),r.emitWarning(t+" is an experimental feature. This feature could change at any time","ExperimentalWarning")}}:function(){}}).call(this,pe);var Me={};Me="function"==typeof Object.create?function(n,e){e&&(n.super_=e,n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}))}:function(r,e){if(e){r.super_=e;var t=function(){};t.prototype=e.prototype,r.prototype=new t,r.prototype.constructor=r}};var xo={};(function(r){function o(e){try{if(!r.localStorage)return!1}catch(e){return!1}var t=r.localStorage[e];return null!=t&&"true"===(t+"").toLowerCase()}xo=function(t,e){if(o("noDeprecation"))return t;var n=!1;return function(){if(!n){if(o("throwDeprecation"))throw new Error(e);o("traceDeprecation")?console.trace(e):console.warn(e),n=!0}return t.apply(this,arguments)}}}).call(this,"undefined"==typeof global?"undefined"==typeof self?"undefined"==typeof window?{}:window:self:global);var Lo={},To=p({}),De=To.Buffer;De.from&&De.alloc&&De.allocUnsafe&&De.allocUnsafeSlow?Lo=To:(Le(To,Lo),Lo.Buffer=qe),Le(De,qe),qe.from=function(r,e,t){if("number"==typeof r)throw new TypeError("Argument must not be a number");return De(r,e,t)},qe.alloc=function(o,e,t){if("number"!=typeof o)throw new TypeError("Argument must be a number");var n=De(o);return void 0===e?n.fill(0):"string"==typeof t?n.fill(e,t):n.fill(e),n},qe.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return De(t)},qe.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return To.SlowBuffer(t)};var He=Je,We=Co.codes,ze=We.ERR_METHOD_NOT_IMPLEMENTED,$e=We.ERR_MULTIPLE_CALLBACK,Ve=We.ERR_TRANSFORM_ALREADY_TRANSFORMING,Ge=We.ERR_TRANSFORM_WITH_LENGTH_0,Ke=l({});Me(Je,Ke),Je.prototype.push=function(n,e){return this._transformState.needTransform=!1,Ke.prototype.push.call(this,n,e)},Je.prototype._transform=function(r,e,t){t(new ze("_transform()"))},Je.prototype._write=function(o,e,t){var n=this._transformState;if(n.writecb=t,n.writechunk=o,n.writeencoding=e,!n.transforming){var r=this._readableState;(n.needTransform||r.needReadable||r.length<r.highWaterMark)&&this._read(r.highWaterMark)}},Je.prototype._read=function(){var e=this._transformState;null===e.writechunk||e.transforming?e.needTransform=!0:(e.transforming=!0,this._transform(e.writechunk,e.writeencoding,e.afterTransform))},Je.prototype._destroy=function(n,r){Ke.prototype._destroy.call(this,n,function(t){r(t)})};var Ye;Me(Qe,He),Qe.prototype._transform=function(r,e,t){t(null,r)};var Bo=Co.codes,rt=Bo.ERR_MISSING_ARGS,it=Bo.ERR_STREAM_DESTROYED,st={};(st=st=po({})).Stream=st,st.Readable=st,st.Writable=u({}),st.Duplex=l({}),st.Transform=He,st.PassThrough=Qe,st.finished=ho({}),st.pipeline=function(){for(var o=arguments.length,d=Array(o),e=0;e<o;e++)d[e]=arguments[e];var a,l=function(t){return t.length?"function"==typeof t[t.length-1]?t.pop():nt:nt}(d);if(Array.isArray(d[0])&&(d=d[0]),2>d.length)throw new rt("streams");var i=d.map(function(t,e){var n=e<d.length-1;return function(o,e,t,n){n=function(n){var e=!1;return function(){e||(e=!0,n.apply(void 0,arguments))}}(n);var d=!1;o.on("close",function(){d=!0}),void 0===Ye&&(Ye=ho({})),Ye(o,{readable:e,writable:t},function(t){return t?n(t):void(d=!0,n())});var a=!1;return function(e){if(!d&&!a)return a=!0,function(t){return t.setHeader&&"function"==typeof t.abort}(o)?o.abort():"function"==typeof o.destroy?o.destroy():void n(e||new it("pipe"))}}(t,n,0<e,function(t){a||(a=t),t&&i.forEach(ot),n||(i.forEach(ot),l(a))})});return d.reduce(at)};var Io={};(function(n){const{Transform:e}=st;Io=class extends e{constructor(o,d={}){super(d),"object"==typeof o&&(o=(d=o).size),this.size=o||512;const{nopad:a,zeroPadding:n=!0}=d;this._zeroPadding=!a&&!!n,this._buffered=[],this._bufferedBytes=0}_transform(e,t,o){for(this._bufferedBytes+=e.length,this._buffered.push(e);this._bufferedBytes>=this.size;){const e=n.concat(this._buffered);this._bufferedBytes-=this.size,this.push(e.slice(0,this.size)),this._buffered=[e.slice(this.size,e.length)]}o()}_flush(){if(this._bufferedBytes&&this._zeroPadding){const e=n.alloc(this.size-this._bufferedBytes);this._buffered.push(e),this.push(n.concat(this._buffered)),this._buffered=null}else this._bufferedBytes&&(this.push(n.concat(this._buffered)),this._buffered=null);this.push(null)}}}).call(this,p({}).Buffer);for(var Ro=e({}),dt=no(2,10),lt=13,Ao=[];22>lt++;)Ao.push(no(2,lt));var pt={};(function(){function o(o,e){for(var t,d=0,a=o.length-1;0<=a;a--)t=o[a],"."===t?o.splice(a,1):".."===t?(o.splice(a,1),d++):d&&(o.splice(a,1),d--);if(e)for(;d--;d)o.unshift("..");return o}function t(o,e){if(o.filter)return o.filter(e);for(var t=[],n=0;n<o.length;n++)e(o[n],n,o)&&t.push(o[n]);return t}pt.normalize=function(r){var d=pt.isAbsolute(r),a="/"===n(r,-1);return(r=o(t(r.split("/"),function(t){return!!t}),!d).join("/"))||d||(r="."),r&&a&&(r+="/"),(d?"/":"")+r},pt.isAbsolute=function(t){return"/"===t.charAt(0)},pt.join=function(){var n=Array.prototype.slice.call(arguments,0);return pt.normalize(t(n,function(t){if("string"!=typeof t)throw new TypeError("Arguments to path.join must be strings");return t}).join("/"))},pt.sep="/",pt.dirname=function(o){if("string"!=typeof o&&(o+=""),0===o.length)return".";for(var d=o.charCodeAt(0),a=47===d,n=-1,l=!0,c=o.length-1;1<=c;--c)if(!(47===(d=o.charCodeAt(c))))l=!1;else if(!l){n=c;break}return-1==n?a?"/":".":a&&1==n?"/":o.slice(0,n)},pt.basename=function(r,e){var t=function(o){"string"!=typeof o&&(o+="");var d,a=0,s=-1,l=!0;for(d=o.length-1;0<=d;--d)if(!(47===o.charCodeAt(d)))-1===s&&(l=!1,s=d+1);else if(!l){a=d+1;break}return-1===s?"":o.slice(a,s)}(r);return e&&t.substr(-1*e.length)===e&&(t=t.substr(0,t.length-e.length)),t},pt.extname=function(d){"string"!=typeof d&&(d+="");for(var l,c=-1,u=0,f=-1,p=!0,h=0,g=d.length-1;0<=g;--g)if(l=d.charCodeAt(g),47!==l)-1==f&&(p=!1,f=g+1),46===l?-1==c?c=g:1!=h&&(h=1):-1!=c&&(h=-1);else if(!p){u=g+1;break}return-1==c||-1==f||0==h||1==h&&c==f-1&&c==u+1?"":d.slice(c,f)};var n=function(r,e,t){return r.substr(e,t)}}).call(this,pe);var gt;gt=ht,ht.strict=bt,ht.loose=wt;var Uo=Object.prototype.toString,_t={"[object Int8Array]":!0,"[object Int16Array]":!0,"[object Int32Array]":!0,"[object Uint8Array]":!0,"[object Uint8ClampedArray]":!0,"[object Uint16Array]":!0,"[object Uint32Array]":!0,"[object Float32Array]":!0,"[object Float64Array]":!0},yt={};(function(o){var e=gt.strict;yt=function(t){if(e(t)){var n=o.from(t.buffer);return t.byteLength!==t.buffer.byteLength&&(n=n.slice(t.byteOffset,t.byteOffset+t.byteLength)),n}return o.from(t)}}).call(this,p({}).Buffer);const{Readable:Po}=st;var kt=class extends Po{constructor(r,e={}){super(e),this._offset=0,this._ready=!1,this._file=r,this._size=r.size,this._chunkSize=e.chunkSize||to(this._size/1e3,204800);const t=new FileReader;t.onload=()=>{this.push(yt(t.result))},t.onerror=()=>{this.emit("error",t.error)},this.reader=t,this._generateHeaderBlocks(r,e,(n,e)=>n?this.emit("error",n):void(Array.isArray(e)&&e.forEach(t=>this.push(t)),this._ready=!0,this.emit("_ready")))}_generateHeaderBlocks(r,e,t){t(null,[])}_read(){if(!this._ready)return void this.once("_ready",this._read.bind(this));const n=this._offset;let e=this._offset+this._chunkSize;return(e>this._size&&(e=this._size),n===this._size)?(this.destroy(),void this.push(null)):void(this.reader.readAsArrayBuffer(this._file.slice(n,e)),this._offset=e)}destroy(){if(this._file=null,this.reader){this.reader.onload=null,this.reader.onerror=null;try{this.reader.abort()}catch(t){}}this.reader=null}},St={},Ct={};(Ct=function(n,r){return r?void St.stat(n,function(t,e){return t?r(t):r(null,e.isFile())}):vt(n)}).sync=vt;var Mo={};Mo.regex=new RegExp("^npm-debug\\.log$|^\\..*\\.swp$|^\\.DS_Store$|^\\.AppleDouble$|^\\.LSOverride$|^Icon\\r$|^\\._.*|^\\.Spotlight-V100(?:$|\\/)|\\.Trashes|^__MACOSX$|~$|^Thumbs\\.db$|^ehthumbs\\.db$|^Desktop\\.ini$|@eaDir$"),Mo.is=t=>Mo.regex.test(t),Mo.not=t=>!Mo.is(t);Me(Tt,st.Readable),Tt.obj=function(t){return new Tt(t,{objectMode:!0,highWaterMark:16})},Tt.prototype._read=function(){this._drained=!0,this._forward()},Tt.prototype._forward=function(){if(!this._forwarding&&this._drained&&this._current){var t;for(this._forwarding=!0;null!==(t=this._current.read())&&this._drained;)this._drained=this.push(t);this._forwarding=!1}},Tt.prototype.destroy=function(t){this.destroyed||(this.destroyed=!0,this._current&&this._current.destroy&&this._current.destroy(),"function"!=typeof this._queue&&this._queue.forEach(function(t){t.destroy&&t.destroy()}),t&&this.emit("error",t),this.emit("close"))},Tt.prototype._next=function(){var r=this;if(r._current=null,"function"==typeof r._queue)r._queue(function(e,t){return e?r.destroy(e):void(t=r._toStreams2(t),r._attachErrorListener(t),r._gotNextStream(t))});else{var e=r._queue.shift();"function"==typeof e&&(e=r._toStreams2(e()),r._attachErrorListener(e)),r._gotNextStream(e)}},Tt.prototype._gotNextStream=function(o){function e(){r._forward()}function n(){o._readableState.ended||r.destroy()}var r=this;return o?void(r._current=o,r._forward(),o.on("readable",e),o.once("end",function t(){r._current=null,o.removeListener("readable",e),o.removeListener("end",t),o.removeListener("close",n),r._next()}),o.once("close",n)):(r.push(null),void r.destroy())},Tt.prototype._attachErrorListener=function(o){var e=this;o&&o.once("error",function t(n){o.removeListener("error",t),e.destroy(n)})};var At=function o(d,e){function t(){for(var t=Array(arguments.length),e=0;e<t.length;e++)t[e]=arguments[e];var o=d.apply(this,t),r=t[t.length-1];return"function"==typeof o&&o!==r&&Object.keys(r).forEach(function(t){o[t]=r[t]}),o}if(d&&e)return o(d)(e);if("function"!=typeof d)throw new TypeError("need wrapper function");return Object.keys(d).forEach(function(n){t[n]=d[n]}),t},Ot={};(Ot=At(Rt)).strict=At(Ut),Rt.proto=Rt(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return Rt(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return Ut(this)},configurable:!0})});var Oo={};(function(d){Oo=function(l,e){function c(n){function t(){e&&e(n,u),e=null}p?d.nextTick(t):t()}function a(r,e,t){u[r]=t,(0==--f||e)&&c(e)}var u,f,t,p=!0;Array.isArray(l)?(u=[],f=l.length):(t=Object.keys(l),u={},f=t.length),f?t?t.forEach(function(r){l[r](function(e,t){a(r,e,t)})}):l.forEach(function(n,r){n(function(t,e){a(r,t,e)})}):c(null),p=!1}}).call(this,pe);var No,Ho,Do={exports:{}};No="undefined"==typeof self?this:self,Ho=function(){return function(o){function d(t){if(e[t])return e[t].exports;var n=e[t]={i:t,l:!1,exports:{}};return o[t].call(n.exports,n,n.exports,d),n.l=!0,n.exports}var e={};return d.m=o,d.c=e,d.d=function(n,e,t){d.o(n,e)||Object.defineProperty(n,e,{configurable:!1,enumerable:!0,get:t})},d.n=function(n){var e=n&&n.__esModule?function(){return n.default}:function(){return n};return d.d(e,"a",e),e},d.o=function(n,e){return Object.prototype.hasOwnProperty.call(n,e)},d.p="",d(d.s=3)}([function(d,e,t){var n=t(5),r=t(1),i=r.toHex,s=r.ceilHeapSize,o=t(6),a=function(t){for(t+=9;0<t%64;t+=1);return t},l=function(o,e){var t=new Int32Array(o,e+320,5),n=new Int32Array(5),r=new DataView(n.buffer);return r.setInt32(0,t[0],!1),r.setInt32(4,t[1],!1),r.setInt32(8,t[2],!1),r.setInt32(12,t[3],!1),r.setInt32(16,t[4],!1),n},c=function(){function r(e){if(function(e){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}(this),0<(e=e||65536)%64)throw new Error("Chunk size must be a multiple of 128 bit");this._offset=0,this._maxChunkLen=e,this._padMaxChunkLen=a(e),this._heap=new ArrayBuffer(s(this._padMaxChunkLen+320+20)),this._h32=new Int32Array(this._heap),this._h8=new Int8Array(this._heap),this._core=new n({Int32Array:Int32Array},{},this._heap)}return r.prototype._initState=function(r,e){this._offset=0;var t=new Int32Array(r,e+320,5);t[0]=1732584193,t[1]=-271733879,t[2]=-1732584194,t[3]=271733878,t[4]=-1009589776},r.prototype._padChunk=function(o,e){var t=a(o),n=new Int32Array(this._heap,0,t>>2);return function(o,e){var t=new Uint8Array(o.buffer),n=e%4,r=e-n;switch(n){case 0:t[r+3]=0;case 1:t[r+2]=0;case 2:t[r+1]=0;case 3:t[r+0]=0;}for(var d=1+(e>>2);d<o.length;d++)o[d]=0}(n,o),function(r,e,t){r[e>>2]|=128<<24-(e%4<<3),r[14+(-16&2+(e>>2))]=0|t/536870912,r[15+(-16&2+(e>>2))]=t<<3}(n,o,e),t},r.prototype._write=function(d,e,t,n){o(d,this._h8,this._h32,e,t,n||0)},r.prototype._coreCall=function(o,e,t,n,r){var d=t;this._write(o,e,t),r&&(d=this._padChunk(t,n)),this._core.hash(d,this._padMaxChunkLen)},r.prototype.rawDigest=function(o){var e=o.byteLength||o.length||o.size||0;this._initState(this._heap,this._padMaxChunkLen);var t=0,d=this._maxChunkLen;for(t=0;e>t+d;t+=d)this._coreCall(o,t,d,e,!1);return this._coreCall(o,t,e-t,e,!0),l(this._heap,this._padMaxChunkLen)},r.prototype.digest=function(t){return i(this.rawDigest(t).buffer)},r.prototype.digestFromString=function(t){return this.digest(t)},r.prototype.digestFromBuffer=function(t){return this.digest(t)},r.prototype.digestFromArrayBuffer=function(t){return this.digest(t)},r.prototype.resetState=function(){return this._initState(this._heap,this._padMaxChunkLen),this},r.prototype.append=function(o){var e,d=0,a=o.byteLength||o.length||o.size||0,n=this._offset%this._maxChunkLen;for(this._offset+=a;d<a;)e=ao(a-d,this._maxChunkLen-n),this._write(o,d,e,n),d+=e,(n+=e)===this._maxChunkLen&&(this._core.hash(this._maxChunkLen,this._padMaxChunkLen),n=0);return this},r.prototype.getState=function(){var n;if(this._offset%this._maxChunkLen)n=this._heap.slice(0);else{var r=new Int32Array(this._heap,this._padMaxChunkLen+320,5);n=r.buffer.slice(r.byteOffset,r.byteOffset+r.byteLength)}return{offset:this._offset,heap:n}},r.prototype.setState=function(t){return this._offset=t.offset,20===t.heap.byteLength?new Int32Array(this._heap,this._padMaxChunkLen+320,5).set(new Int32Array(t.heap)):this._h32.set(new Int32Array(t.heap)),this},r.prototype.rawEnd=function(){var o=this._offset,e=o%this._maxChunkLen,t=this._padChunk(e,o);this._core.hash(t,this._padMaxChunkLen);var n=l(this._heap,this._padMaxChunkLen);return this._initState(this._heap,this._padMaxChunkLen),n},r.prototype.end=function(){return i(this.rawEnd().buffer)},r}();d.exports=c,d.exports._core=n},function(t){for(var o=Array(256),e=0;256>e;e++)o[e]=(16>e?"0":"")+e.toString(16);t.exports.toHex=function(n){for(var e=new Uint8Array(n),t=Array(n.byteLength),r=0;r<t.length;r++)t[r]=o[e[r]];return t.join("")},t.exports.ceilHeapSize=function(n){var e=0;if(65536>=n)return 65536;if(16777216>n)for(e=1;e<n;e<<=1);else for(e=16777216;e<n;e+=16777216);return e},t.exports.isDedicatedWorkerScope=function(o){var e="WorkerGlobalScope"in o&&o instanceof o.WorkerGlobalScope,t="SharedWorkerGlobalScope"in o&&o instanceof o.SharedWorkerGlobalScope,n="ServiceWorkerGlobalScope"in o&&o instanceof o.ServiceWorkerGlobalScope;return e&&!t&&!n}},function(r,e,o){r.exports=function(){var d=o(0),l=function(t,e,d,r,i){var s=new self.FileReader;s.onloadend=function(){if(s.error)return i(s.error);var n=s.result;e+=s.result.byteLength;try{t.append(n)}catch(e){return void i(e)}e<r.size?l(t,e,d,r,i):i(null,t.end())},s.readAsArrayBuffer(r.slice(e,e+d))},e=!0;return self.onmessage=function(t){if(e){var n=t.data.data,r=t.data.file,i=t.data.id;if(void 0!==i&&(r||n)){var o=t.data.blockSize||4194304,a=new d(o);a.resetState();var s=function(n,e){n?self.postMessage({id:i,error:n.name}):self.postMessage({id:i,hash:e})};n&&function(r,e,t){try{t(null,r.digest(e))}catch(e){return t(e)}}(a,n,s),r&&l(a,0,o,r,s)}}},function(){e=!1}}},function(d,e,t){var n=t(4),r=t(0),i=t(7),s=t(2),o=t(1).isDedicatedWorkerScope,a="undefined"!=typeof self&&o(self);r.disableWorkerBehaviour=a?s():function(){},r.createWorker=function(){var r=n(2),e=r.terminate;return r.terminate=function(){URL.revokeObjectURL(r.objectURL),e.call(r)},r},r.createHash=i,d.exports=r},function(d,e,f){function n(o){function d(t){if(e[t])return e[t].exports;var n=e[t]={i:t,l:!1,exports:{}};return o[t].call(n.exports,n,n.exports,d),n.l=!0,n.exports}var e={};d.m=o,d.c=e,d.i=function(t){return t},d.d=function(n,e,t){d.o(n,e)||Object.defineProperty(n,e,{configurable:!1,enumerable:!0,get:t})},d.r=function(t){Object.defineProperty(t,"__esModule",{value:!0})},d.n=function(n){var e=n&&n.__esModule?function(){return n.default}:function(){return n};return d.d(e,"a",e),e},d.o=function(n,e){return Object.prototype.hasOwnProperty.call(n,e)},d.p="/",d.oe=function(t){throw console.error(t),t};var t=d(d.s=ENTRY_MODULE);return t.default||t}function t(t){return(t+"").replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}function r(n,e,o){var r={};r[o]=[];var a=e.toString(),i=a.match(/^function\s?\(\w+,\s*\w+,\s*(\w+)\)/);if(!i)return r;for(var s,c=i[1],d=new RegExp("(\\\\n|\\W)"+t(c)+"\\((/\\*.*?\\*/)?s?.*?([\\.|\\-|\\+|\\w|/|@]+).*?\\)","g");s=d.exec(a);)"dll-reference"!==s[3]&&r[o].push(s[3]);for(d=new RegExp("\\("+t(c)+"\\(\"(dll-reference\\s("+"[\\.|\\-|\\+|\\w|/|@]+"+"))\"\\)\\)"+"\\((/\\*.*?\\*/)?s?.*?([\\.|\\-|\\+|\\w|/|@]+).*?\\)","g");s=d.exec(a);)n[s[2]]||(r[o].push(s[1]),n[s[2]]=f(s[1]).m),r[s[2]]=r[s[2]]||[],r[s[2]].push(s[4]);return r}function a(r){return Object.keys(r).reduce(function(e,t){return e||0<r[t].length},!1)}d.exports=function(l,e){e=e||{};var p={main:f.m},i=e.all?{main:Object.keys(p)}:function(p,e){for(var t={main:[e]},n={main:[]},h={main:{}};a(t);)for(var i=Object.keys(t),s=0;s<i.length;s++){var g=i[s],c=t[g].pop();if(h[g]=h[g]||{},!h[g][c]&&p[g][c]){h[g][c]=!0,n[g]=n[g]||[],n[g].push(c);for(var u=r(p,p[g][c],g),d=Object.keys(u),l=0;l<d.length;l++)t[d[l]]=t[d[l]]||[],t[d[l]]=t[d[l]].concat(u[d[l]])}}return n}(p,l),s="";Object.keys(i).filter(function(t){return"main"!==t}).forEach(function(r){for(var e=0;i[r][e];)e++;i[r].push(e),p[r][e]="(function(module, exports, __webpack_require__) { module.exports = __webpack_require__; })",s=s+"var "+r+" = ("+n.toString().replace("ENTRY_MODULE",JSON.stringify(e))+")({"+i[r].map(function(e){return JSON.stringify(e)+": "+p[r][e].toString()}).join(",")+"});\n"}),s=s+"("+n.toString().replace("ENTRY_MODULE",JSON.stringify(l))+")({"+i.main.map(function(t){return JSON.stringify(t)+": "+p.main[t].toString()}).join(",")+"})(self);";var h=new window.Blob([s],{type:"text/javascript"});if(e.bare)return h;var c=(window.URL||window.webkitURL||window.mozURL||window.msURL).createObjectURL(h),u=new window.Worker(c);return u.objectURL=c,u}},function(t){t.exports=function(o,e,t){"use asm";function n(r,b){r|=0,b|=0;var y=0,w=0,S=0,k=0,E=0,v=0,C=0,x=0,L=0,T=0,B=0,I=0,R=0,A=0;for(S=0|_[b+320>>2],E=0|_[b+324>>2],C=0|_[b+328>>2],L=0|_[b+332>>2],B=0|_[b+336>>2],y=0;(0|y)<(0|r);y=0|y+64){for(k=S,v=E,x=C,T=L,I=B,w=0;64>(0|w);w=0|w+4)A=0|_[y+w>>2],R=0|(0|(S<<5|S>>>27)+(E&C|~E&L))+(0|(0|A+B)+1518500249),B=L,L=C,C=E<<30|E>>>2,E=S,S=R,_[r+w>>2]=A;for(w=0|r+64;(0|w)<(0|r+80);w=0|w+4)A=(_[w-12>>2]^_[w-32>>2]^_[w-56>>2]^_[w-64>>2])<<1|(_[w-12>>2]^_[w-32>>2]^_[w-56>>2]^_[w-64>>2])>>>31,R=0|(0|(S<<5|S>>>27)+(E&C|~E&L))+(0|(0|A+B)+1518500249),B=L,L=C,C=E<<30|E>>>2,E=S,S=R,_[w>>2]=A;for(w=0|r+80;(0|w)<(0|r+160);w=0|w+4)A=(_[w-12>>2]^_[w-32>>2]^_[w-56>>2]^_[w-64>>2])<<1|(_[w-12>>2]^_[w-32>>2]^_[w-56>>2]^_[w-64>>2])>>>31,R=0|(0|(S<<5|S>>>27)+(E^C^L))+(0|(0|A+B)+1859775393),B=L,L=C,C=E<<30|E>>>2,E=S,S=R,_[w>>2]=A;for(w=0|r+160;(0|w)<(0|r+240);w=0|w+4)A=(_[w-12>>2]^_[w-32>>2]^_[w-56>>2]^_[w-64>>2])<<1|(_[w-12>>2]^_[w-32>>2]^_[w-56>>2]^_[w-64>>2])>>>31,R=0|(0|(S<<5|S>>>27)+(E&C|E&L|C&L))+(0|(0|A+B)-1894007588),B=L,L=C,C=E<<30|E>>>2,E=S,S=R,_[w>>2]=A;for(w=0|r+240;(0|w)<(0|r+320);w=0|w+4)A=(_[w-12>>2]^_[w-32>>2]^_[w-56>>2]^_[w-64>>2])<<1|(_[w-12>>2]^_[w-32>>2]^_[w-56>>2]^_[w-64>>2])>>>31,R=0|(0|(S<<5|S>>>27)+(E^C^L))+(0|(0|A+B)-899497514),B=L,L=C,C=E<<30|E>>>2,E=S,S=R,_[w>>2]=A;S=0|S+k,E=0|E+v,C=0|C+x,L=0|L+T,B=0|B+I}_[b+320>>2]=S,_[b+324>>2]=E,_[b+328>>2]=C,_[b+332>>2]=L,_[b+336>>2]=B}var _=new o.Int32Array(t);return{hash:n}}},function(t){var l,d=this;"undefined"!=typeof self&&void 0!==self.FileReaderSync&&(l=new self.FileReaderSync);var n=function(d,e,t,n,r,i){var s,l=i%4,a=(r+l)%4,u=r-a;switch(l){case 0:e[i]=d[n+3];case 1:e[0|i+1-(l<<1)]=d[n+2];case 2:e[0|i+2-(l<<1)]=d[n+1];case 3:e[0|i+3-(l<<1)]=d[n];}if(!(r<a+(4-l))){for(s=4-l;s<u;s=0|s+4)t[0|i+s>>2]=d[n+s]<<24|d[n+s+1]<<16|d[n+s+2]<<8|d[n+s+3];switch(a){case 3:e[0|i+u+1]=d[n+u+2];case 2:e[0|i+u+2]=d[n+u+1];case 1:e[0|i+u+3]=d[n+u];}}};t.exports=function(r,e,t,i,o,a){if("string"==typeof r)return function(d,e,t,n,r,i){var s,l=i%4,a=(r+l)%4,u=r-a;switch(l){case 0:e[i]=d.charCodeAt(n+3);case 1:e[0|i+1-(l<<1)]=d.charCodeAt(n+2);case 2:e[0|i+2-(l<<1)]=d.charCodeAt(n+1);case 3:e[0|i+3-(l<<1)]=d.charCodeAt(n);}if(!(r<a+(4-l))){for(s=4-l;s<u;s=0|s+4)t[i+s>>2]=d.charCodeAt(n+s)<<24|d.charCodeAt(n+s+1)<<16|d.charCodeAt(n+s+2)<<8|d.charCodeAt(n+s+3);switch(a){case 3:e[0|i+u+1]=d.charCodeAt(n+u+2);case 2:e[0|i+u+2]=d.charCodeAt(n+u+1);case 1:e[0|i+u+3]=d.charCodeAt(n+u);}}}(r,e,t,i,o,a);if(r instanceof Array)return n(r,e,t,i,o,a);if(d&&d.Buffer&&d.Buffer.isBuffer(r))return n(r,e,t,i,o,a);if(r instanceof ArrayBuffer)return n(new Uint8Array(r),e,t,i,o,a);if(r.buffer instanceof ArrayBuffer)return n(new Uint8Array(r.buffer,r.byteOffset,r.byteLength),e,t,i,o,a);if(r instanceof Blob)return function(r,e,t,n,i,s){var o,f=s%4,p=(i+f)%4,c=i-p,u=new Uint8Array(l.readAsArrayBuffer(r.slice(n,n+i)));switch(f){case 0:e[s]=u[3];case 1:e[0|s+1-(f<<1)]=u[2];case 2:e[0|s+2-(f<<1)]=u[1];case 3:e[0|s+3-(f<<1)]=u[0];}if(!(i<p+(4-f))){for(o=4-f;o<c;o=0|o+4)t[0|s+o>>2]=u[o]<<24|u[o+1]<<16|u[o+2]<<8|u[o+3];switch(p){case 3:e[0|s+c+1]=u[c+2];case 2:e[0|s+c+2]=u[c+1];case 1:e[0|s+c+3]=u[c];}}}(r,e,t,i,o,a);throw new Error("Unsupported data type.")}},function(o,e,t){var n=t(0),r=t(1).toHex,d=function(){function o(){!function(e){if(!(e instanceof o))throw new TypeError("Cannot call a class as a function")}(this),this._rusha=new n,this._rusha.resetState()}return o.prototype.update=function(t){return this._rusha.append(t),this},o.prototype.digest=function(n){var e=this._rusha.rawEnd().buffer;if(!n)return e;if("hex"===n)return r(e);throw new Error("unsupported digest encoding")},o}();o.exports=function(){return new d}}])},"object"==typeof Do.exports?Do.exports=Ho():"object"==typeof Do.exports?Do.exports.Rusha=Ho():No.Rusha=Ho(),Do=Do.exports;var qo={},Fo=new Do,Wt="undefined"==typeof window?self:window,zt=Wt.crypto||Wt.msCrypto||{},$t=zt.subtle||zt.webkitSubtle;try{$t.digest({name:"sha-1"},new Uint8Array).catch(function(){$t=!1})}catch(e){$t=!1}(qo=function(n,r){$t?("string"==typeof n&&(n=function(o){for(var e=o.length,t=new Uint8Array(e),n=0;n<e;n++)t[n]=o.charCodeAt(n);return t}(n)),$t.digest({name:"sha-1"},n).then(function(t){r(function(o){for(var e,d=o.length,t=[],n=0;n<d;n++)e=o[n],t.push((e>>>4).toString(16)),t.push((15&e).toString(16));return t.join("")}(new Uint8Array(t)))},function(){r(Pt(n))})):setTimeout(r,0,Pt(n))}).sync=Pt;var Wo={};(function(p,d,u){function f(t){return t.reduce((n,e)=>Array.isArray(e)?n.concat(f(e)):n.concat(e),[])}function l(s,c,i){function a(){Oo(s.map(a=>e=>{const t={};if(n(a))t.getStream=function(t){return()=>new kt(t)}(a),t.length=a.size;else if(u.isBuffer(a))t.getStream=function(n){return()=>{const e=new st.PassThrough;return e.end(n),e}}(a),t.length=a.length;else{if(!o(a)){if("string"==typeof a){if("function"!=typeof St.stat)throw new Error("filesystem paths do not work in the browser");return void function(o,d,t){!function o(e,t,n){St.stat(e,(r,d)=>r?n(r):void(d.isDirectory()?St.readdir(e,(r,d)=>r?n(r):void Oo(d.filter(g).filter(Mo.not).map(n=>r=>{o(pt.join(e,n),t,r)}),n)):d.isFile()&&t(e,n)))}(o,r,(e,n)=>e?t(e):void(n=Array.isArray(n)?f(n):[n],o=pt.normalize(o),d&&(o=o.slice(0,o.lastIndexOf(pt.sep)+1)),o[o.length-1]!==pt.sep&&(o+=pt.sep),n.forEach(e=>{e.getStream=function(t){return()=>St.createReadStream(t)}(e.path),e.path=e.path.replace(o,"").split(pt.sep)}),t(null,n)))}(a,1<m||d,e)}throw new Error("invalid input type")}t.getStream=function(r,o){return()=>{const e=new st.Transform;return e._transform=function(t,e,n){o.length+=t.length,this.push(t),n()},r.pipe(e),e}}(a,t),t.length=0}t.path=a.path,e(null,t)}),(n,e)=>n?i(n):void(e=f(e),i(null,e,d)))}if("undefined"!=typeof FileList&&s instanceof FileList&&(s=Array.from(s)),Array.isArray(s)||(s=[s]),0===s.length)throw new Error("invalid input type");s.forEach(t=>{if(null==t)throw new Error(`invalid input type: ${t}`)}),1!==(s=s.map(t=>n(t)&&"string"==typeof t.path&&"function"==typeof St.stat?t.path:t)).length||"string"==typeof s[0]||s[0].name||(s[0].name=c.name);let h=null;s.forEach((t,e)=>{if("string"==typeof t)return;let n=t.fullPath||t.name;n||(n=`Unknown File ${e+1}`,t.unknownName=!0),t.path=n.split("/"),t.path[0]||t.path.shift(),2>t.path.length?h=null:0===e&&1<s.length?h=t.path[0]:t.path[0]!==h&&(h=null)}),s=s.filter(n=>{if("string"==typeof n)return!0;const e=n.path[n.path.length-1];return g(e)&&Mo.not(e)}),h&&s.forEach(n=>{const e=(u.isBuffer(n)||o(n))&&!n.path;"string"==typeof n||e||n.path.shift()}),!c.name&&h&&(c.name=h),c.name||s.some(t=>"string"==typeof t?(c.name=pt.basename(t),!0):t.unknownName?void 0:(c.name=t.path[t.path.length-1],!0)),c.name||(c.name=`Unnamed Torrent ${Date.now()}`);const m=s.reduce((n,e)=>n+ +("string"==typeof e),0);let d=1===s.length;if(1===s.length&&"string"==typeof s[0]){if("function"!=typeof St.stat)throw new Error("filesystem paths do not work in the browser");Ct(s[0],(n,e)=>n?i(n):void(d=e,a()))}else p.nextTick(()=>{a()})}function r(o,e){e=Ot(e),St.stat(o,(t,n)=>{if(t)return e(t);const r={length:n.size,path:o};e(null,r)})}function g(t){return"."!==t[0]}function t(n,e){return n+e.length}function n(t){return"undefined"!=typeof Blob&&t instanceof Blob}function o(t){return"object"==typeof t&&null!=t&&"function"==typeof t.pipe}(Wo=function(n,a,c){"function"==typeof a&&([a,c]=[c,a]),l(n,a=a?Object.assign({},a):{},(n,e,r)=>n?c(n):void(a.singleFileTorrent=r,function(a,e,r){let n=e.announceList;n||("string"==typeof e.announce?n=[[e.announce]]:Array.isArray(e.announce)&&(n=e.announce.map(t=>[t]))),n||(n=[]),d.WEBTORRENT_ANNOUNCE&&("string"==typeof d.WEBTORRENT_ANNOUNCE?n.push([[d.WEBTORRENT_ANNOUNCE]]):Array.isArray(d.WEBTORRENT_ANNOUNCE)&&(n=n.concat(d.WEBTORRENT_ANNOUNCE.map(t=>[t])))),void 0===e.announce&&void 0===e.announceList&&(n=n.concat(Wo.announceList)),"string"==typeof e.urlList&&(e.urlList=[e.urlList]);const i={info:{name:e.name},"creation date":eo((+e.creationDate||Date.now())/1e3),encoding:"UTF-8"};0!==n.length&&(i.announce=n[0][0],i["announce-list"]=n),void 0!==e.comment&&(i.comment=e.comment),void 0!==e.createdBy&&(i["created by"]=e.createdBy),void 0!==e.private&&(i.info.private=+e.private),void 0!==e.sslCert&&(i.info["ssl-cert"]=e.sslCert),void 0!==e.urlList&&(i["url-list"]=e.urlList);const o=e.pieceLength||(l=a.reduce(t,0),Ro(l/dt,Ao));var l;i.info["piece length"]=o,function(n,e,t){function _(n){i+=n.length;const r=y;qo(n,t=>{m[r]=t,o-=1,g()}),o+=1,y+=1}function l(){w=!0,g()}function f(n){p(),t(n)}function p(){S.removeListener("error",f),k.removeListener("data",_),k.removeListener("end",l),k.removeListener("error",f)}function g(){w&&0==o&&(p(),t(null,u.from(m.join(""),"hex"),i))}t=Ot(t);const m=[];let i=0;const b=n.map(t=>t.getStream);let o=0,y=0,w=!1;const S=new Tt(b),k=new Io(e,{zeroPadding:!1});S.on("error",f),S.pipe(k).on("data",_).on("end",l).on("error",f)}(a,o,(o,t,n)=>o?r(o):void(i.info.pieces=t,a.forEach(t=>{delete t.getStream}),e.singleFileTorrent?i.info.length=n:i.info.files=a,r(null,te.encode(i))))}(e,a,c)))}).parseInput=function(r,e,o){"function"==typeof e&&([e,o]=[o,e]),l(r,e=e?Object.assign({},e):{},o)},Wo.announceList=[["udp://tracker.leechers-paradise.org:6969"],["udp://tracker.coppersurfer.tk:6969"],["udp://tracker.opentrackr.org:1337"],["udp://explodie.org:6969"],["udp://tracker.empire-js.us:1337"],["wss://tracker.btorrent.xyz"],["wss://tracker.openwebtorrent.com"],["wss://tracker.fastcast.nz"]]}).call(this,pe,"undefined"==typeof global?"undefined"==typeof self?"undefined"==typeof window?{}:window:self:global,p({}).Buffer);var jo={};(function(n){jo.log=function(...t){return"object"==typeof console&&console.log&&console.log(...t)},jo.formatArgs=function(o){if(o[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+o[0]+(this.useColors?"%c ":" ")+"+"+jo.humanize(this.diff),!this.useColors)return;const e="color: "+this.color;o.splice(1,0,e,"color: inherit");let t=0,d=0;o[0].replace(/%[a-zA-Z%]/g,n=>{"%%"!==n&&(t++,"%c"===n&&(d=t))}),o.splice(d,0,e)},jo.save=function(t){try{t?jo.storage.setItem("debug",t):jo.storage.removeItem("debug")}catch(e){}},jo.load=function(){let e;try{e=jo.storage.getItem("debug")}catch(e){}return!e&&void 0!==n&&"env"in n&&(e=n.env.DEBUG),e},jo.useColors=function(){return"undefined"!=typeof window&&window.process&&("renderer"===window.process.type||window.process.__nwjs)||("undefined"==typeof navigator||!navigator.userAgent||!navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))&&("undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&31<=parseInt(RegExp.$1,10)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))},jo.storage=function(){try{return localStorage}catch(t){}}(),jo.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"],jo=function(o){function d(r){let e=0;for(let t=0;t<r.length;t++)e=(e<<5)-e+r.charCodeAt(t),e|=0;return l.colors[oo(e)%l.colors.length]}function l(r){function c(...d){if(!c.enabled)return;const e=c,t=+new Date,n=t-(o||t);e.diff=n,e.prev=o,e.curr=t,o=t,d[0]=l.coerce(d[0]),"string"!=typeof d[0]&&d.unshift("%O");let u=0;d[0]=d[0].replace(/%([a-zA-Z%])/g,(t,n)=>{if("%%"===t)return t;u++;const o=l.formatters[n];if("function"==typeof o){const r=d[u];t=o.call(e,r),d.splice(u,1),u--}return t}),l.formatArgs.call(e,d),(e.log||l.log).apply(e,d)}let o;return c.namespace=r,c.enabled=l.enabled(r),c.useColors=l.useColors(),c.color=d(r),c.destroy=t,c.extend=n,"function"==typeof l.init&&l.init(c),l.instances.push(c),c}function t(){const t=l.instances.indexOf(this);return-1!==t&&(l.instances.splice(t,1),!0)}function n(n,e){const t=l(this.namespace+(void 0===e?":":e)+n);return t.log=this.log,t}function r(t){return t.toString().substring(2,t.toString().length-2).replace(/\.\*\?$/,"*")}return l.debug=l,l.default=l,l.coerce=function(t){return t instanceof Error?t.stack||t.message:t},l.disable=function(){const t=[...l.names.map(r),...l.skips.map(r).map(t=>"-"+t)].join(",");return l.enable(""),t},l.enable=function(n){let o;l.save(n),l.names=[],l.skips=[];const d=("string"==typeof n?n:"").split(/[\s,]+/),r=d.length;for(o=0;o<r;o++)d[o]&&("-"===(n=d[o].replace(/\*/g,".*?"))[0]?l.skips.push(new RegExp("^"+n.substr(1)+"$")):l.names.push(new RegExp("^"+n+"$")));for(o=0;o<l.instances.length;o++){const t=l.instances[o];t.enabled=l.enabled(t.namespace)}},l.enabled=function(n){if("*"===n[n.length-1])return!0;let e,o;for(e=0,o=l.skips.length;e<o;e++)if(l.skips[e].test(n))return!1;for(e=0,o=l.names.length;e<o;e++)if(l.names[e].test(n))return!0;return!1},l.humanize=a({}),Object.keys(o).forEach(e=>{l[e]=o[e]}),l.instances=[],l.names=[],l.skips=[],l.formatters={},l.selectColor=d,l.enable(l.load()),l}(jo);const{formatters:e}=jo;e.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}}).call(this,pe);var zo={};(function(o){zo=function(e,d){if("undefined"==typeof Blob||!(e instanceof Blob))throw new Error("first argument must be a Blob");if("function"!=typeof d)throw new Error("second argument must be a function");var n=new FileReader;n.addEventListener("loadend",function e(t){n.removeEventListener("loadend",e,!1),t.error?d(t.error):d(null,o.from(n.result))},!1),n.readAsArrayBuffer(e)}}).call(this,p({}).Buffer);var Vo={};(function(d){function a(){if(void 0!==r)return r;if(d.XMLHttpRequest){r=new d.XMLHttpRequest;try{r.open("GET",d.XDomainRequest?"/":"https://example.com")}catch(e){r=null}}else r=null;return r}function e(n){var e=a();if(!e)return!1;try{return e.responseType=n,e.responseType===n}catch(e){}return!1}function n(t){return"function"==typeof t}Vo.fetch=n(d.fetch)&&n(d.ReadableStream),Vo.writableStream=n(d.WritableStream),Vo.abortController=n(d.AbortController),Vo.blobConstructor=!1;try{new Blob([new ArrayBuffer(1)]),Vo.blobConstructor=!0}catch(e){}var r,o=void 0!==d.ArrayBuffer,i=o&&n(d.ArrayBuffer.prototype.slice);Vo.arraybuffer=Vo.fetch||o&&e("arraybuffer"),Vo.msstream=!Vo.fetch&&i&&e("ms-stream"),Vo.mozchunkedarraybuffer=!Vo.fetch&&o&&e("moz-chunked-arraybuffer"),Vo.overrideMimeType=Vo.fetch||!!a()&&n(a().overrideMimeType),Vo.vbArray=n(d.VBArray),r=null}).call(this,"undefined"==typeof global?"undefined"==typeof self?"undefined"==typeof window?{}:window:self:global);var Xt={};(function(d){"use strict";Xt=void 0!==d&&d.version&&0!==d.version.indexOf("v0.")&&(0!==d.version.indexOf("v1.")||0===d.version.indexOf("v1.8."))?d:{nextTick:function(e,t,n,r){if("function"!=typeof e)throw new TypeError("\"callback\" argument must be a function");var i,l,c=arguments.length;switch(c){case 0:case 1:return d.nextTick(e);case 2:return d.nextTick(function(){e.call(null,t)});case 3:return d.nextTick(function(){e.call(null,t,n)});case 4:return d.nextTick(function(){e.call(null,t,n,r)});default:for(i=Array(c-1),l=0;l<i.length;)i[l++]=arguments[l];return d.nextTick(function(){e.apply(null,i)});}}}}).call(this,pe);var Go={}.toString,Qt=Array.isArray||function(t){return"[object Array]"==Go.call(t)},en=m.EventEmitter,tn={},Ko=p({}),rn=Ko.Buffer;rn.from&&rn.alloc&&rn.allocUnsafe&&rn.allocUnsafeSlow?tn=Ko:(Nt(Ko,tn),tn.Buffer=Gt),Nt(rn,Gt),Gt.from=function(r,e,t){if("number"==typeof r)throw new TypeError("Argument must not be a number");return rn(r,e,t)},Gt.alloc=function(o,e,t){if("number"!=typeof o)throw new TypeError("Argument must be a number");var n=rn(o);return void 0===e?n.fill(0):"string"==typeof t?n.fill(e,t):n.fill(e),n},Gt.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return rn(t)},Gt.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return Ko.SlowBuffer(t)};var sn={};(function(n){function r(t){return Object.prototype.toString.call(t)}sn.isArray=function(t){return Array.isArray?Array.isArray(t):"[object Array]"===r(t)},sn.isBoolean=function(t){return"boolean"==typeof t},sn.isNull=function(t){return null===t},sn.isNullOrUndefined=function(t){return null==t},sn.isNumber=function(t){return"number"==typeof t},sn.isString=function(t){return"string"==typeof t},sn.isSymbol=function(t){return"symbol"==typeof t},sn.isUndefined=function(t){return void 0===t},sn.isRegExp=function(t){return"[object RegExp]"===r(t)},sn.isObject=function(t){return"object"==typeof t&&null!==t},sn.isDate=function(t){return"[object Date]"===r(t)},sn.isError=function(t){return"[object Error]"===r(t)||t instanceof Error},sn.isFunction=function(t){return"function"==typeof t},sn.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},sn.isBuffer=n.isBuffer}).call(this,{isBuffer:function(t){return null!=t&&(on(t)||function(t){return"function"==typeof t.readFloatLE&&"function"==typeof t.slice&&on(t.slice(0,0))}(t)||!!t._isBuffer)}});var cn={},Yo=tn.Buffer;cn=function(){function n(){!function(e){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this),this.head=null,this.tail=null,this.length=0}return n.prototype.push=function(n){var e={data:n,next:null};0<this.length?this.tail.next=e:this.head=e,this.tail=e,++this.length},n.prototype.unshift=function(n){var e={data:n,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length},n.prototype.shift=function(){if(0!==this.length){var t=this.head.data;return this.head=1===this.length?this.tail=null:this.head.next,--this.length,t}},n.prototype.clear=function(){this.head=this.tail=null,this.length=0},n.prototype.join=function(r){if(0===this.length)return"";for(var e=this.head,o=""+e.data;e=e.next;)o+=r+e.data;return o},n.prototype.concat=function(o){if(0===this.length)return Yo.alloc(0);if(1===this.length)return this.head.data;for(var e,d,a=Yo.allocUnsafe(o>>>0),r=this.head,l=0;r;)e=a,d=l,r.data.copy(e,d),l+=r.data.length,r=r.next;return a},n}(),oe.inspect&&oe.inspect.custom&&(cn.prototype[oe.inspect.custom]=function(){var t=oe.inspect({length:this.length});return this.constructor.name+" "+t});var dn={destroy:function(o,d){var t=this,e=this._readableState&&this._readableState.destroyed,n=this._writableState&&this._writableState.destroyed;return e||n?(d?d(o):!o||this._writableState&&this._writableState.errorEmitted||Xt.nextTick(an,this,o),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(o||null,function(n){!d&&n?(Xt.nextTick(an,t,n),t._writableState&&(t._writableState.errorEmitted=!0)):d&&d(n)}),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}},fn=hn,pn=fo({});sn.inherits=Me,sn.inherits(hn,pn),hn.prototype.push=function(n,e){return this._transformState.needTransform=!1,pn.prototype.push.call(this,n,e)},hn.prototype._transform=function(){throw new Error("_transform() is not implemented")},hn.prototype._write=function(o,e,t){var n=this._transformState;if(n.writecb=t,n.writechunk=o,n.writeencoding=e,!n.transforming){var r=this._readableState;(n.needTransform||r.needReadable||r.length<r.highWaterMark)&&this._read(r.highWaterMark)}},hn.prototype._read=function(){var e=this._transformState;null!==e.writechunk&&e.writecb&&!e.transforming?(e.transforming=!0,this._transform(e.writechunk,e.writeencoding,e.afterTransform)):e.needTransform=!0},hn.prototype._destroy=function(r,o){var t=this;pn.prototype._destroy.call(this,r,function(n){o(n),t.emit("close")})};sn.inherits=Me,sn.inherits(bn,fn),bn.prototype._transform=function(r,e,t){t(null,r)};var gn={};(gn=gn=t({})).Stream=gn,gn.Readable=gn,gn.Writable=r({}),gn.Duplex=fo({}),gn.Transform=fn,gn.PassThrough=bn;var $o={};(function(o,d,l){var t=$o.readyStates={UNSENT:0,OPENED:1,HEADERS_RECEIVED:2,LOADING:3,DONE:4},e=$o.IncomingMessage=function(e,t,n,i){var s=this;if(gn.Readable.call(s),s._mode=n,s.headers={},s.rawHeaders=[],s.trailers={},s.rawTrailers=[],s.on("end",function(){o.nextTick(function(){s.emit("close")})}),"fetch"===n){if(s._fetchResponse=t,s.url=t.url,s.statusCode=t.status,s.statusMessage=t.statusText,t.headers.forEach(function(n,e){s.headers[e.toLowerCase()]=n,s.rawHeaders.push(e,n)}),Vo.writableStream){var r=new WritableStream({write:function(n){return new Promise(function(e,t){s._destroyed?t():s.push(new l(n))?e():s._resumeFetch=e})},close:function(){d.clearTimeout(i),s._destroyed||s.push(null)},abort:function(t){s._destroyed||s.emit("error",t)}});try{return void t.body.pipeTo(r).catch(function(t){d.clearTimeout(i),s._destroyed||s.emit("error",t)})}catch(e){}}var a=t.body.getReader();!function t(){a.read().then(function(e){if(!s._destroyed){if(e.done)return d.clearTimeout(i),void s.push(null);s.push(new l(e.value)),t()}}).catch(function(t){d.clearTimeout(i),s._destroyed||s.emit("error",t)})}()}else if(s._xhr=e,s._pos=0,s.url=e.responseURL,s.statusCode=e.status,s.statusMessage=e.statusText,e.getAllResponseHeaders().split(/\r?\n/).forEach(function(r){var e=r.match(/^([^:]+):\s*(.*)/);if(e){var t=e[1].toLowerCase();"set-cookie"===t?(void 0===s.headers[t]&&(s.headers[t]=[]),s.headers[t].push(e[2])):void 0===s.headers[t]?s.headers[t]=e[2]:s.headers[t]+=", "+e[2],s.rawHeaders.push(e[1],e[2])}}),s._charset="x-user-defined",!Vo.overrideMimeType){var c=s.rawHeaders["mime-type"];if(c){var u=c.match(/;\s*charset=([^;])(;|$)/);u&&(s._charset=u[1].toLowerCase())}s._charset||(s._charset="utf-8")}};Me(e,gn.Readable),e.prototype._read=function(){var t=this._resumeFetch;t&&(this._resumeFetch=null,t())},e.prototype._onXHRProgress=function(){var n=this,e=n._xhr,r=null;switch(n._mode){case"text:vbarray":if(e.readyState!==t.DONE)break;try{r=new d.VBArray(e.responseBody).toArray()}catch(e){}if(null!==r){n.push(new l(r));break}case"text":try{r=e.responseText}catch(e){n._mode="text:vbarray";break}if(r.length>n._pos){var i=r.substr(n._pos);if("x-user-defined"===n._charset){for(var o=new l(i.length),a=0;a<i.length;a++)o[a]=255&i.charCodeAt(a);n.push(o)}else n.push(i,n._charset);n._pos=r.length}break;case"arraybuffer":if(e.readyState!==t.DONE||!e.response)break;r=e.response,n.push(new l(new Uint8Array(r)));break;case"moz-chunked-arraybuffer":if(r=e.response,e.readyState!==t.LOADING||!r)break;n.push(new l(new Uint8Array(r)));break;case"ms-stream":if(r=e.response,e.readyState!==t.LOADING)break;var u=new d.MSStreamReader;u.onprogress=function(){u.result.byteLength>n._pos&&(n.push(new l(new Uint8Array(u.result.slice(n._pos)))),n._pos=u.result.byteLength)},u.onload=function(){n.push(null)},u.readAsArrayBuffer(r);}n._xhr.readyState===t.DONE&&"ms-stream"!==n._mode&&n.push(null)}}).call(this,pe,"undefined"==typeof global?"undefined"==typeof self?"undefined"==typeof window?{}:window:self:global,p({}).Buffer);var kn=p({}).Buffer,Sn=function(o){if(o instanceof Uint8Array){if(0===o.byteOffset&&o.byteLength===o.buffer.byteLength)return o.buffer;if("function"==typeof o.buffer.slice)return o.buffer.slice(o.byteOffset,o.byteOffset+o.byteLength)}if(kn.isBuffer(o)){for(var e=new Uint8Array(o.length),t=o.length,n=0;n<t;n++)e[n]=o[n];return e.buffer}throw new Error("Argument must be a Buffer")},Cn={};(function(d,l,f){var t=$o.IncomingMessage,e=$o.readyStates,n=Cn=function(n){var e,o=this;gn.Writable.call(o),o._opts=n,o._body=[],o._headers={},n.auth&&o.setHeader("Authorization","Basic "+new f(n.auth).toString("base64")),Object.keys(n.headers).forEach(function(e){o.setHeader(e,n.headers[e])});var r=!0;if("disable-fetch"===n.mode||"requestTimeout"in n&&!Vo.abortController)r=!1,e=!0;else if("prefer-streaming"===n.mode)e=!1;else if("allow-wrong-content-type"===n.mode)e=!Vo.overrideMimeType;else{if(n.mode&&"default"!==n.mode&&"prefer-fast"!==n.mode)throw new Error("Invalid value for opts.mode");e=!0}o._mode=function(n,e){return Vo.fetch&&e?"fetch":Vo.mozchunkedarraybuffer?"moz-chunked-arraybuffer":Vo.msstream?"ms-stream":Vo.arraybuffer&&n?"arraybuffer":Vo.vbArray&&n?"text:vbarray":"text"}(e,r),o._fetchTimer=null,o.on("finish",function(){o._onFinish()})};Me(n,gn.Writable),n.prototype.setHeader=function(o,e){var t=o.toLowerCase();-1===r.indexOf(t)&&(this._headers[t]={name:o,value:e})},n.prototype.getHeader=function(n){var e=this._headers[n.toLowerCase()];return e?e.value:null},n.prototype.removeHeader=function(t){delete this._headers[t.toLowerCase()]},n.prototype._onFinish=function(){var t=this;if(!t._destroyed){var n=t._opts,r=t._headers,o=null;"GET"!==n.method&&"HEAD"!==n.method&&(o=Vo.arraybuffer?Sn(f.concat(t._body)):Vo.blobConstructor?new l.Blob(t._body.map(function(t){return Sn(t)}),{type:(r["content-type"]||{}).value||""}):f.concat(t._body).toString());var i=[];if(Object.keys(r).forEach(function(o){var d=r[o].name,e=r[o].value;Array.isArray(e)?e.forEach(function(t){i.push([d,t])}):i.push([d,e])}),"fetch"===t._mode){var s=null;if(Vo.abortController){var p=new AbortController;s=p.signal,t._fetchAbortController=p,"requestTimeout"in n&&0!==n.requestTimeout&&(t._fetchTimer=l.setTimeout(function(){t.emit("requestTimeout"),t._fetchAbortController&&t._fetchAbortController.abort()},n.requestTimeout))}l.fetch(t._opts.url,{method:t._opts.method,headers:i,body:o||void 0,mode:"cors",credentials:n.withCredentials?"include":"same-origin",signal:s}).then(function(n){t._fetchResponse=n,t._connect()},function(n){l.clearTimeout(t._fetchTimer),t._destroyed||t.emit("error",n)})}else{var u=t._xhr=new l.XMLHttpRequest;try{u.open(t._opts.method,t._opts.url,!0)}catch(e){return void d.nextTick(function(){t.emit("error",e)})}"responseType"in u&&(u.responseType=t._mode.split(":")[0]),"withCredentials"in u&&(u.withCredentials=!!n.withCredentials),"text"===t._mode&&"overrideMimeType"in u&&u.overrideMimeType("text/plain; charset=x-user-defined"),"requestTimeout"in n&&(u.timeout=n.requestTimeout,u.ontimeout=function(){t.emit("requestTimeout")}),i.forEach(function(t){u.setRequestHeader(t[0],t[1])}),t._response=null,u.onreadystatechange=function(){switch(u.readyState){case e.LOADING:case e.DONE:t._onXHRProgress();}},"moz-chunked-arraybuffer"===t._mode&&(u.onprogress=function(){t._onXHRProgress()}),u.onerror=function(){t._destroyed||t.emit("error",new Error("XHR error"))};try{u.send(o)}catch(e){return void d.nextTick(function(){t.emit("error",e)})}}}},n.prototype._onXHRProgress=function(){(function(n){try{var e=n.status;return null!==e&&0!==e}catch(e){return!1}})(this._xhr)&&!this._destroyed&&(this._response||this._connect(),this._response._onXHRProgress())},n.prototype._connect=function(){var n=this;n._destroyed||(n._response=new t(n._xhr,n._fetchResponse,n._mode,n._fetchTimer),n._response.on("error",function(e){n.emit("error",e)}),n.emit("response",n._response))},n.prototype._write=function(r,e,t){this._body.push(r),t()},n.prototype.abort=n.prototype.destroy=function(){this._destroyed=!0,l.clearTimeout(this._fetchTimer),this._response&&(this._response._destroyed=!0),this._xhr?this._xhr.abort():this._fetchAbortController&&this._fetchAbortController.abort()},n.prototype.end=function(r,o,t){"function"==typeof r&&(t=r,r=void 0),gn.Writable.prototype.end.call(this,r,o,t)},n.prototype.flushHeaders=function(){},n.prototype.setTimeout=function(){},n.prototype.setNoDelay=function(){},n.prototype.setSocketKeepAlive=function(){};var r=["accept-charset","accept-encoding","access-control-request-headers","access-control-request-method","connection","content-length","cookie","cookie2","date","dnt","expect","host","keep-alive","origin","referer","te","trailer","transfer-encoding","upgrade","via"]}).call(this,pe,"undefined"==typeof global?"undefined"==typeof self?"undefined"==typeof window?{}:window:self:global,p({}).Buffer);var Xo=Object.prototype.hasOwnProperty,Tn={100:"Continue",101:"Switching Protocols",102:"Processing",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Unordered Collection",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",509:"Bandwidth Limit Exceeded",510:"Not Extended",511:"Network Authentication Required"},An={exports:{}};(function(d){!function(e){function a(t){throw new RangeError(y[t])}function l(o,e){for(var t=o.length,d=[];t--;)d[t]=e(o[t]);return d}function c(o,d){var t=o.split("@"),n="";return 1<t.length&&(n=t[0]+"@",o=t[1]),n+l((o=o.replace(_,".")).split("."),d).join(".")}function u(o){for(var e,d,a=[],r=0,l=o.length;r<l;)55296<=(e=o.charCodeAt(r++))&&56319>=e&&r<l?56320==(64512&(d=o.charCodeAt(r++)))?a.push(((1023&e)<<10)+(1023&d)+65536):(a.push(e),r--):a.push(e);return a}function f(t){return l(t,function(n){var r="";return 65535<n&&(r+=v(55296|1023&(n-=65536)>>>10),n=56320|1023&n),r+v(n)}).join("")}function p(n,e){return n+22+75*(26>n)-((0!=e)<<5)}function h(o,d,t){var n=0;for(o=t?x(o/700):o>>1,o+=x(o/d);o>455;n+=36)o=x(o/35);return x(n+36*o/(o+38))}function g(c){var e,u,p,g,k,v,L,T,B,I,R,A=[],b=c.length,w=0,U=128,P=72;for(0>(u=c.lastIndexOf("-"))&&(u=0),p=0;p<u;++p)128<=c.charCodeAt(p)&&a("not-basic"),A.push(c.charCodeAt(p));for(g=0<u?u+1:0;g<b;){for(k=w,v=1,L=36;g>=b&&a("invalid-input"),((T=10>(R=c.charCodeAt(g++))-48?R-22:26>R-65?R-65:26>R-97?R-97:36)>=36||T>x((2147483647-w)/v))&&a("overflow"),w+=T*v,!(T<(B=L<=P?1:L>=P+26?26:L-P));L+=36)v>x(2147483647/(I=36-B))&&a("overflow"),v*=I;P=h(w-k,e=A.length+1,0==k),x(w/e)>2147483647-U&&a("overflow"),U+=x(w/e),w%=e,A.splice(w++,0,U)}return f(A)}function w(c){var f,g,k,E,L,B,I,R,A,U,P,M,O,N,H,D=[];for(M=(c=u(c)).length,f=128,g=0,L=72,B=0;B<M;++B)128>(P=c[B])&&D.push(v(P));for(k=E=D.length,E&&D.push("-");k<M;){for(I=2147483647,B=0;B<M;++B)(P=c[B])>=f&&P<I&&(I=P);for(I-f>x((2147483647-g)/(O=k+1))&&a("overflow"),g+=(I-f)*O,f=I,B=0;B<M;++B)if((P=c[B])<f&&++g>2147483647&&a("overflow"),P==f){for(R=g,A=36;!(R<(U=A<=L?1:A>=L+26?26:A-L));A+=36)H=R-U,N=36-U,D.push(v(p(U+H%N,0))),R=x(H/N);D.push(v(p(R,0))),L=h(g,O,k==E),g=0,++k}++g,++f}return D.join("")}var S="object"==typeof An.exports&&An.exports&&!An.exports.nodeType&&An.exports,n=An&&!An.nodeType&&An,r="object"==typeof d&&d;r.global!==r&&r.window!==r&&r.self!==r||(e=r);var i,k,C=/^xn--/,m=/[^\x20-\x7E]/,_=/[\x2E\u3002\uFF0E\uFF61]/g,y={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},x=io,v=ro;if(!(i={version:"1.4.1",ucs2:{decode:u,encode:f},decode:g,encode:w,toASCII:function(t){return c(t,function(t){return m.test(t)?"xn--"+w(t):t})},toUnicode:function(t){return c(t,function(t){return C.test(t)?g(t.slice(4).toLowerCase()):t})}},S&&n))e.punycode=i;else if(An.exports==S)n.exports=i;else for(k in i)i.hasOwnProperty(k)&&(S[k]=i[k])}(this)}).call(this,"undefined"==typeof global?"undefined"==typeof self?"undefined"==typeof window?{}:window:self:global),An=An.exports;var Qo={isString:function(t){return"string"==typeof t},isObject:function(t){return"object"==typeof t&&null!==t},isNull:function(t){return null===t},isNullOrUndefined:function(t){return null==t}},Rn=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)},Ln=function(t){switch(typeof t){case"string":return t;case"boolean":return t?"true":"false";case"number":return isFinite(t)?t:"";default:return"";}},Un=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)},On=Object.keys||function(r){var e=[];for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&e.push(t);return e},Pn={parse:function(g,m,_,b){m=m||"&",_=_||"=";var r={};if("string"!=typeof g||0===g.length)return r;var i=/\+/g;g=g.split(m);var s=1e3;b&&"number"==typeof b.maxKeys&&(s=b.maxKeys);var y=g.length;0<s&&y>s&&(y=s);for(var w=0;w<y;++w){var S,k,E,v,C=g[w].replace(i,"%20"),f=C.indexOf(_);0<=f?(S=C.substr(0,f),k=C.substr(f+1)):(S=C,k=""),E=decodeURIComponent(S),v=decodeURIComponent(k),yn(r,E)?Rn(r[E])?r[E].push(v):r[E]=[r[E],v]:r[E]=v}return r},stringify:function(o,d,a,i){return d=d||"&",a=a||"=",null===o&&(o=void 0),"object"==typeof o?wn(On(o),function(e){var t=encodeURIComponent(Ln(e))+a;return Un(o[e])?wn(o[e],function(n){return t+encodeURIComponent(Ln(n))}).join(d):t+encodeURIComponent(Ln(o[e]))}).join(d):i?encodeURIComponent(Ln(i))+a+encodeURIComponent(Ln(o)):""}},Nn={};Nn.parse=Bn;var jn=/^([a-z0-9.+-]+:)/i,Hn=/:[0-9]*$/,qn=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,Fn=["{","}","|","\\","^","`"].concat(["<",">","\"","`"," ","\r","\n","\t"]),Wn=["'"].concat(Fn),zn=["%","/","?",";","#"].concat(Wn),$n=["/","?","#"],Vn=/^[+a-z0-9A-Z_-]{0,63}$/,Gn=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,Kn={javascript:!0,"javascript:":!0},Yn={javascript:!0,"javascript:":!0},Jn={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0};vn.prototype.parse=function(U,P,t){if(!Qo.isString(U))throw new TypeError("Parameter 'url' must be a string, not "+typeof U);var n=U.indexOf("?"),r=-1!==n&&n<U.indexOf("#")?"?":"#",i=U.split(r);i[0]=i[0].replace(/\\/g,"/");var s=U=i.join(r);if(s=s.trim(),!t&&1===U.split("#").length){var M=qn.exec(s);if(M)return this.path=s,this.href=s,this.pathname=M[1],M[2]?(this.search=M[2],this.query=P?Pn.parse(this.search.substr(1)):this.search.substr(1)):P&&(this.search="",this.query={}),this}var a=jn.exec(s);if(a){var O=(a=a[0]).toLowerCase();this.protocol=O,s=s.substr(a.length)}if(t||a||s.match(/^\/\/[^@\/]+@[^@\/]+/)){var c="//"===s.substr(0,2);!c||a&&Yn[a]||(s=s.substr(2),this.slashes=!0)}if(!Yn[a]&&(c||a&&!Jn[a])){for(var u,N,H=-1,D=0;D<$n.length;D++)-1!==(q=s.indexOf($n[D]))&&(-1===H||q<H)&&(H=q);for(-1!==(N=-1===H?s.lastIndexOf("@"):s.lastIndexOf("@",H))&&(u=s.slice(0,N),s=s.slice(N+1),this.auth=decodeURIComponent(u)),H=-1,D=0;D<zn.length;D++){var q;-1!==(q=s.indexOf(zn[D]))&&(-1===H||q<H)&&(H=q)}-1===H&&(H=s.length),this.host=s.slice(0,H),s=s.slice(H),this.parseHost(),this.hostname=this.hostname||"";var F="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!F)for(var m,W=this.hostname.split(/\./),_=(D=0,W.length);D<_;D++)if(m=W[D],m&&!m.match(Vn)){for(var j="",z=0,V=m.length;z<V;z++)j+=127<m.charCodeAt(z)?"x":m[z];if(!j.match(Vn)){var E=W.slice(0,D),k=W.slice(D+1),S=m.match(Gn);S&&(E.push(S[1]),k.unshift(S[2])),k.length&&(s="/"+k.join(".")+s),this.hostname=E.join(".");break}}this.hostname=255<this.hostname.length?"":this.hostname.toLowerCase(),F||(this.hostname=An.toASCII(this.hostname));var C=this.port?":"+this.port:"",G=this.hostname||"";this.host=G+C,this.href+=this.host,F&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==s[0]&&(s="/"+s))}if(!Kn[O])for(D=0,_=Wn.length;D<_;D++){var T=Wn[D];if(-1!==s.indexOf(T)){var A=encodeURIComponent(T);A===T&&(A=escape(T)),s=s.split(T).join(A)}}var K=s.indexOf("#");-1!==K&&(this.hash=s.substr(K),s=s.slice(0,K));var R=s.indexOf("?");if(-1===R?P&&(this.search="",this.query={}):(this.search=s.substr(R),this.query=s.substr(R+1),P&&(this.query=Pn.parse(this.query)),s=s.slice(0,R)),s&&(this.pathname=s),Jn[O]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){C=this.pathname||"";var B=this.search||"";this.path=C+B}return this.href=this.format(),this},vn.prototype.format=function(){var d=this.auth||"";d&&(d=(d=encodeURIComponent(d)).replace(/%3A/i,":"),d+="@");var a=this.protocol||"",l=this.pathname||"",c=this.hash||"",u=!1,f="";this.host?u=d+this.host:this.hostname&&(u=d+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(u+=":"+this.port)),this.query&&Qo.isObject(this.query)&&Object.keys(this.query).length&&(f=Pn.stringify(this.query));var p=this.search||f&&"?"+f||"";return a&&":"!==a.substr(-1)&&(a+=":"),this.slashes||(!a||Jn[a])&&!1!==u?(u="//"+(u||""),l&&"/"!==l.charAt(0)&&(l="/"+l)):u||(u=""),c&&"#"!==c.charAt(0)&&(c="#"+c),p&&"?"!==p.charAt(0)&&(p="?"+p),a+u+(l=l.replace(/[?#]/g,function(t){return encodeURIComponent(t)}))+(p=p.replace("#","%23"))+c},vn.prototype.resolve=function(t){return this.resolveObject(Bn(t,!1,!0)).format()},vn.prototype.resolveObject=function(L){if(Qo.isString(L)){var T=new vn;T.parse(L,!1,!0),L=T}for(var t,B=new vn,n=Object.keys(this),r=0;r<n.length;r++)t=n[r],B[t]=this[t];if(B.hash=L.hash,""===L.href)return B.href=B.format(),B;if(L.slashes&&!L.protocol){for(var I,R=Object.keys(L),o=0;o<R.length;o++)I=R[o],"protocol"!==I&&(B[I]=L[I]);return Jn[B.protocol]&&B.hostname&&!B.pathname&&(B.path=B.pathname="/"),B.href=B.format(),B}if(L.protocol&&L.protocol!==B.protocol){if(!Jn[L.protocol]){for(var A,U=Object.keys(L),c=0;c<U.length;c++)A=U[c],B[A]=L[A];return B.href=B.format(),B}if(B.protocol=L.protocol,L.host||Yn[L.protocol])B.pathname=L.pathname;else{for(var P=(L.pathname||"").split("/");P.length&&!(L.host=P.shift()););L.host||(L.host=""),L.hostname||(L.hostname=""),""!==P[0]&&P.unshift(""),2>P.length&&P.unshift(""),B.pathname=P.join("/")}if(B.search=L.search,B.query=L.query,B.host=L.host||"",B.auth=L.auth,B.hostname=L.hostname||L.host,B.port=L.port,B.pathname||B.search){var M=B.pathname||"",f=B.search||"";B.path=M+f}return B.slashes=B.slashes||L.slashes,B.href=B.format(),B}var p=B.pathname&&"/"===B.pathname.charAt(0),g=L.host||L.pathname&&"/"===L.pathname.charAt(0),m=g||p||B.host&&L.pathname,O=m,y=B.pathname&&B.pathname.split("/")||[],N=(P=L.pathname&&L.pathname.split("/")||[],B.protocol&&!Jn[B.protocol]);if(N&&(B.hostname="",B.port=null,B.host&&(""===y[0]?y[0]=B.host:y.unshift(B.host)),B.host="",L.protocol&&(L.hostname=null,L.port=null,L.host&&(""===P[0]?P[0]=L.host:P.unshift(L.host)),L.host=null),m=m&&(""===P[0]||""===y[0])),g)B.host=L.host||""===L.host?L.host:B.host,B.hostname=L.hostname||""===L.hostname?L.hostname:B.hostname,B.search=L.search,B.query=L.query,y=P;else if(P.length)y||(y=[]),y.pop(),y=y.concat(P),B.search=L.search,B.query=L.query;else if(!Qo.isNullOrUndefined(L.search))return N&&(B.hostname=B.host=y.shift(),(q=!!(B.host&&0<B.host.indexOf("@"))&&B.host.split("@"))&&(B.auth=q.shift(),B.host=B.hostname=q.shift())),B.search=L.search,B.query=L.query,Qo.isNull(B.pathname)&&Qo.isNull(B.search)||(B.path=(B.pathname?B.pathname:"")+(B.search?B.search:"")),B.href=B.format(),B;if(!y.length)return B.pathname=null,B.path=B.search?"/"+B.search:null,B.href=B.format(),B;for(var w=y.slice(-1)[0],H=(B.host||L.host||1<y.length)&&("."===w||".."===w)||""===w,E=0,D=y.length;0<=D;D--)"."===(w=y[D])?y.splice(D,1):".."===w?(y.splice(D,1),E++):E&&(y.splice(D,1),E--);if(!m&&!O)for(;E--;E)y.unshift("..");!m||""===y[0]||y[0]&&"/"===y[0].charAt(0)||y.unshift(""),H&&"/"!==y.join("/").substr(-1)&&y.push("");var q,F=""===y[0]||y[0]&&"/"===y[0].charAt(0);return N&&(B.hostname=B.host=F?"":y.length?y.shift():"",(q=!!(B.host&&0<B.host.indexOf("@"))&&B.host.split("@"))&&(B.auth=q.shift(),B.host=B.hostname=q.shift())),(m=m||B.host&&y.length)&&!F&&y.unshift(""),y.length?B.pathname=y.join("/"):(B.pathname=null,B.path=null),Qo.isNull(B.pathname)&&Qo.isNull(B.search)||(B.path=(B.pathname?B.pathname:"")+(B.search?B.search:"")),B.auth=L.auth||B.auth,B.slashes=B.slashes||L.slashes,B.href=B.format(),B},vn.prototype.parseHost=function(){var n=this.host,r=Hn.exec(n);r&&(":"!==(r=r[0])&&(this.port=r.substr(1)),n=n.substr(0,n.length-r.length)),n&&(this.hostname=n)};var Xn={};(function(d){var o=Xn;o.request=function(e,l){e="string"==typeof e?Nn.parse(e):function(){for(var o,d={},e=0;e<arguments.length;e++)for(var a in o=arguments[e],o)Xo.call(o,a)&&(d[a]=o[a]);return d}(e);var n=-1===d.location.protocol.search(/^https?:$/)?"http:":"",r=e.protocol||n,i=e.hostname||e.host,c=e.port,o=e.path||"/";i&&-1!==i.indexOf(":")&&(i="["+i+"]"),e.url=(i?r+"//"+i:"")+(c?":"+c:"")+o,e.method=(e.method||"GET").toUpperCase(),e.headers=e.headers||{};var a=new Cn(e);return l&&a.on("response",l),a},o.get=function(t,e){var n=o.request(t,e);return n.end(),n},o.ClientRequest=Cn,o.IncomingMessage=$o.IncomingMessage,o.Agent=function(){},o.Agent.defaultMaxSockets=4,o.globalAgent=new o.Agent,o.STATUS_CODES=Tn,o.METHODS=["CHECKOUT","CONNECT","COPY","DELETE","GET","HEAD","LOCK","M-SEARCH","MERGE","MKACTIVITY","MKCOL","MOVE","NOTIFY","OPTIONS","PATCH","POST","PROPFIND","PROPPATCH","PURGE","PUT","REPORT","SEARCH","SUBSCRIBE","TRACE","UNLOCK","UNSUBSCRIBE"]}).call(this,"undefined"==typeof global?"undefined"==typeof self?"undefined"==typeof window?{}:window:self:global);var Qn={},er=Qn;for(var tr in Xn)Xn.hasOwnProperty(tr)&&(er[tr]=Xn[tr]);er.request=function(n,r){return n=Mn(n),Xn.request.call(this,n,r)},er.get=function(n,r){return n=Mn(n),Xn.get.call(this,n,r)};var nr={};(function(d){function o(l,t){if(l=Object.assign({maxRedirects:10},"string"==typeof l?{url:l}:l),t=Ot(t),l.url){const{hostname:r,port:e,protocol:t,auth:n,path:o}=Nn.parse(l.url);delete l.url,r||e||t||n?Object.assign(l,{hostname:r,port:e,protocol:t,auth:n,path:o}):l.path=o}const n={"accept-encoding":"gzip, deflate"};let s;l.headers&&Object.keys(l.headers).forEach(t=>n[t.toLowerCase()]=l.headers[t]),l.headers=n,l.body?s=l.json&&!e(l.body)?JSON.stringify(l.body):l.body:l.form&&(s="string"==typeof l.form?l.form:Pn.stringify(l.form),l.headers["content-type"]="application/x-www-form-urlencoded"),s&&(l.method||(l.method="POST"),e(s)||(l.headers["content-length"]=d.byteLength(s)),l.json&&!l.form&&(l.headers["content-type"]="application/json")),delete l.body,delete l.form,l.json&&(l.headers.accept="application/json"),l.method&&(l.method=l.method.toUpperCase());const c=("https:"===l.protocol?Qn:Xn).request(l,n=>{if(300<=n.statusCode&&400>n.statusCode&&n.headers.location)return l.url=n.headers.location,delete l.headers.host,n.resume(),"POST"===l.method&&[301,302].includes(n.statusCode)&&(l.method="GET",delete l.headers["content-length"],delete l.headers["content-type"]),0==l.maxRedirects--?t(new Error("too many redirects")):o(l,t);t(null,n)});return c.on("timeout",()=>{c.abort(),t(new Error("Request timed out"))}),c.on("error",t),e(s)?s.on("error",t).pipe(c):c.end(s),c}nr=o;const e=t=>null!==t&&"object"==typeof t&&"function"==typeof t.pipe;o.concat=(d,e)=>o(d,(t,o)=>t?e(t):void q(o,(t,r)=>{if(t)return e(t);if(d.json)try{r=JSON.parse(r.toString())}catch(t){return e(t,o,r)}e(null,o,r)})),["get","post","put","patch","head","delete"].forEach(n=>{o[n]=(e,t)=>("string"==typeof e&&(e={url:e}),o(Object.assign({method:n.toUpperCase()},e),t))})}).call(this,p({}).Buffer);var Jo={};(function(d){"use strict";var e=[255,255,26,27,28,29,30,31,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,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,255,255,255,255,255];Jo.decode=function(t){var l,u=0,f=0,p=0;d.isBuffer(t)||(t=new d(t));for(var g,m=new d(eo(5*t.length/8)),a=0;a<t.length&&61!==t[a];a++){if(g=t[a]-48,!(g<e.length))throw new Error("Invalid input - it is not base32 encoded string");f=e[g],3>=u?0==(u=(u+5)%8)?(l|=f,m[p]=l,p++,l=0):l|=255&f<<8-u:(l|=255&f>>>(u=(u+5)%8),m[p]=l,p++,l=255&f<<8-u)}return m.slice(0,p)}}).call(this,p({}).Buffer);var sr={};Jo.encode,sr.decode=Jo.decode;var or=function(r,e,t){return 0===r.length?r:e?(t||r.sort(e),function(d,e){for(var t=1,a=d.length,r=d[0],l=d[0],c=1;c<a;++c)if(l=r,e(r=d[c],l)){if(c==t){t++;continue}d[t++]=r}return d.length=t,d}(r,e)):(t||r.sort(),function(o){for(var e=1,d=o.length,n=o[0],a=o[0],l=1;l<d;++l,a=n)if(a=n,(n=o[l])!==a){if(l==e){e++;continue}o[e++]=n}return o.length=e,o}(r))},ar={};(function(o){function e(e){const d={},t=e.split("magnet:?")[1];let n;return(t&&0<=t.length?t.split("&"):[]).forEach(n=>{const e=n.split("=");if(2!==e.length)return;const t=e[0];let r=e[1];if(!("dn"===t&&(r=decodeURIComponent(r).replace(/\+/g," ")),"tr"!==t&&"xs"!==t&&"as"!==t&&"ws"!==t||(r=decodeURIComponent(r)),"kt"===t&&(r=decodeURIComponent(r).split("+")),"ix"===t&&(r=+r),d[t]))d[t]=r;else if(Array.isArray(d[t]))d[t].push(r);else{const n=d[t];d[t]=[n,r]}}),d.xt&&(Array.isArray(d.xt)?d.xt:[d.xt]).forEach(e=>{if(n=e.match(/^urn:btih:(.{40})/))d.infoHash=n[1].toLowerCase();else if(n=e.match(/^urn:btih:(.{32})/)){const e=sr.decode(n[1]);d.infoHash=o.from(e,"binary").toString("hex")}}),d.infoHash&&(d.infoHashBuffer=o.from(d.infoHash,"hex")),d.dn&&(d.name=d.dn),d.kt&&(d.keywords=d.kt),d.announce="string"==typeof d.tr?[d.tr]:Array.isArray(d.tr)?d.tr:[],d.urlList=[],("string"==typeof d.as||Array.isArray(d.as))&&(d.urlList=d.urlList.concat(d.as)),("string"==typeof d.ws||Array.isArray(d.ws))&&(d.urlList=d.urlList.concat(d.ws)),or(d.announce),or(d.urlList),d}(ar=e).decode=e,ar.encode=function(o){(o=Object.assign({},o)).infoHashBuffer&&(o.xt=`urn:btih:${o.infoHashBuffer.toString("hex")}`),o.infoHash&&(o.xt=`urn:btih:${o.infoHash}`),o.name&&(o.dn=o.name),o.keywords&&(o.kt=o.keywords),o.announce&&(o.tr=o.announce),o.urlList&&(o.ws=o.urlList,delete o.as);let d="magnet:?";return Object.keys(o).filter(t=>2===t.length).forEach((t,n)=>{(Array.isArray(o[t])?o[t]:[o[t]]).forEach((r,o)=>{(0<n||0<o)&&("kt"!==t||0===o)&&(d+="&"),"dn"===t&&(r=encodeURIComponent(r).replace(/%20/g,"+")),"tr"!==t&&"xs"!==t&&"as"!==t&&"ws"!==t||(r=encodeURIComponent(r)),"kt"===t&&(r=encodeURIComponent(r)),d+="kt"===t&&0<o?`+${r}`:`${t}=${r}`})}),d}}).call(this,p({}).Buffer);var Zo={};(function(o,d){function a(n){if("string"==typeof n&&/^(stream-)?magnet:/.test(n))return ar(n);if("string"==typeof n&&(/^[a-f0-9]{40}$/i.test(n)||/^[a-z2-7]{32}$/i.test(n)))return ar(`magnet:?xt=urn:btih:${n}`);if(d.isBuffer(n)&&20===n.length)return ar(`magnet:?xt=urn:btih:${n.toString("hex")}`);if(d.isBuffer(n))return function(r){d.isBuffer(r)&&(r=te.decode(r)),t(r.info,"info"),t(r.info["name.utf-8"]||r.info.name,"info.name"),t(r.info["piece length"],"info['piece length']"),t(r.info.pieces,"info.pieces"),r.info.files?r.info.files.forEach(n=>{t("number"==typeof n.length,"info.files[0].length"),t(n["path.utf-8"]||n.path,"info.files[0].path")}):t("number"==typeof r.info.length,"info.length");const a={info:r.info,infoBuffer:te.encode(r.info),name:(r.info["name.utf-8"]||r.info.name).toString(),announce:[]};a.infoHash=qo.sync(a.infoBuffer),a.infoHashBuffer=d.from(a.infoHash,"hex"),void 0!==r.info.private&&(a.private=!!r.info.private),r["creation date"]&&(a.created=new Date(1e3*r["creation date"])),r["created by"]&&(a.createdBy=r["created by"].toString()),d.isBuffer(r.comment)&&(a.comment=r.comment.toString()),Array.isArray(r["announce-list"])&&0<r["announce-list"].length?r["announce-list"].forEach(t=>{t.forEach(t=>{a.announce.push(t.toString())})}):r.announce&&a.announce.push(r.announce.toString()),d.isBuffer(r["url-list"])&&(r["url-list"]=0<r["url-list"].length?[r["url-list"]]:[]),a.urlList=(r["url-list"]||[]).map(t=>t.toString()),or(a.announce),or(a.urlList);const n=r.info.files||[r.info];a.files=n.map((r,e)=>{const t=[].concat(a.name,r["path.utf-8"]||r.path||[]).map(t=>t.toString());return{path:pt.join.apply(null,[pt.sep].concat(t)).slice(1),name:t[t.length-1],length:r.length,offset:n.slice(0,e).reduce(l,0)}}),a.length=n.reduce(l,0);const i=a.files[a.files.length-1];return a.pieceLength=r.info["piece length"],a.lastPieceLength=(i.offset+i.length)%a.pieceLength||a.pieceLength,a.pieces=function(r){const e=[];for(let t=0;t<r.length;t+=20)e.push(r.slice(t,t+20).toString("hex"));return e}(r.info.pieces),a}(n);if(n&&n.infoHash)return n.infoHash=n.infoHash.toLowerCase(),n.announce||(n.announce=[]),"string"==typeof n.announce&&(n.announce=[n.announce]),n.urlList||(n.urlList=[]),n;throw new Error("Invalid torrent identifier")}function l(n,e){return n+e.length}function t(n,e){if(!n)throw new Error(`Torrent is missing required field: ${e}`)}(Zo=a).remote=function(e,d){function r(n){try{t=a(n)}catch(e){return d(e)}t&&t.infoHash?d(null,t):d(new Error("Invalid torrent identifier"))}let t;if("function"!=typeof d)throw new Error("second argument must be a Function");try{t=a(e)}catch(e){}t&&t.infoHash?o.nextTick(()=>{d(null,t)}):"undefined"!=typeof Blob&&e instanceof Blob?zo(e,(n,e)=>n?d(new Error(`Error converting Blob: ${n.message}`)):void r(e)):"function"==typeof nr&&/^https?:/.test(e)?nr.concat({url:e,timeout:3e4,headers:{"user-agent":"WebTorrent (https://webtorrent.io)"}},(o,e,t)=>o?d(new Error(`Error downloading torrent: ${o.message}`)):void r(t)):"function"==typeof St.readFile&&"string"==typeof e?St.readFile(e,(n,e)=>n?d(new Error("Invalid torrent identifier")):void r(e)):o.nextTick(()=>{d(new Error("Invalid torrent identifier"))})},Zo.toMagnetURI=ar.encode,Zo.toTorrentFile=function(t){const r={info:t.info};return r["announce-list"]=(t.announce||[]).map(t=>(r.announce||(r.announce=t),[t=d.from(t,"utf8")])),r["url-list"]=t.urlList||[],void 0!==t.private&&(r.private=+t.private),t.created&&(r["creation date"]=0|t.created.getTime()/1e3),t.createdBy&&(r["created by"]=t.createdBy),t.comment&&(r.comment=t.comment),te.encode(r)},d.alloc(0)}).call(this,pe,p({}).Buffer);var ed=function(){if("undefined"==typeof window)return null;var t={RTCPeerConnection:window.RTCPeerConnection||window.mozRTCPeerConnection||window.webkitRTCPeerConnection,RTCSessionDescription:window.RTCSessionDescription||window.mozRTCSessionDescription||window.webkitRTCSessionDescription,RTCIceCandidate:window.RTCIceCandidate||window.mozRTCIceCandidate||window.webkitRTCIceCandidate};return t.RTCPeerConnection?t:null},ur={};(function(d,e){"use strict";var a=j.Buffer,n=e.crypto||e.msCrypto;ur=n&&n.getRandomValues?function(e,t){if(4294967295<e)throw new RangeError("requested too many random bytes");var r=a.allocUnsafe(e);if(0<e)if(65536<e)for(var i=0;i<e;i+=65536)n.getRandomValues(r.slice(i,i+65536));else n.getRandomValues(r);return"function"==typeof t?d.nextTick(function(){t(null,r)}):r}:function(){throw new Error("Secure random number generation is not supported by this browser.\nUse Chrome, Firefox or Internet Explorer 11")}}).call(this,pe,"undefined"==typeof global?"undefined"==typeof self?"undefined"==typeof window?{}:window:self:global);var td={};(function(o){function n(r){var o=this;if(!(o instanceof n))return new n(r);if(o._id=ur(4).toString("hex").slice(0,7),o._debug("new peer %o",r),r=Object.assign({allowHalfOpen:!1},r),st.Duplex.call(o,r),o.channelName=r.initiator?r.channelName||ur(20).toString("hex"):null,o.initiator=r.initiator||!1,o.channelConfig=r.channelConfig||n.channelConfig,o.config=Object.assign({},n.config,r.config),o.offerOptions=r.offerOptions||{},o.answerOptions=r.answerOptions||{},o.sdpTransform=r.sdpTransform||function(t){return t},o.streams=r.streams||(r.stream?[r.stream]:[]),o.trickle=void 0===r.trickle||r.trickle,o.allowHalfTrickle=void 0!==r.allowHalfTrickle&&r.allowHalfTrickle,o.iceCompleteTimeout=r.iceCompleteTimeout||5000,o.destroyed=!1,o._connected=!1,o.remoteAddress=void 0,o.remoteFamily=void 0,o.remotePort=void 0,o.localAddress=void 0,o.localFamily=void 0,o.localPort=void 0,o._wrtc=r.wrtc&&"object"==typeof r.wrtc?r.wrtc:ed(),!o._wrtc)throw"undefined"==typeof window?d("No WebRTC support: Specify `opts.wrtc` option in this environment","ERR_WEBRTC_SUPPORT"):d("No WebRTC support: Not a supported browser","ERR_WEBRTC_SUPPORT");o._pcReady=!1,o._channelReady=!1,o._iceComplete=!1,o._iceCompleteTimer=null,o._channel=null,o._pendingCandidates=[],o._isNegotiating=!o.initiator,o._batchedNegotiation=!1,o._queuedNegotiation=!1,o._sendersAwaitingStable=[],o._senderMap=new Map,o._firstStable=!0,o._closingInterval=null,o._remoteTracks=[],o._remoteStreams=[],o._chunk=null,o._cb=null,o._interval=null;try{o._pc=new o._wrtc.RTCPeerConnection(o.config)}catch(e){return void setTimeout(()=>o.destroy(e),0)}o._isReactNativeWebrtc="number"==typeof o._pc._peerConnectionId,o._pc.oniceconnectionstatechange=function(){o._onIceStateChange()},o._pc.onicegatheringstatechange=function(){o._onIceStateChange()},o._pc.onsignalingstatechange=function(){o._onSignalingStateChange()},o._pc.onicecandidate=function(t){o._onIceCandidate(t)},o.initiator?o._setupData({channel:o._pc.createDataChannel(o.channelName,o.channelConfig)}):o._pc.ondatachannel=function(t){o._setupData(t)},o.streams&&o.streams.forEach(function(t){o.addStream(t)}),o._pc.ontrack=function(t){o._onTrack(t)},o.initiator&&o._needsNegotiation(),o._onFinishBound=function(){o._onFinish()},o.once("finish",o._onFinishBound)}function r(t){return t.replace(/a=ice-options:trickle\s\n/g,"")}function d(r,e){var t=new Error(r);return t.code=e,t}td=n;var a=jo("simple-peer");Me(n,st.Duplex),n.WEBRTC_SUPPORT=!!ed(),n.config={iceServers:[{urls:"stun:stun.l.google.com:19302"},{urls:"stun:global.stun.twilio.com:3478?transport=udp"}],sdpSemantics:"unified-plan"},n.channelConfig={},Object.defineProperty(n.prototype,"bufferSize",{get:function(){return this._channel&&this._channel.bufferedAmount||0}}),Object.defineProperty(n.prototype,"connected",{get:function(){return this._connected&&"open"===this._channel.readyState}}),n.prototype.address=function(){return{port:this.localPort,family:this.localFamily,address:this.localAddress}},n.prototype.signal=function(n){var r=this;if(r.destroyed)throw d("cannot signal after peer is destroyed","ERR_SIGNALING");if("string"==typeof n)try{n=JSON.parse(n)}catch(e){n={}}r._debug("signal()"),n.renegotiate&&r.initiator&&(r._debug("got request to renegotiate"),r._needsNegotiation()),n.transceiverRequest&&r.initiator&&(r._debug("got request for transceiver"),r.addTransceiver(n.transceiverRequest.kind,n.transceiverRequest.init)),n.candidate&&(r._pc.localDescription&&r._pc.localDescription.type&&r._pc.remoteDescription&&r._pc.remoteDescription.type?r._addIceCandidate(n.candidate):r._pendingCandidates.push(n.candidate)),n.sdp&&r._pc.setRemoteDescription(new r._wrtc.RTCSessionDescription(n)).then(function(){r.destroyed||(r._pendingCandidates.forEach(function(t){r._addIceCandidate(t)}),r._pendingCandidates=[],"offer"===r._pc.remoteDescription.type&&r._createAnswer())}).catch(function(t){r.destroy(d(t,"ERR_SET_REMOTE_DESCRIPTION"))}),n.sdp||n.candidate||n.renegotiate||n.transceiverRequest||r.destroy(d("signal() called with invalid signal data","ERR_SIGNALING"))},n.prototype._addIceCandidate=function(r){var o=this,t=new o._wrtc.RTCIceCandidate(r);o._pc.addIceCandidate(t).catch(function(n){!t.address||t.address.endsWith(".local")?("Ignoring unsupported ICE candidate.",console.warn("Ignoring unsupported ICE candidate.")):o.destroy(d(n,"ERR_ADD_ICE_CANDIDATE"))})},n.prototype.send=function(t){this._channel.send(t)},n.prototype.addTransceiver=function(n,e){if(this._debug("addTransceiver()"),this.initiator)try{this._pc.addTransceiver(n,e),this._needsNegotiation()}catch(e){this.destroy(e)}else this.emit("signal",{transceiverRequest:{kind:n,init:e}})},n.prototype.addStream=function(r){var e=this;e._debug("addStream()"),r.getTracks().forEach(function(t){e.addTrack(t,r)})},n.prototype.addTrack=function(o,e){this._debug("addTrack()");var t=this._senderMap.get(o)||new Map,n=t.get(e);n?n.removed?this.destroy(d("Track has been removed. You should enable/disable tracks that you want to re-add.","ERR_SENDER_REMOVED")):this.destroy(d("Track has already been added to that stream.","ERR_SENDER_ALREADY_ADDED")):(n=this._pc.addTrack(o,e),t.set(e,n),this._senderMap.set(o,t),this._needsNegotiation())},n.prototype.replaceTrack=function(o,e,t){this._debug("replaceTrack()");var n=this._senderMap.get(o),r=n?n.get(t):null;r||this.destroy(d("Cannot replace track that was never added.","ERR_TRACK_NOT_ADDED")),e&&this._senderMap.set(e,n),null==r.replaceTrack?this.destroy(d("replaceTrack is not supported in this browser","ERR_UNSUPPORTED_REPLACETRACK")):r.replaceTrack(e)},n.prototype.removeTrack=function(o,e){this._debug("removeSender()");var t=this._senderMap.get(o),n=t?t.get(e):null;n||this.destroy(d("Cannot remove track that was never added.","ERR_TRACK_NOT_ADDED"));try{n.removed=!0,this._pc.removeTrack(n)}catch(e){"NS_ERROR_UNEXPECTED"===e.name?this._sendersAwaitingStable.push(n):this.destroy(e)}this._needsNegotiation()},n.prototype.removeStream=function(r){var e=this;e._debug("removeSenders()"),r.getTracks().forEach(function(t){e.removeTrack(t,r)})},n.prototype._needsNegotiation=function(){var t=this;t._debug("_needsNegotiation"),t._batchedNegotiation||(t._batchedNegotiation=!0,setTimeout(function(){t._batchedNegotiation=!1,t._debug("starting batched negotiation"),t.negotiate()},0))},n.prototype.negotiate=function(){var t=this;t.initiator?t._isNegotiating?(t._queuedNegotiation=!0,t._debug("already negotiating, queueing")):(t._debug("start negotiation"),setTimeout(()=>{t._createOffer()},0)):t._isNegotiating||(t._debug("requesting negotiation from initiator"),t.emit("signal",{renegotiate:!0})),t._isNegotiating=!0},n.prototype.destroy=function(t){this._destroy(t,function(){})},n.prototype._destroy=function(n,e){if(!this.destroyed){if(this._debug("destroy (error: %s)",n&&(n.message||n)),this.readable=this.writable=!1,this._readableState.ended||this.push(null),this._writableState.finished||this.end(),this.destroyed=!0,this._connected=!1,this._pcReady=!1,this._channelReady=!1,this._remoteTracks=null,this._remoteStreams=null,this._senderMap=null,clearInterval(this._closingInterval),this._closingInterval=null,clearInterval(this._interval),this._interval=null,this._chunk=null,this._cb=null,this._onFinishBound&&this.removeListener("finish",this._onFinishBound),this._onFinishBound=null,this._channel){try{this._channel.close()}catch(t){}this._channel.onmessage=null,this._channel.onopen=null,this._channel.onclose=null,this._channel.onerror=null}if(this._pc){try{this._pc.close()}catch(t){}this._pc.oniceconnectionstatechange=null,this._pc.onicegatheringstatechange=null,this._pc.onsignalingstatechange=null,this._pc.onicecandidate=null,this._pc.ontrack=null,this._pc.ondatachannel=null}this._pc=null,this._channel=null,n&&this.emit("error",n),this.emit("close"),e()}},n.prototype._setupData=function(r){var o=this;if(!r.channel)return o.destroy(d("Data channel event is missing `channel` property","ERR_DATA_CHANNEL"));o._channel=r.channel,o._channel.binaryType="arraybuffer","number"==typeof o._channel.bufferedAmountLowThreshold&&(o._channel.bufferedAmountLowThreshold=65536),o.channelName=o._channel.label,o._channel.onmessage=function(t){o._onChannelMessage(t)},o._channel.onbufferedamountlow=function(){o._onChannelBufferedAmountLow()},o._channel.onopen=function(){o._onChannelOpen()},o._channel.onclose=function(){o._onChannelClose()},o._channel.onerror=function(t){o.destroy(d(t,"ERR_DATA_CHANNEL"))};var e=!1;o._closingInterval=setInterval(function(){o._channel&&"closing"===o._channel.readyState?(e&&o._onChannelClose(),e=!0):e=!1},5e3)},n.prototype._read=function(){},n.prototype._write=function(r,e,t){if(this.destroyed)return t(d("cannot write after peer is destroyed","ERR_DATA_CHANNEL"));if(this._connected){try{this.send(r)}catch(e){return this.destroy(d(e,"ERR_DATA_CHANNEL"))}65536<this._channel.bufferedAmount?(this._debug("start backpressure: bufferedAmount %d",this._channel.bufferedAmount),this._cb=t):t(null)}else this._debug("write before connect"),this._chunk=r,this._cb=t},n.prototype._onFinish=function(){function n(){setTimeout(function(){t.destroy()},1e3)}var t=this;t.destroyed||(t._connected?n():t.once("connect",n))},n.prototype._startIceCompleteTimeout=function(){var t=this;t.destroyed||t._iceCompleteTimer||(t._debug("started iceComplete timeout"),t._iceCompleteTimer=setTimeout(function(){t._iceComplete||(t._iceComplete=!0,t._debug("iceComplete timeout completed"),t.emit("iceTimeout"),t.emit("_iceComplete"))},t.iceCompleteTimeout))},n.prototype._createOffer=function(){var o=this;o.destroyed||o._pc.createOffer(o.offerOptions).then(function(e){function t(){if(!o.destroyed){var t=o._pc.localDescription||e;o._debug("signal"),o.emit("signal",{type:t.type,sdp:t.sdp})}}o.destroyed||(o.trickle||o.allowHalfTrickle||(e.sdp=r(e.sdp)),e.sdp=o.sdpTransform(e.sdp),o._pc.setLocalDescription(e).then(function(){o._debug("createOffer success"),o.destroyed||(o.trickle||o._iceComplete?t():o.once("_iceComplete",t))}).catch(function(e){o.destroy(d(e,"ERR_SET_LOCAL_DESCRIPTION"))}))}).catch(function(e){o.destroy(d(e,"ERR_CREATE_OFFER"))})},n.prototype._requestMissingTransceivers=function(){var n=this;n._pc.getTransceivers&&n._pc.getTransceivers().forEach(e=>{e.mid||!e.sender.track||e.requested||(e.requested=!0,n.addTransceiver(e.sender.track.kind))})},n.prototype._createAnswer=function(){var o=this;o.destroyed||o._pc.createAnswer(o.answerOptions).then(function(e){function t(){if(!o.destroyed){var t=o._pc.localDescription||e;o._debug("signal"),o.emit("signal",{type:t.type,sdp:t.sdp}),o.initiator||o._requestMissingTransceivers()}}o.destroyed||(o.trickle||o.allowHalfTrickle||(e.sdp=r(e.sdp)),e.sdp=o.sdpTransform(e.sdp),o._pc.setLocalDescription(e).then(function(){o.destroyed||(o.trickle||o._iceComplete?t():o.once("_iceComplete",t))}).catch(function(e){o.destroy(d(e,"ERR_SET_LOCAL_DESCRIPTION"))}))}).catch(function(e){o.destroy(d(e,"ERR_CREATE_ANSWER"))})},n.prototype._onIceStateChange=function(){if(!this.destroyed){var n=this._pc.iceConnectionState,e=this._pc.iceGatheringState;this._debug("iceStateChange (connection: %s) (gathering: %s)",n,e),this.emit("iceStateChange",n,e),"connected"!==n&&"completed"!==n||(this._pcReady=!0,this._maybeReady()),"failed"===n&&this.destroy(d("Ice connection failed.","ERR_ICE_CONNECTION_FAILURE")),"closed"===n&&this.destroy(d("Ice connection closed.","ERR_ICE_CONNECTION_CLOSED"))}},n.prototype.getStats=function(o){function d(n){return"[object Array]"===Object.prototype.toString.call(n.values)&&n.values.forEach(function(e){Object.assign(n,e)}),n}var e=this;0===e._pc.getStats.length?e._pc.getStats().then(function(e){var t=[];e.forEach(function(n){t.push(d(n))}),o(null,t)},function(e){o(e)}):e._isReactNativeWebrtc?e._pc.getStats(null,function(e){var t=[];e.forEach(function(n){t.push(d(n))}),o(null,t)},function(e){o(e)}):0<e._pc.getStats.length?e._pc.getStats(function(t){if(!e.destroyed){var n=[];t.result().forEach(function(r){var e={};r.names().forEach(function(t){e[t]=r.stat(t)}),e.id=r.id,e.type=r.type,e.timestamp=r.timestamp,n.push(d(e))}),o(null,n)}},function(e){o(e)}):o(null,[])},n.prototype._maybeReady=function(){var s=this;s._debug("maybeReady pc %s channel %s",s._pcReady,s._channelReady),!s._connected&&!s._connecting&&s._pcReady&&s._channelReady&&(s._connecting=!0,function e(){s.destroyed||s.getStats(function(t,n){function l(e){a=!0;var t=i[e.localCandidateId];t&&(t.ip||t.address)?(s.localAddress=t.ip||t.address,s.localPort=+t.port):t&&t.ipAddress?(s.localAddress=t.ipAddress,s.localPort=+t.portNumber):"string"==typeof e.googLocalAddress&&(t=e.googLocalAddress.split(":"),s.localAddress=t[0],s.localPort=+t[1]),s.localAddress&&(s.localFamily=s.localAddress.includes(":")?"IPv6":"IPv4");var o=u[e.remoteCandidateId];o&&(o.ip||o.address)?(s.remoteAddress=o.ip||o.address,s.remotePort=+o.port):o&&o.ipAddress?(s.remoteAddress=o.ipAddress,s.remotePort=+o.portNumber):"string"==typeof e.googRemoteAddress&&(o=e.googRemoteAddress.split(":"),s.remoteAddress=o[0],s.remotePort=+o[1]),s.remoteAddress&&(s.remoteFamily=s.remoteAddress.includes(":")?"IPv6":"IPv4"),s._debug("connect local: %s:%s remote: %s:%s",s.localAddress,s.localPort,s.remoteAddress,s.remotePort)}if(!s.destroyed){t&&(n=[]);var u={},i={},o={},a=!1;if(n.forEach(function(t){"remotecandidate"!==t.type&&"remote-candidate"!==t.type||(u[t.id]=t),"localcandidate"!==t.type&&"local-candidate"!==t.type||(i[t.id]=t),"candidatepair"!==t.type&&"candidate-pair"!==t.type||(o[t.id]=t)}),n.forEach(function(t){"transport"===t.type&&t.selectedCandidatePairId&&l(o[t.selectedCandidatePairId]),("googCandidatePair"===t.type&&"true"===t.googActiveConnection||("candidatepair"===t.type||"candidate-pair"===t.type)&&t.selected)&&l(t)}),a||Object.keys(o).length&&!Object.keys(i).length){if(s._connecting=!1,s._connected=!0,s._chunk){try{s.send(s._chunk)}catch(e){return s.destroy(d(e,"ERR_DATA_CHANNEL"))}s._chunk=null,s._debug("sent chunk from \"write before connect\"");var f=s._cb;s._cb=null,f(null)}"number"!=typeof s._channel.bufferedAmountLowThreshold&&(s._interval=setInterval(function(){s._onInterval()},150),s._interval.unref&&s._interval.unref()),s._debug("connect"),s.emit("connect")}else setTimeout(e,100)}})}())},n.prototype._onInterval=function(){this._cb&&this._channel&&!(65536<this._channel.bufferedAmount)&&this._onChannelBufferedAmountLow()},n.prototype._onSignalingStateChange=function(){var n=this;n.destroyed||("stable"!==n._pc.signalingState||n._firstStable||(n._isNegotiating=!1,n._debug("flushing sender queue",n._sendersAwaitingStable),n._sendersAwaitingStable.forEach(function(e){n._pc.removeTrack(e),n._queuedNegotiation=!0}),n._sendersAwaitingStable=[],n._queuedNegotiation&&(n._debug("flushing negotiation queue"),n._queuedNegotiation=!1,n._needsNegotiation()),n._debug("negotiate"),n.emit("negotiate")),n._firstStable=!1,n._debug("signalingStateChange %s",n._pc.signalingState),n.emit("signalingStateChange",n._pc.signalingState))},n.prototype._onIceCandidate=function(t){this.destroyed||(t.candidate&&this.trickle?this.emit("signal",{candidate:{candidate:t.candidate.candidate,sdpMLineIndex:t.candidate.sdpMLineIndex,sdpMid:t.candidate.sdpMid}}):t.candidate||this._iceComplete||(this._iceComplete=!0,this.emit("_iceComplete")),t.candidate&&this._startIceCompleteTimeout())},n.prototype._onChannelMessage=function(e){if(!this.destroyed){var t=e.data;t instanceof ArrayBuffer&&(t=o.from(t)),this.push(t)}},n.prototype._onChannelBufferedAmountLow=function(){if(!this.destroyed&&this._cb){this._debug("ending backpressure: bufferedAmount %d",this._channel.bufferedAmount);var t=this._cb;this._cb=null,t(null)}},n.prototype._onChannelOpen=function(){this._connected||this.destroyed||(this._debug("on channel open"),this._channelReady=!0,this._maybeReady())},n.prototype._onChannelClose=function(){this.destroyed||(this._debug("on channel close"),this.destroy())},n.prototype._onTrack=function(r){var e=this;e.destroyed||r.streams.forEach(function(t){e._debug("on track"),e.emit("track",r.track,t),e._remoteTracks.push({track:r.track,stream:t}),e._remoteStreams.some(function(n){return n.id===t.id})||(e._remoteStreams.push(t),setTimeout(function(){e.emit("stream",t)},0))})},n.prototype._debug=function(){var t=[].slice.call(arguments);t[0]="["+this._id+"] "+t[0],a.apply(null,t)}}).call(this,p({}).Buffer);var nd,rd=1,od=function(){rd=65535&rd+1},gr=function(o){nd||(nd=setInterval(od,250)).unref&&nd.unref();var d=4*(o||5),t=[0],n=1,l=65535&rd-1;return function(r){var e=65535&rd-l;for(e>d&&(e=d),l=rd;e--;)n==d&&(n=0),t[n]=t[0==n?d-1:n-1],n++;r&&(t[n-1]+=r);var i=t[n-1],o=t.length<d?0:t[n==d?0:n];return 4>t.length?i:4*(i-o)/t.length}},mr={};const dd=/^\[?([^\]]+)\]?:(\d+)$/;let yr={},ad=0;(mr=function(n){if(1e5==ad&&mr.reset(),!yr[n]){const e=dd.exec(n);if(!e)throw new Error(`invalid addr: ${n}`);yr[n]=[e[1],+e[2]],ad+=1}return yr[n]}).reset=function(){yr={},ad=0};var id={exports:{}};id.exports=class{constructor(r=0,e){const t=null!=e&&e.grow;this.grow=t&&isFinite(t)&&Dn(t)||t||0,this.buffer="number"==typeof r?new Uint8Array(Dn(r)):r}get(n){const e=n>>3;return e<this.buffer.length&&!!(this.buffer[e]&128>>n%8)}set(r,e=!0){const t=r>>3;if(e){if(this.buffer.length<t+1){const n=to(t+1,ao(2*this.buffer.length,this.grow));if(n<=this.grow){const e=new Uint8Array(n);e.set(this.buffer),this.buffer=e}}this.buffer[t]|=128>>r%8}else t<this.buffer.length&&(this.buffer[t]&=~(128>>r%8))}},id=id.exports;var sd=class extends st.Writable{constructor(o,e,d={}){if(super(d),!o||!o.put||!o.get)throw new Error("First argument must be an abstract-chunk-store compliant store");if(!(e=+e))throw new Error("Second argument must be a chunk length");this._blockstream=new Io(e,{zeroPadding:!1}),this._outstandingPuts=0;let n=0;this._blockstream.on("data",e=>{this.destroyed||(this._outstandingPuts+=1,o.put(n,e,()=>{this._outstandingPuts-=1,0===this._outstandingPuts&&"function"==typeof this._finalCb&&(this._finalCb(null),this._finalCb=null)}),n+=1)}).on("error",t=>{this.destroy(t)})}_write(r,e,t){this._blockstream.write(r,e,t)}_final(t){this._blockstream.end(),this._blockstream.once("end",()=>{0===this._outstandingPuts?t(null):this._finalCb=t})}destroy(t){this.destroyed||(this.destroyed=!0,t&&this.emit("error",t),this.emit("close"))}},kr={};(function(n){kr.DEFAULT_ANNOUNCE_PEERS=50,kr.binaryToHex=function(e){return"string"!=typeof e&&(e=e+""),n.from(e,"binary").toString("hex")},kr.hexToBinary=function(e){return"string"!=typeof e&&(e=e+""),n.from(e,"hex").toString("binary")},Object.assign(kr,oe)}).call(this,p({}).Buffer);var Sr={};(function(o,d){const t=jo("simple-websocket"),e=WebSocket,r=65536;class n extends st.Duplex{constructor(n={}){if("string"==typeof n&&(n={url:n}),super(n=Object.assign({allowHalfOpen:!1},n)),null==n.url&&null==n.socket)throw new Error("Missing required `url` or `socket` option");if(null!=n.url&&null!=n.socket)throw new Error("Must specify either `url` or `socket` option, not both");if(this._id=ur(4).toString("hex").slice(0,7),this._debug("new websocket: %o",n),this.connected=!1,this.destroyed=!1,this._chunk=null,this._cb=null,this._interval=null,n.socket)this.url=n.socket.url,this._ws=n.socket;else{this.url=n.url;try{this._ws=new e(n.url)}catch(e){return void o.nextTick(()=>this.destroy(e))}}this._ws.binaryType="arraybuffer",this._ws.onopen=()=>{this._onOpen()},this._ws.onmessage=t=>{this._onMessage(t)},this._ws.onclose=()=>{this._onClose()},this._ws.onerror=()=>{this.destroy(new Error("connection error to "+this.url))},this._onFinishBound=()=>{this._onFinish()},this.once("finish",this._onFinishBound)}send(t){this._ws.send(t)}destroy(t){this._destroy(t,()=>{})}_destroy(n,r){if(!this.destroyed){if(this._debug("destroy (error: %s)",n&&(n.message||n)),this.readable=this.writable=!1,this._readableState.ended||this.push(null),this._writableState.finished||this.end(),this.connected=!1,this.destroyed=!0,clearInterval(this._interval),this._interval=null,this._chunk=null,this._cb=null,this._onFinishBound&&this.removeListener("finish",this._onFinishBound),this._onFinishBound=null,this._ws){const r=this._ws,t=()=>{r.onclose=null};if(r.readyState===e.CLOSED)t();else try{r.onclose=t,r.close()}catch(n){t()}r.onopen=null,r.onmessage=null,r.onerror=()=>{}}if(this._ws=null,n){if("undefined"!=typeof DOMException&&n instanceof DOMException){const e=n.code;(n=new Error(n.message)).code=e}this.emit("error",n)}this.emit("close"),r()}}_read(){}_write(o,e,t){if(this.destroyed)return t(new Error("cannot write after socket is destroyed"));if(this.connected){try{this.send(o)}catch(e){return this.destroy(e)}this._ws.bufferedAmount>r?(this._debug("start backpressure: bufferedAmount %d",this._ws.bufferedAmount),this._cb=t):t(null)}else this._debug("write before connect"),this._chunk=o,this._cb=t}_onFinish(){if(!this.destroyed){const t=()=>{setTimeout(()=>this.destroy(),1e3)};this.connected?t():this.once("connect",t)}}_onMessage(t){if(this.destroyed)return;let e=t.data;e instanceof ArrayBuffer&&(e=d.from(e)),this.push(e)}_onOpen(){if(!this.connected&&!this.destroyed){if(this.connected=!0,this._chunk){try{this.send(this._chunk)}catch(e){return this.destroy(e)}this._chunk=null,this._debug("sent chunk from \"write before connect\"");const t=this._cb;this._cb=null,t(null)}this._interval=setInterval(()=>this._onInterval(),150),this._interval.unref&&this._interval.unref(),this._debug("connect"),this.emit("connect")}}_onInterval(){if(this._cb&&this._ws&&!(this._ws.bufferedAmount>r)){this._debug("ending backpressure: bufferedAmount %d",this._ws.bufferedAmount);const t=this._cb;this._cb=null,t(null)}}_onClose(){this.destroyed||(this._debug("on close"),this.destroy())}_debug(){const n=[].slice.call(arguments);n[0]="["+this._id+"] "+n[0],t.apply(null,n)}}n.WEBSOCKET_SUPPORT=!!e,Sr=n}).call(this,pe,p({}).Buffer);var ld=class extends m{constructor(n,e){super(),this.client=n,this.announceUrl=e,this.interval=null,this.destroyed=!1}setInterval(t){null==t&&(t=this.DEFAULT_ANNOUNCE_INTERVAL),clearInterval(this.interval),t&&(this.interval=setInterval(()=>{this.announce(this.client._defaultAnnounceOpts())},t),this.interval.unref&&this.interval.unref())}},xr={};const cd=jo("bittorrent-tracker:websocket-tracker"),Ar={};class Ir extends ld{constructor(r,e,t){super(r,e),cd("new websocket tracker %s",e),this.peers={},this.socket=null,this.reconnecting=!1,this.retries=0,this.reconnectTimer=null,this.expectingResponse=!1,this._openSocket()}announce(r){if(this.destroyed||this.reconnecting)return;if(!this.socket.connected)return void this.socket.once("connect",()=>{this.announce(r)});const o=Object.assign({},r,{action:"announce",info_hash:this.client._infoHashBinary,peer_id:this.client._peerIdBinary});if(this._trackerId&&(o.trackerid=this._trackerId),"stopped"===r.event||"completed"===r.event)this._send(o);else{const t=ao(r.numwant,10);this._generateOffers(t,n=>{o.numwant=t,o.offers=n,this._send(o)})}}scrape(n){if(!(this.destroyed||this.reconnecting)){if(!this.socket.connected)return void this.socket.once("connect",()=>{this.scrape(n)});const e={action:"scrape",info_hash:Array.isArray(n.infoHash)&&0<n.infoHash.length?n.infoHash.map(t=>t.toString("binary")):n.infoHash&&n.infoHash.toString("binary")||this.client._infoHashBinary};this._send(e)}}destroy(o=Zn){function e(){d&&(clearTimeout(d),d=null),r.removeListener("data",e),r.destroy(),r=null}if(this.destroyed)return o(null);for(const t in this.destroyed=!0,clearInterval(this.interval),clearTimeout(this.reconnectTimer),this.peers){const n=this.peers[t];clearTimeout(n.trackerTimeout),n.destroy()}if(this.peers=null,this.socket&&(this.socket.removeListener("connect",this._onSocketConnectBound),this.socket.removeListener("data",this._onSocketDataBound),this.socket.removeListener("close",this._onSocketCloseBound),this.socket.removeListener("error",this._onSocketErrorBound),this.socket=null),this._onSocketConnectBound=null,this._onSocketErrorBound=null,this._onSocketDataBound=null,this._onSocketCloseBound=null,Ar[this.announceUrl]&&(Ar[this.announceUrl].consumers-=1),0<Ar[this.announceUrl].consumers)return o();let r=Ar[this.announceUrl];if(delete Ar[this.announceUrl],r.on("error",Zn),r.once("close",o),!this.expectingResponse)return e();var d=setTimeout(e,kr.DESTROY_TIMEOUT);r.once("data",e)}_openSocket(){this.destroyed=!1,this.peers||(this.peers={}),this._onSocketConnectBound=()=>{this._onSocketConnect()},this._onSocketErrorBound=t=>{this._onSocketError(t)},this._onSocketDataBound=t=>{this._onSocketData(t)},this._onSocketCloseBound=()=>{this._onSocketClose()},this.socket=Ar[this.announceUrl],this.socket?Ar[this.announceUrl].consumers+=1:(this.socket=Ar[this.announceUrl]=new Sr(this.announceUrl),this.socket.consumers=1,this.socket.once("connect",this._onSocketConnectBound)),this.socket.on("data",this._onSocketDataBound),this.socket.once("close",this._onSocketCloseBound),this.socket.once("error",this._onSocketErrorBound)}_onSocketConnect(){this.destroyed||this.reconnecting&&(this.reconnecting=!1,this.retries=0,this.announce(this.client._defaultAnnounceOpts()))}_onSocketData(t){if(!this.destroyed){this.expectingResponse=!1;try{t=JSON.parse(t)}catch(e){return void this.client.emit("warning",new Error("Invalid tracker response"))}"announce"===t.action?this._onAnnounceResponse(t):"scrape"===t.action?this._onScrapeResponse(t):this._onSocketError(new Error(`invalid action in WS response: ${t.action}`))}}_onAnnounceResponse(o){if(o.info_hash!==this.client._infoHashBinary)return void cd("ignoring websocket data from %s for %s (looking for %s: reused socket)",this.announceUrl,kr.binaryToHex(o.info_hash),this.client.infoHash);if(o.peer_id&&o.peer_id===this.client._peerIdBinary)return;cd("received %s from %s for %s",JSON.stringify(o),this.announceUrl,this.client.infoHash);const e=o["failure reason"];if(e)return this.client.emit("warning",new Error(e));const t=o["warning message"];t&&this.client.emit("warning",new Error(t));const n=o.interval||o["min interval"];n&&this.setInterval(1e3*n);const r=o["tracker id"];if(r&&(this._trackerId=r),null!=o.complete){const e=Object.assign({},o,{announce:this.announceUrl,infoHash:kr.binaryToHex(o.info_hash)});this.client.emit("update",e)}let d;if(o.offer&&o.peer_id&&(cd("creating peer (from remote offer)"),(d=this._createPeer()).id=kr.binaryToHex(o.peer_id),d.once("signal",e=>{const t={action:"announce",info_hash:this.client._infoHashBinary,peer_id:this.client._peerIdBinary,to_peer_id:o.peer_id,answer:e,offer_id:o.offer_id};this._trackerId&&(t.trackerid=this._trackerId),this._send(t)}),d.signal(o.offer),this.client.emit("peer",d)),o.answer&&o.peer_id){const e=kr.binaryToHex(o.offer_id);(d=this.peers[e])?(d.id=kr.binaryToHex(o.peer_id),d.signal(o.answer),this.client.emit("peer",d),clearTimeout(d.trackerTimeout),d.trackerTimeout=null,delete this.peers[e]):cd(`got unexpected answer: ${JSON.stringify(o.answer)}`)}}_onScrapeResponse(r){r=r.files||{};const n=Object.keys(r);0===n.length?this.client.emit("warning",new Error("invalid scrape response")):n.forEach(e=>{const t=Object.assign(r[e],{announce:this.announceUrl,infoHash:kr.binaryToHex(e)});this.client.emit("scrape",t)})}_onSocketClose(){this.destroyed||(this.destroy(),this._startReconnectTimer())}_onSocketError(t){this.destroyed||(this.destroy(),this.client.emit("warning",t),this._startReconnectTimer())}_startReconnectTimer(){const t=io(Math.random()*12e4)+ao(no(2,this.retries)*1e4,18e5);this.reconnecting=!0,clearTimeout(this.reconnectTimer),this.reconnectTimer=setTimeout(()=>{this.retries++,this._openSocket()},t),this.reconnectTimer.unref&&this.reconnectTimer.unref(),cd("reconnecting socket in %s ms",t)}_send(n){if(!this.destroyed){this.expectingResponse=!0;const e=JSON.stringify(n);cd("send %s",e),this.socket.send(e)}}_generateOffers(d,e){function t(){const r=ur(20).toString("hex");cd("creating peer (from _generateOffers)");const e=a.peers[r]=a._createPeer({initiator:!0});e.once("signal",e=>{n.push({offer:e,offer_id:kr.hexToBinary(r)}),o()}),e.trackerTimeout=setTimeout(()=>{cd("tracker timeout: destroying peer"),e.trackerTimeout=null,delete a.peers[r],e.destroy()},5e4),e.trackerTimeout.unref&&e.trackerTimeout.unref()}function o(){n.length===d&&(cd("generated %s offers",d),e(n))}const a=this,n=[];cd("generating %s offers",d);for(let n=0;n<d;++n)t();o()}_createPeer(o){function d(n){r.client.emit("warning",new Error(`Connection error: ${n.message}`)),t.destroy()}const r=this;o=Object.assign({trickle:!1,config:r.client._rtcConfig,wrtc:r.client._wrtc},o);const t=new td(o);return t.once("error",d),t.once("connect",function n(){t.removeListener("error",d),t.removeListener("connect",n)}),t}}Ir.prototype.DEFAULT_ANNOUNCE_INTERVAL=3e4,Ir._socketPool=Ar,xr=Ir;var Or={};(function(d,l){const a=jo("bittorrent-tracker:client");class t extends m{constructor(e={}){if(super(),!e.peerId)throw new Error("Option `peerId` is required");if(!e.infoHash)throw new Error("Option `infoHash` is required");if(!e.announce)throw new Error("Option `announce` is required");if(!d.browser&&!e.port)throw new Error("Option `port` is required");this.peerId="string"==typeof e.peerId?e.peerId:e.peerId.toString("hex"),this._peerIdBuffer=l.from(this.peerId,"hex"),this._peerIdBinary=this._peerIdBuffer.toString("binary"),this.infoHash="string"==typeof e.infoHash?e.infoHash.toLowerCase():e.infoHash.toString("hex"),this._infoHashBuffer=l.from(this.infoHash,"hex"),this._infoHashBinary=this._infoHashBuffer.toString("binary"),a("new client %s",this.infoHash),this.destroyed=!1,this._port=e.port,this._getAnnounceOpts=e.getAnnounceOpts,this._rtcConfig=e.rtcConfig,this._userAgent=e.userAgent,this._wrtc="function"==typeof e.wrtc?e.wrtc():e.wrtc;let t="string"==typeof e.announce?[e.announce]:null==e.announce?[]:e.announce;t=t.map(t=>("/"===(t=t.toString())[t.length-1]&&(t=t.substring(0,t.length-1)),t)),t=or(t);const c=!1!==this._wrtc&&(!!this._wrtc||td.WEBRTC_SUPPORT),s=e=>{d.nextTick(()=>{this.emit("warning",e)})};this._trackers=t.map(o=>{let e;try{e=new URL(o)}catch(e){return s(new Error(`Invalid tracker URL: ${o}`)),null}const d=e.port;if(0>d||65535<d)return s(new Error(`Invalid tracker port: ${o}`)),null;const n=e.protocol;return"http:"!==n&&"https:"!==n||!0?"udp:"===n&&!1?new oe(this,o):("ws:"===n||"wss:"===n)&&c?"ws:"===n&&"undefined"!=typeof window&&"https:"===window.location.protocol?(s(new Error(`Unsupported tracker protocol: ${o}`)),null):new xr(this,o):(s(new Error(`Unsupported tracker protocol: ${o}`)),null):new oe(this,o)}).filter(Boolean)}start(t){a("send `start`"),(t=this._defaultAnnounceOpts(t)).event="started",this._announce(t),this._trackers.forEach(t=>{t.setInterval()})}stop(t){a("send `stop`"),(t=this._defaultAnnounceOpts(t)).event="stopped",this._announce(t)}complete(t){a("send `complete`"),t||(t={}),(t=this._defaultAnnounceOpts(t)).event="completed",this._announce(t)}update(t){a("send `update`"),(t=this._defaultAnnounceOpts(t)).event&&delete t.event,this._announce(t)}_announce(n){this._trackers.forEach(e=>{e.announce(n)})}scrape(n){a("send `scrape`"),n||(n={}),this._trackers.forEach(e=>{e.scrape(n)})}setInterval(n){a("setInterval %d",n),this._trackers.forEach(e=>{e.setInterval(n)})}destroy(n){if(!this.destroyed){this.destroyed=!0,a("destroy");const e=this._trackers.map(n=>e=>{n.destroy(e)});Oo(e,n),this._trackers=[],this._getAnnounceOpts=null}}_defaultAnnounceOpts(t={}){return null==t.numwant&&(t.numwant=kr.DEFAULT_ANNOUNCE_PEERS),null==t.uploaded&&(t.uploaded=0),null==t.downloaded&&(t.downloaded=0),this._getAnnounceOpts&&(t=Object.assign({},t,this._getAnnounceOpts())),t}}t.scrape=(r,d)=>{if(d=Ot(d),!r.infoHash)throw new Error("Option `infoHash` is required");if(!r.announce)throw new Error("Option `announce` is required");const e=Object.assign({},r,{infoHash:Array.isArray(r.infoHash)?r.infoHash[0]:r.infoHash,peerId:l.from("01234567890123456789"),port:6881}),i=new t(e);i.once("error",d),i.once("warning",d);let s=Array.isArray(r.infoHash)?r.infoHash.length:1;const c={};return i.on("scrape",t=>{if(s-=1,c[t.infoHash]=t,0===s){i.destroy();const t=Object.keys(c);1===t.length?d(null,c[t[0]]):d(null,c)}}),r.infoHash=Array.isArray(r.infoHash)?r.infoHash.map(t=>l.from(t,"hex")):l.from(r.infoHash,"hex"),i.scrape({infoHash:r.infoHash}),i},Or=t}).call(this,pe,p({}).Buffer);var ud={};(function(r){const o=jo("torrent-discovery"),e=m.EventEmitter;ud=class extends e{constructor(e){if(super(),!e.peerId)throw new Error("Option `peerId` is required");if(!e.infoHash)throw new Error("Option `infoHash` is required");if(!r.browser&&!e.port)throw new Error("Option `port` is required");this.peerId="string"==typeof e.peerId?e.peerId:e.peerId.toString("hex"),this.infoHash="string"==typeof e.infoHash?e.infoHash.toLowerCase():e.infoHash.toString("hex"),this._port=e.port,this._userAgent=e.userAgent,this.destroyed=!1,this._announce=e.announce||[],this._intervalMs=e.intervalMs||9e5,this._trackerOpts=null,this._dhtAnnouncing=!1,this._dhtTimeout=!1,this._internalDHT=!1,this._onWarning=t=>{this.emit("warning",t)},this._onError=t=>{this.emit("error",t)},this._onDHTPeer=(n,e)=>{e.toString("hex")===this.infoHash&&this.emit("peer",`${n.host}:${n.port}`,"dht")},this._onTrackerPeer=t=>{this.emit("peer",t,"tracker")},this._onTrackerAnnounce=()=>{this.emit("trackerAnnounce")};const t=(r,e)=>{const t=new oe(e);return t.on("warning",this._onWarning),t.on("error",this._onError),t.listen(r),this._internalDHT=!0,t};!1===e.tracker?this.tracker=null:e.tracker&&"object"==typeof e.tracker?(this._trackerOpts=Object.assign({},e.tracker),this.tracker=this._createTracker()):this.tracker=this._createTracker(),this.dht=!1!==e.dht&&0?e.dht&&"function"==typeof e.dht.addNode?e.dht:e.dht&&"object"==typeof e.dht?t(e.dhtPort,e.dht):t(e.dhtPort):null,this.dht&&(this.dht.on("peer",this._onDHTPeer),this._dhtAnnounce())}updatePort(t){t!==this._port&&(this._port=t,this.dht&&this._dhtAnnounce(),this.tracker&&(this.tracker.stop(),this.tracker.destroy(()=>{this.tracker=this._createTracker()})))}complete(t){this.tracker&&this.tracker.complete(t)}destroy(n){if(!this.destroyed){this.destroyed=!0,clearTimeout(this._dhtTimeout);const e=[];this.tracker&&(this.tracker.stop(),this.tracker.removeListener("warning",this._onWarning),this.tracker.removeListener("error",this._onError),this.tracker.removeListener("peer",this._onTrackerPeer),this.tracker.removeListener("update",this._onTrackerAnnounce),e.push(t=>{this.tracker.destroy(t)})),this.dht&&this.dht.removeListener("peer",this._onDHTPeer),this._internalDHT&&(this.dht.removeListener("warning",this._onWarning),this.dht.removeListener("error",this._onError),e.push(t=>{this.dht.destroy(t)})),Oo(e,n),this.dht=null,this.tracker=null,this._announce=null}}_createTracker(){const n=Object.assign({},this._trackerOpts,{infoHash:this.infoHash,announce:this._announce,peerId:this.peerId,port:this._port,userAgent:this._userAgent}),e=new Or(n);return e.on("warning",this._onWarning),e.on("error",this._onError),e.on("peer",this._onTrackerPeer),e.on("update",this._onTrackerAnnounce),e.setInterval(this._intervalMs),e.start(),e}_dhtAnnounce(){this._dhtAnnouncing||(o("dht announce"),this._dhtAnnouncing=!0,clearTimeout(this._dhtTimeout),this.dht.announce(this.infoHash,this._port,t=>{this._dhtAnnouncing=!1,o("dht announce complete"),t&&this.emit("warning",t),this.emit("dhtAnnounce"),this.destroyed||(this._dhtTimeout=setTimeout(()=>{this._dhtAnnounce()},this._intervalMs+io(Math.random()*this._intervalMs/5)),this._dhtTimeout.unref&&this._dhtTimeout.unref())}))}}}).call(this,pe);var fd={};(function(o){function r(t,e){if(!(this instanceof r))return new r(t,e);if(e||(e={}),this.chunkLength=+t,!this.chunkLength)throw new Error("First argument must be a chunk length");this.chunks=[],this.closed=!1,this.length=+e.length||1/0,this.length!==1/0&&(this.lastChunkLength=this.length%this.chunkLength||this.chunkLength,this.lastChunkIndex=eo(this.length/this.chunkLength)-1)}function d(e,t,n){o.nextTick(function(){e&&e(t,n)})}fd=r,r.prototype.put=function(n,e,t){if(this.closed)return d(t,new Error("Storage is closed"));var r=n===this.lastChunkIndex;return r&&e.length!==this.lastChunkLength?d(t,new Error("Last chunk length must be "+this.lastChunkLength)):r||e.length===this.chunkLength?(this.chunks[n]=e,void d(t,null)):d(t,new Error("Chunk length must be "+this.chunkLength))},r.prototype.get=function(n,e,t){if("function"==typeof e)return this.get(n,null,e);if(this.closed)return d(t,new Error("Storage is closed"));var r=this.chunks[n];if(!r){var i=new Error("Chunk not found");return i.notFound=!0,d(t,i)}if(!e)return d(t,null,r);var s=e.offset||0,o=e.length||r.length-s;d(t,null,r.slice(s,o+s))},r.prototype.close=r.prototype.destroy=function(t){return this.closed?d(t,new Error("Storage is closed")):void(this.closed=!0,this.chunks=null,d(t,null))}}).call(this,pe);var pd={};(function(o){pd=class{constructor(t){if(this.store=t,this.chunkLength=t.chunkLength,!this.store||!this.store.get||!this.store.put)throw new Error("First argument must be abstract-chunk-store compliant");this.mem=[]}put(r,e,o){this.mem[r]=e,this.store.put(r,e,e=>{this.mem[r]=null,o&&o(e)})}get(e,t,n){if("function"==typeof t)return this.get(e,null,t);const r=t&&t.offset||0,d=t&&t.length&&r+t.length,a=this.mem[e];return a?function(e,t,n){o.nextTick(()=>{e&&e(null,n)})}(n,0,t?a.slice(r,d):a):void this.store.get(e,t,n)}close(t){this.store.close(t)}destroy(t){this.store.destroy(t)}}}).call(this,pe);var hd={};class gd extends st.Readable{constructor(n,e){super(e),this.destroyed=!1,this._drained=!1,this._forwarding=!1,this._current=null,this._toStreams2=e&&e.objectMode?rr:Er,"function"==typeof n?this._queue=n:(this._queue=n.map(this._toStreams2),this._queue.forEach(t=>{"function"!=typeof t&&this._attachErrorListener(t)})),this._next()}_read(){this._drained=!0,this._forward()}_forward(){if(!this._forwarding&&this._drained&&this._current){var t;for(this._forwarding=!0;null!==(t=this._current.read())&&this._drained;)this._drained=this.push(t);this._forwarding=!1}}destroy(t){this.destroyed||(this.destroyed=!0,this._current&&this._current.destroy&&this._current.destroy(),"function"!=typeof this._queue&&this._queue.forEach(t=>{t.destroy&&t.destroy()}),t&&this.emit("error",t),this.emit("close"))}_next(){if(this._current=null,"function"==typeof this._queue)this._queue((n,e)=>n?this.destroy(n):void(e=this._toStreams2(e),this._attachErrorListener(e),this._gotNextStream(e)));else{var t=this._queue.shift();"function"==typeof t&&(t=this._toStreams2(t()),this._attachErrorListener(t)),this._gotNextStream(t)}}_gotNextStream(o){if(!o)return this.push(null),void this.destroy();this._current=o,this._forward();const e=()=>{this._forward()},t=()=>{o._readableState.ended||this.destroy()},n=()=>{this._current=null,o.removeListener("readable",e),o.removeListener("end",n),o.removeListener("close",t),this._next()};o.on("readable",e),o.once("end",n),o.once("close",t)}_attachErrorListener(r){if(!r)return;const e=t=>{r.removeListener("error",e),this.destroy(t)};r.once("error",e)}}gd.obj=t=>new gd(t,{objectMode:!0,highWaterMark:16}),hd=gd;var zr={};(function(o){zr=function(f,p,e){function t(r){function t(){e&&e(r,d),e=null}b?o.nextTick(t):t()}function u(o,e,a){if(d[o]=a,e&&(_=!0),0==--m||e)t(e);else if(!_&&y<g){var r;n?(r=n[y],y+=1,f[r](function(n,e){u(r,n,e)})):(r=y,y+=1,f[r](function(n,e){u(r,n,e)}))}}if("number"!=typeof p)throw new Error("second argument must be a Number");var d,g,m,n,_,b=!0;Array.isArray(f)?(d=[],m=g=f.length):(n=Object.keys(f),d={},m=g=n.length);var y=p;m?n?n.some(function(o,e){if(f[o](function(e,t){u(o,e,t)}),e===p-1)return!0}):f.some(function(n,r){if(n(function(t,e){u(r,t,e)}),r===p-1)return!0}):t(null),b=!1}}).call(this,pe);var md={};(function(r){const d=16384;class e{constructor(t){this.length=t,this.missing=t,this.sources=null,this._chunks=eo(t/d),this._remainder=t%d||d,this._buffered=0,this._buffer=null,this._cancellations=null,this._reservations=0,this._flushed=!1}chunkLength(t){return t===this._chunks-1?this._remainder:d}chunkLengthRemaining(t){return this.length-t*d}chunkOffset(t){return t*d}reserve(){return this.init()?this._cancellations.length?this._cancellations.pop():this._reservations<this._chunks?this._reservations++:-1:-1}reserveRemaining(){if(!this.init())return-1;if(this._reservations<this._chunks){const t=this._reservations;return this._reservations=this._chunks,t}return-1}cancel(t){this.init()&&this._cancellations.push(t)}cancelRemaining(t){this.init()&&(this._reservations=t)}get(t){return this.init()?this._buffer[t]:null}set(t,e,n){if(!this.init())return!1;const r=e.length,a=eo(r/d);for(let r=0;r<a;r++)if(!this._buffer[t+r]){const o=r*d,a=e.slice(o,o+d);this._buffered++,this._buffer[t+r]=a,this.missing-=a.length,this.sources.includes(n)||this.sources.push(n)}return this._buffered===this._chunks}flush(){if(!this._buffer||this._chunks!==this._buffered)return null;const e=r.concat(this._buffer,this.length);return this._buffer=null,this._cancellations=null,this.sources=null,this._flushed=!0,e}init(){return!(this._flushed||!this._buffer&&(this._buffer=Array(this._chunks),this._cancellations=[],this.sources=[],0))}}Object.defineProperty(e,"BLOCK_LENGTH",{value:16384}),md=e}).call(this,p({}).Buffer);var _d=function(){},Gr=function(p,e,g){if("function"==typeof e)return Gr(p,null,e);e||(e={}),g=Ot(g||_d);var m=p._writableState,r=p._readableState,i=e.readable||!1!==e.readable&&p.readable,_=e.writable||!1!==e.writable&&p.writable,b=function(){p.writable||a()},a=function(){_=!1,i||g.call(p)},h=function(){i=!1,_||g.call(p)},c=function(e){g.call(p,e?new Error("exited with error code: "+e):null)},u=function(e){g.call(p,e)},d=function(){return(!i||r&&r.ended)&&(!_||m&&m.ended)?void 0:g.call(p,new Error("premature close"))},l=function(){p.req.on("finish",a)};return function(t){return t.setHeader&&"function"==typeof t.abort}(p)?(p.on("complete",a),p.on("abort",d),p.req?l():p.on("request",l)):_&&!m&&(p.on("end",b),p.on("close",b)),function(t){return t.stdio&&Array.isArray(t.stdio)&&3===t.stdio.length}(p)&&p.on("exit",c),p.on("end",h),p.on("finish",a),!1!==e.error&&p.on("error",u),p.on("close",d),function(){p.removeListener("complete",a),p.removeListener("abort",d),p.removeListener("request",l),p.req&&p.req.removeListener("finish",a),p.removeListener("end",b),p.removeListener("close",b),p.removeListener("finish",a),p.removeListener("exit",c),p.removeListener("end",h),p.removeListener("error",u),p.removeListener("close",d)}},Kr=Gr,Yr={};(function(o){var d=function(){},t=/^v?\.0/.test(o.version),n=function(t){return"function"==typeof t},r=function(t){t()},i=function(n,e){return n.pipe(e)};Yr=function(){var s,l=Array.prototype.slice.call(arguments),c=n(l[l.length-1]||d)&&l.pop()||d;if(Array.isArray(l[0])&&(l=l[0]),2>l.length)throw new Error("pump requires two streams per minimum");var a=l.map(function(e,o){var i=o<l.length-1;return function(r,e,i,s){s=Ot(s);var l=!1;r.on("close",function(){l=!0}),Kr(r,{readable:e,writable:i},function(t){return t?s(t):void(l=!0,s())});var c=!1;return function(e){if(!l&&!c)return c=!0,function(r){return!!t&&!0&&(r instanceof(oe.ReadStream||d)||r instanceof(oe.WriteStream||d))&&n(r.close)}(r)?r.close(d):function(t){return t.setHeader&&n(t.abort)}(r)?r.abort():n(r.destroy)?r.destroy():void s(e||new Error("stream was destroyed"))}}(e,i,0<o,function(e){s||(s=e),e&&a.forEach(r),i||(a.forEach(r),c(s))})});return l.reduce(i)}}).call(this,pe);var bd={};(function(d){const{EventEmitter:e}=m,t=jo("ut_metadata"),n=1e3,o=16384;bd=r=>{class i extends e{constructor(e){super(),this._wire=e,this._fetching=!1,this._metadataComplete=!1,this._metadataSize=null,this._remainingRejects=null,this._bitfield=new id(0,{grow:n}),d.isBuffer(r)&&this.setMetadata(r)}onHandshake(r,e,t){this._infoHash=r}onExtendedHandshake(t){return t.m&&t.m.ut_metadata?t.metadata_size?"number"!=typeof t.metadata_size||1e7<t.metadata_size||0>=t.metadata_size?this.emit("warning",new Error("Peer gave invalid metadata size")):(this._metadataSize=t.metadata_size,this._numPieces=eo(this._metadataSize/o),this._remainingRejects=2*this._numPieces,void(this._fetching&&this._requestPieces())):this.emit("warning",new Error("Peer does not have metadata")):this.emit("warning",new Error("Peer does not support ut_metadata"))}onMessage(o){let e,d;try{const t=o.toString(),n=t.indexOf("ee")+2;e=te.decode(t.substring(0,n)),d=o.slice(n)}catch(e){return}switch(e.msg_type){case 0:this._onRequest(e.piece);break;case 1:this._onData(e.piece,d,e.total_size);break;case 2:this._onReject(e.piece);}}fetch(){this._metadataComplete||(this._fetching=!0,this._metadataSize&&this._requestPieces())}cancel(){this._fetching=!1}setMetadata(n){if(this._metadataComplete)return!0;t("set metadata");try{const e=te.decode(n).info;e&&(n=te.encode(e))}catch(e){}return!(this._infoHash&&this._infoHash!==qo.sync(n)||(this.cancel(),this.metadata=n,this._metadataComplete=!0,this._metadataSize=this.metadata.length,this._wire.extendedHandshake.metadata_size=this._metadataSize,this.emit("metadata",te.encode({info:te.decode(this.metadata)})),0))}_send(e,t){let n=te.encode(e);d.isBuffer(t)&&(n=d.concat([n,t])),this._wire.extended("ut_metadata",n)}_request(t){this._send({msg_type:0,piece:t})}_data(o,e,t){const n={msg_type:1,piece:o};"number"==typeof t&&(n.total_size=t),this._send(n,e)}_reject(t){this._send({msg_type:2,piece:t})}_onRequest(d){if(!this._metadataComplete)return void this._reject(d);const e=d*o;let t=e+o;t>this._metadataSize&&(t=this._metadataSize);const a=this.metadata.slice(e,t);this._data(d,a,this._metadataSize)}_onData(r,e,t){e.length>o||(e.copy(this.metadata,r*o),this._bitfield.set(r),this._checkDone())}_onReject(t){0<this._remainingRejects&&this._fetching?(this._request(t),this._remainingRejects-=1):this.emit("warning",new Error("Peer sent \"reject\" too much"))}_requestPieces(){this.metadata=d.alloc(this._metadataSize);for(let t=0;t<this._numPieces;t++)this._request(t)}_checkDone(){let t=!0;for(let e=0;e<this._numPieces;e++)if(!this._bitfield.get(e)){t=!1;break}t&&(this.setMetadata(this.metadata)||this._failedMetadata())}_failedMetadata(){this._bitfield=new id(0,{grow:n}),this._remainingRejects-=this._numPieces,0<this._remainingRejects?this._requestPieces():this.emit("warning",new Error("Peer sent invalid metadata"))}}return i.prototype.name="ut_metadata",i}}).call(this,p({}).Buffer);var yd={parse:function(n){var e=n.split(",").map(function(t){return function(d){if(/^-?\d+$/.test(d))return parseInt(d,10);var e;if(e=d.match(/^(-?\d+)(-|\.\.\.?|\u2025|\u2026|\u22EF)(-?\d+)$/)){var l=e[1],c=e[2],r=e[3];if(l&&r){var u=[],s=(l=parseInt(l))<(r=parseInt(r))?1:-1;"-"!=c&&".."!=c&&"\u2025"!=c||(r+=s);for(var o=l;o!=r;o+=s)u.push(o);return u}}return[]}(t)});return 0===e.length?[]:1===e.length?Array.isArray(e[0])?e[0]:e:e.reduce(function(n,r){return Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]),n.concat(r)})}},Zr=function(r){for(var e=0,o=r.length;e<o;++e)if(127<r.charCodeAt(e))return!1;return!0},Qr=Br,wd="undefined"!=typeof window&&window.MediaSource;Br.prototype.createWriteStream=function(t){return new Rr(this,t)},Br.prototype.error=function(t){this.detailedError||(this.detailedError=t),this._dumpDebugData();try{this._mediaSource.endOfStream("decode")}catch(t){}try{window.URL.revokeObjectURL(this._elem.src)}catch(t){}},Br.prototype._dumpDebugData=function(){this._debug&&(this._debug=!1,this._streams.forEach(function(o,e){var t,d,a;t=o._debugBuffers,d="mediasource-stream-"+e,(a=document.createElement("a")).href=window.URL.createObjectURL(new window.Blob(t)),a.download=d,a.click()}))},Me(Rr,st.Writable),Rr.prototype._onSourceOpen=function(){this.destroyed||(this._mediaSource.removeEventListener("sourceopen",this._openHandler),this._createSourceBuffer())},Rr.prototype.destroy=function(t){this.destroyed||(this.destroyed=!0,this._allStreams.splice(this._allStreams.indexOf(this),1),this._mediaSource.removeEventListener("sourceopen",this._openHandler),this._elem.removeEventListener("timeupdate",this._flowHandler),this._sourceBuffer&&(this._sourceBuffer.removeEventListener("updateend",this._flowHandler),this._sourceBuffer.removeEventListener("error",this._errorHandler),"open"===this._mediaSource.readyState&&this._sourceBuffer.abort()),t&&this.emit("error",t),this.emit("close"))},Rr.prototype._createSourceBuffer=function(){if(!this.destroyed)if(!wd.isTypeSupported(this._type))this.destroy(new Error("The provided type is not supported"));else if(this._sourceBuffer=this._mediaSource.addSourceBuffer(this._type),this._sourceBuffer.addEventListener("updateend",this._flowHandler),this._sourceBuffer.addEventListener("error",this._errorHandler),this._cb){var t=this._cb;this._cb=null,t()}},Rr.prototype._write=function(o,e,t){var n=this;if(!n.destroyed)if(n._sourceBuffer){if(n._sourceBuffer.updating)return t(new Error("Cannot append buffer while source buffer updating"));var r=Sn(o);n._wrapper._debug&&n._debugBuffers.push(r);try{n._sourceBuffer.appendBuffer(r)}catch(e){return void n.destroy(e)}n._cb=t}else n._cb=function(r){return r?t(r):void n._write(o,e,t)}},Rr.prototype._flow=function(){if(!this.destroyed&&this._sourceBuffer&&!this._sourceBuffer.updating&&!("open"===this._mediaSource.readyState&&this._getBufferDuration()>this._bufferDuration)&&this._cb){var t=this._cb;this._cb=null,t()}},Rr.prototype._getBufferDuration=function(){for(var d=this._sourceBuffer.buffered,e=this._elem.currentTime,t=-1,a=0;a<d.length;a++){var l=d.start(a),i=d.end(a)+0;if(l>e)break;(0<=t||e<=i)&&(t=i)}var s=t-e;return 0>s&&(s=0),s};var Sd=function o(e,t,d){return"function"==typeof t?o(e,null,t):void!function o(e,t,n){if("function"==typeof t)return o(e,null,t);n=Ot(n);var d=[];e.on("data",function(t){d.push(t)}).on("end",function(){var r=t?new Blob(d,{type:t}):new Blob(d);n(null,r)}).on("error",n)}(e,t,function(r,e){if(r)return d(r);var t=URL.createObjectURL(e);d(null,t)})},kd={};(function(d){function e(o,e,t,d){if(0>t||d>o.length)throw new RangeError("Out of range index");return t>>>=0,(d=void 0===d?o.length:d>>>0)>t&&o.fill(e,t,d),o}var n=function(){try{if(!d.isEncoding("latin1"))return!1;var e=d.alloc?d.alloc(4):new d(4);return e.fill("ab","ucs2"),"61006200"===e.toString("hex")}catch(e){return!1}}();kd=function(t,r,l,c,u){if(n)return t.fill(r,l,c,u);if("number"==typeof r)return e(t,r,l,c);if("string"==typeof r){if("string"==typeof l?(u=l,l=0,c=t.length):"string"==typeof c&&(u=c,c=t.length),void 0!==u&&"string"!=typeof u)throw new TypeError("encoding must be a string");if("latin1"===u&&(u="binary"),"string"==typeof u&&!d.isEncoding(u))throw new TypeError("Unknown encoding: "+u);if(""===r)return e(t,0,l,c);if(function(t){return 1===t.length&&256>t.charCodeAt(0)}(r))return e(t,r.charCodeAt(0),l,c);r=new d(r,u)}return d.isBuffer(r)?function(o,e,t,d){if(0>t||d>o.length)throw new RangeError("Out of range index");if(d<=t)return o;t>>>=0,d=void 0===d?o.length:d>>>0;for(var a=t,l=e.length;a<=d-l;)e.copy(o,a),a+=l;return a!==d&&e.copy(o,a,0,d-a),o}(t,r,l,c):e(t,0,l,c)}}).call(this,p({}).Buffer);var Ed={};(function(n){Ed=function(e){if("number"!=typeof e)throw new TypeError("\"size\" argument must be a number");if(0>e)throw new RangeError("\"size\" argument must not be negative");return n.allocUnsafe?n.allocUnsafe(e):new n(e)}}).call(this,p({}).Buffer);var vd={};(function(o){vd=function(e,t,n){if("number"!=typeof e)throw new TypeError("\"size\" argument must be a number");if(0>e)throw new RangeError("\"size\" argument must not be negative");if(o.alloc)return o.alloc(e,t,n);var d=Ed(e);return 0===e?d:void 0===t?kd(d,0):("string"!=typeof n&&(n=void 0),kd(d,t,n))}}).call(this,p({}).Buffer);var Cd={},xd=no(2,32);Cd.encode=function(o,e,d){e||(e=vd(8)),d||(d=0);var a=io(o/4294967296);return e.writeUInt32BE(a,d),e.writeUInt32BE(o-a*4294967296,d+4),e},Cd.decode=function(o,e){e||(e=0);var d=o.readUInt32BE(e),n=o.readUInt32BE(e+4);return d*4294967296+n},Cd.encode.bytes=8,Cd.decode.bytes=8;var Ld={};(function(d){var l={3:"ESDescriptor",4:"DecoderConfigDescriptor",5:"DecoderSpecificInfo",6:"SLConfigDescriptor"};Ld.Descriptor={},Ld.Descriptor.decode=function(e,t,n){var r,i,f=e.readUInt8(t),a=t+1,p=0;do p=p<<7|127&(r=e.readUInt8(a++));while(128&r);var g=l[f];return(i=Ld[g]?Ld[g].decode(e,a,n):{buffer:d.from(e.slice(a,a+p))}).tag=f,i.tagName=g,i.length=a-t+p,i.contentsLen=p,i},Ld.DescriptorArray={},Ld.DescriptorArray.decode=function(t,e,n){for(var r,d=e,a={};d+2<=n;)r=Ld.Descriptor.decode(t,d,n),d+=r.length,a[l[r.tag]||"Descriptor"+r.tag]=r;return a},Ld.ESDescriptor={},Ld.ESDescriptor.decode=function(o,e,t){var n=o.readUInt8(e+2),r=e+3;return 128&n&&(r+=2),64&n&&(r+=o.readUInt8(r)+1),32&n&&(r+=2),Ld.DescriptorArray.decode(o,r,t)},Ld.DecoderConfigDescriptor={},Ld.DecoderConfigDescriptor.decode=function(o,e,t){var n=o.readUInt8(e),r=Ld.DescriptorArray.decode(o,e+13,t);return r.oti=n,r}}).call(this,p({}).Buffer);var Td={};(function(o){var d=lo({}),t=o.alloc(0);class a extends st.PassThrough{constructor(t){super(),this._parent=t,this.destroyed=!1}destroy(t){this.destroyed||(this.destroyed=!0,this._parent.destroy(t),t&&this.emit("error",t),this.emit("close"))}}Td=class extends st.Writable{constructor(t){super(t),this.destroyed=!1,this._pending=0,this._missing=0,this._ignoreEmpty=!1,this._buf=null,this._str=null,this._cb=null,this._ondrain=null,this._writeBuffer=null,this._writeCb=null,this._ondrain=null,this._kick()}destroy(t){this.destroyed||(this.destroyed=!0,t&&this.emit("error",t),this.emit("close"))}_write(r,d,l){if(!this.destroyed){for(var n=!this._str||!this._str._writableState.needDrain;r.length&&!this.destroyed;){if(!this._missing&&!this._ignoreEmpty)return this._writeBuffer=r,void(this._writeCb=l);var c=r.length<this._missing?r.length:this._missing;if(this._buf?r.copy(this._buf,this._buf.length-this._missing):this._str&&(n=this._str.write(c===r.length?r:r.slice(0,c))),this._missing-=c,!this._missing){var s=this._buf,o=this._cb,a=this._str;this._buf=this._cb=this._str=this._ondrain=null,n=!0,this._ignoreEmpty=!1,a&&a.end(),o&&o(s)}r=c===r.length?t:r.slice(c)}if(this._pending&&!this._missing)return this._writeBuffer=r,void(this._writeCb=l);n?l():this._ondrain(l)}}_buffer(e,t){this._missing=e,this._buf=o.alloc(e),this._cb=t}_stream(o,e){return this._missing=o,this._str=new a(this),this._ondrain=(t=this._str,d="drain",i=null,t.on(d,function(n){if(i){var e=i;i=null,e(n)}}),function(t){i=t}),this._pending++,this._str.on("end",()=>{this._pending--,this._kick()}),this._cb=e,this._str;var t,d,i}_readBox(){const e=(t,n)=>{this._buffer(t,t=>{n=n?o.concat([n,t]):t;var r=d.readHeaders(n);"number"==typeof r?e(r-n.length,n):(this._pending++,this._headers=r,this.emit("box",r))})};e(8)}stream(){if(!this._headers)throw new Error("this function can only be called once after 'box' is emitted");var t=this._headers;return this._headers=null,this._stream(t.contentLen,null)}decode(n){if(!this._headers)throw new Error("this function can only be called once after 'box' is emitted");var e=this._headers;this._headers=null,this._buffer(e.contentLen,t=>{var r=d.decodeWithoutHeaders(e,t);n(r),this._pending--,this._kick()})}ignore(){if(!this._headers)throw new Error("this function can only be called once after 'box' is emitted");var t=this._headers;this._headers=null,this._missing=t.contentLen,0===this._missing&&(this._ignoreEmpty=!0),this._cb=()=>{this._pending--,this._kick()}}_kick(){if(!this._pending&&(this._buf||this._str||this._readBox(),this._writeBuffer)){var n=this._writeCb,e=this._writeBuffer;this._writeBuffer=null,this._writeCb=null,this._write(e,null,n)}}}}).call(this,p({}).Buffer);var Bd={};(function(d,e){function n(){}var a=lo({});class r extends st.PassThrough{constructor(t){super(),this._parent=t,this.destroyed=!1}destroy(t){this.destroyed||(this.destroyed=!0,this._parent.destroy(t),t&&this.emit("error",t),this.emit("close"))}}Bd=class extends st.Readable{constructor(t){super(t),this.destroyed=!1,this._finalized=!1,this._reading=!1,this._stream=null,this._drain=null,this._want=!1,this._onreadable=()=>{this._want&&(this._want=!1,this._read())},this._onend=()=>{this._stream=null}}mdat(n,e){this.mediaData(n,e)}mediaData(o,e){var t=new r(this);return this.box({type:"mdat",contentLength:o,encodeBufferLen:8,stream:t},e),t}box(r,t){if(t||(t=n),this.destroyed)return t(new Error("Encoder is destroyed"));var i;if(r.encodeBufferLen&&(i=e.alloc(r.encodeBufferLen)),r.stream)r.buffer=null,i=a.encode(r,i),this.push(i),this._stream=r.stream,this._stream.on("readable",this._onreadable),this._stream.on("end",this._onend),this._stream.on("end",t),this._forward();else{if(i=a.encode(r,i),this.push(i))return d.nextTick(t);this._drain=t}}destroy(n){if(!this.destroyed){if(this.destroyed=!0,this._stream&&this._stream.destroy&&this._stream.destroy(),this._stream=null,this._drain){var e=this._drain;this._drain=null,e(n)}n&&this.emit("error",n),this.emit("close")}}finalize(){this._finalized=!0,this._stream||this._drain||this.push(null)}_forward(){if(this._stream)for(;!this.destroyed;){var t=this._stream.read();if(!t)return void(this._want=!!this._stream);if(!this.push(t))return}}_read(){if(!this._reading&&!this.destroyed){if(this._reading=!0,this._stream&&this._forward(),this._drain){var t=this._drain;this._drain=null,t()}this._reading=!1,this._finalized&&this.push(null)}}}}).call(this,pe,p({}).Buffer);var Id={decode:t=>new Td(t),encode:t=>new Bd(t)};const{Writable:Rd,PassThrough:Ad}=st;var Ud=class extends Rd{constructor(n,e={}){super(e),this.destroyed=!1,this._queue=[],this._position=n||0,this._cb=null,this._buffer=null,this._out=null}_write(d,o,a){let n=!0;for(;;){if(this.destroyed)return;if(0===this._queue.length)return this._buffer=d,void(this._cb=a);this._buffer=null;var l=this._queue[0];const e=to(l.start-this._position,0),t=l.end-this._position;if(e>=d.length)return this._position+=d.length,a(null);let r;if(t>d.length){this._position+=d.length,r=0===e?d:d.slice(e),n=l.stream.write(r)&&n;break}this._position+=t,r=0===e&&t===d.length?d:d.slice(e,t),n=l.stream.write(r)&&n,l.last&&l.stream.end(),d=d.slice(t),this._queue.shift()}n?a(null):l.stream.once("drain",a.bind(null,null))}slice(o){if(this.destroyed)return null;Array.isArray(o)||(o=[o]);const d=new Ad;return o.forEach((e,t)=>{this._queue.push({start:e.start,end:e.end,stream:d,last:t===o.length-1})}),this._buffer&&this._write(this._buffer,null,this._cb),d}destroy(t){this.destroyed||(this.destroyed=!0,t&&this.emit("error",t))}},Pd={};(function(d){const l=lo({});class w{constructor(n,e){this._entries=n,this._countName=e||"count",this._index=0,this._offset=0,this.value=this._entries[0]}inc(){this._offset++,this._offset>=this._entries[this._index][this._countName]&&(this._index++,this._offset=0),this.value=this._entries[this._index]}}Pd=class extends m{constructor(t){super(),this._tracks=[],this._file=t,this._decoder=null,this._findMoov(0)}_findMoov(o){this._decoder&&this._decoder.destroy();let e=0;this._decoder=Id.decode();const d=this._file.createReadStream({start:o});d.pipe(this._decoder);const n=t=>{"moov"===t.type?(this._decoder.removeListener("box",n),this._decoder.decode(t=>{d.destroy();try{this._processMoov(t)}catch(e){e.message=`Cannot parse mp4 file: ${e.message}`,this.emit("error",e)}})):4096>t.length?(e+=t.length,this._decoder.ignore()):(this._decoder.removeListener("box",n),e+=t.length,d.destroy(),this._decoder.destroy(),this._findMoov(o+e))};this._decoder.on("box",n)}_processMoov(r){const t=r.traks;this._tracks=[],this._hasVideo=!1,this._hasAudio=!1;for(let i=0;i<t.length;i++){const e=t[i],s=e.mdia.minf.stbl,n=s.stsd.entries[0],o=e.mdia.hdlr.handlerType;let a,c;if("vide"===o&&"avc1"===n.type){if(this._hasVideo)continue;this._hasVideo=!0,a="avc1",n.avcC&&(a+=`.${n.avcC.mimeCodec}`),c=`video/mp4; codecs="${a}"`}else{if("soun"!==o||"mp4a"!==n.type)continue;if(this._hasAudio)continue;this._hasAudio=!0,a="mp4a",n.esds&&n.esds.mimeCodec&&(a+=`.${n.esds.mimeCodec}`),c=`audio/mp4; codecs="${a}"`}const u=[];let d=0,l=0,f=0,p=0,h=0,g=0;const m=new w(s.stts.entries);let _=null;s.ctts&&(_=new w(s.ctts.entries));for(let o=0;;){var S=s.stsc.entries[h];const a=s.stsz.entries[d],e=m.value.duration,t=_?_.value.compositionOffset:0;let n=!0;s.stss&&(n=s.stss.entries[o]===d+1);const r=s.stco||s.co64;if(u.push({size:a,duration:e,dts:g,presentationOffset:t,sync:n,offset:p+r.entries[f]}),++d>=s.stsz.entries.length)break;if(p+=a,++l>=S.samplesPerChunk){l=0,p=0,f++;const t=s.stsc.entries[h+1];t&&f+1>=t.firstChunk&&h++}g+=e,m.inc(),_&&_.inc(),n&&o++}e.mdia.mdhd.duration=0,e.tkhd.duration=0;const b=S.sampleDescriptionId,y={type:"moov",mvhd:r.mvhd,traks:[{tkhd:e.tkhd,mdia:{mdhd:e.mdia.mdhd,hdlr:e.mdia.hdlr,elng:e.mdia.elng,minf:{vmhd:e.mdia.minf.vmhd,smhd:e.mdia.minf.smhd,dinf:e.mdia.minf.dinf,stbl:{stsd:s.stsd,stts:{version:0,flags:0,entries:[]},ctts:{version:0,flags:0,entries:[]},stsc:{version:0,flags:0,entries:[]},stsz:{version:0,flags:0,entries:[]},stco:{version:0,flags:0,entries:[]},stss:{version:0,flags:0,entries:[]}}}}}],mvex:{mehd:{fragmentDuration:r.mvhd.duration},trexs:[{trackId:e.tkhd.trackId,defaultSampleDescriptionIndex:b,defaultSampleDuration:0,defaultSampleSize:0,defaultSampleFlags:0}]}};this._tracks.push({fragmentSequence:1,trackId:e.tkhd.trackId,timeScale:e.mdia.mdhd.timeScale,samples:u,currSample:null,currTime:null,moov:y,mime:c})}if(0===this._tracks.length)return void this.emit("error",new Error("no playable tracks"));r.mvhd.duration=0,this._ftyp={type:"ftyp",brand:"iso5",brandVersion:0,compatibleBrands:["iso5"]};const e=l.encode(this._ftyp),n=this._tracks.map(n=>{const t=l.encode(n.moov);return{mime:n.mime,init:d.concat([e,t])}});this.emit("ready",n)}seek(d){if(!this._tracks)throw new Error("Not ready yet; wait for 'ready' event");this._fileStream&&(this._fileStream.destroy(),this._fileStream=null);let a=-1;if(this._tracks.map((l,e)=>{l.outStream&&l.outStream.destroy(),l.inStream&&(l.inStream.destroy(),l.inStream=null);const n=l.outStream=Id.encode(),t=this._generateFragment(e,d);if(!t)return n.finalize();(-1===a||t.ranges[0].start<a)&&(a=t.ranges[0].start);const r=o=>{n.destroyed||n.box(o.moof,d=>d?this.emit("error",d):void(n.destroyed||l.inStream.slice(o.ranges).pipe(n.mediaData(o.length,t=>{if(t)return this.emit("error",t);if(!n.destroyed){const o=this._generateFragment(e);return o?void r(o):n.finalize()}}))))};r(t)}),0<=a){const t=this._fileStream=this._file.createReadStream({start:a});this._tracks.forEach(e=>{e.inStream=new Ud(a,{highWaterMark:1e7}),t.pipe(e.inStream)})}return this._tracks.map(t=>t.outStream)}_findSampleBefore(o,e){const t=this._tracks[o],n=io(t.timeScale*e);let r=function(d,e,t,n,a){var l,c;if(void 0===n)n=0;else if(0>(n|=0)||n>=d.length)throw new RangeError("invalid lower bound");if(void 0===a)a=d.length-1;else if((a|=0)<n||a>=d.length)throw new RangeError("invalid upper bound");for(;n<=a;)if(0>(c=+t(d[l=n+(a-n>>>1)],e,l,d)))n=l+1;else{if(!(0<c))return l;a=l-1}return~n}(t.samples,n,(n,e)=>n.dts+n.presentationOffset-e);for(-1===r?r=0:0>r&&(r=-r-2);!t.samples[r].sync;)r--;return r}_generateFragment(d,e){const l=this._tracks[d];let t;if((t=void 0===e?l.currSample:this._findSampleBefore(d,e))>=l.samples.length)return null;const n=l.samples[t].dts;let i=0;const c=[];for(var o=t;o<l.samples.length;o++){const r=l.samples[o];if(r.sync&&r.dts-n>=1*l.timeScale)break;i+=r.size;const e=c.length-1;0>e||c[e].end!==r.offset?c.push({start:r.offset,end:r.offset+r.size}):c[e].end+=r.size}return l.currSample=o,{moof:this._generateMoof(d,t,o),ranges:c,length:i}}_generateMoof(n,e,t){const r=this._tracks[n],d=[];let i=0;for(let o=e;o<t;o++){const t=r.samples[o];0>t.presentationOffset&&(i=1),d.push({sampleDuration:t.duration,sampleSize:t.size,sampleFlags:t.sync?33554432:16842752,sampleCompositionTimeOffset:t.presentationOffset})}const s={type:"moof",mfhd:{sequenceNumber:r.fragmentSequence++},trafs:[{tfhd:{flags:131072,trackId:r.trackId},tfdt:{baseMediaDecodeTime:r.samples[e].dts},trun:{flags:3841,dataOffset:8,entries:d,version:i}}]};return s.trafs[0].trun.dataOffset+=l.encodingLength(s),s}}}).call(this,p({}).Buffer);var Md={};Ur.prototype={_createMuxer(){this._muxer=new Pd(this._file),this._muxer.on("ready",t=>{this._tracks=t.map(r=>{const e=this._elemWrapper.createWriteStream(r.mime);e.on("error",t=>{this._elemWrapper.error(t)});const t={muxed:null,mediaSource:e,initFlushed:!1,onInitFlushed:null};return e.write(r.init,n=>{t.initFlushed=!0,t.onInitFlushed&&t.onInitFlushed(n)}),t}),(this._waitingFired||"auto"===this._elem.preload)&&this._pump()}),this._muxer.on("error",t=>{this._elemWrapper.error(t)})},_pump(){const r=this._muxer.seek(this._elem.currentTime,!this._tracks);this._tracks.forEach((e,t)=>{const n=()=>{e.muxed&&(e.muxed.destroy(),e.mediaSource=this._elemWrapper.createWriteStream(e.mediaSource),e.mediaSource.on("error",t=>{this._elemWrapper.error(t)})),e.muxed=r[t],Yr(e.muxed,e.mediaSource)};e.initFlushed?n():e.onInitFlushed=t=>{t?this._elemWrapper.error(t):n()}})},destroy(){this.destroyed||(this.destroyed=!0,this._elem.removeEventListener("waiting",this._onWaiting),this._elem.removeEventListener("error",this._onError),this._tracks&&this._tracks.forEach(t=>{t.muxed&&t.muxed.destroy()}),this._elem.src="")}},Md=Ur;var Od={render:function(o,e,d,a){"function"==typeof d&&(a=d,d={}),d||(d={}),a||(a=function(){}),Fr(o),Wr(d),"string"==typeof e&&(e=document.querySelector(e)),Mr(o,function(t){if(e.nodeName!==t.toUpperCase()){var n=pt.extname(o.name).toLowerCase();throw new Error("Cannot render \""+n+"\" inside a \""+e.nodeName.toLowerCase()+"\" element, expected \""+t+"\"")}return e},d,a)},append:function(o,d,a,s){function l(t){var e=document.createElement(t);return d.appendChild(e),e}if("function"==typeof a&&(s=a,a={}),a||(a={}),s||(s=function(){}),Fr(o),Wr(a),"string"==typeof d&&(d=document.querySelector(d)),d&&("VIDEO"===d.nodeName||"AUDIO"===d.nodeName))throw new Error("Invalid video/audio node argument. Argument must be root element that video/audio tag will be appended to.");Mr(o,function(t){return"video"===t||"audio"===t?function(t){var e=l(t);return a.autoplay&&(e.autoplay=!0),a.muted&&(e.muted=!0),a.controls&&(e.controls=!0),d.appendChild(e),e}(t):l(t)},a,function(n,e){n&&e&&e.remove(),s(n,e)})},mime:{".3gp":"video/3gpp",".aac":"audio/aac",".aif":"audio/x-aiff",".aiff":"audio/x-aiff",".atom":"application/atom+xml",".avi":"video/x-msvideo",".bmp":"image/bmp",".bz2":"application/x-bzip2",".conf":"text/plain",".css":"text/css",".csv":"text/plain",".diff":"text/x-diff",".doc":"application/msword",".flv":"video/x-flv",".gif":"image/gif",".gz":"application/x-gzip",".htm":"text/html",".html":"text/html",".ico":"image/vnd.microsoft.icon",".ics":"text/calendar",".iso":"application/octet-stream",".jar":"application/java-archive",".jpeg":"image/jpeg",".jpg":"image/jpeg",".js":"application/javascript",".json":"application/json",".less":"text/css",".log":"text/plain",".m3u":"audio/x-mpegurl",".m4a":"audio/x-m4a",".m4b":"audio/mp4",".m4p":"audio/mp4",".m4v":"video/x-m4v",".manifest":"text/cache-manifest",".markdown":"text/x-markdown",".mathml":"application/mathml+xml",".md":"text/x-markdown",".mid":"audio/midi",".midi":"audio/midi",".mov":"video/quicktime",".mp3":"audio/mpeg",".mp4":"video/mp4",".mp4v":"video/mp4",".mpeg":"video/mpeg",".mpg":"video/mpeg",".odp":"application/vnd.oasis.opendocument.presentation",".ods":"application/vnd.oasis.opendocument.spreadsheet",".odt":"application/vnd.oasis.opendocument.text",".oga":"audio/ogg",".ogg":"application/ogg",".pdf":"application/pdf",".png":"image/png",".pps":"application/vnd.ms-powerpoint",".ppt":"application/vnd.ms-powerpoint",".ps":"application/postscript",".psd":"image/vnd.adobe.photoshop",".qt":"video/quicktime",".rar":"application/x-rar-compressed",".rdf":"application/rdf+xml",".rss":"application/rss+xml",".rtf":"application/rtf",".svg":"image/svg+xml",".svgz":"image/svg+xml",".swf":"application/x-shockwave-flash",".tar":"application/x-tar",".tbz":"application/x-bzip-compressed-tar",".text":"text/plain",".tif":"image/tiff",".tiff":"image/tiff",".torrent":"application/x-bittorrent",".ttf":"application/x-font-ttf",".txt":"text/plain",".wav":"audio/wav",".webm":"video/webm",".wma":"audio/x-ms-wma",".wmv":"video/x-ms-wmv",".xls":"application/vnd.ms-excel",".xml":"application/xml",".yaml":"text/yaml",".yml":"text/yaml",".zip":"application/zip"}},Nd=jo("render-media"),Hd=[".m4a",".m4b",".m4p",".m4v",".mp4"],Dd=[".m4v",".mkv",".mp4",".webm"],qd=[].concat(Dd,[".m4a",".m4b",".m4p",".mp3"]),Fd=[".mov",".ogv"],Wd=[".aac",".oga",".ogg",".wav",".flac"],jd=[".bmp",".gif",".jpeg",".jpg",".png",".svg"],zd=[".css",".html",".js",".md",".pdf",".txt"],Vd="undefined"!=typeof window&&window.MediaSource,Gd={};(function(o){Gd=function(e,t,n){n=Ot(n);var d=o.alloc(t),a=0;e.on("data",function(t){t.copy(d,a),a+=t.length}).on("end",function(){n(null,d)}).on("error",n)}}).call(this,p({}).Buffer);const Kd=jo("webtorrent:file-stream");var Yd=class extends st.Readable{constructor(o,e){super(e),this.destroyed=!1,this._torrent=o._torrent;const t=e&&e.start||0,n=e&&e.end&&e.end<o.length?e.end:o.length-1,r=o._torrent.pieceLength;this._startPiece=0|(t+o.offset)/r,this._endPiece=0|(n+o.offset)/r,this._piece=this._startPiece,this._offset=t+o.offset-this._startPiece*r,this._missing=n-t+1,this._reading=!1,this._notifying=!1,this._criticalLength=ao(0|1048576/r,2)}_read(){this._reading||(this._reading=!0,this._notify())}_notify(){if(!this._reading||0===this._missing)return;if(!this._torrent.bitfield.get(this._piece))return this._torrent.critical(this._piece,this._piece+this._criticalLength);if(this._notifying)return;if(this._notifying=!0,this._torrent.destroyed)return this._destroy(new Error("Torrent removed"));const r=this._piece;this._torrent.store.get(r,(e,t)=>{if(this._notifying=!1,!this.destroyed){if(e)return this._destroy(e);Kd("read %s (length %s) (err %s)",r,t.length,e&&e.message),this._offset&&(t=t.slice(this._offset),this._offset=0),this._missing<t.length&&(t=t.slice(0,this._missing)),this._missing-=t.length,Kd("pushing buffer of length %s",t.length),this._reading=!1,this.push(t),0===this._missing&&this.push(null)}}),this._piece+=1}destroy(t){this._destroy(null,t)}_destroy(n,e){this.destroyed||(this.destroyed=!0,this._torrent.destroyed||this._torrent.deselect(this._startPiece,this._endPiece,!0),n&&this.emit("error",n),this.emit("close"),e&&e())}},$d={};(function(r){const{EventEmitter:e}=m,{PassThrough:o}=st;$d=class extends e{constructor(o,e){super(),this._torrent=o,this._destroyed=!1,this.name=e.name,this.path=e.path,this.length=e.length,this.offset=e.offset,this.done=!1;const t=e.offset,n=t+e.length-1;this._startPiece=0|t/this._torrent.pieceLength,this._endPiece=0|n/this._torrent.pieceLength,0===this.length&&(this.done=!0,this.emit("done"))}get downloaded(){if(!this._torrent.bitfield)return 0;const{pieces:d,bitfield:e,pieceLength:t}=this._torrent,{_startPiece:n,_endPiece:r}=this,a=d[n];let i=e.get(n)?t-this.offset%t:to(a.length-a.missing-this.offset,0);for(let o=n+1;o<=r;++o)if(e.get(o))i+=t;else{const e=d[o];i+=e.length-e.missing}return ao(i,this.length)}get progress(){return this.length?this.downloaded/this.length:0}select(t){0!==this.length&&this._torrent.select(this._startPiece,this._endPiece,t)}deselect(){0!==this.length&&this._torrent.deselect(this._startPiece,this._endPiece,!1)}createReadStream(e){if(0===this.length){const e=new o;return r.nextTick(()=>{e.end()}),e}const t=new Yd(this,e);return this._torrent.select(t._startPiece,t._endPiece,!0,()=>{t._notify()}),Kr(t,()=>{this._destroyed||this._torrent.destroyed||this._torrent.deselect(t._startPiece,t._endPiece,!0)}),t}getBuffer(t){Gd(this.createReadStream(),this.length,t)}getBlob(n){if("undefined"==typeof window)throw new Error("browser-only method");(function(o,r){if(null!=r&&"string"!=typeof r)throw new Error("Invalid mimetype, expected string.");return new Promise((t,e)=>{const n=[];o.on("data",t=>n.push(t)).once("end",()=>{const o=null==r?new Blob(n):new Blob(n,{type:r});t(o)}).once("error",e)})})(this.createReadStream(),this._getMimeType()).then(e=>n(null,e),n)}getBlobURL(t){if("undefined"==typeof window)throw new Error("browser-only method");Sd(this.createReadStream(),this._getMimeType(),t)}appendTo(r,e,t){if("undefined"==typeof window)throw new Error("browser-only method");Od.append(this,r,e,t)}renderTo(r,e,t){if("undefined"==typeof window)throw new Error("browser-only method");Od.render(this,r,e,t)}_getMimeType(){return Od.mime[pt.extname(this.name).toLowerCase()]}_destroy(){this._destroyed=!0,this._torrent=null}}}).call(this,pe);var Xd=function(o,e){if(!(e>=o.length||0>e)){var t=o.pop();if(e<o.length){var n=o[e];return o[e]=t,n}return t}},Qd={};(function(d){const l=jo("bittorrent-protocol"),e=d.from("\x13BitTorrent protocol"),t=d.from([0,0,0,0]),n=d.from([0,0,0,1,0]),r=d.from([0,0,0,1,1]),i=d.from([0,0,0,1,2]),o=d.from([0,0,0,1,3]),f=[0,0,0,0,0,0,0,0],a=[0,0,0,3,9,0,0];class s{constructor(o,e,t,n){this.piece=o,this.offset=e,this.length=t,this.callback=n}}Qd=class extends st.Duplex{constructor(){super(),this._debugId=ur(4).toString("hex"),this._debug("new wire"),this.peerId=null,this.peerIdBuffer=null,this.type=null,this.amChoking=!0,this.amInterested=!1,this.peerChoking=!0,this.peerInterested=!1,this.peerPieces=new id(0,{grow:4e5}),this.peerExtensions={},this.requests=[],this.peerRequests=[],this.extendedMapping={},this.peerExtendedMapping={},this.extendedHandshake={},this.peerExtendedHandshake={},this._ext={},this._nextExt=1,this.uploaded=0,this.downloaded=0,this.uploadSpeed=gr(),this.downloadSpeed=gr(),this._keepAliveInterval=null,this._timeout=null,this._timeoutMs=0,this.destroyed=!1,this._finished=!1,this._parserSize=0,this._parser=null,this._buffer=[],this._bufferSize=0,this.on("finish",this._onFinish),this._parseHandshake()}setKeepAlive(t){this._debug("setKeepAlive %s",t),clearInterval(this._keepAliveInterval),!1!==t&&(this._keepAliveInterval=setInterval(()=>{this.keepAlive()},55e3))}setTimeout(n,e){this._debug("setTimeout ms=%d unref=%s",n,e),this._clearTimeout(),this._timeoutMs=n,this._timeoutUnref=!!e,this._updateTimeout()}destroy(){this.destroyed||(this.destroyed=!0,this._debug("destroy"),this.emit("close"),this.end())}end(...t){this._debug("end"),this._onUninterested(),this._onChoke(),super.end(...t)}use(o){function e(){}const d=o.prototype.name;if(!d)throw new Error("Extension class requires a \"name\" property on the prototype");this._debug("use extension.name=%s",d);const t=this._nextExt,n=new o(this);"function"!=typeof n.onHandshake&&(n.onHandshake=e),"function"!=typeof n.onExtendedHandshake&&(n.onExtendedHandshake=e),"function"!=typeof n.onMessage&&(n.onMessage=e),this.extendedMapping[t]=d,this._ext[d]=n,this[d]=n,this._nextExt+=1}keepAlive(){this._debug("keep-alive"),this._push(t)}handshake(n,l,c){let i,u;if("string"==typeof n?(n=n.toLowerCase(),i=d.from(n,"hex")):n=(i=n).toString("hex"),"string"==typeof l?u=d.from(l,"hex"):l=(u=l).toString("hex"),20!==i.length||20!==u.length)throw new Error("infoHash and peerId MUST have length 20");this._debug("handshake i=%s p=%s exts=%o",n,l,c);const p=d.from(f);p[5]|=16,c&&c.dht&&(p[7]|=1),this._push(d.concat([e,p,i,u])),this._handshakeSent=!0,this.peerExtensions.extended&&!this._extendedHandshakeSent&&this._sendExtendedHandshake()}_sendExtendedHandshake(){const r=Object.assign({},this.extendedHandshake);for(const e in r.m={},this.extendedMapping){const t=this.extendedMapping[e];r.m[t]=+e}this.extended(0,te.encode(r)),this._extendedHandshakeSent=!0}choke(){if(!this.amChoking){for(this.amChoking=!0,this._debug("choke");this.peerRequests.length;)this.peerRequests.pop();this._push(n)}}unchoke(){this.amChoking&&(this.amChoking=!1,this._debug("unchoke"),this._push(r))}interested(){this.amInterested||(this.amInterested=!0,this._debug("interested"),this._push(i))}uninterested(){this.amInterested&&(this.amInterested=!1,this._debug("uninterested"),this._push(o))}have(t){this._debug("have %d",t),this._message(4,[t],null)}bitfield(e){this._debug("bitfield"),d.isBuffer(e)||(e=e.buffer),this._message(5,[],e)}request(o,e,t,n){return n||(n=()=>{}),this._finished?n(new Error("wire is closed")):this.peerChoking?n(new Error("peer is choking")):(this._debug("request index=%d offset=%d length=%d",o,e,t),this.requests.push(new s(o,e,t,n)),this._updateTimeout(),void this._message(6,[o,e,t],null))}piece(r,e,t){this._debug("piece index=%d offset=%d",r,e),this.uploaded+=t.length,this.uploadSpeed(t.length),this.emit("upload",t.length),this._message(7,[r,e],t)}cancel(r,e,t){this._debug("cancel index=%d offset=%d length=%d",r,e,t),this._callback(this._pull(this.requests,r,e,t),new Error("request was cancelled"),null),this._message(8,[r,e,t],null)}port(e){this._debug("port %d",e);const t=d.from(a);t.writeUInt16BE(e,5),this._push(t)}extended(e,o){if(this._debug("extended ext=%s",e),"string"==typeof e&&this.peerExtendedMapping[e]&&(e=this.peerExtendedMapping[e]),"number"!=typeof e)throw new Error(`Unrecognized extension: ${e}`);{const t=d.from([e]),n=d.isBuffer(o)?o:te.encode(o);this._message(20,[],d.concat([t,n]))}}_read(){}_message(e,t,n){const r=n?n.length:0,o=d.allocUnsafe(5+4*t.length);o.writeUInt32BE(o.length+r-4,0),o[4]=e;for(let r=0;r<t.length;r++)o.writeUInt32BE(t[r],5+4*r);this._push(o),n&&this._push(n)}_push(t){if(!this._finished)return this.push(t)}_onKeepAlive(){this._debug("got keep-alive"),this.emit("keep-alive")}_onHandshake(o,e,t){const n=o.toString("hex"),r=e.toString("hex");for(var d in this._debug("got handshake i=%s p=%s exts=%o",n,r,t),this.peerId=r,this.peerIdBuffer=e,this.peerExtensions=t,this.emit("handshake",n,r,t),this._ext)this._ext[d].onHandshake(n,r,t);t.extended&&this._handshakeSent&&!this._extendedHandshakeSent&&this._sendExtendedHandshake()}_onChoke(){for(this.peerChoking=!0,this._debug("got choke"),this.emit("choke");this.requests.length;)this._callback(this.requests.pop(),new Error("peer is choking"),null)}_onUnchoke(){this.peerChoking=!1,this._debug("got unchoke"),this.emit("unchoke")}_onInterested(){this.peerInterested=!0,this._debug("got interested"),this.emit("interested")}_onUninterested(){this.peerInterested=!1,this._debug("got uninterested"),this.emit("uninterested")}_onHave(t){this.peerPieces.get(t)||(this._debug("got have %d",t),this.peerPieces.set(t,!0),this.emit("have",t))}_onBitField(t){this.peerPieces=new id(t),this._debug("got bitfield"),this.emit("bitfield",this.peerPieces)}_onRequest(o,e,t){if(!this.amChoking){this._debug("got request index=%d offset=%d length=%d",o,e,t);const d=(d,r)=>{if(n===this._pull(this.peerRequests,o,e,t))return d?this._debug("error satisfying request index=%d offset=%d length=%d (%s)",o,e,t,d.message):void this.piece(o,e,r)};var n=new s(o,e,t,d);this.peerRequests.push(n),this.emit("request",o,e,t,d)}}_onPiece(r,e,t){this._debug("got piece index=%d offset=%d",r,e),this._callback(this._pull(this.requests,r,e,t.length),null,t),this.downloaded+=t.length,this.downloadSpeed(t.length),this.emit("download",t.length),this.emit("piece",r,e,t)}_onCancel(r,e,t){this._debug("got cancel index=%d offset=%d length=%d",r,e,t),this._pull(this.peerRequests,r,e,t),this.emit("cancel",r,e,t)}_onPort(t){this._debug("got port %d",t),this.emit("port",t)}_onExtended(n,r){if(0===n){let t,e;try{t=te.decode(r)}catch(e){this._debug("ignoring invalid extended handshake: %s",e.message||e)}if(!t)return;if(this.peerExtendedHandshake=t,"object"==typeof t.m)for(e in t.m)this.peerExtendedMapping[e]=+t.m[e].toString();for(e in this._ext)this.peerExtendedMapping[e]&&this._ext[e].onExtendedHandshake(this.peerExtendedHandshake);this._debug("got extended handshake"),this.emit("extended","handshake",this.peerExtendedHandshake)}else this.extendedMapping[n]&&(n=this.extendedMapping[n],this._ext[n]&&this._ext[n].onMessage(r)),this._debug("got extended message ext=%s",n),this.emit("extended",n,r)}_onTimeout(){this._debug("request timed out"),this._callback(this.requests.shift(),new Error("request has timed out"),null),this.emit("timeout")}_write(e,t,n){for(this._bufferSize+=e.length,this._buffer.push(e);this._bufferSize>=this._parserSize;){const e=1===this._buffer.length?this._buffer[0]:d.concat(this._buffer);this._bufferSize-=this._parserSize,this._buffer=this._bufferSize?[e.slice(this._parserSize)]:[],this._parser(e.slice(0,this._parserSize))}n(null)}_callback(r,e,t){r&&(this._clearTimeout(),this.peerChoking||this._finished||this._updateTimeout(),r.callback(e,t))}_clearTimeout(){this._timeout&&(clearTimeout(this._timeout),this._timeout=null)}_updateTimeout(){this._timeoutMs&&this.requests.length&&!this._timeout&&(this._timeout=setTimeout(()=>this._onTimeout(),this._timeoutMs),this._timeoutUnref&&this._timeout.unref&&this._timeout.unref())}_parse(n,e){this._parserSize=n,this._parser=e}_onMessageLength(n){const e=n.readUInt32BE(0);0<e?this._parse(e,this._onMessage):(this._onKeepAlive(),this._parse(4,this._onMessageLength))}_onMessage(t){switch(this._parse(4,this._onMessageLength),t[0]){case 0:return this._onChoke();case 1:return this._onUnchoke();case 2:return this._onInterested();case 3:return this._onUninterested();case 4:return this._onHave(t.readUInt32BE(1));case 5:return this._onBitField(t.slice(1));case 6:return this._onRequest(t.readUInt32BE(1),t.readUInt32BE(5),t.readUInt32BE(9));case 7:return this._onPiece(t.readUInt32BE(1),t.readUInt32BE(5),t.slice(9));case 8:return this._onCancel(t.readUInt32BE(1),t.readUInt32BE(5),t.readUInt32BE(9));case 9:return this._onPort(t.readUInt16BE(1));case 20:return this._onExtended(t.readUInt8(1),t.slice(2));default:return this._debug("got unknown message"),this.emit("unknownmessage",t);}}_parseHandshake(){this._parse(1,n=>{const r=n.readUInt8(0);this._parse(r+48,t=>{const o=t.slice(0,r);return"BitTorrent protocol"===o.toString()?void(t=t.slice(r),this._onHandshake(t.slice(8,28),t.slice(28,48),{dht:!!(1&t[7]),extended:!!(16&t[5])}),this._parse(4,this._onMessageLength)):(this._debug("Error: wire not speaking BitTorrent protocol (%s)",o.toString()),void this.end())})})}_onFinish(){for(this._finished=!0,this.push(null);this.read(););for(clearInterval(this._keepAliveInterval),this._parse(Number.MAX_VALUE,()=>{});this.peerRequests.length;)this.peerRequests.pop();for(;this.requests.length;)this._callback(this.requests.pop(),new Error("wire was closed"),null)}_debug(...t){t[0]=`[${this._debugId}] ${t[0]}`,l(...t)}_pull(o,e,t,n){for(let r=0;r<o.length;r++){const d=o[r];if(d.piece===e&&d.offset===t&&d.length===n)return Xd(o,r),d}return null}}}).call(this,p({}).Buffer);var Jd={};(function(n){const m=jo("webtorrent:webconn");Jd=class extends Qd{constructor(n,e){super(),this.url=n,this.webPeerId=qo.sync(n),this._torrent=e,this._init()}_init(){this.setKeepAlive(!0),this.once("handshake",t=>{if(!this.destroyed){this.handshake(t,this.webPeerId);const e=this._torrent.pieces.length,n=new id(e);for(let t=0;t<=e;t++)n.set(t,!0);this.bitfield(n)}}),this.once("interested",()=>{m("interested"),this.unchoke()}),this.on("uninterested",()=>{m("uninterested")}),this.on("choke",()=>{m("choke")}),this.on("unchoke",()=>{m("unchoke")}),this.on("bitfield",()=>{m("bitfield")}),this.on("request",(t,e,n,r)=>{m("request pieceIndex=%d offset=%d length=%d",t,e,n),this.httpRequest(t,e,n,r)})}httpRequest(t,r,i,s){const o=t*this._torrent.pieceLength+r,a=o+i-1,p=this._torrent.files;let c;if(1>=p.length)c=[{url:this.url,start:o,end:a}];else{const t=p.filter(t=>t.offset<=a&&t.offset+t.length>o);if(1>t.length)return s(new Error("Could not find file corresponnding to web seed range request"));c=t.map(n=>{const e=n.offset+n.length-1;return{url:this.url+("/"===this.url[this.url.length-1]?"":"/")+n.path,fileOffsetInRange:to(n.offset-o,0),start:to(o-n.offset,0),end:ao(e,a-n.offset)}})}let h,g=0,_=!1;1<c.length&&(h=n.alloc(i)),c.forEach(o=>{function d(e,t){return 200>e.statusCode||300<=e.statusCode?(_=!0,s(new Error(`Unexpected HTTP status code ${e.statusCode}`))):void(m("Got data of length %d",t.length),1===c.length?s(null,t):(t.copy(h,o.fileOffsetInRange),++g===c.length&&s(null,h)))}const l=o.url,e=o.start,n=o.end;m("Requesting url=%s pieceIndex=%d offset=%d length=%d start=%d end=%d",l,t,r,i,e,n);const a={url:l,method:"GET",headers:{"user-agent":`WebTorrent/${"0.107.0"} (https://webtorrent.io)`,range:`bytes=${e}-${n}`}};nr.concat(a,(r,e,t)=>{if(!_)return r?"undefined"==typeof window||l.startsWith(`${window.location.origin}/`)?(_=!0,s(r)):nr.head(l,(e,t)=>{if(!_){if(e)return _=!0,s(e);if(200>t.statusCode||300<=t.statusCode)return _=!0,s(new Error(`Unexpected HTTP status code ${t.statusCode}`));if(t.url===l)return _=!0,s(r);a.url=t.url,nr.concat(a,(r,e,t)=>{if(!_)return r?(_=!0,s(r)):void d(e,t)})}}):void d(e,t)})})}destroy(){super.destroy(),this._torrent=null}}}).call(this,p({}).Buffer);var Zd={};const ea=jo("webtorrent:peer");Zd.createWebRTCPeer=(r,e)=>{const t=new ta(r.id,"webrtc");return t.conn=r,t.swarm=e,t.conn.connected?t.onConnect():(t.conn.once("connect",()=>{t.onConnect()}),t.conn.once("error",n=>{t.destroy(n)}),t.startConnectTimeout()),t},Zd.createTCPOutgoingPeer=(r,e)=>{const t=new ta(r,"tcpOutgoing");return t.addr=r,t.swarm=e,t},Zd.createWebSeedPeer=(r,e)=>{const t=new ta(r,"webSeed");return t.swarm=e,t.conn=new Jd(r,e),t.onConnect(),t};class ta{constructor(n,e){this.id=n,this.type=e,ea("new %s Peer %s",e,n),this.addr=null,this.conn=null,this.swarm=null,this.wire=null,this.connected=!1,this.destroyed=!1,this.timeout=null,this.retries=0,this.sentHandshake=!1}onConnect(){if(!this.destroyed){this.connected=!0,ea("Peer %s connected",this.id),clearTimeout(this.connectTimeout);const n=this.conn;n.once("end",()=>{this.destroy()}),n.once("close",()=>{this.destroy()}),n.once("finish",()=>{this.destroy()}),n.once("error",t=>{this.destroy(t)});const e=this.wire=new Qd;e.type=this.type,e.once("end",()=>{this.destroy()}),e.once("close",()=>{this.destroy()}),e.once("finish",()=>{this.destroy()}),e.once("error",t=>{this.destroy(t)}),e.once("handshake",(n,e)=>{this.onHandshake(n,e)}),this.startHandshakeTimeout(),n.pipe(e).pipe(n),this.swarm&&!this.sentHandshake&&this.handshake()}}onHandshake(r,e){if(!this.swarm)return;if(this.destroyed)return;if(this.swarm.destroyed)return this.destroy(new Error("swarm already destroyed"));if(r!==this.swarm.infoHash)return this.destroy(new Error("unexpected handshake info hash for this swarm"));if(e===this.swarm.peerId)return this.destroy(new Error("refusing to connect to ourselves"));ea("Peer %s got handshake %s",this.id,r),clearTimeout(this.handshakeTimeout),this.retries=0;let t=this.addr;!t&&this.conn.remoteAddress&&this.conn.remotePort&&(t=`${this.conn.remoteAddress}:${this.conn.remotePort}`),this.swarm._onWire(this.wire,t),this.swarm&&!this.swarm.destroyed&&(this.sentHandshake||this.handshake())}handshake(){const t={dht:!this.swarm.private&&!!this.swarm.client.dht};this.wire.handshake(this.swarm.infoHash,this.swarm.client.peerId,t),this.sentHandshake=!0}startConnectTimeout(){clearTimeout(this.connectTimeout),this.connectTimeout=setTimeout(()=>{this.destroy(new Error("connect timeout"))},"webrtc"===this.type?25e3:5e3),this.connectTimeout.unref&&this.connectTimeout.unref()}startHandshakeTimeout(){clearTimeout(this.handshakeTimeout),this.handshakeTimeout=setTimeout(()=>{this.destroy(new Error("handshake timeout"))},25e3),this.handshakeTimeout.unref&&this.handshakeTimeout.unref()}destroy(o){if(!this.destroyed){this.destroyed=!0,this.connected=!1,ea("destroy %s (error: %s)",this.id,o&&(o.message||o)),clearTimeout(this.connectTimeout),clearTimeout(this.handshakeTimeout);const e=this.swarm,t=this.conn,n=this.wire;this.swarm=null,this.conn=null,this.wire=null,e&&n&&Xd(e.wires,e.wires.indexOf(n)),t&&(t.on("error",()=>{}),t.destroy()),n&&n.destroy(),e&&e.removePeer(this.id)}}}var na={};(function(d,a){function g(n,e){return 2+eo(e*n.downloadSpeed()/md.BLOCK_LENGTH)}function l(){}const t=jo("webtorrent:torrent"),e=m.EventEmitter,u=3*md.BLOCK_LENGTH,n=d.browser?1/0:2,r=[1e3,5e3,15e3];let o;try{o=pt.join(St.statSync("/tmp")&&"/tmp","webtorrent")}catch(e){o=pt.join("function"==typeof oe.tmpdir?oe.tmpdir():"/","webtorrent")}na=class extends e{constructor(r,e,t){super(),this._debugId="unknown infohash",this.client=e,this.announce=t.announce,this.urlList=t.urlList,this.path=t.path,this.skipVerify=!!t.skipVerify,this._store=t.store||fd,this._getAnnounceOpts=t.getAnnounceOpts,this.strategy=t.strategy||"sequential",this.maxWebConns=t.maxWebConns||4,this._rechokeNumSlots=!1===t.uploads||0===t.uploads?0:+t.uploads||10,this._rechokeOptimisticWire=null,this._rechokeOptimisticTime=0,this._rechokeIntervalId=null,this.ready=!1,this.destroyed=!1,this.paused=!1,this.done=!1,this.metadata=null,this.store=null,this.files=[],this.pieces=[],this._amInterested=!1,this._selections=[],this._critical=[],this.wires=[],this._queue=[],this._peers={},this._peersLength=0,this.received=0,this.uploaded=0,this._downloadSpeed=gr(),this._uploadSpeed=gr(),this._servers=[],this._xsRequests=[],this._fileModtimes=t.fileModtimes,null!==r&&this._onTorrentId(r),this._debug("new torrent")}get timeRemaining(){return this.done?0:0===this.downloadSpeed?1/0:1e3*((this.length-this.downloaded)/this.downloadSpeed)}get downloaded(){if(!this.bitfield)return 0;let r=0;for(let e=0,t=this.pieces.length;e<t;++e)if(this.bitfield.get(e))r+=e==t-1?this.lastPieceLength:this.pieceLength;else{const t=this.pieces[e];r+=t.length-t.missing}return r}get downloadSpeed(){return this._downloadSpeed()}get uploadSpeed(){return this._uploadSpeed()}get progress(){return this.length?this.downloaded/this.length:0}get ratio(){return this.uploaded/(this.received||1)}get numPeers(){return this.wires.length}get torrentFileBlobURL(){if("undefined"==typeof window)throw new Error("browser-only property");return this.torrentFile?URL.createObjectURL(new Blob([this.torrentFile],{type:"application/x-bittorrent"})):null}get _numQueued(){return this._queue.length+(this._peersLength-this._numConns)}get _numConns(){let n=0;for(const e in this._peers)this._peers[e].connected&&(n+=1);return n}get swarm(){return console.warn("WebTorrent: `torrent.swarm` is deprecated. Use `torrent` directly instead."),this}_onTorrentId(e){if(this.destroyed)return;let t;try{t=Zo(e)}catch(e){}t?(this.infoHash=t.infoHash,this._debugId=t.infoHash.toString("hex").substring(0,7),d.nextTick(()=>{this.destroyed||this._onParsedTorrent(t)})):Zo.remote(e,(n,e)=>{if(!this.destroyed)return n?this._destroy(n):void this._onParsedTorrent(e)})}_onParsedTorrent(t){if(!this.destroyed){if(this._processParsedTorrent(t),!this.infoHash)return this._destroy(new Error("Malformed torrent data: No info hash"));this.path||(this.path=pt.join(o,this.infoHash)),this._rechokeIntervalId=setInterval(()=>{this._rechoke()},1e4),this._rechokeIntervalId.unref&&this._rechokeIntervalId.unref(),this.emit("_infoHash",this.infoHash),this.destroyed||(this.emit("infoHash",this.infoHash),this.destroyed||(this.client.listening?this._onListening():this.client.once("listening",()=>{this._onListening()})))}}_processParsedTorrent(t){this._debugId=t.infoHash.toString("hex").substring(0,7),this.announce&&(t.announce=t.announce.concat(this.announce)),this.client.tracker&&a.WEBTORRENT_ANNOUNCE&&!this.private&&(t.announce=t.announce.concat(a.WEBTORRENT_ANNOUNCE)),this.urlList&&(t.urlList=t.urlList.concat(this.urlList)),or(t.announce),or(t.urlList),Object.assign(this,t),this.magnetURI=Zo.toMagnetURI(t),this.torrentFile=Zo.toTorrentFile(t)}_onListening(){if(this.discovery||this.destroyed)return;let t=this.client.tracker;t&&(t=Object.assign({},this.client.tracker,{getAnnounceOpts:()=>{const t={uploaded:this.uploaded,downloaded:this.downloaded,left:to(this.length-this.downloaded,0)};return this.client.tracker.getAnnounceOpts&&Object.assign(t,this.client.tracker.getAnnounceOpts()),this._getAnnounceOpts&&Object.assign(t,this._getAnnounceOpts()),t}})),this.discovery=new ud({infoHash:this.infoHash,announce:this.announce,peerId:this.client.peerId,dht:!this.private&&this.client.dht,tracker:t,port:this.client.torrentPort,userAgent:`WebTorrent/${"0.107.0"} (https://webtorrent.io)`}),this.discovery.on("error",t=>{this._destroy(t)}),this.discovery.on("peer",t=>{"string"==typeof t&&this.done||this.addPeer(t)}),this.discovery.on("trackerAnnounce",()=>{this.emit("trackerAnnounce"),0===this.numPeers&&this.emit("noPeers","tracker")}),this.discovery.on("dhtAnnounce",()=>{this.emit("dhtAnnounce"),0===this.numPeers&&this.emit("noPeers","dht")}),this.discovery.on("warning",t=>{this.emit("warning",t)}),this.info?this._onMetadata(this):this.xs&&this._getMetadataFromServer()}_getMetadataFromServer(){const d=this,e=(Array.isArray(this.xs)?this.xs:[this.xs]).map(e=>t=>{!function(e,t){if(0!==e.indexOf("http://")&&0!==e.indexOf("https://"))return d.emit("warning",new Error(`skipping non-http xs param: ${e}`)),t(null);let n;try{n=nr.concat({url:e,method:"GET",headers:{"user-agent":"WebTorrent/0.107.0 (https://webtorrent.io)"}},function(n,r,a){if(d.destroyed)return t(null);if(d.metadata)return t(null);if(n)return d.emit("warning",new Error(`http error from xs param: ${e}`)),t(null);if(200!==r.statusCode)return d.emit("warning",new Error(`non-200 status code ${r.statusCode} from xs param: ${e}`)),t(null);let i;try{i=Zo(a)}catch(e){}return i?i.infoHash===d.infoHash?(d._onMetadata(i),void t(null)):(d.emit("warning",new Error(`got torrent file with incorrect info hash from xs param: ${e}`)),t(null)):(d.emit("warning",new Error(`got invalid torrent file from xs param: ${e}`)),t(null))})}catch(n){return d.emit("warning",new Error(`skipping invalid url xs param: ${e}`)),t(null)}d._xsRequests.push(n)}(e,t)});Oo(e)}_onMetadata(n){if(this.metadata||this.destroyed)return;let e;if(this._debug("got metadata"),this._xsRequests.forEach(t=>{t.abort()}),this._xsRequests=[],n&&n.infoHash)e=n;else try{e=Zo(n)}catch(e){return this._destroy(e)}if(this._processParsedTorrent(e),this.metadata=this.torrentFile,this.client.enableWebSeeds&&this.urlList.forEach(t=>{this.addWebSeed(t)}),this._rarityMap=new class{constructor(t){this._torrent=t,this._numPieces=t.pieces.length,this._pieces=Array(this._numPieces),this._onWire=t=>{this.recalculate(),this._initWire(t)},this._onWireHave=t=>{this._pieces[t]+=1},this._onWireBitfield=()=>{this.recalculate()},this._torrent.wires.forEach(t=>{this._initWire(t)}),this._torrent.on("wire",this._onWire),this.recalculate()}getRarestPiece(o){let e=[],d=1/0;for(let t=0;t<this._numPieces;++t){if(o&&!o(t))continue;const n=this._pieces[t];n===d?e.push(t):n<d&&(e=[t],d=n)}return e.length?e[0|Math.random()*e.length]:-1}destroy(){this._torrent.removeListener("wire",this._onWire),this._torrent.wires.forEach(t=>{this._cleanupWireEvents(t)}),this._torrent=null,this._pieces=null,this._onWire=null,this._onWireHave=null,this._onWireBitfield=null}_initWire(n){n._onClose=()=>{this._cleanupWireEvents(n);for(let e=0;e<this._numPieces;++e)this._pieces[e]-=n.peerPieces.get(e)},n.on("have",this._onWireHave),n.on("bitfield",this._onWireBitfield),n.once("close",n._onClose)}recalculate(){this._pieces.fill(0);for(const n of this._torrent.wires)for(let e=0;e<this._numPieces;++e)this._pieces[e]+=n.peerPieces.get(e)}_cleanupWireEvents(t){t.removeListener("have",this._onWireHave),t.removeListener("bitfield",this._onWireBitfield),t._onClose&&t.removeListener("close",t._onClose),t._onClose=null}}(this),this.store=new pd(new this._store(this.pieceLength,{torrent:{infoHash:this.infoHash},files:this.files.map(t=>({path:pt.join(this.path,t.path),length:t.length,offset:t.offset})),length:this.length,name:this.infoHash})),this.files=this.files.map(t=>new $d(this,t)),this.so){const r=yd.parse(this.so);this.files.forEach((e,t)=>{r.includes(t)&&this.files[t].select(!0)})}else 0!==this.pieces.length&&this.select(0,this.pieces.length-1,!1);if(this._hashes=this.pieces,this.pieces=this.pieces.map((r,e)=>{const t=e===this.pieces.length-1?this.lastPieceLength:this.pieceLength;return new md(t)}),this._reservations=this.pieces.map(()=>[]),this.bitfield=new id(this.pieces.length),this.wires.forEach(t=>{t.ut_metadata&&t.ut_metadata.setMetadata(this.metadata),this._onWireWithMetadata(t)}),this.skipVerify)this._markAllVerified(),this._onStore();else{const r=t=>t?this._destroy(t):void(this._debug("done verifying"),this._onStore());this._debug("verifying existing torrent data"),this._fileModtimes&&this._store===fd?this.getFileModtimes((e,o)=>e?this._destroy(e):void(this.files.map((n,e)=>o[e]===this._fileModtimes[e]).every(t=>t)?(this._markAllVerified(),this._onStore()):this._verifyPieces(r))):this._verifyPieces(r)}this.emit("metadata")}getFileModtimes(r){const o=[];zr(this.files.map((t,d)=>n=>{St.stat(pt.join(this.path,t.path),(t,e)=>t&&"ENOENT"!==t.code?n(t):void(o[d]=e&&e.mtime.getTime(),n(null)))}),n,e=>{this._debug("done getting file modtimes"),r(e,o)})}_verifyPieces(e){zr(this.pieces.map((e,r)=>n=>this.destroyed?n(new Error("torrent is destroyed")):void this.store.get(r,(e,t)=>this.destroyed?n(new Error("torrent is destroyed")):e?d.nextTick(n,null):void qo(t,t=>{if(this.destroyed)return n(new Error("torrent is destroyed"));if(t===this._hashes[r]){if(!this.pieces[r])return;this._debug("piece verified %s",r),this._markVerified(r)}else this._debug("piece invalid %s",r);n(null)}))),n,e)}rescanFiles(n){if(this.destroyed)throw new Error("torrent is destroyed");n||(n=l),this._verifyPieces(e=>e?(this._destroy(e),n(e)):void(this._checkDone(),n(null)))}_markAllVerified(){for(let t=0;t<this.pieces.length;t++)this._markVerified(t)}_markVerified(t){this.pieces[t]=null,this._reservations[t]=null,this.bitfield.set(t,!0)}_onStore(){this.destroyed||(this._debug("on store"),this.ready=!0,this.emit("ready"),this._checkDone(),this._updateSelections())}destroy(t){this._destroy(null,t)}_destroy(r,e){if(!this.destroyed){for(const e in this.destroyed=!0,this._debug("destroy"),this.client._remove(this),clearInterval(this._rechokeIntervalId),this._xsRequests.forEach(t=>{t.abort()}),this._rarityMap&&this._rarityMap.destroy(),this._peers)this.removePeer(e);this.files.forEach(t=>{t instanceof $d&&t._destroy()});const t=this._servers.map(n=>e=>{n.destroy(e)});this.discovery&&t.push(t=>{this.discovery.destroy(t)}),this.store&&t.push(t=>{this.store.close(t)}),Oo(t,e),r&&(0===this.listenerCount("error")?this.client.emit("error",r):this.emit("error",r)),this.emit("close"),this.client=null,this.files=[],this.discovery=null,this.store=null,this._rarityMap=null,this._peers=null,this._servers=null,this._xsRequests=null}}addPeer(r){if(this.destroyed)throw new Error("torrent is destroyed");if(!this.infoHash)throw new Error("addPeer() must not be called before the `infoHash` event");if(this.client.blocked){let e;if("string"==typeof r){let t;try{t=mr(r)}catch(e){return this._debug("ignoring peer: invalid %s",r),this.emit("invalidPeer",r),!1}e=t[0]}else"string"==typeof r.remoteAddress&&(e=r.remoteAddress);if(e&&this.client.blocked.contains(e))return this._debug("ignoring peer: blocked %s",r),"string"!=typeof r&&r.destroy(),this.emit("blockedPeer",r),!1}const e=!!this._addPeer(r);return e?this.emit("peer",r):this.emit("invalidPeer",r),e}_addPeer(r){if(this.destroyed)return"string"!=typeof r&&r.destroy(),null;if("string"==typeof r&&!this._validAddr(r))return this._debug("ignoring peer: invalid %s",r),null;const e=r&&r.id||r;if(this._peers[e])return this._debug("ignoring peer: duplicate (%s)",e),"string"!=typeof r&&r.destroy(),null;if(this.paused)return this._debug("ignoring peer: torrent is paused"),"string"!=typeof r&&r.destroy(),null;let t;return this._debug("add peer %s",e),t="string"==typeof r?Zd.createTCPOutgoingPeer(r,this):Zd.createWebRTCPeer(r,this),this._peers[t.id]=t,this._peersLength+=1,"string"==typeof r&&(this._queue.push(t),this._drain()),t}addWebSeed(n){if(this.destroyed)throw new Error("torrent is destroyed");if(!/^https?:\/\/.+/.test(n))return this.emit("warning",new Error(`ignoring invalid web seed: ${n}`)),void this.emit("invalidPeer",n);if(this._peers[n])return this.emit("warning",new Error(`ignoring duplicate web seed: ${n}`)),void this.emit("invalidPeer",n);this._debug("add web seed %s",n);const e=Zd.createWebSeedPeer(n,this);this._peers[e.id]=e,this._peersLength+=1,this.emit("peer",n)}_addIncomingPeer(t){return this.destroyed?t.destroy(new Error("torrent is destroyed")):this.paused?t.destroy(new Error("torrent is paused")):(this._debug("add incoming peer %s",t.id),this._peers[t.id]=t,void(this._peersLength+=1))}removePeer(n){const r=n&&n.id||n;(n=this._peers[r])&&(this._debug("removePeer %s",r),delete this._peers[r],this._peersLength-=1,n.destroy(),this._drain())}select(o,e,t,d){if(this.destroyed)throw new Error("torrent is destroyed");if(0>o||e<o||this.pieces.length<=e)throw new Error(`invalid selection ${o} : ${e}`);t=+t||0,this._debug("select %s-%s (priority %s)",o,e,t),this._selections.push({from:o,to:e,offset:0,priority:t,notify:d||l}),this._selections.sort((n,e)=>e.priority-n.priority),this._updateSelections()}deselect(o,e,t){if(this.destroyed)throw new Error("torrent is destroyed");t=+t||0,this._debug("deselect %s-%s (priority %s)",o,e,t);for(let n=0;n<this._selections.length;++n){const r=this._selections[n];if(r.from===o&&r.to===e&&r.priority===t){this._selections.splice(n,1);break}}this._updateSelections()}critical(r,e){if(this.destroyed)throw new Error("torrent is destroyed");this._debug("critical %s-%s",r,e);for(let t=r;t<=e;++t)this._critical[t]=!0;this._updateSelections()}_onWire(r,t){if(this._debug("got wire %s (%s)",r._debugId,t||"Unknown"),r.on("download",t=>{this.destroyed||(this.received+=t,this._downloadSpeed(t),this.client._downloadSpeed(t),this.emit("download",t),this.client.emit("download",t))}),r.on("upload",t=>{this.destroyed||(this.uploaded+=t,this._uploadSpeed(t),this.client._uploadSpeed(t),this.emit("upload",t),this.client.emit("upload",t))}),this.wires.push(r),t){const n=mr(t);r.remoteAddress=n[0],r.remotePort=n[1]}this.client.dht&&this.client.dht.listening&&r.on("port",n=>{if(!this.destroyed&&!this.client.dht.destroyed){if(!r.remoteAddress)return this._debug("ignoring PORT from peer with no address");if(0===n||65536<n)return this._debug("ignoring invalid PORT from peer");this._debug("port: %s (from %s)",n,t),this.client.dht.addNode({host:r.remoteAddress,port:n})}}),r.on("timeout",()=>{this._debug("wire timeout (%s)",t),r.destroy()}),r.setTimeout(3e4,!0),r.setKeepAlive(!0),r.use(bd(this.metadata)),r.ut_metadata.on("warning",t=>{this._debug("ut_metadata warning: %s",t.message)}),this.metadata||(r.ut_metadata.on("metadata",t=>{this._debug("got metadata via ut_metadata"),this._onMetadata(t)}),r.ut_metadata.fetch()),!0,this.emit("wire",r,t),this.metadata&&d.nextTick(()=>{this._onWireWithMetadata(r)})}_onWireWithMetadata(o){let e=null;const d=()=>{this.destroyed||o.destroyed||(this._numQueued>2*(this._numConns-this.numPeers)&&o.amInterested?o.destroy():(e=setTimeout(d,5e3)).unref&&e.unref())};let n;const a=()=>{if(o.peerPieces.buffer.length===this.bitfield.buffer.length){for(n=0;n<this.pieces.length;++n)if(!o.peerPieces.get(n))return;o.isSeeder=!0,o.choke()}};o.on("bitfield",()=>{a(),this._update()}),o.on("have",()=>{a(),this._update()}),o.once("interested",()=>{o.unchoke()}),o.once("close",()=>{clearTimeout(e)}),o.on("choke",()=>{clearTimeout(e),(e=setTimeout(d,5e3)).unref&&e.unref()}),o.on("unchoke",()=>{clearTimeout(e),this._update()}),o.on("request",(e,t,n,r)=>131072<n?o.destroy():void(this.pieces[e]||this.store.get(e,{offset:t,length:n},r))),o.bitfield(this.bitfield),o.uninterested(),o.peerExtensions.dht&&this.client.dht&&this.client.dht.listening&&o.port(this.client.dht.address().port),"webSeed"!==o.type&&(e=setTimeout(d,5e3)).unref&&e.unref(),o.isSeeder=!1,a()}_updateSelections(){this.ready&&!this.destroyed&&(d.nextTick(()=>{this._gcSelections()}),this._updateInterest(),this._update())}_gcSelections(){for(let r=0;r<this._selections.length;++r){const e=this._selections[r],t=e.offset;for(;this.bitfield.get(e.from+e.offset)&&e.from+e.offset<e.to;)e.offset+=1;t!==e.offset&&e.notify(),e.to===e.from+e.offset&&this.bitfield.get(e.from+e.offset)&&(this._selections.splice(r,1),r-=1,e.notify(),this._updateInterest())}this._selections.length||this.emit("idle")}_updateInterest(){const t=this._amInterested;this._amInterested=!!this._selections.length,this.wires.forEach(r=>{let e=!1;for(let t=0;t<this.pieces.length;++t)if(this.pieces[t]&&r.peerPieces.get(t)){e=!0;break}e?r.interested():r.uninterested()}),t!==this._amInterested&&(this._amInterested?this.emit("interested"):this.emit("uninterested"))}_update(){if(!this.destroyed){const t=(o=this.wires,d=0,function(){if(d===o.length)return null;var t=o.length-d,e=0|Math.random()*t,n=o[d+e],r=o[d];return o[d]=n,o[d+e]=r,d++,n});var o,d;for(let e;e=t();)this._updateWireWrapper(e)}}_updateWireWrapper(n){const e=this;"undefined"!=typeof window&&"function"==typeof window.requestIdleCallback?window.requestIdleCallback(function(){e._updateWire(n)}):e._updateWire(n)}_updateWire(d){function e(e,t,n,r){return o=>o>=e&&o<=t&&!(o in n)&&d.peerPieces.get(o)&&(!r||r(o))}function s(t){let e=t;for(let n=t;n<l._selections.length&&l._selections[n].priority;n++)e=n;const o=l._selections[t];l._selections[t]=l._selections[e],l._selections[e]=o}function o(t){if(d.requests.length>=m)return!0;const n=function(){const t=d.downloadSpeed()||1;if(t>u)return()=>!0;const n=to(1,d.requests.length)*md.BLOCK_LENGTH/t;let r=10,i=0;return o=>{if(!r||l.bitfield.get(o))return!0;for(let e=l.pieces[o].missing;i<l.wires.length;i++){const d=l.wires[i],a=d.downloadSpeed();if(!(a<u)&&!(a<=t)&&d.peerPieces.get(o)&&!(0<(e-=a*n)))return r--,!1}return!0}}();for(let r=0;r<l._selections.length;r++){const o=l._selections[r];let a;if("rarest"===l.strategy){const i=o.from+o.offset,c=o.to,u={};let f=0;for(const p=e(i,c,u,n);f<c-i+1&&!(0>(a=l._rarityMap.getRarestPiece(p)));){for(;l._request(d,a,l._critical[a]||t););if(!(d.requests.length<m))return o.priority&&s(r),!0;u[a]=!0,f++}}else for(a=o.from+o.offset;a<=o.to;a++)if(d.peerPieces.get(a)&&n(a)){for(;l._request(d,a,l._critical[a]||t););if(!(d.requests.length<m))return o.priority&&s(r),!0}}return!1}const l=this;if(d.peerChoking)return;if(!d.downloaded)return function(){if(!d.requests.length)for(let t=l._selections.length;t--;){const a=l._selections[t];let r;if("rarest"===l.strategy){const t=a.from+a.offset,n=a.to,o={};let i=0;for(const a=e(t,n,o);i<n-t+1&&!(0>(r=l._rarityMap.getRarestPiece(a)));){if(l._request(d,r,!1))return;o[r]=!0,i+=1}}else for(r=a.to;r>=a.from+a.offset;--r)if(d.peerPieces.get(r)&&l._request(d,r,!1))return}}();const t=g(d,.5);if(d.requests.length>=t)return;const m=g(d,1);o(!1)||o(!0)}_rechoke(){if(!this.ready)return;0<this._rechokeOptimisticTime?this._rechokeOptimisticTime-=1:this._rechokeOptimisticWire=null;const o=[];this.wires.forEach(e=>{e.isSeeder||e===this._rechokeOptimisticWire||o.push({wire:e,downloadSpeed:e.downloadSpeed(),uploadSpeed:e.uploadSpeed(),salt:Math.random(),isChoked:!0})}),o.sort(function(n,e){return n.downloadSpeed===e.downloadSpeed?n.uploadSpeed===e.uploadSpeed?n.wire.amChoking===e.wire.amChoking?n.salt-e.salt:n.wire.amChoking?1:-1:e.uploadSpeed-n.uploadSpeed:e.downloadSpeed-n.downloadSpeed});let e=0,d=0;for(;d<o.length&&e<this._rechokeNumSlots;++d)o[d].isChoked=!1,o[d].wire.peerInterested&&(e+=1);if(!this._rechokeOptimisticWire&&d<o.length&&this._rechokeNumSlots){const e=o.slice(d).filter(t=>t.wire.peerInterested),t=e[(a=e.length,0|Math.random()*a)];t&&(t.isChoked=!1,this._rechokeOptimisticWire=t.wire,this._rechokeOptimisticTime=2)}var a;o.forEach(t=>{t.wire.amChoking!==t.isChoked&&(t.isChoked?t.wire.choke():t.wire.unchoke())})}_hotswap(d,i){const e=d.downloadSpeed();if(e<md.BLOCK_LENGTH)return!1;if(!this._reservations[i])return!1;const n=this._reservations[i];if(!n)return!1;let r,l,c=1/0;for(l=0;l<n.length;l++){const o=n[l];if(!o||o===d)continue;const t=o.downloadSpeed();t>=u||2*t>e||t>c||(r=o,c=t)}if(!r)return!1;for(l=0;l<n.length;l++)n[l]===r&&(n[l]=null);for(l=0;l<r.requests.length;l++){const t=r.requests[l];t.piece===i&&this.pieces[i].cancel(0|t.offset/md.BLOCK_LENGTH)}return this.emit("hotswap",r,d,i),!0}_request(m,t,e){function n(){d.nextTick(()=>{p._update()})}const p=this,r=m.requests.length,i="webSeed"===m.type;if(p.bitfield.get(t))return!1;if(r>=(i?ao(function(r,e,t){return 1+eo(1*r.downloadSpeed()/t)}(m,0,p.pieceLength),p.maxWebConns):g(m,1)))return!1;const o=p.pieces[t];let a=i?o.reserveRemaining():o.reserve();if(-1===a&&e&&p._hotswap(m,t)&&(a=i?o.reserveRemaining():o.reserve()),-1===a)return!1;let _=p._reservations[t];_||(_=p._reservations[t]=[]);let b=_.indexOf(null);-1===b&&(b=_.length),_[b]=m;const y=o.chunkOffset(a),l=i?o.chunkLengthRemaining(a):o.chunkLength(a);return m.request(t,y,l,function d(e,r){if(p.destroyed)return;if(!p.ready)return p.once("ready",()=>{d(e,r)});if(_[b]===m&&(_[b]=null),o!==p.pieces[t])return n();if(e)return p._debug("error getting piece %s (offset: %s length: %s) from %s: %s",t,y,l,`${m.remoteAddress}:${m.remotePort}`,e.message),i?o.cancelRemaining(a):o.cancel(a),void n();if(p._debug("got piece %s (offset: %s length: %s) from %s",t,y,l,`${m.remoteAddress}:${m.remotePort}`),!o.set(a,r,m))return n();const s=o.flush();qo(s,r=>{if(!p.destroyed){if(r===p._hashes[t]){if(!p.pieces[t])return;p._debug("piece verified %s",t),p.pieces[t]=null,p._reservations[t]=null,p.bitfield.set(t,!0),p.store.put(t,s),p.wires.forEach(n=>{n.have(t)}),p._checkDone()&&!p.destroyed&&p.discovery.complete()}else p.pieces[t]=new md(o.length),p.emit("warning",new Error(`Piece ${t} failed verification`));n()}})}),!0}_checkDone(){if(this.destroyed)return;this.files.forEach(n=>{if(!n.done){for(let e=n._startPiece;e<=n._endPiece;++e)if(!this.bitfield.get(e))return;n.done=!0,n.emit("done"),this._debug(`file done: ${n.name}`)}});let r=!0;for(let e=0;e<this._selections.length;e++){const o=this._selections[e];for(let e=o.from;e<=o.to;e++)if(!this.bitfield.get(e)){r=!1;break}if(!r)break}return!this.done&&r&&(this.done=!0,this._debug(`torrent done: ${this.infoHash}`),this.emit("done")),this._gcSelections(),r}load(o,d){if(this.destroyed)throw new Error("torrent is destroyed");if(!this.ready)return this.once("ready",()=>{this.load(o,d)});Array.isArray(o)||(o=[o]),d||(d=l);const a=new hd(o),n=new sd(this.store,this.pieceLength);Yr(a,n,t=>t?d(t):void(this._markAllVerified(),this._checkDone(),d(null)))}createServer(t){throw new Error("node.js-only method")}pause(){this.destroyed||(this._debug("pause"),this.paused=!0)}resume(){this.destroyed||(this._debug("resume"),this.paused=!1,this._drain())}_debug(){const n=[].slice.call(arguments);n[0]=`[${this.client._debugId}] [${this._debugId}] ${n[0]}`,t(...n)}_drain(){if(this._debug("_drain numConns %s maxConns %s",this._numConns,this.client.maxConns),"function"!=typeof oe.connect||this.destroyed||this.paused||this._numConns>=this.client.maxConns)return;this._debug("drain (%s queued, %s/%s peers)",this._numQueued,this.numPeers,this.client.maxConns);const o=this._queue.shift();if(o){this._debug("tcp connect attempt to %s",o.addr);const e=mr(o.addr),t={host:e[0],port:e[1]},n=o.conn=oe.connect(t);n.once("connect",()=>{o.onConnect()}),n.once("error",e=>{o.destroy(e)}),o.startConnectTimeout(),n.on("close",()=>{if(!this.destroyed){if(o.retries>=r.length)return void this._debug("conn %s closed: will not re-add (max %s attempts)",o.addr,r.length);const e=r[o.retries];this._debug("conn %s closed: will re-add to queue in %sms (attempt %s)",o.addr,e,o.retries+1);const t=setTimeout(()=>{const e=this._addPeer(o.addr);e&&(e.retries=o.retries+1)},e);t.unref&&t.unref()}})}}_validAddr(o){let e;try{e=mr(o)}catch(e){return!1}const d=e[0],n=e[1];return 0<n&&65535>n&&("127.0.0.1"!==d||n!==this.client.torrentPort)}}}).call(this,pe,"undefined"==typeof global?"undefined"==typeof self?"undefined"==typeof window?{}:window:self:global);var ra={};return function(d,e,t){const{EventEmitter:n}=m,r=jo("webtorrent"),l="0.107.0".replace(/\d*./g,t=>`0${t%100}`.slice(-2)).slice(0,4);class o extends n{constructor(n={}){super(),this.peerId="string"==typeof n.peerId?n.peerId:t.isBuffer(n.peerId)?n.peerId.toString("hex"):t.from(`-WW${l}-`+ur(9).toString("base64")).toString("hex"),this.peerIdBuffer=t.from(this.peerId,"hex"),this.nodeId="string"==typeof n.nodeId?n.nodeId:t.isBuffer(n.nodeId)?n.nodeId.toString("hex"):ur(20).toString("hex"),this.nodeIdBuffer=t.from(this.nodeId,"hex"),this._debugId=this.peerId.toString("hex").substring(0,7),this.destroyed=!1,this.listening=!1,this.torrentPort=n.torrentPort||0,this.dhtPort=n.dhtPort||0,this.tracker=void 0===n.tracker?{}:n.tracker,this.torrents=[],this.maxConns=+n.maxConns||55,this._debug("new webtorrent (peerId %s, nodeId %s, port %s)",this.peerId,this.nodeId,this.torrentPort),this.tracker&&("object"!=typeof this.tracker&&(this.tracker={}),n.rtcConfig&&(console.warn("WebTorrent: opts.rtcConfig is deprecated. Use opts.tracker.rtcConfig instead"),this.tracker.rtcConfig=n.rtcConfig),n.wrtc&&(console.warn("WebTorrent: opts.wrtc is deprecated. Use opts.tracker.wrtc instead"),this.tracker.wrtc=n.wrtc),e.WRTC&&!this.tracker.wrtc&&(this.tracker.wrtc=e.WRTC)),d.nextTick(()=>{this._onListening()}),this._downloadSpeed=gr(),this._uploadSpeed=gr(),!1!==n.dht&&!1?(this.dht=new oe(Object.assign({},{nodeId:this.nodeId},n.dht)),this.dht.once("error",t=>{this._destroy(t)}),this.dht.once("listening",()=>{const t=this.dht.address();t&&(this.dhtPort=t.port)}),this.dht.setMaxListeners(0),this.dht.listen(this.dhtPort)):this.dht=!1,this.enableWebSeeds=!1!==n.webSeeds;const r=()=>{this.destroyed||(this.ready=!0,this.emit("ready"))};d.nextTick(r)}get downloadSpeed(){return this._downloadSpeed()}get uploadSpeed(){return this._uploadSpeed()}get progress(){const t=this.torrents.filter(t=>1!==t.progress);return t.reduce((n,e)=>n+e.downloaded,0)/(t.reduce((n,e)=>n+(e.length||0),0)||1)}get ratio(){return this.torrents.reduce((n,e)=>n+e.uploaded,0)/(this.torrents.reduce((n,e)=>n+e.received,0)||1)}get(t){if(!(t instanceof na)){let n;try{n=Zo(t)}catch(e){}if(!n)return null;if(!n.infoHash)throw new Error("Invalid torrent identifier");for(const t of this.torrents)if(t.infoHash===n.infoHash)return t}else if(this.torrents.includes(t))return t;return null}download(r,e,t){return console.warn("WebTorrent: client.download() is deprecated. Use client.add() instead"),this.add(r,e,t)}add(o,e={},d){if(this.destroyed)throw new Error("client is destroyed");"function"==typeof e&&([e,d]=[{},e]);const a=()=>{if(!this.destroyed)for(const t of this.torrents)if(t.infoHash===i.infoHash&&t!==i)return void i._destroy(new Error(`Cannot add duplicate torrent ${i.infoHash}`))},r=()=>{this.destroyed||("function"==typeof d&&d(i),this.emit("torrent",i))};this._debug("add"),e=e?Object.assign({},e):{};const i=new na(o,this,e);return this.torrents.push(i),i.once("_infoHash",a),i.once("ready",r),i.once("close",function t(){i.removeListener("_infoHash",a),i.removeListener("ready",r),i.removeListener("close",t)}),i}seed(o,d,c){if(this.destroyed)throw new Error("client is destroyed");"function"==typeof d&&([d,c]=[{},d]),this._debug("seed"),(d=d?Object.assign({},d):{}).skipVerify=!0;const u="string"==typeof o;u&&(d.path=pt.dirname(o)),d.createdBy||(d.createdBy=`WebTorrent/${l}`);const r=t=>{this._debug("on seed"),"function"==typeof c&&c(t),t.emit("seed"),this.emit("seed",t)},i=this.add(null,d,n=>{const e=[e=>u?e():void n.load(s,e)];this.dht&&e.push(e=>{n.once("dhtAnnounce",e)}),Oo(e,e=>{if(!this.destroyed)return e?n._destroy(e):void r(n)})});let s;return"undefined"!=typeof FileList&&o instanceof FileList?o=Array.from(o):Array.isArray(o)||(o=[o]),Oo(o.map(n=>e=>{(function(){return"object"==typeof n&&null!=n&&"function"==typeof n.pipe})()?q(n,e):e(null,n)}),(t,o)=>{if(!this.destroyed)return t?i._destroy(t):void Wo.parseInput(o,d,(t,e)=>{if(!this.destroyed){if(t)return i._destroy(t);s=e.map(t=>t.getStream),Wo(o,d,(r,e)=>{if(!this.destroyed){if(r)return i._destroy(r);const t=this.get(e);t?i._destroy(new Error(`Cannot add duplicate torrent ${t.infoHash}`)):i._onTorrentId(e)}})}})}),i}remove(n,e){if(this._debug("remove"),!this.get(n))throw new Error(`No torrent with id ${n}`);this._remove(n,e)}_remove(r,e){const t=this.get(r);t&&(this.torrents.splice(this.torrents.indexOf(t),1),t.destroy(e))}address(){return this.listening?this._tcpPool?this._tcpPool.server.address():{address:"0.0.0.0",family:"IPv4",port:0}:null}destroy(t){if(this.destroyed)throw new Error("client already destroyed");this._destroy(null,t)}_destroy(r,e){this._debug("client destroy"),this.destroyed=!0;const t=this.torrents.map(n=>e=>{n.destroy(e)});this._tcpPool&&t.push(t=>{this._tcpPool.destroy(t)}),this.dht&&t.push(t=>{this.dht.destroy(t)}),Oo(t,e),r&&this.emit("error",r),this.torrents=[],this._tcpPool=null,this.dht=null}_onListening(){if(this._debug("listening"),this.listening=!0,this._tcpPool){const t=this._tcpPool.server.address();t&&(this.torrentPort=t.port)}this.emit("listening")}_debug(){const t=[].slice.call(arguments);t[0]=`[${this._debugId}] ${t[0]}`,r(...t)}}o.WEBRTC_SUPPORT=td.WEBRTC_SUPPORT,o.VERSION="0.107.0",ra=o}.call(this,pe,"undefined"==typeof global?"undefined"==typeof self?"undefined"==typeof window?{}:window:self:global,p({}).Buffer),ra}); \ No newline at end of file
+!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).WebTorrent=e()}}(function(){var e=function(e){var t;return function(n){return t||e(t={exports:{},parent:n},t.exports),t.exports}},t=e(function(e,t){(function(e){var r=n({}),i=t,s={moov:["mvhd","meta","traks","mvex"],trak:["tkhd","tref","trgr","edts","meta","mdia","udta"],edts:["elst"],mdia:["mdhd","hdlr","elng","minf"],minf:["vmhd","smhd","hmhd","sthd","nmhd","dinf","stbl"],dinf:["dref"],stbl:["stsd","stts","ctts","cslg","stsc","stsz","stz2","stco","co64","stss","stsh","padb","stdp","sdtp","sbgps","sgpds","subss","saizs","saios"],mvex:["mehd","trexs","leva"],moof:["mfhd","meta","trafs"],traf:["tfhd","tfdt","trun","sbgps","sgpds","subss","saizs","saios","meta"]};i.encode=function(t,n,r){return i.encodingLength(t),r=r||0,n=n||e.alloc(t.length),i._encode(t,n,r)},i._encode=function(e,t,n){var o=e.type,a=e.length;a>4294967295&&(a=1),t.writeUInt32BE(a,n),t.write(e.type,n+4,4,"ascii");var h=n+8;if(1===a&&(Ir.encode(e.length,t,h),h+=8),r.fullBoxes[o]&&(t.writeUInt32BE(e.flags||0,h),t.writeUInt8(e.version||0,h),h+=4),s[o])s[o].forEach(function(n){if(5===n.length){var r=e[n]||[];n=n.substr(0,4),r.forEach(function(e){i._encode(e,t,h),h+=i.encode.bytes})}else e[n]&&(i._encode(e[n],t,h),h+=i.encode.bytes)}),e.otherBoxes&&e.otherBoxes.forEach(function(e){i._encode(e,t,h),h+=i.encode.bytes});else if(r[o]){var c=r[o].encode;c(e,t,h),h+=c.bytes}else{if(!e.buffer)throw new Error("Either `type` must be set to a known type (not'"+o+"') or `buffer` must be set");e.buffer.copy(t,h),h+=e.buffer.length}return i.encode.bytes=h-n,t},i.readHeaders=function(e,t,n){if(t=t||0,(n=n||e.length)-t<8)return 8;var i,s,o=e.readUInt32BE(t),a=e.toString("ascii",t+4,t+8),h=t+8;if(1===o){if(n-t<16)return 16;o=Ir.decode(e,h),h+=8}return r.fullBoxes[a]&&(i=e.readUInt8(h),s=16777215&e.readUInt32BE(h),h+=4),{length:o,headersLen:h-t,contentLen:o-(h-t),type:a,version:i,flags:s}},i.decode=function(e,t,n){t=t||0,n=n||e.length;var r=i.readHeaders(e,t,n);if(!r||r.length>n-t)throw new Error("Data too short");return i.decodeWithoutHeaders(r,e,t+r.headersLen,t+r.length)},i.decodeWithoutHeaders=function(t,n,o,a){o=o||0,a=a||n.length;var h=t.type,c={};if(s[h]){c.otherBoxes=[];for(var u=s[h],d=o;a-d>=8;){var l=i.decode(n,d,a);if(d+=l.length,u.indexOf(l.type)>=0)c[l.type]=l;else if(u.indexOf(l.type+"s")>=0){var f=l.type+"s";(c[f]=c[f]||[]).push(l)}else c.otherBoxes.push(l)}}else r[h]?c=(0,r[h].decode)(n,o,a):c.buffer=e.from(n.slice(o,a));return c.length=t.length,c.contentLen=t.contentLen,c.type=t.type,c.version=t.version,c.flags=t.flags,c},i.encodingLength=function(e){var t=e.type,n=8;if(r.fullBoxes[t]&&(n+=4),s[t])s[t].forEach(function(t){if(5===t.length){var r=e[t]||[];t=t.substr(0,4),r.forEach(function(e){e.type=t,n+=i.encodingLength(e)})}else if(e[t]){var s=e[t];s.type=t,n+=i.encodingLength(s)}}),e.otherBoxes&&e.otherBoxes.forEach(function(e){n+=i.encodingLength(e)});else if(r[t])n+=r[t].encodingLength(e);else{if(!e.buffer)throw new Error("Either `type` must be set to a known type (not'"+t+"') or `buffer` must be set");n+=e.buffer.length}return n>4294967295&&(n+=8),e.length=n,n}}).call(this,d({}).Buffer)}),n=e(function(e,n){(function(e){var r=t({}),i=20828448e5;function s(e,t,n){for(var r=t;r<n;r++)e[r]=0}function o(e,t,n){t.writeUInt32BE(Math.floor((e.getTime()+i)/1e3),n)}function a(e,t,n){t.writeUIntBE(Math.floor((e.getTime()+i)/1e3),n,6)}function h(e,t,n){t.writeUInt16BE(Math.floor(e)%65536,n),t.writeUInt16BE(Math.floor(256*e*256)%65536,n+2)}function c(e,t,n){e||(e=[0,0,0,0,0,0,0,0,0]);for(var r=0;r<e.length;r++)h(e[r],t,n+4*r)}function u(e){for(var t=new Array(e.length/4),n=0;n<t.length;n++)t[n]=f(e,4*n);return t}function d(e,t){return new Date(1e3*e.readUIntBE(t,6)-i)}function l(e,t){return new Date(1e3*e.readUInt32BE(t)-i)}function f(e,t){return e.readUInt16BE(t)+e.readUInt16BE(t+2)/65536}function p(e,t){return e[t]+e[t+1]/256}function g(e,t,n){var r;for(r=0;r<n&&0!==e[t+r];r++);return e.toString("utf8",t,t+r)}n.fullBoxes={},["mvhd","tkhd","mdhd","vmhd","smhd","stsd","esds","stsz","stco","co64","stss","stts","ctts","stsc","dref","elst","hdlr","mehd","trex","mfhd","tfhd","tfdt","trun"].forEach(function(e){n.fullBoxes[e]=!0}),n.ftyp={},n.ftyp.encode=function(t,r,i){r=r?r.slice(i):e.alloc(n.ftyp.encodingLength(t));var s=t.compatibleBrands||[];r.write(t.brand,0,4,"ascii"),r.writeUInt32BE(t.brandVersion,4);for(var o=0;o<s.length;o++)r.write(s[o],8+4*o,4,"ascii");return n.ftyp.encode.bytes=8+4*s.length,r},n.ftyp.decode=function(e,t){for(var n=(e=e.slice(t)).toString("ascii",0,4),r=e.readUInt32BE(4),i=[],s=8;s<e.length;s+=4)i.push(e.toString("ascii",s,s+4));return{brand:n,brandVersion:r,compatibleBrands:i}},n.ftyp.encodingLength=function(e){return 8+4*(e.compatibleBrands||[]).length},n.mvhd={},n.mvhd.encode=function(t,r,i){return r=r?r.slice(i):e.alloc(96),o(t.ctime||new Date,r,0),o(t.mtime||new Date,r,4),r.writeUInt32BE(t.timeScale||0,8),r.writeUInt32BE(t.duration||0,12),h(t.preferredRate||0,r,16),function(e,t,n){t[20]=Math.floor(e)%256,t[21]=Math.floor(256*e)%256}(t.preferredVolume||0,r),s(r,22,32),c(t.matrix,r,32),r.writeUInt32BE(t.previewTime||0,68),r.writeUInt32BE(t.previewDuration||0,72),r.writeUInt32BE(t.posterTime||0,76),r.writeUInt32BE(t.selectionTime||0,80),r.writeUInt32BE(t.selectionDuration||0,84),r.writeUInt32BE(t.currentTime||0,88),r.writeUInt32BE(t.nextTrackId||0,92),n.mvhd.encode.bytes=96,r},n.mvhd.decode=function(e,t){return{ctime:l(e=e.slice(t),0),mtime:l(e,4),timeScale:e.readUInt32BE(8),duration:e.readUInt32BE(12),preferredRate:f(e,16),preferredVolume:p(e,20),matrix:u(e.slice(32,68)),previewTime:e.readUInt32BE(68),previewDuration:e.readUInt32BE(72),posterTime:e.readUInt32BE(76),selectionTime:e.readUInt32BE(80),selectionDuration:e.readUInt32BE(84),currentTime:e.readUInt32BE(88),nextTrackId:e.readUInt32BE(92)}},n.mvhd.encodingLength=function(e){return 96},n.tkhd={},n.tkhd.encode=function(t,r,i){return r=r?r.slice(i):e.alloc(80),o(t.ctime||new Date,r,0),o(t.mtime||new Date,r,4),r.writeUInt32BE(t.trackId||0,8),s(r,12,16),r.writeUInt32BE(t.duration||0,16),s(r,20,28),r.writeUInt16BE(t.layer||0,28),r.writeUInt16BE(t.alternateGroup||0,30),r.writeUInt16BE(t.volume||0,32),c(t.matrix,r,36),r.writeUInt32BE(t.trackWidth||0,72),r.writeUInt32BE(t.trackHeight||0,76),n.tkhd.encode.bytes=80,r},n.tkhd.decode=function(e,t){return{ctime:l(e=e.slice(t),0),mtime:l(e,4),trackId:e.readUInt32BE(8),duration:e.readUInt32BE(16),layer:e.readUInt16BE(28),alternateGroup:e.readUInt16BE(30),volume:e.readUInt16BE(32),matrix:u(e.slice(36,72)),trackWidth:e.readUInt32BE(72),trackHeight:e.readUInt32BE(76)}},n.tkhd.encodingLength=function(e){return 80},n.mdhd={},n.mdhd.encode=function(t,r,i){return 1===t.version?(r=r?r.slice(i):e.alloc(32),a(t.ctime||new Date,r,0),a(t.mtime||new Date,r,8),r.writeUInt32BE(t.timeScale||0,16),r.writeUIntBE(t.duration||0,20,6),r.writeUInt16BE(t.language||0,28),r.writeUInt16BE(t.quality||0,30),n.mdhd.encode.bytes=32,r):(r=r?r.slice(i):e.alloc(20),o(t.ctime||new Date,r,0),o(t.mtime||new Date,r,4),r.writeUInt32BE(t.timeScale||0,8),r.writeUInt32BE(t.duration||0,12),r.writeUInt16BE(t.language||0,16),r.writeUInt16BE(t.quality||0,18),n.mdhd.encode.bytes=20,r)},n.mdhd.decode=function(e,t,n){return e=e.slice(t),n-t!=20?{ctime:d(e,0),mtime:d(e,8),timeScale:e.readUInt32BE(16),duration:e.readUIntBE(20,6),language:e.readUInt16BE(28),quality:e.readUInt16BE(30)}:{ctime:l(e,0),mtime:l(e,4),timeScale:e.readUInt32BE(8),duration:e.readUInt32BE(12),language:e.readUInt16BE(16),quality:e.readUInt16BE(18)}},n.mdhd.encodingLength=function(e){return 1===e.version?32:20},n.vmhd={},n.vmhd.encode=function(t,r,i){(r=r?r.slice(i):e.alloc(8)).writeUInt16BE(t.graphicsMode||0,0);var s=t.opcolor||[0,0,0];return r.writeUInt16BE(s[0],2),r.writeUInt16BE(s[1],4),r.writeUInt16BE(s[2],6),n.vmhd.encode.bytes=8,r},n.vmhd.decode=function(e,t){return{graphicsMode:(e=e.slice(t)).readUInt16BE(0),opcolor:[e.readUInt16BE(2),e.readUInt16BE(4),e.readUInt16BE(6)]}},n.vmhd.encodingLength=function(e){return 8},n.smhd={},n.smhd.encode=function(t,r,i){return(r=r?r.slice(i):e.alloc(4)).writeUInt16BE(t.balance||0,0),s(r,2,4),n.smhd.encode.bytes=4,r},n.smhd.decode=function(e,t){return{balance:(e=e.slice(t)).readUInt16BE(0)}},n.smhd.encodingLength=function(e){return 4},n.stsd={},n.stsd.encode=function(t,i,s){i=i?i.slice(s):e.alloc(n.stsd.encodingLength(t));var o=t.entries||[];i.writeUInt32BE(o.length,0);for(var a=4,h=0;h<o.length;h++){var c=o[h];r.encode(c,i,a),a+=r.encode.bytes}return n.stsd.encode.bytes=a,i},n.stsd.decode=function(e,t,n){for(var i=(e=e.slice(t)).readUInt32BE(0),s=new Array(i),o=4,a=0;a<i;a++){var h=r.decode(e,o,n);s[a]=h,o+=h.length}return{entries:s}},n.stsd.encodingLength=function(e){var t=4;if(!e.entries)return t;for(var n=0;n<e.entries.length;n++)t+=r.encodingLength(e.entries[n]);return t},n.avc1=n.VisualSampleEntry={},n.VisualSampleEntry.encode=function(t,i,o){s(i=i?i.slice(o):e.alloc(n.VisualSampleEntry.encodingLength(t)),0,6),i.writeUInt16BE(t.dataReferenceIndex||0,6),s(i,8,24),i.writeUInt16BE(t.width||0,24),i.writeUInt16BE(t.height||0,26),i.writeUInt32BE(t.hResolution||4718592,28),i.writeUInt32BE(t.vResolution||4718592,32),s(i,36,40),i.writeUInt16BE(t.frameCount||1,40);var a=t.compressorName||"",h=Math.min(a.length,31);i.writeUInt8(h,42),i.write(a,43,h,"utf8"),i.writeUInt16BE(t.depth||24,74),i.writeInt16BE(-1,76);var c=78;(t.children||[]).forEach(function(e){r.encode(e,i,c),c+=r.encode.bytes}),n.VisualSampleEntry.encode.bytes=c},n.VisualSampleEntry.decode=function(e,t,n){e=e.slice(t);for(var i=n-t,s=Math.min(e.readUInt8(42),31),o={dataReferenceIndex:e.readUInt16BE(6),width:e.readUInt16BE(24),height:e.readUInt16BE(26),hResolution:e.readUInt32BE(28),vResolution:e.readUInt32BE(32),frameCount:e.readUInt16BE(40),compressorName:e.toString("utf8",43,43+s),depth:e.readUInt16BE(74),children:[]},a=78;i-a>=8;){var h=r.decode(e,a,i);o.children.push(h),o[h.type]=h,a+=h.length}return o},n.VisualSampleEntry.encodingLength=function(e){var t=78;return(e.children||[]).forEach(function(e){t+=r.encodingLength(e)}),t},n.avcC={},n.avcC.encode=function(t,r,i){r=r?r.slice(i):e.alloc(t.buffer.length),t.buffer.copy(r),n.avcC.encode.bytes=t.buffer.length},n.avcC.decode=function(t,n,r){return{mimeCodec:(t=t.slice(n,r)).toString("hex",1,4),buffer:e.from(t)}},n.avcC.encodingLength=function(e){return e.buffer.length},n.mp4a=n.AudioSampleEntry={},n.AudioSampleEntry.encode=function(t,i,o){s(i=i?i.slice(o):e.alloc(n.AudioSampleEntry.encodingLength(t)),0,6),i.writeUInt16BE(t.dataReferenceIndex||0,6),s(i,8,16),i.writeUInt16BE(t.channelCount||2,16),i.writeUInt16BE(t.sampleSize||16,18),s(i,20,24),i.writeUInt32BE(t.sampleRate||0,24);var a=28;(t.children||[]).forEach(function(e){r.encode(e,i,a),a+=r.encode.bytes}),n.AudioSampleEntry.encode.bytes=a},n.AudioSampleEntry.decode=function(e,t,n){for(var i=n-t,s={dataReferenceIndex:(e=e.slice(t,n)).readUInt16BE(6),channelCount:e.readUInt16BE(16),sampleSize:e.readUInt16BE(18),sampleRate:e.readUInt32BE(24),children:[]},o=28;i-o>=8;){var a=r.decode(e,o,i);s.children.push(a),s[a.type]=a,o+=a.length}return s},n.AudioSampleEntry.encodingLength=function(e){var t=28;return(e.children||[]).forEach(function(e){t+=r.encodingLength(e)}),t},n.esds={},n.esds.encode=function(t,r,i){r=r?r.slice(i):e.alloc(t.buffer.length),t.buffer.copy(r,0),n.esds.encode.bytes=t.buffer.length},n.esds.decode=function(t,n,r){t=t.slice(n,r);var i=Rr.Descriptor.decode(t,0,t.length),s=("ESDescriptor"===i.tagName?i:{}).DecoderConfigDescriptor||{},o=s.oti||0,a=s.DecoderSpecificInfo,h=a?(248&a.buffer.readUInt8(0))>>3:0,c=null;return o&&(c=o.toString(16),h&&(c+="."+h)),{mimeCodec:c,buffer:e.from(t.slice(0))}},n.esds.encodingLength=function(e){return e.buffer.length},n.stsz={},n.stsz.encode=function(t,r,i){var s=t.entries||[];(r=r?r.slice(i):e.alloc(n.stsz.encodingLength(t))).writeUInt32BE(0,0),r.writeUInt32BE(s.length,4);for(var o=0;o<s.length;o++)r.writeUInt32BE(s[o],4*o+8);return n.stsz.encode.bytes=8+4*s.length,r},n.stsz.decode=function(e,t){for(var n=(e=e.slice(t)).readUInt32BE(0),r=e.readUInt32BE(4),i=new Array(r),s=0;s<r;s++)i[s]=0===n?e.readUInt32BE(4*s+8):n;return{entries:i}},n.stsz.encodingLength=function(e){return 8+4*e.entries.length},n.stss=n.stco={},n.stco.encode=function(t,r,i){var s=t.entries||[];(r=r?r.slice(i):e.alloc(n.stco.encodingLength(t))).writeUInt32BE(s.length,0);for(var o=0;o<s.length;o++)r.writeUInt32BE(s[o],4*o+4);return n.stco.encode.bytes=4+4*s.length,r},n.stco.decode=function(e,t){for(var n=(e=e.slice(t)).readUInt32BE(0),r=new Array(n),i=0;i<n;i++)r[i]=e.readUInt32BE(4*i+4);return{entries:r}},n.stco.encodingLength=function(e){return 4+4*e.entries.length},n.co64={},n.co64.encode=function(t,r,i){var s=t.entries||[];(r=r?r.slice(i):e.alloc(n.co64.encodingLength(t))).writeUInt32BE(s.length,0);for(var o=0;o<s.length;o++)Ir.encode(s[o],r,8*o+4);return n.co64.encode.bytes=4+8*s.length,r},n.co64.decode=function(e,t){for(var n=(e=e.slice(t)).readUInt32BE(0),r=new Array(n),i=0;i<n;i++)r[i]=Ir.decode(e,8*i+4);return{entries:r}},n.co64.encodingLength=function(e){return 4+8*e.entries.length},n.stts={},n.stts.encode=function(t,r,i){var s=t.entries||[];(r=r?r.slice(i):e.alloc(n.stts.encodingLength(t))).writeUInt32BE(s.length,0);for(var o=0;o<s.length;o++){var a=8*o+4;r.writeUInt32BE(s[o].count||0,a),r.writeUInt32BE(s[o].duration||0,a+4)}return n.stts.encode.bytes=4+8*t.entries.length,r},n.stts.decode=function(e,t){for(var n=(e=e.slice(t)).readUInt32BE(0),r=new Array(n),i=0;i<n;i++){var s=8*i+4;r[i]={count:e.readUInt32BE(s),duration:e.readUInt32BE(s+4)}}return{entries:r}},n.stts.encodingLength=function(e){return 4+8*e.entries.length},n.ctts={},n.ctts.encode=function(t,r,i){var s=t.entries||[];(r=r?r.slice(i):e.alloc(n.ctts.encodingLength(t))).writeUInt32BE(s.length,0);for(var o=0;o<s.length;o++){var a=8*o+4;r.writeUInt32BE(s[o].count||0,a),r.writeUInt32BE(s[o].compositionOffset||0,a+4)}return n.ctts.encode.bytes=4+8*s.length,r},n.ctts.decode=function(e,t){for(var n=(e=e.slice(t)).readUInt32BE(0),r=new Array(n),i=0;i<n;i++){var s=8*i+4;r[i]={count:e.readUInt32BE(s),compositionOffset:e.readInt32BE(s+4)}}return{entries:r}},n.ctts.encodingLength=function(e){return 4+8*e.entries.length},n.stsc={},n.stsc.encode=function(t,r,i){var s=t.entries||[];(r=r?r.slice(i):e.alloc(n.stsc.encodingLength(t))).writeUInt32BE(s.length,0);for(var o=0;o<s.length;o++){var a=12*o+4;r.writeUInt32BE(s[o].firstChunk||0,a),r.writeUInt32BE(s[o].samplesPerChunk||0,a+4),r.writeUInt32BE(s[o].sampleDescriptionId||0,a+8)}return n.stsc.encode.bytes=4+12*s.length,r},n.stsc.decode=function(e,t){for(var n=(e=e.slice(t)).readUInt32BE(0),r=new Array(n),i=0;i<n;i++){var s=12*i+4;r[i]={firstChunk:e.readUInt32BE(s),samplesPerChunk:e.readUInt32BE(s+4),sampleDescriptionId:e.readUInt32BE(s+8)}}return{entries:r}},n.stsc.encodingLength=function(e){return 4+12*e.entries.length},n.dref={},n.dref.encode=function(t,r,i){r=r?r.slice(i):e.alloc(n.dref.encodingLength(t));var s=t.entries||[];r.writeUInt32BE(s.length,0);for(var o=4,a=0;a<s.length;a++){var h=s[a],c=(h.buf?h.buf.length:0)+4+4;r.writeUInt32BE(c,o),o+=4,r.write(h.type,o,4,"ascii"),o+=4,h.buf&&(h.buf.copy(r,o),o+=h.buf.length)}return n.dref.encode.bytes=o,r},n.dref.decode=function(e,t){for(var n=(e=e.slice(t)).readUInt32BE(0),r=new Array(n),i=4,s=0;s<n;s++){var o=e.readUInt32BE(i),a=e.toString("ascii",i+4,i+8),h=e.slice(i+8,i+o);i+=o,r[s]={type:a,buf:h}}return{entries:r}},n.dref.encodingLength=function(e){var t=4;if(!e.entries)return t;for(var n=0;n<e.entries.length;n++){var r=e.entries[n].buf;t+=(r?r.length:0)+4+4}return t},n.elst={},n.elst.encode=function(t,r,i){var s=t.entries||[];(r=r?r.slice(i):e.alloc(n.elst.encodingLength(t))).writeUInt32BE(s.length,0);for(var o=0;o<s.length;o++){var a=12*o+4;r.writeUInt32BE(s[o].trackDuration||0,a),r.writeUInt32BE(s[o].mediaTime||0,a+4),h(s[o].mediaRate||0,r,a+8)}return n.elst.encode.bytes=4+12*s.length,r},n.elst.decode=function(e,t){for(var n=(e=e.slice(t)).readUInt32BE(0),r=new Array(n),i=0;i<n;i++){var s=12*i+4;r[i]={trackDuration:e.readUInt32BE(s),mediaTime:e.readInt32BE(s+4),mediaRate:f(e,s+8)}}return{entries:r}},n.elst.encodingLength=function(e){return 4+12*e.entries.length},n.hdlr={},n.hdlr.encode=function(t,r,i){r=r?r.slice(i):e.alloc(n.hdlr.encodingLength(t));var s=21+(t.name||"").length;return r.fill(0,0,s),r.write(t.handlerType||"",4,4,"ascii"),function(t,n,r){var i=e.from(t,"utf8");i.copy(n,20),n[20+i.length]=0}(t.name||"",r),n.hdlr.encode.bytes=s,r},n.hdlr.decode=function(e,t,n){return{handlerType:(e=e.slice(t)).toString("ascii",4,8),name:g(e,20,n)}},n.hdlr.encodingLength=function(e){return 21+(e.name||"").length},n.mehd={},n.mehd.encode=function(t,r,i){return(r=r?r.slice(i):e.alloc(4)).writeUInt32BE(t.fragmentDuration||0,0),n.mehd.encode.bytes=4,r},n.mehd.decode=function(e,t){return{fragmentDuration:(e=e.slice(t)).readUInt32BE(0)}},n.mehd.encodingLength=function(e){return 4},n.trex={},n.trex.encode=function(t,r,i){return(r=r?r.slice(i):e.alloc(20)).writeUInt32BE(t.trackId||0,0),r.writeUInt32BE(t.defaultSampleDescriptionIndex||0,4),r.writeUInt32BE(t.defaultSampleDuration||0,8),r.writeUInt32BE(t.defaultSampleSize||0,12),r.writeUInt32BE(t.defaultSampleFlags||0,16),n.trex.encode.bytes=20,r},n.trex.decode=function(e,t){return{trackId:(e=e.slice(t)).readUInt32BE(0),defaultSampleDescriptionIndex:e.readUInt32BE(4),defaultSampleDuration:e.readUInt32BE(8),defaultSampleSize:e.readUInt32BE(12),defaultSampleFlags:e.readUInt32BE(16)}},n.trex.encodingLength=function(e){return 20},n.mfhd={},n.mfhd.encode=function(t,r,i){return(r=r?r.slice(i):e.alloc(4)).writeUInt32BE(t.sequenceNumber||0,0),n.mfhd.encode.bytes=4,r},n.mfhd.decode=function(e,t){return{sequenceNumber:e.readUInt32BE(0)}},n.mfhd.encodingLength=function(e){return 4},n.tfhd={},n.tfhd.encode=function(t,r,i){return(r=r?r.slice(i):e.alloc(4)).writeUInt32BE(t.trackId,0),n.tfhd.encode.bytes=4,r},n.tfhd.decode=function(e,t){},n.tfhd.encodingLength=function(e){return 4},n.tfdt={},n.tfdt.encode=function(t,r,i){return(r=r?r.slice(i):e.alloc(4)).writeUInt32BE(t.baseMediaDecodeTime||0,0),n.tfdt.encode.bytes=4,r},n.tfdt.decode=function(e,t){},n.tfdt.encodingLength=function(e){return 4},n.trun={},n.trun.encode=function(t,r,i){(r=r?r.slice(i):e.alloc(8+16*t.entries.length)).writeUInt32BE(t.entries.length,0),r.writeInt32BE(t.dataOffset,4);for(var s=8,o=0;o<t.entries.length;o++){var a=t.entries[o];r.writeUInt32BE(a.sampleDuration,s),s+=4,r.writeUInt32BE(a.sampleSize,s),s+=4,r.writeUInt32BE(a.sampleFlags,s),s+=4,0===(t.version||0)?r.writeUInt32BE(a.sampleCompositionTimeOffset,s):r.writeInt32BE(a.sampleCompositionTimeOffset,s),s+=4}n.trun.encode.bytes=s},n.trun.decode=function(e,t){},n.trun.encodingLength=function(e){return 8+16*e.entries.length},n.mdat={},n.mdat.encode=function(e,t,r){e.buffer?(e.buffer.copy(t,r),n.mdat.encode.bytes=e.buffer.length):n.mdat.encode.bytes=n.mdat.encodingLength(e)},n.mdat.decode=function(t,n,r){return{buffer:e.from(t.slice(n,r))}},n.mdat.encodingLength=function(e){return e.buffer?e.buffer.length:e.contentLength}}).call(this,d({}).Buffer)}),r=e(function(e,t){var n=1e3,r=6e4,i=36e5,s=24*i;function o(e,t,n,r){var i=t>=1.5*n;return Math.round(e/n)+" "+r+(i?"s":"")}e.exports=function(e,t){t=t||{};var a,h,c=typeof e;if("string"===c&&e.length>0)return function(e){if(!((e=String(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 o=parseFloat(t[1]);switch((t[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*o;case"weeks":case"week":case"w":return 6048e5*o;case"days":case"day":case"d":return o*s;case"hours":case"hour":case"hrs":case"hr":case"h":return o*i;case"minutes":case"minute":case"mins":case"min":case"m":return o*r;case"seconds":case"second":case"secs":case"sec":case"s":return o*n;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return o;default:return}}}}(e);if("number"===c&&isFinite(e))return t.long?(a=e,(h=Math.abs(a))>=s?o(a,h,s,"day"):h>=i?o(a,h,i,"hour"):h>=r?o(a,h,r,"minute"):h>=n?o(a,h,n,"second"):a+" ms"):function(e){var t=Math.abs(e);return t>=s?Math.round(e/s)+"d":t>=i?Math.round(e/i)+"h":t>=r?Math.round(e/r)+"m":t>=n?Math.round(e/n)+"s":e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}}),i=e(function(e,t){var n=Math.abs;e.exports=function(e,t,r){for(var i,s,o,a=1/0,h=0,c=t.length-1;h<=c&&((o=t[i=h+(c-h>>1)]-e)<0?h=i+1:o>0&&(c=i-1),(o=n(o))<a&&(a=o,s=i),t[i]!==e););return r?s:t[s]}}),s=e(function(e,t){(function(t,n){"use strict";var r;e.exports=S,S.ReadableState=k,l.EventEmitter;var i,s=function(e,t){return e.listeners(t).length},a=d({}).Buffer,u=n.Uint8Array||function(){};i=ne&&ne.debuglog?ne.debuglog("stream"):function(){};var f,p,g=Ae.getHighWaterMark,m=Se.codes,_=m.ERR_INVALID_ARG_TYPE,y=m.ERR_STREAM_PUSH_AFTER_EOF,b=m.ERR_METHOD_NOT_IMPLEMENTED,w=m.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,v=Re.emitExperimentalWarning;Be(S,te);var E=["error","close","destroy","pause","resume"];function k(e,t,n){r=r||c({}),e=e||{},"boolean"!=typeof n&&(n=t instanceof r),this.objectMode=!!e.objectMode,n&&(this.objectMode=this.objectMode||!!e.readableObjectMode),this.highWaterMark=g(this,e,"readableHighWaterMark",n),this.buffer=new ce,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==e.emitClose,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(f||(f=h({}).StringDecoder),this.decoder=new f(e.encoding),this.encoding=e.encoding)}function S(e){if(r=r||c({}),!(this instanceof S))return new S(e);var t=this instanceof r;this._readableState=new k(e,this,t),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),te.call(this)}function C(e,t,n,r,s){i("readableAddChunk",t);var o,h=e._readableState;if(null===t)h.reading=!1,function(e,t){if(!t.ended){if(t.decoder){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,t.sync?A(e):(t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,R(e)))}}(e,h);else if(s||(o=function(e,t){var n,r;return r=t,a.isBuffer(r)||r instanceof u||"string"==typeof t||void 0===t||e.objectMode||(n=new _("chunk",["string","Buffer","Uint8Array"],t)),n}(h,t)),o)e.emit("error",o);else if(h.objectMode||t&&t.length>0)if("string"==typeof t||h.objectMode||Object.getPrototypeOf(t)===a.prototype||(t=function(e){return a.from(e)}(t)),r)h.endEmitted?e.emit("error",new w):x(e,h,t,!0);else if(h.ended)e.emit("error",new y);else{if(h.destroyed)return!1;h.reading=!1,h.decoder&&!n?(t=h.decoder.write(t),h.objectMode||0!==t.length?x(e,h,t,!1):B(e,h)):x(e,h,t,!1)}else r||(h.reading=!1,B(e,h));return!h.ended&&(h.length<h.highWaterMark||0===h.length)}function x(e,t,n,r){t.flowing&&0===t.length&&!t.sync?(t.awaitDrain=0,e.emit("data",n)):(t.length+=t.objectMode?1:n.length,r?t.buffer.unshift(n):t.buffer.push(n),t.needReadable&&A(e)),B(e,t)}Object.defineProperty(S.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(e){this._readableState&&(this._readableState.destroyed=e)}}),S.prototype.destroy=ke.destroy,S.prototype._undestroy=ke.undestroy,S.prototype._destroy=function(e,t){t(e)},S.prototype.push=function(e,t){var n,r=this._readableState;return r.objectMode?n=!0:"string"==typeof e&&((t=t||r.defaultEncoding)!==r.encoding&&(e=a.from(e,t),t=""),n=!0),C(this,e,t,!1,n)},S.prototype.unshift=function(e){return C(this,e,null,!0,!1)},S.prototype.isPaused=function(){return!1===this._readableState.flowing},S.prototype.setEncoding=function(e){return f||(f=h({}).StringDecoder),this._readableState.decoder=new f(e),this._readableState.encoding=this._readableState.decoder.encoding,this};var T=8388608;function I(e,t){return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!=e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=function(e){return e>=T?e=T:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function A(e){var n=e._readableState;n.needReadable=!1,n.emittedReadable||(i("emitReadable",n.flowing),n.emittedReadable=!0,t.nextTick(R,e))}function R(e){var t=e._readableState;i("emitReadable_",t.destroyed,t.length,t.ended),t.destroyed||!t.length&&!t.ended||e.emit("readable"),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,P(e)}function B(e,n){n.readingMore||(n.readingMore=!0,t.nextTick(L,e,n))}function L(e,t){for(;!t.reading&&!t.ended&&(t.length<t.highWaterMark||t.flowing&&0===t.length);){var n=t.length;if(i("maybeReadMore read 0"),e.read(0),n===t.length)break}t.readingMore=!1}function U(e){var t=e._readableState;t.readableListening=e.listenerCount("readable")>0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount("data")>0&&e.resume()}function O(e){i("readable nexttick read 0"),e.read(0)}function M(e,t){i("resume",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit("resume"),P(e),t.flowing&&!t.reading&&e.read(0)}function P(e){var t=e._readableState;for(i("flow",t.flowing);t.flowing&&null!==e.read(););}function N(e,t){return 0===t.length?null:(t.objectMode?n=t.buffer.shift():!e||e>=t.length?(n=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.first():t.buffer.concat(t.length),t.buffer.clear()):n=t.buffer.consume(e,t.decoder),n);var n}function H(e){var n=e._readableState;i("endReadable",n.endEmitted),n.endEmitted||(n.ended=!0,t.nextTick(j,n,e))}function j(e,t){i("endReadableNT",e.endEmitted,e.length),e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function D(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1}S.prototype.read=function(e){i("read",e),e=parseInt(e,10);var t=this._readableState,n=e;if(0!==e&&(t.emittedReadable=!1),0===e&&t.needReadable&&((0!==t.highWaterMark?t.length>=t.highWaterMark:t.length>0)||t.ended))return i("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?H(this):A(this),null;if(0===(e=I(e,t))&&t.ended)return 0===t.length&&H(this),null;var r,s=t.needReadable;return i("need readable",s),(0===t.length||t.length-e<t.highWaterMark)&&i("length less than watermark",s=!0),t.ended||t.reading?i("reading or ended",s=!1):s&&(i("do read"),t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=I(n,t))),null===(r=e>0?N(e,t):null)?(t.needReadable=!0,e=0):(t.length-=e,t.awaitDrain=0),0===t.length&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&H(this)),null!==r&&this.emit("data",r),r},S.prototype._read=function(e){this.emit("error",new b("_read()"))},S.prototype.pipe=function(e,n){var r=this,o=this._readableState;switch(o.pipesCount){case 0:o.pipes=e;break;case 1:o.pipes=[o.pipes,e];break;default:o.pipes.push(e)}o.pipesCount+=1,i("pipe count=%d opts=%j",o.pipesCount,n);var a=n&&!1===n.end||e===t.stdout||e===t.stderr?g:h;function h(){i("onend"),e.end()}o.endEmitted?t.nextTick(a):r.once("end",a),e.on("unpipe",function t(n,s){i("onunpipe"),n===r&&s&&!1===s.hasUnpiped&&(s.hasUnpiped=!0,i("cleanup"),e.removeListener("close",f),e.removeListener("finish",p),e.removeListener("drain",c),e.removeListener("error",l),e.removeListener("unpipe",t),r.removeListener("end",h),r.removeListener("end",g),r.removeListener("data",d),u=!0,!o.awaitDrain||e._writableState&&!e._writableState.needDrain||c())});var c=function(e){return function(){var t=e._readableState;i("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&s(e,"data")&&(t.flowing=!0,P(e))}}(r);e.on("drain",c);var u=!1;function d(t){i("ondata");var n=e.write(t);i("dest.write",n),!1===n&&((1===o.pipesCount&&o.pipes===e||o.pipesCount>1&&-1!==D(o.pipes,e))&&!u&&(i("false write response, pause",o.awaitDrain),o.awaitDrain++),r.pause())}function l(t){i("onerror",t),g(),e.removeListener("error",l),0===s(e,"error")&&e.emit("error",t)}function f(){e.removeListener("finish",p),g()}function p(){i("onfinish"),e.removeListener("close",f),g()}function g(){i("unpipe"),r.unpipe(e)}return r.on("data",d),function(e,t,n){if("function"==typeof e.prependListener)return e.prependListener("error",n);e._events&&e._events.error?Array.isArray(e._events.error)?e._events.error.unshift(n):e._events.error=[n,e._events.error]:e.on("error",n)}(e,0,l),e.once("close",f),e.once("finish",p),e.emit("pipe",r),o.flowing||(i("pipe resume"),r.resume()),e},S.prototype.unpipe=function(e){var t=this._readableState,n={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,n),this);if(!e){var r=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var s=0;s<i;s++)r[s].emit("unpipe",this,{hasUnpiped:!1});return this}var o=D(t.pipes,e);return-1===o?this:(t.pipes.splice(o,1),t.pipesCount-=1,1===t.pipesCount&&(t.pipes=t.pipes[0]),e.emit("unpipe",this,n),this)},S.prototype.on=function(e,n){var r=te.prototype.on.call(this,e,n),s=this._readableState;return"data"===e?(s.readableListening=this.listenerCount("readable")>0,!1!==s.flowing&&this.resume()):"readable"===e&&(s.endEmitted||s.readableListening||(s.readableListening=s.needReadable=!0,s.flowing=!1,s.emittedReadable=!1,i("on readable",s.length,s.reading),s.length?A(this):s.reading||t.nextTick(O,this))),r},S.prototype.addListener=S.prototype.on,S.prototype.removeListener=function(e,n){var r=te.prototype.removeListener.call(this,e,n);return"readable"===e&&t.nextTick(U,this),r},S.prototype.removeAllListeners=function(e){var n=te.prototype.removeAllListeners.apply(this,arguments);return"readable"!==e&&void 0!==e||t.nextTick(U,this),n},S.prototype.resume=function(){var e=this._readableState;return e.flowing||(i("resume"),e.flowing=!e.readableListening,function(e,n){n.resumeScheduled||(n.resumeScheduled=!0,t.nextTick(M,e,n))}(this,e)),e.paused=!1,this},S.prototype.pause=function(){return i("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(i("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},S.prototype.wrap=function(e){var t=this,n=this._readableState,r=!1;for(var s in e.on("end",function(){if(i("wrapped end"),n.decoder&&!n.ended){var e=n.decoder.end();e&&e.length&&t.push(e)}t.push(null)}),e.on("data",function(s){i("wrapped data"),n.decoder&&(s=n.decoder.write(s)),n.objectMode&&null==s||(n.objectMode||s&&s.length)&&(t.push(s)||(r=!0,e.pause()))}),e)void 0===this[s]&&"function"==typeof e[s]&&(this[s]=function(t){return function(){return e[t].apply(e,arguments)}}(s));for(var o=0;o<E.length;o++)e.on(E[o],this.emit.bind(this,E[o]));return this._read=function(t){i("wrapped _read",t),r&&(r=!1,e.resume())},this},"function"==typeof Symbol&&(S.prototype[Symbol.asyncIterator]=function(){return v("Readable[Symbol.asyncIterator]"),void 0===p&&(p=o({})),p(this)}),Object.defineProperty(S.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty(S.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(S.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(e){this._readableState&&(this._readableState.flowing=e)}}),S._fromList=N,Object.defineProperty(S.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}})}).call(this,ue,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})}),o=e(function(e,t){(function(t){"use strict";var n;function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var i=a({}),s=Symbol("lastResolve"),o=Symbol("lastReject"),h=Symbol("error"),c=Symbol("ended"),u=Symbol("lastPromise"),d=Symbol("handlePromise"),l=Symbol("stream");function f(e,t){return{value:e,done:t}}function p(e){var t=e[s];if(null!==t){var n=e[l].read();null!==n&&(e[u]=null,e[s]=null,e[o]=null,t(f(n,!1)))}}var g=Object.getPrototypeOf(function(){}),m=Object.setPrototypeOf((r(n={get stream(){return this[l]},next:function(){var e=this,n=this[h];if(null!==n)return Promise.reject(n);if(this[c])return Promise.resolve(f(void 0,!0));if(this[l].destroyed)return new Promise(function(n,r){t.nextTick(function(){e[h]?r(e[h]):n(f(void 0,!0))})});var r,i=this[u];if(i)r=new Promise(function(e,t){return function(n,r){e.then(function(){t[c]?n(f(void 0,!0)):t[d](n,r)},r)}}(i,this));else{var s=this[l].read();if(null!==s)return Promise.resolve(f(s,!1));r=new Promise(this[d])}return this[u]=r,r}},Symbol.asyncIterator,function(){return this}),r(n,"return",function(){var e=this;return new Promise(function(t,n){e[l].destroy(null,function(e){e?n(e):t(f(void 0,!0))})})}),n),g);e.exports=function(e){var n,a=Object.create(m,(r(n={},l,{value:e,writable:!0}),r(n,s,{value:null,writable:!0}),r(n,o,{value:null,writable:!0}),r(n,h,{value:null,writable:!0}),r(n,c,{value:e._readableState.endEmitted,writable:!0}),r(n,d,{value:function(e,t){var n=a[l].read();n?(a[u]=null,a[s]=null,a[o]=null,e(f(n,!1))):(a[s]=e,a[o]=t)},writable:!0}),n));return a[u]=null,i(e,function(e){if(e&&"ERR_STREAM_PREMATURE_CLOSE"!==e.code){var t=a[o];return null!==t&&(a[u]=null,a[s]=null,a[o]=null,t(e)),void(a[h]=e)}var n=a[s];null!==n&&(a[u]=null,a[s]=null,a[o]=null,n(f(void 0,!0))),a[c]=!0}),e.on("readable",function(e){t.nextTick(p,e)}.bind(null,a)),a}}).call(this,ue)}),a=e(function(e,t){"use strict";var n=Se.codes.ERR_STREAM_PREMATURE_CLOSE;function r(){}e.exports=function e(t,i,s){if("function"==typeof i)return e(t,null,i);i||(i={}),s=function(e){var t=!1;return function(){if(!t){t=!0;for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];e.apply(this,r)}}}(s||r);var o=i.readable||!1!==i.readable&&t.readable,a=i.writable||!1!==i.writable&&t.writable,h=function(){t.writable||u()},c=t._writableState&&t._writableState.finished,u=function(){a=!1,c=!0,o||s.call(t)},d=t._readableState&&t._readableState.endEmitted,l=function(){o=!1,d=!0,a||s.call(t)},f=function(e){s.call(t,e)},p=function(){var e;return o&&!d?(t._readableState&&t._readableState.ended||(e=new n),s.call(t,e)):a&&!c?(t._writableState&&t._writableState.ended||(e=new n),s.call(t,e)):void 0},g=function(){t.req.on("finish",u)};return function(e){return e.setHeader&&"function"==typeof e.abort}(t)?(t.on("complete",u),t.on("abort",p),t.req?g():t.on("request",g)):a&&!t._writableState&&(t.on("end",h),t.on("close",h)),t.on("end",l),t.on("finish",u),!1!==i.error&&t.on("error",f),t.on("close",p),function(){t.removeListener("complete",u),t.removeListener("abort",p),t.removeListener("request",g),t.req&&t.req.removeListener("finish",u),t.removeListener("end",h),t.removeListener("close",h),t.removeListener("finish",u),t.removeListener("end",l),t.removeListener("error",f),t.removeListener("close",p)}}}),h=e(function(e,t){"use strict";var n=Ue.Buffer,r=n.isEncoding||function(e){switch((e=""+e)&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function i(e){var t;switch(this.encoding=function(e){var t=function(e){if(!e)return"utf8";for(var t;;)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}(e);if("string"!=typeof t&&(n.isEncoding===r||!r(e)))throw new Error("Unknown encoding: "+e);return t||e}(e),this.encoding){case"utf16le":this.text=a,this.end=h,t=4;break;case"utf8":this.fillLast=o,t=4;break;case"base64":this.text=c,this.end=u,t=3;break;default:return this.write=d,void(this.end=l)}this.lastNeed=0,this.lastTotal=0,this.lastChar=n.allocUnsafe(t)}function s(e){return e<=127?0:e>>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function o(e){var t=this.lastTotal-this.lastNeed,n=function(e,t,n){if(128!=(192&t[0]))return e.lastNeed=0,"\ufffd";if(e.lastNeed>1&&t.length>1){if(128!=(192&t[1]))return e.lastNeed=1,"\ufffd";if(e.lastNeed>2&&t.length>2&&128!=(192&t[2]))return e.lastNeed=2,"\ufffd"}}(this,e);return void 0!==n?n:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function a(e,t){if((e.length-t)%2==0){var n=e.toString("utf16le",t);if(n){var r=n.charCodeAt(n.length-1);if(r>=55296&&r<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function h(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var n=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,n)}return t}function c(e,t){var n=(e.length-t)%3;return 0===n?e.toString("base64",t):(this.lastNeed=3-n,this.lastTotal=3,1===n?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-n))}function u(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function d(e){return e.toString(this.encoding)}function l(e){return e&&e.length?this.write(e):""}t.StringDecoder=i,i.prototype.write=function(e){if(0===e.length)return"";var t,n;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";n=this.lastNeed,this.lastNeed=0}else n=0;return n<e.length?t?t+this.text(e,n):this.text(e,n):t||""},i.prototype.end=function(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+"\ufffd":t},i.prototype.text=function(e,t){var n=function(e,t,n){var r=t.length-1;if(r<n)return 0;var i=s(t[r]);return i>=0?(i>0&&(e.lastNeed=i-1),i):--r<n||-2===i?0:(i=s(t[r]))>=0?(i>0&&(e.lastNeed=i-2),i):--r<n||-2===i?0:(i=s(t[r]))>=0?(i>0&&(2===i?i=0:e.lastNeed=i-3),i):0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=n;var r=e.length-(n-this.lastNeed);return e.copy(this.lastChar,0,r),e.toString("utf8",t,r)},i.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}}),c=e(function(e,t){(function(t){"use strict";var n=Object.keys||function(e){var t=[];for(var n in e)t.push(n);return t};e.exports=c;var r=s({}),i=u({});Be(c,r);for(var o=n(i.prototype),a=0;a<o.length;a++){var h=o[a];c.prototype[h]||(c.prototype[h]=i.prototype[h])}function c(e){if(!(this instanceof c))return new c(e);r.call(this,e),i.call(this,e),this.allowHalfOpen=!0,e&&(!1===e.readable&&(this.readable=!1),!1===e.writable&&(this.writable=!1),!1===e.allowHalfOpen&&(this.allowHalfOpen=!1,this.once("end",d)))}function d(){this._writableState.ended||t.nextTick(l,this)}function l(e){e.end()}Object.defineProperty(c.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(c.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(c.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(c.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&this._readableState.destroyed&&this._writableState.destroyed},set:function(e){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=e,this._writableState.destroyed=e)}})}).call(this,ue)}),u=e(function(e,t){(function(t,n){"use strict";function r(e){var t=this;this.next=null,this.entry=null,this.finish=function(){!function(e,t,n){var r=e.entry;for(e.entry=null;r;){var i=r.callback;t.pendingcb--,i(void 0),r=r.next}t.corkedRequestsFree.next=e}(t,e)}}var i;e.exports=k,k.WritableState=E;var s,o={deprecate:Le},a=d({}).Buffer,h=n.Uint8Array||function(){},u=Ae.getHighWaterMark,l=Se.codes,f=l.ERR_INVALID_ARG_TYPE,p=l.ERR_METHOD_NOT_IMPLEMENTED,g=l.ERR_MULTIPLE_CALLBACK,m=l.ERR_STREAM_CANNOT_PIPE,_=l.ERR_STREAM_DESTROYED,y=l.ERR_STREAM_NULL_VALUES,b=l.ERR_STREAM_WRITE_AFTER_END,w=l.ERR_UNKNOWN_ENCODING;function v(){}function E(e,n,s){i=i||c({}),e=e||{},"boolean"!=typeof s&&(s=n instanceof i),this.objectMode=!!e.objectMode,s&&(this.objectMode=this.objectMode||!!e.writableObjectMode),this.highWaterMark=u(this,e,"writableHighWaterMark",s),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var o=!1===e.decodeStrings;this.decodeStrings=!o,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,n){var r=e._writableState,i=r.sync,s=r.writecb;if("function"!=typeof s)throw new g;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(r),n)!function(e,n,r,i,s){--n.pendingcb,r?(t.nextTick(s,i),t.nextTick(A,e,n),e._writableState.errorEmitted=!0,e.emit("error",i)):(s(i),e._writableState.errorEmitted=!0,e.emit("error",i),A(e,n))}(e,r,i,n,s);else{var o=T(r)||e.destroyed;o||r.corked||r.bufferProcessing||!r.bufferedRequest||x(e,r),i?t.nextTick(C,e,r,o,s):C(e,r,o,s)}}(n,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==e.emitClose,this.bufferedRequestCount=0,this.corkedRequestsFree=new r(this)}function k(e){var t=this instanceof(i=i||c({}));if(!t&&!s.call(k,this))return new k(e);this._writableState=new E(e,this,t),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),te.call(this)}function S(e,t,n,r,i,s,o){t.writelen=r,t.writecb=o,t.writing=!0,t.sync=!0,t.destroyed?t.onwrite(new _("write")):n?e._writev(i,t.onwrite):e._write(i,s,t.onwrite),t.sync=!1}function C(e,t,n,r){n||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,r(),A(e,t)}function x(e,t){t.bufferProcessing=!0;var n=t.bufferedRequest;if(e._writev&&n&&n.next){var i=t.bufferedRequestCount,s=new Array(i),o=t.corkedRequestsFree;o.entry=n;for(var a=0,h=!0;n;)s[a]=n,n.isBuf||(h=!1),n=n.next,a+=1;s.allBuffers=h,S(e,t,!0,t.length,s,"",o.finish),t.pendingcb++,t.lastBufferedRequest=null,o.next?(t.corkedRequestsFree=o.next,o.next=null):t.corkedRequestsFree=new r(t),t.bufferedRequestCount=0}else{for(;n;){var c=n.chunk,u=n.encoding,d=n.callback;if(S(e,t,!1,t.objectMode?1:c.length,c,u,d),n=n.next,t.bufferedRequestCount--,t.writing)break}null===n&&(t.lastBufferedRequest=null)}t.bufferedRequest=n,t.bufferProcessing=!1}function T(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function I(e,t){e._final(function(n){t.pendingcb--,n&&e.emit("error",n),t.prefinished=!0,e.emit("prefinish"),A(e,t)})}function A(e,n){var r=T(n);return r&&(function(e,n){n.prefinished||n.finalCalled||("function"!=typeof e._final||n.destroyed?(n.prefinished=!0,e.emit("prefinish")):(n.pendingcb++,n.finalCalled=!0,t.nextTick(I,e,n)))}(e,n),0===n.pendingcb&&(n.finished=!0,e.emit("finish"))),r}Be(k,te),E.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(E.prototype,"buffer",{get:o.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(s=Function.prototype[Symbol.hasInstance],Object.defineProperty(k,Symbol.hasInstance,{value:function(e){return!!s.call(this,e)||this===k&&e&&e._writableState instanceof E}})):s=function(e){return e instanceof this},k.prototype.pipe=function(){this.emit("error",new m)},k.prototype.write=function(e,n,r){var i,s=this._writableState,o=!1,c=!s.objectMode&&(i=e,a.isBuffer(i)||i instanceof h);return c&&!a.isBuffer(e)&&(e=function(e){return a.from(e)}(e)),"function"==typeof n&&(r=n,n=null),c?n="buffer":n||(n=s.defaultEncoding),"function"!=typeof r&&(r=v),s.ending?function(e,n){var r=new b;e.emit("error",r),t.nextTick(n,r)}(this,r):(c||function(e,n,r,i){var s;return null===r?s=new y:"string"==typeof r||n.objectMode||(s=new f("chunk",["string","Buffer"],r)),!s||(e.emit("error",s),t.nextTick(i,s),!1)}(this,s,e,r))&&(s.pendingcb++,o=function(e,t,n,r,i,s){if(!n){var o=function(e,t,n){return e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=a.from(t,n)),t}(t,r,i);r!==o&&(n=!0,i="buffer",r=o)}var h=t.objectMode?1:r.length;t.length+=h;var c=t.length<t.highWaterMark;if(c||(t.needDrain=!0),t.writing||t.corked){var u=t.lastBufferedRequest;t.lastBufferedRequest={chunk:r,encoding:i,isBuf:n,callback:s,next:null},u?u.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else S(e,t,!1,h,r,i,s);return c}(this,s,c,e,n,r)),o},k.prototype.cork=function(){this._writableState.corked++},k.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.bufferProcessing||!e.bufferedRequest||x(this,e))},k.prototype.setDefaultEncoding=function(e){if("string"==typeof e&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new w(e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(k.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(k.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),k.prototype._write=function(e,t,n){n(new p("_write()"))},k.prototype._writev=null,k.prototype.end=function(e,n,r){var i=this._writableState;return"function"==typeof e?(r=e,e=null,n=null):"function"==typeof n&&(r=n,n=null),null!=e&&this.write(e,n),i.corked&&(i.corked=1,this.uncork()),i.ending||function(e,n,r){n.ending=!0,A(e,n),r&&(n.finished?t.nextTick(r):e.once("finish",r)),n.ended=!0,e.writable=!1}(this,i,r),this},Object.defineProperty(k.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(k.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),k.prototype.destroy=ke.destroy,k.prototype._undestroy=ke.undestroy,k.prototype._destroy=function(e,t){t(e)}}).call(this,ue,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})}),d=e(function(e,t){(function(e){"use strict";t.Buffer=e,t.SlowBuffer=function(t){return+t!=t&&(t=0),e.alloc(+t)},t.INSPECT_MAX_BYTES=50;var n=2147483647;function r(t){if(t>n)throw new RangeError('The value "'+t+'" is invalid for option "size"');var r=new Uint8Array(t);return r.__proto__=e.prototype,r}function e(e,t,n){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return o(e)}return i(e,t,n)}function i(t,n,i){if("string"==typeof t)return function(t,n){if("string"==typeof n&&""!==n||(n="utf8"),!e.isEncoding(n))throw new TypeError("Unknown encoding: "+n);var i=0|c(t,n),s=r(i),o=s.write(t,n);return o!==i&&(s=s.slice(0,o)),s}(t,n);if(ArrayBuffer.isView(t))return a(t);if(null==t)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(N(t,ArrayBuffer)||t&&N(t.buffer,ArrayBuffer))return function(t,n,r){if(n<0||t.byteLength<n)throw new RangeError('"offset" is outside of buffer bounds');if(t.byteLength<n+(r||0))throw new RangeError('"length" is outside of buffer bounds');var i;return(i=void 0===n&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,n):new Uint8Array(t,n,r)).__proto__=e.prototype,i}(t,n,i);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');var s=t.valueOf&&t.valueOf();if(null!=s&&s!==t)return e.from(s,n,i);var o=function(t){if(e.isBuffer(t)){var n=0|h(t.length),i=r(n);return 0===i.length?i:(t.copy(i,0,0,n),i)}return void 0!==t.length?"number"!=typeof t.length||H(t.length)?r(0):a(t):"Buffer"===t.type&&Array.isArray(t.data)?a(t.data):void 0}(t);if(o)return o;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return e.from(t[Symbol.toPrimitive]("string"),n,i);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function s(e){if("number"!=typeof e)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 o(e){return s(e),r(e<0?0:0|h(e))}function a(e){for(var t=e.length<0?0:0|h(e.length),n=r(t),i=0;i<t;i+=1)n[i]=255&e[i];return n}function h(e){if(e>=n)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+n.toString(16)+" bytes");return 0|e}function c(t,n){if(e.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||N(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);var r=t.length,i=arguments.length>2&&!0===arguments[2];if(!i&&0===r)return 0;for(var s=!1;;)switch(n){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return U(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return O(t).length;default:if(s)return i?-1:U(t).length;n=(""+n).toLowerCase(),s=!0}}function u(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function d(t,n,r,i,s){if(0===t.length)return-1;if("string"==typeof r?(i=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),H(r=+r)&&(r=s?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(s)return-1;r=t.length-1}else if(r<0){if(!s)return-1;r=0}if("string"==typeof n&&(n=e.from(n,i)),e.isBuffer(n))return 0===n.length?-1:l(t,n,r,i,s);if("number"==typeof n)return n&=255,"function"==typeof Uint8Array.prototype.indexOf?s?Uint8Array.prototype.indexOf.call(t,n,r):Uint8Array.prototype.lastIndexOf.call(t,n,r):l(t,[n],r,i,s);throw new TypeError("val must be string, number or Buffer")}function l(e,t,n,r,i){var s,o=1,a=e.length,h=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;o=2,a/=2,h/=2,n/=2}function c(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(i){var u=-1;for(s=n;s<a;s++)if(c(e,s)===c(t,-1===u?0:s-u)){if(-1===u&&(u=s),s-u+1===h)return u*o}else-1!==u&&(s-=s-u),u=-1}else for(n+h>a&&(n=a-h),s=n;s>=0;s--){for(var d=!0,l=0;l<h;l++)if(c(e,s+l)!==c(t,l)){d=!1;break}if(d)return s}return-1}function f(e,t,n,r){n=Number(n)||0;var i=e.length-n;r?(r=Number(r))>i&&(r=i):r=i;var s=t.length;r>s/2&&(r=s/2);for(var o=0;o<r;++o){var a=parseInt(t.substr(2*o,2),16);if(H(a))return o;e[n+o]=a}return o}function p(e,t,n,r){return M(U(t,e.length-n),e,n,r)}function g(e,t,n,r){return M(function(e){for(var t=[],n=0;n<e.length;++n)t.push(255&e.charCodeAt(n));return t}(t),e,n,r)}function m(e,t,n,r){return g(e,t,n,r)}function _(e,t,n,r){return M(O(t),e,n,r)}function y(e,t,n,r){return M(function(e,t){for(var n,r,i,s=[],o=0;o<e.length&&!((t-=2)<0);++o)r=(n=e.charCodeAt(o))>>8,i=n%256,s.push(i),s.push(r);return s}(t,e.length-n),e,n,r)}function b(e,t,n){return 0===t&&n===e.length?T.fromByteArray(e):T.fromByteArray(e.slice(t,n))}function w(e,t,n){n=Math.min(e.length,n);for(var r=[],i=t;i<n;){var s,o,a,h,c=e[i],u=null,d=c>239?4:c>223?3:c>191?2:1;if(i+d<=n)switch(d){case 1:c<128&&(u=c);break;case 2:128==(192&(s=e[i+1]))&&(h=(31&c)<<6|63&s)>127&&(u=h);break;case 3:s=e[i+1],o=e[i+2],128==(192&s)&&128==(192&o)&&(h=(15&c)<<12|(63&s)<<6|63&o)>2047&&(h<55296||h>57343)&&(u=h);break;case 4:s=e[i+1],o=e[i+2],a=e[i+3],128==(192&s)&&128==(192&o)&&128==(192&a)&&(h=(15&c)<<18|(63&s)<<12|(63&o)<<6|63&a)>65535&&h<1114112&&(u=h)}null===u?(u=65533,d=1):u>65535&&(u-=65536,r.push(u>>>10&1023|55296),u=56320|1023&u),r.push(u),i+=d}return function(e){var t=e.length;if(t<=v)return String.fromCharCode.apply(String,e);for(var n="",r=0;r<t;)n+=String.fromCharCode.apply(String,e.slice(r,r+=v));return n}(r)}t.kMaxLength=n,e.TYPED_ARRAY_SUPPORT=function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()}catch(t){return!1}}(),e.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||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."),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}}),"undefined"!=typeof Symbol&&null!=Symbol.species&&e[Symbol.species]===e&&Object.defineProperty(e,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}),e.poolSize=8192,e.from=function(e,t,n){return i(e,t,n)},e.prototype.__proto__=Uint8Array.prototype,e.__proto__=Uint8Array,e.alloc=function(e,t,n){return function(e,t,n){return s(e),e<=0?r(e):void 0!==t?"string"==typeof n?r(e).fill(t,n):r(e).fill(t):r(e)}(e,t,n)},e.allocUnsafe=function(e){return o(e)},e.allocUnsafeSlow=function(e){return o(e)},e.isBuffer=function(t){return null!=t&&!0===t._isBuffer&&t!==e.prototype},e.compare=function(t,n){if(N(t,Uint8Array)&&(t=e.from(t,t.offset,t.byteLength)),N(n,Uint8Array)&&(n=e.from(n,n.offset,n.byteLength)),!e.isBuffer(t)||!e.isBuffer(n))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===n)return 0;for(var r=t.length,i=n.length,s=0,o=Math.min(r,i);s<o;++s)if(t[s]!==n[s]){r=t[s],i=n[s];break}return r<i?-1:i<r?1:0},e.isEncoding=function(e){switch(String(e).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,n){if(!Array.isArray(t))throw new TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return e.alloc(0);var r;if(void 0===n)for(n=0,r=0;r<t.length;++r)n+=t[r].length;var i=e.allocUnsafe(n),s=0;for(r=0;r<t.length;++r){var o=t[r];if(N(o,Uint8Array)&&(o=e.from(o)),!e.isBuffer(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(i,s),s+=o.length}return i},e.byteLength=c,e.prototype._isBuffer=!0,e.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)u(this,t,t+1);return this},e.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)u(this,t,t+3),u(this,t+1,t+2);return this},e.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)u(this,t,t+7),u(this,t+1,t+6),u(this,t+2,t+5),u(this,t+3,t+4);return this},e.prototype.toString=function(){var e=this.length;return 0===e?"":0===arguments.length?w(this,0,e):function(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return S(this,t,n);case"utf8":case"utf-8":return w(this,t,n);case"ascii":return E(this,t,n);case"latin1":case"binary":return k(this,t,n);case"base64":return b(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return C(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}.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)},e.prototype.inspect=function(){var e="",n=t.INSPECT_MAX_BYTES;return e=this.toString("hex",0,n).replace(/(.{2})/g,"$1 ").trim(),this.length>n&&(e+=" ... "),"<Buffer "+e+">"},e.prototype.compare=function(t,n,r,i,s){if(N(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(void 0===n&&(n=0),void 0===r&&(r=t?t.length:0),void 0===i&&(i=0),void 0===s&&(s=this.length),n<0||r>t.length||i<0||s>this.length)throw new RangeError("out of range index");if(i>=s&&n>=r)return 0;if(i>=s)return-1;if(n>=r)return 1;if(this===t)return 0;for(var o=(s>>>=0)-(i>>>=0),a=(r>>>=0)-(n>>>=0),h=Math.min(o,a),c=this.slice(i,s),u=t.slice(n,r),d=0;d<h;++d)if(c[d]!==u[d]){o=c[d],a=u[d];break}return o<a?-1:a<o?1:0},e.prototype.includes=function(e,t,n){return-1!==this.indexOf(e,t,n)},e.prototype.indexOf=function(e,t,n){return d(this,e,t,n,!0)},e.prototype.lastIndexOf=function(e,t,n){return d(this,e,t,n,!1)},e.prototype.write=function(e,t,n,r){if(void 0===t)r="utf8",n=this.length,t=0;else if(void 0===n&&"string"==typeof t)r=t,n=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t>>>=0,isFinite(n)?(n>>>=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}var i=this.length-t;if((void 0===n||n>i)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var s=!1;;)switch(r){case"hex":return f(this,e,t,n);case"utf8":case"utf-8":return p(this,e,t,n);case"ascii":return g(this,e,t,n);case"latin1":case"binary":return m(this,e,t,n);case"base64":return _(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return y(this,e,t,n);default:if(s)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),s=!0}},e.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var v=4096;function E(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;i<n;++i)r+=String.fromCharCode(127&e[i]);return r}function k(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;i<n;++i)r+=String.fromCharCode(e[i]);return r}function S(e,t,n){var r,i=e.length;(!t||t<0)&&(t=0),(!n||n<0||n>i)&&(n=i);for(var s="",o=t;o<n;++o)s+=(r=e[o])<16?"0"+r.toString(16):r.toString(16);return s}function C(e,t,n){for(var r=e.slice(t,n),i="",s=0;s<r.length;s+=2)i+=String.fromCharCode(r[s]+256*r[s+1]);return i}function x(e,t,n){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+t>n)throw new RangeError("Trying to access beyond buffer length")}function I(t,n,r,i,s,o){if(!e.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(n>s||n<o)throw new RangeError('"value" argument is out of bounds');if(r+i>t.length)throw new RangeError("Index out of range")}function A(e,t,n,r,i,s){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function R(e,t,n,r,i){return t=+t,n>>>=0,i||A(e,0,n,4),P.write(e,t,n,r,23,4),n+4}function B(e,t,n,r,i){return t=+t,n>>>=0,i||A(e,0,n,8),P.write(e,t,n,r,52,8),n+8}e.prototype.slice=function(t,n){var r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(n=void 0===n?r:~~n)<0?(n+=r)<0&&(n=0):n>r&&(n=r),n<t&&(n=t);var i=this.subarray(t,n);return i.__proto__=e.prototype,i},e.prototype.readUIntLE=function(e,t,n){e>>>=0,t>>>=0,n||x(e,t,this.length);for(var r=this[e],i=1,s=0;++s<t&&(i*=256);)r+=this[e+s]*i;return r},e.prototype.readUIntBE=function(e,t,n){e>>>=0,t>>>=0,n||x(e,t,this.length);for(var r=this[e+--t],i=1;t>0&&(i*=256);)r+=this[e+--t]*i;return r},e.prototype.readUInt8=function(e,t){return e>>>=0,t||x(e,1,this.length),this[e]},e.prototype.readUInt16LE=function(e,t){return e>>>=0,t||x(e,2,this.length),this[e]|this[e+1]<<8},e.prototype.readUInt16BE=function(e,t){return e>>>=0,t||x(e,2,this.length),this[e]<<8|this[e+1]},e.prototype.readUInt32LE=function(e,t){return e>>>=0,t||x(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},e.prototype.readUInt32BE=function(e,t){return e>>>=0,t||x(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},e.prototype.readIntLE=function(e,t,n){e>>>=0,t>>>=0,n||x(e,t,this.length);for(var r=this[e],i=1,s=0;++s<t&&(i*=256);)r+=this[e+s]*i;return r>=(i*=128)&&(r-=Math.pow(2,8*t)),r},e.prototype.readIntBE=function(e,t,n){e>>>=0,t>>>=0,n||x(e,t,this.length);for(var r=t,i=1,s=this[e+--r];r>0&&(i*=256);)s+=this[e+--r]*i;return s>=(i*=128)&&(s-=Math.pow(2,8*t)),s},e.prototype.readInt8=function(e,t){return e>>>=0,t||x(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},e.prototype.readInt16LE=function(e,t){e>>>=0,t||x(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},e.prototype.readInt16BE=function(e,t){e>>>=0,t||x(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},e.prototype.readInt32LE=function(e,t){return e>>>=0,t||x(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},e.prototype.readInt32BE=function(e,t){return e>>>=0,t||x(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},e.prototype.readFloatLE=function(e,t){return e>>>=0,t||x(e,4,this.length),P.read(this,e,!0,23,4)},e.prototype.readFloatBE=function(e,t){return e>>>=0,t||x(e,4,this.length),P.read(this,e,!1,23,4)},e.prototype.readDoubleLE=function(e,t){return e>>>=0,t||x(e,8,this.length),P.read(this,e,!0,52,8)},e.prototype.readDoubleBE=function(e,t){return e>>>=0,t||x(e,8,this.length),P.read(this,e,!1,52,8)},e.prototype.writeUIntLE=function(e,t,n,r){e=+e,t>>>=0,n>>>=0,r||I(this,e,t,n,Math.pow(2,8*n)-1,0);var i=1,s=0;for(this[t]=255&e;++s<n&&(i*=256);)this[t+s]=e/i&255;return t+n},e.prototype.writeUIntBE=function(e,t,n,r){e=+e,t>>>=0,n>>>=0,r||I(this,e,t,n,Math.pow(2,8*n)-1,0);var i=n-1,s=1;for(this[t+i]=255&e;--i>=0&&(s*=256);)this[t+i]=e/s&255;return t+n},e.prototype.writeUInt8=function(e,t,n){return e=+e,t>>>=0,n||I(this,e,t,1,255,0),this[t]=255&e,t+1},e.prototype.writeUInt16LE=function(e,t,n){return e=+e,t>>>=0,n||I(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},e.prototype.writeUInt16BE=function(e,t,n){return e=+e,t>>>=0,n||I(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},e.prototype.writeUInt32LE=function(e,t,n){return e=+e,t>>>=0,n||I(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},e.prototype.writeUInt32BE=function(e,t,n){return e=+e,t>>>=0,n||I(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},e.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t>>>=0,!r){var i=Math.pow(2,8*n-1);I(this,e,t,n,i-1,-i)}var s=0,o=1,a=0;for(this[t]=255&e;++s<n&&(o*=256);)e<0&&0===a&&0!==this[t+s-1]&&(a=1),this[t+s]=(e/o>>0)-a&255;return t+n},e.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t>>>=0,!r){var i=Math.pow(2,8*n-1);I(this,e,t,n,i-1,-i)}var s=n-1,o=1,a=0;for(this[t+s]=255&e;--s>=0&&(o*=256);)e<0&&0===a&&0!==this[t+s+1]&&(a=1),this[t+s]=(e/o>>0)-a&255;return t+n},e.prototype.writeInt8=function(e,t,n){return e=+e,t>>>=0,n||I(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},e.prototype.writeInt16LE=function(e,t,n){return e=+e,t>>>=0,n||I(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},e.prototype.writeInt16BE=function(e,t,n){return e=+e,t>>>=0,n||I(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},e.prototype.writeInt32LE=function(e,t,n){return e=+e,t>>>=0,n||I(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},e.prototype.writeInt32BE=function(e,t,n){return e=+e,t>>>=0,n||I(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},e.prototype.writeFloatLE=function(e,t,n){return R(this,e,t,!0,n)},e.prototype.writeFloatBE=function(e,t,n){return R(this,e,t,!1,n)},e.prototype.writeDoubleLE=function(e,t,n){return B(this,e,t,!0,n)},e.prototype.writeDoubleBE=function(e,t,n){return B(this,e,t,!1,n)},e.prototype.copy=function(t,n,r,i){if(!e.isBuffer(t))throw new TypeError("argument should be a Buffer");if(r||(r=0),i||0===i||(i=this.length),n>=t.length&&(n=t.length),n||(n=0),i>0&&i<r&&(i=r),i===r)return 0;if(0===t.length||0===this.length)return 0;if(n<0)throw new RangeError("targetStart out of bounds");if(r<0||r>=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-n<i-r&&(i=t.length-n+r);var s=i-r;if(this===t&&"function"==typeof Uint8Array.prototype.copyWithin)this.copyWithin(n,r,i);else if(this===t&&r<n&&n<i)for(var o=s-1;o>=0;--o)t[o+n]=this[o+r];else Uint8Array.prototype.set.call(t,this.subarray(r,i),n);return s},e.prototype.fill=function(t,n,r,i){if("string"==typeof t){if("string"==typeof n?(i=n,n=0,r=this.length):"string"==typeof r&&(i=r,r=this.length),void 0!==i&&"string"!=typeof i)throw new TypeError("encoding must be a string");if("string"==typeof i&&!e.isEncoding(i))throw new TypeError("Unknown encoding: "+i);if(1===t.length){var s=t.charCodeAt(0);("utf8"===i&&s<128||"latin1"===i)&&(t=s)}}else"number"==typeof t&&(t&=255);if(n<0||this.length<n||this.length<r)throw new RangeError("Out of range index");if(r<=n)return this;var o;if(n>>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(o=n;o<r;++o)this[o]=t;else{var a=e.isBuffer(t)?t:e.from(t,i),h=a.length;if(0===h)throw new TypeError('The value "'+t+'" is invalid for argument "value"');for(o=0;o<r-n;++o)this[o+n]=a[o%h]}return this};var L=/[^+\/0-9A-Za-z-_]/g;function U(e,t){var n;t=t||1/0;for(var r=e.length,i=null,s=[],o=0;o<r;++o){if((n=e.charCodeAt(o))>55295&&n<57344){if(!i){if(n>56319){(t-=3)>-1&&s.push(239,191,189);continue}if(o+1===r){(t-=3)>-1&&s.push(239,191,189);continue}i=n;continue}if(n<56320){(t-=3)>-1&&s.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(t-=3)>-1&&s.push(239,191,189);if(i=null,n<128){if((t-=1)<0)break;s.push(n)}else if(n<2048){if((t-=2)<0)break;s.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;s.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;s.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return s}function O(e){return T.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace(L,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function M(e,t,n,r){for(var i=0;i<r&&!(i+n>=t.length||i>=e.length);++i)t[i+n]=e[i];return i}function N(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function H(e){return e!=e}}).call(this,d({}).Buffer)}),l={},f=Object.create||function(e){var t=function(){};return t.prototype=e,new t},p=Object.keys||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return n},g=Function.prototype.bind||function(e){var t=this;return function(){return t.apply(e,arguments)}};function m(){this._events&&Object.prototype.hasOwnProperty.call(this,"_events")||(this._events=f(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0}l=m,m.EventEmitter=m,m.prototype._events=void 0,m.prototype._maxListeners=void 0;var _,y=10;try{var b={};Object.defineProperty&&Object.defineProperty(b,"x",{value:0}),_=0===b.x}catch(_i){_=!1}function w(e){return void 0===e._maxListeners?m.defaultMaxListeners:e._maxListeners}function v(e,t,n,r){var i,s,o;if("function"!=typeof n)throw new TypeError('"listener" argument must be a function');if((s=e._events)?(s.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),s=e._events),o=s[t]):(s=e._events=f(null),e._eventsCount=0),o){if("function"==typeof o?o=s[t]=r?[n,o]:[o,n]:r?o.unshift(n):o.push(n),!o.warned&&(i=w(e))&&i>0&&o.length>i){o.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+o.length+' "'+String(t)+'" listeners added. Use emitter.setMaxListeners() to increase limit.');a.name="MaxListenersExceededWarning",a.emitter=e,a.type=t,a.count=o.length,"object"==typeof console&&console.warn&&console.warn("%s: %s",a.name,a.message)}}else o=s[t]=n,++e._eventsCount;return e}function E(){if(!this.fired)switch(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length){case 0:return this.listener.call(this.target);case 1:return this.listener.call(this.target,arguments[0]);case 2:return this.listener.call(this.target,arguments[0],arguments[1]);case 3:return this.listener.call(this.target,arguments[0],arguments[1],arguments[2]);default:for(var e=new Array(arguments.length),t=0;t<e.length;++t)e[t]=arguments[t];this.listener.apply(this.target,e)}}function k(e,t,n){var r={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},i=g.call(E,r);return i.listener=n,r.wrapFn=i,i}function S(e,t,n){var r=e._events;if(!r)return[];var i=r[t];return i?"function"==typeof i?n?[i.listener||i]:[i]:n?function(e){for(var t=new Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}(i):x(i,i.length):[]}function C(e){var t=this._events;if(t){var n=t[e];if("function"==typeof n)return 1;if(n)return n.length}return 0}function x(e,t){for(var n=new Array(t),r=0;r<t;++r)n[r]=e[r];return n}_?Object.defineProperty(m,"defaultMaxListeners",{enumerable:!0,get:function(){return y},set:function(e){if("number"!=typeof e||e<0||e!=e)throw new TypeError('"defaultMaxListeners" must be a positive number');y=e}}):m.defaultMaxListeners=y,m.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||isNaN(e))throw new TypeError('"n" argument must be a positive number');return this._maxListeners=e,this},m.prototype.getMaxListeners=function(){return w(this)},m.prototype.emit=function(e){var t,n,r,i,s,o,a="error"===e;if(o=this._events)a=a&&null==o.error;else if(!a)return!1;if(a){if(arguments.length>1&&(t=arguments[1]),t instanceof Error)throw t;var h=new Error('Unhandled "error" event. ('+t+")");throw h.context=t,h}if(!(n=o[e]))return!1;var c="function"==typeof n;switch(r=arguments.length){case 1:!function(e,t,n){if(t)e.call(n);else for(var r=e.length,i=x(e,r),s=0;s<r;++s)i[s].call(n)}(n,c,this);break;case 2:!function(e,t,n,r){if(t)e.call(n,r);else for(var i=e.length,s=x(e,i),o=0;o<i;++o)s[o].call(n,r)}(n,c,this,arguments[1]);break;case 3:!function(e,t,n,r,i){if(t)e.call(n,r,i);else for(var s=e.length,o=x(e,s),a=0;a<s;++a)o[a].call(n,r,i)}(n,c,this,arguments[1],arguments[2]);break;case 4:!function(e,t,n,r,i,s){if(t)e.call(n,r,i,s);else for(var o=e.length,a=x(e,o),h=0;h<o;++h)a[h].call(n,r,i,s)}(n,c,this,arguments[1],arguments[2],arguments[3]);break;default:for(i=new Array(r-1),s=1;s<r;s++)i[s-1]=arguments[s];!function(e,t,n,r){if(t)e.apply(n,r);else for(var i=e.length,s=x(e,i),o=0;o<i;++o)s[o].apply(n,r)}(n,c,this,i)}return!0},m.prototype.addListener=function(e,t){return v(this,e,t,!1)},m.prototype.on=m.prototype.addListener,m.prototype.prependListener=function(e,t){return v(this,e,t,!0)},m.prototype.once=function(e,t){if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');return this.on(e,k(this,e,t)),this},m.prototype.prependOnceListener=function(e,t){if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');return this.prependListener(e,k(this,e,t)),this},m.prototype.removeListener=function(e,t){var n,r,i,s,o;if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');if(!(r=this._events))return this;if(!(n=r[e]))return this;if(n===t||n.listener===t)0==--this._eventsCount?this._events=f(null):(delete r[e],r.removeListener&&this.emit("removeListener",e,n.listener||t));else if("function"!=typeof n){for(i=-1,s=n.length-1;s>=0;s--)if(n[s]===t||n[s].listener===t){o=n[s].listener,i=s;break}if(i<0)return this;0===i?n.shift():function(e,t){for(var n=i,r=n+1,s=e.length;r<s;n+=1,r+=1)e[n]=e[r];e.pop()}(n),1===n.length&&(r[e]=n[0]),r.removeListener&&this.emit("removeListener",e,o||t)}return this},m.prototype.removeAllListeners=function(e){var t,n,r;if(!(n=this._events))return this;if(!n.removeListener)return 0===arguments.length?(this._events=f(null),this._eventsCount=0):n[e]&&(0==--this._eventsCount?this._events=f(null):delete n[e]),this;if(0===arguments.length){var i,s=p(n);for(r=0;r<s.length;++r)"removeListener"!==(i=s[r])&&this.removeAllListeners(i);return this.removeAllListeners("removeListener"),this._events=f(null),this._eventsCount=0,this}if("function"==typeof(t=n[e]))this.removeListener(e,t);else if(t)for(r=t.length-1;r>=0;r--)this.removeListener(e,t[r]);return this},m.prototype.listeners=function(e){return S(this,e,!0)},m.prototype.rawListeners=function(e){return S(this,e,!1)},m.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):C.call(e,t)},m.prototype.listenerCount=C,m.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]};for(var T={toByteArray:function(e){var t,n,r=O(e),i=r[0],s=r[1],o=new R(function(e,t,n){return 3*(t+n)/4-n}(0,i,s)),a=0,h=s>0?i-4:i;for(n=0;n<h;n+=4)t=A[e.charCodeAt(n)]<<18|A[e.charCodeAt(n+1)]<<12|A[e.charCodeAt(n+2)]<<6|A[e.charCodeAt(n+3)],o[a++]=t>>16&255,o[a++]=t>>8&255,o[a++]=255&t;return 2===s&&(t=A[e.charCodeAt(n)]<<2|A[e.charCodeAt(n+1)]>>4,o[a++]=255&t),1===s&&(t=A[e.charCodeAt(n)]<<10|A[e.charCodeAt(n+1)]<<4|A[e.charCodeAt(n+2)]>>2,o[a++]=t>>8&255,o[a++]=255&t),o},fromByteArray:function(e){for(var t,n=e.length,r=n%3,i=[],s=0,o=n-r;s<o;s+=16383)i.push(M(e,s,s+16383>o?o:s+16383));return 1===r?(t=e[n-1],i.push(I[t>>2]+I[t<<4&63]+"==")):2===r&&(t=(e[n-2]<<8)+e[n-1],i.push(I[t>>10]+I[t>>4&63]+I[t<<2&63]+"=")),i.join("")}},I=[],A=[],R="undefined"!=typeof Uint8Array?Uint8Array:Array,B="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",L=0,U=B.length;L<U;++L)I[L]=B[L],A[B.charCodeAt(L)]=L;function O(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");return-1===n&&(n=t),[n,n===t?0:4-n%4]}function M(e,t,n){for(var r,i,s=[],o=t;o<n;o+=3)r=(e[o]<<16&16711680)+(e[o+1]<<8&65280)+(255&e[o+2]),s.push(I[(i=r)>>18&63]+I[i>>12&63]+I[i>>6&63]+I[63&i]);return s.join("")}A["-".charCodeAt(0)]=62,A["_".charCodeAt(0)]=63;var P={read:function(e,t,n,r,i){var s,o,a=8*i-r-1,h=(1<<a)-1,c=h>>1,u=-7,d=n?i-1:0,l=n?-1:1,f=e[t+d];for(d+=l,s=f&(1<<-u)-1,f>>=-u,u+=a;u>0;s=256*s+e[t+d],d+=l,u-=8);for(o=s&(1<<-u)-1,s>>=-u,u+=r;u>0;o=256*o+e[t+d],d+=l,u-=8);if(0===s)s=1-c;else{if(s===h)return o?NaN:1/0*(f?-1:1);o+=Math.pow(2,r),s-=c}return(f?-1:1)*o*Math.pow(2,s-r)},write:function(e,t,n,r,i,s){var o,a,h,c=8*s-i-1,u=(1<<c)-1,d=u>>1,l=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,f=r?0:s-1,p=r?1:-1,g=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,o=u):(o=Math.floor(Math.log(t)/Math.LN2),t*(h=Math.pow(2,-o))<1&&(o--,h*=2),(t+=o+d>=1?l/h:l*Math.pow(2,1-d))*h>=2&&(o++,h/=2),o+d>=u?(a=0,o=u):o+d>=1?(a=(t*h-1)*Math.pow(2,i),o+=d):(a=t*Math.pow(2,d-1)*Math.pow(2,i),o=0));i>=8;e[n+f]=255&a,f+=p,a/=256,i-=8);for(o=o<<i|a,c+=i;c>0;e[n+f]=255&o,f+=p,o/=256,c-=8);e[n+f-p]|=128*g}},N={};(function(e){N=function(t,n){var r=[];t.on("data",function(e){r.push(e)}),t.once("end",function(){n&&n(null,e.concat(r)),n=null}),t.once("error",function(e){n&&n(e),n=null})}}).call(this,d({}).Buffer);var H={},j=d({}),D=j.Buffer;function q(e,t){for(var n in e)t[n]=e[n]}function F(e,t,n){return D(e,t,n)}D.from&&D.alloc&&D.allocUnsafe&&D.allocUnsafeSlow?H=j:(q(j,H),H.Buffer=F),F.prototype=Object.create(D.prototype),q(D,F),F.from=function(e,t,n){if("number"==typeof e)throw new TypeError("Argument must not be a number");return D(e,t,n)},F.alloc=function(e,t,n){if("number"!=typeof e)throw new TypeError("Argument must be a number");var r=D(e);return void 0!==t?"string"==typeof n?r.fill(t,n):r.fill(t):r.fill(0),r},F.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return D(e)},F.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return j.SlowBuffer(e)};var W,z=H.Buffer;function $(e,t,n){var r=[],i=null;return $._encode(r,e),i=z.concat(r),$.bytes=i.length,z.isBuffer(t)?(i.copy(t,n),t):i}$.bytes=-1,$._floatConversionDetected=!1,$.getType=function(e){return z.isBuffer(e)?"buffer":Array.isArray(e)?"array":ArrayBuffer.isView(e)?"arraybufferview":e instanceof Number?"number":e instanceof Boolean?"boolean":e instanceof ArrayBuffer?"arraybuffer":typeof e},$._encode=function(e,t){if(null!=t)switch($.getType(t)){case"buffer":$.buffer(e,t);break;case"object":$.dict(e,t);break;case"array":$.list(e,t);break;case"string":$.string(e,t);break;case"number":case"boolean":$.number(e,t);break;case"arraybufferview":$.buffer(e,z.from(t.buffer,t.byteOffset,t.byteLength));break;case"arraybuffer":$.buffer(e,z.from(t))}};var V=z.from("e"),G=z.from("d"),K=z.from("l");$.buffer=function(e,t){e.push(z.from(t.length+":"),t)},$.string=function(e,t){e.push(z.from(z.byteLength(t)+":"+t))},$.number=function(e,t){var n=2147483648*(t/2147483648<<0)+(t%2147483648<<0);e.push(z.from("i"+n+"e")),n===t||$._floatConversionDetected||($._floatConversionDetected=!0,console.warn('WARNING: Possible data corruption detected with value "'+t+'":','Bencoding only defines support for integers, value was converted to "'+n+'"'),console.trace())},$.dict=function(e,t){e.push(G);for(var n,r=0,i=Object.keys(t).sort(),s=i.length;r<s;r++)null!=t[n=i[r]]&&($.string(e,n),$._encode(e,t[n]));e.push(V)},$.list=function(e,t){var n=0,r=t.length;for(e.push(K);n<r;n++)null!=t[n]&&$._encode(e,t[n]);e.push(V)},W=$;var Y,J=H.Buffer;function X(e,t,n){for(var r=0,i=1,s=t;s<n;s++){var o=e[s];if(o<58&&o>=48)r=10*r+(o-48);else if(s!==t||43!==o){if(s!==t||45!==o){if(46===o)break;throw new Error("not a number: buffer["+s+"] = "+o)}i=-1}}return r*i}function Z(e,t,n,r){return null==e||0===e.length?null:("number"!=typeof t&&null==r&&(r=t,t=void 0),"number"!=typeof n&&null==r&&(r=n,n=void 0),Z.position=0,Z.encoding=r||null,Z.data=J.isBuffer(e)?e.slice(t,n):J.from(e),Z.bytes=Z.data.length,Z.next())}Z.bytes=0,Z.position=0,Z.data=null,Z.encoding=null,Z.next=function(){switch(Z.data[Z.position]){case 100:return Z.dictionary();case 108:return Z.list();case 105:return Z.integer();default:return Z.buffer()}},Z.find=function(e){for(var t=Z.position,n=Z.data.length,r=Z.data;t<n;){if(r[t]===e)return t;t++}throw new Error('Invalid data: Missing delimiter "'+String.fromCharCode(e)+'" [0x'+e.toString(16)+"]")},Z.dictionary=function(){Z.position++;for(var e={};101!==Z.data[Z.position];)e[Z.buffer()]=Z.next();return Z.position++,e},Z.list=function(){Z.position++;for(var e=[];101!==Z.data[Z.position];)e.push(Z.next());return Z.position++,e},Z.integer=function(){var e=Z.find(101),t=X(Z.data,Z.position+1,e);return Z.position+=e+1-Z.position,t},Z.buffer=function(){var e=Z.find(58),t=X(Z.data,Z.position,e),n=++e+t;return Z.position=n,Z.encoding?Z.data.toString(Z.encoding,e,n):Z.data.slice(e,n)},Y=Z;var Q={},ee=Q;ee.encode=W,ee.decode=Y,ee.byteLength=ee.encodingLength=function(e){return ee.encode(e).length};var te=l.EventEmitter,ne={};function re(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var ie,se,oe=d({}).Buffer,ae=ne.inspect,he=ae&&ae.custom||"inspect",ce=function(){function e(){this.head=null,this.tail=null,this.length=0}var t=e.prototype;return t.push=function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length},t.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},t.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},t.clear=function(){this.head=this.tail=null,this.length=0},t.join=function(e){if(0===this.length)return"";for(var t=this.head,n=""+t.data;t=t.next;)n+=e+t.data;return n},t.concat=function(e){if(0===this.length)return oe.alloc(0);for(var t,n,r,i=oe.allocUnsafe(e>>>0),s=this.head,o=0;s;)t=s.data,n=i,r=o,oe.prototype.copy.call(t,n,r),o+=s.data.length,s=s.next;return i},t.consume=function(e,t){var n;return e<this.head.data.length?(n=this.head.data.slice(0,e),this.head.data=this.head.data.slice(e)):n=e===this.head.data.length?this.shift():t?this._getString(e):this._getBuffer(e),n},t.first=function(){return this.head.data},t._getString=function(e){var t=this.head,n=1,r=t.data;for(e-=r.length;t=t.next;){var i=t.data,s=e>i.length?i.length:e;if(s===i.length?r+=i:r+=i.slice(0,e),0==(e-=s)){s===i.length?(++n,t.next?this.head=t.next:this.head=this.tail=null):(this.head=t,t.data=i.slice(s));break}++n}return this.length-=n,r},t._getBuffer=function(e){var t=oe.allocUnsafe(e),n=this.head,r=1;for(n.data.copy(t),e-=n.data.length;n=n.next;){var i=n.data,s=e>i.length?i.length:e;if(i.copy(t,t.length-e,0,s),0==(e-=s)){s===i.length?(++r,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=i.slice(s));break}++r}return this.length-=r,t},t[he]=function(e,t){return ae(this,function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){re(e,t,n[t])})}return e}({},t,{depth:0,customInspect:!1}))},e}(),ue={},de=ue={};function le(){throw new Error("setTimeout has not been defined")}function fe(){throw new Error("clearTimeout has not been defined")}function pe(e){if(ie===setTimeout)return setTimeout(e,0);if((ie===le||!ie)&&setTimeout)return ie=setTimeout,setTimeout(e,0);try{return ie(e,0)}catch(t){try{return ie.call(null,e,0)}catch(t){return ie.call(this,e,0)}}}!function(){try{ie="function"==typeof setTimeout?setTimeout:le}catch(e){ie=le}try{se="function"==typeof clearTimeout?clearTimeout:fe}catch(e){se=fe}}();var ge,me=[],_e=!1,ye=-1;function be(){_e&&ge&&(_e=!1,ge.length?me=ge.concat(me):ye=-1,me.length&&we())}function we(){if(!_e){var e=pe(be);_e=!0;for(var t=me.length;t;){for(ge=me,me=[];++ye<t;)ge&&ge[ye].run();ye=-1,t=me.length}ge=null,_e=!1,function(e){if(se===clearTimeout)return clearTimeout(e);if((se===fe||!se)&&clearTimeout)return se=clearTimeout,clearTimeout(e);try{se(e)}catch(t){try{return se.call(null,e)}catch(t){return se.call(this,e)}}}(e)}}function ve(e,t){this.fun=e,this.array=t}function Ee(){}de.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];me.push(new ve(e,t)),1!==me.length||_e||pe(we)},ve.prototype.run=function(){this.fun.apply(null,this.array)},de.title="browser",de.browser=!0,de.env={},de.argv=[],de.version="",de.versions={},de.on=Ee,de.addListener=Ee,de.once=Ee,de.off=Ee,de.removeListener=Ee,de.removeAllListeners=Ee,de.emit=Ee,de.prependListener=Ee,de.prependOnceListener=Ee,de.listeners=function(e){return[]},de.binding=function(e){throw new Error("process.binding is not supported")},de.cwd=function(){return"/"},de.chdir=function(e){throw new Error("process.chdir is not supported")},de.umask=function(){return 0};var ke={};(function(e){"use strict";function t(e,t){r(e,t),n(e)}function n(e){e._writableState&&!e._writableState.emitClose||e._readableState&&!e._readableState.emitClose||e.emit("close")}function r(e,t){e.emit("error",t)}ke={destroy:function(i,s){var o=this,a=this._readableState&&this._readableState.destroyed,h=this._writableState&&this._writableState.destroyed;return a||h?(s?s(i):!i||this._writableState&&this._writableState.errorEmitted||e.nextTick(r,this,i),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(i||null,function(r){!s&&r?(e.nextTick(t,o,r),o._writableState&&(o._writableState.errorEmitted=!0)):s?(e.nextTick(n,o),s(r)):e.nextTick(n,o)}),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}}}).call(this,ue);var Se={},Ce={};function xe(e,t,n){n||(n=Error);var r=function(e){var n,r;function i(n,r,i){return e.call(this,function(e,n,r){return"string"==typeof t?t:t(e,n,r)}(n,r,i))||this}return r=e,(n=i).prototype=Object.create(r.prototype),n.prototype.constructor=n,n.__proto__=r,i}(n);r.prototype.name=n.name,r.prototype.code=e,Ce[e]=r}function Te(e,t){if(Array.isArray(e)){var n=e.length;return e=e.map(function(e){return String(e)}),n>2?"one of ".concat(t," ").concat(e.slice(0,n-1).join(", "),", or ")+e[n-1]:2===n?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}return"of ".concat(t," ").concat(String(e))}xe("ERR_INVALID_OPT_VALUE",function(e,t){return'The value "'+t+'" is invalid for option "'+e+'"'},TypeError),xe("ERR_INVALID_ARG_TYPE",function(e,t,n){var r,i,s,o;if("string"==typeof t&&("not ","not "===t.substr(0,"not ".length))?(r="must not be",t=t.replace(/^not /,"")):r="must be",s=e,(void 0===o||o>s.length)&&(o=s.length)," argument"===s.substring(o-" argument".length,o))i="The ".concat(e," ").concat(r," ").concat(Te(t,"type"));else{var a=function(e,t,n){return"number"!=typeof n&&(n=0),!(n+".".length>e.length)&&-1!==e.indexOf(".",n)}(e)?"property":"argument";i='The "'.concat(e,'" ').concat(a," ").concat(r," ").concat(Te(t,"type"))}return i+". Received type ".concat(typeof n)},TypeError),xe("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),xe("ERR_METHOD_NOT_IMPLEMENTED",function(e){return"The "+e+" method is not implemented"}),xe("ERR_STREAM_PREMATURE_CLOSE","Premature close"),xe("ERR_STREAM_DESTROYED",function(e){return"Cannot call "+e+" after a stream was destroyed"}),xe("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),xe("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),xe("ERR_STREAM_WRITE_AFTER_END","write after end"),xe("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),xe("ERR_UNKNOWN_ENCODING",function(e){return"Unknown encoding: "+e},TypeError),xe("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),Se.codes=Ce;var Ie=Se.codes.ERR_INVALID_OPT_VALUE,Ae={getHighWaterMark:function(e,t,n,r){var i=function(e,t,n){return null!=e.highWaterMark?e.highWaterMark:t?e[n]:null}(t,r,n);if(null!=i){if(!isFinite(i)||Math.floor(i)!==i||i<0)throw new Ie(r?n:"highWaterMark",i);return Math.floor(i)}return e.objectMode?16:16384}},Re={};(function(e){"use strict";var t=new Set;Re.emitExperimentalWarning=e.emitWarning?function(n){if(!t.has(n)){var r=n+" is an experimental feature. This feature could change at any time";t.add(n),e.emitWarning(r,"ExperimentalWarning")}}:function(){}}).call(this,ue);var Be={};Be="function"==typeof Object.create?function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:function(e,t){if(t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}};var Le={};(function(e){function t(t){try{if(!e.localStorage)return!1}catch(r){return!1}var n=e.localStorage[t];return null!=n&&"true"===String(n).toLowerCase()}Le=function(e,n){if(t("noDeprecation"))return e;var r=!1;return function(){if(!r){if(t("throwDeprecation"))throw new Error(n);t("traceDeprecation")?console.trace(n):console.warn(n),r=!0}return e.apply(this,arguments)}}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{});var Ue={},Oe=d({}),Me=Oe.Buffer;function Pe(e,t){for(var n in e)t[n]=e[n]}function Ne(e,t,n){return Me(e,t,n)}Me.from&&Me.alloc&&Me.allocUnsafe&&Me.allocUnsafeSlow?Ue=Oe:(Pe(Oe,Ue),Ue.Buffer=Ne),Pe(Me,Ne),Ne.from=function(e,t,n){if("number"==typeof e)throw new TypeError("Argument must not be a number");return Me(e,t,n)},Ne.alloc=function(e,t,n){if("number"!=typeof e)throw new TypeError("Argument must be a number");var r=Me(e);return void 0!==t?"string"==typeof n?r.fill(t,n):r.fill(t):r.fill(0),r},Ne.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return Me(e)},Ne.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return Oe.SlowBuffer(e)};var He=Ve,je=Se.codes,De=je.ERR_METHOD_NOT_IMPLEMENTED,qe=je.ERR_MULTIPLE_CALLBACK,Fe=je.ERR_TRANSFORM_ALREADY_TRANSFORMING,We=je.ERR_TRANSFORM_WITH_LENGTH_0,ze=c({});function $e(e,t){var n=this._transformState;n.transforming=!1;var r=n.writecb;if(null===r)return this.emit("error",new qe);n.writechunk=null,n.writecb=null,null!=t&&this.push(t),r(e);var i=this._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}function Ve(e){if(!(this instanceof Ve))return new Ve(e);ze.call(this,e),this._transformState={afterTransform:$e.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,e&&("function"==typeof e.transform&&(this._transform=e.transform),"function"==typeof e.flush&&(this._flush=e.flush)),this.on("prefinish",Ge)}function Ge(){var e=this;"function"!=typeof this._flush||this._readableState.destroyed?Ke(this,null,null):this._flush(function(t,n){Ke(e,t,n)})}function Ke(e,t,n){if(t)return e.emit("error",t);if(null!=n&&e.push(n),e._writableState.length)throw new We;if(e._transformState.transforming)throw new Fe;return e.push(null)}Be(Ve,ze),Ve.prototype.push=function(e,t){return this._transformState.needTransform=!1,ze.prototype.push.call(this,e,t)},Ve.prototype._transform=function(e,t,n){n(new De("_transform()"))},Ve.prototype._write=function(e,t,n){var r=this._transformState;if(r.writecb=n,r.writechunk=e,r.writeencoding=t,!r.transforming){var i=this._readableState;(r.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}},Ve.prototype._read=function(e){var t=this._transformState;null===t.writechunk||t.transforming?t.needTransform=!0:(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform))},Ve.prototype._destroy=function(e,t){ze.prototype._destroy.call(this,e,function(e){t(e)})};var Ye,Je=Xe;function Xe(e){if(!(this instanceof Xe))return new Xe(e);He.call(this,e)}Be(Xe,He),Xe.prototype._transform=function(e,t,n){n(null,e)};var Ze=Se.codes,Qe=Ze.ERR_MISSING_ARGS,et=Ze.ERR_STREAM_DESTROYED;function tt(e){if(e)throw e}function nt(e){e()}function rt(e,t){return e.pipe(t)}var it={};(it=it=s({})).Stream=it,it.Readable=it,it.Writable=u({}),it.Duplex=c({}),it.Transform=He,it.PassThrough=Je,it.finished=a({}),it.pipeline=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var r,i=function(e){return e.length?"function"!=typeof e[e.length-1]?tt:e.pop():tt}(t);if(Array.isArray(t[0])&&(t=t[0]),t.length<2)throw new Qe("streams");var s=t.map(function(e,n){var o=n<t.length-1;return function(e,t,n,r){r=function(e){var t=!1;return function(){t||(t=!0,e.apply(void 0,arguments))}}(r);var i=!1;e.on("close",function(){i=!0}),void 0===Ye&&(Ye=a({})),Ye(e,{readable:t,writable:n},function(e){if(e)return r(e);i=!0,r()});var s=!1;return function(t){if(!i&&!s)return s=!0,function(e){return e.setHeader&&"function"==typeof e.abort}(e)?e.abort():"function"==typeof e.destroy?e.destroy():void r(t||new et("pipe"))}}(e,o,n>0,function(e){r||(r=e),e&&s.forEach(nt),o||(s.forEach(nt),i(r))})});return t.reduce(rt)};var st={};(function(e){const{Transform:t}=it;st=class extends t{constructor(e,t={}){super(t),"object"==typeof e&&(e=(t=e).size),this.size=e||512;const{nopad:n,zeroPadding:r=!0}=t;this._zeroPadding=!n&&!!r,this._buffered=[],this._bufferedBytes=0}_transform(t,n,r){for(this._bufferedBytes+=t.length,this._buffered.push(t);this._bufferedBytes>=this.size;){const t=e.concat(this._buffered);this._bufferedBytes-=this.size,this.push(t.slice(0,this.size)),this._buffered=[t.slice(this.size,t.length)]}r()}_flush(){if(this._bufferedBytes&&this._zeroPadding){const t=e.alloc(this.size-this._bufferedBytes);this._buffered.push(t),this.push(e.concat(this._buffered)),this._buffered=null}else this._bufferedBytes&&(this.push(e.concat(this._buffered)),this._buffered=null);this.push(null)}}}).call(this,d({}).Buffer);for(var ot=i({}),at=Math.pow(2,10),ht=13,ct=[];ht++<22;)ct.push(Math.pow(2,ht));var ut={};(function(e){function t(e,t){for(var n=0,r=e.length-1;r>=0;r--){var i=e[r];"."===i?e.splice(r,1):".."===i?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n--;n)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var n=[],r=0;r<e.length;r++)t(e[r],r,e)&&n.push(e[r]);return n}ut.normalize=function(e){var i=ut.isAbsolute(e),s="/"===r(e,-1);return(e=t(n(e.split("/"),function(e){return!!e}),!i).join("/"))||i||(e="."),e&&s&&(e+="/"),(i?"/":"")+e},ut.isAbsolute=function(e){return"/"===e.charAt(0)},ut.join=function(){var e=Array.prototype.slice.call(arguments,0);return ut.normalize(n(e,function(e,t){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},ut.sep="/",ut.dirname=function(e){if("string"!=typeof e&&(e+=""),0===e.length)return".";for(var t=e.charCodeAt(0),n=47===t,r=-1,i=!0,s=e.length-1;s>=1;--s)if(47===(t=e.charCodeAt(s))){if(!i){r=s;break}}else i=!1;return-1===r?n?"/":".":n&&1===r?"/":e.slice(0,r)},ut.basename=function(e,t){var n=function(e){"string"!=typeof e&&(e+="");var t,n=0,r=-1,i=!0;for(t=e.length-1;t>=0;--t)if(47===e.charCodeAt(t)){if(!i){n=t+1;break}}else-1===r&&(i=!1,r=t+1);return-1===r?"":e.slice(n,r)}(e);return t&&n.substr(-1*t.length)===t&&(n=n.substr(0,n.length-t.length)),n},ut.extname=function(e){"string"!=typeof e&&(e+="");for(var t=-1,n=0,r=-1,i=!0,s=0,o=e.length-1;o>=0;--o){var a=e.charCodeAt(o);if(47!==a)-1===r&&(i=!1,r=o+1),46===a?-1===t?t=o:1!==s&&(s=1):-1!==t&&(s=-1);else if(!i){n=o+1;break}}return-1===t||-1===r||0===s||1===s&&t===r-1&&t===n+1?"":e.slice(t,r)};var r="b"==="ab".substr(-1)?function(e,t,n){return e.substr(t,n)}:function(e,t,n){return t<0&&(t=e.length+t),e.substr(t,n)}}).call(this,ue);var dt;dt=pt,pt.strict=gt,pt.loose=mt;var lt=Object.prototype.toString,ft={"[object Int8Array]":!0,"[object Int16Array]":!0,"[object Int32Array]":!0,"[object Uint8Array]":!0,"[object Uint8ClampedArray]":!0,"[object Uint16Array]":!0,"[object Uint32Array]":!0,"[object Float32Array]":!0,"[object Float64Array]":!0};function pt(e){return gt(e)||mt(e)}function gt(e){return e instanceof Int8Array||e instanceof Int16Array||e instanceof Int32Array||e instanceof Uint8Array||e instanceof Uint8ClampedArray||e instanceof Uint16Array||e instanceof Uint32Array||e instanceof Float32Array||e instanceof Float64Array}function mt(e){return ft[lt.call(e)]}var _t={};(function(e){var t=dt.strict;_t=function(n){if(t(n)){var r=e.from(n.buffer);return n.byteLength!==n.buffer.byteLength&&(r=r.slice(n.byteOffset,n.byteOffset+n.byteLength)),r}return e.from(n)}}).call(this,d({}).Buffer);const{Readable:yt}=it;var bt=class extends yt{constructor(e,t={}){super(t),this._offset=0,this._ready=!1,this._file=e,this._size=e.size,this._chunkSize=t.chunkSize||Math.max(this._size/1e3,204800);const n=new FileReader;n.onload=(()=>{this.push(_t(n.result))}),n.onerror=(()=>{this.emit("error",n.error)}),this.reader=n,this._generateHeaderBlocks(e,t,(e,t)=>{if(e)return this.emit("error",e);Array.isArray(t)&&t.forEach(e=>this.push(e)),this._ready=!0,this.emit("_ready")})}_generateHeaderBlocks(e,t,n){n(null,[])}_read(){if(!this._ready)return void this.once("_ready",this._read.bind(this));const e=this._offset;let t=this._offset+this._chunkSize;if(t>this._size&&(t=this._size),e===this._size)return this.destroy(),void this.push(null);this.reader.readAsArrayBuffer(this._file.slice(e,t)),this._offset=t}destroy(){if(this._file=null,this.reader){this.reader.onload=null,this.reader.onerror=null;try{this.reader.abort()}catch(e){}}this.reader=null}},wt={},vt={};function Et(e){return wt.existsSync(e)&&wt.statSync(e).isFile()}(vt=function(e,t){if(!t)return Et(e);wt.stat(e,function(e,n){return e?t(e):t(null,n.isFile())})}).sync=Et;var kt={};kt.regex=new RegExp(["^npm-debug\\.log$","^\\..*\\.swp$","^\\.DS_Store$","^\\.AppleDouble$","^\\.LSOverride$","^Icon\\r$","^\\._.*","^\\.Spotlight-V100(?:$|\\/)","\\.Trashes","^__MACOSX$","~$","^Thumbs\\.db$","^ehthumbs\\.db$","^Desktop\\.ini$","@eaDir$"].join("|")),kt.is=(e=>kt.regex.test(e)),kt.not=(e=>!kt.is(e));var St={};function Ct(e){return Tt(e,{objectMode:!0,highWaterMark:16})}function xt(e){return Tt(e)}function Tt(e,t){if(!e||"function"==typeof e||e._readableState)return e;var n=new it.Readable(t).wrap(e);return e.destroy&&(n.destroy=e.destroy.bind(e)),n}class It extends it.Readable{constructor(e,t){super(t),this.destroyed=!1,this._drained=!1,this._forwarding=!1,this._current=null,this._toStreams2=t&&t.objectMode?Ct:xt,"function"==typeof e?this._queue=e:(this._queue=e.map(this._toStreams2),this._queue.forEach(e=>{"function"!=typeof e&&this._attachErrorListener(e)})),this._next()}_read(){this._drained=!0,this._forward()}_forward(){if(!this._forwarding&&this._drained&&this._current){var e;for(this._forwarding=!0;null!==(e=this._current.read())&&this._drained;)this._drained=this.push(e);this._forwarding=!1}}destroy(e){this.destroyed||(this.destroyed=!0,this._current&&this._current.destroy&&this._current.destroy(),"function"!=typeof this._queue&&this._queue.forEach(e=>{e.destroy&&e.destroy()}),e&&this.emit("error",e),this.emit("close"))}_next(){if(this._current=null,"function"==typeof this._queue)this._queue((e,t)=>{if(e)return this.destroy(e);t=this._toStreams2(t),this._attachErrorListener(t),this._gotNextStream(t)});else{var e=this._queue.shift();"function"==typeof e&&(e=this._toStreams2(e()),this._attachErrorListener(e)),this._gotNextStream(e)}}_gotNextStream(e){if(!e)return this.push(null),void this.destroy();this._current=e,this._forward();const t=()=>{this._forward()},n=()=>{e._readableState.ended||this.destroy()},r=()=>{this._current=null,e.removeListener("readable",t),e.removeListener("end",r),e.removeListener("close",n),this._next()};e.on("readable",t),e.once("end",r),e.once("close",n)}_attachErrorListener(e){if(!e)return;const t=n=>{e.removeListener("error",t),this.destroy(n)};e.once("error",t)}}It.obj=(e=>new It(e,{objectMode:!0,highWaterMark:16})),St=It;var At=function e(t,n){if(t&&n)return e(t)(n);if("function"!=typeof t)throw new TypeError("need wrapper function");return Object.keys(t).forEach(function(e){r[e]=t[e]}),r;function r(){for(var e=new Array(arguments.length),n=0;n<e.length;n++)e[n]=arguments[n];var r=t.apply(this,e),i=e[e.length-1];return"function"==typeof r&&r!==i&&Object.keys(i).forEach(function(e){r[e]=i[e]}),r}},Rt={};function Bt(e){var t=function(){return t.called?t.value:(t.called=!0,t.value=e.apply(this,arguments))};return t.called=!1,t}function Lt(e){var t=function(){if(t.called)throw new Error(t.onceError);return t.called=!0,t.value=e.apply(this,arguments)},n=e.name||"Function wrapped with `once`";return t.onceError=n+" shouldn't be called more than once",t.called=!1,t}(Rt=At(Bt)).strict=At(Lt),Bt.proto=Bt(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return Bt(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return Lt(this)},configurable:!0})});var Ut={};(function(e){Ut=function(t,n){var r,i,s,o=!0;function a(t){function i(){n&&n(t,r),n=null}o?e.nextTick(i):i()}function h(e,t,n){r[e]=n,(0==--i||t)&&a(t)}Array.isArray(t)?(r=[],i=t.length):(s=Object.keys(t),r={},i=s.length),i?s?s.forEach(function(e){t[e](function(t,n){h(e,t,n)})}):t.forEach(function(e,t){e(function(e,n){h(t,e,n)})}):a(null),o=!1}}).call(this,ue);var Ot,Mt,Pt={exports:{}};Ot="undefined"!=typeof self?self:this,Mt=function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=3)}([function(e,t,n){var r=n(5),i=n(1),s=i.toHex,o=i.ceilHeapSize,a=n(6),h=function(e){for(e+=9;e%64>0;e+=1);return e},c=function(e,t){var n=new Int32Array(e,t+320,5),r=new Int32Array(5),i=new DataView(r.buffer);return i.setInt32(0,n[0],!1),i.setInt32(4,n[1],!1),i.setInt32(8,n[2],!1),i.setInt32(12,n[3],!1),i.setInt32(16,n[4],!1),r},u=function(){function e(t){if(function(t,n){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this),(t=t||65536)%64>0)throw new Error("Chunk size must be a multiple of 128 bit");this._offset=0,this._maxChunkLen=t,this._padMaxChunkLen=h(t),this._heap=new ArrayBuffer(o(this._padMaxChunkLen+320+20)),this._h32=new Int32Array(this._heap),this._h8=new Int8Array(this._heap),this._core=new r({Int32Array:Int32Array},{},this._heap)}return e.prototype._initState=function(e,t){this._offset=0;var n=new Int32Array(e,t+320,5);n[0]=1732584193,n[1]=-271733879,n[2]=-1732584194,n[3]=271733878,n[4]=-1009589776},e.prototype._padChunk=function(e,t){var n=h(e),r=new Int32Array(this._heap,0,n>>2);return function(e,t){var n=new Uint8Array(e.buffer),r=t%4,i=t-r;switch(r){case 0:n[i+3]=0;case 1:n[i+2]=0;case 2:n[i+1]=0;case 3:n[i+0]=0}for(var s=1+(t>>2);s<e.length;s++)e[s]=0}(r,e),function(e,t,n){e[t>>2]|=128<<24-(t%4<<3),e[14+(2+(t>>2)&-16)]=n/(1<<29)|0,e[15+(2+(t>>2)&-16)]=n<<3}(r,e,t),n},e.prototype._write=function(e,t,n,r){a(e,this._h8,this._h32,t,n,r||0)},e.prototype._coreCall=function(e,t,n,r,i){var s=n;this._write(e,t,n),i&&(s=this._padChunk(n,r)),this._core.hash(s,this._padMaxChunkLen)},e.prototype.rawDigest=function(e){var t=e.byteLength||e.length||e.size||0;this._initState(this._heap,this._padMaxChunkLen);var n=0,r=this._maxChunkLen;for(n=0;t>n+r;n+=r)this._coreCall(e,n,r,t,!1);return this._coreCall(e,n,t-n,t,!0),c(this._heap,this._padMaxChunkLen)},e.prototype.digest=function(e){return s(this.rawDigest(e).buffer)},e.prototype.digestFromString=function(e){return this.digest(e)},e.prototype.digestFromBuffer=function(e){return this.digest(e)},e.prototype.digestFromArrayBuffer=function(e){return this.digest(e)},e.prototype.resetState=function(){return this._initState(this._heap,this._padMaxChunkLen),this},e.prototype.append=function(e){var t=0,n=e.byteLength||e.length||e.size||0,r=this._offset%this._maxChunkLen,i=void 0;for(this._offset+=n;t<n;)i=Math.min(n-t,this._maxChunkLen-r),this._write(e,t,i,r),t+=i,(r+=i)===this._maxChunkLen&&(this._core.hash(this._maxChunkLen,this._padMaxChunkLen),r=0);return this},e.prototype.getState=function(){var e=void 0;if(this._offset%this._maxChunkLen)e=this._heap.slice(0);else{var t=new Int32Array(this._heap,this._padMaxChunkLen+320,5);e=t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength)}return{offset:this._offset,heap:e}},e.prototype.setState=function(e){return this._offset=e.offset,20===e.heap.byteLength?new Int32Array(this._heap,this._padMaxChunkLen+320,5).set(new Int32Array(e.heap)):this._h32.set(new Int32Array(e.heap)),this},e.prototype.rawEnd=function(){var e=this._offset,t=e%this._maxChunkLen,n=this._padChunk(t,e);this._core.hash(n,this._padMaxChunkLen);var r=c(this._heap,this._padMaxChunkLen);return this._initState(this._heap,this._padMaxChunkLen),r},e.prototype.end=function(){return s(this.rawEnd().buffer)},e}();e.exports=u,e.exports._core=r},function(e,t){for(var n=new Array(256),r=0;r<256;r++)n[r]=(r<16?"0":"")+r.toString(16);e.exports.toHex=function(e){for(var t=new Uint8Array(e),r=new Array(e.byteLength),i=0;i<r.length;i++)r[i]=n[t[i]];return r.join("")},e.exports.ceilHeapSize=function(e){var t=0;if(e<=65536)return 65536;if(e<16777216)for(t=1;t<e;t<<=1);else for(t=16777216;t<e;t+=16777216);return t},e.exports.isDedicatedWorkerScope=function(e){var t="WorkerGlobalScope"in e&&e instanceof e.WorkerGlobalScope,n="SharedWorkerGlobalScope"in e&&e instanceof e.SharedWorkerGlobalScope,r="ServiceWorkerGlobalScope"in e&&e instanceof e.ServiceWorkerGlobalScope;return t&&!n&&!r}},function(e,t,n){e.exports=function(){var e=n(0),t=function(e,n,r,i,s){var o=new self.FileReader;o.onloadend=function(){if(o.error)return s(o.error);var a=o.result;n+=o.result.byteLength;try{e.append(a)}catch(h){return void s(h)}n<i.size?t(e,n,r,i,s):s(null,e.end())},o.readAsArrayBuffer(i.slice(n,n+r))},r=!0;return self.onmessage=function(n){if(r){var i=n.data.data,s=n.data.file,o=n.data.id;if(void 0!==o&&(s||i)){var a=n.data.blockSize||4194304,h=new e(a);h.resetState();var c=function(e,t){e?self.postMessage({id:o,error:e.name}):self.postMessage({id:o,hash:t})};i&&function(e,t,n){try{n(null,e.digest(t))}catch(r){return n(r)}}(h,i,c),s&&t(h,0,a,s,c)}}},function(){r=!1}}},function(e,t,n){var r=n(4),i=n(0),s=n(7),o=n(2),a=n(1).isDedicatedWorkerScope,h="undefined"!=typeof self&&a(self);i.disableWorkerBehaviour=h?o():function(){},i.createWorker=function(){var e=r(2),t=e.terminate;return e.terminate=function(){URL.revokeObjectURL(e.objectURL),t.call(e)},e},i.createHash=s,e.exports=i},function(e,t,n){function r(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=e,n.c=t,n.i=function(e){return e},n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},n.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/",n.oe=function(e){throw console.error(e),e};var r=n(n.s=ENTRY_MODULE);return r.default||r}var i="[\\.|\\-|\\+|\\w|/|@]+",s="\\((/\\*.*?\\*/)?s?.*?("+i+").*?\\)";function o(e){return(e+"").replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}function a(e,t,r){var a={};a[r]=[];var h=t.toString(),c=h.match(/^function\s?\(\w+,\s*\w+,\s*(\w+)\)/);if(!c)return a;for(var u,d=c[1],l=new RegExp("(\\\\n|\\W)"+o(d)+s,"g");u=l.exec(h);)"dll-reference"!==u[3]&&a[r].push(u[3]);for(l=new RegExp("\\("+o(d)+'\\("(dll-reference\\s('+i+'))"\\)\\)'+s,"g");u=l.exec(h);)e[u[2]]||(a[r].push(u[1]),e[u[2]]=n(u[1]).m),a[u[2]]=a[u[2]]||[],a[u[2]].push(u[4]);return a}function h(e){return Object.keys(e).reduce(function(t,n){return t||e[n].length>0},!1)}e.exports=function(e,t){t=t||{};var i={main:n.m},s=t.all?{main:Object.keys(i)}:function(e,t){for(var n={main:[t]},r={main:[]},i={main:{}};h(n);)for(var s=Object.keys(n),o=0;o<s.length;o++){var c=s[o],u=n[c].pop();if(i[c]=i[c]||{},!i[c][u]&&e[c][u]){i[c][u]=!0,r[c]=r[c]||[],r[c].push(u);for(var d=a(e,e[c][u],c),l=Object.keys(d),f=0;f<l.length;f++)n[l[f]]=n[l[f]]||[],n[l[f]]=n[l[f]].concat(d[l[f]])}}return r}(i,e),o="";Object.keys(s).filter(function(e){return"main"!==e}).forEach(function(e){for(var t=0;s[e][t];)t++;s[e].push(t),i[e][t]="(function(module, exports, __webpack_require__) { module.exports = __webpack_require__; })",o=o+"var "+e+" = ("+r.toString().replace("ENTRY_MODULE",JSON.stringify(t))+")({"+s[e].map(function(t){return JSON.stringify(t)+": "+i[e][t].toString()}).join(",")+"});\n"}),o=o+"("+r.toString().replace("ENTRY_MODULE",JSON.stringify(e))+")({"+s.main.map(function(e){return JSON.stringify(e)+": "+i.main[e].toString()}).join(",")+"})(self);";var c=new window.Blob([o],{type:"text/javascript"});if(t.bare)return c;var u=(window.URL||window.webkitURL||window.mozURL||window.msURL).createObjectURL(c),d=new window.Worker(u);return d.objectURL=u,d}},function(e,t){e.exports=function(e,t,n){"use asm";var r=new e.Int32Array(n);function i(e,t){e=e|0;t=t|0;var n=0,i=0,s=0,o=0,a=0,h=0,c=0,u=0,d=0,l=0,f=0,p=0,g=0,m=0;s=r[t+320>>2]|0;a=r[t+324>>2]|0;c=r[t+328>>2]|0;d=r[t+332>>2]|0;f=r[t+336>>2]|0;for(n=0;(n|0)<(e|0);n=n+64|0){o=s;h=a;u=c;l=d;p=f;for(i=0;(i|0)<64;i=i+4|0){m=r[n+i>>2]|0;g=((s<<5|s>>>27)+(a&c|~a&d)|0)+((m+f|0)+1518500249|0)|0;f=d;d=c;c=a<<30|a>>>2;a=s;s=g;r[e+i>>2]=m}for(i=e+64|0;(i|0)<(e+80|0);i=i+4|0){m=(r[i-12>>2]^r[i-32>>2]^r[i-56>>2]^r[i-64>>2])<<1|(r[i-12>>2]^r[i-32>>2]^r[i-56>>2]^r[i-64>>2])>>>31;g=((s<<5|s>>>27)+(a&c|~a&d)|0)+((m+f|0)+1518500249|0)|0;f=d;d=c;c=a<<30|a>>>2;a=s;s=g;r[i>>2]=m}for(i=e+80|0;(i|0)<(e+160|0);i=i+4|0){m=(r[i-12>>2]^r[i-32>>2]^r[i-56>>2]^r[i-64>>2])<<1|(r[i-12>>2]^r[i-32>>2]^r[i-56>>2]^r[i-64>>2])>>>31;g=((s<<5|s>>>27)+(a^c^d)|0)+((m+f|0)+1859775393|0)|0;f=d;d=c;c=a<<30|a>>>2;a=s;s=g;r[i>>2]=m}for(i=e+160|0;(i|0)<(e+240|0);i=i+4|0){m=(r[i-12>>2]^r[i-32>>2]^r[i-56>>2]^r[i-64>>2])<<1|(r[i-12>>2]^r[i-32>>2]^r[i-56>>2]^r[i-64>>2])>>>31;g=((s<<5|s>>>27)+(a&c|a&d|c&d)|0)+((m+f|0)-1894007588|0)|0;f=d;d=c;c=a<<30|a>>>2;a=s;s=g;r[i>>2]=m}for(i=e+240|0;(i|0)<(e+320|0);i=i+4|0){m=(r[i-12>>2]^r[i-32>>2]^r[i-56>>2]^r[i-64>>2])<<1|(r[i-12>>2]^r[i-32>>2]^r[i-56>>2]^r[i-64>>2])>>>31;g=((s<<5|s>>>27)+(a^c^d)|0)+((m+f|0)-899497514|0)|0;f=d;d=c;c=a<<30|a>>>2;a=s;s=g;r[i>>2]=m}s=s+o|0;a=a+h|0;c=c+u|0;d=d+l|0;f=f+p|0}r[t+320>>2]=s;r[t+324>>2]=a;r[t+328>>2]=c;r[t+332>>2]=d;r[t+336>>2]=f}return{hash:i}}},function(e,t){var n=this,r=void 0;"undefined"!=typeof self&&void 0!==self.FileReaderSync&&(r=new self.FileReaderSync);var i=function(e,t,n,r,i,s){var o=void 0,a=s%4,h=(i+a)%4,c=i-h;switch(a){case 0:t[s]=e[r+3];case 1:t[s+1-(a<<1)|0]=e[r+2];case 2:t[s+2-(a<<1)|0]=e[r+1];case 3:t[s+3-(a<<1)|0]=e[r]}if(!(i<h+(4-a))){for(o=4-a;o<c;o=o+4|0)n[s+o>>2|0]=e[r+o]<<24|e[r+o+1]<<16|e[r+o+2]<<8|e[r+o+3];switch(h){case 3:t[s+c+1|0]=e[r+c+2];case 2:t[s+c+2|0]=e[r+c+1];case 1:t[s+c+3|0]=e[r+c]}}};e.exports=function(e,t,s,o,a,h){if("string"==typeof e)return function(e,t,n,r,i,s){var o=void 0,a=s%4,h=(i+a)%4,c=i-h;switch(a){case 0:t[s]=e.charCodeAt(r+3);case 1:t[s+1-(a<<1)|0]=e.charCodeAt(r+2);case 2:t[s+2-(a<<1)|0]=e.charCodeAt(r+1);case 3:t[s+3-(a<<1)|0]=e.charCodeAt(r)}if(!(i<h+(4-a))){for(o=4-a;o<c;o=o+4|0)n[s+o>>2]=e.charCodeAt(r+o)<<24|e.charCodeAt(r+o+1)<<16|e.charCodeAt(r+o+2)<<8|e.charCodeAt(r+o+3);switch(h){case 3:t[s+c+1|0]=e.charCodeAt(r+c+2);case 2:t[s+c+2|0]=e.charCodeAt(r+c+1);case 1:t[s+c+3|0]=e.charCodeAt(r+c)}}}(e,t,s,o,a,h);if(e instanceof Array)return i(e,t,s,o,a,h);if(n&&n.Buffer&&n.Buffer.isBuffer(e))return i(e,t,s,o,a,h);if(e instanceof ArrayBuffer)return i(new Uint8Array(e),t,s,o,a,h);if(e.buffer instanceof ArrayBuffer)return i(new Uint8Array(e.buffer,e.byteOffset,e.byteLength),t,s,o,a,h);if(e instanceof Blob)return function(e,t,n,i,s,o){var a=void 0,h=o%4,c=(s+h)%4,u=s-c,d=new Uint8Array(r.readAsArrayBuffer(e.slice(i,i+s)));switch(h){case 0:t[o]=d[3];case 1:t[o+1-(h<<1)|0]=d[2];case 2:t[o+2-(h<<1)|0]=d[1];case 3:t[o+3-(h<<1)|0]=d[0]}if(!(s<c+(4-h))){for(a=4-h;a<u;a=a+4|0)n[o+a>>2|0]=d[a]<<24|d[a+1]<<16|d[a+2]<<8|d[a+3];switch(c){case 3:t[o+u+1|0]=d[u+2];case 2:t[o+u+2|0]=d[u+1];case 1:t[o+u+3|0]=d[u]}}}(e,t,s,o,a,h);throw new Error("Unsupported data type.")}},function(e,t,n){var r=n(0),i=n(1).toHex,s=function(){function e(){!function(t,n){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this),this._rusha=new r,this._rusha.resetState()}return e.prototype.update=function(e){return this._rusha.append(e),this},e.prototype.digest=function(e){var t=this._rusha.rawEnd().buffer;if(!e)return t;if("hex"===e)return i(t);throw new Error("unsupported digest encoding")},e}();e.exports=function(){return new s}}])},"object"==typeof Pt.exports?Pt.exports=Mt():"object"==typeof Pt.exports?Pt.exports.Rusha=Mt():Ot.Rusha=Mt(),Pt=Pt.exports;var Nt={},Ht=new Pt,jt="undefined"!=typeof window?window:self,Dt=jt.crypto||jt.msCrypto||{},qt=Dt.subtle||Dt.webkitSubtle;function Ft(e){return Ht.digest(e)}try{qt.digest({name:"sha-1"},new Uint8Array).catch(function(){qt=!1})}catch(_i){qt=!1}(Nt=function(e,t){qt?("string"==typeof e&&(e=function(e){for(var t=e.length,n=new Uint8Array(t),r=0;r<t;r++)n[r]=e.charCodeAt(r);return n}(e)),qt.digest({name:"sha-1"},e).then(function(e){t(function(e){for(var t=e.length,n=[],r=0;r<t;r++){var i=e[r];n.push((i>>>4).toString(16)),n.push((15&i).toString(16))}return n.join("")}(new Uint8Array(e)))},function(n){t(Ft(e))})):setTimeout(t,0,Ft(e))}).sync=Ft;var Wt={};(function(e,t,n){function r(e){return e.reduce((e,t)=>Array.isArray(t)?e.concat(r(t)):e.concat(t),[])}function i(t,i,a){if("undefined"!=typeof FileList&&t instanceof FileList&&(t=Array.from(t)),Array.isArray(t)||(t=[t]),0===t.length)throw new Error("invalid input type");t.forEach(e=>{if(null==e)throw new Error(`invalid input type: ${e}`)}),1!==(t=t.map(e=>h(e)&&"string"==typeof e.path&&"function"==typeof wt.stat?e.path:e)).length||"string"==typeof t[0]||t[0].name||(t[0].name=i.name);let u=null;t.forEach((e,n)=>{if("string"==typeof e)return;let r=e.fullPath||e.name;r||(r=`Unknown File ${n+1}`,e.unknownName=!0),e.path=r.split("/"),e.path[0]||e.path.shift(),e.path.length<2?u=null:0===n&&t.length>1?u=e.path[0]:e.path[0]!==u&&(u=null)}),t=t.filter(e=>{if("string"==typeof e)return!0;const t=e.path[e.path.length-1];return o(t)&&kt.not(t)}),u&&t.forEach(e=>{const t=(n.isBuffer(e)||c(e))&&!e.path;"string"==typeof e||t||e.path.shift()}),!i.name&&u&&(i.name=u),i.name||t.some(e=>"string"==typeof e?(i.name=ut.basename(e),!0):e.unknownName?void 0:(i.name=e.path[e.path.length-1],!0)),i.name||(i.name=`Unnamed Torrent ${Date.now()}`);const d=t.reduce((e,t)=>e+Number("string"==typeof t),0);let l=1===t.length;if(1===t.length&&"string"==typeof t[0]){if("function"!=typeof wt.stat)throw new Error("filesystem paths do not work in the browser");vt(t[0],(e,t)=>{if(e)return a(e);l=t,f()})}else e.nextTick(()=>{f()});function f(){Ut(t.map(e=>t=>{const i={};if(h(e))i.getStream=function(e){return()=>new bt(e)}(e),i.length=e.size;else if(n.isBuffer(e))i.getStream=function(e){return()=>{const t=new it.PassThrough;return t.end(e),t}}(e),i.length=e.length;else{if(!c(e)){if("string"==typeof e){if("function"!=typeof wt.stat)throw new Error("filesystem paths do not work in the browser");return void function(e,t,n){!function e(t,n,r){wt.stat(t,(i,s)=>{if(i)return r(i);s.isDirectory()?wt.readdir(t,(i,s)=>{if(i)return r(i);Ut(s.filter(o).filter(kt.not).map(r=>i=>{e(ut.join(t,r),n,i)}),r)}):s.isFile()&&n(t,r)})}(e,s,(i,s)=>{if(i)return n(i);s=Array.isArray(s)?r(s):[s],e=ut.normalize(e),t&&(e=e.slice(0,e.lastIndexOf(ut.sep)+1)),e[e.length-1]!==ut.sep&&(e+=ut.sep),s.forEach(t=>{t.getStream=function(e){return()=>wt.createReadStream(e)}(t.path),t.path=t.path.replace(e,"").split(ut.sep)}),n(null,s)})}(e,d>1||l,t)}throw new Error("invalid input type")}i.getStream=function(e,t){return()=>{const n=new it.Transform;return n._transform=function(e,n,r){t.length+=e.length,this.push(e),r()},e.pipe(n),n}}(e,i),i.length=0}i.path=e.path,t(null,i)}),(e,t)=>{if(e)return a(e);t=r(t),a(null,t,l)})}}function s(e,t){t=Rt(t),wt.stat(e,(n,r)=>{if(n)return t(n);const i={length:r.size,path:e};t(null,i)})}function o(e){return"."!==e[0]}function a(e,t){return e+t.length}function h(e){return"undefined"!=typeof Blob&&e instanceof Blob}function c(e){return"object"==typeof e&&null!=e&&"function"==typeof e.pipe}(Wt=function(e,r,s){"function"==typeof r&&([r,s]=[s,r]),i(e,r=r?Object.assign({},r):{},(e,i,o)=>{if(e)return s(e);r.singleFileTorrent=o,function(e,r,i){let s=r.announceList;s||("string"==typeof r.announce?s=[[r.announce]]:Array.isArray(r.announce)&&(s=r.announce.map(e=>[e]))),s||(s=[]),t.WEBTORRENT_ANNOUNCE&&("string"==typeof t.WEBTORRENT_ANNOUNCE?s.push([[t.WEBTORRENT_ANNOUNCE]]):Array.isArray(t.WEBTORRENT_ANNOUNCE)&&(s=s.concat(t.WEBTORRENT_ANNOUNCE.map(e=>[e])))),void 0===r.announce&&void 0===r.announceList&&(s=s.concat(Wt.announceList)),"string"==typeof r.urlList&&(r.urlList=[r.urlList]);const o={info:{name:r.name},"creation date":Math.ceil((Number(r.creationDate)||Date.now())/1e3),encoding:"UTF-8"};0!==s.length&&(o.announce=s[0][0],o["announce-list"]=s),void 0!==r.comment&&(o.comment=r.comment),void 0!==r.createdBy&&(o["created by"]=r.createdBy),void 0!==r.private&&(o.info.private=Number(r.private)),void 0!==r.sslCert&&(o.info["ssl-cert"]=r.sslCert),void 0!==r.urlList&&(o["url-list"]=r.urlList);const h=r.pieceLength||(c=e.reduce(a,0),ot(c/at,ct));var c;o.info["piece length"]=h,function(e,t,r){r=Rt(r);const i=[];let s=0;const o=e.map(e=>e.getStream);let a=0,h=0,c=!1;const u=new St(o),d=new st(t,{zeroPadding:!1});function l(e){s+=e.length;const t=h;Nt(e,e=>{i[t]=e,a-=1,m()}),a+=1,h+=1}function f(){c=!0,m()}function p(e){g(),r(e)}function g(){u.removeListener("error",p),d.removeListener("data",l),d.removeListener("end",f),d.removeListener("error",p)}function m(){c&&0===a&&(g(),r(null,n.from(i.join(""),"hex"),s))}u.on("error",p),u.pipe(d).on("data",l).on("end",f).on("error",p)}(e,h,(t,n,s)=>{if(t)return i(t);o.info.pieces=n,e.forEach(e=>{delete e.getStream}),r.singleFileTorrent?o.info.length=s:o.info.files=e,i(null,Q.encode(o))})}(i,r,s)})}).parseInput=function(e,t,n){"function"==typeof t&&([t,n]=[n,t]),i(e,t=t?Object.assign({},t):{},n)},Wt.announceList=[["udp://tracker.leechers-paradise.org:6969"],["udp://tracker.coppersurfer.tk:6969"],["udp://tracker.opentrackr.org:1337"],["udp://explodie.org:6969"],["udp://tracker.empire-js.us:1337"],["wss://tracker.btorrent.xyz"],["wss://tracker.openwebtorrent.com"],["wss://tracker.fastcast.nz"]]}).call(this,ue,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},d({}).Buffer);var zt={};(function(e){zt.log=function(...e){return"object"==typeof console&&console.log&&console.log(...e)},zt.formatArgs=function(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+zt.humanize(this.diff),!this.useColors)return;const t="color: "+this.color;e.splice(1,0,t,"color: inherit");let n=0,r=0;e[0].replace(/%[a-zA-Z%]/g,e=>{"%%"!==e&&(n++,"%c"===e&&(r=n))}),e.splice(r,0,t)},zt.save=function(e){try{e?zt.storage.setItem("debug",e):zt.storage.removeItem("debug")}catch(t){}},zt.load=function(){let t;try{t=zt.storage.getItem("debug")}catch(n){}return!t&&void 0!==e&&"env"in e&&(t=e.env.DEBUG),t},zt.useColors=function(){return!("undefined"==typeof window||!window.process||"renderer"!==window.process.type&&!window.process.__nwjs)||("undefined"==typeof navigator||!navigator.userAgent||!navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))&&("undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))},zt.storage=function(){try{return localStorage}catch(e){}}(),zt.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"],zt=function(e){function t(e){let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n),t|=0;return n.colors[Math.abs(t)%n.colors.length]}function n(e){let r;function o(...e){if(!o.enabled)return;const t=o,i=Number(new Date),s=i-(r||i);t.diff=s,t.prev=r,t.curr=i,r=i,e[0]=n.coerce(e[0]),"string"!=typeof e[0]&&e.unshift("%O");let a=0;e[0]=e[0].replace(/%([a-zA-Z%])/g,(r,i)=>{if("%%"===r)return r;a++;const s=n.formatters[i];if("function"==typeof s){const n=e[a];r=s.call(t,n),e.splice(a,1),a--}return r}),n.formatArgs.call(t,e),(t.log||n.log).apply(t,e)}return o.namespace=e,o.enabled=n.enabled(e),o.useColors=n.useColors(),o.color=t(e),o.destroy=i,o.extend=s,"function"==typeof n.init&&n.init(o),n.instances.push(o),o}function i(){const e=n.instances.indexOf(this);return-1!==e&&(n.instances.splice(e,1),!0)}function s(e,t){const r=n(this.namespace+(void 0===t?":":t)+e);return r.log=this.log,r}function o(e){return e.toString().substring(2,e.toString().length-2).replace(/\.\*\?$/,"*")}return n.debug=n,n.default=n,n.coerce=function(e){return e instanceof Error?e.stack||e.message:e},n.disable=function(){const e=[...n.names.map(o),...n.skips.map(o).map(e=>"-"+e)].join(",");return n.enable(""),e},n.enable=function(e){let t;n.save(e),n.names=[],n.skips=[];const r=("string"==typeof e?e:"").split(/[\s,]+/),i=r.length;for(t=0;t<i;t++)r[t]&&("-"===(e=r[t].replace(/\*/g,".*?"))[0]?n.skips.push(new RegExp("^"+e.substr(1)+"$")):n.names.push(new RegExp("^"+e+"$")));for(t=0;t<n.instances.length;t++){const e=n.instances[t];e.enabled=n.enabled(e.namespace)}},n.enabled=function(e){if("*"===e[e.length-1])return!0;let t,r;for(t=0,r=n.skips.length;t<r;t++)if(n.skips[t].test(e))return!1;for(t=0,r=n.names.length;t<r;t++)if(n.names[t].test(e))return!0;return!1},n.humanize=r({}),Object.keys(e).forEach(t=>{n[t]=e[t]}),n.instances=[],n.names=[],n.skips=[],n.formatters={},n.selectColor=t,n.enable(n.load()),n}(zt);const{formatters:t}=zt;t.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}}).call(this,ue);var $t={};(function(e){$t=function(t,n){if("undefined"==typeof Blob||!(t instanceof Blob))throw new Error("first argument must be a Blob");if("function"!=typeof n)throw new Error("second argument must be a function");var r=new FileReader;r.addEventListener("loadend",function t(i){r.removeEventListener("loadend",t,!1),i.error?n(i.error):n(null,e.from(r.result))},!1),r.readAsArrayBuffer(t)}}).call(this,d({}).Buffer);var Vt={};(function(e){var t;function n(){if(void 0!==t)return t;if(e.XMLHttpRequest){t=new e.XMLHttpRequest;try{t.open("GET",e.XDomainRequest?"/":"https://example.com")}catch(n){t=null}}else t=null;return t}function r(e){var t=n();if(!t)return!1;try{return t.responseType=e,t.responseType===e}catch(r){}return!1}function i(e){return"function"==typeof e}Vt.fetch=i(e.fetch)&&i(e.ReadableStream),Vt.writableStream=i(e.WritableStream),Vt.abortController=i(e.AbortController),Vt.arraybuffer=Vt.fetch||r("arraybuffer"),Vt.msstream=!Vt.fetch&&r("ms-stream"),Vt.mozchunkedarraybuffer=!Vt.fetch&&r("moz-chunked-arraybuffer"),Vt.overrideMimeType=Vt.fetch||!!n()&&i(n().overrideMimeType),t=null}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{});var Gt={};(function(e,t,n){var r=Gt.readyStates={UNSENT:0,OPENED:1,HEADERS_RECEIVED:2,LOADING:3,DONE:4},i=Gt.IncomingMessage=function(r,i,s,o){var a=this;if(it.Readable.call(a),a._mode=s,a.headers={},a.rawHeaders=[],a.trailers={},a.rawTrailers=[],a.on("end",function(){e.nextTick(function(){a.emit("close")})}),"fetch"===s){if(a._fetchResponse=i,a.url=i.url,a.statusCode=i.status,a.statusMessage=i.statusText,i.headers.forEach(function(e,t){a.headers[t.toLowerCase()]=e,a.rawHeaders.push(t,e)}),Vt.writableStream){var h=new WritableStream({write:function(e){return new Promise(function(t,r){a._destroyed?r():a.push(n.from(e))?t():a._resumeFetch=t})},close:function(){t.clearTimeout(o),a._destroyed||a.push(null)},abort:function(e){a._destroyed||a.emit("error",e)}});try{return void i.body.pipeTo(h).catch(function(e){t.clearTimeout(o),a._destroyed||a.emit("error",e)})}catch(l){}}var c=i.body.getReader();!function e(){c.read().then(function(r){if(!a._destroyed){if(r.done)return t.clearTimeout(o),void a.push(null);a.push(n.from(r.value)),e()}}).catch(function(e){t.clearTimeout(o),a._destroyed||a.emit("error",e)})}()}else if(a._xhr=r,a._pos=0,a.url=r.responseURL,a.statusCode=r.status,a.statusMessage=r.statusText,r.getAllResponseHeaders().split(/\r?\n/).forEach(function(e){var t=e.match(/^([^:]+):\s*(.*)/);if(t){var n=t[1].toLowerCase();"set-cookie"===n?(void 0===a.headers[n]&&(a.headers[n]=[]),a.headers[n].push(t[2])):void 0!==a.headers[n]?a.headers[n]+=", "+t[2]:a.headers[n]=t[2],a.rawHeaders.push(t[1],t[2])}}),a._charset="x-user-defined",!Vt.overrideMimeType){var u=a.rawHeaders["mime-type"];if(u){var d=u.match(/;\s*charset=([^;])(;|$)/);d&&(a._charset=d[1].toLowerCase())}a._charset||(a._charset="utf-8")}};Be(i,it.Readable),i.prototype._read=function(){var e=this._resumeFetch;e&&(this._resumeFetch=null,e())},i.prototype._onXHRProgress=function(){var e=this,i=e._xhr,s=null;switch(e._mode){case"text":if((s=i.responseText).length>e._pos){var o=s.substr(e._pos);if("x-user-defined"===e._charset){for(var a=n.alloc(o.length),h=0;h<o.length;h++)a[h]=255&o.charCodeAt(h);e.push(a)}else e.push(o,e._charset);e._pos=s.length}break;case"arraybuffer":if(i.readyState!==r.DONE||!i.response)break;s=i.response,e.push(n.from(new Uint8Array(s)));break;case"moz-chunked-arraybuffer":if(s=i.response,i.readyState!==r.LOADING||!s)break;e.push(n.from(new Uint8Array(s)));break;case"ms-stream":if(s=i.response,i.readyState!==r.LOADING)break;var c=new t.MSStreamReader;c.onprogress=function(){c.result.byteLength>e._pos&&(e.push(n.from(new Uint8Array(c.result.slice(e._pos)))),e._pos=c.result.byteLength)},c.onload=function(){e.push(null)},c.readAsArrayBuffer(s)}e._xhr.readyState===r.DONE&&"ms-stream"!==e._mode&&e.push(null)}}).call(this,ue,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},d({}).Buffer);var Kt={};(function(e,t,n){var r=Gt.IncomingMessage,i=Gt.readyStates,s=Kt=function(e){var t,r=this;it.Writable.call(r),r._opts=e,r._body=[],r._headers={},e.auth&&r.setHeader("Authorization","Basic "+n.from(e.auth).toString("base64")),Object.keys(e.headers).forEach(function(t){r.setHeader(t,e.headers[t])});var i=!0;if("disable-fetch"===e.mode||"requestTimeout"in e&&!Vt.abortController)i=!1,t=!0;else if("prefer-streaming"===e.mode)t=!1;else if("allow-wrong-content-type"===e.mode)t=!Vt.overrideMimeType;else{if(e.mode&&"default"!==e.mode&&"prefer-fast"!==e.mode)throw new Error("Invalid value for opts.mode");t=!0}r._mode=function(e,t){return Vt.fetch&&t?"fetch":Vt.mozchunkedarraybuffer?"moz-chunked-arraybuffer":Vt.msstream?"ms-stream":Vt.arraybuffer&&e?"arraybuffer":"text"}(t,i),r._fetchTimer=null,r.on("finish",function(){r._onFinish()})};Be(s,it.Writable),s.prototype.setHeader=function(e,t){var n=e.toLowerCase();-1===o.indexOf(n)&&(this._headers[n]={name:e,value:t})},s.prototype.getHeader=function(e){var t=this._headers[e.toLowerCase()];return t?t.value:null},s.prototype.removeHeader=function(e){delete this._headers[e.toLowerCase()]},s.prototype._onFinish=function(){var n=this;if(!n._destroyed){var r=n._opts,s=n._headers,o=null;"GET"!==r.method&&"HEAD"!==r.method&&(o=new Blob(n._body,{type:(s["content-type"]||{}).value||""}));var a=[];if(Object.keys(s).forEach(function(e){var t=s[e].name,n=s[e].value;Array.isArray(n)?n.forEach(function(e){a.push([t,e])}):a.push([t,n])}),"fetch"===n._mode){var h=null;if(Vt.abortController){var c=new AbortController;h=c.signal,n._fetchAbortController=c,"requestTimeout"in r&&0!==r.requestTimeout&&(n._fetchTimer=t.setTimeout(function(){n.emit("requestTimeout"),n._fetchAbortController&&n._fetchAbortController.abort()},r.requestTimeout))}t.fetch(n._opts.url,{method:n._opts.method,headers:a,body:o||void 0,mode:"cors",credentials:r.withCredentials?"include":"same-origin",signal:h}).then(function(e){n._fetchResponse=e,n._connect()},function(e){t.clearTimeout(n._fetchTimer),n._destroyed||n.emit("error",e)})}else{var u=n._xhr=new t.XMLHttpRequest;try{u.open(n._opts.method,n._opts.url,!0)}catch(_i){return void e.nextTick(function(){n.emit("error",_i)})}"responseType"in u&&(u.responseType=n._mode),"withCredentials"in u&&(u.withCredentials=!!r.withCredentials),"text"===n._mode&&"overrideMimeType"in u&&u.overrideMimeType("text/plain; charset=x-user-defined"),"requestTimeout"in r&&(u.timeout=r.requestTimeout,u.ontimeout=function(){n.emit("requestTimeout")}),a.forEach(function(e){u.setRequestHeader(e[0],e[1])}),n._response=null,u.onreadystatechange=function(){switch(u.readyState){case i.LOADING:case i.DONE:n._onXHRProgress()}},"moz-chunked-arraybuffer"===n._mode&&(u.onprogress=function(){n._onXHRProgress()}),u.onerror=function(){n._destroyed||n.emit("error",new Error("XHR error"))};try{u.send(o)}catch(_i){return void e.nextTick(function(){n.emit("error",_i)})}}}},s.prototype._onXHRProgress=function(){(function(e){try{var t=e.status;return null!==t&&0!==t}catch(n){return!1}})(this._xhr)&&!this._destroyed&&(this._response||this._connect(),this._response._onXHRProgress())},s.prototype._connect=function(){var e=this;e._destroyed||(e._response=new r(e._xhr,e._fetchResponse,e._mode,e._fetchTimer),e._response.on("error",function(t){e.emit("error",t)}),e.emit("response",e._response))},s.prototype._write=function(e,t,n){this._body.push(e),n()},s.prototype.abort=s.prototype.destroy=function(){this._destroyed=!0,t.clearTimeout(this._fetchTimer),this._response&&(this._response._destroyed=!0),this._xhr?this._xhr.abort():this._fetchAbortController&&this._fetchAbortController.abort()},s.prototype.end=function(e,t,n){"function"==typeof e&&(n=e,e=void 0),it.Writable.prototype.end.call(this,e,t,n)},s.prototype.flushHeaders=function(){},s.prototype.setTimeout=function(){},s.prototype.setNoDelay=function(){},s.prototype.setSocketKeepAlive=function(){};var o=["accept-charset","accept-encoding","access-control-request-headers","access-control-request-method","connection","content-length","cookie","cookie2","date","dnt","expect","host","keep-alive","origin","referer","te","trailer","transfer-encoding","upgrade","via"]}).call(this,ue,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},d({}).Buffer);var Yt=Object.prototype.hasOwnProperty,Jt={100:"Continue",101:"Switching Protocols",102:"Processing",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Unordered Collection",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",509:"Bandwidth Limit Exceeded",510:"Not Extended",511:"Network Authentication Required"},Xt={exports:{}};(function(e){!function(t){var n="object"==typeof Xt.exports&&Xt.exports&&!Xt.exports.nodeType&&Xt.exports,r=Xt&&!Xt.nodeType&&Xt,i="object"==typeof e&&e;i.global!==i&&i.window!==i&&i.self!==i||(t=i);var s,o,a=2147483647,h=36,c=1,u=26,d=38,l=700,f=72,p=128,g="-",m=/^xn--/,_=/[^\x20-\x7E]/,y=/[\x2E\u3002\uFF0E\uFF61]/g,b={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},w=h-c,v=Math.floor,E=String.fromCharCode;function k(e){throw new RangeError(b[e])}function S(e,t){for(var n=e.length,r=[];n--;)r[n]=t(e[n]);return r}function C(e,t){var n=e.split("@"),r="";return n.length>1&&(r=n[0]+"@",e=n[1]),r+S((e=e.replace(y,".")).split("."),t).join(".")}function x(e){for(var t,n,r=[],i=0,s=e.length;i<s;)(t=e.charCodeAt(i++))>=55296&&t<=56319&&i<s?56320==(64512&(n=e.charCodeAt(i++)))?r.push(((1023&t)<<10)+(1023&n)+65536):(r.push(t),i--):r.push(t);return r}function T(e){return S(e,function(e){var t="";return e>65535&&(t+=E((e-=65536)>>>10&1023|55296),e=56320|1023&e),t+E(e)}).join("")}function I(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function A(e,t,n){var r=0;for(e=n?v(e/l):e>>1,e+=v(e/t);e>w*u>>1;r+=h)e=v(e/w);return v(r+(w+1)*e/(e+d))}function R(e){var t,n,r,i,s,o,d,l,m,_,y,b=[],w=e.length,E=0,S=p,C=f;for((n=e.lastIndexOf(g))<0&&(n=0),r=0;r<n;++r)e.charCodeAt(r)>=128&&k("not-basic"),b.push(e.charCodeAt(r));for(i=n>0?n+1:0;i<w;){for(s=E,o=1,d=h;i>=w&&k("invalid-input"),((l=(y=e.charCodeAt(i++))-48<10?y-22:y-65<26?y-65:y-97<26?y-97:h)>=h||l>v((a-E)/o))&&k("overflow"),E+=l*o,!(l<(m=d<=C?c:d>=C+u?u:d-C));d+=h)o>v(a/(_=h-m))&&k("overflow"),o*=_;C=A(E-s,t=b.length+1,0==s),v(E/t)>a-S&&k("overflow"),S+=v(E/t),E%=t,b.splice(E++,0,S)}return T(b)}function B(e){var t,n,r,i,s,o,d,l,m,_,y,b,w,S,C,T=[];for(b=(e=x(e)).length,t=p,n=0,s=f,o=0;o<b;++o)(y=e[o])<128&&T.push(E(y));for(r=i=T.length,i&&T.push(g);r<b;){for(d=a,o=0;o<b;++o)(y=e[o])>=t&&y<d&&(d=y);for(d-t>v((a-n)/(w=r+1))&&k("overflow"),n+=(d-t)*w,t=d,o=0;o<b;++o)if((y=e[o])<t&&++n>a&&k("overflow"),y==t){for(l=n,m=h;!(l<(_=m<=s?c:m>=s+u?u:m-s));m+=h)C=l-_,S=h-_,T.push(E(I(_+C%S,0))),l=v(C/S);T.push(E(I(l,0))),s=A(n,w,r==i),n=0,++r}++n,++t}return T.join("")}if(s={version:"1.4.1",ucs2:{decode:x,encode:T},decode:R,encode:B,toASCII:function(e){return C(e,function(e){return _.test(e)?"xn--"+B(e):e})},toUnicode:function(e){return C(e,function(e){return m.test(e)?R(e.slice(4).toLowerCase()):e})}},n&&r)if(Xt.exports==n)r.exports=s;else for(o in s)s.hasOwnProperty(o)&&(n[o]=s[o]);else t.punycode=s}(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{}),Xt=Xt.exports;var Zt={isString:function(e){return"string"==typeof e},isObject:function(e){return"object"==typeof e&&null!==e},isNull:function(e){return null===e},isNullOrUndefined:function(e){return null==e}};function Qt(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var en=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)},tn=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}},nn=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)};function rn(e,t){if(e.map)return e.map(t);for(var n=[],r=0;r<e.length;r++)n.push(t(e[r],r));return n}var sn=Object.keys||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return t},on={parse:function(e,t,n,r){t=t||"&",n=n||"=";var i={};if("string"!=typeof e||0===e.length)return i;var s=/\+/g;e=e.split(t);var o=1e3;r&&"number"==typeof r.maxKeys&&(o=r.maxKeys);var a=e.length;o>0&&a>o&&(a=o);for(var h=0;h<a;++h){var c,u,d,l,f=e[h].replace(s,"%20"),p=f.indexOf(n);p>=0?(c=f.substr(0,p),u=f.substr(p+1)):(c=f,u=""),d=decodeURIComponent(c),l=decodeURIComponent(u),Qt(i,d)?en(i[d])?i[d].push(l):i[d]=[i[d],l]:i[d]=l}return i},stringify:function(e,t,n,r){return t=t||"&",n=n||"=",null===e&&(e=void 0),"object"==typeof e?rn(sn(e),function(r){var i=encodeURIComponent(tn(r))+n;return nn(e[r])?rn(e[r],function(e){return i+encodeURIComponent(tn(e))}).join(t):i+encodeURIComponent(tn(e[r]))}).join(t):r?encodeURIComponent(tn(r))+n+encodeURIComponent(tn(e)):""}},an={};function hn(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}an.parse=vn;var cn=/^([a-z0-9.+-]+:)/i,un=/:[0-9]*$/,dn=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,ln=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r","\n","\t"]),fn=["'"].concat(ln),pn=["%","/","?",";","#"].concat(fn),gn=["/","?","#"],mn=/^[+a-z0-9A-Z_-]{0,63}$/,_n=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,yn={javascript:!0,"javascript:":!0},bn={javascript:!0,"javascript:":!0},wn={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0};function vn(e,t,n){if(e&&Zt.isObject(e)&&e instanceof hn)return e;var r=new hn;return r.parse(e,t,n),r}hn.prototype.parse=function(e,t,n){if(!Zt.isString(e))throw new TypeError("Parameter 'url' must be a string, not "+typeof e);var r=e.indexOf("?"),i=-1!==r&&r<e.indexOf("#")?"?":"#",s=e.split(i);s[0]=s[0].replace(/\\/g,"/");var o=e=s.join(i);if(o=o.trim(),!n&&1===e.split("#").length){var a=dn.exec(o);if(a)return this.path=o,this.href=o,this.pathname=a[1],a[2]?(this.search=a[2],this.query=t?on.parse(this.search.substr(1)):this.search.substr(1)):t&&(this.search="",this.query={}),this}var h=cn.exec(o);if(h){var c=(h=h[0]).toLowerCase();this.protocol=c,o=o.substr(h.length)}if(n||h||o.match(/^\/\/[^@\/]+@[^@\/]+/)){var u="//"===o.substr(0,2);!u||h&&bn[h]||(o=o.substr(2),this.slashes=!0)}if(!bn[h]&&(u||h&&!wn[h])){for(var d,l,f=-1,p=0;p<gn.length;p++)-1!==(g=o.indexOf(gn[p]))&&(-1===f||g<f)&&(f=g);for(-1!==(l=-1===f?o.lastIndexOf("@"):o.lastIndexOf("@",f))&&(d=o.slice(0,l),o=o.slice(l+1),this.auth=decodeURIComponent(d)),f=-1,p=0;p<pn.length;p++){var g;-1!==(g=o.indexOf(pn[p]))&&(-1===f||g<f)&&(f=g)}-1===f&&(f=o.length),this.host=o.slice(0,f),o=o.slice(f),this.parseHost(),this.hostname=this.hostname||"";var m="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!m)for(var _=this.hostname.split(/\./),y=(p=0,_.length);p<y;p++){var b=_[p];if(b&&!b.match(mn)){for(var w="",v=0,E=b.length;v<E;v++)b.charCodeAt(v)>127?w+="x":w+=b[v];if(!w.match(mn)){var k=_.slice(0,p),S=_.slice(p+1),C=b.match(_n);C&&(k.push(C[1]),S.unshift(C[2])),S.length&&(o="/"+S.join(".")+o),this.hostname=k.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),m||(this.hostname=Xt.toASCII(this.hostname));var x=this.port?":"+this.port:"",T=this.hostname||"";this.host=T+x,this.href+=this.host,m&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==o[0]&&(o="/"+o))}if(!yn[c])for(p=0,y=fn.length;p<y;p++){var I=fn[p];if(-1!==o.indexOf(I)){var A=encodeURIComponent(I);A===I&&(A=escape(I)),o=o.split(I).join(A)}}var R=o.indexOf("#");-1!==R&&(this.hash=o.substr(R),o=o.slice(0,R));var B=o.indexOf("?");if(-1!==B?(this.search=o.substr(B),this.query=o.substr(B+1),t&&(this.query=on.parse(this.query)),o=o.slice(0,B)):t&&(this.search="",this.query={}),o&&(this.pathname=o),wn[c]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){x=this.pathname||"";var L=this.search||"";this.path=x+L}return this.href=this.format(),this},hn.prototype.format=function(){var e=this.auth||"";e&&(e=(e=encodeURIComponent(e)).replace(/%3A/i,":"),e+="@");var t=this.protocol||"",n=this.pathname||"",r=this.hash||"",i=!1,s="";this.host?i=e+this.host:this.hostname&&(i=e+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(i+=":"+this.port)),this.query&&Zt.isObject(this.query)&&Object.keys(this.query).length&&(s=on.stringify(this.query));var o=this.search||s&&"?"+s||"";return t&&":"!==t.substr(-1)&&(t+=":"),this.slashes||(!t||wn[t])&&!1!==i?(i="//"+(i||""),n&&"/"!==n.charAt(0)&&(n="/"+n)):i||(i=""),r&&"#"!==r.charAt(0)&&(r="#"+r),o&&"?"!==o.charAt(0)&&(o="?"+o),t+i+(n=n.replace(/[?#]/g,function(e){return encodeURIComponent(e)}))+(o=o.replace("#","%23"))+r},hn.prototype.resolve=function(e){return this.resolveObject(vn(e,!1,!0)).format()},hn.prototype.resolveObject=function(e){if(Zt.isString(e)){var t=new hn;t.parse(e,!1,!0),e=t}for(var n=new hn,r=Object.keys(this),i=0;i<r.length;i++){var s=r[i];n[s]=this[s]}if(n.hash=e.hash,""===e.href)return n.href=n.format(),n;if(e.slashes&&!e.protocol){for(var o=Object.keys(e),a=0;a<o.length;a++){var h=o[a];"protocol"!==h&&(n[h]=e[h])}return wn[n.protocol]&&n.hostname&&!n.pathname&&(n.path=n.pathname="/"),n.href=n.format(),n}if(e.protocol&&e.protocol!==n.protocol){if(!wn[e.protocol]){for(var c=Object.keys(e),u=0;u<c.length;u++){var d=c[u];n[d]=e[d]}return n.href=n.format(),n}if(n.protocol=e.protocol,e.host||bn[e.protocol])n.pathname=e.pathname;else{for(var l=(e.pathname||"").split("/");l.length&&!(e.host=l.shift()););e.host||(e.host=""),e.hostname||(e.hostname=""),""!==l[0]&&l.unshift(""),l.length<2&&l.unshift(""),n.pathname=l.join("/")}if(n.search=e.search,n.query=e.query,n.host=e.host||"",n.auth=e.auth,n.hostname=e.hostname||e.host,n.port=e.port,n.pathname||n.search){var f=n.pathname||"",p=n.search||"";n.path=f+p}return n.slashes=n.slashes||e.slashes,n.href=n.format(),n}var g=n.pathname&&"/"===n.pathname.charAt(0),m=e.host||e.pathname&&"/"===e.pathname.charAt(0),_=m||g||n.host&&e.pathname,y=_,b=n.pathname&&n.pathname.split("/")||[],w=(l=e.pathname&&e.pathname.split("/")||[],n.protocol&&!wn[n.protocol]);if(w&&(n.hostname="",n.port=null,n.host&&(""===b[0]?b[0]=n.host:b.unshift(n.host)),n.host="",e.protocol&&(e.hostname=null,e.port=null,e.host&&(""===l[0]?l[0]=e.host:l.unshift(e.host)),e.host=null),_=_&&(""===l[0]||""===b[0])),m)n.host=e.host||""===e.host?e.host:n.host,n.hostname=e.hostname||""===e.hostname?e.hostname:n.hostname,n.search=e.search,n.query=e.query,b=l;else if(l.length)b||(b=[]),b.pop(),b=b.concat(l),n.search=e.search,n.query=e.query;else if(!Zt.isNullOrUndefined(e.search))return w&&(n.hostname=n.host=b.shift(),(C=!!(n.host&&n.host.indexOf("@")>0)&&n.host.split("@"))&&(n.auth=C.shift(),n.host=n.hostname=C.shift())),n.search=e.search,n.query=e.query,Zt.isNull(n.pathname)&&Zt.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.href=n.format(),n;if(!b.length)return n.pathname=null,n.search?n.path="/"+n.search:n.path=null,n.href=n.format(),n;for(var v=b.slice(-1)[0],E=(n.host||e.host||b.length>1)&&("."===v||".."===v)||""===v,k=0,S=b.length;S>=0;S--)"."===(v=b[S])?b.splice(S,1):".."===v?(b.splice(S,1),k++):k&&(b.splice(S,1),k--);if(!_&&!y)for(;k--;k)b.unshift("..");!_||""===b[0]||b[0]&&"/"===b[0].charAt(0)||b.unshift(""),E&&"/"!==b.join("/").substr(-1)&&b.push("");var C,x=""===b[0]||b[0]&&"/"===b[0].charAt(0);return w&&(n.hostname=n.host=x?"":b.length?b.shift():"",(C=!!(n.host&&n.host.indexOf("@")>0)&&n.host.split("@"))&&(n.auth=C.shift(),n.host=n.hostname=C.shift())),(_=_||n.host&&b.length)&&!x&&b.unshift(""),b.length?n.pathname=b.join("/"):(n.pathname=null,n.path=null),Zt.isNull(n.pathname)&&Zt.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.auth=e.auth||n.auth,n.slashes=n.slashes||e.slashes,n.href=n.format(),n},hn.prototype.parseHost=function(){var e=this.host,t=un.exec(e);t&&(":"!==(t=t[0])&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)};var En={};(function(e){var t=En;t.request=function(t,n){t="string"==typeof t?an.parse(t):function(){for(var e={},t=0;t<arguments.length;t++){var n=arguments[t];for(var r in n)Yt.call(n,r)&&(e[r]=n[r])}return e}(t);var r=-1===e.location.protocol.search(/^https?:$/)?"http:":"",i=t.protocol||r,s=t.hostname||t.host,o=t.port,a=t.path||"/";s&&-1!==s.indexOf(":")&&(s="["+s+"]"),t.url=(s?i+"//"+s:"")+(o?":"+o:"")+a,t.method=(t.method||"GET").toUpperCase(),t.headers=t.headers||{};var h=new Kt(t);return n&&h.on("response",n),h},t.get=function(e,n){var r=t.request(e,n);return r.end(),r},t.ClientRequest=Kt,t.IncomingMessage=Gt.IncomingMessage,t.Agent=function(){},t.Agent.defaultMaxSockets=4,t.globalAgent=new t.Agent,t.STATUS_CODES=Jt,t.METHODS=["CHECKOUT","CONNECT","COPY","DELETE","GET","HEAD","LOCK","M-SEARCH","MERGE","MKACTIVITY","MKCOL","MOVE","NOTIFY","OPTIONS","PATCH","POST","PROPFIND","PROPPATCH","PURGE","PUT","REPORT","SEARCH","SUBSCRIBE","TRACE","UNLOCK","UNSUBSCRIBE"]}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{});var kn={},Sn=kn;for(var Cn in En)En.hasOwnProperty(Cn)&&(Sn[Cn]=En[Cn]);function xn(e){if("string"==typeof e&&(e=an.parse(e)),e.protocol||(e.protocol="https:"),"https:"!==e.protocol)throw new Error('Protocol "'+e.protocol+'" not supported. Expected "https:"');return e}Sn.request=function(e,t){return e=xn(e),En.request.call(this,e,t)},Sn.get=function(e,t){return e=xn(e),En.get.call(this,e,t)};var Tn={};(function(e){Tn=n;const t=e=>null!==e&&"object"==typeof e&&"function"==typeof e.pipe;function n(r,i){if(r=Object.assign({maxRedirects:10},"string"==typeof r?{url:r}:r),i=Rt(i),r.url){const{hostname:e,port:t,protocol:n,auth:i,path:s}=an.parse(r.url);delete r.url,e||t||n||i?Object.assign(r,{hostname:e,port:t,protocol:n,auth:i,path:s}):r.path=s}const s={"accept-encoding":"gzip, deflate"};let o;r.headers&&Object.keys(r.headers).forEach(e=>s[e.toLowerCase()]=r.headers[e]),r.headers=s,r.body?o=r.json&&!t(r.body)?JSON.stringify(r.body):r.body:r.form&&(o="string"==typeof r.form?r.form:on.stringify(r.form),r.headers["content-type"]="application/x-www-form-urlencoded"),o&&(r.method||(r.method="POST"),t(o)||(r.headers["content-length"]=e.byteLength(o)),r.json&&!r.form&&(r.headers["content-type"]="application/json")),delete r.body,delete r.form,r.json&&(r.headers.accept="application/json"),r.method&&(r.method=r.method.toUpperCase());const a=("https:"===r.protocol?kn:En).request(r,e=>{if(e.statusCode>=300&&e.statusCode<400&&e.headers.location)return r.url=e.headers.location,delete r.headers.host,e.resume(),"POST"===r.method&&[301,302].includes(e.statusCode)&&(r.method="GET",delete r.headers["content-length"],delete r.headers["content-type"]),0==r.maxRedirects--?i(new Error("too many redirects")):n(r,i);const t="function"==typeof ne&&"HEAD"!==r.method;i(null,t?ne(e):e)});return a.on("timeout",()=>{a.abort(),i(new Error("Request timed out"))}),a.on("error",i),t(o)?o.on("error",i).pipe(a):a.end(o),a}n.concat=((e,t)=>n(e,(n,r)=>{if(n)return t(n);N(r,(n,i)=>{if(n)return t(n);if(e.json)try{i=JSON.parse(i.toString())}catch(n){return t(n,r,i)}t(null,r,i)})})),["get","post","put","patch","head","delete"].forEach(e=>{n[e]=((t,r)=>("string"==typeof t&&(t={url:t}),n(Object.assign({method:e.toUpperCase()},t),r)))})}).call(this,d({}).Buffer);var In={};(function(e){"use strict";var t=[255,255,26,27,28,29,30,31,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,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,255,255,255,255,255];In.decode=function(n){var r,i=0,s=0,o=0;e.isBuffer(n)||(n=new e(n));for(var a=new e(Math.ceil(5*n.length/8)),h=0;h<n.length&&61!==n[h];h++){var c=n[h]-48;if(!(c<t.length))throw new Error("Invalid input - it is not base32 encoded string");s=t[c],i<=3?0==(i=(i+5)%8)?(r|=s,a[o]=r,o++,r=0):r|=255&s<<8-i:(r|=255&s>>>(i=(i+5)%8),a[o]=r,o++,r=255&s<<8-i)}return a.slice(0,o)}}).call(this,d({}).Buffer);var An={};In.encode,An.decode=In.decode;var Rn=function(e,t,n){return 0===e.length?e:t?(n||e.sort(t),function(e,t){for(var n=1,r=e.length,i=e[0],s=e[0],o=1;o<r;++o)if(s=i,t(i=e[o],s)){if(o===n){n++;continue}e[n++]=i}return e.length=n,e}(e,t)):(n||e.sort(),function(e){for(var t=1,n=e.length,r=e[0],i=e[0],s=1;s<n;++s,i=r)if(i=r,(r=e[s])!==i){if(s===t){t++;continue}e[t++]=r}return e.length=t,e}(e))},Bn={};(function(e){function t(t){const n={},r=t.split("magnet:?")[1];let i;return(r&&r.length>=0?r.split("&"):[]).forEach(e=>{const t=e.split("=");if(2!==t.length)return;const r=t[0];let i=t[1];if("dn"===r&&(i=decodeURIComponent(i).replace(/\+/g," ")),"tr"!==r&&"xs"!==r&&"as"!==r&&"ws"!==r||(i=decodeURIComponent(i)),"kt"===r&&(i=decodeURIComponent(i).split("+")),"ix"===r&&(i=Number(i)),n[r])if(Array.isArray(n[r]))n[r].push(i);else{const e=n[r];n[r]=[e,i]}else n[r]=i}),n.xt&&(Array.isArray(n.xt)?n.xt:[n.xt]).forEach(t=>{if(i=t.match(/^urn:btih:(.{40})/))n.infoHash=i[1].toLowerCase();else if(i=t.match(/^urn:btih:(.{32})/)){const t=An.decode(i[1]);n.infoHash=e.from(t,"binary").toString("hex")}}),n.infoHash&&(n.infoHashBuffer=e.from(n.infoHash,"hex")),n.dn&&(n.name=n.dn),n.kt&&(n.keywords=n.kt),"string"==typeof n.tr?n.announce=[n.tr]:Array.isArray(n.tr)?n.announce=n.tr:n.announce=[],n.urlList=[],("string"==typeof n.as||Array.isArray(n.as))&&(n.urlList=n.urlList.concat(n.as)),("string"==typeof n.ws||Array.isArray(n.ws))&&(n.urlList=n.urlList.concat(n.ws)),Rn(n.announce),Rn(n.urlList),n}(Bn=t).decode=t,Bn.encode=function(e){(e=Object.assign({},e)).infoHashBuffer&&(e.xt=`urn:btih:${e.infoHashBuffer.toString("hex")}`),e.infoHash&&(e.xt=`urn:btih:${e.infoHash}`),e.name&&(e.dn=e.name),e.keywords&&(e.kt=e.keywords),e.announce&&(e.tr=e.announce),e.urlList&&(e.ws=e.urlList,delete e.as);let t="magnet:?";return Object.keys(e).filter(e=>2===e.length).forEach((n,r)=>{(Array.isArray(e[n])?e[n]:[e[n]]).forEach((e,i)=>{!(r>0||i>0)||"kt"===n&&0!==i||(t+="&"),"dn"===n&&(e=encodeURIComponent(e).replace(/%20/g,"+")),"tr"!==n&&"xs"!==n&&"as"!==n&&"ws"!==n||(e=encodeURIComponent(e)),"kt"===n&&(e=encodeURIComponent(e)),t+="kt"===n&&i>0?`+${e}`:`${n}=${e}`})}),t}}).call(this,d({}).Buffer);var Ln={};(function(e,t){function n(e){if("string"==typeof e&&/^(stream-)?magnet:/.test(e))return Bn(e);if("string"==typeof e&&(/^[a-f0-9]{40}$/i.test(e)||/^[a-z2-7]{32}$/i.test(e)))return Bn(`magnet:?xt=urn:btih:${e}`);if(t.isBuffer(e)&&20===e.length)return Bn(`magnet:?xt=urn:btih:${e.toString("hex")}`);if(t.isBuffer(e))return function(e){t.isBuffer(e)&&(e=Q.decode(e)),i(e.info,"info"),i(e.info["name.utf-8"]||e.info.name,"info.name"),i(e.info["piece length"],"info['piece length']"),i(e.info.pieces,"info.pieces"),e.info.files?e.info.files.forEach(e=>{i("number"==typeof e.length,"info.files[0].length"),i(e["path.utf-8"]||e.path,"info.files[0].path")}):i("number"==typeof e.info.length,"info.length");const n={info:e.info,infoBuffer:Q.encode(e.info),name:(e.info["name.utf-8"]||e.info.name).toString(),announce:[]};n.infoHash=Nt.sync(n.infoBuffer),n.infoHashBuffer=t.from(n.infoHash,"hex"),void 0!==e.info.private&&(n.private=!!e.info.private),e["creation date"]&&(n.created=new Date(1e3*e["creation date"])),e["created by"]&&(n.createdBy=e["created by"].toString()),t.isBuffer(e.comment)&&(n.comment=e.comment.toString()),Array.isArray(e["announce-list"])&&e["announce-list"].length>0?e["announce-list"].forEach(e=>{e.forEach(e=>{n.announce.push(e.toString())})}):e.announce&&n.announce.push(e.announce.toString()),t.isBuffer(e["url-list"])&&(e["url-list"]=e["url-list"].length>0?[e["url-list"]]:[]),n.urlList=(e["url-list"]||[]).map(e=>e.toString()),Rn(n.announce),Rn(n.urlList);const s=e.info.files||[e.info];n.files=s.map((e,t)=>{const i=[].concat(n.name,e["path.utf-8"]||e.path||[]).map(e=>e.toString());return{path:ut.join.apply(null,[ut.sep].concat(i)).slice(1),name:i[i.length-1],length:e.length,offset:s.slice(0,t).reduce(r,0)}}),n.length=s.reduce(r,0);const o=n.files[n.files.length-1];return n.pieceLength=e.info["piece length"],n.lastPieceLength=(o.offset+o.length)%n.pieceLength||n.pieceLength,n.pieces=function(e){const t=[];for(let n=0;n<e.length;n+=20)t.push(e.slice(n,n+20).toString("hex"));return t}(e.info.pieces),n}(e);if(e&&e.infoHash)return e.infoHash=e.infoHash.toLowerCase(),e.announce||(e.announce=[]),"string"==typeof e.announce&&(e.announce=[e.announce]),e.urlList||(e.urlList=[]),e;throw new Error("Invalid torrent identifier")}function r(e,t){return e+t.length}function i(e,t){if(!e)throw new Error(`Torrent is missing required field: ${t}`)}(Ln=n).remote=function(t,r){let i;if("function"!=typeof r)throw new Error("second argument must be a Function");try{i=n(t)}catch(_i){}function s(e){try{i=n(e)}catch(_i){return r(_i)}i&&i.infoHash?r(null,i):r(new Error("Invalid torrent identifier"))}i&&i.infoHash?e.nextTick(()=>{r(null,i)}):"undefined"!=typeof Blob&&t instanceof Blob?$t(t,(e,t)=>{if(e)return r(new Error(`Error converting Blob: ${e.message}`));s(t)}):"function"==typeof Tn&&/^https?:/.test(t)?Tn.concat({url:t,timeout:3e4,headers:{"user-agent":"WebTorrent (https://webtorrent.io)"}},(e,t,n)=>{if(e)return r(new Error(`Error downloading torrent: ${e.message}`));s(n)}):"function"==typeof wt.readFile&&"string"==typeof t?wt.readFile(t,(e,t)=>{if(e)return r(new Error("Invalid torrent identifier"));s(t)}):e.nextTick(()=>{r(new Error("Invalid torrent identifier"))})},Ln.toMagnetURI=Bn.encode,Ln.toTorrentFile=function(e){const n={info:e.info};return n["announce-list"]=(e.announce||[]).map(e=>(n.announce||(n.announce=e),[e=t.from(e,"utf8")])),n["url-list"]=e.urlList||[],void 0!==e.private&&(n.private=Number(e.private)),e.created&&(n["creation date"]=e.created.getTime()/1e3|0),e.createdBy&&(n["created by"]=e.createdBy),e.comment&&(n.comment=e.comment),Q.encode(n)},t.alloc(0)}).call(this,ue,d({}).Buffer);var Un=function(){if("undefined"==typeof window)return null;var e={RTCPeerConnection:window.RTCPeerConnection||window.mozRTCPeerConnection||window.webkitRTCPeerConnection,RTCSessionDescription:window.RTCSessionDescription||window.mozRTCSessionDescription||window.webkitRTCSessionDescription,RTCIceCandidate:window.RTCIceCandidate||window.mozRTCIceCandidate||window.webkitRTCIceCandidate};return e.RTCPeerConnection?e:null},On={};(function(e,t){"use strict";var n=H.Buffer,r=t.crypto||t.msCrypto;On=r&&r.getRandomValues?function(t,i){if(t>4294967295)throw new RangeError("requested too many random bytes");var s=n.allocUnsafe(t);if(t>0)if(t>65536)for(var o=0;o<t;o+=65536)r.getRandomValues(s.slice(o,o+65536));else r.getRandomValues(s);return"function"==typeof i?e.nextTick(function(){i(null,s)}):s}:function(){throw new Error("Secure random number generation is not supported by this browser.\nUse Chrome, Firefox or Internet Explorer 11")}}).call(this,ue,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{});var Mn={};(function(e){Mn=r;var t=zt("simple-peer"),n=5e3;function r(e){var t=this;if(!(t instanceof r))return new r(e);if(t._id=On(4).toString("hex").slice(0,7),t._debug("new peer %o",e),e=Object.assign({allowHalfOpen:!1},e),it.Duplex.call(t,e),t.channelName=e.initiator?e.channelName||On(20).toString("hex"):null,t.initiator=e.initiator||!1,t.channelConfig=e.channelConfig||r.channelConfig,t.config=Object.assign({},r.config,e.config),t.offerOptions=e.offerOptions||{},t.answerOptions=e.answerOptions||{},t.sdpTransform=e.sdpTransform||function(e){return e},t.streams=e.streams||(e.stream?[e.stream]:[]),t.trickle=void 0===e.trickle||e.trickle,t.allowHalfTrickle=void 0!==e.allowHalfTrickle&&e.allowHalfTrickle,t.iceCompleteTimeout=e.iceCompleteTimeout||n,t.destroyed=!1,t._connected=!1,t.remoteAddress=void 0,t.remoteFamily=void 0,t.remotePort=void 0,t.localAddress=void 0,t.localFamily=void 0,t.localPort=void 0,t._wrtc=e.wrtc&&"object"==typeof e.wrtc?e.wrtc:Un(),!t._wrtc)throw"undefined"==typeof window?s("No WebRTC support: Specify `opts.wrtc` option in this environment","ERR_WEBRTC_SUPPORT"):s("No WebRTC support: Not a supported browser","ERR_WEBRTC_SUPPORT");t._pcReady=!1,t._channelReady=!1,t._iceComplete=!1,t._iceCompleteTimer=null,t._channel=null,t._pendingCandidates=[],t._isNegotiating=!t.initiator,t._batchedNegotiation=!1,t._queuedNegotiation=!1,t._sendersAwaitingStable=[],t._senderMap=new Map,t._firstStable=!0,t._closingInterval=null,t._remoteTracks=[],t._remoteStreams=[],t._chunk=null,t._cb=null,t._interval=null;try{t._pc=new t._wrtc.RTCPeerConnection(t.config)}catch(_i){return void setTimeout(()=>t.destroy(_i),0)}t._isReactNativeWebrtc="number"==typeof t._pc._peerConnectionId,t._pc.oniceconnectionstatechange=function(){t._onIceStateChange()},t._pc.onicegatheringstatechange=function(){t._onIceStateChange()},t._pc.onsignalingstatechange=function(){t._onSignalingStateChange()},t._pc.onicecandidate=function(e){t._onIceCandidate(e)},t.initiator?t._setupData({channel:t._pc.createDataChannel(t.channelName,t.channelConfig)}):t._pc.ondatachannel=function(e){t._setupData(e)},t.streams&&t.streams.forEach(function(e){t.addStream(e)}),t._pc.ontrack=function(e){t._onTrack(e)},t.initiator&&t._needsNegotiation(),t._onFinishBound=function(){t._onFinish()},t.once("finish",t._onFinishBound)}function i(e){return e.replace(/a=ice-options:trickle\s\n/g,"")}function s(e,t){var n=new Error(e);return n.code=t,n}Be(r,it.Duplex),r.WEBRTC_SUPPORT=!!Un(),r.config={iceServers:[{urls:"stun:stun.l.google.com:19302"},{urls:"stun:global.stun.twilio.com:3478?transport=udp"}],sdpSemantics:"unified-plan"},r.channelConfig={},Object.defineProperty(r.prototype,"bufferSize",{get:function(){return this._channel&&this._channel.bufferedAmount||0}}),Object.defineProperty(r.prototype,"connected",{get:function(){return this._connected&&"open"===this._channel.readyState}}),r.prototype.address=function(){return{port:this.localPort,family:this.localFamily,address:this.localAddress}},r.prototype.signal=function(e){var t=this;if(t.destroyed)throw s("cannot signal after peer is destroyed","ERR_SIGNALING");if("string"==typeof e)try{e=JSON.parse(e)}catch(_i){e={}}t._debug("signal()"),e.renegotiate&&t.initiator&&(t._debug("got request to renegotiate"),t._needsNegotiation()),e.transceiverRequest&&t.initiator&&(t._debug("got request for transceiver"),t.addTransceiver(e.transceiverRequest.kind,e.transceiverRequest.init)),e.candidate&&(t._pc.localDescription&&t._pc.localDescription.type&&t._pc.remoteDescription&&t._pc.remoteDescription.type?t._addIceCandidate(e.candidate):t._pendingCandidates.push(e.candidate)),e.sdp&&t._pc.setRemoteDescription(new t._wrtc.RTCSessionDescription(e)).then(function(){t.destroyed||(t._pendingCandidates.forEach(function(e){t._addIceCandidate(e)}),t._pendingCandidates=[],"offer"===t._pc.remoteDescription.type&&t._createAnswer())}).catch(function(e){t.destroy(s(e,"ERR_SET_REMOTE_DESCRIPTION"))}),e.sdp||e.candidate||e.renegotiate||e.transceiverRequest||t.destroy(s("signal() called with invalid signal data","ERR_SIGNALING"))},r.prototype._addIceCandidate=function(e){var t=this,n=new t._wrtc.RTCIceCandidate(e);t._pc.addIceCandidate(n).catch(function(e){!n.address||n.address.endsWith(".local")?("Ignoring unsupported ICE candidate.",console.warn("Ignoring unsupported ICE candidate.")):t.destroy(s(e,"ERR_ADD_ICE_CANDIDATE"))})},r.prototype.send=function(e){this._channel.send(e)},r.prototype.addTransceiver=function(e,t){if(this._debug("addTransceiver()"),this.initiator)try{this._pc.addTransceiver(e,t),this._needsNegotiation()}catch(_i){this.destroy(_i)}else this.emit("signal",{transceiverRequest:{kind:e,init:t}})},r.prototype.addStream=function(e){var t=this;t._debug("addStream()"),e.getTracks().forEach(function(n){t.addTrack(n,e)})},r.prototype.addTrack=function(e,t){this._debug("addTrack()");var n=this._senderMap.get(e)||new Map,r=n.get(t);r?r.removed?this.destroy(s("Track has been removed. You should enable/disable tracks that you want to re-add.","ERR_SENDER_REMOVED")):this.destroy(s("Track has already been added to that stream.","ERR_SENDER_ALREADY_ADDED")):(r=this._pc.addTrack(e,t),n.set(t,r),this._senderMap.set(e,n),this._needsNegotiation())},r.prototype.replaceTrack=function(e,t,n){this._debug("replaceTrack()");var r=this._senderMap.get(e),i=r?r.get(n):null;i||this.destroy(s("Cannot replace track that was never added.","ERR_TRACK_NOT_ADDED")),t&&this._senderMap.set(t,r),null!=i.replaceTrack?i.replaceTrack(t):this.destroy(s("replaceTrack is not supported in this browser","ERR_UNSUPPORTED_REPLACETRACK"))},r.prototype.removeTrack=function(e,t){this._debug("removeSender()");var n=this._senderMap.get(e),r=n?n.get(t):null;r||this.destroy(s("Cannot remove track that was never added.","ERR_TRACK_NOT_ADDED"));try{r.removed=!0,this._pc.removeTrack(r)}catch(_i){"NS_ERROR_UNEXPECTED"===_i.name?this._sendersAwaitingStable.push(r):this.destroy(_i)}this._needsNegotiation()},r.prototype.removeStream=function(e){var t=this;t._debug("removeSenders()"),e.getTracks().forEach(function(n){t.removeTrack(n,e)})},r.prototype._needsNegotiation=function(){var e=this;e._debug("_needsNegotiation"),e._batchedNegotiation||(e._batchedNegotiation=!0,setTimeout(function(){e._batchedNegotiation=!1,e._debug("starting batched negotiation"),e.negotiate()},0))},r.prototype.negotiate=function(){var e=this;e.initiator?e._isNegotiating?(e._queuedNegotiation=!0,e._debug("already negotiating, queueing")):(e._debug("start negotiation"),setTimeout(()=>{e._createOffer()},0)):e._isNegotiating||(e._debug("requesting negotiation from initiator"),e.emit("signal",{renegotiate:!0})),e._isNegotiating=!0},r.prototype.destroy=function(e){this._destroy(e,function(){})},r.prototype._destroy=function(e,t){if(!this.destroyed){if(this._debug("destroy (error: %s)",e&&(e.message||e)),this.readable=this.writable=!1,this._readableState.ended||this.push(null),this._writableState.finished||this.end(),this.destroyed=!0,this._connected=!1,this._pcReady=!1,this._channelReady=!1,this._remoteTracks=null,this._remoteStreams=null,this._senderMap=null,clearInterval(this._closingInterval),this._closingInterval=null,clearInterval(this._interval),this._interval=null,this._chunk=null,this._cb=null,this._onFinishBound&&this.removeListener("finish",this._onFinishBound),this._onFinishBound=null,this._channel){try{this._channel.close()}catch(e){}this._channel.onmessage=null,this._channel.onopen=null,this._channel.onclose=null,this._channel.onerror=null}if(this._pc){try{this._pc.close()}catch(e){}this._pc.oniceconnectionstatechange=null,this._pc.onicegatheringstatechange=null,this._pc.onsignalingstatechange=null,this._pc.onicecandidate=null,this._pc.ontrack=null,this._pc.ondatachannel=null}this._pc=null,this._channel=null,e&&this.emit("error",e),this.emit("close"),t()}},r.prototype._setupData=function(e){var t=this;if(!e.channel)return t.destroy(s("Data channel event is missing `channel` property","ERR_DATA_CHANNEL"));t._channel=e.channel,t._channel.binaryType="arraybuffer","number"==typeof t._channel.bufferedAmountLowThreshold&&(t._channel.bufferedAmountLowThreshold=65536),t.channelName=t._channel.label,t._channel.onmessage=function(e){t._onChannelMessage(e)},t._channel.onbufferedamountlow=function(){t._onChannelBufferedAmountLow()},t._channel.onopen=function(){t._onChannelOpen()},t._channel.onclose=function(){t._onChannelClose()},t._channel.onerror=function(e){t.destroy(s(e,"ERR_DATA_CHANNEL"))};var n=!1;t._closingInterval=setInterval(function(){t._channel&&"closing"===t._channel.readyState?(n&&t._onChannelClose(),n=!0):n=!1},5e3)},r.prototype._read=function(){},r.prototype._write=function(e,t,n){if(this.destroyed)return n(s("cannot write after peer is destroyed","ERR_DATA_CHANNEL"));if(this._connected){try{this.send(e)}catch(_i){return this.destroy(s(_i,"ERR_DATA_CHANNEL"))}this._channel.bufferedAmount>65536?(this._debug("start backpressure: bufferedAmount %d",this._channel.bufferedAmount),this._cb=n):n(null)}else this._debug("write before connect"),this._chunk=e,this._cb=n},r.prototype._onFinish=function(){var e=this;function t(){setTimeout(function(){e.destroy()},1e3)}e.destroyed||(e._connected?t():e.once("connect",t))},r.prototype._startIceCompleteTimeout=function(){var e=this;e.destroyed||e._iceCompleteTimer||(e._debug("started iceComplete timeout"),e._iceCompleteTimer=setTimeout(function(){e._iceComplete||(e._iceComplete=!0,e._debug("iceComplete timeout completed"),e.emit("iceTimeout"),e.emit("_iceComplete"))},e.iceCompleteTimeout))},r.prototype._createOffer=function(){var e=this;e.destroyed||e._pc.createOffer(e.offerOptions).then(function(t){function n(){if(!e.destroyed){var n=e._pc.localDescription||t;e._debug("signal"),e.emit("signal",{type:n.type,sdp:n.sdp})}}e.destroyed||(e.trickle||e.allowHalfTrickle||(t.sdp=i(t.sdp)),t.sdp=e.sdpTransform(t.sdp),e._pc.setLocalDescription(t).then(function(){e._debug("createOffer success"),e.destroyed||(e.trickle||e._iceComplete?n():e.once("_iceComplete",n))}).catch(function(t){e.destroy(s(t,"ERR_SET_LOCAL_DESCRIPTION"))}))}).catch(function(t){e.destroy(s(t,"ERR_CREATE_OFFER"))})},r.prototype._requestMissingTransceivers=function(){var e=this;e._pc.getTransceivers&&e._pc.getTransceivers().forEach(t=>{t.mid||!t.sender.track||t.requested||(t.requested=!0,e.addTransceiver(t.sender.track.kind))})},r.prototype._createAnswer=function(){var e=this;e.destroyed||e._pc.createAnswer(e.answerOptions).then(function(t){function n(){if(!e.destroyed){var n=e._pc.localDescription||t;e._debug("signal"),e.emit("signal",{type:n.type,sdp:n.sdp}),e.initiator||e._requestMissingTransceivers()}}e.destroyed||(e.trickle||e.allowHalfTrickle||(t.sdp=i(t.sdp)),t.sdp=e.sdpTransform(t.sdp),e._pc.setLocalDescription(t).then(function(){e.destroyed||(e.trickle||e._iceComplete?n():e.once("_iceComplete",n))}).catch(function(t){e.destroy(s(t,"ERR_SET_LOCAL_DESCRIPTION"))}))}).catch(function(t){e.destroy(s(t,"ERR_CREATE_ANSWER"))})},r.prototype._onIceStateChange=function(){if(!this.destroyed){var e=this._pc.iceConnectionState,t=this._pc.iceGatheringState;this._debug("iceStateChange (connection: %s) (gathering: %s)",e,t),this.emit("iceStateChange",e,t),"connected"!==e&&"completed"!==e||(this._pcReady=!0,this._maybeReady()),"failed"===e&&this.destroy(s("Ice connection failed.","ERR_ICE_CONNECTION_FAILURE")),"closed"===e&&this.destroy(s("Ice connection closed.","ERR_ICE_CONNECTION_CLOSED"))}},r.prototype.getStats=function(e){var t=this;function n(e){return"[object Array]"===Object.prototype.toString.call(e.values)&&e.values.forEach(function(t){Object.assign(e,t)}),e}0===t._pc.getStats.length?t._pc.getStats().then(function(t){var r=[];t.forEach(function(e){r.push(n(e))}),e(null,r)},function(t){e(t)}):t._isReactNativeWebrtc?t._pc.getStats(null,function(t){var r=[];t.forEach(function(e){r.push(n(e))}),e(null,r)},function(t){e(t)}):t._pc.getStats.length>0?t._pc.getStats(function(r){if(!t.destroyed){var i=[];r.result().forEach(function(e){var t={};e.names().forEach(function(n){t[n]=e.stat(n)}),t.id=e.id,t.type=e.type,t.timestamp=e.timestamp,i.push(n(t))}),e(null,i)}},function(t){e(t)}):e(null,[])},r.prototype._maybeReady=function(){var e=this;e._debug("maybeReady pc %s channel %s",e._pcReady,e._channelReady),!e._connected&&!e._connecting&&e._pcReady&&e._channelReady&&(e._connecting=!0,function t(){e.destroyed||e.getStats(function(n,r){if(!e.destroyed){n&&(r=[]);var i={},o={},a={},h=!1;if(r.forEach(function(e){"remotecandidate"!==e.type&&"remote-candidate"!==e.type||(i[e.id]=e),"localcandidate"!==e.type&&"local-candidate"!==e.type||(o[e.id]=e),"candidatepair"!==e.type&&"candidate-pair"!==e.type||(a[e.id]=e)}),r.forEach(function(e){"transport"===e.type&&e.selectedCandidatePairId&&u(a[e.selectedCandidatePairId]),("googCandidatePair"===e.type&&"true"===e.googActiveConnection||("candidatepair"===e.type||"candidate-pair"===e.type)&&e.selected)&&u(e)}),h||Object.keys(a).length&&!Object.keys(o).length){if(e._connecting=!1,e._connected=!0,e._chunk){try{e.send(e._chunk)}catch(n){return e.destroy(s(n,"ERR_DATA_CHANNEL"))}e._chunk=null,e._debug('sent chunk from "write before connect"');var c=e._cb;e._cb=null,c(null)}"number"!=typeof e._channel.bufferedAmountLowThreshold&&(e._interval=setInterval(function(){e._onInterval()},150),e._interval.unref&&e._interval.unref()),e._debug("connect"),e.emit("connect")}else setTimeout(t,100)}function u(t){h=!0;var n=o[t.localCandidateId];n&&(n.ip||n.address)?(e.localAddress=n.ip||n.address,e.localPort=Number(n.port)):n&&n.ipAddress?(e.localAddress=n.ipAddress,e.localPort=Number(n.portNumber)):"string"==typeof t.googLocalAddress&&(n=t.googLocalAddress.split(":"),e.localAddress=n[0],e.localPort=Number(n[1])),e.localAddress&&(e.localFamily=e.localAddress.includes(":")?"IPv6":"IPv4");var r=i[t.remoteCandidateId];r&&(r.ip||r.address)?(e.remoteAddress=r.ip||r.address,e.remotePort=Number(r.port)):r&&r.ipAddress?(e.remoteAddress=r.ipAddress,e.remotePort=Number(r.portNumber)):"string"==typeof t.googRemoteAddress&&(r=t.googRemoteAddress.split(":"),e.remoteAddress=r[0],e.remotePort=Number(r[1])),e.remoteAddress&&(e.remoteFamily=e.remoteAddress.includes(":")?"IPv6":"IPv4"),e._debug("connect local: %s:%s remote: %s:%s",e.localAddress,e.localPort,e.remoteAddress,e.remotePort)}})}())},r.prototype._onInterval=function(){!this._cb||!this._channel||this._channel.bufferedAmount>65536||this._onChannelBufferedAmountLow()},r.prototype._onSignalingStateChange=function(){var e=this;e.destroyed||("stable"!==e._pc.signalingState||e._firstStable||(e._isNegotiating=!1,e._debug("flushing sender queue",e._sendersAwaitingStable),e._sendersAwaitingStable.forEach(function(t){e._pc.removeTrack(t),e._queuedNegotiation=!0}),e._sendersAwaitingStable=[],e._queuedNegotiation&&(e._debug("flushing negotiation queue"),e._queuedNegotiation=!1,e._needsNegotiation()),e._debug("negotiate"),e.emit("negotiate")),e._firstStable=!1,e._debug("signalingStateChange %s",e._pc.signalingState),e.emit("signalingStateChange",e._pc.signalingState))},r.prototype._onIceCandidate=function(e){this.destroyed||(e.candidate&&this.trickle?this.emit("signal",{candidate:{candidate:e.candidate.candidate,sdpMLineIndex:e.candidate.sdpMLineIndex,sdpMid:e.candidate.sdpMid}}):e.candidate||this._iceComplete||(this._iceComplete=!0,this.emit("_iceComplete")),e.candidate&&this._startIceCompleteTimeout())},r.prototype._onChannelMessage=function(t){if(!this.destroyed){var n=t.data;n instanceof ArrayBuffer&&(n=e.from(n)),this.push(n)}},r.prototype._onChannelBufferedAmountLow=function(){if(!this.destroyed&&this._cb){this._debug("ending backpressure: bufferedAmount %d",this._channel.bufferedAmount);var e=this._cb;this._cb=null,e(null)}},r.prototype._onChannelOpen=function(){this._connected||this.destroyed||(this._debug("on channel open"),this._channelReady=!0,this._maybeReady())},r.prototype._onChannelClose=function(){this.destroyed||(this._debug("on channel close"),this.destroy())},r.prototype._onTrack=function(e){var t=this;t.destroyed||e.streams.forEach(function(n){t._debug("on track"),t.emit("track",e.track,n),t._remoteTracks.push({track:e.track,stream:n}),t._remoteStreams.some(function(e){return e.id===n.id})||(t._remoteStreams.push(n),setTimeout(function(){t.emit("stream",n)},0))})},r.prototype._debug=function(){var e=[].slice.call(arguments);e[0]="["+this._id+"] "+e[0],t.apply(null,e)}}).call(this,d({}).Buffer);var Pn,Nn=1,Hn=function(){Nn=Nn+1&65535},jn=function(e){Pn||(Pn=setInterval(Hn,250)).unref&&Pn.unref();var t=4*(e||5),n=[0],r=1,i=Nn-1&65535;return function(e){var s=Nn-i&65535;for(s>t&&(s=t),i=Nn;s--;)r===t&&(r=0),n[r]=n[0===r?t-1:r-1],r++;e&&(n[r-1]+=e);var o=n[r-1],a=n.length<t?0:n[r===t?0:r];return n.length<4?o:4*(o-a)/n.length}},Dn={};const qn=/^\[?([^\]]+)\]?:(\d+)$/;let Fn={},Wn=0;(Dn=function(e){if(1e5===Wn&&Dn.reset(),!Fn[e]){const t=qn.exec(e);if(!t)throw new Error(`invalid addr: ${e}`);Fn[e]=[t[1],Number(t[2])],Wn+=1}return Fn[e]}).reset=function(){Fn={},Wn=0};var zn={exports:{}};function $n(e){let t=e>>3;return e%8!=0&&t++,t}zn.exports=class{constructor(e=0,t){const n=null!=t&&t.grow;this.grow=n&&isFinite(n)&&$n(n)||n||0,this.buffer="number"==typeof e?new Uint8Array($n(e)):e}get(e){const t=e>>3;return t<this.buffer.length&&!!(this.buffer[t]&128>>e%8)}set(e,t=!0){const n=e>>3;if(t){if(this.buffer.length<n+1){const e=Math.max(n+1,Math.min(2*this.buffer.length,this.grow));if(e<=this.grow){const t=new Uint8Array(e);t.set(this.buffer),this.buffer=t}}this.buffer[n]|=128>>e%8}else n<this.buffer.length&&(this.buffer[n]&=~(128>>e%8))}},zn=zn.exports;var Vn=class extends it.Writable{constructor(e,t,n={}){if(super(n),!e||!e.put||!e.get)throw new Error("First argument must be an abstract-chunk-store compliant store");if(!(t=Number(t)))throw new Error("Second argument must be a chunk length");this._blockstream=new st(t,{zeroPadding:!1}),this._outstandingPuts=0;let r=0;this._blockstream.on("data",t=>{this.destroyed||(this._outstandingPuts+=1,e.put(r,t,()=>{this._outstandingPuts-=1,0===this._outstandingPuts&&"function"==typeof this._finalCb&&(this._finalCb(null),this._finalCb=null)}),r+=1)}).on("error",e=>{this.destroy(e)})}_write(e,t,n){this._blockstream.write(e,t,n)}_final(e){this._blockstream.end(),this._blockstream.once("end",()=>{0===this._outstandingPuts?e(null):this._finalCb=e})}destroy(e){this.destroyed||(this.destroyed=!0,e&&this.emit("error",e),this.emit("close"))}},Gn={};(function(e){Gn.DEFAULT_ANNOUNCE_PEERS=50,Gn.binaryToHex=function(t){return"string"!=typeof t&&(t=String(t)),e.from(t,"binary").toString("hex")},Gn.hexToBinary=function(t){return"string"!=typeof t&&(t=String(t)),e.from(t,"hex").toString("binary")},Object.assign(Gn,ne)}).call(this,d({}).Buffer);var Kn={};(function(e,t){const n=zt("simple-websocket"),r="function"!=typeof ne?WebSocket:ne,i=65536;class s extends it.Duplex{constructor(t={}){if("string"==typeof t&&(t={url:t}),super(t=Object.assign({allowHalfOpen:!1},t)),null==t.url&&null==t.socket)throw new Error("Missing required `url` or `socket` option");if(null!=t.url&&null!=t.socket)throw new Error("Must specify either `url` or `socket` option, not both");if(this._id=On(4).toString("hex").slice(0,7),this._debug("new websocket: %o",t),this.connected=!1,this.destroyed=!1,this._chunk=null,this._cb=null,this._interval=null,t.socket)this.url=t.socket.url,this._ws=t.socket;else{this.url=t.url;try{this._ws="function"==typeof ne?new r(t.url,t):new r(t.url)}catch(_i){return void e.nextTick(()=>this.destroy(_i))}}this._ws.binaryType="arraybuffer",this._ws.onopen=(()=>{this._onOpen()}),this._ws.onmessage=(e=>{this._onMessage(e)}),this._ws.onclose=(()=>{this._onClose()}),this._ws.onerror=(()=>{this.destroy(new Error("connection error to "+this.url))}),this._onFinishBound=(()=>{this._onFinish()}),this.once("finish",this._onFinishBound)}send(e){this._ws.send(e)}destroy(e){this._destroy(e,()=>{})}_destroy(e,t){if(!this.destroyed){if(this._debug("destroy (error: %s)",e&&(e.message||e)),this.readable=this.writable=!1,this._readableState.ended||this.push(null),this._writableState.finished||this.end(),this.connected=!1,this.destroyed=!0,clearInterval(this._interval),this._interval=null,this._chunk=null,this._cb=null,this._onFinishBound&&this.removeListener("finish",this._onFinishBound),this._onFinishBound=null,this._ws){const t=this._ws,n=()=>{t.onclose=null};if(t.readyState===r.CLOSED)n();else try{t.onclose=n,t.close()}catch(e){n()}t.onopen=null,t.onmessage=null,t.onerror=(()=>{})}if(this._ws=null,e){if("undefined"!=typeof DOMException&&e instanceof DOMException){const t=e.code;(e=new Error(e.message)).code=t}this.emit("error",e)}this.emit("close"),t()}}_read(){}_write(e,t,n){if(this.destroyed)return n(new Error("cannot write after socket is destroyed"));if(this.connected){try{this.send(e)}catch(_i){return this.destroy(_i)}"function"!=typeof ne&&this._ws.bufferedAmount>i?(this._debug("start backpressure: bufferedAmount %d",this._ws.bufferedAmount),this._cb=n):n(null)}else this._debug("write before connect"),this._chunk=e,this._cb=n}_onFinish(){if(this.destroyed)return;const e=()=>{setTimeout(()=>this.destroy(),1e3)};this.connected?e():this.once("connect",e)}_onMessage(e){if(this.destroyed)return;let n=e.data;n instanceof ArrayBuffer&&(n=t.from(n)),this.push(n)}_onOpen(){if(!this.connected&&!this.destroyed){if(this.connected=!0,this._chunk){try{this.send(this._chunk)}catch(_i){return this.destroy(_i)}this._chunk=null,this._debug('sent chunk from "write before connect"');const e=this._cb;this._cb=null,e(null)}"function"!=typeof ne&&(this._interval=setInterval(()=>this._onInterval(),150),this._interval.unref&&this._interval.unref()),this._debug("connect"),this.emit("connect")}}_onInterval(){if(!this._cb||!this._ws||this._ws.bufferedAmount>i)return;this._debug("ending backpressure: bufferedAmount %d",this._ws.bufferedAmount);const e=this._cb;this._cb=null,e(null)}_onClose(){this.destroyed||(this._debug("on close"),this.destroy())}_debug(){const e=[].slice.call(arguments);e[0]="["+this._id+"] "+e[0],n.apply(null,e)}}s.WEBSOCKET_SUPPORT=!!r,Kn=s}).call(this,ue,d({}).Buffer);var Yn=class extends l{constructor(e,t){super(),this.client=e,this.announceUrl=t,this.interval=null,this.destroyed=!1}setInterval(e){null==e&&(e=this.DEFAULT_ANNOUNCE_INTERVAL),clearInterval(this.interval),e&&(this.interval=setInterval(()=>{this.announce(this.client._defaultAnnounceOpts())},e),this.interval.unref&&this.interval.unref())}},Jn={};const Xn=zt("bittorrent-tracker:websocket-tracker"),Zn={},Qn=1e4,er=18e5,tr=12e4,nr=5e4;class rr extends Yn{constructor(e,t,n){super(e,t),Xn("new websocket tracker %s",t),this.peers={},this.socket=null,this.reconnecting=!1,this.retries=0,this.reconnectTimer=null,this.expectingResponse=!1,this._openSocket()}announce(e){if(this.destroyed||this.reconnecting)return;if(!this.socket.connected)return void this.socket.once("connect",()=>{this.announce(e)});const t=Object.assign({},e,{action:"announce",info_hash:this.client._infoHashBinary,peer_id:this.client._peerIdBinary});if(this._trackerId&&(t.trackerid=this._trackerId),"stopped"===e.event||"completed"===e.event)this._send(t);else{const n=Math.min(e.numwant,10);this._generateOffers(n,e=>{t.numwant=n,t.offers=e,this._send(t)})}}scrape(e){if(this.destroyed||this.reconnecting)return;if(!this.socket.connected)return void this.socket.once("connect",()=>{this.scrape(e)});const t={action:"scrape",info_hash:Array.isArray(e.infoHash)&&e.infoHash.length>0?e.infoHash.map(e=>e.toString("binary")):e.infoHash&&e.infoHash.toString("binary")||this.client._infoHashBinary};this._send(t)}destroy(e=ir){if(this.destroyed)return e(null);this.destroyed=!0,clearInterval(this.interval),clearTimeout(this.reconnectTimer);for(const i in this.peers){const e=this.peers[i];clearTimeout(e.trackerTimeout),e.destroy()}if(this.peers=null,this.socket&&(this.socket.removeListener("connect",this._onSocketConnectBound),this.socket.removeListener("data",this._onSocketDataBound),this.socket.removeListener("close",this._onSocketCloseBound),this.socket.removeListener("error",this._onSocketErrorBound),this.socket=null),this._onSocketConnectBound=null,this._onSocketErrorBound=null,this._onSocketDataBound=null,this._onSocketCloseBound=null,Zn[this.announceUrl]&&(Zn[this.announceUrl].consumers-=1),Zn[this.announceUrl].consumers>0)return e();let t=Zn[this.announceUrl];if(delete Zn[this.announceUrl],t.on("error",ir),t.once("close",e),!this.expectingResponse)return r();var n=setTimeout(r,Gn.DESTROY_TIMEOUT);function r(){n&&(clearTimeout(n),n=null),t.removeListener("data",r),t.destroy(),t=null}t.once("data",r)}_openSocket(){this.destroyed=!1,this.peers||(this.peers={}),this._onSocketConnectBound=(()=>{this._onSocketConnect()}),this._onSocketErrorBound=(e=>{this._onSocketError(e)}),this._onSocketDataBound=(e=>{this._onSocketData(e)}),this._onSocketCloseBound=(()=>{this._onSocketClose()}),this.socket=Zn[this.announceUrl],this.socket?Zn[this.announceUrl].consumers+=1:(this.socket=Zn[this.announceUrl]=new Kn(this.announceUrl),this.socket.consumers=1,this.socket.once("connect",this._onSocketConnectBound)),this.socket.on("data",this._onSocketDataBound),this.socket.once("close",this._onSocketCloseBound),this.socket.once("error",this._onSocketErrorBound)}_onSocketConnect(){this.destroyed||this.reconnecting&&(this.reconnecting=!1,this.retries=0,this.announce(this.client._defaultAnnounceOpts()))}_onSocketData(e){if(!this.destroyed){this.expectingResponse=!1;try{e=JSON.parse(e)}catch(_i){return void this.client.emit("warning",new Error("Invalid tracker response"))}"announce"===e.action?this._onAnnounceResponse(e):"scrape"===e.action?this._onScrapeResponse(e):this._onSocketError(new Error(`invalid action in WS response: ${e.action}`))}}_onAnnounceResponse(e){if(e.info_hash!==this.client._infoHashBinary)return void Xn("ignoring websocket data from %s for %s (looking for %s: reused socket)",this.announceUrl,Gn.binaryToHex(e.info_hash),this.client.infoHash);if(e.peer_id&&e.peer_id===this.client._peerIdBinary)return;Xn("received %s from %s for %s",JSON.stringify(e),this.announceUrl,this.client.infoHash);const t=e["failure reason"];if(t)return this.client.emit("warning",new Error(t));const n=e["warning message"];n&&this.client.emit("warning",new Error(n));const r=e.interval||e["min interval"];r&&this.setInterval(1e3*r);const i=e["tracker id"];if(i&&(this._trackerId=i),null!=e.complete){const t=Object.assign({},e,{announce:this.announceUrl,infoHash:Gn.binaryToHex(e.info_hash)});this.client.emit("update",t)}let s;if(e.offer&&e.peer_id&&(Xn("creating peer (from remote offer)"),(s=this._createPeer()).id=Gn.binaryToHex(e.peer_id),s.once("signal",t=>{const n={action:"announce",info_hash:this.client._infoHashBinary,peer_id:this.client._peerIdBinary,to_peer_id:e.peer_id,answer:t,offer_id:e.offer_id};this._trackerId&&(n.trackerid=this._trackerId),this._send(n)}),s.signal(e.offer),this.client.emit("peer",s)),e.answer&&e.peer_id){const t=Gn.binaryToHex(e.offer_id);(s=this.peers[t])?(s.id=Gn.binaryToHex(e.peer_id),s.signal(e.answer),this.client.emit("peer",s),clearTimeout(s.trackerTimeout),s.trackerTimeout=null,delete this.peers[t]):Xn(`got unexpected answer: ${JSON.stringify(e.answer)}`)}}_onScrapeResponse(e){e=e.files||{};const t=Object.keys(e);0!==t.length?t.forEach(t=>{const n=Object.assign(e[t],{announce:this.announceUrl,infoHash:Gn.binaryToHex(t)});this.client.emit("scrape",n)}):this.client.emit("warning",new Error("invalid scrape response"))}_onSocketClose(){this.destroyed||(this.destroy(),this._startReconnectTimer())}_onSocketError(e){this.destroyed||(this.destroy(),this.client.emit("warning",e),this._startReconnectTimer())}_startReconnectTimer(){const e=Math.floor(Math.random()*tr)+Math.min(Math.pow(2,this.retries)*Qn,er);this.reconnecting=!0,clearTimeout(this.reconnectTimer),this.reconnectTimer=setTimeout(()=>{this.retries++,this._openSocket()},e),this.reconnectTimer.unref&&this.reconnectTimer.unref(),Xn("reconnecting socket in %s ms",e)}_send(e){if(this.destroyed)return;this.expectingResponse=!0;const t=JSON.stringify(e);Xn("send %s",t),this.socket.send(t)}_generateOffers(e,t){const n=this,r=[];Xn("generating %s offers",e);for(let o=0;o<e;++o)i();function i(){const e=On(20).toString("hex");Xn("creating peer (from _generateOffers)");const t=n.peers[e]=n._createPeer({initiator:!0});t.once("signal",t=>{r.push({offer:t,offer_id:Gn.hexToBinary(e)}),s()}),t.trackerTimeout=setTimeout(()=>{Xn("tracker timeout: destroying peer"),t.trackerTimeout=null,delete n.peers[e],t.destroy()},nr),t.trackerTimeout.unref&&t.trackerTimeout.unref()}function s(){r.length===e&&(Xn("generated %s offers",e),t(r))}s()}_createPeer(e){const t=this;e=Object.assign({trickle:!1,config:t.client._rtcConfig,wrtc:t.client._wrtc},e);const n=new Mn(e);return n.once("error",r),n.once("connect",function e(){n.removeListener("error",r),n.removeListener("connect",e)}),n;function r(e){t.client.emit("warning",new Error(`Connection error: ${e.message}`)),n.destroy()}}}function ir(){}rr.prototype.DEFAULT_ANNOUNCE_INTERVAL=3e4,rr._socketPool=Zn,Jn=rr;var sr={};(function(e,t){const n=zt("bittorrent-tracker:client");class r extends l{constructor(r={}){if(super(),!r.peerId)throw new Error("Option `peerId` is required");if(!r.infoHash)throw new Error("Option `infoHash` is required");if(!r.announce)throw new Error("Option `announce` is required");if(!e.browser&&!r.port)throw new Error("Option `port` is required");this.peerId="string"==typeof r.peerId?r.peerId:r.peerId.toString("hex"),this._peerIdBuffer=t.from(this.peerId,"hex"),this._peerIdBinary=this._peerIdBuffer.toString("binary"),this.infoHash="string"==typeof r.infoHash?r.infoHash.toLowerCase():r.infoHash.toString("hex"),this._infoHashBuffer=t.from(this.infoHash,"hex"),this._infoHashBinary=this._infoHashBuffer.toString("binary"),n("new client %s",this.infoHash),this.destroyed=!1,this._port=r.port,this._getAnnounceOpts=r.getAnnounceOpts,this._rtcConfig=r.rtcConfig,this._userAgent=r.userAgent,this._wrtc="function"==typeof r.wrtc?r.wrtc():r.wrtc;let i="string"==typeof r.announce?[r.announce]:null==r.announce?[]:r.announce;i=i.map(e=>("/"===(e=e.toString())[e.length-1]&&(e=e.substring(0,e.length-1)),e)),i=Rn(i);const s=!1!==this._wrtc&&(!!this._wrtc||Mn.WEBRTC_SUPPORT),o=t=>{e.nextTick(()=>{this.emit("warning",t)})};this._trackers=i.map(e=>{let t;try{t=new URL(e)}catch(_i){return o(new Error(`Invalid tracker URL: ${e}`)),null}const n=t.port;if(n<0||n>65535)return o(new Error(`Invalid tracker port: ${e}`)),null;const r=t.protocol;return"http:"!==r&&"https:"!==r||"function"!=typeof ne?"udp:"===r&&"function"==typeof ne?new ne(this,e):"ws:"!==r&&"wss:"!==r||!s?(o(new Error(`Unsupported tracker protocol: ${e}`)),null):"ws:"===r&&"undefined"!=typeof window&&"https:"===window.location.protocol?(o(new Error(`Unsupported tracker protocol: ${e}`)),null):new Jn(this,e):new ne(this,e)}).filter(Boolean)}start(e){n("send `start`"),(e=this._defaultAnnounceOpts(e)).event="started",this._announce(e),this._trackers.forEach(e=>{e.setInterval()})}stop(e){n("send `stop`"),(e=this._defaultAnnounceOpts(e)).event="stopped",this._announce(e)}complete(e){n("send `complete`"),e||(e={}),(e=this._defaultAnnounceOpts(e)).event="completed",this._announce(e)}update(e){n("send `update`"),(e=this._defaultAnnounceOpts(e)).event&&delete e.event,this._announce(e)}_announce(e){this._trackers.forEach(t=>{t.announce(e)})}scrape(e){n("send `scrape`"),e||(e={}),this._trackers.forEach(t=>{t.scrape(e)})}setInterval(e){n("setInterval %d",e),this._trackers.forEach(t=>{t.setInterval(e)})}destroy(e){if(this.destroyed)return;this.destroyed=!0,n("destroy");const t=this._trackers.map(e=>t=>{e.destroy(t)});Ut(t,e),this._trackers=[],this._getAnnounceOpts=null}_defaultAnnounceOpts(e={}){return null==e.numwant&&(e.numwant=Gn.DEFAULT_ANNOUNCE_PEERS),null==e.uploaded&&(e.uploaded=0),null==e.downloaded&&(e.downloaded=0),this._getAnnounceOpts&&(e=Object.assign({},e,this._getAnnounceOpts())),e}}r.scrape=((e,n)=>{if(n=Rt(n),!e.infoHash)throw new Error("Option `infoHash` is required");if(!e.announce)throw new Error("Option `announce` is required");const i=Object.assign({},e,{infoHash:Array.isArray(e.infoHash)?e.infoHash[0]:e.infoHash,peerId:t.from("01234567890123456789"),port:6881}),s=new r(i);s.once("error",n),s.once("warning",n);let o=Array.isArray(e.infoHash)?e.infoHash.length:1;const a={};return s.on("scrape",e=>{if(o-=1,a[e.infoHash]=e,0===o){s.destroy();const e=Object.keys(a);1===e.length?n(null,a[e[0]]):n(null,a)}}),e.infoHash=Array.isArray(e.infoHash)?e.infoHash.map(e=>t.from(e,"hex")):t.from(e.infoHash,"hex"),s.scrape({infoHash:e.infoHash}),s}),sr=r}).call(this,ue,d({}).Buffer);var or={};(function(e){const t=zt("torrent-discovery"),n=l.EventEmitter;or=class extends n{constructor(t){if(super(),!t.peerId)throw new Error("Option `peerId` is required");if(!t.infoHash)throw new Error("Option `infoHash` is required");if(!e.browser&&!t.port)throw new Error("Option `port` is required");this.peerId="string"==typeof t.peerId?t.peerId:t.peerId.toString("hex"),this.infoHash="string"==typeof t.infoHash?t.infoHash.toLowerCase():t.infoHash.toString("hex"),this._port=t.port,this._userAgent=t.userAgent,this.destroyed=!1,this._announce=t.announce||[],this._intervalMs=t.intervalMs||9e5,this._trackerOpts=null,this._dhtAnnouncing=!1,this._dhtTimeout=!1,this._internalDHT=!1,this._onWarning=(e=>{this.emit("warning",e)}),this._onError=(e=>{this.emit("error",e)}),this._onDHTPeer=((e,t)=>{t.toString("hex")===this.infoHash&&this.emit("peer",`${e.host}:${e.port}`,"dht")}),this._onTrackerPeer=(e=>{this.emit("peer",e,"tracker")}),this._onTrackerAnnounce=(()=>{this.emit("trackerAnnounce")});const n=(e,t)=>{const n=new ne(t);return n.on("warning",this._onWarning),n.on("error",this._onError),n.listen(e),this._internalDHT=!0,n};!1===t.tracker?this.tracker=null:t.tracker&&"object"==typeof t.tracker?(this._trackerOpts=Object.assign({},t.tracker),this.tracker=this._createTracker()):this.tracker=this._createTracker(),!1===t.dht||"function"!=typeof ne?this.dht=null:t.dht&&"function"==typeof t.dht.addNode?this.dht=t.dht:t.dht&&"object"==typeof t.dht?this.dht=n(t.dhtPort,t.dht):this.dht=n(t.dhtPort),this.dht&&(this.dht.on("peer",this._onDHTPeer),this._dhtAnnounce())}updatePort(e){e!==this._port&&(this._port=e,this.dht&&this._dhtAnnounce(),this.tracker&&(this.tracker.stop(),this.tracker.destroy(()=>{this.tracker=this._createTracker()})))}complete(e){this.tracker&&this.tracker.complete(e)}destroy(e){if(this.destroyed)return;this.destroyed=!0,clearTimeout(this._dhtTimeout);const t=[];this.tracker&&(this.tracker.stop(),this.tracker.removeListener("warning",this._onWarning),this.tracker.removeListener("error",this._onError),this.tracker.removeListener("peer",this._onTrackerPeer),this.tracker.removeListener("update",this._onTrackerAnnounce),t.push(e=>{this.tracker.destroy(e)})),this.dht&&this.dht.removeListener("peer",this._onDHTPeer),this._internalDHT&&(this.dht.removeListener("warning",this._onWarning),this.dht.removeListener("error",this._onError),t.push(e=>{this.dht.destroy(e)})),Ut(t,e),this.dht=null,this.tracker=null,this._announce=null}_createTracker(){const e=Object.assign({},this._trackerOpts,{infoHash:this.infoHash,announce:this._announce,peerId:this.peerId,port:this._port,userAgent:this._userAgent}),t=new sr(e);return t.on("warning",this._onWarning),t.on("error",this._onError),t.on("peer",this._onTrackerPeer),t.on("update",this._onTrackerAnnounce),t.setInterval(this._intervalMs),t.start(),t}_dhtAnnounce(){this._dhtAnnouncing||(t("dht announce"),this._dhtAnnouncing=!0,clearTimeout(this._dhtTimeout),this.dht.announce(this.infoHash,this._port,e=>{this._dhtAnnouncing=!1,t("dht announce complete"),e&&this.emit("warning",e),this.emit("dhtAnnounce"),this.destroyed||(this._dhtTimeout=setTimeout(()=>{this._dhtAnnounce()},this._intervalMs+Math.floor(Math.random()*this._intervalMs/5)),this._dhtTimeout.unref&&this._dhtTimeout.unref())}))}}}).call(this,ue);var ar={};(function(e){function t(e,n){if(!(this instanceof t))return new t(e,n);if(n||(n={}),this.chunkLength=Number(e),!this.chunkLength)throw new Error("First argument must be a chunk length");this.chunks=[],this.closed=!1,this.length=Number(n.length)||1/0,this.length!==1/0&&(this.lastChunkLength=this.length%this.chunkLength||this.chunkLength,this.lastChunkIndex=Math.ceil(this.length/this.chunkLength)-1)}function n(t,n,r){e.nextTick(function(){t&&t(n,r)})}ar=t,t.prototype.put=function(e,t,r){if(this.closed)return n(r,new Error("Storage is closed"));var i=e===this.lastChunkIndex;return i&&t.length!==this.lastChunkLength?n(r,new Error("Last chunk length must be "+this.lastChunkLength)):i||t.length===this.chunkLength?(this.chunks[e]=t,void n(r,null)):n(r,new Error("Chunk length must be "+this.chunkLength))},t.prototype.get=function(e,t,r){if("function"==typeof t)return this.get(e,null,t);if(this.closed)return n(r,new Error("Storage is closed"));var i=this.chunks[e];if(!i){var s=new Error("Chunk not found");return s.notFound=!0,n(r,s)}if(!t)return n(r,null,i);var o=t.offset||0,a=t.length||i.length-o;n(r,null,i.slice(o,a+o))},t.prototype.close=t.prototype.destroy=function(e){if(this.closed)return n(e,new Error("Storage is closed"));this.closed=!0,this.chunks=null,n(e,null)}}).call(this,ue);var hr={};(function(e){hr=class{constructor(e){if(this.store=e,this.chunkLength=e.chunkLength,!this.store||!this.store.get||!this.store.put)throw new Error("First argument must be abstract-chunk-store compliant");this.mem=[]}put(e,t,n){this.mem[e]=t,this.store.put(e,t,t=>{this.mem[e]=null,n&&n(t)})}get(t,n,r){if("function"==typeof n)return this.get(t,null,n);const i=n&&n.offset||0,s=n&&n.length&&i+n.length,o=this.mem[t];if(o)return function(t,n,r){e.nextTick(()=>{t&&t(null,r)})}(r,0,n?o.slice(i,s):o);this.store.get(t,n,r)}close(e){this.store.close(e)}destroy(e){this.store.destroy(e)}}}).call(this,ue);var cr={};(function(e){cr=function(t,n,r){if("number"!=typeof n)throw new Error("second argument must be a Number");var i,s,o,a,h,c=!0;function u(t){function n(){r&&r(t,i),r=null}c?e.nextTick(n):n()}function d(e,n,r){if(i[e]=r,n&&(h=!0),0==--o||n)u(n);else if(!h&&l<s){var c;a?(c=a[l],l+=1,t[c](function(e,t){d(c,e,t)})):(c=l,l+=1,t[c](function(e,t){d(c,e,t)}))}}Array.isArray(t)?(i=[],o=s=t.length):(a=Object.keys(t),i={},o=s=a.length);var l=n;o?a?a.some(function(e,r){if(t[e](function(t,n){d(e,t,n)}),r===n-1)return!0}):t.some(function(e,t){if(e(function(e,n){d(t,e,n)}),t===n-1)return!0}):u(null),c=!1}}).call(this,ue);var ur={};(function(e){const t=16384;class n{constructor(e){this.length=e,this.missing=e,this.sources=null,this._chunks=Math.ceil(e/t),this._remainder=e%t||t,this._buffered=0,this._buffer=null,this._cancellations=null,this._reservations=0,this._flushed=!1}chunkLength(e){return e===this._chunks-1?this._remainder:t}chunkLengthRemaining(e){return this.length-e*t}chunkOffset(e){return e*t}reserve(){return this.init()?this._cancellations.length?this._cancellations.pop():this._reservations<this._chunks?this._reservations++:-1:-1}reserveRemaining(){if(!this.init())return-1;if(this._reservations<this._chunks){const e=this._reservations;return this._reservations=this._chunks,e}return-1}cancel(e){this.init()&&this._cancellations.push(e)}cancelRemaining(e){this.init()&&(this._reservations=e)}get(e){return this.init()?this._buffer[e]:null}set(e,n,r){if(!this.init())return!1;const i=n.length,s=Math.ceil(i/t);for(let o=0;o<s;o++)if(!this._buffer[e+o]){const i=o*t,s=n.slice(i,i+t);this._buffered++,this._buffer[e+o]=s,this.missing-=s.length,this.sources.includes(r)||this.sources.push(r)}return this._buffered===this._chunks}flush(){if(!this._buffer||this._chunks!==this._buffered)return null;const t=e.concat(this._buffer,this.length);return this._buffer=null,this._cancellations=null,this.sources=null,this._flushed=!0,t}init(){return!(this._flushed||!this._buffer&&(this._buffer=new Array(this._chunks),this._cancellations=[],this.sources=[],0))}}Object.defineProperty(n,"BLOCK_LENGTH",{value:t}),ur=n}).call(this,d({}).Buffer);var dr=function(){},lr=function(e,t,n){if("function"==typeof t)return lr(e,null,t);t||(t={}),n=Rt(n||dr);var r=e._writableState,i=e._readableState,s=t.readable||!1!==t.readable&&e.readable,o=t.writable||!1!==t.writable&&e.writable,a=function(){e.writable||h()},h=function(){o=!1,s||n.call(e)},c=function(){s=!1,o||n.call(e)},u=function(t){n.call(e,t?new Error("exited with error code: "+t):null)},d=function(t){n.call(e,t)},l=function(){return(!s||i&&i.ended)&&(!o||r&&r.ended)?void 0:n.call(e,new Error("premature close"))},f=function(){e.req.on("finish",h)};return function(e){return e.setHeader&&"function"==typeof e.abort}(e)?(e.on("complete",h),e.on("abort",l),e.req?f():e.on("request",f)):o&&!r&&(e.on("end",a),e.on("close",a)),function(e){return e.stdio&&Array.isArray(e.stdio)&&3===e.stdio.length}(e)&&e.on("exit",u),e.on("end",c),e.on("finish",h),!1!==t.error&&e.on("error",d),e.on("close",l),function(){e.removeListener("complete",h),e.removeListener("abort",l),e.removeListener("request",f),e.req&&e.req.removeListener("finish",h),e.removeListener("end",a),e.removeListener("close",a),e.removeListener("finish",h),e.removeListener("exit",u),e.removeListener("end",c),e.removeListener("error",d),e.removeListener("close",l)}},fr=lr,pr={};(function(e){var t=function(){},n=/^v?\.0/.test(e.version),r=function(e){return"function"==typeof e},i=function(e){e()},s=function(e,t){return e.pipe(t)};pr=function(){var e,o=Array.prototype.slice.call(arguments),a=r(o[o.length-1]||t)&&o.pop()||t;if(Array.isArray(o[0])&&(o=o[0]),o.length<2)throw new Error("pump requires two streams per minimum");var h=o.map(function(s,c){var u=c<o.length-1;return function(e,i,s,o){o=Rt(o);var a=!1;e.on("close",function(){a=!0}),fr(e,{readable:i,writable:s},function(e){if(e)return o(e);a=!0,o()});var h=!1;return function(i){if(!a&&!h)return h=!0,function(e){return!!n&&!!ne&&(e instanceof(ne.ReadStream||t)||e instanceof(ne.WriteStream||t))&&r(e.close)}(e)?e.close(t):function(e){return e.setHeader&&r(e.abort)}(e)?e.abort():r(e.destroy)?e.destroy():void o(i||new Error("stream was destroyed"))}}(s,u,c>0,function(t){e||(e=t),t&&h.forEach(i),u||(h.forEach(i),a(e))})});return o.reduce(s)}}).call(this,ue);var gr={};(function(e){const{EventEmitter:t}=l,n=zt("ut_metadata"),r=1e7,i=1e3,s=16384;gr=(o=>{class a extends t{constructor(t){super(),this._wire=t,this._fetching=!1,this._metadataComplete=!1,this._metadataSize=null,this._remainingRejects=null,this._bitfield=new zn(0,{grow:i}),e.isBuffer(o)&&this.setMetadata(o)}onHandshake(e,t,n){this._infoHash=e}onExtendedHandshake(e){return e.m&&e.m.ut_metadata?e.metadata_size?"number"!=typeof e.metadata_size||r<e.metadata_size||e.metadata_size<=0?this.emit("warning",new Error("Peer gave invalid metadata size")):(this._metadataSize=e.metadata_size,this._numPieces=Math.ceil(this._metadataSize/s),this._remainingRejects=2*this._numPieces,void(this._fetching&&this._requestPieces())):this.emit("warning",new Error("Peer does not have metadata")):this.emit("warning",new Error("Peer does not support ut_metadata"))}onMessage(e){let t,n;try{const r=e.toString(),i=r.indexOf("ee")+2;t=Q.decode(r.substring(0,i)),n=e.slice(i)}catch(_i){return}switch(t.msg_type){case 0:this._onRequest(t.piece);break;case 1:this._onData(t.piece,n,t.total_size);break;case 2:this._onReject(t.piece)}}fetch(){this._metadataComplete||(this._fetching=!0,this._metadataSize&&this._requestPieces())}cancel(){this._fetching=!1}setMetadata(e){if(this._metadataComplete)return!0;n("set metadata");try{const t=Q.decode(e).info;t&&(e=Q.encode(t))}catch(_i){}return!(this._infoHash&&this._infoHash!==Nt.sync(e)||(this.cancel(),this.metadata=e,this._metadataComplete=!0,this._metadataSize=this.metadata.length,this._wire.extendedHandshake.metadata_size=this._metadataSize,this.emit("metadata",Q.encode({info:Q.decode(this.metadata)})),0))}_send(t,n){let r=Q.encode(t);e.isBuffer(n)&&(r=e.concat([r,n])),this._wire.extended("ut_metadata",r)}_request(e){this._send({msg_type:0,piece:e})}_data(e,t,n){const r={msg_type:1,piece:e};"number"==typeof n&&(r.total_size=n),this._send(r,t)}_reject(e){this._send({msg_type:2,piece:e})}_onRequest(e){if(!this._metadataComplete)return void this._reject(e);const t=e*s;let n=t+s;n>this._metadataSize&&(n=this._metadataSize);const r=this.metadata.slice(t,n);this._data(e,r,this._metadataSize)}_onData(e,t,n){t.length>s||(t.copy(this.metadata,e*s),this._bitfield.set(e),this._checkDone())}_onReject(e){this._remainingRejects>0&&this._fetching?(this._request(e),this._remainingRejects-=1):this.emit("warning",new Error('Peer sent "reject" too much'))}_requestPieces(){this.metadata=e.alloc(this._metadataSize);for(let e=0;e<this._numPieces;e++)this._request(e)}_checkDone(){let e=!0;for(let t=0;t<this._numPieces;t++)if(!this._bitfield.get(t)){e=!1;break}e&&(this.setMetadata(this.metadata)||this._failedMetadata())}_failedMetadata(){this._bitfield=new zn(0,{grow:i}),this._remainingRejects-=this._numPieces,this._remainingRejects>0?this._requestPieces():this.emit("warning",new Error("Peer sent invalid metadata"))}}return a.prototype.name="ut_metadata",a})}).call(this,d({}).Buffer);var mr={parse:function(e){var t=e.split(",").map(function(e){return function(e){if(/^-?\d+$/.test(e))return parseInt(e,10);var t;if(t=e.match(/^(-?\d+)(-|\.\.\.?|\u2025|\u2026|\u22EF)(-?\d+)$/)){var n=t[1],r=t[2],i=t[3];if(n&&i){var s=[],o=(n=parseInt(n))<(i=parseInt(i))?1:-1;"-"!=r&&".."!=r&&"\u2025"!=r||(i+=o);for(var a=n;a!=i;a+=o)s.push(a);return s}}return[]}(e)});return 0===t.length?[]:1===t.length?Array.isArray(t[0])?t[0]:t:t.reduce(function(e,t){return Array.isArray(e)||(e=[e]),Array.isArray(t)||(t=[t]),e.concat(t)})}},_r=function(e){for(var t=0,n=e.length;t<n;++t)if(e.charCodeAt(t)>127)return!1;return!0},yr=d({}).Buffer,br=Er,wr="undefined"!=typeof window&&window.MediaSource,vr=60;function Er(e,t){var n=this;if(!(n instanceof Er))return new Er(e,t);if(!wr)throw new Error("web browser lacks MediaSource support");t||(t={}),n._debug=t.debug,n._bufferDuration=t.bufferDuration||vr,n._elem=e,n._mediaSource=new wr,n._streams=[],n.detailedError=null,n._errorHandler=function(){n._elem.removeEventListener("error",n._errorHandler),n._streams.slice().forEach(function(e){e.destroy(n._elem.error)})},n._elem.addEventListener("error",n._errorHandler),n._elem.src=window.URL.createObjectURL(n._mediaSource)}function kr(e,t){var n=this;if(it.Writable.call(n),n._wrapper=e,n._elem=e._elem,n._mediaSource=e._mediaSource,n._allStreams=e._streams,n._allStreams.push(n),n._bufferDuration=e._bufferDuration,n._sourceBuffer=null,n._debugBuffers=[],n._openHandler=function(){n._onSourceOpen()},n._flowHandler=function(){n._flow()},n._errorHandler=function(e){n.destroyed||n.emit("error",e)},"string"==typeof t)n._type=t,"open"===n._mediaSource.readyState?n._createSourceBuffer():n._mediaSource.addEventListener("sourceopen",n._openHandler);else if(null===t._sourceBuffer)t.destroy(),n._type=t._type,n._mediaSource.addEventListener("sourceopen",n._openHandler);else{if(!t._sourceBuffer)throw new Error("The argument to MediaElementWrapper.createWriteStream must be a string or a previous stream returned from that function");t.destroy(),n._type=t._type,n._sourceBuffer=t._sourceBuffer,n._debugBuffers=t._debugBuffers,n._sourceBuffer.addEventListener("updateend",n._flowHandler),n._sourceBuffer.addEventListener("error",n._errorHandler)}n._elem.addEventListener("timeupdate",n._flowHandler),n.on("error",function(e){n._wrapper.error(e)}),n.on("finish",function(){if(!n.destroyed&&(n._finished=!0,n._allStreams.every(function(e){return e._finished}))){n._wrapper._dumpDebugData();try{n._mediaSource.endOfStream()}catch(_i){}}})}Er.prototype.createWriteStream=function(e){return new kr(this,e)},Er.prototype.error=function(e){this.detailedError||(this.detailedError=e),this._dumpDebugData();try{this._mediaSource.endOfStream("decode")}catch(e){}try{window.URL.revokeObjectURL(this._elem.src)}catch(e){}},Er.prototype._dumpDebugData=function(){this._debug&&(this._debug=!1,this._streams.forEach(function(e,t){var n,r,i;n=e._debugBuffers,r="mediasource-stream-"+t,(i=document.createElement("a")).href=window.URL.createObjectURL(new window.Blob(n)),i.download=r,i.click()}))},Be(kr,it.Writable),kr.prototype._onSourceOpen=function(){this.destroyed||(this._mediaSource.removeEventListener("sourceopen",this._openHandler),this._createSourceBuffer())},kr.prototype.destroy=function(e){this.destroyed||(this.destroyed=!0,this._allStreams.splice(this._allStreams.indexOf(this),1),this._mediaSource.removeEventListener("sourceopen",this._openHandler),this._elem.removeEventListener("timeupdate",this._flowHandler),this._sourceBuffer&&(this._sourceBuffer.removeEventListener("updateend",this._flowHandler),this._sourceBuffer.removeEventListener("error",this._errorHandler),"open"===this._mediaSource.readyState&&this._sourceBuffer.abort()),e&&this.emit("error",e),this.emit("close"))},kr.prototype._createSourceBuffer=function(){if(!this.destroyed)if(wr.isTypeSupported(this._type)){if(this._sourceBuffer=this._mediaSource.addSourceBuffer(this._type),this._sourceBuffer.addEventListener("updateend",this._flowHandler),this._sourceBuffer.addEventListener("error",this._errorHandler),this._cb){var e=this._cb;this._cb=null,e()}}else this.destroy(new Error("The provided type is not supported"))},kr.prototype._write=function(e,t,n){var r=this;if(!r.destroyed)if(r._sourceBuffer){if(r._sourceBuffer.updating)return n(new Error("Cannot append buffer while source buffer updating"));var i=function(e){if(e instanceof Uint8Array){if(0===e.byteOffset&&e.byteLength===e.buffer.byteLength)return e.buffer;if("function"==typeof e.buffer.slice)return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}if(yr.isBuffer(e)){for(var t=new Uint8Array(e.length),n=e.length,r=0;r<n;r++)t[r]=e[r];return t.buffer}throw new Error("Argument must be a Buffer")}(e);r._wrapper._debug&&r._debugBuffers.push(i);try{r._sourceBuffer.appendBuffer(i)}catch(_i){return void r.destroy(_i)}r._cb=n}else r._cb=function(i){if(i)return n(i);r._write(e,t,n)}},kr.prototype._flow=function(){if(!this.destroyed&&this._sourceBuffer&&!this._sourceBuffer.updating&&!("open"===this._mediaSource.readyState&&this._getBufferDuration()>this._bufferDuration)&&this._cb){var e=this._cb;this._cb=null,e()}},kr.prototype._getBufferDuration=function(){for(var e=this._sourceBuffer.buffered,t=this._elem.currentTime,n=-1,r=0;r<e.length;r++){var i=e.start(r),s=e.end(r)+0;if(i>t)break;(n>=0||t<=s)&&(n=s)}var o=n-t;return o<0&&(o=0),o};var Sr=function e(t,n,r){if("function"==typeof n)return e(t,null,n);!function e(t,n,r){if("function"==typeof n)return e(t,null,n);r=Rt(r);var i=[];t.on("data",function(e){i.push(e)}).on("end",function(){var e=n?new Blob(i,{type:n}):new Blob(i);r(null,e)}).on("error",r)}(t,n,function(e,t){if(e)return r(e);var n=URL.createObjectURL(t);r(null,n)})},Cr={};(function(e){var t=function(){try{if(!e.isEncoding("latin1"))return!1;var t=e.alloc?e.alloc(4):new e(4);return t.fill("ab","ucs2"),"61006200"===t.toString("hex")}catch(n){return!1}}();function n(e,t,n,r){if(n<0||r>e.length)throw new RangeError("Out of range index");return n>>>=0,(r=void 0===r?e.length:r>>>0)>n&&e.fill(t,n,r),e}Cr=function(r,i,s,o,a){if(t)return r.fill(i,s,o,a);if("number"==typeof i)return n(r,i,s,o);if("string"==typeof i){if("string"==typeof s?(a=s,s=0,o=r.length):"string"==typeof o&&(a=o,o=r.length),void 0!==a&&"string"!=typeof a)throw new TypeError("encoding must be a string");if("latin1"===a&&(a="binary"),"string"==typeof a&&!e.isEncoding(a))throw new TypeError("Unknown encoding: "+a);if(""===i)return n(r,0,s,o);if(function(e){return 1===e.length&&e.charCodeAt(0)<256}(i))return n(r,i.charCodeAt(0),s,o);i=new e(i,a)}return e.isBuffer(i)?function(e,t,n,r){if(n<0||r>e.length)throw new RangeError("Out of range index");if(r<=n)return e;n>>>=0,r=void 0===r?e.length:r>>>0;for(var i=n,s=t.length;i<=r-s;)t.copy(e,i),i+=s;return i!==r&&t.copy(e,i,0,r-i),e}(r,i,s,o):n(r,0,s,o)}}).call(this,d({}).Buffer);var xr={};(function(e){xr=function(t){if("number"!=typeof t)throw new TypeError('"size" argument must be a number');if(t<0)throw new RangeError('"size" argument must not be negative');return e.allocUnsafe?e.allocUnsafe(t):new e(t)}}).call(this,d({}).Buffer);var Tr={};(function(e){Tr=function(t,n,r){if("number"!=typeof t)throw new TypeError('"size" argument must be a number');if(t<0)throw new RangeError('"size" argument must not be negative');if(e.alloc)return e.alloc(t,n,r);var i=xr(t);return 0===t?i:void 0===n?Cr(i,0):("string"!=typeof r&&(r=void 0),Cr(i,n,r))}}).call(this,d({}).Buffer);var Ir={},Ar=Math.pow(2,32);Ir.encode=function(e,t,n){t||(t=Tr(8)),n||(n=0);var r=Math.floor(e/Ar),i=e-r*Ar;return t.writeUInt32BE(r,n),t.writeUInt32BE(i,n+4),t},Ir.decode=function(e,t){t||(t=0);var n=e.readUInt32BE(t),r=e.readUInt32BE(t+4);return n*Ar+r},Ir.encode.bytes=8,Ir.decode.bytes=8;var Rr={};(function(e){var t={3:"ESDescriptor",4:"DecoderConfigDescriptor",5:"DecoderSpecificInfo",6:"SLConfigDescriptor"};Rr.Descriptor={},Rr.Descriptor.decode=function(n,r,i){var s,o,a=n.readUInt8(r),h=r+1,c=0;do{c=c<<7|127&(s=n.readUInt8(h++))}while(128&s);var u=t[a];return(o=Rr[u]?Rr[u].decode(n,h,i):{buffer:e.from(n.slice(h,h+c))}).tag=a,o.tagName=u,o.length=h-r+c,o.contentsLen=c,o},Rr.DescriptorArray={},Rr.DescriptorArray.decode=function(e,n,r){for(var i=n,s={};i+2<=r;){var o=Rr.Descriptor.decode(e,i,r);i+=o.length,s[t[o.tag]||"Descriptor"+o.tag]=o}return s},Rr.ESDescriptor={},Rr.ESDescriptor.decode=function(e,t,n){var r=e.readUInt8(t+2),i=t+3;return 128&r&&(i+=2),64&r&&(i+=e.readUInt8(i)+1),32&r&&(i+=2),Rr.DescriptorArray.decode(e,i,n)},Rr.DecoderConfigDescriptor={},Rr.DecoderConfigDescriptor.decode=function(e,t,n){var r=e.readUInt8(t),i=Rr.DescriptorArray.decode(e,t+13,n);return i.oti=r,i}}).call(this,d({}).Buffer);var Br={};(function(e){var n=t({}),r=e.alloc(0);class i extends it.PassThrough{constructor(e){super(),this._parent=e,this.destroyed=!1}destroy(e){this.destroyed||(this.destroyed=!0,this._parent.destroy(e),e&&this.emit("error",e),this.emit("close"))}}Br=class extends it.Writable{constructor(e){super(e),this.destroyed=!1,this._pending=0,this._missing=0,this._ignoreEmpty=!1,this._buf=null,this._str=null,this._cb=null,this._ondrain=null,this._writeBuffer=null,this._writeCb=null,this._ondrain=null,this._kick()}destroy(e){this.destroyed||(this.destroyed=!0,e&&this.emit("error",e),this.emit("close"))}_write(e,t,n){if(!this.destroyed){for(var i=!this._str||!this._str._writableState.needDrain;e.length&&!this.destroyed;){if(!this._missing&&!this._ignoreEmpty)return this._writeBuffer=e,void(this._writeCb=n);var s=e.length<this._missing?e.length:this._missing;if(this._buf?e.copy(this._buf,this._buf.length-this._missing):this._str&&(i=this._str.write(s===e.length?e:e.slice(0,s))),this._missing-=s,!this._missing){var o=this._buf,a=this._cb,h=this._str;this._buf=this._cb=this._str=this._ondrain=null,i=!0,this._ignoreEmpty=!1,h&&h.end(),a&&a(o)}e=s===e.length?r:e.slice(s)}if(this._pending&&!this._missing)return this._writeBuffer=e,void(this._writeCb=n);i?n():this._ondrain(n)}}_buffer(t,n){this._missing=t,this._buf=e.alloc(t),this._cb=n}_stream(e,t){return this._missing=e,this._str=new i(this),this._ondrain=(n=this._str,r="drain",s=null,n.on(r,function(e){if(s){var t=s;s=null,t(e)}}),function(e){s=e}),this._pending++,this._str.on("end",()=>{this._pending--,this._kick()}),this._cb=t,this._str;var n,r,s}_readBox(){const t=(r,i)=>{this._buffer(r,r=>{i=i?e.concat([i,r]):r;var s=n.readHeaders(i);"number"==typeof s?t(s-i.length,i):(this._pending++,this._headers=s,this.emit("box",s))})};t(8)}stream(){if(!this._headers)throw new Error("this function can only be called once after 'box' is emitted");var e=this._headers;return this._headers=null,this._stream(e.contentLen,null)}decode(e){if(!this._headers)throw new Error("this function can only be called once after 'box' is emitted");var t=this._headers;this._headers=null,this._buffer(t.contentLen,r=>{var i=n.decodeWithoutHeaders(t,r);e(i),this._pending--,this._kick()})}ignore(){if(!this._headers)throw new Error("this function can only be called once after 'box' is emitted");var e=this._headers;this._headers=null,this._missing=e.contentLen,0===this._missing&&(this._ignoreEmpty=!0),this._cb=(()=>{this._pending--,this._kick()})}_kick(){if(!this._pending&&(this._buf||this._str||this._readBox(),this._writeBuffer)){var e=this._writeCb,t=this._writeBuffer;this._writeBuffer=null,this._writeCb=null,this._write(t,null,e)}}}}).call(this,d({}).Buffer);var Lr={};(function(e,n){var r=t({});function i(){}class s extends it.PassThrough{constructor(e){super(),this._parent=e,this.destroyed=!1}destroy(e){this.destroyed||(this.destroyed=!0,this._parent.destroy(e),e&&this.emit("error",e),this.emit("close"))}}Lr=class extends it.Readable{constructor(e){super(e),this.destroyed=!1,this._finalized=!1,this._reading=!1,this._stream=null,this._drain=null,this._want=!1,this._onreadable=(()=>{this._want&&(this._want=!1,this._read())}),this._onend=(()=>{this._stream=null})}mdat(e,t){this.mediaData(e,t)}mediaData(e,t){var n=new s(this);return this.box({type:"mdat",contentLength:e,encodeBufferLen:8,stream:n},t),n}box(t,s){if(s||(s=i),this.destroyed)return s(new Error("Encoder is destroyed"));var o;if(t.encodeBufferLen&&(o=n.alloc(t.encodeBufferLen)),t.stream)t.buffer=null,o=r.encode(t,o),this.push(o),this._stream=t.stream,this._stream.on("readable",this._onreadable),this._stream.on("end",this._onend),this._stream.on("end",s),this._forward();else{if(o=r.encode(t,o),this.push(o))return e.nextTick(s);this._drain=s}}destroy(e){if(!this.destroyed){if(this.destroyed=!0,this._stream&&this._stream.destroy&&this._stream.destroy(),this._stream=null,this._drain){var t=this._drain;this._drain=null,t(e)}e&&this.emit("error",e),this.emit("close")}}finalize(){this._finalized=!0,this._stream||this._drain||this.push(null)}_forward(){if(this._stream)for(;!this.destroyed;){var e=this._stream.read();if(!e)return void(this._want=!!this._stream);if(!this.push(e))return}}_read(){if(!this._reading&&!this.destroyed){if(this._reading=!0,this._stream&&this._forward(),this._drain){var e=this._drain;this._drain=null,e()}this._reading=!1,this._finalized&&this.push(null)}}}}).call(this,ue,d({}).Buffer);var Ur={decode:e=>new Br(e),encode:e=>new Lr(e)};const{Writable:Or,PassThrough:Mr}=it;var Pr=class extends Or{constructor(e,t={}){super(t),this.destroyed=!1,this._queue=[],this._position=e||0,this._cb=null,this._buffer=null,this._out=null}_write(e,t,n){let r=!0;for(;;){if(this.destroyed)return;if(0===this._queue.length)return this._buffer=e,void(this._cb=n);this._buffer=null;var i=this._queue[0];const t=Math.max(i.start-this._position,0),s=i.end-this._position;if(t>=e.length)return this._position+=e.length,n(null);let o;if(s>e.length){this._position+=e.length,o=0===t?e:e.slice(t),r=i.stream.write(o)&&r;break}this._position+=s,o=0===t&&s===e.length?e:e.slice(t,s),r=i.stream.write(o)&&r,i.last&&i.stream.end(),e=e.slice(s),this._queue.shift()}r?n(null):i.stream.once("drain",n.bind(null,null))}slice(e){if(this.destroyed)return null;Array.isArray(e)||(e=[e]);const t=new Mr;return e.forEach((n,r)=>{this._queue.push({start:n.start,end:n.end,stream:t,last:r===e.length-1})}),this._buffer&&this._write(this._buffer,null,this._cb),t}destroy(e){this.destroyed||(this.destroyed=!0,e&&this.emit("error",e))}},Nr={};(function(e){const n=t({});class r{constructor(e,t){this._entries=e,this._countName=t||"count",this._index=0,this._offset=0,this.value=this._entries[0]}inc(){this._offset++,this._offset>=this._entries[this._index][this._countName]&&(this._index++,this._offset=0),this.value=this._entries[this._index]}}Nr=class extends l{constructor(e){super(),this._tracks=[],this._file=e,this._decoder=null,this._findMoov(0)}_findMoov(e){this._decoder&&this._decoder.destroy();let t=0;this._decoder=Ur.decode();const n=this._file.createReadStream({start:e});n.pipe(this._decoder);const r=i=>{"moov"===i.type?(this._decoder.removeListener("box",r),this._decoder.decode(e=>{n.destroy();try{this._processMoov(e)}catch(_i){_i.message=`Cannot parse mp4 file: ${_i.message}`,this.emit("error",_i)}})):i.length<4096?(t+=i.length,this._decoder.ignore()):(this._decoder.removeListener("box",r),t+=i.length,n.destroy(),this._decoder.destroy(),this._findMoov(e+t))};this._decoder.on("box",r)}_processMoov(t){const i=t.traks;this._tracks=[],this._hasVideo=!1,this._hasAudio=!1;for(let e=0;e<i.length;e++){const n=i[e],o=n.mdia.minf.stbl,a=o.stsd.entries[0],h=n.mdia.hdlr.handlerType;let c,u;if("vide"===h&&"avc1"===a.type){if(this._hasVideo)continue;this._hasVideo=!0,c="avc1",a.avcC&&(c+=`.${a.avcC.mimeCodec}`),u=`video/mp4; codecs="${c}"`}else{if("soun"!==h||"mp4a"!==a.type)continue;if(this._hasAudio)continue;this._hasAudio=!0,c="mp4a",a.esds&&a.esds.mimeCodec&&(c+=`.${a.esds.mimeCodec}`),u=`audio/mp4; codecs="${c}"`}const d=[];let l=0,f=0,p=0,g=0,m=0,_=0;const y=new r(o.stts.entries);let b=null;o.ctts&&(b=new r(o.ctts.entries));let w=0;for(;;){var s=o.stsc.entries[m];const e=o.stsz.entries[l],t=y.value.duration,n=b?b.value.compositionOffset:0;let r=!0;o.stss&&(r=o.stss.entries[w]===l+1);const i=o.stco||o.co64;if(d.push({size:e,duration:t,dts:_,presentationOffset:n,sync:r,offset:g+i.entries[p]}),++l>=o.stsz.entries.length)break;if(g+=e,++f>=s.samplesPerChunk){f=0,g=0,p++;const e=o.stsc.entries[m+1];e&&p+1>=e.firstChunk&&m++}_+=t,y.inc(),b&&b.inc(),r&&w++}n.mdia.mdhd.duration=0,n.tkhd.duration=0;const v=s.sampleDescriptionId,E={type:"moov",mvhd:t.mvhd,traks:[{tkhd:n.tkhd,mdia:{mdhd:n.mdia.mdhd,hdlr:n.mdia.hdlr,elng:n.mdia.elng,minf:{vmhd:n.mdia.minf.vmhd,smhd:n.mdia.minf.smhd,dinf:n.mdia.minf.dinf,stbl:{stsd:o.stsd,stts:{version:0,flags:0,entries:[]},ctts:{version:0,flags:0,entries:[]},stsc:{version:0,flags:0,entries:[]},stsz:{version:0,flags:0,entries:[]},stco:{version:0,flags:0,entries:[]},stss:{version:0,flags:0,entries:[]}}}}}],mvex:{mehd:{fragmentDuration:t.mvhd.duration},trexs:[{trackId:n.tkhd.trackId,defaultSampleDescriptionIndex:v,defaultSampleDuration:0,defaultSampleSize:0,defaultSampleFlags:0}]}};this._tracks.push({fragmentSequence:1,trackId:n.tkhd.trackId,timeScale:n.mdia.mdhd.timeScale,samples:d,currSample:null,currTime:null,moov:E,mime:u})}if(0===this._tracks.length)return void this.emit("error",new Error("no playable tracks"));t.mvhd.duration=0,this._ftyp={type:"ftyp",brand:"iso5",brandVersion:0,compatibleBrands:["iso5"]};const o=n.encode(this._ftyp),a=this._tracks.map(t=>{const r=n.encode(t.moov);return{mime:t.mime,init:e.concat([o,r])}});this.emit("ready",a)}seek(e){if(!this._tracks)throw new Error("Not ready yet; wait for 'ready' event");this._fileStream&&(this._fileStream.destroy(),this._fileStream=null);let t=-1;if(this._tracks.map((n,r)=>{n.outStream&&n.outStream.destroy(),n.inStream&&(n.inStream.destroy(),n.inStream=null);const i=n.outStream=Ur.encode(),s=this._generateFragment(r,e);if(!s)return i.finalize();(-1===t||s.ranges[0].start<t)&&(t=s.ranges[0].start);const o=e=>{i.destroyed||i.box(e.moof,t=>{if(t)return this.emit("error",t);i.destroyed||n.inStream.slice(e.ranges).pipe(i.mediaData(e.length,e=>{if(e)return this.emit("error",e);if(i.destroyed)return;const t=this._generateFragment(r);if(!t)return i.finalize();o(t)}))})};o(s)}),t>=0){const e=this._fileStream=this._file.createReadStream({start:t});this._tracks.forEach(n=>{n.inStream=new Pr(t,{highWaterMark:1e7}),e.pipe(n.inStream)})}return this._tracks.map(e=>e.outStream)}_findSampleBefore(e,t){const n=this._tracks[e],r=Math.floor(n.timeScale*t);let i=function(e,t,n,r,i){var s,o;if(void 0===r)r=0;else if((r|=0)<0||r>=e.length)throw new RangeError("invalid lower bound");if(void 0===i)i=e.length-1;else if((i|=0)<r||i>=e.length)throw new RangeError("invalid upper bound");for(;r<=i;)if((o=+n(e[s=r+(i-r>>>1)],t,s,e))<0)r=s+1;else{if(!(o>0))return s;i=s-1}return~r}(n.samples,r,(e,t)=>e.dts+e.presentationOffset-t);for(-1===i?i=0:i<0&&(i=-i-2);!n.samples[i].sync;)i--;return i}_generateFragment(e,t){const n=this._tracks[e];let r;if((r=void 0!==t?this._findSampleBefore(e,t):n.currSample)>=n.samples.length)return null;const i=n.samples[r].dts;let s=0;const o=[];for(var a=r;a<n.samples.length;a++){const e=n.samples[a];if(e.sync&&e.dts-i>=1*n.timeScale)break;s+=e.size;const t=o.length-1;t<0||o[t].end!==e.offset?o.push({start:e.offset,end:e.offset+e.size}):o[t].end+=e.size}return n.currSample=a,{moof:this._generateMoof(e,r,a),ranges:o,length:s}}_generateMoof(e,t,r){const i=this._tracks[e],s=[];let o=0;for(let n=t;n<r;n++){const e=i.samples[n];e.presentationOffset<0&&(o=1),s.push({sampleDuration:e.duration,sampleSize:e.size,sampleFlags:e.sync?33554432:16842752,sampleCompositionTimeOffset:e.presentationOffset})}const a={type:"moof",mfhd:{sequenceNumber:i.fragmentSequence++},trafs:[{tfhd:{flags:131072,trackId:i.trackId},tfdt:{baseMediaDecodeTime:i.samples[t].dts},trun:{flags:3841,dataOffset:8,entries:s,version:o}}]};return a.trafs[0].trun.dataOffset+=n.encodingLength(a),a}}}).call(this,d({}).Buffer);var Hr={};function jr(e,t,n={}){if(!(this instanceof jr))return console.warn("don't invoked VideoStream without 'new'"),new jr(e,t,n);this.detailedError=null,this._elem=t,this._elemWrapper=new br(t),this._waitingFired=!1,this._trackMeta=null,this._file=e,this._tracks=null,"none"!==this._elem.preload&&this._createMuxer(),this._onError=(()=>{this.detailedError=this._elemWrapper.detailedError,this.destroy()}),this._onWaiting=(()=>{this._waitingFired=!0,this._muxer?this._tracks&&this._pump():this._createMuxer()}),t.autoplay&&(t.preload="auto"),t.addEventListener("waiting",this._onWaiting),t.addEventListener("error",this._onError)}jr.prototype={_createMuxer(){this._muxer=new Nr(this._file),this._muxer.on("ready",e=>{this._tracks=e.map(e=>{const t=this._elemWrapper.createWriteStream(e.mime);t.on("error",e=>{this._elemWrapper.error(e)});const n={muxed:null,mediaSource:t,initFlushed:!1,onInitFlushed:null};return t.write(e.init,e=>{n.initFlushed=!0,n.onInitFlushed&&n.onInitFlushed(e)}),n}),(this._waitingFired||"auto"===this._elem.preload)&&this._pump()}),this._muxer.on("error",e=>{this._elemWrapper.error(e)})},_pump(){const e=this._muxer.seek(this._elem.currentTime,!this._tracks);this._tracks.forEach((t,n)=>{const r=()=>{t.muxed&&(t.muxed.destroy(),t.mediaSource=this._elemWrapper.createWriteStream(t.mediaSource),t.mediaSource.on("error",e=>{this._elemWrapper.error(e)})),t.muxed=e[n],pr(t.muxed,t.mediaSource)};t.initFlushed?r():t.onInitFlushed=(e=>{e?this._elemWrapper.error(e):r()})})},destroy(){this.destroyed||(this.destroyed=!0,this._elem.removeEventListener("waiting",this._onWaiting),this._elem.removeEventListener("error",this._onError),this._tracks&&this._tracks.forEach(e=>{e.muxed&&e.muxed.destroy()}),this._elem.src="")}},Hr=jr;var Dr={render:function(e,t,n,r){"function"==typeof n&&(r=n,n={}),n||(n={}),r||(r=function(){}),Qr(e),ei(n),"string"==typeof t&&(t=document.querySelector(t)),Xr(e,function(n){if(t.nodeName!==n.toUpperCase()){var r=ut.extname(e.name).toLowerCase();throw new Error('Cannot render "'+r+'" inside a "'+t.nodeName.toLowerCase()+'" element, expected "'+n+'"')}return t},n,r)},append:function(e,t,n,r){if("function"==typeof n&&(r=n,n={}),n||(n={}),r||(r=function(){}),Qr(e),ei(n),"string"==typeof t&&(t=document.querySelector(t)),t&&("VIDEO"===t.nodeName||"AUDIO"===t.nodeName))throw new Error("Invalid video/audio node argument. Argument must be root element that video/audio tag will be appended to.");function i(e){var n=document.createElement(e);return t.appendChild(n),n}Xr(e,function(e){return"video"===e||"audio"===e?function(e){var r=i(e);return n.autoplay&&(r.autoplay=!0),n.muted&&(r.muted=!0),n.controls&&(r.controls=!0),t.appendChild(r),r}(e):i(e)},n,function(e,t){e&&t&&t.remove(),r(e,t)})},mime:{".3gp":"video/3gpp",".aac":"audio/aac",".aif":"audio/x-aiff",".aiff":"audio/x-aiff",".atom":"application/atom+xml",".avi":"video/x-msvideo",".bmp":"image/bmp",".bz2":"application/x-bzip2",".conf":"text/plain",".css":"text/css",".csv":"text/plain",".diff":"text/x-diff",".doc":"application/msword",".flv":"video/x-flv",".gif":"image/gif",".gz":"application/x-gzip",".htm":"text/html",".html":"text/html",".ico":"image/vnd.microsoft.icon",".ics":"text/calendar",".iso":"application/octet-stream",".jar":"application/java-archive",".jpeg":"image/jpeg",".jpg":"image/jpeg",".js":"application/javascript",".json":"application/json",".less":"text/css",".log":"text/plain",".m3u":"audio/x-mpegurl",".m4a":"audio/x-m4a",".m4b":"audio/mp4",".m4p":"audio/mp4",".m4v":"video/x-m4v",".manifest":"text/cache-manifest",".markdown":"text/x-markdown",".mathml":"application/mathml+xml",".md":"text/x-markdown",".mid":"audio/midi",".midi":"audio/midi",".mov":"video/quicktime",".mp3":"audio/mpeg",".mp4":"video/mp4",".mp4v":"video/mp4",".mpeg":"video/mpeg",".mpg":"video/mpeg",".odp":"application/vnd.oasis.opendocument.presentation",".ods":"application/vnd.oasis.opendocument.spreadsheet",".odt":"application/vnd.oasis.opendocument.text",".oga":"audio/ogg",".ogg":"application/ogg",".pdf":"application/pdf",".png":"image/png",".pps":"application/vnd.ms-powerpoint",".ppt":"application/vnd.ms-powerpoint",".ps":"application/postscript",".psd":"image/vnd.adobe.photoshop",".qt":"video/quicktime",".rar":"application/x-rar-compressed",".rdf":"application/rdf+xml",".rss":"application/rss+xml",".rtf":"application/rtf",".svg":"image/svg+xml",".svgz":"image/svg+xml",".swf":"application/x-shockwave-flash",".tar":"application/x-tar",".tbz":"application/x-bzip-compressed-tar",".text":"text/plain",".tif":"image/tiff",".tiff":"image/tiff",".torrent":"application/x-bittorrent",".ttf":"application/x-font-ttf",".txt":"text/plain",".wav":"audio/wav",".webm":"video/webm",".wma":"audio/x-ms-wma",".wmv":"video/x-ms-wmv",".xls":"application/vnd.ms-excel",".xml":"application/xml",".yaml":"text/yaml",".yml":"text/yaml",".zip":"application/zip"}},qr=zt("render-media"),Fr=[".m4a",".m4b",".m4p",".m4v",".mp4"],Wr=[".m4v",".mkv",".mp4",".webm"],zr=[].concat(Wr,[".m4a",".m4b",".m4p",".mp3"]),$r=[".mov",".ogv"],Vr=[".aac",".oga",".ogg",".wav",".flac"],Gr=[".bmp",".gif",".jpeg",".jpg",".png",".svg"],Kr=[".css",".html",".js",".md",".pdf",".txt"],Yr=2e8,Jr="undefined"!=typeof window&&window.MediaSource;function Xr(e,t,n,r){var i,s=ut.extname(e.name).toLowerCase(),o=0;function a(){return!("number"==typeof e.length&&e.length>n.maxBlobLength&&(qr("File length too large for Blob URL approach: %d (max: %d)",e.length,n.maxBlobLength),l(new Error("File length too large for Blob URL approach: "+e.length+" (max: "+n.maxBlobLength+")")),1))}function h(n){a()&&(i=t(n),Zr(e,function(e,t){if(e)return l(e);i.addEventListener("error",l),i.addEventListener("loadstart",c),i.addEventListener("canplay",u),i.src=t}))}function c(){i.removeEventListener("loadstart",c),n.autoplay&&i.play()}function u(){i.removeEventListener("canplay",u),r(null,i)}function d(){Zr(e,function(e,n){if(e)return l(e);".pdf"!==s?((i=t("iframe")).sandbox="allow-forms allow-scripts",i.src=n):((i=t("object")).setAttribute("typemustmatch",!0),i.setAttribute("type","application/pdf"),i.setAttribute("data",n)),r(null,i)})}function l(t){t.message='Error rendering file "'+e.name+'": '+t.message,qr(t.message),r(t)}zr.indexOf(s)>=0?function(){var n=Wr.indexOf(s)>=0?"video":"audio";function r(){qr("Use MediaSource API for "+e.name),f(),i.addEventListener("error",d),i.addEventListener("loadstart",c),i.addEventListener("canplay",u);var t,n=new br(i).createWriteStream((t=e.name,{".m4a":'audio/mp4; codecs="mp4a.40.5"',".m4b":'audio/mp4; codecs="mp4a.40.5"',".m4p":'audio/mp4; codecs="mp4a.40.5"',".m4v":'video/mp4; codecs="avc1.640029, mp4a.40.5"',".mkv":'video/webm; codecs="avc1.640029, mp4a.40.5"',".mp3":"audio/mpeg",".mp4":'video/mp4; codecs="avc1.640029, mp4a.40.5"',".webm":'video/webm; codecs="vorbis, vp8"'}[ut.extname(t).toLowerCase()]));e.createReadStream().pipe(n),o&&(i.currentTime=o)}function h(){qr("Use Blob URL for "+e.name),f(),i.addEventListener("error",l),i.addEventListener("loadstart",c),i.addEventListener("canplay",u),Zr(e,function(e,t){if(e)return l(e);i.src=t,o&&(i.currentTime=o)})}function d(e){qr("MediaSource API error: fallback to Blob URL: %o",e.message||e),a()&&(i.removeEventListener("error",d),i.removeEventListener("canplay",u),h())}function f(){i||(i=t(n)).addEventListener("progress",function(){o=i.currentTime})}Jr?Fr.indexOf(s)>=0?(qr("Use `videostream` package for "+e.name),f(),i.addEventListener("error",function e(t){qr("videostream error: fallback to MediaSource API: %o",t.message||t),i.removeEventListener("error",e),i.removeEventListener("canplay",u),r()}),i.addEventListener("loadstart",c),i.addEventListener("canplay",u),Hr(e,i)):r():h()}():$r.indexOf(s)>=0?h("video"):Vr.indexOf(s)>=0?h("audio"):Gr.indexOf(s)>=0?(i=t("img"),Zr(e,function(t,n){if(t)return l(t);i.src=n,i.alt=e.name,r(null,i)})):Kr.indexOf(s)>=0?d():function(){qr('Unknown file extension "%s" - will attempt to render into iframe',s);var t="";e.createReadStream({start:0,end:1e3}).setEncoding("utf8").on("data",function(e){t+=e}).on("end",function(){_r(t)?(qr('File extension "%s" appears ascii, so will render.',s),d()):(qr('File extension "%s" appears non-ascii, will not render.',s),r(new Error('Unsupported file type "'+s+'": Cannot append to DOM')))}).on("error",r)}()}function Zr(e,t){var n=ut.extname(e.name).toLowerCase();Sr(e.createReadStream(),Dr.mime[n],t)}function Qr(e){if(null==e)throw new Error("file cannot be null or undefined");if("string"!=typeof e.name)throw new Error("missing or invalid file.name property");if("function"!=typeof e.createReadStream)throw new Error("missing or invalid file.createReadStream property")}function ei(e){null==e.autoplay&&(e.autoplay=!1),null==e.muted&&(e.muted=!1),null==e.controls&&(e.controls=!0),null==e.maxBlobLength&&(e.maxBlobLength=Yr)}var ti={};(function(e){ti=function(t,n,r){r=Rt(r);var i=e.alloc(n),s=0;t.on("data",function(e){e.copy(i,s),s+=e.length}).on("end",function(){r(null,i)}).on("error",r)}}).call(this,d({}).Buffer);const ni=zt("webtorrent:file-stream");var ri=class extends it.Readable{constructor(e,t){super(t),this.destroyed=!1,this._torrent=e._torrent;const n=t&&t.start||0,r=t&&t.end&&t.end<e.length?t.end:e.length-1,i=e._torrent.pieceLength;this._startPiece=(n+e.offset)/i|0,this._endPiece=(r+e.offset)/i|0,this._piece=this._startPiece,this._offset=n+e.offset-this._startPiece*i,this._missing=r-n+1,this._reading=!1,this._notifying=!1,this._criticalLength=Math.min(1048576/i|0,2)}_read(){this._reading||(this._reading=!0,this._notify())}_notify(){if(!this._reading||0===this._missing)return;if(!this._torrent.bitfield.get(this._piece))return this._torrent.critical(this._piece,this._piece+this._criticalLength);if(this._notifying)return;if(this._notifying=!0,this._torrent.destroyed)return this._destroy(new Error("Torrent removed"));const e=this._piece;this._torrent.store.get(e,(t,n)=>{if(this._notifying=!1,!this.destroyed){if(t)return this._destroy(t);ni("read %s (length %s) (err %s)",e,n.length,t&&t.message),this._offset&&(n=n.slice(this._offset),this._offset=0),this._missing<n.length&&(n=n.slice(0,this._missing)),this._missing-=n.length,ni("pushing buffer of length %s",n.length),this._reading=!1,this.push(n),0===this._missing&&this.push(null)}}),this._piece+=1}destroy(e){this._destroy(null,e)}_destroy(e,t){this.destroyed||(this.destroyed=!0,this._torrent.destroyed||this._torrent.deselect(this._startPiece,this._endPiece,!0),e&&this.emit("error",e),this.emit("close"),t&&t())}},ii={};(function(e){const{EventEmitter:t}=l,{PassThrough:n}=it;ii=class extends t{constructor(e,t){super(),this._torrent=e,this._destroyed=!1,this.name=t.name,this.path=t.path,this.length=t.length,this.offset=t.offset,this.done=!1;const n=t.offset,r=n+t.length-1;this._startPiece=n/this._torrent.pieceLength|0,this._endPiece=r/this._torrent.pieceLength|0,0===this.length&&(this.done=!0,this.emit("done"))}get downloaded(){if(!this._torrent.bitfield)return 0;const{pieces:e,bitfield:t,pieceLength:n}=this._torrent,{_startPiece:r,_endPiece:i}=this,s=e[r];let o=t.get(r)?n-this.offset%n:Math.max(s.length-s.missing-this.offset,0);for(let a=r+1;a<=i;++a)if(t.get(a))o+=n;else{const t=e[a];o+=t.length-t.missing}return Math.min(o,this.length)}get progress(){return this.length?this.downloaded/this.length:0}select(e){0!==this.length&&this._torrent.select(this._startPiece,this._endPiece,e)}deselect(){0!==this.length&&this._torrent.deselect(this._startPiece,this._endPiece,!1)}createReadStream(t){if(0===this.length){const t=new n;return e.nextTick(()=>{t.end()}),t}const r=new ri(this,t);return this._torrent.select(r._startPiece,r._endPiece,!0,()=>{r._notify()}),fr(r,()=>{this._destroyed||this._torrent.destroyed||this._torrent.deselect(r._startPiece,r._endPiece,!0)}),r}getBuffer(e){ti(this.createReadStream(),this.length,e)}getBlob(e){if("undefined"==typeof window)throw new Error("browser-only method");(function(e,t){if(null!=t&&"string"!=typeof t)throw new Error("Invalid mimetype, expected string.");return new Promise((n,r)=>{const i=[];e.on("data",e=>i.push(e)).once("end",()=>{const e=null!=t?new Blob(i,{type:t}):new Blob(i);n(e)}).once("error",r)})})(this.createReadStream(),this._getMimeType()).then(t=>e(null,t),e)}getBlobURL(e){if("undefined"==typeof window)throw new Error("browser-only method");Sr(this.createReadStream(),this._getMimeType(),e)}appendTo(e,t,n){if("undefined"==typeof window)throw new Error("browser-only method");Dr.append(this,e,t,n)}renderTo(e,t,n){if("undefined"==typeof window)throw new Error("browser-only method");Dr.render(this,e,t,n)}_getMimeType(){return Dr.mime[ut.extname(this.name).toLowerCase()]}_destroy(){this._destroyed=!0,this._torrent=null}}}).call(this,ue);var si=function(e,t){if(!(t>=e.length||t<0)){var n=e.pop();if(t<e.length){var r=e[t];return e[t]=n,r}return n}},oi={};(function(e){const t=zt("bittorrent-protocol"),n=e.from("\x13BitTorrent protocol"),r=e.from([0,0,0,0]),i=e.from([0,0,0,1,0]),s=e.from([0,0,0,1,1]),o=e.from([0,0,0,1,2]),a=e.from([0,0,0,1,3]),h=[0,0,0,0,0,0,0,0],c=[0,0,0,3,9,0,0];class u{constructor(e,t,n,r){this.piece=e,this.offset=t,this.length=n,this.callback=r}}oi=class extends it.Duplex{constructor(){super(),this._debugId=On(4).toString("hex"),this._debug("new wire"),this.peerId=null,this.peerIdBuffer=null,this.type=null,this.amChoking=!0,this.amInterested=!1,this.peerChoking=!0,this.peerInterested=!1,this.peerPieces=new zn(0,{grow:4e5}),this.peerExtensions={},this.requests=[],this.peerRequests=[],this.extendedMapping={},this.peerExtendedMapping={},this.extendedHandshake={},this.peerExtendedHandshake={},this._ext={},this._nextExt=1,this.uploaded=0,this.downloaded=0,this.uploadSpeed=jn(),this.downloadSpeed=jn(),this._keepAliveInterval=null,this._timeout=null,this._timeoutMs=0,this.destroyed=!1,this._finished=!1,this._parserSize=0,this._parser=null,this._buffer=[],this._bufferSize=0,this.on("finish",this._onFinish),this._parseHandshake()}setKeepAlive(e){this._debug("setKeepAlive %s",e),clearInterval(this._keepAliveInterval),!1!==e&&(this._keepAliveInterval=setInterval(()=>{this.keepAlive()},55e3))}setTimeout(e,t){this._debug("setTimeout ms=%d unref=%s",e,t),this._clearTimeout(),this._timeoutMs=e,this._timeoutUnref=!!t,this._updateTimeout()}destroy(){this.destroyed||(this.destroyed=!0,this._debug("destroy"),this.emit("close"),this.end())}end(...e){this._debug("end"),this._onUninterested(),this._onChoke(),super.end(...e)}use(e){const t=e.prototype.name;if(!t)throw new Error('Extension class requires a "name" property on the prototype');this._debug("use extension.name=%s",t);const n=this._nextExt,r=new e(this);function i(){}"function"!=typeof r.onHandshake&&(r.onHandshake=i),"function"!=typeof r.onExtendedHandshake&&(r.onExtendedHandshake=i),"function"!=typeof r.onMessage&&(r.onMessage=i),this.extendedMapping[n]=t,this._ext[t]=r,this[t]=r,this._nextExt+=1}keepAlive(){this._debug("keep-alive"),this._push(r)}handshake(t,r,i){let s,o;if("string"==typeof t?(t=t.toLowerCase(),s=e.from(t,"hex")):t=(s=t).toString("hex"),"string"==typeof r?o=e.from(r,"hex"):r=(o=r).toString("hex"),20!==s.length||20!==o.length)throw new Error("infoHash and peerId MUST have length 20");this._debug("handshake i=%s p=%s exts=%o",t,r,i);const a=e.from(h);a[5]|=16,i&&i.dht&&(a[7]|=1),this._push(e.concat([n,a,s,o])),this._handshakeSent=!0,this.peerExtensions.extended&&!this._extendedHandshakeSent&&this._sendExtendedHandshake()}_sendExtendedHandshake(){const e=Object.assign({},this.extendedHandshake);e.m={};for(const t in this.extendedMapping){const n=this.extendedMapping[t];e.m[n]=Number(t)}this.extended(0,Q.encode(e)),this._extendedHandshakeSent=!0}choke(){if(!this.amChoking){for(this.amChoking=!0,this._debug("choke");this.peerRequests.length;)this.peerRequests.pop();this._push(i)}}unchoke(){this.amChoking&&(this.amChoking=!1,this._debug("unchoke"),this._push(s))}interested(){this.amInterested||(this.amInterested=!0,this._debug("interested"),this._push(o))}uninterested(){this.amInterested&&(this.amInterested=!1,this._debug("uninterested"),this._push(a))}have(e){this._debug("have %d",e),this._message(4,[e],null)}bitfield(t){this._debug("bitfield"),e.isBuffer(t)||(t=t.buffer),this._message(5,[],t)}request(e,t,n,r){return r||(r=(()=>{})),this._finished?r(new Error("wire is closed")):this.peerChoking?r(new Error("peer is choking")):(this._debug("request index=%d offset=%d length=%d",e,t,n),this.requests.push(new u(e,t,n,r)),this._updateTimeout(),void this._message(6,[e,t,n],null))}piece(e,t,n){this._debug("piece index=%d offset=%d",e,t),this.uploaded+=n.length,this.uploadSpeed(n.length),this.emit("upload",n.length),this._message(7,[e,t],n)}cancel(e,t,n){this._debug("cancel index=%d offset=%d length=%d",e,t,n),this._callback(this._pull(this.requests,e,t,n),new Error("request was cancelled"),null),this._message(8,[e,t,n],null)}port(t){this._debug("port %d",t);const n=e.from(c);n.writeUInt16BE(t,5),this._push(n)}extended(t,n){if(this._debug("extended ext=%s",t),"string"==typeof t&&this.peerExtendedMapping[t]&&(t=this.peerExtendedMapping[t]),"number"!=typeof t)throw new Error(`Unrecognized extension: ${t}`);{const r=e.from([t]),i=e.isBuffer(n)?n:Q.encode(n);this._message(20,[],e.concat([r,i]))}}_read(){}_message(t,n,r){const i=r?r.length:0,s=e.allocUnsafe(5+4*n.length);s.writeUInt32BE(s.length+i-4,0),s[4]=t;for(let e=0;e<n.length;e++)s.writeUInt32BE(n[e],5+4*e);this._push(s),r&&this._push(r)}_push(e){if(!this._finished)return this.push(e)}_onKeepAlive(){this._debug("got keep-alive"),this.emit("keep-alive")}_onHandshake(e,t,n){const r=e.toString("hex"),i=t.toString("hex");let s;for(s in this._debug("got handshake i=%s p=%s exts=%o",r,i,n),this.peerId=i,this.peerIdBuffer=t,this.peerExtensions=n,this.emit("handshake",r,i,n),this._ext)this._ext[s].onHandshake(r,i,n);n.extended&&this._handshakeSent&&!this._extendedHandshakeSent&&this._sendExtendedHandshake()}_onChoke(){for(this.peerChoking=!0,this._debug("got choke"),this.emit("choke");this.requests.length;)this._callback(this.requests.pop(),new Error("peer is choking"),null)}_onUnchoke(){this.peerChoking=!1,this._debug("got unchoke"),this.emit("unchoke")}_onInterested(){this.peerInterested=!0,this._debug("got interested"),this.emit("interested")}_onUninterested(){this.peerInterested=!1,this._debug("got uninterested"),this.emit("uninterested")}_onHave(e){this.peerPieces.get(e)||(this._debug("got have %d",e),this.peerPieces.set(e,!0),this.emit("have",e))}_onBitField(e){this.peerPieces=new zn(e),this._debug("got bitfield"),this.emit("bitfield",this.peerPieces)}_onRequest(e,t,n){if(this.amChoking)return;this._debug("got request index=%d offset=%d length=%d",e,t,n);const r=(r,s)=>{if(i===this._pull(this.peerRequests,e,t,n))return r?this._debug("error satisfying request index=%d offset=%d length=%d (%s)",e,t,n,r.message):void this.piece(e,t,s)};var i=new u(e,t,n,r);this.peerRequests.push(i),this.emit("request",e,t,n,r)}_onPiece(e,t,n){this._debug("got piece index=%d offset=%d",e,t),this._callback(this._pull(this.requests,e,t,n.length),null,n),this.downloaded+=n.length,this.downloadSpeed(n.length),this.emit("download",n.length),this.emit("piece",e,t,n)}_onCancel(e,t,n){this._debug("got cancel index=%d offset=%d length=%d",e,t,n),this._pull(this.peerRequests,e,t,n),this.emit("cancel",e,t,n)}_onPort(e){this._debug("got port %d",e),this.emit("port",e)}_onExtended(e,t){if(0===e){let e,n;try{e=Q.decode(t)}catch(_i){this._debug("ignoring invalid extended handshake: %s",_i.message||_i)}if(!e)return;if(this.peerExtendedHandshake=e,"object"==typeof e.m)for(n in e.m)this.peerExtendedMapping[n]=Number(e.m[n].toString());for(n in this._ext)this.peerExtendedMapping[n]&&this._ext[n].onExtendedHandshake(this.peerExtendedHandshake);this._debug("got extended handshake"),this.emit("extended","handshake",this.peerExtendedHandshake)}else this.extendedMapping[e]&&(e=this.extendedMapping[e],this._ext[e]&&this._ext[e].onMessage(t)),this._debug("got extended message ext=%s",e),this.emit("extended",e,t)}_onTimeout(){this._debug("request timed out"),this._callback(this.requests.shift(),new Error("request has timed out"),null),this.emit("timeout")}_write(t,n,r){for(this._bufferSize+=t.length,this._buffer.push(t);this._bufferSize>=this._parserSize;){const t=1===this._buffer.length?this._buffer[0]:e.concat(this._buffer);this._bufferSize-=this._parserSize,this._buffer=this._bufferSize?[t.slice(this._parserSize)]:[],this._parser(t.slice(0,this._parserSize))}r(null)}_callback(e,t,n){e&&(this._clearTimeout(),this.peerChoking||this._finished||this._updateTimeout(),e.callback(t,n))}_clearTimeout(){this._timeout&&(clearTimeout(this._timeout),this._timeout=null)}_updateTimeout(){this._timeoutMs&&this.requests.length&&!this._timeout&&(this._timeout=setTimeout(()=>this._onTimeout(),this._timeoutMs),this._timeoutUnref&&this._timeout.unref&&this._timeout.unref())}_parse(e,t){this._parserSize=e,this._parser=t}_onMessageLength(e){const t=e.readUInt32BE(0);t>0?this._parse(t,this._onMessage):(this._onKeepAlive(),this._parse(4,this._onMessageLength))}_onMessage(e){switch(this._parse(4,this._onMessageLength),e[0]){case 0:return this._onChoke();case 1:return this._onUnchoke();case 2:return this._onInterested();case 3:return this._onUninterested();case 4:return this._onHave(e.readUInt32BE(1));case 5:return this._onBitField(e.slice(1));case 6:return this._onRequest(e.readUInt32BE(1),e.readUInt32BE(5),e.readUInt32BE(9));case 7:return this._onPiece(e.readUInt32BE(1),e.readUInt32BE(5),e.slice(9));case 8:return this._onCancel(e.readUInt32BE(1),e.readUInt32BE(5),e.readUInt32BE(9));case 9:return this._onPort(e.readUInt16BE(1));case 20:return this._onExtended(e.readUInt8(1),e.slice(2));default:return this._debug("got unknown message"),this.emit("unknownmessage",e)}}_parseHandshake(){this._parse(1,e=>{const t=e.readUInt8(0);this._parse(t+48,e=>{const n=e.slice(0,t);if("BitTorrent protocol"!==n.toString())return this._debug("Error: wire not speaking BitTorrent protocol (%s)",n.toString()),void this.end();e=e.slice(t),this._onHandshake(e.slice(8,28),e.slice(28,48),{dht:!!(1&e[7]),extended:!!(16&e[5])}),this._parse(4,this._onMessageLength)})})}_onFinish(){for(this._finished=!0,this.push(null);this.read(););for(clearInterval(this._keepAliveInterval),this._parse(Number.MAX_VALUE,()=>{});this.peerRequests.length;)this.peerRequests.pop();for(;this.requests.length;)this._callback(this.requests.pop(),new Error("wire was closed"),null)}_debug(...e){e[0]=`[${this._debugId}] ${e[0]}`,t(...e)}_pull(e,t,n,r){for(let i=0;i<e.length;i++){const s=e[i];if(s.piece===t&&s.offset===n&&s.length===r)return si(e,i),s}return null}}}).call(this,d({}).Buffer);var ai="0.107.1",hi={};(function(e){const t=zt("webtorrent:webconn"),n=ai;hi=class extends oi{constructor(e,t){super(),this.url=e,this.webPeerId=Nt.sync(e),this._torrent=t,this._init()}_init(){this.setKeepAlive(!0),this.once("handshake",(e,t)=>{if(this.destroyed)return;this.handshake(e,this.webPeerId);const n=this._torrent.pieces.length,r=new zn(n);for(let i=0;i<=n;i++)r.set(i,!0);this.bitfield(r)}),this.once("interested",()=>{t("interested"),this.unchoke()}),this.on("uninterested",()=>{t("uninterested")}),this.on("choke",()=>{t("choke")}),this.on("unchoke",()=>{t("unchoke")}),this.on("bitfield",()=>{t("bitfield")}),this.on("request",(e,n,r,i)=>{t("request pieceIndex=%d offset=%d length=%d",e,n,r),this.httpRequest(e,n,r,i)})}httpRequest(r,i,s,o){const a=r*this._torrent.pieceLength+i,h=a+s-1,c=this._torrent.files;let u;if(c.length<=1)u=[{url:this.url,start:a,end:h}];else{const e=c.filter(e=>e.offset<=h&&e.offset+e.length>a);if(e.length<1)return o(new Error("Could not find file corresponnding to web seed range request"));u=e.map(e=>{const t=e.offset+e.length-1;return{url:this.url+("/"===this.url[this.url.length-1]?"":"/")+e.path,fileOffsetInRange:Math.max(e.offset-a,0),start:Math.max(a-e.offset,0),end:Math.min(t,h-e.offset)}})}let d,l=0,f=!1;u.length>1&&(d=e.alloc(s)),u.forEach(e=>{const a=e.url,h=e.start,c=e.end;t("Requesting url=%s pieceIndex=%d offset=%d length=%d start=%d end=%d",a,r,i,s,h,c);const p={url:a,method:"GET",headers:{"user-agent":`WebTorrent/${n} (https://webtorrent.io)`,range:`bytes=${h}-${c}`}};function g(n,r){if(n.statusCode<200||n.statusCode>=300)return f=!0,o(new Error(`Unexpected HTTP status code ${n.statusCode}`));t("Got data of length %d",r.length),1===u.length?o(null,r):(r.copy(d,e.fileOffsetInRange),++l===u.length&&o(null,d))}Tn.concat(p,(e,t,n)=>{if(!f)return e?"undefined"==typeof window||a.startsWith(`${window.location.origin}/`)?(f=!0,o(e)):Tn.head(a,(t,n)=>{if(!f){if(t)return f=!0,o(t);if(n.statusCode<200||n.statusCode>=300)return f=!0,o(new Error(`Unexpected HTTP status code ${n.statusCode}`));if(n.url===a)return f=!0,o(e);p.url=n.url,Tn.concat(p,(e,t,n)=>{if(!f)return e?(f=!0,o(e)):void g(t,n)})}}):void g(t,n)})})}destroy(){super.destroy(),this._torrent=null}}}).call(this,d({}).Buffer);var ci={};const ui=zt("webtorrent:peer"),di=5e3,li=25e3,fi=25e3;ci.createWebRTCPeer=((e,t)=>{const n=new pi(e.id,"webrtc");return n.conn=e,n.swarm=t,n.conn.connected?n.onConnect():(n.conn.once("connect",()=>{n.onConnect()}),n.conn.once("error",e=>{n.destroy(e)}),n.startConnectTimeout()),n}),ci.createTCPOutgoingPeer=((e,t)=>{const n=new pi(e,"tcpOutgoing");return n.addr=e,n.swarm=t,n}),ci.createWebSeedPeer=((e,t)=>{const n=new pi(e,"webSeed");return n.swarm=t,n.conn=new hi(e,t),n.onConnect(),n});class pi{constructor(e,t){this.id=e,this.type=t,ui("new %s Peer %s",t,e),this.addr=null,this.conn=null,this.swarm=null,this.wire=null,this.connected=!1,this.destroyed=!1,this.timeout=null,this.retries=0,this.sentHandshake=!1}onConnect(){if(this.destroyed)return;this.connected=!0,ui("Peer %s connected",this.id),clearTimeout(this.connectTimeout);const e=this.conn;e.once("end",()=>{this.destroy()}),e.once("close",()=>{this.destroy()}),e.once("finish",()=>{this.destroy()}),e.once("error",e=>{this.destroy(e)});const t=this.wire=new oi;t.type=this.type,t.once("end",()=>{this.destroy()}),t.once("close",()=>{this.destroy()}),t.once("finish",()=>{this.destroy()}),t.once("error",e=>{this.destroy(e)}),t.once("handshake",(e,t)=>{this.onHandshake(e,t)}),this.startHandshakeTimeout(),e.pipe(t).pipe(e),this.swarm&&!this.sentHandshake&&this.handshake()}onHandshake(e,t){if(!this.swarm)return;if(this.destroyed)return;if(this.swarm.destroyed)return this.destroy(new Error("swarm already destroyed"));if(e!==this.swarm.infoHash)return this.destroy(new Error("unexpected handshake info hash for this swarm"));if(t===this.swarm.peerId)return this.destroy(new Error("refusing to connect to ourselves"));ui("Peer %s got handshake %s",this.id,e),clearTimeout(this.handshakeTimeout),this.retries=0;let n=this.addr;!n&&this.conn.remoteAddress&&this.conn.remotePort&&(n=`${this.conn.remoteAddress}:${this.conn.remotePort}`),this.swarm._onWire(this.wire,n),this.swarm&&!this.swarm.destroyed&&(this.sentHandshake||this.handshake())}handshake(){const e={dht:!this.swarm.private&&!!this.swarm.client.dht};this.wire.handshake(this.swarm.infoHash,this.swarm.client.peerId,e),this.sentHandshake=!0}startConnectTimeout(){clearTimeout(this.connectTimeout),this.connectTimeout=setTimeout(()=>{this.destroy(new Error("connect timeout"))},"webrtc"===this.type?li:di),this.connectTimeout.unref&&this.connectTimeout.unref()}startHandshakeTimeout(){clearTimeout(this.handshakeTimeout),this.handshakeTimeout=setTimeout(()=>{this.destroy(new Error("handshake timeout"))},fi),this.handshakeTimeout.unref&&this.handshakeTimeout.unref()}destroy(e){if(this.destroyed)return;this.destroyed=!0,this.connected=!1,ui("destroy %s (error: %s)",this.id,e&&(e.message||e)),clearTimeout(this.connectTimeout),clearTimeout(this.handshakeTimeout);const t=this.swarm,n=this.conn,r=this.wire;this.swarm=null,this.conn=null,this.wire=null,t&&r&&si(t.wires,t.wires.indexOf(r)),n&&(n.on("error",()=>{}),n.destroy()),r&&r.destroy(),t&&t.removePeer(this.id)}}var gi={};(function(e,t){const n=zt("webtorrent:torrent"),r=l.EventEmitter,i=3*ur.BLOCK_LENGTH,s=e.browser?1/0:2,o=[1e3,5e3,15e3],a=`WebTorrent/${ai} (https://webtorrent.io)`;let h;try{h=ut.join(wt.statSync("/tmp")&&"/tmp","webtorrent")}catch(_i){h=ut.join("function"==typeof ne.tmpdir?ne.tmpdir():"/","webtorrent")}function c(e,t){return 2+Math.ceil(t*e.downloadSpeed()/ur.BLOCK_LENGTH)}function u(){}gi=class extends r{constructor(e,t,n){super(),this._debugId="unknown infohash",this.client=t,this.announce=n.announce,this.urlList=n.urlList,this.path=n.path,this.skipVerify=!!n.skipVerify,this._store=n.store||ar,this._getAnnounceOpts=n.getAnnounceOpts,this.strategy=n.strategy||"sequential",this.maxWebConns=n.maxWebConns||4,this._rechokeNumSlots=!1===n.uploads||0===n.uploads?0:+n.uploads||10,this._rechokeOptimisticWire=null,this._rechokeOptimisticTime=0,this._rechokeIntervalId=null,this.ready=!1,this.destroyed=!1,this.paused=!1,this.done=!1,this.metadata=null,this.store=null,this.files=[],this.pieces=[],this._amInterested=!1,this._selections=[],this._critical=[],this.wires=[],this._queue=[],this._peers={},this._peersLength=0,this.received=0,this.uploaded=0,this._downloadSpeed=jn(),this._uploadSpeed=jn(),this._servers=[],this._xsRequests=[],this._fileModtimes=n.fileModtimes,null!==e&&this._onTorrentId(e),this._debug("new torrent")}get timeRemaining(){return this.done?0:0===this.downloadSpeed?1/0:(this.length-this.downloaded)/this.downloadSpeed*1e3}get downloaded(){if(!this.bitfield)return 0;let e=0;for(let t=0,n=this.pieces.length;t<n;++t)if(this.bitfield.get(t))e+=t===n-1?this.lastPieceLength:this.pieceLength;else{const n=this.pieces[t];e+=n.length-n.missing}return e}get downloadSpeed(){return this._downloadSpeed()}get uploadSpeed(){return this._uploadSpeed()}get progress(){return this.length?this.downloaded/this.length:0}get ratio(){return this.uploaded/(this.received||1)}get numPeers(){return this.wires.length}get torrentFileBlobURL(){if("undefined"==typeof window)throw new Error("browser-only property");return this.torrentFile?URL.createObjectURL(new Blob([this.torrentFile],{type:"application/x-bittorrent"})):null}get _numQueued(){return this._queue.length+(this._peersLength-this._numConns)}get _numConns(){let e=0;for(const t in this._peers)this._peers[t].connected&&(e+=1);return e}get swarm(){return console.warn("WebTorrent: `torrent.swarm` is deprecated. Use `torrent` directly instead."),this}_onTorrentId(t){if(this.destroyed)return;let n;try{n=Ln(t)}catch(_i){}n?(this.infoHash=n.infoHash,this._debugId=n.infoHash.toString("hex").substring(0,7),e.nextTick(()=>{this.destroyed||this._onParsedTorrent(n)})):Ln.remote(t,(e,t)=>{if(!this.destroyed)return e?this._destroy(e):void this._onParsedTorrent(t)})}_onParsedTorrent(e){if(!this.destroyed){if(this._processParsedTorrent(e),!this.infoHash)return this._destroy(new Error("Malformed torrent data: No info hash"));this.path||(this.path=ut.join(h,this.infoHash)),this._rechokeIntervalId=setInterval(()=>{this._rechoke()},1e4),this._rechokeIntervalId.unref&&this._rechokeIntervalId.unref(),this.emit("_infoHash",this.infoHash),this.destroyed||(this.emit("infoHash",this.infoHash),this.destroyed||(this.client.listening?this._onListening():this.client.once("listening",()=>{this._onListening()})))}}_processParsedTorrent(e){this._debugId=e.infoHash.toString("hex").substring(0,7),this.announce&&(e.announce=e.announce.concat(this.announce)),this.client.tracker&&t.WEBTORRENT_ANNOUNCE&&!this.private&&(e.announce=e.announce.concat(t.WEBTORRENT_ANNOUNCE)),this.urlList&&(e.urlList=e.urlList.concat(this.urlList)),Rn(e.announce),Rn(e.urlList),Object.assign(this,e),this.magnetURI=Ln.toMagnetURI(e),this.torrentFile=Ln.toTorrentFile(e)}_onListening(){if(this.discovery||this.destroyed)return;let e=this.client.tracker;e&&(e=Object.assign({},this.client.tracker,{getAnnounceOpts:()=>{const e={uploaded:this.uploaded,downloaded:this.downloaded,left:Math.max(this.length-this.downloaded,0)};return this.client.tracker.getAnnounceOpts&&Object.assign(e,this.client.tracker.getAnnounceOpts()),this._getAnnounceOpts&&Object.assign(e,this._getAnnounceOpts()),e}})),this.discovery=new or({infoHash:this.infoHash,announce:this.announce,peerId:this.client.peerId,dht:!this.private&&this.client.dht,tracker:e,port:this.client.torrentPort,userAgent:a}),this.discovery.on("error",e=>{this._destroy(e)}),this.discovery.on("peer",e=>{"string"==typeof e&&this.done||this.addPeer(e)}),this.discovery.on("trackerAnnounce",()=>{this.emit("trackerAnnounce"),0===this.numPeers&&this.emit("noPeers","tracker")}),this.discovery.on("dhtAnnounce",()=>{this.emit("dhtAnnounce"),0===this.numPeers&&this.emit("noPeers","dht")}),this.discovery.on("warning",e=>{this.emit("warning",e)}),this.info?this._onMetadata(this):this.xs&&this._getMetadataFromServer()}_getMetadataFromServer(){const e=this,t=(Array.isArray(this.xs)?this.xs:[this.xs]).map(t=>n=>{!function(t,n){if(0!==t.indexOf("http://")&&0!==t.indexOf("https://"))return e.emit("warning",new Error(`skipping non-http xs param: ${t}`)),n(null);const r={url:t,method:"GET",headers:{"user-agent":a}};let i;try{i=Tn.concat(r,function(r,i,s){if(e.destroyed)return n(null);if(e.metadata)return n(null);if(r)return e.emit("warning",new Error(`http error from xs param: ${t}`)),n(null);if(200!==i.statusCode)return e.emit("warning",new Error(`non-200 status code ${i.statusCode} from xs param: ${t}`)),n(null);let o;try{o=Ln(s)}catch(r){}return o?o.infoHash!==e.infoHash?(e.emit("warning",new Error(`got torrent file with incorrect info hash from xs param: ${t}`)),n(null)):(e._onMetadata(o),void n(null)):(e.emit("warning",new Error(`got invalid torrent file from xs param: ${t}`)),n(null))})}catch(_i){return e.emit("warning",new Error(`skipping invalid url xs param: ${t}`)),n(null)}e._xsRequests.push(i)}(t,n)});Ut(t)}_onMetadata(e){if(this.metadata||this.destroyed)return;let t;if(this._debug("got metadata"),this._xsRequests.forEach(e=>{e.abort()}),this._xsRequests=[],e&&e.infoHash)t=e;else try{t=Ln(e)}catch(_i){return this._destroy(_i)}if(this._processParsedTorrent(t),this.metadata=this.torrentFile,this.client.enableWebSeeds&&this.urlList.forEach(e=>{this.addWebSeed(e)}),this._rarityMap=new class{constructor(e){this._torrent=e,this._numPieces=e.pieces.length,this._pieces=new Array(this._numPieces),this._onWire=(e=>{this.recalculate(),this._initWire(e)}),this._onWireHave=(e=>{this._pieces[e]+=1}),this._onWireBitfield=(()=>{this.recalculate()}),this._torrent.wires.forEach(e=>{this._initWire(e)}),this._torrent.on("wire",this._onWire),this.recalculate()}getRarestPiece(e){let t=[],n=1/0;for(let r=0;r<this._numPieces;++r){if(e&&!e(r))continue;const i=this._pieces[r];i===n?t.push(r):i<n&&(t=[r],n=i)}return t.length?t[Math.random()*t.length|0]:-1}destroy(){this._torrent.removeListener("wire",this._onWire),this._torrent.wires.forEach(e=>{this._cleanupWireEvents(e)}),this._torrent=null,this._pieces=null,this._onWire=null,this._onWireHave=null,this._onWireBitfield=null}_initWire(e){e._onClose=(()=>{this._cleanupWireEvents(e);for(let t=0;t<this._numPieces;++t)this._pieces[t]-=e.peerPieces.get(t)}),e.on("have",this._onWireHave),e.on("bitfield",this._onWireBitfield),e.once("close",e._onClose)}recalculate(){this._pieces.fill(0);for(const e of this._torrent.wires)for(let t=0;t<this._numPieces;++t)this._pieces[t]+=e.peerPieces.get(t)}_cleanupWireEvents(e){e.removeListener("have",this._onWireHave),e.removeListener("bitfield",this._onWireBitfield),e._onClose&&e.removeListener("close",e._onClose),e._onClose=null}}(this),this.store=new hr(new this._store(this.pieceLength,{torrent:{infoHash:this.infoHash},files:this.files.map(e=>({path:ut.join(this.path,e.path),length:e.length,offset:e.offset})),length:this.length,name:this.infoHash})),this.files=this.files.map(e=>new ii(this,e)),this.so){const e=mr.parse(this.so);this.files.forEach((t,n)=>{e.includes(n)&&this.files[n].select(!0)})}else 0!==this.pieces.length&&this.select(0,this.pieces.length-1,!1);if(this._hashes=this.pieces,this.pieces=this.pieces.map((e,t)=>{const n=t===this.pieces.length-1?this.lastPieceLength:this.pieceLength;return new ur(n)}),this._reservations=this.pieces.map(()=>[]),this.bitfield=new zn(this.pieces.length),this.wires.forEach(e=>{e.ut_metadata&&e.ut_metadata.setMetadata(this.metadata),this._onWireWithMetadata(e)}),this.skipVerify)this._markAllVerified(),this._onStore();else{const e=e=>{if(e)return this._destroy(e);this._debug("done verifying"),this._onStore()};this._debug("verifying existing torrent data"),this._fileModtimes&&this._store===ar?this.getFileModtimes((t,n)=>{if(t)return this._destroy(t);this.files.map((e,t)=>n[t]===this._fileModtimes[t]).every(e=>e)?(this._markAllVerified(),this._onStore()):this._verifyPieces(e)}):this._verifyPieces(e)}this.emit("metadata")}getFileModtimes(e){const t=[];cr(this.files.map((e,n)=>r=>{wt.stat(ut.join(this.path,e.path),(e,i)=>{if(e&&"ENOENT"!==e.code)return r(e);t[n]=i&&i.mtime.getTime(),r(null)})}),s,n=>{this._debug("done getting file modtimes"),e(n,t)})}_verifyPieces(t){cr(this.pieces.map((t,n)=>t=>{if(this.destroyed)return t(new Error("torrent is destroyed"));this.store.get(n,(r,i)=>this.destroyed?t(new Error("torrent is destroyed")):r?e.nextTick(t,null):void Nt(i,e=>{if(this.destroyed)return t(new Error("torrent is destroyed"));if(e===this._hashes[n]){if(!this.pieces[n])return t(null);this._debug("piece verified %s",n),this._markVerified(n)}else this._debug("piece invalid %s",n);t(null)}))}),s,t)}rescanFiles(e){if(this.destroyed)throw new Error("torrent is destroyed");e||(e=u),this._verifyPieces(t=>{if(t)return this._destroy(t),e(t);this._checkDone(),e(null)})}_markAllVerified(){for(let e=0;e<this.pieces.length;e++)this._markVerified(e)}_markVerified(e){this.pieces[e]=null,this._reservations[e]=null,this.bitfield.set(e,!0)}_onStore(){this.destroyed||(this._debug("on store"),this.ready=!0,this.emit("ready"),this._checkDone(),this._updateSelections())}destroy(e){this._destroy(null,e)}_destroy(e,t){if(this.destroyed)return;this.destroyed=!0,this._debug("destroy"),this.client._remove(this),clearInterval(this._rechokeIntervalId),this._xsRequests.forEach(e=>{e.abort()}),this._rarityMap&&this._rarityMap.destroy();for(const r in this._peers)this.removePeer(r);this.files.forEach(e=>{e instanceof ii&&e._destroy()});const n=this._servers.map(e=>t=>{e.destroy(t)});this.discovery&&n.push(e=>{this.discovery.destroy(e)}),this.store&&n.push(e=>{this.store.close(e)}),Ut(n,t),e&&(0===this.listenerCount("error")?this.client.emit("error",e):this.emit("error",e)),this.emit("close"),this.client=null,this.files=[],this.discovery=null,this.store=null,this._rarityMap=null,this._peers=null,this._servers=null,this._xsRequests=null}addPeer(e){if(this.destroyed)throw new Error("torrent is destroyed");if(!this.infoHash)throw new Error("addPeer() must not be called before the `infoHash` event");if(this.client.blocked){let t;if("string"==typeof e){let r;try{r=Dn(e)}catch(n){return this._debug("ignoring peer: invalid %s",e),this.emit("invalidPeer",e),!1}t=r[0]}else"string"==typeof e.remoteAddress&&(t=e.remoteAddress);if(t&&this.client.blocked.contains(t))return this._debug("ignoring peer: blocked %s",e),"string"!=typeof e&&e.destroy(),this.emit("blockedPeer",e),!1}const t=!!this._addPeer(e);return t?this.emit("peer",e):this.emit("invalidPeer",e),t}_addPeer(e){if(this.destroyed)return"string"!=typeof e&&e.destroy(),null;if("string"==typeof e&&!this._validAddr(e))return this._debug("ignoring peer: invalid %s",e),null;const t=e&&e.id||e;if(this._peers[t])return this._debug("ignoring peer: duplicate (%s)",t),"string"!=typeof e&&e.destroy(),null;if(this.paused)return this._debug("ignoring peer: torrent is paused"),"string"!=typeof e&&e.destroy(),null;let n;return this._debug("add peer %s",t),n="string"==typeof e?ci.createTCPOutgoingPeer(e,this):ci.createWebRTCPeer(e,this),this._peers[n.id]=n,this._peersLength+=1,"string"==typeof e&&(this._queue.push(n),this._drain()),n}addWebSeed(e){if(this.destroyed)throw new Error("torrent is destroyed");if(!/^https?:\/\/.+/.test(e))return this.emit("warning",new Error(`ignoring invalid web seed: ${e}`)),void this.emit("invalidPeer",e);if(this._peers[e])return this.emit("warning",new Error(`ignoring duplicate web seed: ${e}`)),void this.emit("invalidPeer",e);this._debug("add web seed %s",e);const t=ci.createWebSeedPeer(e,this);this._peers[t.id]=t,this._peersLength+=1,this.emit("peer",e)}_addIncomingPeer(e){return this.destroyed?e.destroy(new Error("torrent is destroyed")):this.paused?e.destroy(new Error("torrent is paused")):(this._debug("add incoming peer %s",e.id),this._peers[e.id]=e,void(this._peersLength+=1))}removePeer(e){const t=e&&e.id||e;(e=this._peers[t])&&(this._debug("removePeer %s",t),delete this._peers[t],this._peersLength-=1,e.destroy(),this._drain())}select(e,t,n,r){if(this.destroyed)throw new Error("torrent is destroyed");if(e<0||t<e||this.pieces.length<=t)throw new Error(`invalid selection ${e} : ${t}`);n=Number(n)||0,this._debug("select %s-%s (priority %s)",e,t,n),this._selections.push({from:e,to:t,offset:0,priority:n,notify:r||u}),this._selections.sort((e,t)=>t.priority-e.priority),this._updateSelections()}deselect(e,t,n){if(this.destroyed)throw new Error("torrent is destroyed");n=Number(n)||0,this._debug("deselect %s-%s (priority %s)",e,t,n);for(let r=0;r<this._selections.length;++r){const i=this._selections[r];if(i.from===e&&i.to===t&&i.priority===n){this._selections.splice(r,1);break}}this._updateSelections()}critical(e,t){if(this.destroyed)throw new Error("torrent is destroyed");this._debug("critical %s-%s",e,t);for(let n=e;n<=t;++n)this._critical[n]=!0;this._updateSelections()}_onWire(t,n){if(this._debug("got wire %s (%s)",t._debugId,n||"Unknown"),t.on("download",e=>{this.destroyed||(this.received+=e,this._downloadSpeed(e),this.client._downloadSpeed(e),this.emit("download",e),this.client.emit("download",e))}),t.on("upload",e=>{this.destroyed||(this.uploaded+=e,this._uploadSpeed(e),this.client._uploadSpeed(e),this.emit("upload",e),this.client.emit("upload",e))}),this.wires.push(t),n){const e=Dn(n);t.remoteAddress=e[0],t.remotePort=e[1]}this.client.dht&&this.client.dht.listening&&t.on("port",e=>{if(!this.destroyed&&!this.client.dht.destroyed){if(!t.remoteAddress)return this._debug("ignoring PORT from peer with no address");if(0===e||e>65536)return this._debug("ignoring invalid PORT from peer");this._debug("port: %s (from %s)",e,n),this.client.dht.addNode({host:t.remoteAddress,port:e})}}),t.on("timeout",()=>{this._debug("wire timeout (%s)",n),t.destroy()}),t.setTimeout(3e4,!0),t.setKeepAlive(!0),t.use(gr(this.metadata)),t.ut_metadata.on("warning",e=>{this._debug("ut_metadata warning: %s",e.message)}),this.metadata||(t.ut_metadata.on("metadata",e=>{this._debug("got metadata via ut_metadata"),this._onMetadata(e)}),t.ut_metadata.fetch()),"function"!=typeof ne||this.private||(t.use(ne()),t.ut_pex.on("peer",e=>{this.done||(this._debug("ut_pex: got peer: %s (from %s)",e,n),this.addPeer(e))}),t.ut_pex.on("dropped",e=>{const t=this._peers[e];t&&!t.connected&&(this._debug("ut_pex: dropped peer: %s (from %s)",e,n),this.removePeer(e))}),t.once("close",()=>{t.ut_pex.reset()})),this.emit("wire",t,n),this.metadata&&e.nextTick(()=>{this._onWireWithMetadata(t)})}_onWireWithMetadata(e){let t=null;const n=()=>{this.destroyed||e.destroyed||(this._numQueued>2*(this._numConns-this.numPeers)&&e.amInterested?e.destroy():(t=setTimeout(n,5e3)).unref&&t.unref())};let r;const i=()=>{if(e.peerPieces.buffer.length===this.bitfield.buffer.length){for(r=0;r<this.pieces.length;++r)if(!e.peerPieces.get(r))return;e.isSeeder=!0,e.choke()}};e.on("bitfield",()=>{i(),this._update()}),e.on("have",()=>{i(),this._update()}),e.once("interested",()=>{e.unchoke()}),e.once("close",()=>{clearTimeout(t)}),e.on("choke",()=>{clearTimeout(t),(t=setTimeout(n,5e3)).unref&&t.unref()}),e.on("unchoke",()=>{clearTimeout(t),this._update()}),e.on("request",(t,n,r,i)=>{if(r>131072)return e.destroy();this.pieces[t]||this.store.get(t,{offset:n,length:r},i)}),e.bitfield(this.bitfield),e.uninterested(),e.peerExtensions.dht&&this.client.dht&&this.client.dht.listening&&e.port(this.client.dht.address().port),"webSeed"!==e.type&&(t=setTimeout(n,5e3)).unref&&t.unref(),e.isSeeder=!1,i()}_updateSelections(){this.ready&&!this.destroyed&&(e.nextTick(()=>{this._gcSelections()}),this._updateInterest(),this._update())}_gcSelections(){for(let e=0;e<this._selections.length;++e){const t=this._selections[e],n=t.offset;for(;this.bitfield.get(t.from+t.offset)&&t.from+t.offset<t.to;)t.offset+=1;n!==t.offset&&t.notify(),t.to===t.from+t.offset&&this.bitfield.get(t.from+t.offset)&&(this._selections.splice(e,1),e-=1,t.notify(),this._updateInterest())}this._selections.length||this.emit("idle")}_updateInterest(){const e=this._amInterested;this._amInterested=!!this._selections.length,this.wires.forEach(e=>{let t=!1;for(let n=0;n<this.pieces.length;++n)if(this.pieces[n]&&e.peerPieces.get(n)){t=!0;break}t?e.interested():e.uninterested()}),e!==this._amInterested&&(this._amInterested?this.emit("interested"):this.emit("uninterested"))}_update(){if(this.destroyed)return;const e=(t=this.wires,n=0,function(){if(n===t.length)return null;var e=t.length-n,r=Math.random()*e|0,i=t[n+r],s=t[n];return t[n]=i,t[n+r]=s,n++,i});var t,n;let r;for(;r=e();)this._updateWireWrapper(r)}_updateWireWrapper(e){const t=this;"undefined"!=typeof window&&"function"==typeof window.requestIdleCallback?window.requestIdleCallback(function(){t._updateWire(e)}):t._updateWire(e)}_updateWire(e){const t=this;if(e.peerChoking)return;if(!e.downloaded)return function(){if(e.requests.length)return;let n=t._selections.length;for(;n--;){const r=t._selections[n];let i;if("rarest"===t.strategy){const n=r.from+r.offset,o=r.to,a=o-n+1,h={};let c=0;const u=s(n,o,h);for(;c<a&&!((i=t._rarityMap.getRarestPiece(u))<0);){if(t._request(e,i,!1))return;h[i]=!0,c+=1}}else for(i=r.to;i>=r.from+r.offset;--i)if(e.peerPieces.get(i)&&t._request(e,i,!1))return}}();const n=c(e,.5);if(e.requests.length>=n)return;const r=c(e,1);function s(t,n,r,i){return s=>s>=t&&s<=n&&!(s in r)&&e.peerPieces.get(s)&&(!i||i(s))}function o(e){let n=e;for(let i=e;i<t._selections.length&&t._selections[i].priority;i++)n=i;const r=t._selections[e];t._selections[e]=t._selections[n],t._selections[n]=r}function a(n){if(e.requests.length>=r)return!0;const a=function(){const n=e.downloadSpeed()||1;if(n>i)return()=>!0;const r=Math.max(1,e.requests.length)*ur.BLOCK_LENGTH/n;let s=10,o=0;return e=>{if(!s||t.bitfield.get(e))return!0;let a=t.pieces[e].missing;for(;o<t.wires.length;o++){const h=t.wires[o],c=h.downloadSpeed();if(!(c<i)&&!(c<=n)&&h.peerPieces.get(e)&&!((a-=c*r)>0))return s--,!1}return!0}}();for(let i=0;i<t._selections.length;i++){const h=t._selections[i];let c;if("rarest"===t.strategy){const u=h.from+h.offset,d=h.to,l=d-u+1,f={};let p=0;const g=s(u,d,f,a);for(;p<l&&!((c=t._rarityMap.getRarestPiece(g))<0);){for(;t._request(e,c,t._critical[c]||n););if(!(e.requests.length<r))return h.priority&&o(i),!0;f[c]=!0,p++}}else for(c=h.from+h.offset;c<=h.to;c++)if(e.peerPieces.get(c)&&a(c)){for(;t._request(e,c,t._critical[c]||n););if(!(e.requests.length<r))return h.priority&&o(i),!0}}return!1}a(!1)||a(!0)}_rechoke(){if(!this.ready)return;this._rechokeOptimisticTime>0?this._rechokeOptimisticTime-=1:this._rechokeOptimisticWire=null;const e=[];this.wires.forEach(t=>{t.isSeeder||t===this._rechokeOptimisticWire||e.push({wire:t,downloadSpeed:t.downloadSpeed(),uploadSpeed:t.uploadSpeed(),salt:Math.random(),isChoked:!0})}),e.sort(function(e,t){return e.downloadSpeed!==t.downloadSpeed?t.downloadSpeed-e.downloadSpeed:e.uploadSpeed!==t.uploadSpeed?t.uploadSpeed-e.uploadSpeed:e.wire.amChoking!==t.wire.amChoking?e.wire.amChoking?1:-1:e.salt-t.salt});let t=0,n=0;for(;n<e.length&&t<this._rechokeNumSlots;++n)e[n].isChoked=!1,e[n].wire.peerInterested&&(t+=1);if(!this._rechokeOptimisticWire&&n<e.length&&this._rechokeNumSlots){const t=e.slice(n).filter(e=>e.wire.peerInterested),i=t[(r=t.length,Math.random()*r|0)];i&&(i.isChoked=!1,this._rechokeOptimisticWire=i.wire,this._rechokeOptimisticTime=2)}var r;e.forEach(e=>{e.wire.amChoking!==e.isChoked&&(e.isChoked?e.wire.choke():e.wire.unchoke())})}_hotswap(e,t){const n=e.downloadSpeed();if(n<ur.BLOCK_LENGTH)return!1;if(!this._reservations[t])return!1;const r=this._reservations[t];if(!r)return!1;let s,o,a=1/0;for(o=0;o<r.length;o++){const t=r[o];if(!t||t===e)continue;const h=t.downloadSpeed();h>=i||2*h>n||h>a||(s=t,a=h)}if(!s)return!1;for(o=0;o<r.length;o++)r[o]===s&&(r[o]=null);for(o=0;o<s.requests.length;o++){const e=s.requests[o];e.piece===t&&this.pieces[t].cancel(e.offset/ur.BLOCK_LENGTH|0)}return this.emit("hotswap",s,e,t),!0}_request(t,n,r){const i=this,s=t.requests.length,o="webSeed"===t.type;if(i.bitfield.get(n))return!1;if(s>=(o?Math.min(function(e,t,n){return 1+Math.ceil(1*e.downloadSpeed()/n)}(t,0,i.pieceLength),i.maxWebConns):c(t,1)))return!1;const a=i.pieces[n];let h=o?a.reserveRemaining():a.reserve();if(-1===h&&r&&i._hotswap(t,n)&&(h=o?a.reserveRemaining():a.reserve()),-1===h)return!1;let u=i._reservations[n];u||(u=i._reservations[n]=[]);let d=u.indexOf(null);-1===d&&(d=u.length),u[d]=t;const l=a.chunkOffset(h),f=o?a.chunkLengthRemaining(h):a.chunkLength(h);function p(){e.nextTick(()=>{i._update()})}return t.request(n,l,f,function e(r,s){if(i.destroyed)return;if(!i.ready)return i.once("ready",()=>{e(r,s)});if(u[d]===t&&(u[d]=null),a!==i.pieces[n])return p();if(r)return i._debug("error getting piece %s (offset: %s length: %s) from %s: %s",n,l,f,`${t.remoteAddress}:${t.remotePort}`,r.message),o?a.cancelRemaining(h):a.cancel(h),void p();if(i._debug("got piece %s (offset: %s length: %s) from %s",n,l,f,`${t.remoteAddress}:${t.remotePort}`),!a.set(h,s,t))return p();const c=a.flush();Nt(c,e=>{if(!i.destroyed){if(e===i._hashes[n]){if(!i.pieces[n])return;i._debug("piece verified %s",n),i.pieces[n]=null,i._reservations[n]=null,i.bitfield.set(n,!0),i.store.put(n,c),i.wires.forEach(e=>{e.have(n)}),i._checkDone()&&!i.destroyed&&i.discovery.complete()}else i.pieces[n]=new ur(a.length),i.emit("warning",new Error(`Piece ${n} failed verification`));p()}})}),!0}_checkDone(){if(this.destroyed)return;this.files.forEach(e=>{if(!e.done){for(let t=e._startPiece;t<=e._endPiece;++t)if(!this.bitfield.get(t))return;e.done=!0,e.emit("done"),this._debug(`file done: ${e.name}`)}});let e=!0;for(let t=0;t<this._selections.length;t++){const n=this._selections[t];for(let t=n.from;t<=n.to;t++)if(!this.bitfield.get(t)){e=!1;break}if(!e)break}return!this.done&&e&&(this.done=!0,this._debug(`torrent done: ${this.infoHash}`),this.emit("done")),this._gcSelections(),e}load(e,t){if(this.destroyed)throw new Error("torrent is destroyed");if(!this.ready)return this.once("ready",()=>{this.load(e,t)});Array.isArray(e)||(e=[e]),t||(t=u);const n=new St(e),r=new Vn(this.store,this.pieceLength);pr(n,r,e=>{if(e)return t(e);this._markAllVerified(),this._checkDone(),t(null)})}createServer(e){if("function"!=typeof ne)throw new Error("node.js-only method");if(this.destroyed)throw new Error("torrent is destroyed");const t=new ne(this,e);return this._servers.push(t),t}pause(){this.destroyed||(this._debug("pause"),this.paused=!0)}resume(){this.destroyed||(this._debug("resume"),this.paused=!1,this._drain())}_debug(){const e=[].slice.call(arguments);e[0]=`[${this.client._debugId}] [${this._debugId}] ${e[0]}`,n(...e)}_drain(){if(this._debug("_drain numConns %s maxConns %s",this._numConns,this.client.maxConns),"function"!=typeof ne.connect||this.destroyed||this.paused||this._numConns>=this.client.maxConns)return;this._debug("drain (%s queued, %s/%s peers)",this._numQueued,this.numPeers,this.client.maxConns);const e=this._queue.shift();if(!e)return;this._debug("tcp connect attempt to %s",e.addr);const t=Dn(e.addr),n={host:t[0],port:t[1]},r=e.conn=ne.connect(n);r.once("connect",()=>{e.onConnect()}),r.once("error",t=>{e.destroy(t)}),e.startConnectTimeout(),r.on("close",()=>{if(this.destroyed)return;if(e.retries>=o.length)return void this._debug("conn %s closed: will not re-add (max %s attempts)",e.addr,o.length);const t=o[e.retries];this._debug("conn %s closed: will re-add to queue in %sms (attempt %s)",e.addr,t,e.retries+1);const n=setTimeout(()=>{const t=this._addPeer(e.addr);t&&(t.retries=e.retries+1)},t);n.unref&&n.unref()})}_validAddr(e){let t;try{t=Dn(e)}catch(i){return!1}const n=t[0],r=t[1];return r>0&&r<65535&&!("127.0.0.1"===n&&r===this.client.torrentPort)}}}).call(this,ue,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{});var mi={};return function(e,t,n){const{EventEmitter:r}=l,i=zt("webtorrent"),s=ai,o=s.replace(/\d*./g,e=>`0${e%100}`.slice(-2)).slice(0,4),a=`-WW${o}-`;class h extends r{constructor(r={}){super(),"string"==typeof r.peerId?this.peerId=r.peerId:n.isBuffer(r.peerId)?this.peerId=r.peerId.toString("hex"):this.peerId=n.from(a+On(9).toString("base64")).toString("hex"),this.peerIdBuffer=n.from(this.peerId,"hex"),"string"==typeof r.nodeId?this.nodeId=r.nodeId:n.isBuffer(r.nodeId)?this.nodeId=r.nodeId.toString("hex"):this.nodeId=On(20).toString("hex"),this.nodeIdBuffer=n.from(this.nodeId,"hex"),this._debugId=this.peerId.toString("hex").substring(0,7),this.destroyed=!1,this.listening=!1,this.torrentPort=r.torrentPort||0,this.dhtPort=r.dhtPort||0,this.tracker=void 0!==r.tracker?r.tracker:{},this.torrents=[],this.maxConns=Number(r.maxConns)||55,this._debug("new webtorrent (peerId %s, nodeId %s, port %s)",this.peerId,this.nodeId,this.torrentPort),this.tracker&&("object"!=typeof this.tracker&&(this.tracker={}),r.rtcConfig&&(console.warn("WebTorrent: opts.rtcConfig is deprecated. Use opts.tracker.rtcConfig instead"),this.tracker.rtcConfig=r.rtcConfig),r.wrtc&&(console.warn("WebTorrent: opts.wrtc is deprecated. Use opts.tracker.wrtc instead"),this.tracker.wrtc=r.wrtc),t.WRTC&&!this.tracker.wrtc&&(this.tracker.wrtc=t.WRTC)),"function"==typeof ne?this._tcpPool=new ne(this):e.nextTick(()=>{this._onListening()}),this._downloadSpeed=jn(),this._uploadSpeed=jn(),!1!==r.dht&&"function"==typeof ne?(this.dht=new ne(Object.assign({},{nodeId:this.nodeId},r.dht)),this.dht.once("error",e=>{this._destroy(e)}),this.dht.once("listening",()=>{const e=this.dht.address();e&&(this.dhtPort=e.port)}),this.dht.setMaxListeners(0),this.dht.listen(this.dhtPort)):this.dht=!1,this.enableWebSeeds=!1!==r.webSeeds;const i=()=>{this.destroyed||(this.ready=!0,this.emit("ready"))};"function"==typeof ne&&null!=r.blocklist?ne(r.blocklist,{headers:{"user-agent":`WebTorrent/${s} (https://webtorrent.io)`}},(e,t)=>{if(e)return this.error(`Failed to load blocklist: ${e.message}`);this.blocked=t,i()}):e.nextTick(i)}get downloadSpeed(){return this._downloadSpeed()}get uploadSpeed(){return this._uploadSpeed()}get progress(){const e=this.torrents.filter(e=>1!==e.progress);return e.reduce((e,t)=>e+t.downloaded,0)/(e.reduce((e,t)=>e+(t.length||0),0)||1)}get ratio(){return this.torrents.reduce((e,t)=>e+t.uploaded,0)/(this.torrents.reduce((e,t)=>e+t.received,0)||1)}get(e){if(e instanceof gi){if(this.torrents.includes(e))return e}else{let t;try{t=Ln(e)}catch(_i){}if(!t)return null;if(!t.infoHash)throw new Error("Invalid torrent identifier");for(const e of this.torrents)if(e.infoHash===t.infoHash)return e}return null}download(e,t,n){return console.warn("WebTorrent: client.download() is deprecated. Use client.add() instead"),this.add(e,t,n)}add(e,t={},n){if(this.destroyed)throw new Error("client is destroyed");"function"==typeof t&&([t,n]=[{},t]);const r=()=>{if(!this.destroyed)for(const e of this.torrents)if(e.infoHash===s.infoHash&&e!==s)return void s._destroy(new Error(`Cannot add duplicate torrent ${s.infoHash}`))},i=()=>{this.destroyed||("function"==typeof n&&n(s),this.emit("torrent",s))};this._debug("add"),t=t?Object.assign({},t):{};const s=new gi(e,this,t);return this.torrents.push(s),s.once("_infoHash",r),s.once("ready",i),s.once("close",function e(){s.removeListener("_infoHash",r),s.removeListener("ready",i),s.removeListener("close",e)}),s}seed(e,t,n){if(this.destroyed)throw new Error("client is destroyed");"function"==typeof t&&([t,n]=[{},t]),this._debug("seed"),(t=t?Object.assign({},t):{}).skipVerify=!0;const r="string"==typeof e;r&&(t.path=ut.dirname(e)),t.createdBy||(t.createdBy=`WebTorrent/${o}`);const i=e=>{this._debug("on seed"),"function"==typeof n&&n(e),e.emit("seed"),this.emit("seed",e)},s=this.add(null,t,e=>{const t=[t=>{if(r)return t();e.load(a,t)}];this.dht&&t.push(t=>{e.once("dhtAnnounce",t)}),Ut(t,t=>{if(!this.destroyed)return t?e._destroy(t):void i(e)})});let a;return"undefined"!=typeof FileList&&e instanceof FileList?e=Array.from(e):Array.isArray(e)||(e=[e]),Ut(e.map(e=>t=>{!function(t){return"object"==typeof e&&null!=e&&"function"==typeof e.pipe}()?t(null,e):N(e,t)}),(e,n)=>{if(!this.destroyed)return e?s._destroy(e):void Wt.parseInput(n,t,(e,r)=>{if(!this.destroyed){if(e)return s._destroy(e);a=r.map(e=>e.getStream),Wt(n,t,(e,t)=>{if(this.destroyed)return;if(e)return s._destroy(e);const n=this.get(t);n?s._destroy(new Error(`Cannot add duplicate torrent ${n.infoHash}`)):s._onTorrentId(t)})}})}),s}remove(e,t){if(this._debug("remove"),!this.get(e))throw new Error(`No torrent with id ${e}`);this._remove(e,t)}_remove(e,t){const n=this.get(e);n&&(this.torrents.splice(this.torrents.indexOf(n),1),n.destroy(t))}address(){return this.listening?this._tcpPool?this._tcpPool.server.address():{address:"0.0.0.0",family:"IPv4",port:0}:null}destroy(e){if(this.destroyed)throw new Error("client already destroyed");this._destroy(null,e)}_destroy(e,t){this._debug("client destroy"),this.destroyed=!0;const n=this.torrents.map(e=>t=>{e.destroy(t)});this._tcpPool&&n.push(e=>{this._tcpPool.destroy(e)}),this.dht&&n.push(e=>{this.dht.destroy(e)}),Ut(n,t),e&&this.emit("error",e),this.torrents=[],this._tcpPool=null,this.dht=null}_onListening(){if(this._debug("listening"),this.listening=!0,this._tcpPool){const e=this._tcpPool.server.address();e&&(this.torrentPort=e.port)}this.emit("listening")}_debug(){const e=[].slice.call(arguments);e[0]=`[${this._debugId}] ${e[0]}`,i(...e)}}h.WEBRTC_SUPPORT=Mn.WEBRTC_SUPPORT,h.VERSION=s,mi=h}.call(this,ue,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},d({}).Buffer),mi}); \ No newline at end of file