mirror of
https://github.com/kristoferssolo/solorice.git
synced 2025-10-21 20:10:34 +00:00
2 lines
100 KiB
JavaScript
2 lines
100 KiB
JavaScript
(()=>{var e={8309:(e,t,r)=>{"use strict";const s=r(2081),n=r(4605),o=r(3743);function i(e,t,r){const i=n(e,t,r),a=s.spawn(i.command,i.args,i.options);return o.hookChildProcess(a,i),a}e.exports=i,e.exports.spawn=i,e.exports.sync=function(e,t,r){const i=n(e,t,r),a=s.spawnSync(i.command,i.args,i.options);return a.error=a.error||o.verifyENOENTSync(a.status,i),a},e.exports._parse=n,e.exports._enoent=o},3743:e=>{"use strict";const t="win32"===process.platform;function r(e,t){return Object.assign(new Error(`${t} ${e.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${t} ${e.command}`,path:e.command,spawnargs:e.args})}function s(e,s){return t&&1===e&&!s.file?r(s.original,"spawn"):null}e.exports={hookChildProcess:function(e,r){if(!t)return;const n=e.emit;e.emit=function(t,o){if("exit"===t){const t=s(o,r);if(t)return n.call(e,"error",t)}return n.apply(e,arguments)}},verifyENOENT:s,verifyENOENTSync:function(e,s){return t&&1===e&&!s.file?r(s.original,"spawnSync"):null},notFoundError:r}},4605:(e,t,r)=>{"use strict";const s=r(1017),n=r(2202),o=r(5081),i=r(7550),a="win32"===process.platform,c=/\.(?:com|exe)$/i,l=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;e.exports=function(e,t,r){t&&!Array.isArray(t)&&(r=t,t=null);const d={command:e,args:t=t?t.slice(0):[],options:r=Object.assign({},r),file:void 0,original:{command:e,args:t}};return r.shell?d:function(e){if(!a)return e;const t=function(e){e.file=n(e);const t=e.file&&i(e.file);return t?(e.args.unshift(e.file),e.command=t,n(e)):e.file}(e),r=!c.test(t);if(e.options.forceShell||r){const r=l.test(t);e.command=s.normalize(e.command),e.command=o.command(e.command),e.args=e.args.map((e=>o.argument(e,r)));const n=[e.command].concat(e.args).join(" ");e.args=["/d","/s","/c",`"${n}"`],e.command=process.env.comspec||"cmd.exe",e.options.windowsVerbatimArguments=!0}return e}(d)}},5081:e=>{"use strict";const t=/([()\][%!^"`<>&|;, *?])/g;e.exports.command=function(e){return e.replace(t,"^$1")},e.exports.argument=function(e,r){return e=(e=`"${e=(e=(e=`${e}`).replace(/(\\*)"/g,'$1$1\\"')).replace(/(\\*)$/,"$1$1")}"`).replace(t,"^$1"),r&&(e=e.replace(t,"^$1")),e}},7550:(e,t,r)=>{"use strict";const s=r(7147),n=r(2063);e.exports=function(e){const t=Buffer.alloc(150);let r;try{r=s.openSync(e,"r"),s.readSync(r,t,0,150,0),s.closeSync(r)}catch(e){}return n(t.toString())}},2202:(e,t,r)=>{"use strict";const s=r(1017),n=r(2806),o=r(3024);function i(e,t){const r=e.options.env||process.env,i=process.cwd(),a=null!=e.options.cwd,c=a&&void 0!==process.chdir&&!process.chdir.disabled;if(c)try{process.chdir(e.options.cwd)}catch(e){}let l;try{l=n.sync(e.command,{path:r[o({env:r})],pathExt:t?s.delimiter:void 0})}catch(e){}finally{c&&process.chdir(i)}return l&&(l=s.resolve(a?e.options.cwd:"",l)),l}e.exports=function(e){return i(e)||i(e,!0)}},8468:(e,t,r)=>{"use strict";const s=r(1017),n=r(2081),o=r(8309),i=r(8150),a=r(6147),c=r(7678),l=r(4353),d=r(3111),{spawnedKill:u,spawnedCancel:h,setupTimeout:f,validateTimeout:p,setExitHandler:m}=r(3820),{handleInput:g,getSpawnedResult:_,makeAllStream:y,validateInputSync:v}=r(4994),{mergePromise:w,getSpawnedPromise:b}=r(1708),{joinCommand:S,parseCommand:x,getEscapedCommand:E}=r(4077),k=(e,t,r={})=>{const n=o._parse(e,t,r);return e=n.command,t=n.args,(r={maxBuffer:1e8,buffer:!0,stripFinalNewline:!0,extendEnv:!0,preferLocal:!1,localDir:(r=n.options).cwd||process.cwd(),execPath:process.execPath,encoding:"utf8",reject:!0,cleanup:!0,all:!1,windowsHide:!0,...r}).env=(({env:e,extendEnv:t,preferLocal:r,localDir:s,execPath:n})=>{const o=t?{...process.env,...e}:e;return r?a.env({env:o,cwd:s,execPath:n}):o})(r),r.stdio=d(r),"win32"===process.platform&&"cmd"===s.basename(e,".exe")&&t.unshift("/q"),{file:e,args:t,options:r,parsed:n}},C=(e,t,r)=>"string"==typeof t||Buffer.isBuffer(t)?e.stripFinalNewline?i(t):t:void 0===r?void 0:"",O=(e,t,r)=>{const s=k(e,t,r),o=S(e,t),i=E(e,t);let a;p(s.options);try{a=n.spawn(s.file,s.args,s.options)}catch(e){const t=new n.ChildProcess,r=Promise.reject(l({error:e,stdout:"",stderr:"",all:"",command:o,escapedCommand:i,parsed:s,timedOut:!1,isCanceled:!1,killed:!1}));return w(t,r)}const d=b(a),v=f(a,s.options,d),x=m(a,s.options,v),O={isCanceled:!1};a.kill=u.bind(null,a.kill.bind(a)),a.cancel=h.bind(null,a,O);const P=c((async()=>{const[{error:e,exitCode:t,signal:r,timedOut:n},c,d,u]=await _(a,s.options,x),h=C(s.options,c),f=C(s.options,d),p=C(s.options,u);if(e||0!==t||null!==r){const c=l({error:e,exitCode:t,signal:r,stdout:h,stderr:f,all:p,command:o,escapedCommand:i,parsed:s,timedOut:n,isCanceled:O.isCanceled,killed:a.killed});if(!s.options.reject)return c;throw c}return{command:o,escapedCommand:i,exitCode:0,stdout:h,stderr:f,all:p,failed:!1,timedOut:!1,isCanceled:!1,killed:!1}}));return g(a,s.options.input),a.all=y(a,s.options),w(a,P)};e.exports=O,e.exports.sync=(e,t,r)=>{const s=k(e,t,r),o=S(e,t),i=E(e,t);let a;v(s.options);try{a=n.spawnSync(s.file,s.args,s.options)}catch(e){throw l({error:e,stdout:"",stderr:"",all:"",command:o,escapedCommand:i,parsed:s,timedOut:!1,isCanceled:!1,killed:!1})}const c=C(s.options,a.stdout,a.error),d=C(s.options,a.stderr,a.error);if(a.error||0!==a.status||null!==a.signal){const e=l({stdout:c,stderr:d,error:a.error,signal:a.signal,exitCode:a.status,command:o,escapedCommand:i,parsed:s,timedOut:a.error&&"ETIMEDOUT"===a.error.code,isCanceled:!1,killed:null!==a.signal});if(!s.options.reject)return e;throw e}return{command:o,escapedCommand:i,exitCode:0,stdout:c,stderr:d,failed:!1,timedOut:!1,isCanceled:!1,killed:!1}},e.exports.command=(e,t)=>{const[r,...s]=x(e);return O(r,s,t)},e.exports.commandSync=(e,t)=>{const[r,...s]=x(e);return O.sync(r,s,t)},e.exports.node=(e,t,r={})=>{t&&!Array.isArray(t)&&"object"==typeof t&&(r=t,t=[]);const s=d.node(r),n=process.execArgv.filter((e=>!e.startsWith("--inspect"))),{nodePath:o=process.execPath,nodeOptions:i=n}=r;return O(o,[...i,e,...Array.isArray(t)?t:[]],{...r,stdin:void 0,stdout:void 0,stderr:void 0,stdio:s,shell:!1})}},4077:e=>{"use strict";const t=(e,t=[])=>Array.isArray(t)?[e,...t]:[e],r=/^[\w.-]+$/,s=/"/g,n=/ +/g;e.exports={joinCommand:(e,r)=>t(e,r).join(" "),getEscapedCommand:(e,n)=>t(e,n).map((e=>(e=>"string"!=typeof e||r.test(e)?e:`"${e.replace(s,'\\"')}"`)(e))).join(" "),parseCommand:e=>{const t=[];for(const r of e.trim().split(n)){const e=t[t.length-1];e&&e.endsWith("\\")?t[t.length-1]=`${e.slice(0,-1)} ${r}`:t.push(r)}return t}}},4353:(e,t,r)=>{"use strict";const{signalsByName:s}=r(7787);e.exports=({stdout:e,stderr:t,all:r,error:n,signal:o,exitCode:i,command:a,escapedCommand:c,timedOut:l,isCanceled:d,killed:u,parsed:{options:{timeout:h}}})=>{i=null===i?void 0:i;const f=void 0===(o=null===o?void 0:o)?void 0:s[o].description,p=`Command ${(({timedOut:e,timeout:t,errorCode:r,signal:s,signalDescription:n,exitCode:o,isCanceled:i})=>e?`timed out after ${t} milliseconds`:i?"was canceled":void 0!==r?`failed with ${r}`:void 0!==s?`was killed with ${s} (${n})`:void 0!==o?`failed with exit code ${o}`:"failed")({timedOut:l,timeout:h,errorCode:n&&n.code,signal:o,signalDescription:f,exitCode:i,isCanceled:d})}: ${a}`,m="[object Error]"===Object.prototype.toString.call(n),g=m?`${p}\n${n.message}`:p,_=[g,t,e].filter(Boolean).join("\n");return m?(n.originalMessage=n.message,n.message=_):n=new Error(_),n.shortMessage=g,n.command=a,n.escapedCommand=c,n.exitCode=i,n.signal=o,n.signalDescription=f,n.stdout=e,n.stderr=t,void 0!==r&&(n.all=r),"bufferedData"in n&&delete n.bufferedData,n.failed=!0,n.timedOut=Boolean(l),n.isCanceled=d,n.killed=u&&!l,n}},3820:(e,t,r)=>{"use strict";const s=r(2037),n=r(7908),o=(e,{forceKillAfterTimeout:t},r)=>i(e)&&!1!==t&&r,i=e=>e===s.constants.signals.SIGTERM||"string"==typeof e&&"SIGTERM"===e.toUpperCase(),a=({forceKillAfterTimeout:e=!0})=>{if(!0===e)return 5e3;if(!Number.isFinite(e)||e<0)throw new TypeError(`Expected the \`forceKillAfterTimeout\` option to be a non-negative integer, got \`${e}\` (${typeof e})`);return e};e.exports={spawnedKill:(e,t="SIGTERM",r={})=>{const s=e(t);return((e,t,r,s)=>{if(!o(t,r,s))return;const n=a(r),i=setTimeout((()=>{e("SIGKILL")}),n);i.unref&&i.unref()})(e,t,r,s),s},spawnedCancel:(e,t)=>{e.kill()&&(t.isCanceled=!0)},setupTimeout:(e,{timeout:t,killSignal:r="SIGTERM"},s)=>{if(0===t||void 0===t)return s;let n;const o=new Promise(((s,o)=>{n=setTimeout((()=>{((e,t,r)=>{e.kill(t),r(Object.assign(new Error("Timed out"),{timedOut:!0,signal:t}))})(e,r,o)}),t)})),i=s.finally((()=>{clearTimeout(n)}));return Promise.race([o,i])},validateTimeout:({timeout:e})=>{if(void 0!==e&&(!Number.isFinite(e)||e<0))throw new TypeError(`Expected the \`timeout\` option to be a non-negative integer, got \`${e}\` (${typeof e})`)},setExitHandler:async(e,{cleanup:t,detached:r},s)=>{if(!t||r)return s;const o=n((()=>{e.kill()}));return s.finally((()=>{o()}))}}},1708:e=>{"use strict";const t=(async()=>{})().constructor.prototype,r=["then","catch","finally"].map((e=>[e,Reflect.getOwnPropertyDescriptor(t,e)]));e.exports={mergePromise:(e,t)=>{for(const[s,n]of r){const r="function"==typeof t?(...e)=>Reflect.apply(n.value,t(),e):n.value.bind(t);Reflect.defineProperty(e,s,{...n,value:r})}return e},getSpawnedPromise:e=>new Promise(((t,r)=>{e.on("exit",((e,r)=>{t({exitCode:e,signal:r})})),e.on("error",(e=>{r(e)})),e.stdin&&e.stdin.on("error",(e=>{r(e)}))}))}},3111:e=>{"use strict";const t=["stdin","stdout","stderr"],r=e=>{if(!e)return;const{stdio:r}=e;if(void 0===r)return t.map((t=>e[t]));if((e=>t.some((t=>void 0!==e[t])))(e))throw new Error(`It's not possible to provide \`stdio\` in combination with one of ${t.map((e=>`\`${e}\``)).join(", ")}`);if("string"==typeof r)return r;if(!Array.isArray(r))throw new TypeError(`Expected \`stdio\` to be of type \`string\` or \`Array\`, got \`${typeof r}\``);const s=Math.max(r.length,t.length);return Array.from({length:s},((e,t)=>r[t]))};e.exports=r,e.exports.node=e=>{const t=r(e);return"ipc"===t?"ipc":void 0===t||"string"==typeof t?[t,t,t,"ipc"]:t.includes("ipc")?t:[...t,"ipc"]}},4994:(e,t,r)=>{"use strict";const s=r(4970),n=r(31),o=r(4034),i=async(e,t)=>{if(e){e.destroy();try{return await t}catch(e){return e.bufferedData}}},a=(e,{encoding:t,buffer:r,maxBuffer:s})=>{if(e&&r)return t?n(e,{encoding:t,maxBuffer:s}):n.buffer(e,{maxBuffer:s})};e.exports={handleInput:(e,t)=>{void 0!==t&&void 0!==e.stdin&&(s(t)?t.pipe(e.stdin):e.stdin.end(t))},makeAllStream:(e,{all:t})=>{if(!t||!e.stdout&&!e.stderr)return;const r=o();return e.stdout&&r.add(e.stdout),e.stderr&&r.add(e.stderr),r},getSpawnedResult:async({stdout:e,stderr:t,all:r},{encoding:s,buffer:n,maxBuffer:o},c)=>{const l=a(e,{encoding:s,buffer:n,maxBuffer:o}),d=a(t,{encoding:s,buffer:n,maxBuffer:o}),u=a(r,{encoding:s,buffer:n,maxBuffer:2*o});try{return await Promise.all([c,l,d,u])}catch(s){return Promise.all([{error:s,signal:s.signal,timedOut:s.timedOut},i(e,l),i(t,d),i(r,u)])}},validateInputSync:({input:e})=>{if(s(e))throw new TypeError("The `input` option cannot be a stream in sync mode")}}},5105:(e,t,r)=>{"use strict";const{PassThrough:s}=r(2781);e.exports=e=>{e={...e};const{array:t}=e;let{encoding:r}=e;const n="buffer"===r;let o=!1;t?o=!(r||n):r=r||"utf8",n&&(r=null);const i=new s({objectMode:o});r&&i.setEncoding(r);let a=0;const c=[];return i.on("data",(e=>{c.push(e),o?a=c.length:a+=e.length})),i.getBufferedValue=()=>t?c:n?Buffer.concat(c,a):c.join(""),i.getBufferedLength=()=>a,i}},31:(e,t,r)=>{"use strict";const{constants:s}=r(4300),n=r(2781),{promisify:o}=r(3837),i=r(5105),a=o(n.pipeline);class c extends Error{constructor(){super("maxBuffer exceeded"),this.name="MaxBufferError"}}async function l(e,t){if(!e)throw new Error("Expected a stream");t={maxBuffer:1/0,...t};const{maxBuffer:r}=t,n=i(t);return await new Promise(((t,o)=>{const i=e=>{e&&n.getBufferedLength()<=s.MAX_LENGTH&&(e.bufferedData=n.getBufferedValue()),o(e)};(async()=>{try{await a(e,n),t()}catch(e){i(e)}})(),n.on("data",(()=>{n.getBufferedLength()>r&&i(new c)}))})),n.getBufferedValue()}e.exports=l,e.exports.buffer=(e,t)=>l(e,{...t,encoding:"buffer"}),e.exports.array=(e,t)=>l(e,{...t,array:!0}),e.exports.MaxBufferError=c},7:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SIGNALS=void 0,t.SIGNALS=[{name:"SIGHUP",number:1,action:"terminate",description:"Terminal closed",standard:"posix"},{name:"SIGINT",number:2,action:"terminate",description:"User interruption with CTRL-C",standard:"ansi"},{name:"SIGQUIT",number:3,action:"core",description:"User interruption with CTRL-\\",standard:"posix"},{name:"SIGILL",number:4,action:"core",description:"Invalid machine instruction",standard:"ansi"},{name:"SIGTRAP",number:5,action:"core",description:"Debugger breakpoint",standard:"posix"},{name:"SIGABRT",number:6,action:"core",description:"Aborted",standard:"ansi"},{name:"SIGIOT",number:6,action:"core",description:"Aborted",standard:"bsd"},{name:"SIGBUS",number:7,action:"core",description:"Bus error due to misaligned, non-existing address or paging error",standard:"bsd"},{name:"SIGEMT",number:7,action:"terminate",description:"Command should be emulated but is not implemented",standard:"other"},{name:"SIGFPE",number:8,action:"core",description:"Floating point arithmetic error",standard:"ansi"},{name:"SIGKILL",number:9,action:"terminate",description:"Forced termination",standard:"posix",forced:!0},{name:"SIGUSR1",number:10,action:"terminate",description:"Application-specific signal",standard:"posix"},{name:"SIGSEGV",number:11,action:"core",description:"Segmentation fault",standard:"ansi"},{name:"SIGUSR2",number:12,action:"terminate",description:"Application-specific signal",standard:"posix"},{name:"SIGPIPE",number:13,action:"terminate",description:"Broken pipe or socket",standard:"posix"},{name:"SIGALRM",number:14,action:"terminate",description:"Timeout or timer",standard:"posix"},{name:"SIGTERM",number:15,action:"terminate",description:"Termination",standard:"ansi"},{name:"SIGSTKFLT",number:16,action:"terminate",description:"Stack is empty or overflowed",standard:"other"},{name:"SIGCHLD",number:17,action:"ignore",description:"Child process terminated, paused or unpaused",standard:"posix"},{name:"SIGCLD",number:17,action:"ignore",description:"Child process terminated, paused or unpaused",standard:"other"},{name:"SIGCONT",number:18,action:"unpause",description:"Unpaused",standard:"posix",forced:!0},{name:"SIGSTOP",number:19,action:"pause",description:"Paused",standard:"posix",forced:!0},{name:"SIGTSTP",number:20,action:"pause",description:'Paused using CTRL-Z or "suspend"',standard:"posix"},{name:"SIGTTIN",number:21,action:"pause",description:"Background process cannot read terminal input",standard:"posix"},{name:"SIGBREAK",number:21,action:"terminate",description:"User interruption with CTRL-BREAK",standard:"other"},{name:"SIGTTOU",number:22,action:"pause",description:"Background process cannot write to terminal output",standard:"posix"},{name:"SIGURG",number:23,action:"ignore",description:"Socket received out-of-band data",standard:"bsd"},{name:"SIGXCPU",number:24,action:"core",description:"Process timed out",standard:"bsd"},{name:"SIGXFSZ",number:25,action:"core",description:"File too big",standard:"bsd"},{name:"SIGVTALRM",number:26,action:"terminate",description:"Timeout or timer",standard:"bsd"},{name:"SIGPROF",number:27,action:"terminate",description:"Timeout or timer",standard:"bsd"},{name:"SIGWINCH",number:28,action:"ignore",description:"Terminal window size changed",standard:"bsd"},{name:"SIGIO",number:29,action:"terminate",description:"I/O is available",standard:"other"},{name:"SIGPOLL",number:29,action:"terminate",description:"Watched event",standard:"other"},{name:"SIGINFO",number:29,action:"ignore",description:"Request for process information",standard:"other"},{name:"SIGPWR",number:30,action:"terminate",description:"Device running out of power",standard:"systemv"},{name:"SIGSYS",number:31,action:"core",description:"Invalid system call",standard:"other"},{name:"SIGUNUSED",number:31,action:"terminate",description:"Invalid system call",standard:"other"}]},7787:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.signalsByNumber=t.signalsByName=void 0;var s=r(2037),n=r(8699),o=r(7603);const i=(0,n.getSignals)().reduce((function(e,{name:t,number:r,description:s,supported:n,action:o,forced:i,standard:a}){return{...e,[t]:{name:t,number:r,description:s,supported:n,action:o,forced:i,standard:a}}}),{});t.signalsByName=i;const a=function(e,t){const r=t.find((({name:t})=>s.constants.signals[t]===e));return void 0!==r?r:t.find((t=>t.number===e))},c=function(){const e=(0,n.getSignals)(),t=o.SIGRTMAX+1,r=Array.from({length:t},((t,r)=>function(e,t){const r=a(e,t);if(void 0===r)return{};const{name:s,description:n,supported:o,action:i,forced:c,standard:l}=r;return{[e]:{name:s,number:e,description:n,supported:o,action:i,forced:c,standard:l}}}(r,e)));return Object.assign({},...r)}();t.signalsByNumber=c},7603:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SIGRTMAX=t.getRealtimeSignals=void 0,t.getRealtimeSignals=function(){const e=n-s+1;return Array.from({length:e},r)};const r=function(e,t){return{name:`SIGRT${t+1}`,number:s+t,action:"terminate",description:"Application-specific signal (realtime)",standard:"posix"}},s=34,n=64;t.SIGRTMAX=n},8699:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getSignals=void 0;var s=r(2037),n=r(7),o=r(7603);t.getSignals=function(){const e=(0,o.getRealtimeSignals)();return[...n.SIGNALS,...e].map(i)};const i=function({name:e,number:t,description:r,action:n,forced:o=!1,standard:i}){const{signals:{[e]:a}}=s.constants,c=void 0!==a;return{name:e,number:c?a:t,description:r,supported:c,action:n,forced:o,standard:i}}},4970:e=>{"use strict";const t=e=>null!==e&&"object"==typeof e&&"function"==typeof e.pipe;t.writable=e=>t(e)&&!1!==e.writable&&"function"==typeof e._write&&"object"==typeof e._writableState,t.readable=e=>t(e)&&!1!==e.readable&&"function"==typeof e._read&&"object"==typeof e._readableState,t.duplex=e=>t.writable(e)&&t.readable(e),t.transform=e=>t.duplex(e)&&"function"==typeof e._transform&&"object"==typeof e._transformState,e.exports=t},1959:(e,t,r)=>{var s;function n(e,t,r){if("function"==typeof t&&(r=t,t={}),!r){if("function"!=typeof Promise)throw new TypeError("callback not provided");return new Promise((function(r,s){n(e,t||{},(function(e,t){e?s(e):r(t)}))}))}s(e,t||{},(function(e,s){e&&("EACCES"===e.code||t&&t.ignoreErrors)&&(e=null,s=!1),r(e,s)}))}r(7147),s="win32"===process.platform||global.TESTING_WINDOWS?r(1429):r(4601),e.exports=n,n.sync=function(e,t){try{return s.sync(e,t||{})}catch(e){if(t&&t.ignoreErrors||"EACCES"===e.code)return!1;throw e}}},4601:(e,t,r)=>{e.exports=n,n.sync=function(e,t){return o(s.statSync(e),t)};var s=r(7147);function n(e,t,r){s.stat(e,(function(e,s){r(e,!e&&o(s,t))}))}function o(e,t){return e.isFile()&&function(e,t){var r=e.mode,s=e.uid,n=e.gid,o=void 0!==t.uid?t.uid:process.getuid&&process.getuid(),i=void 0!==t.gid?t.gid:process.getgid&&process.getgid(),a=parseInt("100",8),c=parseInt("010",8);return r&parseInt("001",8)||r&c&&n===i||r&a&&s===o||r&(a|c)&&0===o}(e,t)}},1429:(e,t,r)=>{e.exports=o,o.sync=function(e,t){return n(s.statSync(e),e,t)};var s=r(7147);function n(e,t,r){return!(!e.isSymbolicLink()&&!e.isFile())&&function(e,t){var r=void 0!==t.pathExt?t.pathExt:process.env.PATHEXT;if(!r)return!0;if(-1!==(r=r.split(";")).indexOf(""))return!0;for(var s=0;s<r.length;s++){var n=r[s].toLowerCase();if(n&&e.substr(-n.length).toLowerCase()===n)return!0}return!1}(t,r)}function o(e,t,r){s.stat(e,(function(s,o){r(s,!s&&n(o,e,t))}))}},4034:(e,t,r)=>{"use strict";const{PassThrough:s}=r(2781);e.exports=function(){var e=[],t=new s({objectMode:!0});return t.setMaxListeners(0),t.add=r,t.isEmpty=n,t.on("unpipe",o),Array.prototype.slice.call(arguments).forEach(r),t;function r(s){return Array.isArray(s)?(s.forEach(r),this):(e.push(s),s.once("end",o.bind(null,s)),s.once("error",t.emit.bind(t,"error")),s.pipe(t,{end:!1}),this)}function n(){return 0==e.length}function o(r){!(e=e.filter((function(e){return e!==r}))).length&&t.readable&&t.end()}}},4341:e=>{"use strict";const t=(e,t)=>{for(const r of Reflect.ownKeys(t))Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r));return e};e.exports=t,e.exports.default=t},6147:(e,t,r)=>{"use strict";const s=r(1017),n=r(3024),o=e=>{let t;e={cwd:process.cwd(),path:process.env[n()],execPath:process.execPath,...e};let r=s.resolve(e.cwd);const o=[];for(;t!==r;)o.push(s.join(r,"node_modules/.bin")),t=r,r=s.resolve(r,"..");const i=s.resolve(e.cwd,e.execPath,"..");return o.push(i),o.concat(e.path).join(s.delimiter)};e.exports=o,e.exports.default=o,e.exports.env=t=>{const r={...(t={env:process.env,...t}).env},s=n({env:r});return t.path=r[s],r[s]=e.exports(t),r}},7678:(e,t,r)=>{"use strict";const s=r(4341),n=new WeakMap,o=(e,t={})=>{if("function"!=typeof e)throw new TypeError("Expected a function");let r,o=0;const i=e.displayName||e.name||"<anonymous>",a=function(...s){if(n.set(a,++o),1===o)r=e.apply(this,s),e=null;else if(!0===t.throw)throw new Error(`Function \`${i}\` can only be called once`);return r};return s(a,e),n.set(a,o),a};e.exports=o,e.exports.default=o,e.exports.callCount=e=>{if(!n.has(e))throw new Error(`The given function \`${e.name}\` is not wrapped by the \`onetime\` package`);return n.get(e)}},3024:e=>{"use strict";const t=(e={})=>{const t=e.env||process.env;return"win32"!==(e.platform||process.platform)?"PATH":Object.keys(t).reverse().find((e=>"PATH"===e.toUpperCase()))||"Path"};e.exports=t,e.exports.default=t},2063:(e,t,r)=>{"use strict";const s=r(9395);e.exports=(e="")=>{const t=e.match(s);if(!t)return null;const[r,n]=t[0].replace(/#! ?/,"").split(" "),o=r.split("/").pop();return"env"===o?n:n?`${o} ${n}`:o}},9395:e=>{"use strict";e.exports=/^#!(.*)/},7908:(e,t,r)=>{var s,n=r(9491),o=r(5397),i=/^win/i.test(process.platform),a=r(2361);function c(){u&&(u=!1,o.forEach((function(e){try{process.removeListener(e,d[e])}catch(e){}})),process.emit=m,process.reallyExit=f,s.count-=1)}function l(e,t,r){s.emitted[e]||(s.emitted[e]=!0,s.emit(e,t,r))}"function"!=typeof a&&(a=a.EventEmitter),process.__signal_exit_emitter__?s=process.__signal_exit_emitter__:((s=process.__signal_exit_emitter__=new a).count=0,s.emitted={}),s.infinite||(s.setMaxListeners(1/0),s.infinite=!0),e.exports=function(e,t){n.equal(typeof e,"function","a callback must be provided for exit handler"),!1===u&&h();var r="exit";return t&&t.alwaysLast&&(r="afterexit"),s.on(r,e),function(){s.removeListener(r,e),0===s.listeners("exit").length&&0===s.listeners("afterexit").length&&c()}},e.exports.unload=c;var d={};o.forEach((function(e){d[e]=function(){process.listeners(e).length===s.count&&(c(),l("exit",null,e),l("afterexit",null,e),i&&"SIGHUP"===e&&(e="SIGINT"),process.kill(process.pid,e))}})),e.exports.signals=function(){return o},e.exports.load=h;var u=!1;function h(){u||(u=!0,s.count+=1,o=o.filter((function(e){try{return process.on(e,d[e]),!0}catch(e){return!1}})),process.emit=g,process.reallyExit=p)}var f=process.reallyExit;function p(e){process.exitCode=e||0,l("exit",process.exitCode,null),l("afterexit",process.exitCode,null),f.call(process,process.exitCode)}var m=process.emit;function g(e,t){if("exit"===e){void 0!==t&&(process.exitCode=t);var r=m.apply(this,arguments);return l("exit",process.exitCode,null),l("afterexit",process.exitCode,null),r}return m.apply(this,arguments)}},5397:e=>{e.exports=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"],"win32"!==process.platform&&e.exports.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT"),"linux"===process.platform&&e.exports.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")},861:(e,t,r)=>{"use strict";const{Transform:s}=r(2781),{StringDecoder:n}=r(1576),o=Symbol("last"),i=Symbol("decoder");function a(e,t,r){let s;if(this.overflow){if(s=this[i].write(e).split(this.matcher),1===s.length)return r();s.shift(),this.overflow=!1}else this[o]+=this[i].write(e),s=this[o].split(this.matcher);this[o]=s.pop();for(let e=0;e<s.length;e++)try{l(this,this.mapper(s[e]))}catch(e){return r(e)}this.overflow=this[o].length>this.maxLength,!this.overflow||this.skipOverflow?r():r(new Error("maximum buffer reached"))}function c(e){if(this[o]+=this[i].end(),this[o])try{l(this,this.mapper(this[o]))}catch(t){return e(t)}e()}function l(e,t){void 0!==t&&e.push(t)}function d(e){return e}e.exports=function(e,t,r){switch(e=e||/\r?\n/,t=t||d,r=r||{},arguments.length){case 1:"function"==typeof e?(t=e,e=/\r?\n/):"object"!=typeof e||e instanceof RegExp||(r=e,e=/\r?\n/);break;case 2:"function"==typeof e?(r=t,t=e,e=/\r?\n/):"object"==typeof t&&(r=t,t=d)}(r=Object.assign({},r)).autoDestroy=!0,r.transform=a,r.flush=c,r.readableObjectMode=!0;const l=new s(r);return l[o]="",l[i]=new n("utf8"),l.matcher=e,l.mapper=t,l.maxLength=r.maxLength,l.skipOverflow=r.skipOverflow||!1,l.overflow=!1,l._destroy=function(e,t){this._writableState.errorEmitted=!1,t(e)},l}},8150:e=>{"use strict";e.exports=e=>{const t="string"==typeof e?"\n":"\n".charCodeAt(),r="string"==typeof e?"\r":"\r".charCodeAt();return e[e.length-1]===t&&(e=e.slice(0,e.length-1)),e[e.length-1]===r&&(e=e.slice(0,e.length-1)),e}},6758:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UserError=void 0;class r extends Error{}t.UserError=r},112:function(e,t,r){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,r,s){void 0===s&&(s=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,s,n)}:function(e,t,r,s){void 0===s&&(s=r),e[s]=t[r]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&s(t,e,r);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.deactivate=t.activate=void 0;const i=o(r(9496)),a=r(6409),c=r(457),l=r(2037);let d;t.activate=function(e){var t,r;d=new a.SessionManager(new c.BrowserSpawner(null!==(r=null===(t=e.storageUri)||void 0===t?void 0:t.fsPath)&&void 0!==r?r:(0,l.tmpdir)(),e)),e.subscriptions.push(i.commands.registerCommand("js-debug-companion.launchAndAttach",(e=>{null==d||d.create(e).catch((e=>i.window.showErrorMessage(e.message)))})),i.commands.registerCommand("js-debug-companion.kill",(({launchId:e})=>{null==d||d.destroy(e)})))},t.deactivate=function(){null==d||d.dispose(),d=void 0}},5896:function(e,t,r){"use strict";var s=this&&this.__awaiter||function(e,t,r,s){return new(r||(r=Promise))((function(n,o){function i(e){try{c(s.next(e))}catch(e){o(e)}}function a(e){try{c(s.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(i,a)}c((s=s.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.exists=void 0;const n=r(7147);t.exists=function(e){return s(this,void 0,void 0,(function*(){try{return yield n.promises.access(e),!0}catch(e){return!1}}))}},8224:function(e,t,r){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,r,s){void 0===s&&(s=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,s,n)}:function(e,t,r,s){void 0===s&&(s=r),e[s]=t[r]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&s(t,e,r);return n(t,e),t},i=this&&this.__awaiter||function(e,t,r,s){return new(r||(r=Promise))((function(n,o){function i(e){try{c(s.next(e))}catch(e){o(e)}}function a(e){try{c(s.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(i,a)}c((s=s.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.getWSEndpoint=t.retryGetWSEndpoint=void 0;const a=o(r(3685)),c=r(7310);function l(e,t){return i(this,void 0,void 0,(function*(){const r=yield d((0,c.resolve)(e,"/json/version"),t);if(null==r?void 0:r.webSocketDebuggerUrl)return u(e,r.webSocketDebuggerUrl);const s=yield d((0,c.resolve)(e,"/json/list"),t);if(null==s?void 0:s.length)return u(e,s[0].webSocketDebuggerUrl);throw new Error("Could not find any debuggable target")}))}function d(e,t){return i(this,void 0,void 0,(function*(){return JSON.parse(yield function(e,t){const r=[];return new Promise(((s,n)=>{const o=a.request(e,{headers:{host:"localhost"}},(e=>{r.push(t.onCancellationRequested((()=>e.destroy())));let o="";e.setEncoding("utf8"),e.on("data",(e=>o+=e)),e.on("end",(()=>s(o))),e.on("error",n)}));r.push(t.onCancellationRequested((()=>{o.destroy(),n(new Error(`Cancelled GET ${e}`))}))),o.on("error",n),o.end()})).finally((()=>r.forEach((e=>e.dispose()))))}(e,t))}))}function u(e,t){const r=new c.URL(e),s=new c.URL(t);return s.host=r.host,s.toString()}t.retryGetWSEndpoint=function e(t,r){return i(this,void 0,void 0,(function*(){try{return yield l(t,r)}catch(s){if(r.isCancellationRequested)throw new Error(`Could not connect to debug target at ${t}: ${s}`);return yield new Promise((e=>setTimeout(e,200))),e(t,r)}}))},t.getWSEndpoint=l},3928:function(e,t,r){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Session=void 0;const n=r(7310),o=r(9496),i=s(r(8777));class a{constructor(){this.qOrFn=[]}push(e){"function"==typeof this.qOrFn?this.qOrFn(e):this.qOrFn.push(e)}connect(e){if("function"==typeof this.qOrFn)throw new Error("Already connected");const t=this.qOrFn;this.qOrFn=e;for(const r of t)e(r)}}t.Session=class{constructor(){this.errorEmitter=new o.EventEmitter,this.onError=this.errorEmitter.event,this.closeEmitter=new o.EventEmitter,this.onClose=this.closeEmitter.event,this.disposed=!1,this.fromSocketQueue=new a,this.fromBrowserQueue=new a,this.onClose((()=>this.dispose())),this.onError((()=>this.dispose()))}attachSocket(e,t,r){const s=new n.URL(`ws://${e}:${t}${r}`);this.attachSocketLoop(s,Date.now()+5e3)}attachChild(e){this.disposed?e.dispose():(this.browserProcess=e,e.onClose((()=>this.closeEmitter.fire())),e.onError((e=>this.errorEmitter.fire(e))),e.onMessage((e=>this.fromBrowserQueue.push(e))),this.fromSocketQueue.connect((t=>e.send(t))))}dispose(){var e,t;this.disposed||(null===(e=this.browserProcess)||void 0===e||e.dispose(),null===(t=this.socket)||void 0===t||t.close(),this.disposed=!0)}attachSocketLoop(e,t){if(this.disposed)return;const r=new i.default(e,{perMessageDeflate:!0});r.on("open",(()=>{this.disposed?r.close():(this.socket=r,this.socket.on("close",(()=>this.closeEmitter.fire())),this.socket.on("message",(e=>this.fromSocketQueue.push(e))),this.fromBrowserQueue.connect((e=>r.send(e))))})),r.on("error",(s=>{this.socket===r||Date.now()>t?this.errorEmitter.fire(s):setTimeout((()=>this.attachSocketLoop(e,t)),100)}))}}},6409:function(e,t,r){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,r,s){void 0===s&&(s=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,s,n)}:function(e,t,r,s){void 0===s&&(s=r),e[s]=t[r]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&s(t,e,r);return n(t,e),t},i=this&&this.__awaiter||function(e,t,r,s){return new(r||(r=Promise))((function(n,o){function i(e){try{c(s.next(e))}catch(e){o(e)}}function a(e){try{c(s.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(i,a)}c((s=s.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.SessionManager=void 0;const a=o(r(9496)),c=r(3928),l=r(8389);t.SessionManager=class{constructor(e){this.spawn=e,this.sessions=new Map}create(e){return i(this,void 0,void 0,(function*(){const t=new c.Session;this.sessions.set(e.launchId,t),t.onClose((()=>this.sessions.delete(e.launchId))),t.onError((t=>{a.window.showErrorMessage(`Error running browserasd: ${t.message||t.stack}`),this.sessions.delete(e.launchId)})),yield Promise.all([this.addChildSocket(t,e),e.attach?this.addChildAttach(t,e.attach):this.addChildBrowser(t,e)])}))}destroy(e){const t=this.sessions.get(e);null==t||t.dispose(),this.sessions.delete(e)}dispose(){for(const e of this.sessions.values())e.dispose();this.sessions.clear()}addChildSocket(e,t){return i(this,void 0,void 0,(function*(){const[r,s]=t.proxyUri.split(":");e.attachSocket(r,Number(s),t.path)}))}addChildBrowser(e,t){return i(this,void 0,void 0,(function*(){const r=yield this.spawn.launch(t);e.attachChild(r)}))}addChildAttach(e,t){return i(this,void 0,void 0,(function*(){const r=yield l.AttachTarget.create(t.host,t.port);e.attachChild(r)}))}}},457:function(e,t,r){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,r,s){void 0===s&&(s=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,s,n)}:function(e,t,r,s){void 0===s&&(s=r),e[s]=t[r]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&s(t,e,r);return n(t,e),t},i=this&&this.__awaiter||function(e,t,r,s){return new(r||(r=Promise))((function(n,o){function i(e){try{c(s.next(e))}catch(e){o(e)}}function a(e){try{c(s.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(i,a)}c((s=s.apply(e,t||[])).next())}))},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.BrowserSpawner=void 0;const c=r(2081),l=a(r(8468)),d=r(7147),u=r(1017),h=r(2331),f=o(r(8472)),p=r(6758),m=r(5896),g=r(8389),_=f.loadMessageBundle(),y="--remote-debugging-port=",v="--remote-debugging-port=",w="availableBrowsers_";t.BrowserSpawner=class{constructor(e,t){this.storagePath=e,this.context=t,this.finders={edge:new h.EdgeBrowserFinder(process.env,d.promises,l.default),chrome:new h.ChromeBrowserFinder(process.env,d.promises,l.default)}}findBrowserPath(e,t){var r;return i(this,void 0,void 0,(function*(){if("*"!==t&&!(0,h.isQuality)(t))return t;if(!this.finders.hasOwnProperty(e))throw new p.UserError(`Browser type "${e}" is not supported.`);const s=this.context.globalState.get(w+e)||(yield this.finders[e].findAll()),n="*"===t?null!==(r=s.find((e=>"stable"===e.quality)))&&void 0!==r?r:s[0]:s.find((e=>e.quality===t));if(!n)throw yield this.context.globalState.update(w+e,void 0),"stable"!==t||s.length?new p.UserError(_("browserVersionNotFound",'Unable to find {0} version {1}. Available auto-discovered versions are: {2}. You can set the "runtimeExecutable" in your launch.json to one of these, or provide an absolute path to the browser executable.',e,t,JSON.stringify([...new Set(s)]))):new p.UserError(_("noBrowserInstallFound",'Unable to find a {0} installation on your system. Try installing it, or providing an absolute path to the browser in the "runtimeExecutable" in your launch.json.',e));return yield this.context.globalState.update(w+e,s),n.path}))}findBrowserByExe(e,t){var r;return i(this,void 0,void 0,(function*(){if("*"===t){const t=(yield e.findWhere((e=>"stable"===e.quality)))||(yield e.findAll())[0];return null==t?void 0:t.path}return(0,h.isQuality)(t)?null===(r=yield e.findWhere((e=>e.quality===t)))||void 0===r?void 0:r.path:t}))}getUserDataDir(e){var t;return i(this,void 0,void 0,(function*(){const r=e.params.userDataDir;if(!1===r)return;const s=(0,u.join)(this.storagePath,(null===(t=e.browserArgs)||void 0===t?void 0:t.includes("--headless"))?".headless-profile":".profile");return!0===r?s:(yield(0,m.exists)(r))?r:s}))}launch(e){var t;return i(this,void 0,void 0,(function*(){const r=yield this.findBrowserPath(e.type,e.params.runtimeExecutable),s=e.browserArgs.slice(),n=yield this.getUserDataDir(e);void 0!==n&&s.unshift(`--user-data-dir=${n}`);let o=e.params.cwd||e.params.webRoot;o&&(yield(0,m.exists)(o))||(o=process.cwd());const i=null===(t=s.find((e=>e.startsWith(y))))||void 0===t?void 0:t.slice(y.length);if(!i)return new g.PipedTarget((0,c.spawn)(r,s,{detached:"win32"!==process.platform,env:Object.assign(Object.assign(Object.assign({},process.env),{GDK_PIXBUF_MODULEDIR:void 0,GDK_PIXBUF_MODULE_FILE:void 0,ELECTRON_RUN_AS_NODE:void 0}),e.params.env),stdio:["ignore","ignore","ignore","pipe","pipe"],cwd:o}));s.includes(v)||s.unshift(v);const a=(0,c.spawn)(r,s,{detached:"win32"!==process.platform,env:Object.assign({ELECTRON_RUN_AS_NODE:void 0},e.params.env),stdio:"ignore",cwd:o});return yield g.ServerTarget.create(a,Number(i))}))}}},8389:function(e,t,r){"use strict";var s=this&&this.__awaiter||function(e,t,r,s){return new(r||(r=Promise))((function(n,o){function i(e){try{c(s.next(e))}catch(e){o(e)}}function a(e){try{c(s.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(i,a)}c((s=s.apply(e,t||[])).next())}))},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.ServerTarget=t.AttachTarget=t.PipedTarget=void 0;const o=n(r(861)),i=r(9496),a=n(r(8777)),c=r(8224),l=e=>s(void 0,void 0,void 0,(function*(){e.exitCode||(yield Promise.race([new Promise((t=>e.on("exit",t))),new Promise((e=>setTimeout(e,1e3)))]))}));t.PipedTarget=class{constructor(e){if(this.process=e,this.errorEmitter=new i.EventEmitter,this.closeEmitter=new i.EventEmitter,this.messageEmitter=new i.EventEmitter,this.onError=this.errorEmitter.event,this.onClose=this.closeEmitter.event,this.onMessage=this.messageEmitter.event,this.process.stdio.length<5)throw new Error("Insufficient fd number on child process");e.on("error",(e=>this.errorEmitter.fire(e))),e.on("exit",(()=>this.closeEmitter.fire())),e.stdio[4].pipe((0,o.default)("\0")).on("data",(e=>this.messageEmitter.fire(e))).resume()}send(e){const t=this.process.stdio[3];if(e instanceof Uint8Array)t.write(e);else if(e instanceof ArrayBuffer)t.write(new Uint8Array(e));else for(const r of e)t.write(r);t.write("\0")}dispose(){return s(this,void 0,void 0,(function*(){yield l(this.process),this.process.kill()}))}};class d{constructor(e){this.ws=e,this.errorEmitter=new i.EventEmitter,this.closeEmitter=new i.EventEmitter,this.messageEmitter=new i.EventEmitter,this.onError=this.errorEmitter.event,this.onClose=this.closeEmitter.event,this.onMessage=this.messageEmitter.event,e.on("error",(e=>this.errorEmitter.fire(e))),e.on("close",(()=>this.closeEmitter.fire())),e.on("message",(e=>this.messageEmitter.fire(e)))}static create(e,t){return s(this,void 0,void 0,(function*(){const r=new i.CancellationTokenSource;setTimeout((()=>r.cancel()),1e4);const s=yield(0,c.retryGetWSEndpoint)(`http://${e}:${t}`,r.token),n=new a.default(s,[],{headers:{host:"localhost"},perMessageDeflate:!1,maxPayload:268435456,followRedirects:!0});return yield new Promise(((e,t)=>{n.addEventListener("open",(()=>e(new d(n)))),n.addEventListener("error",(e=>t(e.error)))}))}))}send(e){this.ws.send(e.toString())}dispose(){return s(this,void 0,void 0,(function*(){yield new Promise((e=>{this.ws.on("close",e),this.ws.close()}))}))}}t.AttachTarget=d;class u{constructor(e,t){this.process=e,this.attach=t,this.errorEmitter=new i.EventEmitter,this.closeEmitter=new i.EventEmitter,this.messageEmitter=new i.EventEmitter,this.onError=this.errorEmitter.event,this.onClose=this.closeEmitter.event,this.onMessage=this.messageEmitter.event,e.on("error",(e=>this.errorEmitter.fire(e))),e.on("close",(()=>this.closeEmitter.fire())),t.onError((e=>this.errorEmitter.fire(e))),t.onClose((()=>this.closeEmitter.fire())),t.onMessage((e=>this.messageEmitter.fire(e)))}static create(e,t){return s(this,void 0,void 0,(function*(){const r=new i.CancellationTokenSource;setTimeout((()=>r.cancel()),1e4);try{const r=yield d.create("localhost",t);return new u(e,r)}catch(t){throw e.kill(),t}}))}send(e){this.attach.send(e)}dispose(){return s(this,void 0,void 0,(function*(){this.attach.dispose(),yield l(this.process),this.process.kill()}))}}t.ServerTarget=u},9135:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DarwinChromeBrowserFinder=void 0;const s=r(690),n=r(1668);class o extends n.DarwinFinderBase{constructor(){super(...arguments),this.wellKnownPaths=[{path:"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome",quality:"stable"},{path:"/Applications/Google Chrome Canary.app/Contents/MacOS/Google Chrome Canary",quality:"canary"},{path:"/Applications/Google Chrome Beta.app/Contents/MacOS/Google Chrome Beta",quality:"beta"},{path:"/Applications/Google Chrome Dev.app/Contents/MacOS/Google Chrome Dev",quality:"dev"}]}async findAll(){const e=await this.findLaunchRegisteredApps("google chrome\\( canary\\)\\?.app",["/Applications/Google Chrome.app","/Applications/Google Chrome Canary.app"],["/Contents/MacOS/Google Chrome Canary","/Contents/MacOS/Google Chrome"]);return(0,s.sort)(e,this.createPriorities([{name:"Chrome.app",weight:0,quality:"stable"},{name:"Chrome Canary.app",weight:1,quality:"canary"}]))}getPreferredPath(){return this.env.CHROME_PATH}}t.DarwinChromeBrowserFinder=o},9143:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DarwinEdgeBrowserFinder=void 0;const s=r(690),n=r(1668);class o extends n.DarwinFinderBase{constructor(){super(...arguments),this.wellKnownPaths=[{path:"/Applications/Microsoft Edge.app/Contents/MacOS/Microsoft Edge",quality:"stable"},{path:"/Applications/Microsoft Edge Canary.app/Contents/MacOS/Microsoft Edge Canary",quality:"canary"},{path:"/Applications/Microsoft Edge Beta.app/Contents/MacOS/Microsoft Edge Beta",quality:"beta"},{path:"/Applications/Microsoft Edge Dev.app/Contents/MacOS/Microsoft Edge Dev",quality:"dev"}]}async findAll(){const e=await this.findLaunchRegisteredApps("Microsoft Edge[A-Za-z ]*.app",["/Applications/Microsoft Edge.app"],["/Contents/MacOS/Microsoft Edge Canary","/Contents/MacOS/Microsoft Edge Beta","/Contents/MacOS/Microsoft Edge Dev","/Contents/MacOS/Microsoft Edge"]);return(0,s.sort)(e,this.createPriorities([{name:"Microsoft Edge.app",weight:0,quality:"stable"},{name:"Microsoft Edge Canary.app",weight:1,quality:"canary"},{name:"Microsoft Edge Beta.app",weight:2,quality:"beta"},{name:"Microsoft Edge Dev.app",weight:3,quality:"dev"}]))}getPreferredPath(){return this.env.EDGE_PATH}}t.DarwinEdgeBrowserFinder=o},1668:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DarwinFinderBase=void 0;const s=r(1017),n=r(690),o=/( \(0x[a-f0-9]+\))/;t.DarwinFinderBase=class{constructor(e,t,r){this.env=e,this.fs=t,this.execa=r,this.lsRegisterCommand="/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -dump",this.wellKnownPaths=[]}async findWhere(e){for(const t of this.wellKnownPaths)if(e(t)&&await(0,n.canAccess)(this.fs,t.path))return t;return(await this.findAll()).find(e)}async findLaunchRegisteredApps(e,t,r){const{stdout:n}=await this.execa.command(`${this.lsRegisterCommand} | awk '$0 ~ /${e}${o.source}?$/ { $1=""; print $0 }'`,{shell:!0,stdio:"pipe"}),i=[...t,...n.split("\n").map((e=>e.trim().replace(o,"")))].filter((e=>!!e)),a=this.getPreferredPath();a&&i.push(a);const c=new Set;for(const e of i)for(const t of r){const r=s.posix.join(e.trim(),t);try{await this.fs.access(r),c.add(r)}catch(e){}}return c}createPriorities(e){const t=this.env.HOME&&(0,n.escapeRegexSpecialChars)(this.env.HOME),r=this.getPreferredPath(),s=e.reduce(((e,r)=>[...e,{regex:new RegExp(`^/Applications/.*${r.name}`),weight:r.weight+100,quality:r.quality},{regex:new RegExp(`^${t}/Applications/.*${r.name}`),weight:r.weight,quality:r.quality},{regex:new RegExp(`^/Volumes/.*${r.name}`),weight:r.weight-100,quality:r.quality}]),[]);return r&&s.unshift({regex:new RegExp((0,n.escapeRegexSpecialChars)(r)),weight:151,quality:"custom"}),s}}},2331:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EdgeBrowserFinder=t.ChromeBrowserFinder=t.isQuality=t.allQualities=void 0;const s=r(9135),n=r(9143),o=r(8651),i=r(6718),a=r(9498),c=r(3061);t.allQualities=new Set(Object.keys({canary:null,stable:null,beta:null,dev:null,custom:null})),t.isQuality=e=>t.allQualities.has(e),t.ChromeBrowserFinder="win32"===process.platform?a.WindowsChromeBrowserFinder:"darwin"===process.platform?s.DarwinChromeBrowserFinder:o.LinuxChromeBrowserFinder,t.EdgeBrowserFinder="win32"===process.platform?c.WindowsEdgeBrowserFinder:"darwin"===process.platform?n.DarwinEdgeBrowserFinder:i.LinuxEdgeBrowserFinder},8651:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinuxChromeBrowserFinder=void 0;const s=r(1017),n=r(690),o=r(2081),i=r(2037),a=/\r?\n/;t.LinuxChromeBrowserFinder=class{constructor(e,t){this.env=e,this.fs=t,this.pathEnvironmentVar="CHROME_PATH",this.priorities=[{regex:/chrome-wrapper$/,weight:54,quality:"custom"},{regex:/google-chrome-dev$/,weight:53,quality:"dev"},{regex:/google-chrome-canary$/,weight:52,quality:"canary"},{regex:/google-chrome-unstable$/,weight:51,quality:"canary"},{regex:/google-chrome-canary$/,weight:51,quality:"canary"},{regex:/google-chrome-stable$/,weight:50,quality:"stable"},{regex:/google-chrome$/,weight:49,quality:"stable"},{regex:/chromium-browser$/,weight:48,quality:"custom"},{regex:/chromium$/,weight:47,quality:"custom"}],this.executablesOnPath=["google-chrome-unstable","google-chrome-dev","google-chrome-beta","google-chrome-canary","google-chrome-stable","google-chrome","chromium-browser","chromium"]}async findWhere(e){return(await this.findAll()).find(e)}async findAll(){const e=new Set,t=this.env[this.pathEnvironmentVar];if(t&&await(0,n.canAccess)(this.fs,t)&&e.add(t),[s.posix.join((0,i.homedir)(),".local/share/applications/"),"/usr/share/applications/","/usr/bin"].forEach((t=>{for(const r in this.findChromeExecutables(t))e.add(r)})),await Promise.all(this.executablesOnPath.map((async t=>{try{const r=(0,o.execFileSync)("which",[t],{stdio:"pipe"}).toString().split(a)[0];await(0,n.canAccess)(this.fs,r)&&e.add(r)}catch(e){}}))),!e.size)throw new Error(`The environment variable ${t} must be set to executable of a build of the browser.`);const r=t?[{regex:new RegExp((0,n.escapeRegexSpecialChars)(t)),weight:101,quality:"custom"}].concat(this.priorities):this.priorities;return(0,n.sort)(e,r)}async findChromeExecutables(e){const t=/(^[^ ]+).*/,r=`^Exec=/.*/(${this.executablesOnPath.join("|")})-.*`,s=[];if(await(0,n.canAccess)(this.fs,e)){let i;try{i=(0,o.execSync)(`grep -ER "${r}" ${e} | awk -F '=' '{print $2}'`)}catch(t){i=(0,o.execSync)(`grep -Er "${r}" ${e} | awk -F '=' '{print $2}'`)}const c=i.toString().split(a).map((e=>e.replace(t,"$1")));await Promise.all(c.map((async e=>{await(0,n.canAccess)(this.fs,e)&&s.push(e)})))}return s}}},6718:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinuxEdgeBrowserFinder=void 0;const s=r(8651);class n extends s.LinuxChromeBrowserFinder{constructor(){super(...arguments),this.pathEnvironmentVar="EDGE_PATH",this.executablesOnPath=["microsoft-edge-dev","microsoft-edge-beta","microsoft-edge-stable","microsoft-edge"],this.priorities=[{regex:/microsoft-edge\-wrapper$/,weight:52,quality:"custom"},{regex:/microsoft-edge\-dev$/,weight:51,quality:"dev"},{regex:/microsoft-edge\-beta$/,weight:51,quality:"beta"},{regex:/microsoft-edge\-stable$/,weight:50,quality:"stable"},{regex:/microsoft-edge$/,weight:49,quality:"stable"}]}}t.LinuxEdgeBrowserFinder=n},690:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.findWindowsCandidates=t.sort=t.preferredEdgePath=t.preferredChromePath=t.escapeRegexSpecialChars=t.canAccess=void 0;const s=r(1017);async function n({access:e},t){if(!t)return!1;try{return await e(t),!0}catch(e){return!1}}t.canAccess=n,t.escapeRegexSpecialChars=function(e,t){const r="/\\.?*()^${}|[]+".split("").filter((e=>!t||t.indexOf(e)<0)).join("").replace(/[\\\]]/g,"\\$&"),s=new RegExp(`[${r}]`,"g");return e.replace(s,"\\$&")},t.preferredChromePath=async function(e,t){if(await n(e,t.CHROME_PATH))return t.CHROME_PATH},t.preferredEdgePath=async function(e,t){if(await n(e,t.EDGE_PATH))return t.EDGE_PATH},t.sort=function(e,t){return[...e].filter((e=>!!e)).map((e=>{const r=t.find((t=>t.regex.test(e)));return r?{path:e,weight:r.weight,quality:r.quality}:{path:e,weight:10,quality:"dev"}})).sort(((e,t)=>t.weight-e.weight)).map((e=>({path:e.path,quality:e.quality})))},t.findWindowsCandidates=async function(e,t,r){const o=[e.LOCALAPPDATA,e.PROGRAMFILES,e["PROGRAMFILES(X86)"]].filter((e=>!!e)),i=[];for(const e of o)for(const o of r){const r=s.win32.join(e,o.name);i.push(n(t,r).then((e=>e?{path:r,quality:o.type}:void 0)))}return(await Promise.all(i)).filter((e=>!!e))}},9498:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WindowsChromeBrowserFinder=void 0;const s=r(1017),n=r(690);t.WindowsChromeBrowserFinder=class{constructor(e,t){this.env=e,this.fs=t}async findWhere(e){return(await this.findAll()).find(e)}async findAll(){const e=s.win32.sep,t=[{name:`${e}Google${e}Chrome Dev${e}Application${e}chrome.exe`,type:"dev"},{name:`${e}Google${e}Chrome SxS${e}Application${e}chrome.exe`,type:"canary"},{name:`${e}Google${e}Chrome Beta${e}Application${e}chrome.exe`,type:"beta"},{name:`${e}Google${e}Chrome${e}Application${e}chrome.exe`,type:"stable"}],r=await(0,n.findWindowsCandidates)(this.env,this.fs,t),o=await(0,n.preferredChromePath)(this.fs,this.env);return o&&r.unshift({path:o,quality:"custom"}),r}}},3061:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WindowsEdgeBrowserFinder=void 0;const s=r(1017),n=r(690);t.WindowsEdgeBrowserFinder=class{constructor(e,t){this.env=e,this.fs=t}async findWhere(e){return(await this.findAll()).find(e)}async findAll(){const e=[{name:`${s.sep}Microsoft${s.sep}Edge SxS${s.sep}Application${s.sep}msedge.exe`,type:"canary"},{name:`${s.sep}Microsoft${s.sep}Edge Dev${s.sep}Application${s.sep}msedge.exe`,type:"dev"},{name:`${s.sep}Microsoft${s.sep}Edge Beta${s.sep}Application${s.sep}msedge.exe`,type:"beta"},{name:`${s.sep}Microsoft${s.sep}Edge${s.sep}Application${s.sep}msedge.exe`,type:"stable"}],t=await(0,n.findWindowsCandidates)(this.env,this.fs,e),r=await(0,n.preferredEdgePath)(this.fs,this.env);return r&&t.unshift({path:r,quality:"custom"}),t}}},800:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.config=t.loadMessageBundle=t.localize=t.format=t.setPseudo=t.isPseudo=t.isDefined=t.BundleFormat=t.MessageFormat=void 0;var s,n,o,i=r(1926);function a(e){return void 0!==e}function c(e,r){return t.isPseudo&&(e="["+e.replace(/[aouei]/g,"$&$&")+"]"),0===r.length?e:e.replace(/\{(\d+)\}/g,(function(e,t){var s=t[0],n=r[s],o=e;return"string"==typeof n?o=n:"number"!=typeof n&&"boolean"!=typeof n&&null!=n||(o=String(n)),o}))}(o=t.MessageFormat||(t.MessageFormat={})).file="file",o.bundle="bundle",o.both="both",(n=t.BundleFormat||(t.BundleFormat={})).standalone="standalone",n.languagePack="languagePack",function(e){e.is=function(e){var t=e;return t&&a(t.key)&&a(t.comment)}}(s||(s={})),t.isDefined=a,t.isPseudo=!1,t.setPseudo=function(e){t.isPseudo=e},t.format=c,t.localize=function(e,t){for(var r=[],s=2;s<arguments.length;s++)r[s-2]=arguments[s];return c(t,r)},t.loadMessageBundle=function(e){return i.default().loadMessageBundle(e)},t.config=function(e){return i.default().config(e)}},1926:(e,t)=>{"use strict";var r;function s(){if(void 0===r)throw new Error("No runtime abstraction layer installed");return r}Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.install=function(e){if(void 0===e)throw new Error("No runtime abstraction layer provided");r=e}}(s||(s={})),t.default=s},8472:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.config=t.loadMessageBundle=void 0;var s=r(1017),n=r(7147),o=r(1926),i=r(800),a=r(800);Object.defineProperty(t,"MessageFormat",{enumerable:!0,get:function(){return a.MessageFormat}}),Object.defineProperty(t,"BundleFormat",{enumerable:!0,get:function(){return a.BundleFormat}});var c,l,d=Object.prototype.toString;function u(e){return"[object Number]"===d.call(e)}function h(e){return"[object String]"===d.call(e)}function f(e){return JSON.parse(n.readFileSync(e,"utf8"))}function p(e){return function(t,r){for(var s=[],n=2;n<arguments.length;n++)s[n-2]=arguments[n];return u(t)?t>=e.length?void console.error("Broken localize call found. Index out of bounds. Stacktrace is\n: "+new Error("").stack):i.format(e[t],s):h(r)?(console.warn("Message "+r+" didn't get externalized correctly."),i.format(r,s)):void console.error("Broken localize call found. Stacktrace is\n: "+new Error("").stack)}}function m(e,t){return c[e]=t,t}function g(e){try{return function(e){var t=f(s.join(e,"nls.metadata.json")),r=Object.create(null);for(var n in t){var o=t[n];r[n]=o.messages}return r}(e)}catch(e){return void console.log("Generating default bundle from meta data failed.",e)}}function _(e,t){var r;if(!0===l.languagePackSupport&&void 0!==l.cacheRoot&&void 0!==l.languagePackId&&void 0!==l.translationsConfigFile&&void 0!==l.translationsConfig)try{r=function(e,t){var r,o,i,a=s.join(l.cacheRoot,e.id+"-"+e.hash+".json"),c=!1,d=!1;try{return r=JSON.parse(n.readFileSync(a,{encoding:"utf8",flag:"r"})),o=a,i=new Date,n.utimes(o,i,i,(function(){})),r}catch(e){if("ENOENT"===e.code)d=!0;else{if(!(e instanceof SyntaxError))throw e;console.log("Syntax error parsing message bundle: "+e.message+"."),n.unlink(a,(function(e){e&&console.error("Deleting corrupted bundle "+a+" failed.")})),c=!0}}if(!(r=function(e,t){var r=l.translationsConfig[e.id];if(r){var n=f(r).contents,o=f(s.join(t,"nls.metadata.json")),i=Object.create(null);for(var a in o){var c=o[a],d=n[e.outDir+"/"+a];if(d){for(var u=[],p=0;p<c.keys.length;p++){var m=c.keys[p],g=d[h(m)?m:m.key];void 0===g&&(g=c.messages[p]),u.push(g)}i[a]=u}else i[a]=c.messages}return i}}(e,t))||c)return r;if(d)try{n.writeFileSync(a,JSON.stringify(r),{encoding:"utf8",flag:"wx"})}catch(e){if("EEXIST"===e.code)return r;throw e}return r}(e,t)}catch(e){console.log("Load or create bundle failed ",e)}if(!r){if(l.languagePackSupport)return g(t);var o=function(e){for(var t=l.language;t;){var r=s.join(e,"nls.bundle."+t+".json");if(n.existsSync(r))return r;var o=t.lastIndexOf("-");t=o>0?t.substring(0,o):void 0}if(void 0===t&&(r=s.join(e,"nls.bundle.json"),n.existsSync(r)))return r}(t);if(o)try{return f(o)}catch(e){console.log("Loading in the box message bundle failed.",e)}r=g(t)}return r}function y(e){if(!e)return i.localize;var t=s.extname(e);if(t&&(e=e.substr(0,e.length-t.length)),l.messageFormat===i.MessageFormat.both||l.messageFormat===i.MessageFormat.bundle){var r=function(e){for(var t,r=s.dirname(e);t=s.join(r,"nls.metadata.header.json"),!n.existsSync(t);){var o=s.dirname(r);if(o===r){t=void 0;break}r=o}return t}(e);if(r){var o=s.dirname(r),a=c[o];if(void 0===a)try{var d=JSON.parse(n.readFileSync(r,"utf8"));try{var u=_(d,o);a=m(o,u?{header:d,nlsBundle:u}:null)}catch(e){console.error("Failed to load nls bundle",e),a=m(o,null)}}catch(e){console.error("Failed to read header file",e),a=m(o,null)}if(a){var h=e.substr(o.length+1).replace(/\\/g,"/"),g=a.nlsBundle[h];return void 0===g?(console.error("Messages for file "+e+" not found. See console for details."),function(){return"Messages not found."}):p(g)}}}if(l.messageFormat===i.MessageFormat.both||l.messageFormat===i.MessageFormat.file)try{var y=f(function(e){var t;if(l.cacheLanguageResolution&&t)t=t;else{if(i.isPseudo||!l.language)t=".nls.json";else for(var r=l.language;r;){var s=".nls."+r+".json";if(n.existsSync(e+s)){t=s;break}var o=r.lastIndexOf("-");o>0?r=r.substring(0,o):(t=".nls.json",r=null)}l.cacheLanguageResolution&&(t=t)}return e+t}(e));return Array.isArray(y)?p(y):i.isDefined(y.messages)&&i.isDefined(y.keys)?p(y.messages):(console.error("String bundle '"+e+"' uses an unsupported format."),function(){return"File bundle has unsupported format. See console for details"})}catch(e){"ENOENT"!==e.code&&console.error("Failed to load single file bundle",e)}return console.error("Failed to load message bundle for file "+e),function(){return"Failed to load message bundle. See console for details."}}function v(e){return e&&(h(e.locale)&&(l.locale=e.locale.toLowerCase(),l.language=l.locale,c=Object.create(null)),void 0!==e.messageFormat&&(l.messageFormat=e.messageFormat),e.bundleFormat===i.BundleFormat.standalone&&!0===l.languagePackSupport&&(l.languagePackSupport=!1)),i.setPseudo("pseudo"===l.locale),y}!function(){if(l={locale:void 0,language:void 0,languagePackSupport:!1,cacheLanguageResolution:!0,messageFormat:i.MessageFormat.bundle},h(process.env.VSCODE_NLS_CONFIG))try{var e=JSON.parse(process.env.VSCODE_NLS_CONFIG),t=void 0;if(e.availableLanguages){var r=e.availableLanguages["*"];h(r)&&(t=r)}if(h(e.locale)&&(l.locale=e.locale.toLowerCase()),void 0===t?l.language=l.locale:"en"!==t&&(l.language=t),function(e){return!0===e||!1===e}(e._languagePackSupport)&&(l.languagePackSupport=e._languagePackSupport),h(e._cacheRoot)&&(l.cacheRoot=e._cacheRoot),h(e._languagePackId)&&(l.languagePackId=e._languagePackId),h(e._translationsConfigFile)){l.translationsConfigFile=e._translationsConfigFile;try{l.translationsConfig=f(l.translationsConfigFile)}catch(t){if(e._corruptedFile){var o=s.dirname(e._corruptedFile);n.exists(o,(function(t){t&&n.writeFile(e._corruptedFile,"corrupted","utf8",(function(e){console.error(e)}))}))}}}}catch(e){}i.setPseudo("pseudo"===l.locale),c=Object.create(null)}(),t.loadMessageBundle=y,t.config=v,o.default.install(Object.freeze({loadMessageBundle:y,config:v}))},2806:(e,t,r)=>{const s="win32"===process.platform||"cygwin"===process.env.OSTYPE||"msys"===process.env.OSTYPE,n=r(1017),o=s?";":":",i=r(1959),a=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),c=(e,t)=>{const r=t.colon||o,n=e.match(/\//)||s&&e.match(/\\/)?[""]:[...s?[process.cwd()]:[],...(t.path||process.env.PATH||"").split(r)],i=s?t.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",a=s?i.split(r):[""];return s&&-1!==e.indexOf(".")&&""!==a[0]&&a.unshift(""),{pathEnv:n,pathExt:a,pathExtExe:i}},l=(e,t,r)=>{"function"==typeof t&&(r=t,t={}),t||(t={});const{pathEnv:s,pathExt:o,pathExtExe:l}=c(e,t),d=[],u=r=>new Promise(((o,i)=>{if(r===s.length)return t.all&&d.length?o(d):i(a(e));const c=s[r],l=/^".*"$/.test(c)?c.slice(1,-1):c,u=n.join(l,e),f=!l&&/^\.[\\\/]/.test(e)?e.slice(0,2)+u:u;o(h(f,r,0))})),h=(e,r,s)=>new Promise(((n,a)=>{if(s===o.length)return n(u(r+1));const c=o[s];i(e+c,{pathExt:l},((o,i)=>{if(!o&&i){if(!t.all)return n(e+c);d.push(e+c)}return n(h(e,r,s+1))}))}));return r?u(0).then((e=>r(null,e)),r):u(0)};e.exports=l,l.sync=(e,t)=>{t=t||{};const{pathEnv:r,pathExt:s,pathExtExe:o}=c(e,t),l=[];for(let a=0;a<r.length;a++){const c=r[a],d=/^".*"$/.test(c)?c.slice(1,-1):c,u=n.join(d,e),h=!d&&/^\.[\\\/]/.test(e)?e.slice(0,2)+u:u;for(let e=0;e<s.length;e++){const r=h+s[e];try{if(i.sync(r,{pathExt:o})){if(!t.all)return r;l.push(r)}}catch(e){}}}if(t.all&&l.length)return l;if(t.nothrow)return null;throw a(e)}},8777:(e,t,r)=>{"use strict";const s=r(8762);s.createWebSocketStream=r(404),s.Server=r(9284),s.Receiver=r(2957),s.Sender=r(7330),s.WebSocket=s,s.WebSocketServer=s.Server,e.exports=s},977:(e,t,r)=>{"use strict";const{EMPTY_BUFFER:s}=r(1872);function n(e,t){if(0===e.length)return s;if(1===e.length)return e[0];const r=Buffer.allocUnsafe(t);let n=0;for(let t=0;t<e.length;t++){const s=e[t];r.set(s,n),n+=s.length}return n<t?r.slice(0,n):r}function o(e,t,r,s,n){for(let o=0;o<n;o++)r[s+o]=e[o]^t[3&o]}function i(e,t){for(let r=0;r<e.length;r++)e[r]^=t[3&r]}function a(e){return e.byteLength===e.buffer.byteLength?e.buffer:e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}function c(e){if(c.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),c.readOnly=!1),t}try{const t=r(8447);e.exports={concat:n,mask(e,r,s,n,i){i<48?o(e,r,s,n,i):t.mask(e,r,s,n,i)},toArrayBuffer:a,toBuffer:c,unmask(e,r){e.length<32?i(e,r):t.unmask(e,r)}}}catch(t){e.exports={concat:n,mask:o,toArrayBuffer:a,toBuffer:c,unmask:i}}},1872:e=>{"use strict";e.exports={BINARY_TYPES:["nodebuffer","arraybuffer","fragments"],EMPTY_BUFFER:Buffer.alloc(0),GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",kForOnEventAttribute:Symbol("kIsForOnEventAttribute"),kListener:Symbol("kListener"),kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),NOOP:()=>{}}},62:(e,t,r)=>{"use strict";const{kForOnEventAttribute:s,kListener:n}=r(1872),o=Symbol("kCode"),i=Symbol("kData"),a=Symbol("kError"),c=Symbol("kMessage"),l=Symbol("kReason"),d=Symbol("kTarget"),u=Symbol("kType"),h=Symbol("kWasClean");class f{constructor(e){this[d]=null,this[u]=e}get target(){return this[d]}get type(){return this[u]}}Object.defineProperty(f.prototype,"target",{enumerable:!0}),Object.defineProperty(f.prototype,"type",{enumerable:!0});class p extends f{constructor(e,t={}){super(e),this[o]=void 0===t.code?0:t.code,this[l]=void 0===t.reason?"":t.reason,this[h]=void 0!==t.wasClean&&t.wasClean}get code(){return this[o]}get reason(){return this[l]}get wasClean(){return this[h]}}Object.defineProperty(p.prototype,"code",{enumerable:!0}),Object.defineProperty(p.prototype,"reason",{enumerable:!0}),Object.defineProperty(p.prototype,"wasClean",{enumerable:!0});class m extends f{constructor(e,t={}){super(e),this[a]=void 0===t.error?null:t.error,this[c]=void 0===t.message?"":t.message}get error(){return this[a]}get message(){return this[c]}}Object.defineProperty(m.prototype,"error",{enumerable:!0}),Object.defineProperty(m.prototype,"message",{enumerable:!0});class g extends f{constructor(e,t={}){super(e),this[i]=void 0===t.data?null:t.data}get data(){return this[i]}}Object.defineProperty(g.prototype,"data",{enumerable:!0});const _={addEventListener(e,t,r={}){let o;if("message"===e)o=function(e,r){const s=new g("message",{data:r?e:e.toString()});s[d]=this,t.call(this,s)};else if("close"===e)o=function(e,r){const s=new p("close",{code:e,reason:r.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});s[d]=this,t.call(this,s)};else if("error"===e)o=function(e){const r=new m("error",{error:e,message:e.message});r[d]=this,t.call(this,r)};else{if("open"!==e)return;o=function(){const e=new f("open");e[d]=this,t.call(this,e)}}o[s]=!!r[s],o[n]=t,r.once?this.once(e,o):this.on(e,o)},removeEventListener(e,t){for(const r of this.listeners(e))if(r[n]===t&&!r[s]){this.removeListener(e,r);break}}};e.exports={CloseEvent:p,ErrorEvent:m,Event:f,EventTarget:_,MessageEvent:g}},1503:(e,t,r)=>{"use strict";const{tokenChars:s}=r(6746);function n(e,t,r){void 0===e[t]?e[t]=[r]:e[t].push(r)}e.exports={format:function(e){return Object.keys(e).map((t=>{let r=e[t];return Array.isArray(r)||(r=[r]),r.map((e=>[t].concat(Object.keys(e).map((t=>{let r=e[t];return Array.isArray(r)||(r=[r]),r.map((e=>!0===e?t:`${t}=${e}`)).join("; ")}))).join("; "))).join(", ")})).join(", ")},parse:function(e){const t=Object.create(null);let r,o,i=Object.create(null),a=!1,c=!1,l=!1,d=-1,u=-1,h=-1,f=0;for(;f<e.length;f++)if(u=e.charCodeAt(f),void 0===r)if(-1===h&&1===s[u])-1===d&&(d=f);else if(0===f||32!==u&&9!==u){if(59!==u&&44!==u)throw new SyntaxError(`Unexpected character at index ${f}`);{if(-1===d)throw new SyntaxError(`Unexpected character at index ${f}`);-1===h&&(h=f);const s=e.slice(d,h);44===u?(n(t,s,i),i=Object.create(null)):r=s,d=h=-1}}else-1===h&&-1!==d&&(h=f);else if(void 0===o)if(-1===h&&1===s[u])-1===d&&(d=f);else if(32===u||9===u)-1===h&&-1!==d&&(h=f);else if(59===u||44===u){if(-1===d)throw new SyntaxError(`Unexpected character at index ${f}`);-1===h&&(h=f),n(i,e.slice(d,h),!0),44===u&&(n(t,r,i),i=Object.create(null),r=void 0),d=h=-1}else{if(61!==u||-1===d||-1!==h)throw new SyntaxError(`Unexpected character at index ${f}`);o=e.slice(d,f),d=h=-1}else if(c){if(1!==s[u])throw new SyntaxError(`Unexpected character at index ${f}`);-1===d?d=f:a||(a=!0),c=!1}else if(l)if(1===s[u])-1===d&&(d=f);else if(34===u&&-1!==d)l=!1,h=f;else{if(92!==u)throw new SyntaxError(`Unexpected character at index ${f}`);c=!0}else if(34===u&&61===e.charCodeAt(f-1))l=!0;else if(-1===h&&1===s[u])-1===d&&(d=f);else if(-1===d||32!==u&&9!==u){if(59!==u&&44!==u)throw new SyntaxError(`Unexpected character at index ${f}`);{if(-1===d)throw new SyntaxError(`Unexpected character at index ${f}`);-1===h&&(h=f);let s=e.slice(d,h);a&&(s=s.replace(/\\/g,""),a=!1),n(i,o,s),44===u&&(n(t,r,i),i=Object.create(null),r=void 0),o=void 0,d=h=-1}}else-1===h&&(h=f);if(-1===d||l||32===u||9===u)throw new SyntaxError("Unexpected end of input");-1===h&&(h=f);const p=e.slice(d,h);return void 0===r?n(t,p,i):(void 0===o?n(i,p,!0):n(i,o,a?p.replace(/\\/g,""):p),n(t,r,i)),t}}},305:e=>{"use strict";const t=Symbol("kDone"),r=Symbol("kRun");e.exports=class{constructor(e){this[t]=()=>{this.pending--,this[r]()},this.concurrency=e||1/0,this.jobs=[],this.pending=0}add(e){this.jobs.push(e),this[r]()}[r](){if(this.pending!==this.concurrency&&this.jobs.length){const e=this.jobs.shift();this.pending++,e(this[t])}}}},5196:(e,t,r)=>{"use strict";const s=r(9796),n=r(977),o=r(305),{kStatusCode:i}=r(1872),a=Buffer.from([0,0,255,255]),c=Symbol("permessage-deflate"),l=Symbol("total-length"),d=Symbol("callback"),u=Symbol("buffers"),h=Symbol("error");let f;function p(e){this[u].push(e),this[l]+=e.length}function m(e){this[l]+=e.length,this[c]._maxPayload<1||this[l]<=this[c]._maxPayload?this[u].push(e):(this[h]=new RangeError("Max payload size exceeded"),this[h].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH",this[h][i]=1009,this.removeListener("data",m),this.reset())}function g(e){this[c]._inflate=null,e[i]=1007,this[d](e)}e.exports=class{constructor(e,t,r){if(this._maxPayload=0|r,this._options=e||{},this._threshold=void 0!==this._options.threshold?this._options.threshold:1024,this._isServer=!!t,this._deflate=null,this._inflate=null,this.params=null,!f){const e=void 0!==this._options.concurrencyLimit?this._options.concurrencyLimit:10;f=new o(e)}}static get extensionName(){return"permessage-deflate"}offer(){const e={};return this._options.serverNoContextTakeover&&(e.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(e.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(e.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?e.client_max_window_bits=this._options.clientMaxWindowBits:null==this._options.clientMaxWindowBits&&(e.client_max_window_bits=!0),e}accept(e){return e=this.normalizeParams(e),this.params=this._isServer?this.acceptAsServer(e):this.acceptAsClient(e),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){const e=this._deflate[d];this._deflate.close(),this._deflate=null,e&&e(new Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(e){const t=this._options,r=e.find((e=>!(!1===t.serverNoContextTakeover&&e.server_no_context_takeover||e.server_max_window_bits&&(!1===t.serverMaxWindowBits||"number"==typeof t.serverMaxWindowBits&&t.serverMaxWindowBits>e.server_max_window_bits)||"number"==typeof t.clientMaxWindowBits&&!e.client_max_window_bits)));if(!r)throw new Error("None of the extension offers can be accepted");return t.serverNoContextTakeover&&(r.server_no_context_takeover=!0),t.clientNoContextTakeover&&(r.client_no_context_takeover=!0),"number"==typeof t.serverMaxWindowBits&&(r.server_max_window_bits=t.serverMaxWindowBits),"number"==typeof t.clientMaxWindowBits?r.client_max_window_bits=t.clientMaxWindowBits:!0!==r.client_max_window_bits&&!1!==t.clientMaxWindowBits||delete r.client_max_window_bits,r}acceptAsClient(e){const t=e[0];if(!1===this._options.clientNoContextTakeover&&t.client_no_context_takeover)throw new Error('Unexpected parameter "client_no_context_takeover"');if(t.client_max_window_bits){if(!1===this._options.clientMaxWindowBits||"number"==typeof this._options.clientMaxWindowBits&&t.client_max_window_bits>this._options.clientMaxWindowBits)throw new Error('Unexpected or invalid parameter "client_max_window_bits"')}else"number"==typeof this._options.clientMaxWindowBits&&(t.client_max_window_bits=this._options.clientMaxWindowBits);return t}normalizeParams(e){return e.forEach((e=>{Object.keys(e).forEach((t=>{let r=e[t];if(r.length>1)throw new Error(`Parameter "${t}" must have only a single value`);if(r=r[0],"client_max_window_bits"===t){if(!0!==r){const e=+r;if(!Number.isInteger(e)||e<8||e>15)throw new TypeError(`Invalid value for parameter "${t}": ${r}`);r=e}else if(!this._isServer)throw new TypeError(`Invalid value for parameter "${t}": ${r}`)}else if("server_max_window_bits"===t){const e=+r;if(!Number.isInteger(e)||e<8||e>15)throw new TypeError(`Invalid value for parameter "${t}": ${r}`);r=e}else{if("client_no_context_takeover"!==t&&"server_no_context_takeover"!==t)throw new Error(`Unknown parameter "${t}"`);if(!0!==r)throw new TypeError(`Invalid value for parameter "${t}": ${r}`)}e[t]=r}))})),e}decompress(e,t,r){f.add((s=>{this._decompress(e,t,((e,t)=>{s(),r(e,t)}))}))}compress(e,t,r){f.add((s=>{this._compress(e,t,((e,t)=>{s(),r(e,t)}))}))}_decompress(e,t,r){const o=this._isServer?"client":"server";if(!this._inflate){const e=`${o}_max_window_bits`,t="number"!=typeof this.params[e]?s.Z_DEFAULT_WINDOWBITS:this.params[e];this._inflate=s.createInflateRaw({...this._options.zlibInflateOptions,windowBits:t}),this._inflate[c]=this,this._inflate[l]=0,this._inflate[u]=[],this._inflate.on("error",g),this._inflate.on("data",m)}this._inflate[d]=r,this._inflate.write(e),t&&this._inflate.write(a),this._inflate.flush((()=>{const e=this._inflate[h];if(e)return this._inflate.close(),this._inflate=null,void r(e);const s=n.concat(this._inflate[u],this._inflate[l]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[l]=0,this._inflate[u]=[],t&&this.params[`${o}_no_context_takeover`]&&this._inflate.reset()),r(null,s)}))}_compress(e,t,r){const o=this._isServer?"server":"client";if(!this._deflate){const e=`${o}_max_window_bits`,t="number"!=typeof this.params[e]?s.Z_DEFAULT_WINDOWBITS:this.params[e];this._deflate=s.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:t}),this._deflate[l]=0,this._deflate[u]=[],this._deflate.on("data",p)}this._deflate[d]=r,this._deflate.write(e),this._deflate.flush(s.Z_SYNC_FLUSH,(()=>{if(!this._deflate)return;let e=n.concat(this._deflate[u],this._deflate[l]);t&&(e=e.slice(0,e.length-4)),this._deflate[d]=null,this._deflate[l]=0,this._deflate[u]=[],t&&this.params[`${o}_no_context_takeover`]&&this._deflate.reset(),r(null,e)}))}}},2957:(e,t,r)=>{"use strict";const{Writable:s}=r(2781),n=r(5196),{BINARY_TYPES:o,EMPTY_BUFFER:i,kStatusCode:a,kWebSocket:c}=r(1872),{concat:l,toArrayBuffer:d,unmask:u}=r(977),{isValidStatusCode:h,isValidUTF8:f}=r(6746);function p(e,t,r,s,n){const o=new e(r?`Invalid WebSocket frame: ${t}`:t);return Error.captureStackTrace(o,p),o.code=n,o[a]=s,o}e.exports=class extends s{constructor(e={}){super(),this._binaryType=e.binaryType||o[0],this._extensions=e.extensions||{},this._isServer=!!e.isServer,this._maxPayload=0|e.maxPayload,this._skipUTF8Validation=!!e.skipUTF8Validation,this[c]=void 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=0,this._loop=!1}_write(e,t,r){if(8===this._opcode&&0==this._state)return r();this._bufferedBytes+=e.length,this._buffers.push(e),this.startLoop(r)}consume(e){if(this._bufferedBytes-=e,e===this._buffers[0].length)return this._buffers.shift();if(e<this._buffers[0].length){const t=this._buffers[0];return this._buffers[0]=t.slice(e),t.slice(0,e)}const t=Buffer.allocUnsafe(e);do{const r=this._buffers[0],s=t.length-e;e>=r.length?t.set(this._buffers.shift(),s):(t.set(new Uint8Array(r.buffer,r.byteOffset,e),s),this._buffers[0]=r.slice(e)),e-=r.length}while(e>0);return t}startLoop(e){let t;this._loop=!0;do{switch(this._state){case 0:t=this.getInfo();break;case 1:t=this.getPayloadLength16();break;case 2:t=this.getPayloadLength64();break;case 3:this.getMask();break;case 4:t=this.getData(e);break;default:return void(this._loop=!1)}}while(this._loop);e(t)}getInfo(){if(this._bufferedBytes<2)return void(this._loop=!1);const e=this.consume(2);if(0!=(48&e[0]))return this._loop=!1,p(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3");const t=64==(64&e[0]);if(t&&!this._extensions[n.extensionName])return this._loop=!1,p(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");if(this._fin=128==(128&e[0]),this._opcode=15&e[0],this._payloadLength=127&e[1],0===this._opcode){if(t)return this._loop=!1,p(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");if(!this._fragmented)return this._loop=!1,p(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE");this._opcode=this._fragmented}else if(1===this._opcode||2===this._opcode){if(this._fragmented)return this._loop=!1,p(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");this._compressed=t}else{if(!(this._opcode>7&&this._opcode<11))return this._loop=!1,p(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");if(!this._fin)return this._loop=!1,p(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN");if(t)return this._loop=!1,p(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");if(this._payloadLength>125)return this._loop=!1,p(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH")}if(this._fin||this._fragmented||(this._fragmented=this._opcode),this._masked=128==(128&e[1]),this._isServer){if(!this._masked)return this._loop=!1,p(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK")}else if(this._masked)return this._loop=!1,p(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK");if(126===this._payloadLength)this._state=1;else{if(127!==this._payloadLength)return this.haveLength();this._state=2}}getPayloadLength16(){if(!(this._bufferedBytes<2))return this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength();this._loop=!1}getPayloadLength64(){if(this._bufferedBytes<8)return void(this._loop=!1);const e=this.consume(8),t=e.readUInt32BE(0);return t>Math.pow(2,21)-1?(this._loop=!1,p(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH")):(this._payloadLength=t*Math.pow(2,32)+e.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,p(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");this._masked?this._state=3:this._state=4}getMask(){this._bufferedBytes<4?this._loop=!1:(this._mask=this.consume(4),this._state=4)}getData(e){let t=i;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength)return void(this._loop=!1);t=this.consume(this._payloadLength),this._masked&&0!=(this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3])&&u(t,this._mask)}return this._opcode>7?this.controlMessage(t):this._compressed?(this._state=5,void this.decompress(t,e)):(t.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(t)),this.dataMessage())}decompress(e,t){this._extensions[n.extensionName].decompress(e,this._fin,((e,r)=>{if(e)return t(e);if(r.length){if(this._messageLength+=r.length,this._messageLength>this._maxPayload&&this._maxPayload>0)return t(p(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH"));this._fragments.push(r)}const s=this.dataMessage();if(s)return t(s);this.startLoop(t)}))}dataMessage(){if(this._fin){const e=this._messageLength,t=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],2===this._opcode){let r;r="nodebuffer"===this._binaryType?l(t,e):"arraybuffer"===this._binaryType?d(l(t,e)):t,this.emit("message",r,!0)}else{const r=l(t,e);if(!this._skipUTF8Validation&&!f(r))return this._loop=!1,p(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");this.emit("message",r,!1)}}this._state=0}controlMessage(e){if(8===this._opcode)if(this._loop=!1,0===e.length)this.emit("conclude",1005,i),this.end();else{if(1===e.length)return p(RangeError,"invalid payload length 1",!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH");{const t=e.readUInt16BE(0);if(!h(t))return p(RangeError,`invalid status code ${t}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE");const r=e.slice(2);if(!this._skipUTF8Validation&&!f(r))return p(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");this.emit("conclude",t,r),this.end()}}else 9===this._opcode?this.emit("ping",e):this.emit("pong",e);this._state=0}}},7330:(e,t,r)=>{"use strict";r(1808),r(4404);const{randomFillSync:s}=r(6113),n=r(5196),{EMPTY_BUFFER:o}=r(1872),{isValidStatusCode:i}=r(6746),{mask:a,toBuffer:c}=r(977),l=Symbol("kByteLength"),d=Buffer.alloc(4);class u{constructor(e,t,r){this._extensions=t||{},r&&(this._generateMask=r,this._maskBuffer=Buffer.alloc(4)),this._socket=e,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._deflating=!1,this._queue=[]}static frame(e,t){let r,n,o=!1,i=2,c=!1;t.mask&&(r=t.maskBuffer||d,t.generateMask?t.generateMask(r):s(r,0,4),c=0==(r[0]|r[1]|r[2]|r[3]),i=6),"string"==typeof e?n=t.mask&&!c||void 0===t[l]?(e=Buffer.from(e)).length:t[l]:(n=e.length,o=t.mask&&t.readOnly&&!c);let u=n;n>=65536?(i+=8,u=127):n>125&&(i+=2,u=126);const h=Buffer.allocUnsafe(o?n+i:i);return h[0]=t.fin?128|t.opcode:t.opcode,t.rsv1&&(h[0]|=64),h[1]=u,126===u?h.writeUInt16BE(n,2):127===u&&(h[2]=h[3]=0,h.writeUIntBE(n,4,6)),t.mask?(h[1]|=128,h[i-4]=r[0],h[i-3]=r[1],h[i-2]=r[2],h[i-1]=r[3],c?[h,e]:o?(a(e,r,h,i,n),[h]):(a(e,r,e,0,n),[h,e])):[h,e]}close(e,t,r,s){let n;if(void 0===e)n=o;else{if("number"!=typeof e||!i(e))throw new TypeError("First argument must be a valid error code number");if(void 0!==t&&t.length){const r=Buffer.byteLength(t);if(r>123)throw new RangeError("The message must not be greater than 123 bytes");n=Buffer.allocUnsafe(2+r),n.writeUInt16BE(e,0),"string"==typeof t?n.write(t,2):n.set(t,2)}else n=Buffer.allocUnsafe(2),n.writeUInt16BE(e,0)}const a={[l]:n.length,fin:!0,generateMask:this._generateMask,mask:r,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};this._deflating?this.enqueue([this.dispatch,n,!1,a,s]):this.sendFrame(u.frame(n,a),s)}ping(e,t,r){let s,n;if("string"==typeof e?(s=Buffer.byteLength(e),n=!1):(s=(e=c(e)).length,n=c.readOnly),s>125)throw new RangeError("The data size must not be greater than 125 bytes");const o={[l]:s,fin:!0,generateMask:this._generateMask,mask:t,maskBuffer:this._maskBuffer,opcode:9,readOnly:n,rsv1:!1};this._deflating?this.enqueue([this.dispatch,e,!1,o,r]):this.sendFrame(u.frame(e,o),r)}pong(e,t,r){let s,n;if("string"==typeof e?(s=Buffer.byteLength(e),n=!1):(s=(e=c(e)).length,n=c.readOnly),s>125)throw new RangeError("The data size must not be greater than 125 bytes");const o={[l]:s,fin:!0,generateMask:this._generateMask,mask:t,maskBuffer:this._maskBuffer,opcode:10,readOnly:n,rsv1:!1};this._deflating?this.enqueue([this.dispatch,e,!1,o,r]):this.sendFrame(u.frame(e,o),r)}send(e,t,r){const s=this._extensions[n.extensionName];let o,i,a=t.binary?2:1,d=t.compress;if("string"==typeof e?(o=Buffer.byteLength(e),i=!1):(o=(e=c(e)).length,i=c.readOnly),this._firstFragment?(this._firstFragment=!1,d&&s&&s.params[s._isServer?"server_no_context_takeover":"client_no_context_takeover"]&&(d=o>=s._threshold),this._compress=d):(d=!1,a=0),t.fin&&(this._firstFragment=!0),s){const s={[l]:o,fin:t.fin,generateMask:this._generateMask,mask:t.mask,maskBuffer:this._maskBuffer,opcode:a,readOnly:i,rsv1:d};this._deflating?this.enqueue([this.dispatch,e,this._compress,s,r]):this.dispatch(e,this._compress,s,r)}else this.sendFrame(u.frame(e,{[l]:o,fin:t.fin,generateMask:this._generateMask,mask:t.mask,maskBuffer:this._maskBuffer,opcode:a,readOnly:i,rsv1:!1}),r)}dispatch(e,t,r,s){if(!t)return void this.sendFrame(u.frame(e,r),s);const o=this._extensions[n.extensionName];this._bufferedBytes+=r[l],this._deflating=!0,o.compress(e,r.fin,((e,t)=>{if(this._socket.destroyed){const e=new Error("The socket was closed while data was being compressed");"function"==typeof s&&s(e);for(let t=0;t<this._queue.length;t++){const r=this._queue[t],s=r[r.length-1];"function"==typeof s&&s(e)}}else this._bufferedBytes-=r[l],this._deflating=!1,r.readOnly=!1,this.sendFrame(u.frame(t,r),s),this.dequeue()}))}dequeue(){for(;!this._deflating&&this._queue.length;){const e=this._queue.shift();this._bufferedBytes-=e[3][l],Reflect.apply(e[0],this,e.slice(1))}}enqueue(e){this._bufferedBytes+=e[3][l],this._queue.push(e)}sendFrame(e,t){2===e.length?(this._socket.cork(),this._socket.write(e[0]),this._socket.write(e[1],t),this._socket.uncork()):this._socket.write(e[0],t)}}e.exports=u},404:(e,t,r)=>{"use strict";const{Duplex:s}=r(2781);function n(e){e.emit("close")}function o(){!this.destroyed&&this._writableState.finished&&this.destroy()}function i(e){this.removeListener("error",i),this.destroy(),0===this.listenerCount("error")&&this.emit("error",e)}e.exports=function(e,t){let r=!0;const a=new s({...t,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return e.on("message",(function(t,r){const s=!r&&a._readableState.objectMode?t.toString():t;a.push(s)||e.pause()})),e.once("error",(function(e){a.destroyed||(r=!1,a.destroy(e))})),e.once("close",(function(){a.destroyed||a.push(null)})),a._destroy=function(t,s){if(e.readyState===e.CLOSED)return s(t),void process.nextTick(n,a);let o=!1;e.once("error",(function(e){o=!0,s(e)})),e.once("close",(function(){o||s(t),process.nextTick(n,a)})),r&&e.terminate()},a._final=function(t){e.readyState!==e.CONNECTING?null!==e._socket&&(e._socket._writableState.finished?(t(),a._readableState.endEmitted&&a.destroy()):(e._socket.once("finish",(function(){t()})),e.close())):e.once("open",(function(){a._final(t)}))},a._read=function(){e.isPaused&&e.resume()},a._write=function(t,r,s){e.readyState!==e.CONNECTING?e.send(t,s):e.once("open",(function(){a._write(t,r,s)}))},a.on("end",o),a.on("error",i),a}},640:(e,t,r)=>{"use strict";const{tokenChars:s}=r(6746);e.exports={parse:function(e){const t=new Set;let r=-1,n=-1,o=0;for(;o<e.length;o++){const i=e.charCodeAt(o);if(-1===n&&1===s[i])-1===r&&(r=o);else if(0===o||32!==i&&9!==i){if(44!==i)throw new SyntaxError(`Unexpected character at index ${o}`);{if(-1===r)throw new SyntaxError(`Unexpected character at index ${o}`);-1===n&&(n=o);const s=e.slice(r,n);if(t.has(s))throw new SyntaxError(`The "${s}" subprotocol is duplicated`);t.add(s),r=n=-1}}else-1===n&&-1!==r&&(n=o)}if(-1===r||-1!==n)throw new SyntaxError("Unexpected end of input");const i=e.slice(r,o);if(t.has(i))throw new SyntaxError(`The "${i}" subprotocol is duplicated`);return t.add(i),t}}},6746:(e,t,r)=>{"use strict";const s=[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 n(e){return e>=1e3&&e<=1014&&1004!==e&&1005!==e&&1006!==e||e>=3e3&&e<=4999}function o(e){const t=e.length;let r=0;for(;r<t;)if(0==(128&e[r]))r++;else if(192==(224&e[r])){if(r+1===t||128!=(192&e[r+1])||192==(254&e[r]))return!1;r+=2}else if(224==(240&e[r])){if(r+2>=t||128!=(192&e[r+1])||128!=(192&e[r+2])||224===e[r]&&128==(224&e[r+1])||237===e[r]&&160==(224&e[r+1]))return!1;r+=3}else{if(240!=(248&e[r]))return!1;if(r+3>=t||128!=(192&e[r+1])||128!=(192&e[r+2])||128!=(192&e[r+3])||240===e[r]&&128==(240&e[r+1])||244===e[r]&&e[r+1]>143||e[r]>244)return!1;r+=4}return!0}try{const t=r(7838);e.exports={isValidStatusCode:n,isValidUTF8:e=>e.length<150?o(e):t(e),tokenChars:s}}catch(t){e.exports={isValidStatusCode:n,isValidUTF8:o,tokenChars:s}}},9284:(e,t,r)=>{"use strict";const s=r(2361),n=r(3685),{createHash:o}=(r(5687),r(1808),r(4404),r(6113)),i=r(1503),a=r(5196),c=r(640),l=r(8762),{GUID:d,kWebSocket:u}=r(1872),h=/^[+/0-9A-Za-z]{22}==$/;function f(e){e._state=2,e.emit("close")}function p(){this.destroy()}function m(e,t,r,s){e.writable&&(r=r||n.STATUS_CODES[t],s={Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(r),...s},e.write(`HTTP/1.1 ${t} ${n.STATUS_CODES[t]}\r\n`+Object.keys(s).map((e=>`${e}: ${s[e]}`)).join("\r\n")+"\r\n\r\n"+r)),e.removeListener("error",p),e.destroy()}e.exports=class extends s{constructor(e,t){if(super(),null==(e={maxPayload:104857600,skipUTF8Validation:!1,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null,WebSocket:l,...e}).port&&!e.server&&!e.noServer||null!=e.port&&(e.server||e.noServer)||e.server&&e.noServer)throw new TypeError('One and only one of the "port", "server", or "noServer" options must be specified');if(null!=e.port?(this._server=n.createServer(((e,t)=>{const r=n.STATUS_CODES[426];t.writeHead(426,{"Content-Length":r.length,"Content-Type":"text/plain"}),t.end(r)})),this._server.listen(e.port,e.host,e.backlog,t)):e.server&&(this._server=e.server),this._server){const e=this.emit.bind(this,"connection");this._removeListeners=function(e,t){for(const r of Object.keys(t))e.on(r,t[r]);return function(){for(const r of Object.keys(t))e.removeListener(r,t[r])}}(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(t,r,s)=>{this.handleUpgrade(t,r,s,e)}})}!0===e.perMessageDeflate&&(e.perMessageDeflate={}),e.clientTracking&&(this.clients=new Set,this._shouldEmitClose=!1),this.options=e,this._state=0}address(){if(this.options.noServer)throw new Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(e){if(2===this._state)return e&&this.once("close",(()=>{e(new Error("The server is not running"))})),void process.nextTick(f,this);if(e&&this.once("close",e),1!==this._state)if(this._state=1,this.options.noServer||this.options.server)this._server&&(this._removeListeners(),this._removeListeners=this._server=null),this.clients&&this.clients.size?this._shouldEmitClose=!0:process.nextTick(f,this);else{const e=this._server;this._removeListeners(),this._removeListeners=this._server=null,e.close((()=>{f(this)}))}}shouldHandle(e){if(this.options.path){const t=e.url.indexOf("?");if((-1!==t?e.url.slice(0,t):e.url)!==this.options.path)return!1}return!0}handleUpgrade(e,t,r,s){t.on("error",p);const n=void 0!==e.headers["sec-websocket-key"]&&e.headers["sec-websocket-key"],o=+e.headers["sec-websocket-version"];if("GET"!==e.method||"websocket"!==e.headers.upgrade.toLowerCase()||!n||!h.test(n)||8!==o&&13!==o||!this.shouldHandle(e))return m(t,400);const l=e.headers["sec-websocket-protocol"];let d=new Set;if(void 0!==l)try{d=c.parse(l)}catch(e){return m(t,400)}const u=e.headers["sec-websocket-extensions"],f={};if(this.options.perMessageDeflate&&void 0!==u){const e=new a(this.options.perMessageDeflate,!0,this.options.maxPayload);try{const t=i.parse(u);t[a.extensionName]&&(e.accept(t[a.extensionName]),f[a.extensionName]=e)}catch(e){return m(t,400)}}if(this.options.verifyClient){const i={origin:e.headers[8===o?"sec-websocket-origin":"origin"],secure:!(!e.socket.authorized&&!e.socket.encrypted),req:e};if(2===this.options.verifyClient.length)return void this.options.verifyClient(i,((o,i,a,c)=>{if(!o)return m(t,i||401,a,c);this.completeUpgrade(f,n,d,e,t,r,s)}));if(!this.options.verifyClient(i))return m(t,401)}this.completeUpgrade(f,n,d,e,t,r,s)}completeUpgrade(e,t,r,s,n,c,l){if(!n.readable||!n.writable)return n.destroy();if(n[u])throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");if(this._state>0)return m(n,503);const h=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${o("sha1").update(t+d).digest("base64")}`],g=new this.options.WebSocket(null);if(r.size){const e=this.options.handleProtocols?this.options.handleProtocols(r,s):r.values().next().value;e&&(h.push(`Sec-WebSocket-Protocol: ${e}`),g._protocol=e)}if(e[a.extensionName]){const t=e[a.extensionName].params,r=i.format({[a.extensionName]:[t]});h.push(`Sec-WebSocket-Extensions: ${r}`),g._extensions=e}this.emit("headers",h,s),n.write(h.concat("\r\n").join("\r\n")),n.removeListener("error",p),g.setSocket(n,c,{maxPayload:this.options.maxPayload,skipUTF8Validation:this.options.skipUTF8Validation}),this.clients&&(this.clients.add(g),g.on("close",(()=>{this.clients.delete(g),this._shouldEmitClose&&!this.clients.size&&process.nextTick(f,this)}))),l(g,s)}}},8762:(e,t,r)=>{"use strict";const s=r(2361),n=r(5687),o=r(3685),i=r(1808),a=r(4404),{randomBytes:c,createHash:l}=r(6113),{Readable:d}=r(2781),{URL:u}=r(7310),h=r(5196),f=r(2957),p=r(7330),{BINARY_TYPES:m,EMPTY_BUFFER:g,GUID:_,kForOnEventAttribute:y,kListener:v,kStatusCode:w,kWebSocket:b,NOOP:S}=r(1872),{EventTarget:{addEventListener:x,removeEventListener:E}}=r(62),{format:k,parse:C}=r(1503),{toBuffer:O}=r(977),P=["CONNECTING","OPEN","CLOSING","CLOSED"],T=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/,M=[8,13];class B extends s{constructor(e,t,r){super(),this._binaryType=m[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage=g,this._closeTimer=null,this._extensions={},this._paused=!1,this._protocol="",this._readyState=B.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,null!==e?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,void 0===t?t=[]:Array.isArray(t)||("object"==typeof t&&null!==t?(r=t,t=[]):t=[t]),L(this,e,t,r)):this._isServer=!0}get binaryType(){return this._binaryType}set binaryType(e){m.includes(e)&&(this._binaryType=e,this._receiver&&(this._receiver._binaryType=e))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get isPaused(){return this._paused}get onclose(){return null}get onerror(){return null}get onopen(){return null}get onmessage(){return null}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(e,t,r){const s=new f({binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxPayload:r.maxPayload,skipUTF8Validation:r.skipUTF8Validation});this._sender=new p(e,this._extensions,r.generateMask),this._receiver=s,this._socket=e,s[b]=this,e[b]=this,s.on("conclude",j),s.on("drain",F),s.on("error",D),s.on("message",U),s.on("ping",q),s.on("pong",W),e.setTimeout(0),e.setNoDelay(),t.length>0&&e.unshift(t),e.on("close",H),e.on("data",z),e.on("end",K),e.on("error",X),this._readyState=B.OPEN,this.emit("open")}emitClose(){if(!this._socket)return this._readyState=B.CLOSED,void this.emit("close",this._closeCode,this._closeMessage);this._extensions[h.extensionName]&&this._extensions[h.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=B.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(e,t){if(this.readyState!==B.CLOSED){if(this.readyState===B.CONNECTING){const e="WebSocket was closed before the connection was established";return R(this,this._req,e)}this.readyState!==B.CLOSING?(this._readyState=B.CLOSING,this._sender.close(e,t,!this._isServer,(e=>{e||(this._closeFrameSent=!0,(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end())})),this._closeTimer=setTimeout(this._socket.destroy.bind(this._socket),3e4)):this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end()}}pause(){this.readyState!==B.CONNECTING&&this.readyState!==B.CLOSED&&(this._paused=!0,this._socket.pause())}ping(e,t,r){if(this.readyState===B.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");"function"==typeof e?(r=e,e=t=void 0):"function"==typeof t&&(r=t,t=void 0),"number"==typeof e&&(e=e.toString()),this.readyState===B.OPEN?(void 0===t&&(t=!this._isServer),this._sender.ping(e||g,t,r)):$(this,e,r)}pong(e,t,r){if(this.readyState===B.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");"function"==typeof e?(r=e,e=t=void 0):"function"==typeof t&&(r=t,t=void 0),"number"==typeof e&&(e=e.toString()),this.readyState===B.OPEN?(void 0===t&&(t=!this._isServer),this._sender.pong(e||g,t,r)):$(this,e,r)}resume(){this.readyState!==B.CONNECTING&&this.readyState!==B.CLOSED&&(this._paused=!1,this._receiver._writableState.needDrain||this._socket.resume())}send(e,t,r){if(this.readyState===B.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if("function"==typeof t&&(r=t,t={}),"number"==typeof e&&(e=e.toString()),this.readyState!==B.OPEN)return void $(this,e,r);const s={binary:"string"!=typeof e,mask:!this._isServer,compress:!0,fin:!0,...t};this._extensions[h.extensionName]||(s.compress=!1),this._sender.send(e||g,s,r)}terminate(){if(this.readyState!==B.CLOSED){if(this.readyState===B.CONNECTING){const e="WebSocket was closed before the connection was established";return R(this,this._req,e)}this._socket&&(this._readyState=B.CLOSING,this._socket.destroy())}}}function L(e,t,r,s){const i={protocolVersion:M[1],maxPayload:104857600,skipUTF8Validation:!1,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...s,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(!M.includes(i.protocolVersion))throw new RangeError(`Unsupported protocol version: ${i.protocolVersion} (supported versions: ${M.join(", ")})`);let a;if(t instanceof u)a=t,e._url=t.href;else{try{a=new u(t)}catch(e){throw new SyntaxError(`Invalid URL: ${t}`)}e._url=t}const d="wss:"===a.protocol,f="ws+unix:"===a.protocol;let p;if("ws:"===a.protocol||d||f?f&&!a.pathname?p="The URL's pathname is empty":a.hash&&(p="The URL contains a fragment identifier"):p='The URL\'s protocol must be one of "ws:", "wss:", or "ws+unix:"',p){const t=new SyntaxError(p);if(0===e._redirects)throw t;return void I(e,t)}const m=d?443:80,g=c(16).toString("base64"),y=d?n.get:o.get,v=new Set;let w;if(i.createConnection=d?A:N,i.defaultPort=i.defaultPort||m,i.port=a.port||m,i.host=a.hostname.startsWith("[")?a.hostname.slice(1,-1):a.hostname,i.headers={"Sec-WebSocket-Version":i.protocolVersion,"Sec-WebSocket-Key":g,Connection:"Upgrade",Upgrade:"websocket",...i.headers},i.path=a.pathname+a.search,i.timeout=i.handshakeTimeout,i.perMessageDeflate&&(w=new h(!0!==i.perMessageDeflate?i.perMessageDeflate:{},!1,i.maxPayload),i.headers["Sec-WebSocket-Extensions"]=k({[h.extensionName]:w.offer()})),r.length){for(const e of r){if("string"!=typeof e||!T.test(e)||v.has(e))throw new SyntaxError("An invalid or duplicated subprotocol was specified");v.add(e)}i.headers["Sec-WebSocket-Protocol"]=r.join(",")}if(i.origin&&(i.protocolVersion<13?i.headers["Sec-WebSocket-Origin"]=i.origin:i.headers.Origin=i.origin),(a.username||a.password)&&(i.auth=`${a.username}:${a.password}`),f){const e=i.path.split(":");i.socketPath=e[0],i.path=e[1]}if(i.followRedirects){if(0===e._redirects){e._originalHost=a.host;const t=s&&s.headers;if(s={...s,headers:{}},t)for(const[e,r]of Object.entries(t))s.headers[e.toLowerCase()]=r}else a.host!==e._originalHost&&(delete i.headers.authorization,delete i.headers.cookie,delete i.headers.host,i.auth=void 0);i.auth&&!s.headers.authorization&&(s.headers.authorization="Basic "+Buffer.from(i.auth).toString("base64"))}let b=e._req=y(i);i.timeout&&b.on("timeout",(()=>{R(e,b,"Opening handshake has timed out")})),b.on("error",(t=>{null===b||b.aborted||(b=e._req=null,I(e,t))})),b.on("response",(n=>{const o=n.headers.location,a=n.statusCode;if(o&&i.followRedirects&&a>=300&&a<400){if(++e._redirects>i.maxRedirects)return void R(e,b,"Maximum redirects exceeded");let n;b.abort();try{n=new u(o,t)}catch(t){const r=new SyntaxError(`Invalid URL: ${o}`);return void I(e,r)}L(e,n,r,s)}else e.emit("unexpected-response",b,n)||R(e,b,`Unexpected server response: ${n.statusCode}`)})),b.on("upgrade",((t,r,s)=>{if(e.emit("upgrade",t),e.readyState!==B.CONNECTING)return;b=e._req=null;const n=l("sha1").update(g+_).digest("base64");if(t.headers["sec-websocket-accept"]!==n)return void R(e,r,"Invalid Sec-WebSocket-Accept header");const o=t.headers["sec-websocket-protocol"];let a;if(void 0!==o?v.size?v.has(o)||(a="Server sent an invalid subprotocol"):a="Server sent a subprotocol but none was requested":v.size&&(a="Server sent no subprotocol"),a)return void R(e,r,a);o&&(e._protocol=o);const c=t.headers["sec-websocket-extensions"];if(void 0!==c){if(!w)return void R(e,r,"Server sent a Sec-WebSocket-Extensions header but no extension was requested");let t;try{t=C(c)}catch(t){return void R(e,r,"Invalid Sec-WebSocket-Extensions header")}const s=Object.keys(t);if(1!==s.length||s[0]!==h.extensionName)return void R(e,r,"Server indicated an extension that was not requested");try{w.accept(t[h.extensionName])}catch(t){return void R(e,r,"Invalid Sec-WebSocket-Extensions header")}e._extensions[h.extensionName]=w}e.setSocket(r,s,{generateMask:i.generateMask,maxPayload:i.maxPayload,skipUTF8Validation:i.skipUTF8Validation})}))}function I(e,t){e._readyState=B.CLOSING,e.emit("error",t),e.emitClose()}function N(e){return e.path=e.socketPath,i.connect(e)}function A(e){return e.path=void 0,e.servername||""===e.servername||(e.servername=i.isIP(e.host)?"":e.host),a.connect(e)}function R(e,t,r){e._readyState=B.CLOSING;const s=new Error(r);Error.captureStackTrace(s,R),t.setHeader?(t.abort(),t.socket&&!t.socket.destroyed&&t.socket.destroy(),t.once("abort",e.emitClose.bind(e)),e.emit("error",s)):(t.destroy(s),t.once("error",e.emit.bind(e,"error")),t.once("close",e.emitClose.bind(e)))}function $(e,t,r){if(t){const r=O(t).length;e._socket?e._sender._bufferedBytes+=r:e._bufferedAmount+=r}r&&r(new Error(`WebSocket is not open: readyState ${e.readyState} (${P[e.readyState]})`))}function j(e,t){const r=this[b];r._closeFrameReceived=!0,r._closeMessage=t,r._closeCode=e,void 0!==r._socket[b]&&(r._socket.removeListener("data",z),process.nextTick(V,r._socket),1005===e?r.close():r.close(e,t))}function F(){const e=this[b];e.isPaused||e._socket.resume()}function D(e){const t=this[b];void 0!==t._socket[b]&&(t._socket.removeListener("data",z),process.nextTick(V,t._socket),t.close(e[w])),t.emit("error",e)}function G(){this[b].emitClose()}function U(e,t){this[b].emit("message",e,t)}function q(e){const t=this[b];t.pong(e,!t._isServer,S),t.emit("ping",e)}function W(e){this[b].emit("pong",e)}function V(e){e.resume()}function H(){const e=this[b];let t;this.removeListener("close",H),this.removeListener("data",z),this.removeListener("end",K),e._readyState=B.CLOSING,this._readableState.endEmitted||e._closeFrameReceived||e._receiver._writableState.errorEmitted||null===(t=e._socket.read())||e._receiver.write(t),e._receiver.end(),this[b]=void 0,clearTimeout(e._closeTimer),e._receiver._writableState.finished||e._receiver._writableState.errorEmitted?e.emitClose():(e._receiver.on("error",G),e._receiver.on("finish",G))}function z(e){this[b]._receiver.write(e)||this.pause()}function K(){const e=this[b];e._readyState=B.CLOSING,e._receiver.end(),this.end()}function X(){const e=this[b];this.removeListener("error",X),this.on("error",S),e&&(e._readyState=B.CLOSING,this.destroy())}Object.defineProperty(B,"CONNECTING",{enumerable:!0,value:P.indexOf("CONNECTING")}),Object.defineProperty(B.prototype,"CONNECTING",{enumerable:!0,value:P.indexOf("CONNECTING")}),Object.defineProperty(B,"OPEN",{enumerable:!0,value:P.indexOf("OPEN")}),Object.defineProperty(B.prototype,"OPEN",{enumerable:!0,value:P.indexOf("OPEN")}),Object.defineProperty(B,"CLOSING",{enumerable:!0,value:P.indexOf("CLOSING")}),Object.defineProperty(B.prototype,"CLOSING",{enumerable:!0,value:P.indexOf("CLOSING")}),Object.defineProperty(B,"CLOSED",{enumerable:!0,value:P.indexOf("CLOSED")}),Object.defineProperty(B.prototype,"CLOSED",{enumerable:!0,value:P.indexOf("CLOSED")}),["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach((e=>{Object.defineProperty(B.prototype,e,{enumerable:!0})})),["open","error","close","message"].forEach((e=>{Object.defineProperty(B.prototype,`on${e}`,{enumerable:!0,get(){for(const t of this.listeners(e))if(t[y])return t[v];return null},set(t){for(const t of this.listeners(e))if(t[y]){this.removeListener(e,t);break}"function"==typeof t&&this.addEventListener(e,t,{[y]:!0})}})})),B.prototype.addEventListener=x,B.prototype.removeEventListener=E,e.exports=B},8447:e=>{"use strict";e.exports=require("bufferutil")},7838:e=>{"use strict";e.exports=require("utf-8-validate")},9496:e=>{"use strict";e.exports=require("vscode")},9491:e=>{"use strict";e.exports=require("assert")},4300:e=>{"use strict";e.exports=require("buffer")},2081:e=>{"use strict";e.exports=require("child_process")},6113:e=>{"use strict";e.exports=require("crypto")},2361:e=>{"use strict";e.exports=require("events")},7147:e=>{"use strict";e.exports=require("fs")},3685:e=>{"use strict";e.exports=require("http")},5687:e=>{"use strict";e.exports=require("https")},1808:e=>{"use strict";e.exports=require("net")},2037:e=>{"use strict";e.exports=require("os")},1017:e=>{"use strict";e.exports=require("path")},2781:e=>{"use strict";e.exports=require("stream")},1576:e=>{"use strict";e.exports=require("string_decoder")},4404:e=>{"use strict";e.exports=require("tls")},7310:e=>{"use strict";e.exports=require("url")},3837:e=>{"use strict";e.exports=require("util")},9796:e=>{"use strict";e.exports=require("zlib")}},t={},r=function r(s){var n=t[s];if(void 0!==n)return n.exports;var o=t[s]={exports:{}};return e[s].call(o.exports,o,o.exports,r),o.exports}(112);module.exports=r})();
|
||
//# sourceMappingURL=extension.js.map
|