solorice/vscodium/extensions/ms-vscode.js-debug-companion-1.0.17/out/extension.js
2022-04-28 21:17:01 +03:00

2 lines
100 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

(()=>{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)}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