@jchip/nvm
Version:
nvm: a universal node.js version manager for Windows (no admin) and Unix
9 lines • 309 kB
JavaScript
#!/usr/bin/env node
/*! For license information please see nvm.js.LICENSE.txt */
(()=>{var t={4277:t=>{"use strict";t.exports=()=>{const t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[a-zA-Z\\d]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PRZcf-ntqry=><~]))"].join("|");return new RegExp(t,"g")}},6434:(t,e,n)=>{"use strict";t=n.nmd(t);const r=(t,e)=>(...n)=>`[${t(...n)+e}m`,i=(t,e)=>(...n)=>{const r=t(...n);return`[${38+e};5;${r}m`},s=(t,e)=>(...n)=>{const r=t(...n);return`[${38+e};2;${r[0]};${r[1]};${r[2]}m`},o=t=>t,a=(t,e,n)=>[t,e,n],c=(t,e,n)=>{Object.defineProperty(t,e,{get:()=>{const r=n();return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0}),r},enumerable:!0,configurable:!0})};let u;const l=(t,e,r,i)=>{void 0===u&&(u=n(2085));const s=i?10:0,o={};for(const[n,i]of Object.entries(u)){const a="ansi16"===n?"ansi":n;n===e?o[a]=t(r,s):"object"==typeof i&&(o[a]=t(i[e],s))}return o};Object.defineProperty(t,"exports",{enumerable:!0,get:function(){const t=new Map,e={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};e.color.gray=e.color.blackBright,e.bgColor.bgGray=e.bgColor.bgBlackBright,e.color.grey=e.color.blackBright,e.bgColor.bgGrey=e.bgColor.bgBlackBright;for(const[n,r]of Object.entries(e)){for(const[n,i]of Object.entries(r))e[n]={open:`[${i[0]}m`,close:`[${i[1]}m`},r[n]=e[n],t.set(i[0],i[1]);Object.defineProperty(e,n,{value:r,enumerable:!1})}return Object.defineProperty(e,"codes",{value:t,enumerable:!1}),e.color.close="[39m",e.bgColor.close="[49m",c(e.color,"ansi",(()=>l(r,"ansi16",o,!1))),c(e.color,"ansi256",(()=>l(i,"ansi256",o,!1))),c(e.color,"ansi16m",(()=>l(s,"rgb",a,!1))),c(e.bgColor,"ansi",(()=>l(r,"ansi16",o,!0))),c(e.bgColor,"ansi256",(()=>l(i,"ansi256",o,!0))),c(e.bgColor,"ansi16m",(()=>l(s,"rgb",a,!0))),e}})},1577:(t,e,n)=>{"use strict";const r=n(7759),i=n(7695);t.exports=async function(){try{await r.$.rimraf(i.getNvmCacheDir()),i.log("stale local caches removed")}catch(t){i.log("cleanup failed",t)}}},3639:(t,e,n)=>{"use strict";const r=n(7759),i=n(2037),s=n(1017),o=n(1387);function a(){let t=process.env.PATH||"";return t=t.replace(/"/g,'\\"'),t}t.exports={getNodeBinDir:t=>s.join(t,"bin"),makeNodeDistName(t){const e=i.platform().toLowerCase();let n=i.arch().toLowerCase();if("arm64"===n&&"darwin"===e){const r=o.map(t.split("."),(t=>parseInt(t.replace("v",""))));r[0]<16&&(this.log(`Version ${t} (major ${r[0]} < 16) falling back to x64 for ${e} ${n}`),n="x64")}return`node-${t}-${e}-${n}`},cacheFileName:()=>"node.tgz",makeNodeDistFileName(t){return`${this.makeNodeDistName(t)}.tar.gz`},async dirHasNodeBin(t){const e=s.join(t,"bin","node");return await this._exists(e)},getSetInstallEnvScript:t=>`\nexport PATH="${a()}"\nexport NVM_INSTALL=${t}\n`,async createEnvironmentTmp(t,e){t=t||s.join(this.getTmpdir(),this.getEnvFile(".sh")),await r.writeFile(t,e||`\nexport NVM_USE=${process.env.NVM_USE||""}\nexport PATH="${a()}"\n`)}}},2496:(t,e,n)=>{"use strict";const r=n(2037),i=n(1017),s=n(8770),o=n(7759),a="HKCU\\Environment",c="NVM_HOME",u="NVM_LINK",l=process.env[c]||i.join(__dirname,".."),h=i.join(l,"bin"),f=process.env[u]||i.join(l,"nodejs","bin"),p=(t,e)=>{const n=t.split("\r\n").filter((t=>t&&t.trim().startsWith(e)));if(n&&n[0]){const t=n[0].split(" ").filter((t=>t));if(t)return t[2]}return""},d=t=>t.ok?p(t.stdout.toString(),"Path"):"",m=(t,e)=>{const n=((t,e)=>{const n=t.split(";").filter((t=>t&&!t.startsWith(l)));return(e?[h,f]:[]).concat(n).join(";")})(t,e);return n!==t?`reg.exe add "${a}" /t REG_EXPAND_SZ /v Path /d "${n}" /f\nsetx.exe Path "${n}"\n`:""};t.exports={async rename(t,e,n=0){try{await o.rename(t,e)}catch(r){if("EPERM"!==r.code||n>=5)throw r;await s.delay(50),await this.rename(t,e,n+1)}},getNodeBinDir:t=>t,makeNodeDistName:t=>"x64"===r.arch().toLowerCase()?`node-${t}-win-x64`:`node-${t}-win-x86`,cacheFileName:()=>"node.zip",makeNodeDistFileName(t){return`${this.makeNodeDistName(t)}.zip`},async dirHasNodeBin(t){const e=i.join(t,"node.exe");return await this._exists(e)},getSetInstallEnvScript:t=>process.env.NVM_POWERSHELL?`$Env:NVM_INSTALL="${t}"\r\n$Env:Path="${process.env.PATH}"\r\n`:`@ECHO OFF\r\nSET "NVM_INSTALL=${t}"\r\nSET "PATH=${process.env.PATH}"\r\n`,getDefaultEnvScript:()=>process.env.NVM_POWERSHELL?`$Env:NVM_USE="${process.env.NVM_USE||""}"\r\n$Env:Path="${process.env.PATH}"\r\n`:`@ECHO OFF\r\nSET "NVM_USE=${process.env.NVM_USE||""}"\r\nSET "PATH=${process.env.PATH}"\r\n`,async createEnvironmentTmp(t,e){e=e||this.getDefaultEnvScript();const n=this.getEnvFile(process.env.NVM_POWERSHELL?".ps1":".cmd");return t=t||i.join(this.getTmpdir(),n),await o.writeFile(t,e)},setNvmUsePath(t){process.env.PATH=[t].concat(process.env.PATH.split(i.delimiter)).filter((t=>t)).join(i.delimiter)},async initEnv(){const t=await this.exec("reg.exe",["query",a,"/v","Path"]),e=await this.exec("reg.exe",["query",a,"/v",c]),n=await this.exec("reg.exe",["query",a,"/v",u]);await o.writeFile(i.join(l,"init-env.cmd"),`@ECHO OFF\r\n${(()=>{const t=e.ok?p(e.stdout.toString(),c):"";return t&&t===l?"ECHO NVM_HOME already set in env":`reg.exe add "${a}" /t REG_SZ /v ${c} /d "${l}" /f\nsetx.exe ${c} "${l}"\n`})()}\r\n${(()=>{const t=n.ok?p(n.stdout.toString(),"NVM_LINK"):"";return t&&t===f?"ECHO NVM_LINK arealdy set in env":`reg.exe add "${a}" /t REG_SZ /v ${u} /d "${f}" /f\nsetx.exe ${u} "${f}"\n`})()}\r\n${m(d(t),!0)}\r\n`)},async undoEnv(){const t=await this.exec("reg.exe",["query",a,"/v","Path"]);await o.writeFile(i.join(l,"undo-env.cmd"),`@ECHO OFF\r\n${m(d(t),!1)}\r\nreg.exe DELETE "${a}" /v ${c} /f\r\nreg.exe DELETE "${a}" /v ${u} /f\r\n`)}}},7695:(t,e,n)=>{"use strict";const r=n(2037),i=n(1017),s=n(3639),o=n(2496),a=n(1387),c=n(4484),u=n(7310),l=n(8770),h=n(6608),f=n(7759),{spawn:p}=n(7718),d="win32"===r.platform()?o:s,m={getTmpdir:()=>process.env.NVM_TMPDIR||r.tmpdir(),getRunId:()=>process.env.NVM_RUN_ID||"",getEnvFile:(t="")=>`nvm_env${m.getRunId()}${t}`,async _exists(t){try{return await f.access(t,f.constants.F_OK),!0}catch(t){return!1}},rename:f.rename,exit(t){process.exit(t)},log(...t){console.log(...t)},replaceVersion:t=>t?(t=t.toLowerCase(),/^v/i.test(t)?t:`v${t}`):t,getHomeDir:()=>r.homedir(),getBaseDir(){return process.env.NVM_HOME||i.join(this.getHomeDir(),"nvm")},getNvmLinkDir(){return process.env.NVM_LINK||i.join(this.getBaseDir(),"nodejs","bin")},getNvmCacheDir(){return i.join(this.getBaseDir(),"cache")},getNvmDir(){return i.join(this.getBaseDir(),"nodejs")},getNodeDir(t){return i.join(this.getNvmDir(),this.replaceVersion(t))},async resetNvmPaths(){const t=this.getBaseDir(),e=this.getNvmLinkDir(),n=await l.filter(process.env.PATH.split(i.delimiter),(async n=>!n.startsWith(t)&&n!==e&&!await this.dirHasNodeBin(n)));process.env.PATH=n.concat(i.join(t,"bin")).join(i.delimiter)},setNvmUsePath(t){process.env.PATH=[i.join(t,"bin")].concat(process.env.PATH.split(i.delimiter)).filter((t=>t)).join(i.delimiter)},async setNvmLinkPath(){const t=process.env.NVM_LINK;t&&await this._exists(t)&&(process.env.PATH=[t].concat(process.env.PATH.split(i.delimiter)).filter((t=>t)).join(i.delimiter))},async findNodeVersion(t,e){let n=this.replaceVersion(t);if(!this.isFullVersion(n)){const r=await this.findLocalVersions();n=e?this.matchOldestVersion(n,r):this.matchLatestVersion(n,r),n||(this.log(h`<red>can't find an installed node.js version that matches ${t}</red>`),this.log(`Available versions: ${r.join(" ")}`),this.exit(1))}const r=this.getNodeDir(n);return!1===await this._exists(r)&&(this.log(h`<red>node.js version ${t} is not installed yet</>`),this.exit(1)),{version:n,nodeDir:r}},sortVersions(t){const e=(t,n,r)=>Number(t[r])===Number(n[r])?2===r?0:e(t,n,r+1):Number(t[r])>Number(n[r])?1:-1;return a.size(t)<=0||!1===a.isArray(t)?t:t.sort(((t,n)=>e(t.substr(1).split("."),n.substr(1).split("."),0)))},async findLinkVersion(){let t;const e=this.getNvmLinkDir();return e&&await this._exists(e)&&(t=(await f.readlink(e)).match(/(v[0-9]+\.[0-9]+\.[0-9]+)/)[0]),t},async findLocalVersions(){const t=this.getNvmDir();let e=[];return await this._exists(t)&&(await f.lstat(t)).isDirectory()&&(e=this.sortVersions((await f.readdir(t)).filter((t=>t&&"bin"!==t&&t.startsWith("v"))))),e},isFullVersion:t=>3===t.split(".").length,matchPartialVersions(t,e){const n=t.split(".");if(3===n.length)return[t];let r=e.map((t=>t.split(".")));for(let t=0;t<n.length;t++)r=r.filter((e=>e[t]===n[t]));return r},matchLatestVersion(t,e){const n=this.matchPartialVersions(t,e);return n.length>0&&n[n.length-1].join(".")},matchOldestVersion(t,e){const n=this.matchPartialVersions(t,e);return n.length>0?n[0].join("."):t},nodejsDistUrl(t,e="http://nodejs.org/dist/"){if(t){const n=u.parse(e);return n.pathname=i.posix.join(n.pathname,t),u.format(n)}return e},getDistUrls(){return this.distUrl?[this.distUrl]:a.uniq([].concat((process.env.NVM_NODEJS_ORG_MIRROR||"").split(";"),"https://nodejs.org/dist").filter((t=>t)))},setDistUrl(t){this.distUrl=t},getDistUrl(){return this.distUrl},async getRemoteFromJson(t,e,n){const r={proxy:t,rejectUnauthorized:e},i=this.getDistUrls();let s;for(const t of i){const e=this.nodejsDistUrl("index.json",t);try{s&&m.log(h`<green>trying to fetch again from <white>${e}</></>`);const i=await c("get",e,r);if(200===i.statusCode){let e=n?i.body.filter((t=>t.lts)):i.body;return e=e.map((t=>t.version)),e=this.sortVersions(e),this.setDistUrl(t),e}m.log(h`<red>fetching remote versions from <white>${e}</> returned status ${i.statusCode}</>`),s=new Error(`fetching versions from ${e} returned status ${i.statusCode}`)}catch(t){m.log(h`<red>fetching remote versions from <white>${e}</> failed</>\n`,` Error: ${t.message}`),s=t}}throw s},async getRemoteFromHtml(t,e){const n={proxy:t,rejectUnauthorized:e},r=await c("get",this.nodejsDistUrl(),n);return this.sortVersions(a.uniq(a.filter(r.body.match(/v[0-9]+.[0-9]+.[0-9]+/gi),(t=>!1===/^(v0.[0-4].[0-9]+)|(v0.5.0)$/i.test(t)))))},getActiveVersion:async()=>process.env.NVM_USE?process.env.NVM_USE:await m.findLinkVersion(),exec:async(t,e,n)=>new Promise(((r,i)=>{const s=p(t,e,{windowsHide:!0,...n}),o=[],a=[];s.stderr.on("data",(t=>{o.push(t)})),s.stdout.on("data",(t=>{a.push(t)})),s.on("error",(t=>{i(t)})),s.on("exit",(t=>{r({stderr:Buffer.concat(o),stdout:Buffer.concat(a),code:t,ok:0===t})}))})),async initEnv(){},async undoEnv(){}};t.exports=Object.assign(m,d)},4454:(t,e,n)=>{"use strict";const r=n(7695);t.exports=async function(){await r.resetNvmPaths(),delete process.env.NVM_USE,await r.setNvmLinkPath(),await r.createEnvironmentTmp()}},3275:(t,e,n)=>{"use strict";n(3837);const r=n(7759),i=n(1017),s=n(1387),o=n(6608),a=n(2106),c=n(4484),u=n(7695),l=n(7998);function h(t){return i.join(u.getNvmCacheDir(),t,u.cacheFileName())}async function f(t,e,n){try{const r=await c("get",t,n);return 200!==r.statusCode?(404===r.statusCode?u.log(o`<red>Error: node.js version <white>${e}</> not found.</>`):(u.log("response body",r.body),u.log("response statusCode",r.statusCode),u.log("response statusMessage",r.statusMessage),u.log("Node %s downloaded failed, check above for error, status, and body",e)),!1):(u.log("downloaded successful"),!0)}catch(e){return u.log(o`<red>download <white>${t}</> failed</>\n`,e),!1}}async function p(t,e,n){const r=h(t);if(await u._exists(r))return!0;u.log(o`<green>Downloading Node ${t}...</>`);const i=u.getDistUrls();let s;for(const o of i){const i=u.nodejsDistUrl(`${t}/${u.makeNodeDistFileName(t)}`,o),a={proxy:e,output:r,follow:5,rejectUnauthorized:n};if(s=await f(i,t,a),s)break}return s}async function d(t,e){return t.endsWith(".tgz")?l.x({cwd:e,file:t}):a(t,{dir:e})}async function m(t,e){const n=h(e);await r.$.mkdirp(t);const s=u.makeNodeDistName(e);if(u.log(o`<white>Installing Node ${e}...</>`),!await u._exists(n))return!1;try{await d(n,t);const r=i.join(t,s),a=i.join(t,e);await u.rename(r,a),u.log(o`<green>Node.js ${e} installed.</>`),await u.createEnvironmentTmp(null,u.getSetInstallEnvScript(e))}catch(n){try{await r.$.rimraf(i.join(t,s))}catch(t){}u.log(o`<red>Node ${e} installed failed</>`,n),u.log(o`<green>Try to clean cache with 'nvm cleanup' and try again.</>`)}}t.exports={downloadNode:p,install:m,doExtract:d,cmdInstall:async function(t,e,n){let a=u.replaceVersion(t);a=await async function({version:t,proxy:e,verifyssl:n,lts:r}){if(u.isFullVersion(t))return t;const i=t.toLowerCase(),s="vlts"===i;try{const o=await u.getRemoteFromJson(e,n,r||s);return s||"vlatest"===i?o[o.length-1]:u.matchLatestVersion(t,o)}catch(e){return u.log(o`<red>You specified a partial version ${t}
but nvm was unable to fetch remote versions to match the latest.
Try to specify a full version to make nvm to skip this</>\n`,e),u.exit(1)}}({version:a,proxy:e,verifyssl:n,lts:!1}),a||(u.log(o`<red>Unable to find an exact node.js version that matches the requested version: '${t}'</red>`),u.exit(1));const c=s.map(a.split("."),(t=>parseInt(t.replace("v",""))));(c[0]<4||4===c[0]&&c[1]<5)&&(u.log("Sorry but nvm can not install the Node version below v4.5.0"),u.exit(1));const l=u.getNodeDir(a);if(await u.dirHasNodeBin(l)&&(u.log(o`<red>Node.js version <white>${a}</> is already installed</>`),u.exit(1)),await r.$.mkdirp(i.join(u.getNvmCacheDir(),a)),!0===await p(a,e,n)){if(await u._exists(l))try{await r.$.rimraf(l)}catch(t){u.log(o`<red>Node ${a} installed failed</>`,t),u.exit(1)}await m(i.join(l,".."),a)}}}},7658:(t,e,n)=>{"use strict";const r=n(1387),i=n(1017),s=n(6608),o=n(7695);t.exports={async local(){const t=await o.findLocalVersions(),e=await o.findLinkVersion(),n=o.getNvmLinkDir();r.each(t,(t=>{if(t===i.basename(n))return;let r="";e===t&&(r=s`(<red>linked</>)`),process.env.NVM_USE===t?o.log(s`<green>* ${t}</> ${r}`):o.log(t,r)}))},async remote(t,e,n){try{const i=await o.getRemoteFromJson(t,e,n);r.each(i,(t=>{o.log(t)}))}catch(t){o.log(s`<red>error listing remote versions</>\n`,t)}}}},8137:(t,e,n)=>{"use strict";const r=n(7695),i=n(6608);t.exports=async function(t){const e=t||await r.getActiveVersion();e||(r.log(i`<red>
No node.js version given and unable to determine a linked or default node.js version.
You must provide a version to run post-install.
</>`),r.exit(1));const{version:n}=await r.findNodeVersion(e);try{r.log(i`<green>Invoking post-install script for node.js version ${n}</>`),await r.createEnvironmentTmp(null,r.getSetInstallEnvScript(n))}catch(t){r.log(i`<red>Invoking post-install script failed</>`,t),r.exit(1)}}},2293:(t,e,n)=>{"use strict";const r=n(7759),i=n(1471),s=n(7695),o=n(6608);t.exports=async function(){process.env.NVM_LINK||(s.log(o`<red>can't switch-deactivate because NVM_LINK is not defined</>`),s.exit(1));const t=s.getNvmLinkDir();try{await s._exists(t)&&await r.unlink(t),delete process.env.NVM_LINK_VERSION,process.env.NVM_UNLINK_VERSION="true",process.env.NVM_USE?await i(process.env.NVM_USE):(await s.resetNvmPaths(),await s.createEnvironmentTmp())}catch(t){s.log(o`<red>switch-deactivate failed</>`,t),s.exit(1)}}},4745:(t,e,n)=>{"use strict";const r=n(7759),i=n(1017),s=n(7695),o=n(6608);t.exports=async function(t){const e=s.getNvmLinkDir();e||(s.log(o`<red>can't link because can't determine link dir.
define env NVM_LINK to specify the link dir.</>`),s.exit(1));const{version:n,nodeDir:a}=await s.findNodeVersion(t);try{if(await s._exists(e))await r.unlink(e);else{const t=i.dirname(e);await s._exists(t)||await r.$.mkdirp(t)}const t=s.getNodeBinDir(a);await r.symlink(t,e,"junction"),process.env.NVM_LINK_VERSION=n,process.env.NVM_USE||await s.setNvmLinkPath(),await s.createEnvironmentTmp()}catch(t){s.log(o`<red>switch to version ${n} failed</>`,t),s.exit(1)}}},2101:(t,e,n)=>{"use strict";const r=n(7695),i=n(6608),s=n(7759);t.exports=async function(t,e){const{version:n,nodeDir:o}=await r.findNodeVersion(t,!e.hasOwnProperty("latest"));process.env.NVM_USE===n&&(r.log(i`<red>Cannot uninstall currently active node version ${n}</>`),r.exit(1)),await r.findLinkVersion()===n&&(r.log(i`<red>Cannot uninstall currently linked node version ${n}</>`),r.exit(1));try{r.log(i`<yellow>Removing node.js version ${n}</>`),await s.$.rimraf(o),r.log(`Removed node.js version ${n}`)}catch(t){r.log(i`<red>Removed node.js version ${n} failed</>\n`,t)}}},1471:(t,e,n)=>{"use strict";const r=n(6608),i=n(7695),s=n(7147),o=".nvmrc";t.exports=async function(t,e){var n;t||(t=await async function(){try{const t=(await s.promises.readFile(o,"ascii")).trim();if(function(t){return/^v?\d+(\.\d+)*$/.test(t)}(t))return i.log(`Read version ${t} from ${o}`),t;i.log(r`<red>Invalid version from ${o}: <white>${t}</>.</>`)}catch(t){"ENOENT"!==t.code?i.log(r`<red>Failed reading ${o}: ${t.message}</>`):i.log(r`<red>No ${o} file found</>`)}i.exit(1)}(),t=null===(n=t)||void 0===n?void 0:n.replace("v","").trim());const{version:a,nodeDir:c}=await i.findNodeVersion(t);return!0!==e&&(await i.resetNvmPaths(),i.setNvmUsePath(c),process.env.NVM_USE=a,await i.createEnvironmentTmp()),i.log(r`<green>Now using node <white>${a}</>.</>`),{version:a,nodeDir:c}}},9809:t=>{t.exports=void 0},3742:t=>{"use strict";t.exports=()=>()=>{}},569:t=>{t.exports=null},5623:t=>{"use strict";function e(t,e,i){t instanceof RegExp&&(t=n(t,i)),e instanceof RegExp&&(e=n(e,i));var s=r(t,e,i);return s&&{start:s[0],end:s[1],pre:i.slice(0,s[0]),body:i.slice(s[0]+t.length,s[1]),post:i.slice(s[1]+e.length)}}function n(t,e){var n=e.match(t);return n?n[0]:null}function r(t,e,n){var r,i,s,o,a,c=n.indexOf(t),u=n.indexOf(e,c+1),l=c;if(c>=0&&u>0){for(r=[],s=n.length;l>=0&&!a;)l==c?(r.push(l),c=n.indexOf(t,l+1)):1==r.length?a=[r.pop(),u]:((i=r.pop())<s&&(s=i,o=u),u=n.indexOf(e,l+1)),l=c<u&&c>=0?c:u;r.length&&(a=[s,o])}return a}t.exports=e,e.range=r},3644:(t,e,n)=>{var r=n(1048),i=n(5623);t.exports=function(t){return t?("{}"===t.substr(0,2)&&(t="\\{\\}"+t.substr(2)),y(function(t){return t.split("\\\\").join(s).split("\\{").join(o).split("\\}").join(a).split("\\,").join(c).split("\\.").join(u)}(t),!0).map(h)):[]};var s="\0SLASH"+Math.random()+"\0",o="\0OPEN"+Math.random()+"\0",a="\0CLOSE"+Math.random()+"\0",c="\0COMMA"+Math.random()+"\0",u="\0PERIOD"+Math.random()+"\0";function l(t){return parseInt(t,10)==t?parseInt(t,10):t.charCodeAt(0)}function h(t){return t.split(s).join("\\").split(o).join("{").split(a).join("}").split(c).join(",").split(u).join(".")}function f(t){if(!t)return[""];var e=[],n=i("{","}",t);if(!n)return t.split(",");var r=n.pre,s=n.body,o=n.post,a=r.split(",");a[a.length-1]+="{"+s+"}";var c=f(o);return o.length&&(a[a.length-1]+=c.shift(),a.push.apply(a,c)),e.push.apply(e,a),e}function p(t){return"{"+t+"}"}function d(t){return/^-?0\d/.test(t)}function m(t,e){return t<=e}function g(t,e){return t>=e}function y(t,e){var n=[],s=i("{","}",t);if(!s||/\$$/.test(s.pre))return[t];var o,c=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(s.body),u=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(s.body),h=c||u,v=s.body.indexOf(",")>=0;if(!h&&!v)return s.post.match(/,.*\}/)?y(t=s.pre+"{"+s.body+a+s.post):[t];if(h)o=s.body.split(/\.\./);else if(1===(o=f(s.body)).length&&1===(o=y(o[0],!1).map(p)).length)return(w=s.post.length?y(s.post,!1):[""]).map((function(t){return s.pre+o[0]+t}));var _,b=s.pre,w=s.post.length?y(s.post,!1):[""];if(h){var E=l(o[0]),x=l(o[1]),S=Math.max(o[0].length,o[1].length),O=3==o.length?Math.abs(l(o[2])):1,k=m;x<E&&(O*=-1,k=g);var T=o.some(d);_=[];for(var N=E;k(N,x);N+=O){var A;if(u)"\\"===(A=String.fromCharCode(N))&&(A="");else if(A=String(N),T){var C=S-A.length;if(C>0){var I=new Array(C+1).join("0");A=N<0?"-"+I+A.slice(1):I+A}}_.push(A)}}else _=r(o,(function(t){return y(t,!1)}));for(var R=0;R<_.length;R++)for(var L=0;L<w.length;L++){var j=b+_[R]+w[L];(!e||h||j)&&n.push(j)}return n}},2779:(t,e,n)=>{var r=n(4300).Buffer,i=[0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117];function s(t){if(r.isBuffer(t))return t;var e="function"==typeof r.alloc&&"function"==typeof r.from;if("number"==typeof t)return e?r.alloc(t):new r(t);if("string"==typeof t)return e?r.from(t):new r(t);throw new Error("input must be buffer, number, or string, received "+typeof t)}function o(t,e){t=s(t),r.isBuffer(e)&&(e=e.readUInt32BE(0));for(var n=-1^~~e,o=0;o<t.length;o++)n=i[255&(n^t[o])]^n>>>8;return-1^n}function a(){return t=o.apply(null,arguments),(e=s(4)).writeInt32BE(t,0),e;var t,e}"undefined"!=typeof Int32Array&&(i=new Int32Array(i)),a.signed=function(){return o.apply(null,arguments)},a.unsigned=function(){return o.apply(null,arguments)>>>0},t.exports=a},8470:(t,e,n)=>{"use strict";const r=n(2037),i=n(6224),s=n(6885),{env:o}=process;let a;function c(t){return 0!==t&&{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function u(t,e){if(0===a)return 0;if(s("color=16m")||s("color=full")||s("color=truecolor"))return 3;if(s("color=256"))return 2;if(t&&!e&&void 0===a)return 0;const n=a||0;if("dumb"===o.TERM)return n;if("win32"===process.platform){const t=r.release().split(".");return Number(t[0])>=10&&Number(t[2])>=10586?Number(t[2])>=14931?3:2:1}if("CI"in o)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some((t=>t in o))||"codeship"===o.CI_NAME?1:n;if("TEAMCITY_VERSION"in o)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(o.TEAMCITY_VERSION)?1:0;if("truecolor"===o.COLORTERM)return 3;if("TERM_PROGRAM"in o){const t=parseInt((o.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(o.TERM_PROGRAM){case"iTerm.app":return t>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(o.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(o.TERM)||"COLORTERM"in o?1:n}s("no-color")||s("no-colors")||s("color=false")||s("color=never")?a=0:(s("color")||s("colors")||s("color=true")||s("color=always"))&&(a=1),"FORCE_COLOR"in o&&(a="true"===o.FORCE_COLOR?1:"false"===o.FORCE_COLOR?0:0===o.FORCE_COLOR.length?1:Math.min(parseInt(o.FORCE_COLOR,10),3)),t.exports={supportsColor:function(t){return c(u(t,t&&t.isTTY))},stdout:c(u(!0,i.isatty(1))),stderr:c(u(!0,i.isatty(2)))}},6885:t=>{"use strict";t.exports=(t,e=process.argv)=>{const n=t.startsWith("-")?"":1===t.length?"-":"--",r=e.indexOf(n+t),i=e.indexOf("--");return-1!==r&&(-1===i||r<i)}},4061:(t,e,n)=>{"use strict";const r=n(6434),{stdout:i,stderr:s}=n(8470),{stringReplaceAll:o,stringEncaseCRLFWithFirstIndex:a}=n(3559),{isArray:c}=Array,u=["ansi","ansi","ansi256","ansi16m"],l=Object.create(null);class h{constructor(t){return f(t)}}const f=t=>{const e={};return((t,e={})=>{if(e.level&&!(Number.isInteger(e.level)&&e.level>=0&&e.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");const n=i?i.level:0;t.level=void 0===e.level?n:e.level})(e,t),e.template=(...t)=>b(e.template,...t),Object.setPrototypeOf(e,p.prototype),Object.setPrototypeOf(e.template,e),e.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},e.template.Instance=h,e.template};function p(t){return f(t)}for(const[t,e]of Object.entries(r))l[t]={get(){const n=y(this,g(e.open,e.close,this._styler),this._isEmpty);return Object.defineProperty(this,t,{value:n}),n}};l.visible={get(){const t=y(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:t}),t}};const d=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(const t of d)l[t]={get(){const{level:e}=this;return function(...n){const i=g(r.color[u[e]][t](...n),r.color.close,this._styler);return y(this,i,this._isEmpty)}}};for(const t of d)l["bg"+t[0].toUpperCase()+t.slice(1)]={get(){const{level:e}=this;return function(...n){const i=g(r.bgColor[u[e]][t](...n),r.bgColor.close,this._styler);return y(this,i,this._isEmpty)}}};const m=Object.defineProperties((()=>{}),{...l,level:{enumerable:!0,get(){return this._generator.level},set(t){this._generator.level=t}}}),g=(t,e,n)=>{let r,i;return void 0===n?(r=t,i=e):(r=n.openAll+t,i=e+n.closeAll),{open:t,close:e,openAll:r,closeAll:i,parent:n}},y=(t,e,n)=>{const r=(...t)=>c(t[0])&&c(t[0].raw)?v(r,b(r,...t)):v(r,1===t.length?""+t[0]:t.join(" "));return Object.setPrototypeOf(r,m),r._generator=t,r._styler=e,r._isEmpty=n,r},v=(t,e)=>{if(t.level<=0||!e)return t._isEmpty?"":e;let n=t._styler;if(void 0===n)return e;const{openAll:r,closeAll:i}=n;if(-1!==e.indexOf(""))for(;void 0!==n;)e=o(e,n.close,n.open),n=n.parent;const s=e.indexOf("\n");return-1!==s&&(e=a(e,i,r,s)),r+e+i};let _;const b=(t,...e)=>{const[r]=e;if(!c(r)||!c(r.raw))return e.join(" ");const i=e.slice(1),s=[r.raw[0]];for(let t=1;t<r.length;t++)s.push(String(i[t-1]).replace(/[{}\\]/g,"\\$&"),String(r.raw[t]));return void 0===_&&(_=n(9515)),_(t,s.join(""))};Object.defineProperties(p.prototype,l);const w=p();w.supportsColor=i,w.stderr=p({level:s?s.level:0}),w.stderr.supportsColor=s,t.exports=w},9515:t=>{"use strict";const e=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,n=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,r=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,i=/\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi,s=new Map([["n","\n"],["r","\r"],["t","\t"],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e",""],["a",""]]);function o(t){const e="u"===t[0],n="{"===t[1];return e&&!n&&5===t.length||"x"===t[0]&&3===t.length?String.fromCharCode(parseInt(t.slice(1),16)):e&&n?String.fromCodePoint(parseInt(t.slice(2,-1),16)):s.get(t)||t}function a(t,e){const n=[],s=e.trim().split(/\s*,\s*/g);let a;for(const e of s){const s=Number(e);if(Number.isNaN(s)){if(!(a=e.match(r)))throw new Error(`Invalid Chalk template style argument: ${e} (in style '${t}')`);n.push(a[2].replace(i,((t,e,n)=>e?o(e):n)))}else n.push(s)}return n}function c(t){n.lastIndex=0;const e=[];let r;for(;null!==(r=n.exec(t));){const t=r[1];if(r[2]){const n=a(t,r[2]);e.push([t].concat(n))}else e.push([t])}return e}function u(t,e){const n={};for(const t of e)for(const e of t.styles)n[e[0]]=t.inverse?null:e.slice(1);let r=t;for(const[t,e]of Object.entries(n))if(Array.isArray(e)){if(!(t in r))throw new Error(`Unknown Chalk style: ${t}`);r=e.length>0?r[t](...e):r[t]}return r}t.exports=(t,n)=>{const r=[],i=[];let s=[];if(n.replace(e,((e,n,a,l,h,f)=>{if(n)s.push(o(n));else if(l){const e=s.join("");s=[],i.push(0===r.length?e:u(t,r)(e)),r.push({inverse:a,styles:c(l)})}else if(h){if(0===r.length)throw new Error("Found extraneous } in Chalk template literal");i.push(u(t,r)(s.join(""))),s=[],r.pop()}else s.push(f)})),i.push(s.join("")),r.length>0){const t=`Chalk template literal is missing ${r.length} closing bracket${1===r.length?"":"s"} (\`}\`)`;throw new Error(t)}return i.join("")}},3559:t=>{"use strict";t.exports={stringReplaceAll:(t,e,n)=>{let r=t.indexOf(e);if(-1===r)return t;const i=e.length;let s=0,o="";do{o+=t.substr(s,r-s)+e+n,s=r+i,r=t.indexOf(e,s)}while(-1!==r);return o+=t.substr(s),o},stringEncaseCRLFWithFirstIndex:(t,e,n,r)=>{let i=0,s="";do{const o="\r"===t[r-1];s+=t.substr(i,(o?r-1:r)-i)+e+(o?"\r\n":"\n")+n,i=r+1,r=t.indexOf("\n",i)}while(-1!==r);return s+=t.substr(i),s}}},6608:(t,e,n)=>{"use strict";const r=n(9491),i=n(4061);function s(t,e){const n=t[0];return"'"!==n&&'"'!==n&&"`"!==n||(r(t.endsWith(n),`chalk ${e} param must be enclosed with matching quote ${n}`),t=t.substr(1,t.length-2)),t}const o={""":'"',"&":"&","'":"'","<":"<",">":">"," ":" ","©":"©","®":"®"};function a(t){return t.replace(/&[\w#]+;/g,(t=>{if(o.hasOwnProperty(t))return o[t];if(t.startsWith("&#x")){const e=t.substring(3,t.length-1),n=parseInt(e,16);return String.fromCodePoint(n)}if(t.startsWith("&#")){const e=t.substring(2,t.length-1),n=parseInt(e,10);return String.fromCodePoint(n)}return t}))}function c(t,e){const n=t.replace(/<[^>]*>/g,"").trim();return e?n:a(n)}function u(t,e){if(!1===(e=e||i).supportsColor)return c(t);const n=t&&t.match(/(<[^>]+>|[^<>]+)/g);if(!n)return t||"";const o=n.reduceRight(((t,i,o)=>{const a=t[t.length-1];if("<"!==i[0])return a.s=i+a.s,t;if("/"===i[1])return t.push({mk:i.substring(2,i.length-1),ix:o,s:""}),t;if(1===t.length){const t=n.slice(0,o).join("")+`[${n[o]}]`+(n.length>o+1?"...":"");throw new Error(`unbalanced open/close markers: ${t}`)}const c=i.substring(1,i.length-1);if(a.mk&&c!==a.mk){const t=n.slice(0,o).join("")+`[** ${n[o]} **]`+n.slice(o+1,a.ix).join("")+`[** ${n[a.ix]} **]`;throw new Error(`mismatch markers: ${t}`)}const u=function(t,e,n){const i=t.trim().split(".").reduce(((t,e)=>{if(t[e=e.trim()])return t[e];if(e.startsWith("#"))return t.hex(e);if(("#"===e[2]||"#"===e[3])&&e.startsWith("bg"))return t.bgHex(e);const n=e.indexOf("(");if(n>=0){const i=e.lastIndexOf(")");r(i>n,`marker ${e} missing matching ()`);let o=n>0&&e.substring(0,n).trim(),a=e.substring(n+1,i).trim();a.indexOf(",")>=0?(a=a.split(",").map((t=>parseInt(t.trim(),10))),o?"bg"===o&&(o="bgRgb"):o="rgb"):(a=[s(a.trim(),e)],o?"bg"===o&&(o="bgKeyword"):o="keyword");try{t=t[o].apply(t,a)}catch(n){const r="function"!=typeof t[o]?`${o} is not a chalk function`:`calling chalk.${o} failed with: ${n.message}`;throw new Error(`marker ${e} is invalid: ${r}`)}}else try{const n=s(e,e);t=n.startsWith("bg-")||n.startsWith("bg ")?t.bgKeyword(n.substring(3)):t.keyword(n)}catch(t){throw new Error(`marker ${e} is not found and invalid as a keyword`)}return r(t,`marker ${e} is invalid`),t}),n);return r("function"==typeof i,`final chalk value is not a function after applying ${t}`),i(e)}(c,a.s,e);t.pop();const l=t.length-1;return t[l].s=u+t[l].s,t}),[{s:""}]);return a(o[0].s)}function l(t,...e){if(Array.isArray(t)){let n,r="";for(n=0;n<e.length;n++)r=r+t[n]+e[n];return u(r+t[n])}return u(t,...e)}l.remove=c,l.decodeHtml=a,t.exports=l},9019:(t,e,n)=>{"use strict";const r=n(7147),i=n(1017),s=r.lchown?"lchown":"chown",o=r.lchownSync?"lchownSync":"chownSync",a=r.lchown&&!process.version.match(/v1[1-9]+\./)&&!process.version.match(/v10\.[6-9]/),c=a?(t,e,n,i)=>s=>{s&&"EISDIR"===s.code?r.chown(t,e,n,i):i(s)}:(t,e,n,r)=>r,u=a?(t,e,n)=>{try{return r[o](t,e,n)}catch(i){if("EISDIR"!==i.code)throw i;r.chownSync(t,e,n)}}:r[o],l=process.version;let h=(t,e,n)=>r.readdir(t,e,n);/^v4\./.test(l)&&(h=(t,e,n)=>r.readdir(t,n));const f=(t,e,n,o,a)=>{if("string"==typeof e)return r.lstat(i.resolve(t,e),((r,i)=>{if(r)return a(r);i.name=e,f(t,i,n,o,a)}));if(e.isDirectory())p(i.resolve(t,e.name),n,o,(u=>{if(u)return a(u);const l=i.resolve(t,e.name);r[s](l,n,o,c(l,n,o,a))}));else{const u=i.resolve(t,e.name);r[s](u,n,o,c(u,n,o,a))}},p=(t,e,n,i)=>{h(t,{withFileTypes:!0},((o,a)=>{if(o&&"ENOTDIR"!==o.code&&"ENOTSUP"!==o.code)return i(o);if(o||!a.length)return r[s](t,e,n,c(t,e,n,i));let u=a.length,l=null;const h=o=>{if(!l)return o?i(l=o):0==--u?r[s](t,e,n,c(t,e,n,i)):void 0};a.forEach((r=>f(t,r,e,n,h)))}))},d=(t,e,n)=>{let s;try{s=((t,e)=>r.readdirSync(t,{withFileTypes:!0}))(t)}catch(r){if(r&&"ENOTDIR"===r.code&&"ENOTSUP"!==r.code)return u(t,e,n);throw r}return s.length&&s.forEach((s=>((t,e,n,s)=>{if("string"==typeof e){const n=r.lstatSync(i.resolve(t,e));n.name=e,e=n}e.isDirectory()&&d(i.resolve(t,e.name),n,s),u(i.resolve(t,e.name),n,s)})(t,s,e,n))),u(t,e,n)};t.exports=p,p.sync=d},8168:(t,e,n)=>{const r=n(8874),i={};for(const t of Object.keys(r))i[r[t]]=t;const s={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};t.exports=s;for(const t of Object.keys(s)){if(!("channels"in s[t]))throw new Error("missing channels property: "+t);if(!("labels"in s[t]))throw new Error("missing channel labels property: "+t);if(s[t].labels.length!==s[t].channels)throw new Error("channel and label counts mismatch: "+t);const{channels:e,labels:n}=s[t];delete s[t].channels,delete s[t].labels,Object.defineProperty(s[t],"channels",{value:e}),Object.defineProperty(s[t],"labels",{value:n})}s.rgb.hsl=function(t){const e=t[0]/255,n=t[1]/255,r=t[2]/255,i=Math.min(e,n,r),s=Math.max(e,n,r),o=s-i;let a,c;s===i?a=0:e===s?a=(n-r)/o:n===s?a=2+(r-e)/o:r===s&&(a=4+(e-n)/o),a=Math.min(60*a,360),a<0&&(a+=360);const u=(i+s)/2;return c=s===i?0:u<=.5?o/(s+i):o/(2-s-i),[a,100*c,100*u]},s.rgb.hsv=function(t){let e,n,r,i,s;const o=t[0]/255,a=t[1]/255,c=t[2]/255,u=Math.max(o,a,c),l=u-Math.min(o,a,c),h=function(t){return(u-t)/6/l+.5};return 0===l?(i=0,s=0):(s=l/u,e=h(o),n=h(a),r=h(c),o===u?i=r-n:a===u?i=1/3+e-r:c===u&&(i=2/3+n-e),i<0?i+=1:i>1&&(i-=1)),[360*i,100*s,100*u]},s.rgb.hwb=function(t){const e=t[0],n=t[1];let r=t[2];const i=s.rgb.hsl(t)[0],o=1/255*Math.min(e,Math.min(n,r));return r=1-1/255*Math.max(e,Math.max(n,r)),[i,100*o,100*r]},s.rgb.cmyk=function(t){const e=t[0]/255,n=t[1]/255,r=t[2]/255,i=Math.min(1-e,1-n,1-r);return[100*((1-e-i)/(1-i)||0),100*((1-n-i)/(1-i)||0),100*((1-r-i)/(1-i)||0),100*i]},s.rgb.keyword=function(t){const e=i[t];if(e)return e;let n,s=1/0;for(const e of Object.keys(r)){const i=(a=r[e],((o=t)[0]-a[0])**2+(o[1]-a[1])**2+(o[2]-a[2])**2);i<s&&(s=i,n=e)}var o,a;return n},s.keyword.rgb=function(t){return r[t]},s.rgb.xyz=function(t){let e=t[0]/255,n=t[1]/255,r=t[2]/255;return e=e>.04045?((e+.055)/1.055)**2.4:e/12.92,n=n>.04045?((n+.055)/1.055)**2.4:n/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92,[100*(.4124*e+.3576*n+.1805*r),100*(.2126*e+.7152*n+.0722*r),100*(.0193*e+.1192*n+.9505*r)]},s.rgb.lab=function(t){const e=s.rgb.xyz(t);let n=e[0],r=e[1],i=e[2];return n/=95.047,r/=100,i/=108.883,n=n>.008856?n**(1/3):7.787*n+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,i=i>.008856?i**(1/3):7.787*i+16/116,[116*r-16,500*(n-r),200*(r-i)]},s.hsl.rgb=function(t){const e=t[0]/360,n=t[1]/100,r=t[2]/100;let i,s,o;if(0===n)return o=255*r,[o,o,o];i=r<.5?r*(1+n):r+n-r*n;const a=2*r-i,c=[0,0,0];for(let t=0;t<3;t++)s=e+1/3*-(t-1),s<0&&s++,s>1&&s--,o=6*s<1?a+6*(i-a)*s:2*s<1?i:3*s<2?a+(i-a)*(2/3-s)*6:a,c[t]=255*o;return c},s.hsl.hsv=function(t){const e=t[0];let n=t[1]/100,r=t[2]/100,i=n;const s=Math.max(r,.01);return r*=2,n*=r<=1?r:2-r,i*=s<=1?s:2-s,[e,100*(0===r?2*i/(s+i):2*n/(r+n)),(r+n)/2*100]},s.hsv.rgb=function(t){const e=t[0]/60,n=t[1]/100;let r=t[2]/100;const i=Math.floor(e)%6,s=e-Math.floor(e),o=255*r*(1-n),a=255*r*(1-n*s),c=255*r*(1-n*(1-s));switch(r*=255,i){case 0:return[r,c,o];case 1:return[a,r,o];case 2:return[o,r,c];case 3:return[o,a,r];case 4:return[c,o,r];case 5:return[r,o,a]}},s.hsv.hsl=function(t){const e=t[0],n=t[1]/100,r=t[2]/100,i=Math.max(r,.01);let s,o;o=(2-n)*r;const a=(2-n)*i;return s=n*i,s/=a<=1?a:2-a,s=s||0,o/=2,[e,100*s,100*o]},s.hwb.rgb=function(t){const e=t[0]/360;let n=t[1]/100,r=t[2]/100;const i=n+r;let s;i>1&&(n/=i,r/=i);const o=Math.floor(6*e),a=1-r;s=6*e-o,0!=(1&o)&&(s=1-s);const c=n+s*(a-n);let u,l,h;switch(o){default:case 6:case 0:u=a,l=c,h=n;break;case 1:u=c,l=a,h=n;break;case 2:u=n,l=a,h=c;break;case 3:u=n,l=c,h=a;break;case 4:u=c,l=n,h=a;break;case 5:u=a,l=n,h=c}return[255*u,255*l,255*h]},s.cmyk.rgb=function(t){const e=t[0]/100,n=t[1]/100,r=t[2]/100,i=t[3]/100;return[255*(1-Math.min(1,e*(1-i)+i)),255*(1-Math.min(1,n*(1-i)+i)),255*(1-Math.min(1,r*(1-i)+i))]},s.xyz.rgb=function(t){const e=t[0]/100,n=t[1]/100,r=t[2]/100;let i,s,o;return i=3.2406*e+-1.5372*n+-.4986*r,s=-.9689*e+1.8758*n+.0415*r,o=.0557*e+-.204*n+1.057*r,i=i>.0031308?1.055*i**(1/2.4)-.055:12.92*i,s=s>.0031308?1.055*s**(1/2.4)-.055:12.92*s,o=o>.0031308?1.055*o**(1/2.4)-.055:12.92*o,i=Math.min(Math.max(0,i),1),s=Math.min(Math.max(0,s),1),o=Math.min(Math.max(0,o),1),[255*i,255*s,255*o]},s.xyz.lab=function(t){let e=t[0],n=t[1],r=t[2];return e/=95.047,n/=100,r/=108.883,e=e>.008856?e**(1/3):7.787*e+16/116,n=n>.008856?n**(1/3):7.787*n+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,[116*n-16,500*(e-n),200*(n-r)]},s.lab.xyz=function(t){let e,n,r;n=(t[0]+16)/116,e=t[1]/500+n,r=n-t[2]/200;const i=n**3,s=e**3,o=r**3;return n=i>.008856?i:(n-16/116)/7.787,e=s>.008856?s:(e-16/116)/7.787,r=o>.008856?o:(r-16/116)/7.787,e*=95.047,n*=100,r*=108.883,[e,n,r]},s.lab.lch=function(t){const e=t[0],n=t[1],r=t[2];let i;return i=360*Math.atan2(r,n)/2/Math.PI,i<0&&(i+=360),[e,Math.sqrt(n*n+r*r),i]},s.lch.lab=function(t){const e=t[0],n=t[1],r=t[2]/360*2*Math.PI;return[e,n*Math.cos(r),n*Math.sin(r)]},s.rgb.ansi16=function(t,e=null){const[n,r,i]=t;let o=null===e?s.rgb.hsv(t)[2]:e;if(o=Math.round(o/50),0===o)return 30;let a=30+(Math.round(i/255)<<2|Math.round(r/255)<<1|Math.round(n/255));return 2===o&&(a+=60),a},s.hsv.ansi16=function(t){return s.rgb.ansi16(s.hsv.rgb(t),t[2])},s.rgb.ansi256=function(t){const e=t[0],n=t[1],r=t[2];return e===n&&n===r?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(n/255*5)+Math.round(r/255*5)},s.ansi16.rgb=function(t){let e=t%10;if(0===e||7===e)return t>50&&(e+=3.5),e=e/10.5*255,[e,e,e];const n=.5*(1+~~(t>50));return[(1&e)*n*255,(e>>1&1)*n*255,(e>>2&1)*n*255]},s.ansi256.rgb=function(t){if(t>=232){const e=10*(t-232)+8;return[e,e,e]}let e;return t-=16,[Math.floor(t/36)/5*255,Math.floor((e=t%36)/6)/5*255,e%6/5*255]},s.rgb.hex=function(t){const e=(((255&Math.round(t[0]))<<16)+((255&Math.round(t[1]))<<8)+(255&Math.round(t[2]))).toString(16).toUpperCase();return"000000".substring(e.length)+e},s.hex.rgb=function(t){const e=t.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];let n=e[0];3===e[0].length&&(n=n.split("").map((t=>t+t)).join(""));const r=parseInt(n,16);return[r>>16&255,r>>8&255,255&r]},s.rgb.hcg=function(t){const e=t[0]/255,n=t[1]/255,r=t[2]/255,i=Math.max(Math.max(e,n),r),s=Math.min(Math.min(e,n),r),o=i-s;let a,c;return a=o<1?s/(1-o):0,c=o<=0?0:i===e?(n-r)/o%6:i===n?2+(r-e)/o:4+(e-n)/o,c/=6,c%=1,[360*c,100*o,100*a]},s.hsl.hcg=function(t){const e=t[1]/100,n=t[2]/100,r=n<.5?2*e*n:2*e*(1-n);let i=0;return r<1&&(i=(n-.5*r)/(1-r)),[t[0],100*r,100*i]},s.hsv.hcg=function(t){const e=t[1]/100,n=t[2]/100,r=e*n;let i=0;return r<1&&(i=(n-r)/(1-r)),[t[0],100*r,100*i]},s.hcg.rgb=function(t){const e=t[0]/360,n=t[1]/100,r=t[2]/100;if(0===n)return[255*r,255*r,255*r];const i=[0,0,0],s=e%1*6,o=s%1,a=1-o;let c=0;switch(Math.floor(s)){case 0:i[0]=1,i[1]=o,i[2]=0;break;case 1:i[0]=a,i[1]=1,i[2]=0;break;case 2:i[0]=0,i[1]=1,i[2]=o;break;case 3:i[0]=0,i[1]=a,i[2]=1;break;case 4:i[0]=o,i[1]=0,i[2]=1;break;default:i[0]=1,i[1]=0,i[2]=a}return c=(1-n)*r,[255*(n*i[0]+c),255*(n*i[1]+c),255*(n*i[2]+c)]},s.hcg.hsv=function(t){const e=t[1]/100,n=e+t[2]/100*(1-e);let r=0;return n>0&&(r=e/n),[t[0],100*r,100*n]},s.hcg.hsl=function(t){const e=t[1]/100,n=t[2]/100*(1-e)+.5*e;let r=0;return n>0&&n<.5?r=e/(2*n):n>=.5&&n<1&&(r=e/(2*(1-n))),[t[0],100*r,100*n]},s.hcg.hwb=function(t){const e=t[1]/100,n=e+t[2]/100*(1-e);return[t[0],100*(n-e),100*(1-n)]},s.hwb.hcg=function(t){const e=t[1]/100,n=1-t[2]/100,r=n-e;let i=0;return r<1&&(i=(n-r)/(1-r)),[t[0],100*r,100*i]},s.apple.rgb=function(t){return[t[0]/65535*255,t[1]/65535*255,t[2]/65535*255]},s.rgb.apple=function(t){return[t[0]/255*65535,t[1]/255*65535,t[2]/255*65535]},s.gray.rgb=function(t){return[t[0]/100*255,t[0]/100*255,t[0]/100*255]},s.gray.hsl=function(t){return[0,0,t[0]]},s.gray.hsv=s.gray.hsl,s.gray.hwb=function(t){return[0,100,t[0]]},s.gray.cmyk=function(t){return[0,0,0,t[0]]},s.gray.lab=function(t){return[t[0],0,0]},s.gray.hex=function(t){const e=255&Math.round(t[0]/100*255),n=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return"000000".substring(n.length)+n},s.rgb.gray=function(t){return[(t[0]+t[1]+t[2])/3/255*100]}},2085:(t,e,n)=>{const r=n(8168),i=n(4111),s={};Object.keys(r).forEach((t=>{s[t]={},Object.defineProperty(s[t],"channels",{value:r[t].channels}),Object.defineProperty(s[t],"labels",{value:r[t].labels});const e=i(t);Object.keys(e).forEach((n=>{const r=e[n];s[t][n]=function(t){const e=function(...e){const n=e[0];if(null==n)return n;n.length>1&&(e=n);const r=t(e);if("object"==typeof r)for(let t=r.length,e=0;e<t;e++)r[e]=Math.round(r[e]);return r};return"conversion"in t&&(e.conversion=t.conversion),e}(r),s[t][n].raw=function(t){const e=function(...e){const n=e[0];return null==n?n:(n.length>1&&(e=n),t(e))};return"conversion"in t&&(e.conversion=t.conversion),e}(r)}))})),t.exports=s},4111:(t,e,n)=>{const r=n(8168);function i(t,e){return function(n){return e(t(n))}}function s(t,e){const n=[e[t].parent,t];let s=r[e[t].parent][t],o=e[t].parent;for(;e[o].parent;)n.unshift(e[o].parent),s=i(r[e[o].parent][o],s),o=e[o].parent;return s.conversion=n,s}t.exports=function(t){const e=function(t){const e=function(){const t={},e=Object.keys(r);for(let n=e.length,r=0;r<n;r++)t[e[r]]={distance:-1,parent:null};return t}(),n=[t];for(e[t].distance=0;n.length;){const t=n.pop(),i=Object.keys(r[t]);for(let r=i.length,s=0;s<r;s++){const r=i[s],o=e[r];-1===o.distance&&(o.distance=e[t].distance+1,o.parent=t,n.unshift(r))}}return e}(t),n={},i=Object.keys(e);for(let t=i.length,r=0;r<t;r++){const t=i[r];null!==e[t].parent&&(n[t]=s(t,e))}return n}},8874:t=>{"use strict";t.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},1048:t=>{t.exports=function(t,n){for(var r=[],i=0;i<t.length;i++){var s=n(t[i],i);e(s)?r.push.apply(r,s):r.push(s)}return r};var e=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)}},2840:(t,e,n)=>{var r=n(778),i=function(){},s=function(t,e,n){if("function"==typeof e)return s(t,null,e);e||(e={}),n=r(n||i);var o=t._writableState,a=t._readableState,c=e.readable||!1!==e.readable&&t.readable,u=e.writable||!1!==e.writable&&t.writable,l=!1,h=function(){t.writable||f()},f=function(){u=!1,c||n.call(t)},p=function(){c=!1,u||n.call(t)},d=function(e){n.call(t,e?new Error("exited with error code: "+e):null)},m=function(e){n.call(t,e)},g=function(){process.nextTick(y)},y=function(){if(!l)return(!c||a&&a.ended&&!a.destroyed)&&(!u||o&&o.ended&&!o.destroyed)?void 0:n.call(t,new Error("premature close"))},v=function(){t.req.on("finish",f)};return function(t){return t.setHeader&&"function"==typeof t.abort}(t)?(t.on("complete",f),t.on("abort",g),t.req?v():t.on("request",v)):u&&!o&&(t.on("end",h),t.on("close",h)),function(t){return t.stdio&&Array.isArray(t.stdio)&&3===t.stdio.length}(t)&&t.on("exit",d),t.on("end",p),t.on("finish",f),!1!==e.error&&t.on("error",m),t.on("close",g),function(){l=!0,t.removeListener("complete",f),t.removeListener("abort",g),t.removeListener("request",v),t.req&&t.req.removeListener("finish",f),t.removeListener("end",h),t.removeListener("close",h),t.removeListener("finish",f),t.removeListener("exit",d),t.removeListener("end",p),t.removeListener("error",m),t.removeListener("close",g)}};t.exports=s},2106:(t,e,n)=>{const r=n(3742)("extract-zip"),{createWriteStream:i,promises:s}=n(7147),o=n(31),a=n(1017),{promisify:c}=n(3837),u=n(2781),l=n(7766),h=c(l.open),f=c(u.pipeline);class p{constructor(t,e){this.zipPath=t,this.opts=e}async extract(){return r("opening",this.zipPath,"with opts",this.opts),this.zipfile=await h(this.zipPath,{lazyEntries:!0}),this.canceled=!1,new Promise(((t,e)=>{this.zipfile.on("error",(t=>{this.canceled=!0,e(t)})),this.zipfile.readEntry(),this.zipfile.on("close",(()=>{this.canceled||(r("zip extraction complete"),t())})),this.zipfile.on("entry",(async t=>{if(this.canceled)return void r("skipping entry",t.fileName,{cancelled:this.canceled});if(r("zipfile entry",t.fileName),t.fileName.startsWith("__MACOSX/"))return void this.zipfile.readEntry();const n=a.dirname(a.join(this.opts.dir,t.fileName));try{await s.mkdir(n,{recursive:!0});const e=await s.realpath(n);if(a.relative(this.opt