UNPKG

ponicode

Version:

Ponicode is a quick and easy AI-powered solution for Javascript unit testing.

13 lines 902 kB
var kz=Object.create;var Ym=Object.defineProperty,Uz=Object.defineProperties,Wz=Object.getOwnPropertyDescriptor,Gz=Object.getOwnPropertyDescriptors,Hz=Object.getOwnPropertyNames,qO=Object.getOwnPropertySymbols,Jz=Object.getPrototypeOf,MO=Object.prototype.hasOwnProperty,Xz=Object.prototype.propertyIsEnumerable;var VO=(e,t,r)=>t in e?Ym(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,F=(e,t)=>{for(var r in t||(t={}))MO.call(t,r)&&VO(e,r,t[r]);if(qO)for(var r of qO(t))Xz.call(t,r)&&VO(e,r,t[r]);return e},k=(e,t)=>Uz(e,Gz(t)),Yz=e=>Ym(e,"__esModule",{value:!0});var h=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var zz=(e,t,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Hz(t))!MO.call(e,n)&&n!=="default"&&Ym(e,n,{get:()=>t[n],enumerable:!(r=Wz(t,n))||r.enumerable});return e},me=e=>zz(Yz(Ym(e!=null?kz(Jz(e)):{},"default",e&&e.__esModule&&"default"in e?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e);var Iu=h((IDe,BO)=>{"use strict";BO.exports={BINARY_TYPES:["nodebuffer","arraybuffer","fragments"],GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),EMPTY_BUFFER:Buffer.alloc(0),NOOP:()=>{}}});var Jp=h((DDe,Rw)=>{"use strict";var{EMPTY_BUFFER:Kz}=Iu();function $O(e,t){if(e.length===0)return Kz;if(e.length===1)return e[0];let r=Buffer.allocUnsafe(t),n=0;for(let s=0;s<e.length;s++){let i=e[s];r.set(i,n),n+=i.length}return n<t?r.slice(0,n):r}function LO(e,t,r,n,s){for(let i=0;i<s;i++)r[n+i]=e[i]^t[i&3]}function kO(e,t){let r=e.length;for(let n=0;n<r;n++)e[n]^=t[n&3]}function UO(e){return e.byteLength===e.buffer.byteLength?e.buffer:e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}function zm(e){if(zm.readOnly=!0,Buffer.isBuffer(e))return e;let t;return e instanceof ArrayBuffer?t=Buffer.from(e):ArrayBuffer.isView(e)?t=Buffer.from(e.buffer,e.byteOffset,e.byteLength):(t=Buffer.from(e),zm.readOnly=!1),t}try{let e=require("bufferutil"),t=e.BufferUtil||e;Rw.exports={concat:$O,mask(r,n,s,i,o){o<48?LO(r,n,s,i,o):t.mask(r,n,s,i,o)},toArrayBuffer:UO,toBuffer:zm,unmask(r,n){r.length<32?kO(r,n):t.unmask(r,n)}}}catch(e){Rw.exports={concat:$O,mask:LO,toArrayBuffer:UO,toBuffer:zm,unmask:kO}}});var JO=h((ODe,HO)=>{"use strict";var WO=Symbol("kDone"),Pw=Symbol("kRun"),GO=class{constructor(t){this[WO]=()=>{this.pending--,this[Pw]()},this.concurrency=t||1/0,this.jobs=[],this.pending=0}add(t){this.jobs.push(t),this[Pw]()}[Pw](){if(this.pending!==this.concurrency&&this.jobs.length){let t=this.jobs.shift();this.pending++,t(this[WO])}}};HO.exports=GO});var zp=h((TDe,ZO)=>{"use strict";var Xp=require("zlib"),XO=Jp(),Zz=JO(),{kStatusCode:YO,NOOP:Qz}=Iu(),eK=Buffer.from([0,0,255,255]),Km=Symbol("permessage-deflate"),ca=Symbol("total-length"),Yp=Symbol("callback"),co=Symbol("buffers"),Zm=Symbol("error"),Qm,zO=class{constructor(t,r,n){if(this._maxPayload=n|0,this._options=t||{},this._threshold=this._options.threshold!==void 0?this._options.threshold:1024,this._isServer=!!r,this._deflate=null,this._inflate=null,this.params=null,!Qm){let s=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;Qm=new Zz(s)}}static get extensionName(){return"permessage-deflate"}offer(){let t={};return this._options.serverNoContextTakeover&&(t.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(t.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(t.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?t.client_max_window_bits=this._options.clientMaxWindowBits:this._options.clientMaxWindowBits==null&&(t.client_max_window_bits=!0),t}accept(t){return t=this.normalizeParams(t),this.params=this._isServer?this.acceptAsServer(t):this.acceptAsClient(t),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){let t=this._deflate[Yp];this._deflate.close(),this._deflate=null,t&&t(new Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(t){let r=this._options,n=t.find(s=>!(r.serverNoContextTakeover===!1&&s.server_no_context_takeover||s.server_max_window_bits&&(r.serverMaxWindowBits===!1||typeof r.serverMaxWindowBits=="number"&&r.serverMaxWindowBits>s.server_max_window_bits)||typeof r.clientMaxWindowBits=="number"&&!s.client_max_window_bits));if(!n)throw new Error("None of the extension offers can be accepted");return r.serverNoContextTakeover&&(n.server_no_context_takeover=!0),r.clientNoContextTakeover&&(n.client_no_context_takeover=!0),typeof r.serverMaxWindowBits=="number"&&(n.server_max_window_bits=r.serverMaxWindowBits),typeof r.clientMaxWindowBits=="number"?n.client_max_window_bits=r.clientMaxWindowBits:(n.client_max_window_bits===!0||r.clientMaxWindowBits===!1)&&delete n.client_max_window_bits,n}acceptAsClient(t){let r=t[0];if(this._options.clientNoContextTakeover===!1&&r.client_no_context_takeover)throw new Error('Unexpected parameter "client_no_context_takeover"');if(!r.client_max_window_bits)typeof this._options.clientMaxWindowBits=="number"&&(r.client_max_window_bits=this._options.clientMaxWindowBits);else if(this._options.clientMaxWindowBits===!1||typeof this._options.clientMaxWindowBits=="number"&&r.client_max_window_bits>this._options.clientMaxWindowBits)throw new Error('Unexpected or invalid parameter "client_max_window_bits"');return r}normalizeParams(t){return t.forEach(r=>{Object.keys(r).forEach(n=>{let s=r[n];if(s.length>1)throw new Error(`Parameter "${n}" must have only a single value`);if(s=s[0],n==="client_max_window_bits"){if(s!==!0){let i=+s;if(!Number.isInteger(i)||i<8||i>15)throw new TypeError(`Invalid value for parameter "${n}": ${s}`);s=i}else if(!this._isServer)throw new TypeError(`Invalid value for parameter "${n}": ${s}`)}else if(n==="server_max_window_bits"){let i=+s;if(!Number.isInteger(i)||i<8||i>15)throw new TypeError(`Invalid value for parameter "${n}": ${s}`);s=i}else if(n==="client_no_context_takeover"||n==="server_no_context_takeover"){if(s!==!0)throw new TypeError(`Invalid value for parameter "${n}": ${s}`)}else throw new Error(`Unknown parameter "${n}"`);r[n]=s})}),t}decompress(t,r,n){Qm.add(s=>{this._decompress(t,r,(i,o)=>{s(),n(i,o)})})}compress(t,r,n){Qm.add(s=>{this._compress(t,r,(i,o)=>{s(),n(i,o)})})}_decompress(t,r,n){let s=this._isServer?"client":"server";if(!this._inflate){let i=`${s}_max_window_bits`,o=typeof this.params[i]!="number"?Xp.Z_DEFAULT_WINDOWBITS:this.params[i];this._inflate=Xp.createInflateRaw(k(F({},this._options.zlibInflateOptions),{windowBits:o})),this._inflate[Km]=this,this._inflate[ca]=0,this._inflate[co]=[],this._inflate.on("error",rK),this._inflate.on("data",KO)}this._inflate[Yp]=n,this._inflate.write(t),r&&this._inflate.write(eK),this._inflate.flush(()=>{let i=this._inflate[Zm];if(i){this._inflate.close(),this._inflate=null,n(i);return}let o=XO.concat(this._inflate[co],this._inflate[ca]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[ca]=0,this._inflate[co]=[],r&&this.params[`${s}_no_context_takeover`]&&this._inflate.reset()),n(null,o)})}_compress(t,r,n){let s=this._isServer?"server":"client";if(!this._deflate){let i=`${s}_max_window_bits`,o=typeof this.params[i]!="number"?Xp.Z_DEFAULT_WINDOWBITS:this.params[i];this._deflate=Xp.createDeflateRaw(k(F({},this._options.zlibDeflateOptions),{windowBits:o})),this._deflate[ca]=0,this._deflate[co]=[],this._deflate.on("error",Qz),this._deflate.on("data",tK)}this._deflate[Yp]=n,this._deflate.write(t),this._deflate.flush(Xp.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let i=XO.concat(this._deflate[co],this._deflate[ca]);r&&(i=i.slice(0,i.length-4)),this._deflate[Yp]=null,this._deflate[ca]=0,this._deflate[co]=[],r&&this.params[`${s}_no_context_takeover`]&&this._deflate.reset(),n(null,i)})}};ZO.exports=zO;function tK(e){this[co].push(e),this[ca]+=e.length}function KO(e){if(this[ca]+=e.length,this[Km]._maxPayload<1||this[ca]<=this[Km]._maxPayload){this[co].push(e);return}this[Zm]=new RangeError("Max payload size exceeded"),this[Zm].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH",this[Zm][YO]=1009,this.removeListener("data",KO),this.reset()}function rK(e){this[Km]._inflate=null,e[YO]=1007,this[Yp](e)}});var Fw=h((jDe,Nw)=>{"use strict";function QO(e){return e>=1e3&&e<=1014&&e!==1004&&e!==1005&&e!==1006||e>=3e3&&e<=4999}function eT(e){let t=e.length,r=0;for(;r<t;)if((e[r]&128)==0)r++;else if((e[r]&224)==192){if(r+1===t||(e[r+1]&192)!=128||(e[r]&254)==192)return!1;r+=2}else if((e[r]&240)==224){if(r+2>=t||(e[r+1]&192)!=128||(e[r+2]&192)!=128||e[r]===224&&(e[r+1]&224)==128||e[r]===237&&(e[r+1]&224)==160)return!1;r+=3}else if((e[r]&248)==240){if(r+3>=t||(e[r+1]&192)!=128||(e[r+2]&192)!=128||(e[r+3]&192)!=128||e[r]===240&&(e[r+1]&240)==128||e[r]===244&&e[r+1]>143||e[r]>244)return!1;r+=4}else return!1;return!0}try{let e=require("utf-8-validate");typeof e=="object"&&(e=e.Validation.isValidUTF8),Nw.exports={isValidStatusCode:QO,isValidUTF8(t){return t.length<150?eT(t):e(t)}}}catch(e){Nw.exports={isValidStatusCode:QO,isValidUTF8:eT}}});var Mw=h((RDe,oT)=>{"use strict";var{Writable:nK}=require("stream"),tT=zp(),{BINARY_TYPES:sK,EMPTY_BUFFER:iK,kStatusCode:aK,kWebSocket:oK}=Iu(),{concat:xw,toArrayBuffer:uK,unmask:cK}=Jp(),{isValidStatusCode:lK,isValidUTF8:rT}=Fw(),Kp=0,nT=1,sT=2,iT=3,qw=4,fK=5,aT=class extends nK{constructor(t,r,n,s){super();this._binaryType=t||sK[0],this[oK]=void 0,this._extensions=r||{},this._isServer=!!n,this._maxPayload=s|0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._state=Kp,this._loop=!1}_write(t,r,n){if(this._opcode===8&&this._state==Kp)return n();this._bufferedBytes+=t.length,this._buffers.push(t),this.startLoop(n)}consume(t){if(this._bufferedBytes-=t,t===this._buffers[0].length)return this._buffers.shift();if(t<this._buffers[0].length){let n=this._buffers[0];return this._buffers[0]=n.slice(t),n.slice(0,t)}let r=Buffer.allocUnsafe(t);do{let n=this._buffers[0],s=r.length-t;t>=n.length?r.set(this._buffers.shift(),s):(r.set(new Uint8Array(n.buffer,n.byteOffset,t),s),this._buffers[0]=n.slice(t)),t-=n.length}while(t>0);return r}startLoop(t){let r;this._loop=!0;do switch(this._state){case Kp:r=this.getInfo();break;case nT:r=this.getPayloadLength16();break;case sT:r=this.getPayloadLength64();break;case iT:this.getMask();break;case qw:r=this.getData(t);break;default:this._loop=!1;return}while(this._loop);t(r)}getInfo(){if(this._bufferedBytes<2){this._loop=!1;return}let t=this.consume(2);if((t[0]&48)!=0)return this._loop=!1,Ot(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3");let r=(t[0]&64)==64;if(r&&!this._extensions[tT.extensionName])return this._loop=!1,Ot(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");if(this._fin=(t[0]&128)==128,this._opcode=t[0]&15,this._payloadLength=t[1]&127,this._opcode===0){if(r)return this._loop=!1,Ot(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");if(!this._fragmented)return this._loop=!1,Ot(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE");this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented)return this._loop=!1,Ot(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");this._compressed=r}else if(this._opcode>7&&this._opcode<11){if(!this._fin)return this._loop=!1,Ot(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN");if(r)return this._loop=!1,Ot(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");if(this._payloadLength>125)return this._loop=!1,Ot(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH")}else return this._loop=!1,Ot(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");if(!this._fin&&!this._fragmented&&(this._fragmented=this._opcode),this._masked=(t[1]&128)==128,this._isServer){if(!this._masked)return this._loop=!1,Ot(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK")}else if(this._masked)return this._loop=!1,Ot(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK");if(this._payloadLength===126)this._state=nT;else if(this._payloadLength===127)this._state=sT;else return this.haveLength()}getPayloadLength16(){if(this._bufferedBytes<2){this._loop=!1;return}return this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength()}getPayloadLength64(){if(this._bufferedBytes<8){this._loop=!1;return}let t=this.consume(8),r=t.readUInt32BE(0);return r>Math.pow(2,53-32)-1?(this._loop=!1,Ot(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH")):(this._payloadLength=r*Math.pow(2,32)+t.readUInt32BE(4),this.haveLength())}haveLength(){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0))return this._loop=!1,Ot(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");this._masked?this._state=iT:this._state=qw}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=qw}getData(t){let r=iK;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}r=this.consume(this._payloadLength),this._masked&&cK(r,this._mask)}if(this._opcode>7)return this.controlMessage(r);if(this._compressed){this._state=fK,this.decompress(r,t);return}return r.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(r)),this.dataMessage()}decompress(t,r){this._extensions[tT.extensionName].decompress(t,this._fin,(s,i)=>{if(s)return r(s);if(i.length){if(this._messageLength+=i.length,this._messageLength>this._maxPayload&&this._maxPayload>0)return r(Ot(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH"));this._fragments.push(i)}let o=this.dataMessage();if(o)return r(o);this.startLoop(r)})}dataMessage(){if(this._fin){let t=this._messageLength,r=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],this._opcode===2){let n;this._binaryType==="nodebuffer"?n=xw(r,t):this._binaryType==="arraybuffer"?n=uK(xw(r,t)):n=r,this.emit("message",n)}else{let n=xw(r,t);if(!rT(n))return this._loop=!1,Ot(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");this.emit("message",n.toString())}}this._state=Kp}controlMessage(t){if(this._opcode===8)if(this._loop=!1,t.length===0)this.emit("conclude",1005,""),this.end();else{if(t.length===1)return Ot(RangeError,"invalid payload length 1",!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH");{let r=t.readUInt16BE(0);if(!lK(r))return Ot(RangeError,`invalid status code ${r}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE");let n=t.slice(2);if(!rT(n))return Ot(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");this.emit("conclude",r,n.toString()),this.end()}}else this._opcode===9?this.emit("ping",t):this.emit("pong",t);this._state=Kp}};oT.exports=aT;function Ot(e,t,r,n,s){let i=new e(r?`Invalid WebSocket frame: ${t}`:t);return Error.captureStackTrace(i,Ot),i.code=s,i[aK]=n,i}});var Vw=h((FDe,lT)=>{"use strict";var PDe=require("net"),NDe=require("tls"),{randomFillSync:pK}=require("crypto"),uT=zp(),{EMPTY_BUFFER:dK}=Iu(),{isValidStatusCode:hK}=Fw(),{mask:cT,toBuffer:la}=Jp(),Du=Buffer.alloc(4),fa=class{constructor(t,r){this._extensions=r||{},this._socket=t,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._deflating=!1,this._queue=[]}static frame(t,r){let n=r.mask&&r.readOnly,s=r.mask?6:2,i=t.length;t.length>=65536?(s+=8,i=127):t.length>125&&(s+=2,i=126);let o=Buffer.allocUnsafe(n?t.length+s:s);return o[0]=r.fin?r.opcode|128:r.opcode,r.rsv1&&(o[0]|=64),o[1]=i,i===126?o.writeUInt16BE(t.length,2):i===127&&(o.writeUInt32BE(0,2),o.writeUInt32BE(t.length,6)),r.mask?(pK(Du,0,4),o[1]|=128,o[s-4]=Du[0],o[s-3]=Du[1],o[s-2]=Du[2],o[s-1]=Du[3],n?(cT(t,Du,o,s,t.length),[o]):(cT(t,Du,t,0,t.length),[o,t])):[o,t]}close(t,r,n,s){let i;if(t===void 0)i=dK;else{if(typeof t!="number"||!hK(t))throw new TypeError("First argument must be a valid error code number");if(r===void 0||r==="")i=Buffer.allocUnsafe(2),i.writeUInt16BE(t,0);else{let o=Buffer.byteLength(r);if(o>123)throw new RangeError("The message must not be greater than 123 bytes");i=Buffer.allocUnsafe(2+o),i.writeUInt16BE(t,0),i.write(r,2)}}this._deflating?this.enqueue([this.doClose,i,n,s]):this.doClose(i,n,s)}doClose(t,r,n){this.sendFrame(fa.frame(t,{fin:!0,rsv1:!1,opcode:8,mask:r,readOnly:!1}),n)}ping(t,r,n){let s=la(t);if(s.length>125)throw new RangeError("The data size must not be greater than 125 bytes");this._deflating?this.enqueue([this.doPing,s,r,la.readOnly,n]):this.doPing(s,r,la.readOnly,n)}doPing(t,r,n,s){this.sendFrame(fa.frame(t,{fin:!0,rsv1:!1,opcode:9,mask:r,readOnly:n}),s)}pong(t,r,n){let s=la(t);if(s.length>125)throw new RangeError("The data size must not be greater than 125 bytes");this._deflating?this.enqueue([this.doPong,s,r,la.readOnly,n]):this.doPong(s,r,la.readOnly,n)}doPong(t,r,n,s){this.sendFrame(fa.frame(t,{fin:!0,rsv1:!1,opcode:10,mask:r,readOnly:n}),s)}send(t,r,n){let s=la(t),i=this._extensions[uT.extensionName],o=r.binary?2:1,c=r.compress;if(this._firstFragment?(this._firstFragment=!1,c&&i&&(c=s.length>=i._threshold),this._compress=c):(c=!1,o=0),r.fin&&(this._firstFragment=!0),i){let l={fin:r.fin,rsv1:c,opcode:o,mask:r.mask,readOnly:la.readOnly};this._deflating?this.enqueue([this.dispatch,s,this._compress,l,n]):this.dispatch(s,this._compress,l,n)}else this.sendFrame(fa.frame(s,{fin:r.fin,rsv1:!1,opcode:o,mask:r.mask,readOnly:la.readOnly}),n)}dispatch(t,r,n,s){if(!r){this.sendFrame(fa.frame(t,n),s);return}let i=this._extensions[uT.extensionName];this._bufferedBytes+=t.length,this._deflating=!0,i.compress(t,n.fin,(o,c)=>{if(this._socket.destroyed){let l=new Error("The socket was closed while data was being compressed");typeof s=="function"&&s(l);for(let p=0;p<this._queue.length;p++){let d=this._queue[p][4];typeof d=="function"&&d(l)}return}this._bufferedBytes-=t.length,this._deflating=!1,n.readOnly=!1,this.sendFrame(fa.frame(c,n),s),this.dequeue()})}dequeue(){for(;!this._deflating&&this._queue.length;){let t=this._queue.shift();this._bufferedBytes-=t[1].length,Reflect.apply(t[0],this,t.slice(1))}}enqueue(t){this._bufferedBytes+=t[1].length,this._queue.push(t)}sendFrame(t,r){t.length===2?(this._socket.cork(),this._socket.write(t[0]),this._socket.write(t[1],r),this._socket.uncork()):this._socket.write(t[0],r)}};lT.exports=fa});var yT=h((xDe,mT)=>{"use strict";var Zp=class{constructor(t,r){this.target=r,this.type=t}},fT=class extends Zp{constructor(t,r){super("message",r);this.data=t}},pT=class extends Zp{constructor(t,r,n){super("close",n);this.wasClean=n._closeFrameReceived&&n._closeFrameSent,this.reason=r,this.code=t}},dT=class extends Zp{constructor(t){super("open",t)}},hT=class extends Zp{constructor(t,r){super("error",r);this.message=t.message,this.error=t}},mK={addEventListener(e,t,r){if(typeof t!="function")return;function n(l){t.call(this,new fT(l,this))}function s(l,p){t.call(this,new pT(l,p,this))}function i(l){t.call(this,new hT(l,this))}function o(){t.call(this,new dT(this))}let c=r&&r.once?"once":"on";e==="message"?(n._listener=t,this[c](e,n)):e==="close"?(s._listener=t,this[c](e,s)):e==="error"?(i._listener=t,this[c](e,i)):e==="open"?(o._listener=t,this[c](e,o)):this[c](e,t)},removeEventListener(e,t){let r=this.listeners(e);for(let n=0;n<r.length;n++)(r[n]===t||r[n]._listener===t)&&this.removeListener(e,r[n])}};mT.exports=mK});var Bw=h((qDe,_T)=>{"use strict";var Qp=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0];function zs(e,t,r){e[t]===void 0?e[t]=[r]:e[t].push(r)}function yK(e){let t=Object.create(null);if(e===void 0||e==="")return t;let r=Object.create(null),n=!1,s=!1,i=!1,o,c,l=-1,p=-1,d=0;for(;d<e.length;d++){let _=e.charCodeAt(d);if(o===void 0)if(p===-1&&Qp[_]===1)l===-1&&(l=d);else if(_===32||_===9)p===-1&&l!==-1&&(p=d);else if(_===59||_===44){if(l===-1)throw new SyntaxError(`Unexpected character at index ${d}`);p===-1&&(p=d);let v=e.slice(l,p);_===44?(zs(t,v,r),r=Object.create(null)):o=v,l=p=-1}else throw new SyntaxError(`Unexpected character at index ${d}`);else if(c===void 0)if(p===-1&&Qp[_]===1)l===-1&&(l=d);else if(_===32||_===9)p===-1&&l!==-1&&(p=d);else if(_===59||_===44){if(l===-1)throw new SyntaxError(`Unexpected character at index ${d}`);p===-1&&(p=d),zs(r,e.slice(l,p),!0),_===44&&(zs(t,o,r),r=Object.create(null),o=void 0),l=p=-1}else if(_===61&&l!==-1&&p===-1)c=e.slice(l,d),l=p=-1;else throw new SyntaxError(`Unexpected character at index ${d}`);else if(s){if(Qp[_]!==1)throw new SyntaxError(`Unexpected character at index ${d}`);l===-1?l=d:n||(n=!0),s=!1}else if(i)if(Qp[_]===1)l===-1&&(l=d);else if(_===34&&l!==-1)i=!1,p=d;else if(_===92)s=!0;else throw new SyntaxError(`Unexpected character at index ${d}`);else if(_===34&&e.charCodeAt(d-1)===61)i=!0;else if(p===-1&&Qp[_]===1)l===-1&&(l=d);else if(l!==-1&&(_===32||_===9))p===-1&&(p=d);else if(_===59||_===44){if(l===-1)throw new SyntaxError(`Unexpected character at index ${d}`);p===-1&&(p=d);let v=e.slice(l,p);n&&(v=v.replace(/\\/g,""),n=!1),zs(r,c,v),_===44&&(zs(t,o,r),r=Object.create(null),o=void 0),c=void 0,l=p=-1}else throw new SyntaxError(`Unexpected character at index ${d}`)}if(l===-1||i)throw new SyntaxError("Unexpected end of input");p===-1&&(p=d);let y=e.slice(l,p);return o===void 0?zs(t,y,r):(c===void 0?zs(r,y,!0):n?zs(r,c,y.replace(/\\/g,"")):zs(r,c,y),zs(t,o,r)),t}function _K(e){return Object.keys(e).map(t=>{let r=e[t];return Array.isArray(r)||(r=[r]),r.map(n=>[t].concat(Object.keys(n).map(s=>{let i=n[s];return Array.isArray(i)||(i=[i]),i.map(o=>o===!0?s:`${s}=${o}`).join("; ")})).join("; ")).join(", ")}).join(", ")}_T.exports={format:_K,parse:yK}});var Ww=h((VDe,DT)=>{"use strict";var gK=require("events"),vK=require("https"),bK=require("http"),gT=require("net"),wK=require("tls"),{randomBytes:EK,createHash:AK}=require("crypto"),{Readable:MDe}=require("stream"),{URL:$w}=require("url"),lo=zp(),CK=Mw(),SK=Vw(),{BINARY_TYPES:vT,EMPTY_BUFFER:Lw,GUID:IK,kStatusCode:DK,kWebSocket:en,NOOP:bT}=Iu(),{addEventListener:OK,removeEventListener:TK}=yT(),{format:jK,parse:RK}=Bw(),{toBuffer:PK}=Jp(),pa=["CONNECTING","OPEN","CLOSING","CLOSED"],kw=[8,13],NK=30*1e3,be=class extends gK{constructor(t,r,n){super();this._binaryType=vT[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage="",this._closeTimer=null,this._extensions={},this._protocol="",this._readyState=be.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,t!==null?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,Array.isArray(r)?r=r.join(", "):typeof r=="object"&&r!==null&&(n=r,r=void 0),wT(this,t,r,n)):this._isServer=!0}get binaryType(){return this._binaryType}set binaryType(t){!vT.includes(t)||(this._binaryType=t,this._receiver&&(this._receiver._binaryType=t))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get onclose(){}set onclose(t){}get onerror(){}set onerror(t){}get onopen(){}set onopen(t){}get onmessage(){}set onmessage(t){}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(t,r,n){let s=new CK(this.binaryType,this._extensions,this._isServer,n);this._sender=new SK(t,this._extensions),this._receiver=s,this._socket=t,s[en]=this,t[en]=this,s.on("conclude",qK),s.on("drain",MK),s.on("error",VK),s.on("message",BK),s.on("ping",$K),s.on("pong",LK),t.setTimeout(0),t.setNoDelay(),r.length>0&&t.unshift(r),t.on("close",CT),t.on("data",ey),t.on("end",ST),t.on("error",IT),this._readyState=be.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=be.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[lo.extensionName]&&this._extensions[lo.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=be.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(t,r){if(this.readyState!==be.CLOSED){if(this.readyState===be.CONNECTING){let n="WebSocket was closed before the connection was established";return Bn(this,this._req,n)}if(this.readyState===be.CLOSING){this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end();return}this._readyState=be.CLOSING,this._sender.close(t,r,!this._isServer,n=>{n||(this._closeFrameSent=!0,(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end())}),this._closeTimer=setTimeout(this._socket.destroy.bind(this._socket),NK)}}ping(t,r,n){if(this.readyState===be.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof t=="function"?(n=t,t=r=void 0):typeof r=="function"&&(n=r,r=void 0),typeof t=="number"&&(t=t.toString()),this.readyState!==be.OPEN){Uw(this,t,n);return}r===void 0&&(r=!this._isServer),this._sender.ping(t||Lw,r,n)}pong(t,r,n){if(this.readyState===be.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof t=="function"?(n=t,t=r=void 0):typeof r=="function"&&(n=r,r=void 0),typeof t=="number"&&(t=t.toString()),this.readyState!==be.OPEN){Uw(this,t,n);return}r===void 0&&(r=!this._isServer),this._sender.pong(t||Lw,r,n)}send(t,r,n){if(this.readyState===be.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof r=="function"&&(n=r,r={}),typeof t=="number"&&(t=t.toString()),this.readyState!==be.OPEN){Uw(this,t,n);return}let s=F({binary:typeof t!="string",mask:!this._isServer,compress:!0,fin:!0},r);this._extensions[lo.extensionName]||(s.compress=!1),this._sender.send(t||Lw,s,n)}terminate(){if(this.readyState!==be.CLOSED){if(this.readyState===be.CONNECTING){let t="WebSocket was closed before the connection was established";return Bn(this,this._req,t)}this._socket&&(this._readyState=be.CLOSING,this._socket.destroy())}}};Object.defineProperty(be,"CONNECTING",{enumerable:!0,value:pa.indexOf("CONNECTING")});Object.defineProperty(be.prototype,"CONNECTING",{enumerable:!0,value:pa.indexOf("CONNECTING")});Object.defineProperty(be,"OPEN",{enumerable:!0,value:pa.indexOf("OPEN")});Object.defineProperty(be.prototype,"OPEN",{enumerable:!0,value:pa.indexOf("OPEN")});Object.defineProperty(be,"CLOSING",{enumerable:!0,value:pa.indexOf("CLOSING")});Object.defineProperty(be.prototype,"CLOSING",{enumerable:!0,value:pa.indexOf("CLOSING")});Object.defineProperty(be,"CLOSED",{enumerable:!0,value:pa.indexOf("CLOSED")});Object.defineProperty(be.prototype,"CLOSED",{enumerable:!0,value:pa.indexOf("CLOSED")});["binaryType","bufferedAmount","extensions","protocol","readyState","url"].forEach(e=>{Object.defineProperty(be.prototype,e,{enumerable:!0})});["open","error","close","message"].forEach(e=>{Object.defineProperty(be.prototype,`on${e}`,{enumerable:!0,get(){let t=this.listeners(e);for(let r=0;r<t.length;r++)if(t[r]._listener)return t[r]._listener},set(t){let r=this.listeners(e);for(let n=0;n<r.length;n++)r[n]._listener&&this.removeListener(e,r[n]);this.addEventListener(e,t)}})});be.prototype.addEventListener=OK;be.prototype.removeEventListener=TK;DT.exports=be;function wT(e,t,r,n){let s=k(F({protocolVersion:kw[1],maxPayload:100*1024*1024,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10},n),{createConnection:void 0,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:void 0,host:void 0,path:void 0,port:void 0});if(!kw.includes(s.protocolVersion))throw new RangeError(`Unsupported protocol version: ${s.protocolVersion} (supported versions: ${kw.join(", ")})`);let i;t instanceof $w?(i=t,e._url=t.href):(i=new $w(t),e._url=t);let o=i.protocol==="ws+unix:";if(!i.host&&(!o||!i.pathname))throw new Error(`Invalid URL: ${e.url}`);let c=i.protocol==="wss:"||i.protocol==="https:",l=c?443:80,p=EK(16).toString("base64"),d=c?vK.get:bK.get,y;if(s.createConnection=c?xK:FK,s.defaultPort=s.defaultPort||l,s.port=i.port||l,s.host=i.hostname.startsWith("[")?i.hostname.slice(1,-1):i.hostname,s.headers=F({"Sec-WebSocket-Version":s.protocolVersion,"Sec-WebSocket-Key":p,Connection:"Upgrade",Upgrade:"websocket"},s.headers),s.path=i.pathname+i.search,s.timeout=s.handshakeTimeout,s.perMessageDeflate&&(y=new lo(s.perMessageDeflate!==!0?s.perMessageDeflate:{},!1,s.maxPayload),s.headers["Sec-WebSocket-Extensions"]=jK({[lo.extensionName]:y.offer()})),r&&(s.headers["Sec-WebSocket-Protocol"]=r),s.origin&&(s.protocolVersion<13?s.headers["Sec-WebSocket-Origin"]=s.origin:s.headers.Origin=s.origin),(i.username||i.password)&&(s.auth=`${i.username}:${i.password}`),o){let v=s.path.split(":");s.socketPath=v[0],s.path=v[1]}let _=e._req=d(s);s.timeout&&_.on("timeout",()=>{Bn(e,_,"Opening handshake has timed out")}),_.on("error",v=>{_===null||_.aborted||(_=e._req=null,e._readyState=be.CLOSING,e.emit("error",v),e.emitClose())}),_.on("response",v=>{let w=v.headers.location,C=v.statusCode;if(w&&s.followRedirects&&C>=300&&C<400){if(++e._redirects>s.maxRedirects){Bn(e,_,"Maximum redirects exceeded");return}_.abort();let D=new $w(w,t);wT(e,D,r,n)}else e.emit("unexpected-response",_,v)||Bn(e,_,`Unexpected server response: ${v.statusCode}`)}),_.on("upgrade",(v,w,C)=>{if(e.emit("upgrade",v),e.readyState!==be.CONNECTING)return;_=e._req=null;let D=AK("sha1").update(p+IK).digest("base64");if(v.headers["sec-websocket-accept"]!==D){Bn(e,w,"Invalid Sec-WebSocket-Accept header");return}let S=v.headers["sec-websocket-protocol"],$=(r||"").split(/, */),R;if(!r&&S?R="Server sent a subprotocol but none was requested":r&&!S?R="Server sent no subprotocol":S&&!$.includes(S)&&(R="Server sent an invalid subprotocol"),R){Bn(e,w,R);return}S&&(e._protocol=S);let P=v.headers["sec-websocket-extensions"];if(P!==void 0){if(!y){Bn(e,w,"Server sent a Sec-WebSocket-Extensions header but no extension was requested");return}let q;try{q=RK(P)}catch(H){Bn(e,w,"Invalid Sec-WebSocket-Extensions header");return}let W=Object.keys(q);if(W.length){if(W.length!==1||W[0]!==lo.extensionName){Bn(e,w,"Server indicated an extension that was not requested");return}try{y.accept(q[lo.extensionName])}catch(H){Bn(e,w,"Invalid Sec-WebSocket-Extensions header");return}e._extensions[lo.extensionName]=y}}e.setSocket(w,C,s.maxPayload)})}function FK(e){return e.path=e.socketPath,gT.connect(e)}function xK(e){return e.path=void 0,!e.servername&&e.servername!==""&&(e.servername=gT.isIP(e.host)?"":e.host),wK.connect(e)}function Bn(e,t,r){e._readyState=be.CLOSING;let n=new Error(r);Error.captureStackTrace(n,Bn),t.setHeader?(t.abort(),t.socket&&!t.socket.destroyed&&t.socket.destroy(),t.once("abort",e.emitClose.bind(e)),e.emit("error",n)):(t.destroy(n),t.once("error",e.emit.bind(e,"error")),t.once("close",e.emitClose.bind(e)))}function Uw(e,t,r){if(t){let n=PK(t).length;e._socket?e._sender._bufferedBytes+=n:e._bufferedAmount+=n}if(r){let n=new Error(`WebSocket is not open: readyState ${e.readyState} (${pa[e.readyState]})`);r(n)}}function qK(e,t){let r=this[en];r._socket.removeListener("data",ey),process.nextTick(AT,r._socket),r._closeFrameReceived=!0,r._closeMessage=t,r._closeCode=e,e===1005?r.close():r.close(e,t)}function MK(){this[en]._socket.resume()}function VK(e){let t=this[en];t._socket.removeListener("data",ey),process.nextTick(AT,t._socket),t.close(e[DK]),t.emit("error",e)}function ET(){this[en].emitClose()}function BK(e){this[en].emit("message",e)}function $K(e){let t=this[en];t.pong(e,!t._isServer,bT),t.emit("ping",e)}function LK(e){this[en].emit("pong",e)}function AT(e){e.resume()}function CT(){let e=this[en];this.removeListener("close",CT),this.removeListener("data",ey),this.removeListener("end",ST),e._readyState=be.CLOSING;let t;!this._readableState.endEmitted&&!e._closeFrameReceived&&!e._receiver._writableState.errorEmitted&&(t=e._socket.read())!==null&&e._receiver.write(t),e._receiver.end(),this[en]=void 0,clearTimeout(e._closeTimer),e._receiver._writableState.finished||e._receiver._writableState.errorEmitted?e.emitClose():(e._receiver.on("error",ET),e._receiver.on("finish",ET))}function ey(e){this[en]._receiver.write(e)||this.pause()}function ST(){let e=this[en];e._readyState=be.CLOSING,e._receiver.end(),this.end()}function IT(){let e=this[en];this.removeListener("error",IT),this.on("error",bT),e&&(e._readyState=be.CLOSING,this.destroy())}});var RT=h((BDe,jT)=>{"use strict";var{Duplex:kK}=require("stream");function OT(e){e.emit("close")}function UK(){!this.destroyed&&this._writableState.finished&&this.destroy()}function TT(e){this.removeListener("error",TT),this.destroy(),this.listenerCount("error")===0&&this.emit("error",e)}function WK(e,t){let r=!0,n=!0;function s(){r&&e._socket.resume()}e.readyState===e.CONNECTING?e.once("open",function(){e._receiver.removeAllListeners("drain"),e._receiver.on("drain",s)}):(e._receiver.removeAllListeners("drain"),e._receiver.on("drain",s));let i=new kK(k(F({},t),{autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1}));return e.on("message",function(c){i.push(c)||(r=!1,e._socket.pause())}),e.once("error",function(c){i.destroyed||(n=!1,i.destroy(c))}),e.once("close",function(){i.destroyed||i.push(null)}),i._destroy=function(o,c){if(e.readyState===e.CLOSED){c(o),process.nextTick(OT,i);return}let l=!1;e.once("error",function(d){l=!0,c(d)}),e.once("close",function(){l||c(o),process.nextTick(OT,i)}),n&&e.terminate()},i._final=function(o){if(e.readyState===e.CONNECTING){e.once("open",function(){i._final(o)});return}e._socket!==null&&(e._socket._writableState.finished?(o(),i._readableState.endEmitted&&i.destroy()):(e._socket.once("finish",function(){o()}),e.close()))},i._read=function(){e.readyState===e.OPEN&&!r&&(r=!0,e._receiver._writableState.needDrain||e._socket.resume())},i._write=function(o,c,l){if(e.readyState===e.CONNECTING){e.once("open",function(){i._write(o,c,l)});return}e.send(o,l)},i.on("end",UK),i.on("error",TT),i}jT.exports=WK});var MT=h((UDe,qT)=>{"use strict";var GK=require("events"),ty=require("http"),$De=require("https"),LDe=require("net"),kDe=require("tls"),{createHash:HK}=require("crypto"),Ou=zp(),JK=Ww(),{format:XK,parse:YK}=Bw(),{GUID:zK,kWebSocket:KK}=Iu(),ZK=/^[+/0-9A-Za-z]{22}==$/,PT=0,NT=1,FT=2,xT=class extends GK{constructor(t,r){super();if(t=F({maxPayload:100*1024*1024,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null},t),t.port==null&&!t.server&&!t.noServer||t.port!=null&&(t.server||t.noServer)||t.server&&t.noServer)throw new TypeError('One and only one of the "port", "server", or "noServer" options must be specified');if(t.port!=null?(this._server=ty.createServer((n,s)=>{let i=ty.STATUS_CODES[426];s.writeHead(426,{"Content-Length":i.length,"Content-Type":"text/plain"}),s.end(i)}),this._server.listen(t.port,t.host,t.backlog,r)):t.server&&(this._server=t.server),this._server){let n=this.emit.bind(this,"connection");this._removeListeners=QK(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(s,i,o)=>{this.handleUpgrade(s,i,o,n)}})}t.perMessageDeflate===!0&&(t.perMessageDeflate={}),t.clientTracking&&(this.clients=new Set),this.options=t,this._state=PT}address(){if(this.options.noServer)throw new Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(t){if(t&&this.once("close",t),this._state===FT){process.nextTick(Gw,this);return}if(this._state===NT)return;if(this._state=NT,this.clients)for(let n of this.clients)n.terminate();let r=this._server;if(r&&(this._removeListeners(),this._removeListeners=this._server=null,this.options.port!=null)){r.close(Gw.bind(void 0,this));return}process.nextTick(Gw,this)}shouldHandle(t){if(this.options.path){let r=t.url.indexOf("?");if((r!==-1?t.url.slice(0,r):t.url)!==this.options.path)return!1}return!0}handleUpgrade(t,r,n,s){r.on("error",Hw);let i=t.headers["sec-websocket-key"]!==void 0?t.headers["sec-websocket-key"].trim():!1,o=+t.headers["sec-websocket-version"],c={};if(t.method!=="GET"||t.headers.upgrade.toLowerCase()!=="websocket"||!i||!ZK.test(i)||o!==8&&o!==13||!this.shouldHandle(t))return ed(r,400);if(this.options.perMessageDeflate){let l=new Ou(this.options.perMessageDeflate,!0,this.options.maxPayload);try{let p=YK(t.headers["sec-websocket-extensions"]);p[Ou.extensionName]&&(l.accept(p[Ou.extensionName]),c[Ou.extensionName]=l)}catch(p){return ed(r,400)}}if(this.options.verifyClient){let l={origin:t.headers[`${o===8?"sec-websocket-origin":"origin"}`],secure:!!(t.socket.authorized||t.socket.encrypted),req:t};if(this.options.verifyClient.length===2){this.options.verifyClient(l,(p,d,y,_)=>{if(!p)return ed(r,d||401,y,_);this.completeUpgrade(i,c,t,r,n,s)});return}if(!this.options.verifyClient(l))return ed(r,401)}this.completeUpgrade(i,c,t,r,n,s)}completeUpgrade(t,r,n,s,i,o){if(!s.readable||!s.writable)return s.destroy();if(s[KK])throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");if(this._state>PT)return ed(s,503);let c=HK("sha1").update(t+zK).digest("base64"),l=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${c}`],p=new JK(null),d=n.headers["sec-websocket-protocol"];if(d&&(d=d.split(",").map(eZ),this.options.handleProtocols?d=this.options.handleProtocols(d,n):d=d[0],d&&(l.push(`Sec-WebSocket-Protocol: ${d}`),p._protocol=d)),r[Ou.extensionName]){let y=r[Ou.extensionName].params,_=XK({[Ou.extensionName]:[y]});l.push(`Sec-WebSocket-Extensions: ${_}`),p._extensions=r}this.emit("headers",l,n),s.write(l.concat(`\r `).join(`\r `)),s.removeListener("error",Hw),p.setSocket(s,i,this.options.maxPayload),this.clients&&(this.clients.add(p),p.on("close",()=>this.clients.delete(p))),o(p,n)}};qT.exports=xT;function QK(e,t){for(let r of Object.keys(t))e.on(r,t[r]);return function(){for(let n of Object.keys(t))e.removeListener(n,t[n])}}function Gw(e){e._state=FT,e.emit("close")}function Hw(){this.destroy()}function ed(e,t,r,n){e.writable&&(r=r||ty.STATUS_CODES[t],n=F({Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(r)},n),e.write(`HTTP/1.1 ${t} ${ty.STATUS_CODES[t]}\r `+Object.keys(n).map(s=>`${s}: ${n[s]}`).join(`\r `)+`\r \r `+r)),e.removeListener("error",Hw),e.destroy()}function eZ(e){return e.trim()}});var BT=h((WDe,VT)=>{"use strict";var td=Ww();td.createWebSocketStream=RT();td.Server=MT();td.Receiver=Mw();td.Sender=Vw();VT.exports=td});var rd=h(qt=>{"use strict";Object.defineProperty(qt,"__esModule",{value:!0});qt.createJSONRPCErrorResponse=qt.JSONRPCErrorCode=qt.isJSONRPCResponse=qt.isJSONRPCRequest=qt.isJSONRPCID=qt.JSONRPC=void 0;qt.JSONRPC="2.0";qt.isJSONRPCID=function(e){return typeof e=="string"||typeof e=="number"||e===null};qt.isJSONRPCRequest=function(e){return e.jsonrpc===qt.JSONRPC&&e.method!==void 0&&e.result===void 0&&e.error===void 0};qt.isJSONRPCResponse=function(e){return e.jsonrpc===qt.JSONRPC&&e.id!==void 0&&(e.result!==void 0||e.error!==void 0)};var tZ;(function(e){e[e.ParseError=-32700]="ParseError",e[e.InvalidRequest=-32600]="InvalidRequest",e[e.MethodNotFound=-32601]="MethodNotFound",e[e.InvalidParams=-32602]="InvalidParams",e[e.InternalError=-32603]="InternalError"})(tZ=qt.JSONRPCErrorCode||(qt.JSONRPCErrorCode={}));qt.createJSONRPCErrorResponse=function(e,t,r,n){var s={code:t,message:r};return n&&(s.data=n),{jsonrpc:qt.JSONRPC,id:e,error:s}}});var Jw=h($c=>{"use strict";Object.defineProperty($c,"__esModule",{value:!0});$c.DefaultErrorCode=$c.createLogDeprecationWarning=void 0;$c.createLogDeprecationWarning=function(e){var t=!1;return function(){!t&&process.env.NODE_ENV!=="production"&&(console.warn("Deprecation Warning (json-rpc-2.0): "+e),t=!0)}};$c.DefaultErrorCode=0});var $T=h(ny=>{"use strict";Object.defineProperty(ny,"__esModule",{value:!0});ny.JSONRPCClient=void 0;var nd=rd(),ry=Jw(),rZ=ry.createLogDeprecationWarning(`Using a higher order function on JSONRPCClient send method is deprecated. Instead of this: new JSONRPCClient((jsonRPCClient) => (clientParams) => /* no change here */) Do this: new JSONRPCClient((jsonRPCClient, clientParams) => /* no change here */) The old way still works, but we will drop the support in the future.`),nZ=function(){function e(t,r){this._send=t,this.createID=r,this.idToResolveMap=new Map,this.id=0}return e.prototype._createID=function(){return this.createID?this.createID():++this.id},e.prototype.timeout=function(t,r){var n=this;r===void 0&&(r=function(i){return nd.createJSONRPCErrorResponse(i,ry.DefaultErrorCode,"Request timeout")});var s=function(i,o){var c=setTimeout(function(){var l=n.idToResolveMap.get(i);l&&(n.idToResolveMap.delete(i),l(r(i)))},t);return o().then(function(l){return clearTimeout(c),l},function(l){return clearTimeout(c),Promise.reject(l)})};return{request:function(i,o,c){var l=n._createID();return s(l,function(){return n.requestWithID(i,o,c,l)})},requestAdvanced:function(i,o){return s(i.id,function(){return n.requestAdvanced(i,o)})}}},e.prototype.request=function(t,r,n){return this.requestWithID(t,r,n,this._createID())},e.prototype.requestWithID=function(t,r,n,s){var i={jsonrpc:nd.JSONRPC,method:t,params:r,id:s};return this.requestAdvanced(i,n).then(function(o){return o.result!==void 0&&!o.error?o.result:o.result===void 0&&o.error?Promise.reject(new Error(o.error.message)):Promise.reject(new Error("An unexpected error occurred"))})},e.prototype.requestAdvanced=function(t,r){var n=this,s=new Promise(function(i){return n.idToResolveMap.set(t.id,i)});return this.send(t,r).then(function(){return s},function(i){return n.receive(nd.createJSONRPCErrorResponse(t.id,ry.DefaultErrorCode,i&&i.message||"Failed to send a request")),s})},e.prototype.notify=function(t,r,n){this.send({jsonrpc:nd.JSONRPC,method:t,params:r},n).then(void 0,function(){})},e.prototype.send=function(t,r){var n=this._send(t,r);return typeof n=="function"&&(rZ(),n=n(r)),n},e.prototype.rejectAllPendingRequests=function(t){this.idToResolveMap.forEach(function(r,n){return r(nd.createJSONRPCErrorResponse(n,ry.DefaultErrorCode,t))}),this.idToResolveMap.clear()},e.prototype.receive=function(t){var r=this.idToResolveMap.get(t.id);r&&(this.idToResolveMap.delete(t.id),r(t))},e}();ny.JSONRPCClient=nZ});var UT=h(Lc=>{"use strict";var sy=Lc&&Lc.__assign||function(){return sy=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++){t=arguments[r];for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s])}return e},sy.apply(this,arguments)};Object.defineProperty(Lc,"__esModule",{value:!0});Lc.JSONRPCServer=void 0;var $n=rd(),LT=Jw(),sZ=function(){return $n.createJSONRPCErrorResponse(null,$n.JSONRPCErrorCode.ParseError,"Parse error")},iZ=function(e){return $n.createJSONRPCErrorResponse($n.isJSONRPCID(e.id)?e.id:null,$n.JSONRPCErrorCode.InvalidRequest,"Invalid Request")},aZ=function(e){return $n.createJSONRPCErrorResponse(e,$n.JSONRPCErrorCode.MethodNotFound,"Method not found")},kT=LT.createLogDeprecationWarning(`Using a higher order function on JSONRPCServer.addMethod/addMethodAdvanced is deprecated. Instead of this: jsonRPCServer.addMethod(methodName, (params) => (serverParams) => /* no change here */) Do this: jsonRPCServer.addMethod(methodName, (params, serverParams) => /* no change here */) The old way still works, but we will drop the support in the future.`),oZ=function(){function e(){this.mapErrorToJSONRPCErrorResponse=cZ,this.nameToMethodDictionary={}}return e.prototype.addMethod=function(t,r){this.addMethodAdvanced(t,this.toJSONRPCMethod(r))},e.prototype.toJSONRPCMethod=function(t){var r=this;return function(n,s){var i=t(n.params,s);return typeof i=="function"&&(kT(),i=i(s)),Promise.resolve(i).then(function(o){return uZ(n.id,o)},function(o){return console.warn("JSON-RPC method "+n.method+" responded an error",o),r.mapErrorToJSONRPCErrorResponseIfNecessary(n.id,o)})}},e.prototype.addMethodAdvanced=function(t,r){var n;this.nameToMethodDictionary=sy(sy({},this.nameToMethodDictionary),(n={},n[t]=r,n))},e.prototype.receiveJSON=function(t,r){var n=this.tryParseRequestJSON(t);return n?this.receive(n,r):Promise.resolve(sZ())},e.prototype.tryParseRequestJSON=function(t){try{return JSON.parse(t)}catch(r){return null}},e.prototype.receive=function(t,r){var n=this.nameToMethodDictionary[t.method];if($n.isJSONRPCRequest(t))if(n){var s=this.callMethod(n,t,r);return s.then(function(i){return lZ(t,i)})}else return t.id!==void 0?Promise.resolve(aZ(t.id)):Promise.resolve(null);else return Promise.resolve(iZ(t))},e.prototype.callMethod=function(t,r,n){var s=this,i=function(c){return console.warn('An unexpected error occurred while executing "'+r.method+'" JSON-RPC method:',c),Promise.resolve(s.mapErrorToJSONRPCErrorResponseIfNecessary(r.id,c))};try{var o=t(r,n);return typeof o=="function"&&(kT(),o=o(n)),o.then(void 0,i)}catch(c){return i(c)}},e.prototype.mapErrorToJSONRPCErrorResponseIfNecessary=function(t,r){return t!==void 0?this.mapErrorToJSONRPCErrorResponse(t,r):null},e}();Lc.JSONRPCServer=oZ;var uZ=function(e,t){return e!==void 0?{jsonrpc:$n.JSONRPC,id:e,result:t===void 0?null:t}:null},cZ=function(e,t){return $n.createJSONRPCErrorResponse(e,LT.DefaultErrorCode,t&&t.message||"An unexpected error occurred")},lZ=function(e,t){return t||(e.id!==void 0?$n.createJSONRPCErrorResponse(e.id,$n.JSONRPCErrorCode.InternalError,"Internal error"):null)}});var GT=h(fo=>{"use strict";var fZ=fo&&fo.__awaiter||function(e,t,r,n){function s(i){return i instanceof r?i:new r(function(o){o(i)})}return new(r||(r=Promise))(function(i,o){function c(d){try{p(n.next(d))}catch(y){o(y)}}function l(d){try{p(n.throw(d))}catch(y){o(y)}}function p(d){d.done?i(d.value):s(d.value).then(c,l)}p((n=n.apply(e,t||[])).next())})},pZ=fo&&fo.__generator||function(e,t){var r={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},n,s,i,o;return o={next:c(0),throw:c(1),return:c(2)},typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function c(p){return function(d){return l([p,d])}}function l(p){if(n)throw new TypeError("Generator is already executing.");for(;r;)try{if(n=1,s&&(i=p[0]&2?s.return:p[0]?s.throw||((i=s.return)&&i.call(s),0):s.next)&&!(i=i.call(s,p[1])).done)return i;switch(s=0,i&&(p=[p[0]&2,i.value]),p[0]){case 0:case 1:i=p;break;case 4:return r.label++,{value:p[1],done:!1};case 5:r.label++,s=p[1],p=[0];continue;case 7:p=r.ops.pop(),r.trys.pop();continue;default:if(i=r.trys,!(i=i.length>0&&i[i.length-1])&&(p[0]===6||p[0]===2)){r=0;continue}if(p[0]===3&&(!i||p[1]>i[0]&&p[1]<i[3])){r.label=p[1];break}if(p[0]===6&&r.label<i[1]){r.label=i[1],i=p;break}if(i&&r.label<i[2]){r.label=i[2],r.ops.push(p);break}i[2]&&r.ops.pop(),r.trys.pop();continue}p=t.call(e,r)}catch(d){p=[6,d],s=0}finally{n=i=0}if(p[0]&5)throw p[1];return{value:p[0]?p[1]:void 0,done:!0}}};Object.defineProperty(fo,"__esModule",{value:!0});fo.JSONRPCServerAndClient=void 0;var WT=rd(),dZ=function(){function e(t,r){this.server=t,this.client=r}return e.prototype.addMethod=function(t,r){this.server.addMethod(t,r)},e.prototype.addMethodAdvanced=function(t,r){this.server.addMethodAdvanced(t,r)},e.prototype.timeout=function(t){return this.client.timeout(t)},e.prototype.request=function(t,r,n){return this.client.request(t,r,n)},e.prototype.requestAdvanced=function(t,r){return this.client.requestAdvanced(t,r)},e.prototype.notify=function(t,r,n){this.client.notify(t,r,n)},e.prototype.rejectAllPendingRequests=function(t){this.client.rejectAllPendingRequests(t)},e.prototype.receiveAndSend=function(t,r,n){return fZ(this,void 0,void 0,function(){var s,i;return pZ(this,function(o){switch(o.label){case 0:return WT.isJSONRPCResponse(t)?(this.client.receive(t),[3,4]):[3,1];case 1:return WT.isJSONRPCRequest(t)?[4,this.server.receive(t,r)]:[3,3];case 2:return s=o.sent(),s?[2,this.client.send(s,n)]:[3,4];case 3:return i="Received an invalid JSON-RPC message",console.warn(i,t),[2,Promise.reject(new Error(i))];case 4:return[2]}})})},e}();fo.JSONRPCServerAndClient=dZ});var HT=h(Ks=>{"use strict";var hZ=Ks&&Ks.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),iy=Ks&&Ks.__exportStar||function(e,t){for(var r in e)r!=="default"&&!t.hasOwnProperty(r)&&hZ(t,e,r)};Object.defineProperty(Ks,"__esModule",{value:!0});iy($T(),Ks);iy(rd(),Ks);iy(UT(),Ks);iy(GT(),Ks)});var sd=h((KDe,JT)=>{var mZ="2.0.0",yZ=256,_Z=Number.MAX_SAFE_INTEGER||9007199254740991,gZ=16;JT.exports={SEMVER_SPEC_VERSION:mZ,MAX_LENGTH:yZ,MAX_SAFE_INTEGER:_Z,MAX_SAFE_COMPONENT_LENGTH:gZ}});var id=h((ZDe,XT)=>{var vZ=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};XT.exports=vZ});var Tu=h((po,YT)=>{var{MAX_SAFE_COMPONENT_LENGTH:Xw}=sd(),bZ=id();po=YT.exports={};var wZ=po.re=[],X=po.src=[],Y=po.t={},EZ=0,_e=(e,t,r)=>{let n=EZ++;bZ(n,t),Y[e]=n,X[n]=t,wZ[n]=new RegExp(t,r?"g":void 0)};_e("NUMERICIDENTIFIER","0|[1-9]\\d*");_e("NUMERICIDENTIFIERLOOSE","[0-9]+");_e("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*");_e("MAINVERSION",`(${X[Y.NUMERICIDENTIFIER]})\\.(${X[Y.NUMERICIDENTIFIER]})\\.(${X[Y.NUMERICIDENTIFIER]})`);_e("MAINVERSIONLOOSE",`(${X[Y.NUMERICIDENTIFIERLOOSE]})\\.(${X[Y.NUMERICIDENTIFIERLOOSE]})\\.(${X[Y.NUMERICIDENTIFIERLOOSE]})`);_e("PRERELEASEIDENTIFIER",`(?:${X[Y.NUMERICIDENTIFIER]}|${X[Y.NONNUMERICIDENTIFIER]})`);_e("PRERELEASEIDENTIFIERLOOSE",`(?:${X[Y.NUMERICIDENTIFIERLOOSE]}|${X[Y.NONNUMERICIDENTIFIER]})`);_e("PRERELEASE",`(?:-(${X[Y.PRERELEASEIDENTIFIER]