create-waku 0.9.3 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/dist/index.js +3 -3
  2. package/package.json +2 -2
  3. package/template/01_template/package.json +7 -7
  4. package/template/01_template/src/pages/_layout.tsx +1 -1
  5. package/template/01_template/src/pages/about.tsx +1 -1
  6. package/template/01_template/src/pages/index.tsx +1 -1
  7. package/template/02_template_js/package.json +5 -5
  8. package/template/03_demo/package.json +7 -7
  9. package/template/03_demo/src/pages/[slug].tsx +1 -1
  10. package/template/03_demo/src/pages/_layout.tsx +1 -1
  11. package/template/03_demo/src/pages/index.tsx +1 -1
  12. package/template/04_cssmodules/package.json +6 -6
  13. package/template/04_cssmodules/src/pages/_layout.tsx +1 -1
  14. package/template/04_cssmodules/src/pages/about.tsx +1 -1
  15. package/template/04_cssmodules/src/pages/index.tsx +1 -1
  16. package/template/05_nossr/package.json +8 -8
  17. package/template/05_nossr/src/pages/_layout.tsx +1 -1
  18. package/template/05_nossr/src/pages/about.tsx +1 -1
  19. package/template/05_nossr/src/pages/index.tsx +1 -1
  20. package/template/07_router/package.json +6 -6
  21. package/template/07_router/src/components/Counter.tsx +8 -2
  22. package/template/07_router/src/components/funcs.ts +18 -0
  23. package/template/07_router/src/entries.tsx +28 -18
  24. package/template/08_cookies/package.json +9 -8
  25. package/template/08_cookies/src/components/App.tsx +4 -1
  26. package/template/09_api/package.json +6 -6
  27. package/template/10_fs-router/package.json +6 -6
  28. package/template/11_form/package.json +6 -6
  29. package/template/12_css/package.json +8 -8
  30. package/template/12_css/vite.config.ts +12 -1
  31. package/template/13_path-alias/package.json +7 -7
  32. package/template/14_react-tweet/package.json +7 -7
  33. package/template/14_react-tweet/src/entries.tsx +4 -4
  34. package/template/20_minimal/package.json +6 -6
  35. package/template/21_minimal_js/package.json +4 -4
  36. package/template/22_promise/package.json +6 -6
  37. package/template/23_actions/package.json +6 -6
  38. package/template/24_nesting/package.json +6 -6
  39. package/template/24_nesting/src/components/Counter.tsx +15 -3
  40. package/template/24_nesting/src/components/InnerApp.tsx +10 -0
  41. package/template/25_weave_render/package.json +23 -0
  42. package/template/25_weave_render/src/components/BarLayout.tsx +64 -0
  43. package/template/25_weave_render/src/components/BarPage.tsx +10 -0
  44. package/template/25_weave_render/src/components/Counter.tsx +19 -0
  45. package/template/25_weave_render/src/components/FooLayout.tsx +16 -0
  46. package/template/25_weave_render/src/components/FooPage.tsx +12 -0
  47. package/template/25_weave_render/src/components/HomeLayout.tsx +68 -0
  48. package/template/25_weave_render/src/components/HomePage.tsx +8 -0
  49. package/template/25_weave_render/src/entries.tsx +57 -0
  50. package/template/25_weave_render/src/main.tsx +15 -0
  51. package/template/25_weave_render/src/styles.css +3 -0
  52. package/template/25_weave_render/tsconfig.json +15 -0
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import{createRequire as t}from"module";var i={1706:t=>{
1
+ import{createRequire as t}from"module";var i={3164:t=>{
2
2
  /*!
3
3
  * @description Recursive object extending
4
4
  * @author Viacheslav Lotsmanov <lotsmanov89@gmail.com>
@@ -25,6 +25,6 @@ import{createRequire as t}from"module";var i={1706:t=>{
25
25
  * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
26
26
  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
27
27
  */
28
- function isSpecificValue(t){return t instanceof Buffer||t instanceof Date||t instanceof RegExp?true:false}function cloneSpecificValue(t){if(t instanceof Buffer){var i=Buffer.alloc?Buffer.alloc(t.length):new Buffer(t.length);t.copy(i);return i}else if(t instanceof Date){return new Date(t.getTime())}else if(t instanceof RegExp){return new RegExp(t)}else{throw new Error("Unexpected situation")}}function deepCloneArray(t){var r=[];t.forEach((function(t,o){if(typeof t==="object"&&t!==null){if(Array.isArray(t)){r[o]=deepCloneArray(t)}else if(isSpecificValue(t)){r[o]=cloneSpecificValue(t)}else{r[o]=i({},t)}}else{r[o]=t}}));return r}function safeGetProperty(t,i){return i==="__proto__"?undefined:t[i]}var i=t.exports=function(){if(arguments.length<1||typeof arguments[0]!=="object"){return false}if(arguments.length<2){return arguments[0]}var t=arguments[0];var r=Array.prototype.slice.call(arguments,1);var o,a,h;r.forEach((function(r){if(typeof r!=="object"||r===null||Array.isArray(r)){return}Object.keys(r).forEach((function(h){a=safeGetProperty(t,h);o=safeGetProperty(r,h);if(o===t){return}else if(typeof o!=="object"||o===null){t[h]=o;return}else if(Array.isArray(o)){t[h]=deepCloneArray(o);return}else if(isSpecificValue(o)){t[h]=cloneSpecificValue(o);return}else if(typeof a!=="object"||a===null||Array.isArray(a)){t[h]=i({},o);return}else{t[h]=i(a,o);return}}))}));return t}},7156:(t,i,r)=>{const o=r(4796);const a=r(1017);const h=r(5933).mkdirsSync;const c=r(3651).utimesMillisSync;const l=r(5470);function copySync(t,i,r){if(typeof r==="function"){r={filter:r}}r=r||{};r.clobber="clobber"in r?!!r.clobber:true;r.overwrite="overwrite"in r?!!r.overwrite:r.clobber;if(r.preserveTimestamps&&process.arch==="ia32"){process.emitWarning("Using the preserveTimestamps option in 32-bit node is not recommended;\n\n"+"\tsee https://github.com/jprichardson/node-fs-extra/issues/269","Warning","fs-extra-WARN0002")}const{srcStat:c,destStat:u}=l.checkPathsSync(t,i,"copy",r);l.checkParentPathsSync(t,c,i,"copy");if(r.filter&&!r.filter(t,i))return;const d=a.dirname(i);if(!o.existsSync(d))h(d);return getStats(u,t,i,r)}function getStats(t,i,r,a){const h=a.dereference?o.statSync:o.lstatSync;const c=h(i);if(c.isDirectory())return onDir(c,t,i,r,a);else if(c.isFile()||c.isCharacterDevice()||c.isBlockDevice())return onFile(c,t,i,r,a);else if(c.isSymbolicLink())return onLink(t,i,r,a);else if(c.isSocket())throw new Error(`Cannot copy a socket file: ${i}`);else if(c.isFIFO())throw new Error(`Cannot copy a FIFO pipe: ${i}`);throw new Error(`Unknown file: ${i}`)}function onFile(t,i,r,o,a){if(!i)return copyFile(t,r,o,a);return mayCopyFile(t,r,o,a)}function mayCopyFile(t,i,r,a){if(a.overwrite){o.unlinkSync(r);return copyFile(t,i,r,a)}else if(a.errorOnExist){throw new Error(`'${r}' already exists`)}}function copyFile(t,i,r,a){o.copyFileSync(i,r);if(a.preserveTimestamps)handleTimestamps(t.mode,i,r);return setDestMode(r,t.mode)}function handleTimestamps(t,i,r){if(fileIsNotWritable(t))makeFileWritable(r,t);return setDestTimestamps(i,r)}function fileIsNotWritable(t){return(t&128)===0}function makeFileWritable(t,i){return setDestMode(t,i|128)}function setDestMode(t,i){return o.chmodSync(t,i)}function setDestTimestamps(t,i){const r=o.statSync(t);return c(i,r.atime,r.mtime)}function onDir(t,i,r,o,a){if(!i)return mkDirAndCopy(t.mode,r,o,a);return copyDir(r,o,a)}function mkDirAndCopy(t,i,r,a){o.mkdirSync(r);copyDir(i,r,a);return setDestMode(r,t)}function copyDir(t,i,r){o.readdirSync(t).forEach((o=>copyDirItem(o,t,i,r)))}function copyDirItem(t,i,r,o){const h=a.join(i,t);const c=a.join(r,t);if(o.filter&&!o.filter(h,c))return;const{destStat:u}=l.checkPathsSync(h,c,"copy",o);return getStats(u,h,c,o)}function onLink(t,i,r,h){let c=o.readlinkSync(i);if(h.dereference){c=a.resolve(process.cwd(),c)}if(!t){return o.symlinkSync(c,r)}else{let t;try{t=o.readlinkSync(r)}catch(t){if(t.code==="EINVAL"||t.code==="UNKNOWN")return o.symlinkSync(c,r);throw t}if(h.dereference){t=a.resolve(process.cwd(),t)}if(l.isSrcSubdir(c,t)){throw new Error(`Cannot copy '${c}' to a subdirectory of itself, '${t}'.`)}if(l.isSrcSubdir(t,c)){throw new Error(`Cannot overwrite '${t}' with '${c}'.`)}return copyLink(c,r)}}function copyLink(t,i){o.unlinkSync(i);return o.symlinkSync(t,i)}t.exports=copySync},938:(t,i,r)=>{const o=r(3357);const a=r(1017);const{mkdirs:h}=r(5933);const{pathExists:c}=r(9932);const{utimesMillis:l}=r(3651);const u=r(5470);async function copy(t,i,r={}){if(typeof r==="function"){r={filter:r}}r.clobber="clobber"in r?!!r.clobber:true;r.overwrite="overwrite"in r?!!r.overwrite:r.clobber;if(r.preserveTimestamps&&process.arch==="ia32"){process.emitWarning("Using the preserveTimestamps option in 32-bit node is not recommended;\n\n"+"\tsee https://github.com/jprichardson/node-fs-extra/issues/269","Warning","fs-extra-WARN0001")}const{srcStat:o,destStat:l}=await u.checkPaths(t,i,"copy",r);await u.checkParentPaths(t,o,i,"copy");const d=await runFilter(t,i,r);if(!d)return;const p=a.dirname(i);const m=await c(p);if(!m){await h(p)}await getStatsAndPerformCopy(l,t,i,r)}async function runFilter(t,i,r){if(!r.filter)return true;return r.filter(t,i)}async function getStatsAndPerformCopy(t,i,r,a){const h=a.dereference?o.stat:o.lstat;const c=await h(i);if(c.isDirectory())return onDir(c,t,i,r,a);if(c.isFile()||c.isCharacterDevice()||c.isBlockDevice())return onFile(c,t,i,r,a);if(c.isSymbolicLink())return onLink(t,i,r,a);if(c.isSocket())throw new Error(`Cannot copy a socket file: ${i}`);if(c.isFIFO())throw new Error(`Cannot copy a FIFO pipe: ${i}`);throw new Error(`Unknown file: ${i}`)}async function onFile(t,i,r,a,h){if(!i)return copyFile(t,r,a,h);if(h.overwrite){await o.unlink(a);return copyFile(t,r,a,h)}if(h.errorOnExist){throw new Error(`'${a}' already exists`)}}async function copyFile(t,i,r,a){await o.copyFile(i,r);if(a.preserveTimestamps){if(fileIsNotWritable(t.mode)){await makeFileWritable(r,t.mode)}const a=await o.stat(i);await l(r,a.atime,a.mtime)}return o.chmod(r,t.mode)}function fileIsNotWritable(t){return(t&128)===0}function makeFileWritable(t,i){return o.chmod(t,i|128)}async function onDir(t,i,r,h,c){if(!i){await o.mkdir(h)}const l=await o.readdir(r);await Promise.all(l.map((async t=>{const i=a.join(r,t);const o=a.join(h,t);const l=await runFilter(i,o,c);if(!l)return;const{destStat:d}=await u.checkPaths(i,o,"copy",c);return getStatsAndPerformCopy(d,i,o,c)})));if(!i){await o.chmod(h,t.mode)}}async function onLink(t,i,r,h){let c=await o.readlink(i);if(h.dereference){c=a.resolve(process.cwd(),c)}if(!t){return o.symlink(c,r)}let l=null;try{l=await o.readlink(r)}catch(t){if(t.code==="EINVAL"||t.code==="UNKNOWN")return o.symlink(c,r);throw t}if(h.dereference){l=a.resolve(process.cwd(),l)}if(u.isSrcSubdir(c,l)){throw new Error(`Cannot copy '${c}' to a subdirectory of itself, '${l}'.`)}if(u.isSrcSubdir(l,c)){throw new Error(`Cannot overwrite '${l}' with '${c}'.`)}await o.unlink(r);return o.symlink(c,r)}t.exports=copy},1798:(t,i,r)=>{const o=r(277).fromPromise;t.exports={copy:o(r(938)),copySync:r(7156)}},9547:(t,i,r)=>{const o=r(277).fromPromise;const a=r(3357);const h=r(1017);const c=r(5933);const l=r(6373);const u=o((async function emptyDir(t){let i;try{i=await a.readdir(t)}catch{return c.mkdirs(t)}return Promise.all(i.map((i=>l.remove(h.join(t,i)))))}));function emptyDirSync(t){let i;try{i=a.readdirSync(t)}catch{return c.mkdirsSync(t)}i.forEach((i=>{i=h.join(t,i);l.removeSync(i)}))}t.exports={emptyDirSync:emptyDirSync,emptydirSync:emptyDirSync,emptyDir:u,emptydir:u}},7412:(t,i,r)=>{const o=r(277).fromPromise;const a=r(1017);const h=r(3357);const c=r(5933);async function createFile(t){let i;try{i=await h.stat(t)}catch{}if(i&&i.isFile())return;const r=a.dirname(t);let o=null;try{o=await h.stat(r)}catch(i){if(i.code==="ENOENT"){await c.mkdirs(r);await h.writeFile(t,"");return}else{throw i}}if(o.isDirectory()){await h.writeFile(t,"")}else{await h.readdir(r)}}function createFileSync(t){let i;try{i=h.statSync(t)}catch{}if(i&&i.isFile())return;const r=a.dirname(t);try{if(!h.statSync(r).isDirectory()){h.readdirSync(r)}}catch(t){if(t&&t.code==="ENOENT")c.mkdirsSync(r);else throw t}h.writeFileSync(t,"")}t.exports={createFile:o(createFile),createFileSync:createFileSync}},2520:(t,i,r)=>{const{createFile:o,createFileSync:a}=r(7412);const{createLink:h,createLinkSync:c}=r(1684);const{createSymlink:l,createSymlinkSync:u}=r(9386);t.exports={createFile:o,createFileSync:a,ensureFile:o,ensureFileSync:a,createLink:h,createLinkSync:c,ensureLink:h,ensureLinkSync:c,createSymlink:l,createSymlinkSync:u,ensureSymlink:l,ensureSymlinkSync:u}},1684:(t,i,r)=>{const o=r(277).fromPromise;const a=r(1017);const h=r(3357);const c=r(5933);const{pathExists:l}=r(9932);const{areIdentical:u}=r(5470);async function createLink(t,i){let r;try{r=await h.lstat(i)}catch{}let o;try{o=await h.lstat(t)}catch(t){t.message=t.message.replace("lstat","ensureLink");throw t}if(r&&u(o,r))return;const d=a.dirname(i);const p=await l(d);if(!p){await c.mkdirs(d)}await h.link(t,i)}function createLinkSync(t,i){let r;try{r=h.lstatSync(i)}catch{}try{const i=h.lstatSync(t);if(r&&u(i,r))return}catch(t){t.message=t.message.replace("lstat","ensureLink");throw t}const o=a.dirname(i);const l=h.existsSync(o);if(l)return h.linkSync(t,i);c.mkdirsSync(o);return h.linkSync(t,i)}t.exports={createLink:o(createLink),createLinkSync:createLinkSync}},5863:(t,i,r)=>{const o=r(1017);const a=r(3357);const{pathExists:h}=r(9932);const c=r(277).fromPromise;async function symlinkPaths(t,i){if(o.isAbsolute(t)){try{await a.lstat(t)}catch(t){t.message=t.message.replace("lstat","ensureSymlink");throw t}return{toCwd:t,toDst:t}}const r=o.dirname(i);const c=o.join(r,t);const l=await h(c);if(l){return{toCwd:c,toDst:t}}try{await a.lstat(t)}catch(t){t.message=t.message.replace("lstat","ensureSymlink");throw t}return{toCwd:t,toDst:o.relative(r,t)}}function symlinkPathsSync(t,i){if(o.isAbsolute(t)){const i=a.existsSync(t);if(!i)throw new Error("absolute srcpath does not exist");return{toCwd:t,toDst:t}}const r=o.dirname(i);const h=o.join(r,t);const c=a.existsSync(h);if(c){return{toCwd:h,toDst:t}}const l=a.existsSync(t);if(!l)throw new Error("relative srcpath does not exist");return{toCwd:t,toDst:o.relative(r,t)}}t.exports={symlinkPaths:c(symlinkPaths),symlinkPathsSync:symlinkPathsSync}},5016:(t,i,r)=>{const o=r(3357);const a=r(277).fromPromise;async function symlinkType(t,i){if(i)return i;let r;try{r=await o.lstat(t)}catch{return"file"}return r&&r.isDirectory()?"dir":"file"}function symlinkTypeSync(t,i){if(i)return i;let r;try{r=o.lstatSync(t)}catch{return"file"}return r&&r.isDirectory()?"dir":"file"}t.exports={symlinkType:a(symlinkType),symlinkTypeSync:symlinkTypeSync}},9386:(t,i,r)=>{const o=r(277).fromPromise;const a=r(1017);const h=r(3357);const{mkdirs:c,mkdirsSync:l}=r(5933);const{symlinkPaths:u,symlinkPathsSync:d}=r(5863);const{symlinkType:p,symlinkTypeSync:m}=r(5016);const{pathExists:y}=r(9932);const{areIdentical:g}=r(5470);async function createSymlink(t,i,r){let o;try{o=await h.lstat(i)}catch{}if(o&&o.isSymbolicLink()){const[r,o]=await Promise.all([h.stat(t),h.stat(i)]);if(g(r,o))return}const l=await u(t,i);t=l.toDst;const d=await p(l.toCwd,r);const m=a.dirname(i);if(!await y(m)){await c(m)}return h.symlink(t,i,d)}function createSymlinkSync(t,i,r){let o;try{o=h.lstatSync(i)}catch{}if(o&&o.isSymbolicLink()){const r=h.statSync(t);const o=h.statSync(i);if(g(r,o))return}const c=d(t,i);t=c.toDst;r=m(c.toCwd,r);const u=a.dirname(i);const p=h.existsSync(u);if(p)return h.symlinkSync(t,i,r);l(u);return h.symlinkSync(t,i,r)}t.exports={createSymlink:o(createSymlink),createSymlinkSync:createSymlinkSync}},3357:(t,i,r)=>{const o=r(277).fromCallback;const a=r(4796);const h=["access","appendFile","chmod","chown","close","copyFile","fchmod","fchown","fdatasync","fstat","fsync","ftruncate","futimes","lchmod","lchown","link","lstat","mkdir","mkdtemp","open","opendir","readdir","readFile","readlink","realpath","rename","rm","rmdir","stat","symlink","truncate","unlink","utimes","writeFile"].filter((t=>typeof a[t]==="function"));Object.assign(i,a);h.forEach((t=>{i[t]=o(a[t])}));i.exists=function(t,i){if(typeof i==="function"){return a.exists(t,i)}return new Promise((i=>a.exists(t,i)))};i.read=function(t,i,r,o,h,c){if(typeof c==="function"){return a.read(t,i,r,o,h,c)}return new Promise(((c,l)=>{a.read(t,i,r,o,h,((t,i,r)=>{if(t)return l(t);c({bytesRead:i,buffer:r})}))}))};i.write=function(t,i,...r){if(typeof r[r.length-1]==="function"){return a.write(t,i,...r)}return new Promise(((o,h)=>{a.write(t,i,...r,((t,i,r)=>{if(t)return h(t);o({bytesWritten:i,buffer:r})}))}))};i.readv=function(t,i,...r){if(typeof r[r.length-1]==="function"){return a.readv(t,i,...r)}return new Promise(((o,h)=>{a.readv(t,i,...r,((t,i,r)=>{if(t)return h(t);o({bytesRead:i,buffers:r})}))}))};i.writev=function(t,i,...r){if(typeof r[r.length-1]==="function"){return a.writev(t,i,...r)}return new Promise(((o,h)=>{a.writev(t,i,...r,((t,i,r)=>{if(t)return h(t);o({bytesWritten:i,buffers:r})}))}))};if(typeof a.realpath.native==="function"){i.realpath.native=o(a.realpath.native)}else{process.emitWarning("fs.realpath.native is not a function. Is fs being monkey-patched?","Warning","fs-extra-WARN0003")}},4342:(t,i,r)=>{const o=r(277).fromPromise;const a=r(7990);a.outputJson=o(r(9859));a.outputJsonSync=r(9690);a.outputJSON=a.outputJson;a.outputJSONSync=a.outputJsonSync;a.writeJSON=a.writeJson;a.writeJSONSync=a.writeJsonSync;a.readJSON=a.readJson;a.readJSONSync=a.readJsonSync;t.exports=a},7990:(t,i,r)=>{const o=r(313);t.exports={readJson:o.readFile,readJsonSync:o.readFileSync,writeJson:o.writeFile,writeJsonSync:o.writeFileSync}},9690:(t,i,r)=>{const{stringify:o}=r(4006);const{outputFileSync:a}=r(2693);function outputJsonSync(t,i,r){const h=o(i,r);a(t,h,r)}t.exports=outputJsonSync},9859:(t,i,r)=>{const{stringify:o}=r(4006);const{outputFile:a}=r(2693);async function outputJson(t,i,r={}){const h=o(i,r);await a(t,h,r)}t.exports=outputJson},5933:(t,i,r)=>{const o=r(277).fromPromise;const{makeDir:a,makeDirSync:h}=r(8517);const c=o(a);t.exports={mkdirs:c,mkdirsSync:h,mkdirp:c,mkdirpSync:h,ensureDir:c,ensureDirSync:h}},8517:(t,i,r)=>{const o=r(3357);const{checkPath:a}=r(3222);const getMode=t=>{const i={mode:511};if(typeof t==="number")return t;return{...i,...t}.mode};t.exports.makeDir=async(t,i)=>{a(t);return o.mkdir(t,{mode:getMode(i),recursive:true})};t.exports.makeDirSync=(t,i)=>{a(t);return o.mkdirSync(t,{mode:getMode(i),recursive:true})}},3222:(t,i,r)=>{const o=r(1017);t.exports.checkPath=function checkPath(t){if(process.platform==="win32"){const i=/[<>:"|?*]/.test(t.replace(o.parse(t).root,""));if(i){const i=new Error(`Path contains invalid characters: ${t}`);i.code="EINVAL";throw i}}}},4041:(t,i,r)=>{const o=r(277).fromPromise;t.exports={move:o(r(7980)),moveSync:r(3140)}},3140:(t,i,r)=>{const o=r(4796);const a=r(1017);const h=r(1798).copySync;const c=r(6373).removeSync;const l=r(5933).mkdirpSync;const u=r(5470);function moveSync(t,i,r){r=r||{};const o=r.overwrite||r.clobber||false;const{srcStat:h,isChangingCase:c=false}=u.checkPathsSync(t,i,"move",r);u.checkParentPathsSync(t,h,i,"move");if(!isParentRoot(i))l(a.dirname(i));return doRename(t,i,o,c)}function isParentRoot(t){const i=a.dirname(t);const r=a.parse(i);return r.root===i}function doRename(t,i,r,a){if(a)return rename(t,i,r);if(r){c(i);return rename(t,i,r)}if(o.existsSync(i))throw new Error("dest already exists.");return rename(t,i,r)}function rename(t,i,r){try{o.renameSync(t,i)}catch(o){if(o.code!=="EXDEV")throw o;return moveAcrossDevice(t,i,r)}}function moveAcrossDevice(t,i,r){const o={overwrite:r,errorOnExist:true,preserveTimestamps:true};h(t,i,o);return c(t)}t.exports=moveSync},7980:(t,i,r)=>{const o=r(3357);const a=r(1017);const{copy:h}=r(1798);const{remove:c}=r(6373);const{mkdirp:l}=r(5933);const{pathExists:u}=r(9932);const d=r(5470);async function move(t,i,r={}){const o=r.overwrite||r.clobber||false;const{srcStat:h,isChangingCase:c=false}=await d.checkPaths(t,i,"move",r);await d.checkParentPaths(t,h,i,"move");const u=a.dirname(i);const p=a.parse(u);if(p.root!==u){await l(u)}return doRename(t,i,o,c)}async function doRename(t,i,r,a){if(!a){if(r){await c(i)}else if(await u(i)){throw new Error("dest already exists.")}}try{await o.rename(t,i)}catch(o){if(o.code!=="EXDEV"){throw o}await moveAcrossDevice(t,i,r)}}async function moveAcrossDevice(t,i,r){const o={overwrite:r,errorOnExist:true,preserveTimestamps:true};await h(t,i,o);return c(t)}t.exports=move},2693:(t,i,r)=>{const o=r(277).fromPromise;const a=r(3357);const h=r(1017);const c=r(5933);const l=r(9932).pathExists;async function outputFile(t,i,r="utf-8"){const o=h.dirname(t);if(!await l(o)){await c.mkdirs(o)}return a.writeFile(t,i,r)}function outputFileSync(t,...i){const r=h.dirname(t);if(!a.existsSync(r)){c.mkdirsSync(r)}a.writeFileSync(t,...i)}t.exports={outputFile:o(outputFile),outputFileSync:outputFileSync}},9932:(t,i,r)=>{const o=r(277).fromPromise;const a=r(3357);function pathExists(t){return a.access(t).then((()=>true)).catch((()=>false))}t.exports={pathExists:o(pathExists),pathExistsSync:a.existsSync}},6373:(t,i,r)=>{const o=r(4796);const a=r(277).fromCallback;function remove(t,i){o.rm(t,{recursive:true,force:true},i)}function removeSync(t){o.rmSync(t,{recursive:true,force:true})}t.exports={remove:a(remove),removeSync:removeSync}},5470:(t,i,r)=>{const o=r(3357);const a=r(1017);const h=r(277).fromPromise;function getStats(t,i,r){const a=r.dereference?t=>o.stat(t,{bigint:true}):t=>o.lstat(t,{bigint:true});return Promise.all([a(t),a(i).catch((t=>{if(t.code==="ENOENT")return null;throw t}))]).then((([t,i])=>({srcStat:t,destStat:i})))}function getStatsSync(t,i,r){let a;const h=r.dereference?t=>o.statSync(t,{bigint:true}):t=>o.lstatSync(t,{bigint:true});const c=h(t);try{a=h(i)}catch(t){if(t.code==="ENOENT")return{srcStat:c,destStat:null};throw t}return{srcStat:c,destStat:a}}async function checkPaths(t,i,r,o){const{srcStat:h,destStat:c}=await getStats(t,i,o);if(c){if(areIdentical(h,c)){const o=a.basename(t);const l=a.basename(i);if(r==="move"&&o!==l&&o.toLowerCase()===l.toLowerCase()){return{srcStat:h,destStat:c,isChangingCase:true}}throw new Error("Source and destination must not be the same.")}if(h.isDirectory()&&!c.isDirectory()){throw new Error(`Cannot overwrite non-directory '${i}' with directory '${t}'.`)}if(!h.isDirectory()&&c.isDirectory()){throw new Error(`Cannot overwrite directory '${i}' with non-directory '${t}'.`)}}if(h.isDirectory()&&isSrcSubdir(t,i)){throw new Error(errMsg(t,i,r))}return{srcStat:h,destStat:c}}function checkPathsSync(t,i,r,o){const{srcStat:h,destStat:c}=getStatsSync(t,i,o);if(c){if(areIdentical(h,c)){const o=a.basename(t);const l=a.basename(i);if(r==="move"&&o!==l&&o.toLowerCase()===l.toLowerCase()){return{srcStat:h,destStat:c,isChangingCase:true}}throw new Error("Source and destination must not be the same.")}if(h.isDirectory()&&!c.isDirectory()){throw new Error(`Cannot overwrite non-directory '${i}' with directory '${t}'.`)}if(!h.isDirectory()&&c.isDirectory()){throw new Error(`Cannot overwrite directory '${i}' with non-directory '${t}'.`)}}if(h.isDirectory()&&isSrcSubdir(t,i)){throw new Error(errMsg(t,i,r))}return{srcStat:h,destStat:c}}async function checkParentPaths(t,i,r,h){const c=a.resolve(a.dirname(t));const l=a.resolve(a.dirname(r));if(l===c||l===a.parse(l).root)return;let u;try{u=await o.stat(l,{bigint:true})}catch(t){if(t.code==="ENOENT")return;throw t}if(areIdentical(i,u)){throw new Error(errMsg(t,r,h))}return checkParentPaths(t,i,l,h)}function checkParentPathsSync(t,i,r,h){const c=a.resolve(a.dirname(t));const l=a.resolve(a.dirname(r));if(l===c||l===a.parse(l).root)return;let u;try{u=o.statSync(l,{bigint:true})}catch(t){if(t.code==="ENOENT")return;throw t}if(areIdentical(i,u)){throw new Error(errMsg(t,r,h))}return checkParentPathsSync(t,i,l,h)}function areIdentical(t,i){return i.ino&&i.dev&&i.ino===t.ino&&i.dev===t.dev}function isSrcSubdir(t,i){const r=a.resolve(t).split(a.sep).filter((t=>t));const o=a.resolve(i).split(a.sep).filter((t=>t));return r.every(((t,i)=>o[i]===t))}function errMsg(t,i,r){return`Cannot ${r} '${t}' to a subdirectory of itself, '${i}'.`}t.exports={checkPaths:h(checkPaths),checkPathsSync:checkPathsSync,checkParentPaths:h(checkParentPaths),checkParentPathsSync:checkParentPathsSync,isSrcSubdir:isSrcSubdir,areIdentical:areIdentical}},3651:(t,i,r)=>{const o=r(3357);const a=r(277).fromPromise;async function utimesMillis(t,i,r){const a=await o.open(t,"r+");let h=null;try{await o.futimes(a,i,r)}finally{try{await o.close(a)}catch(t){h=t}}if(h){throw h}}function utimesMillisSync(t,i,r){const a=o.openSync(t,"r+");o.futimesSync(a,i,r);return o.closeSync(a)}t.exports={utimesMillis:a(utimesMillis),utimesMillisSync:utimesMillisSync}},3534:t=>{t.exports=clone;var i=Object.getPrototypeOf||function(t){return t.__proto__};function clone(t){if(t===null||typeof t!=="object")return t;if(t instanceof Object)var r={__proto__:i(t)};else var r=Object.create(null);Object.getOwnPropertyNames(t).forEach((function(i){Object.defineProperty(r,i,Object.getOwnPropertyDescriptor(t,i))}));return r}},4796:(t,i,r)=>{var o=r(7147);var a=r(3050);var h=r(8318);var c=r(3534);var l=r(3837);var u;var d;if(typeof Symbol==="function"&&typeof Symbol.for==="function"){u=Symbol.for("graceful-fs.queue");d=Symbol.for("graceful-fs.previous")}else{u="___graceful-fs.queue";d="___graceful-fs.previous"}function noop(){}function publishQueue(t,i){Object.defineProperty(t,u,{get:function(){return i}})}var p=noop;if(l.debuglog)p=l.debuglog("gfs4");else if(/\bgfs4\b/i.test(process.env.NODE_DEBUG||""))p=function(){var t=l.format.apply(l,arguments);t="GFS4: "+t.split(/\n/).join("\nGFS4: ");console.error(t)};if(!o[u]){var m=global[u]||[];publishQueue(o,m);o.close=function(t){function close(i,r){return t.call(o,i,(function(t){if(!t){resetQueue()}if(typeof r==="function")r.apply(this,arguments)}))}Object.defineProperty(close,d,{value:t});return close}(o.close);o.closeSync=function(t){function closeSync(i){t.apply(o,arguments);resetQueue()}Object.defineProperty(closeSync,d,{value:t});return closeSync}(o.closeSync);if(/\bgfs4\b/i.test(process.env.NODE_DEBUG||"")){process.on("exit",(function(){p(o[u]);r(9491).equal(o[u].length,0)}))}}if(!global[u]){publishQueue(global,o[u])}t.exports=patch(c(o));if(process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH&&!o.__patched){t.exports=patch(o);o.__patched=true}function patch(t){a(t);t.gracefulify=patch;t.createReadStream=createReadStream;t.createWriteStream=createWriteStream;var i=t.readFile;t.readFile=readFile;function readFile(t,r,o){if(typeof r==="function")o=r,r=null;return go$readFile(t,r,o);function go$readFile(t,r,o,a){return i(t,r,(function(i){if(i&&(i.code==="EMFILE"||i.code==="ENFILE"))enqueue([go$readFile,[t,r,o],i,a||Date.now(),Date.now()]);else{if(typeof o==="function")o.apply(this,arguments)}}))}}var r=t.writeFile;t.writeFile=writeFile;function writeFile(t,i,o,a){if(typeof o==="function")a=o,o=null;return go$writeFile(t,i,o,a);function go$writeFile(t,i,o,a,h){return r(t,i,o,(function(r){if(r&&(r.code==="EMFILE"||r.code==="ENFILE"))enqueue([go$writeFile,[t,i,o,a],r,h||Date.now(),Date.now()]);else{if(typeof a==="function")a.apply(this,arguments)}}))}}var o=t.appendFile;if(o)t.appendFile=appendFile;function appendFile(t,i,r,a){if(typeof r==="function")a=r,r=null;return go$appendFile(t,i,r,a);function go$appendFile(t,i,r,a,h){return o(t,i,r,(function(o){if(o&&(o.code==="EMFILE"||o.code==="ENFILE"))enqueue([go$appendFile,[t,i,r,a],o,h||Date.now(),Date.now()]);else{if(typeof a==="function")a.apply(this,arguments)}}))}}var c=t.copyFile;if(c)t.copyFile=copyFile;function copyFile(t,i,r,o){if(typeof r==="function"){o=r;r=0}return go$copyFile(t,i,r,o);function go$copyFile(t,i,r,o,a){return c(t,i,r,(function(h){if(h&&(h.code==="EMFILE"||h.code==="ENFILE"))enqueue([go$copyFile,[t,i,r,o],h,a||Date.now(),Date.now()]);else{if(typeof o==="function")o.apply(this,arguments)}}))}}var l=t.readdir;t.readdir=readdir;var u=/^v[0-5]\./;function readdir(t,i,r){if(typeof i==="function")r=i,i=null;var o=u.test(process.version)?function go$readdir(t,i,r,o){return l(t,fs$readdirCallback(t,i,r,o))}:function go$readdir(t,i,r,o){return l(t,i,fs$readdirCallback(t,i,r,o))};return o(t,i,r);function fs$readdirCallback(t,i,r,a){return function(h,c){if(h&&(h.code==="EMFILE"||h.code==="ENFILE"))enqueue([o,[t,i,r],h,a||Date.now(),Date.now()]);else{if(c&&c.sort)c.sort();if(typeof r==="function")r.call(this,h,c)}}}}if(process.version.substr(0,4)==="v0.8"){var d=h(t);ReadStream=d.ReadStream;WriteStream=d.WriteStream}var p=t.ReadStream;if(p){ReadStream.prototype=Object.create(p.prototype);ReadStream.prototype.open=ReadStream$open}var m=t.WriteStream;if(m){WriteStream.prototype=Object.create(m.prototype);WriteStream.prototype.open=WriteStream$open}Object.defineProperty(t,"ReadStream",{get:function(){return ReadStream},set:function(t){ReadStream=t},enumerable:true,configurable:true});Object.defineProperty(t,"WriteStream",{get:function(){return WriteStream},set:function(t){WriteStream=t},enumerable:true,configurable:true});var y=ReadStream;Object.defineProperty(t,"FileReadStream",{get:function(){return y},set:function(t){y=t},enumerable:true,configurable:true});var g=WriteStream;Object.defineProperty(t,"FileWriteStream",{get:function(){return g},set:function(t){g=t},enumerable:true,configurable:true});function ReadStream(t,i){if(this instanceof ReadStream)return p.apply(this,arguments),this;else return ReadStream.apply(Object.create(ReadStream.prototype),arguments)}function ReadStream$open(){var t=this;open(t.path,t.flags,t.mode,(function(i,r){if(i){if(t.autoClose)t.destroy();t.emit("error",i)}else{t.fd=r;t.emit("open",r);t.read()}}))}function WriteStream(t,i){if(this instanceof WriteStream)return m.apply(this,arguments),this;else return WriteStream.apply(Object.create(WriteStream.prototype),arguments)}function WriteStream$open(){var t=this;open(t.path,t.flags,t.mode,(function(i,r){if(i){t.destroy();t.emit("error",i)}else{t.fd=r;t.emit("open",r)}}))}function createReadStream(i,r){return new t.ReadStream(i,r)}function createWriteStream(i,r){return new t.WriteStream(i,r)}var b=t.open;t.open=open;function open(t,i,r,o){if(typeof r==="function")o=r,r=null;return go$open(t,i,r,o);function go$open(t,i,r,o,a){return b(t,i,r,(function(h,c){if(h&&(h.code==="EMFILE"||h.code==="ENFILE"))enqueue([go$open,[t,i,r,o],h,a||Date.now(),Date.now()]);else{if(typeof o==="function")o.apply(this,arguments)}}))}}return t}function enqueue(t){p("ENQUEUE",t[0].name,t[1]);o[u].push(t);retry()}var y;function resetQueue(){var t=Date.now();for(var i=0;i<o[u].length;++i){if(o[u][i].length>2){o[u][i][3]=t;o[u][i][4]=t}}retry()}function retry(){clearTimeout(y);y=undefined;if(o[u].length===0)return;var t=o[u].shift();var i=t[0];var r=t[1];var a=t[2];var h=t[3];var c=t[4];if(h===undefined){p("RETRY",i.name,r);i.apply(null,r)}else if(Date.now()-h>=6e4){p("TIMEOUT",i.name,r);var l=r.pop();if(typeof l==="function")l.call(null,a)}else{var d=Date.now()-c;var m=Math.max(c-h,1);var g=Math.min(m*1.2,100);if(d>=g){p("RETRY",i.name,r);i.apply(null,r.concat([h]))}else{o[u].push(t)}}if(y===undefined){y=setTimeout(retry,0)}}},8318:(t,i,r)=>{var o=r(9955).Stream;t.exports=legacy;function legacy(t){return{ReadStream:ReadStream,WriteStream:WriteStream};function ReadStream(i,r){if(!(this instanceof ReadStream))return new ReadStream(i,r);o.call(this);var a=this;this.path=i;this.fd=null;this.readable=true;this.paused=false;this.flags="r";this.mode=438;this.bufferSize=64*1024;r=r||{};var h=Object.keys(r);for(var c=0,l=h.length;c<l;c++){var u=h[c];this[u]=r[u]}if(this.encoding)this.setEncoding(this.encoding);if(this.start!==undefined){if("number"!==typeof this.start){throw TypeError("start must be a Number")}if(this.end===undefined){this.end=Infinity}else if("number"!==typeof this.end){throw TypeError("end must be a Number")}if(this.start>this.end){throw new Error("start must be <= end")}this.pos=this.start}if(this.fd!==null){process.nextTick((function(){a._read()}));return}t.open(this.path,this.flags,this.mode,(function(t,i){if(t){a.emit("error",t);a.readable=false;return}a.fd=i;a.emit("open",i);a._read()}))}function WriteStream(i,r){if(!(this instanceof WriteStream))return new WriteStream(i,r);o.call(this);this.path=i;this.fd=null;this.writable=true;this.flags="w";this.encoding="binary";this.mode=438;this.bytesWritten=0;r=r||{};var a=Object.keys(r);for(var h=0,c=a.length;h<c;h++){var l=a[h];this[l]=r[l]}if(this.start!==undefined){if("number"!==typeof this.start){throw TypeError("start must be a Number")}if(this.start<0){throw new Error("start must be >= zero")}this.pos=this.start}this.busy=false;this._queue=[];if(this.fd===null){this._open=t.open;this._queue.push([this._open,this.path,this.flags,this.mode,undefined]);this.flush()}}}},3050:(t,i,r)=>{var o=r(2057);var a=process.cwd;var h=null;var c=process.env.GRACEFUL_FS_PLATFORM||process.platform;process.cwd=function(){if(!h)h=a.call(process);return h};try{process.cwd()}catch(t){}if(typeof process.chdir==="function"){var l=process.chdir;process.chdir=function(t){h=null;l.call(process,t)};if(Object.setPrototypeOf)Object.setPrototypeOf(process.chdir,l)}t.exports=patch;function patch(t){if(o.hasOwnProperty("O_SYMLINK")&&process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)){patchLchmod(t)}if(!t.lutimes){patchLutimes(t)}t.chown=chownFix(t.chown);t.fchown=chownFix(t.fchown);t.lchown=chownFix(t.lchown);t.chmod=chmodFix(t.chmod);t.fchmod=chmodFix(t.fchmod);t.lchmod=chmodFix(t.lchmod);t.chownSync=chownFixSync(t.chownSync);t.fchownSync=chownFixSync(t.fchownSync);t.lchownSync=chownFixSync(t.lchownSync);t.chmodSync=chmodFixSync(t.chmodSync);t.fchmodSync=chmodFixSync(t.fchmodSync);t.lchmodSync=chmodFixSync(t.lchmodSync);t.stat=statFix(t.stat);t.fstat=statFix(t.fstat);t.lstat=statFix(t.lstat);t.statSync=statFixSync(t.statSync);t.fstatSync=statFixSync(t.fstatSync);t.lstatSync=statFixSync(t.lstatSync);if(t.chmod&&!t.lchmod){t.lchmod=function(t,i,r){if(r)process.nextTick(r)};t.lchmodSync=function(){}}if(t.chown&&!t.lchown){t.lchown=function(t,i,r,o){if(o)process.nextTick(o)};t.lchownSync=function(){}}if(c==="win32"){t.rename=typeof t.rename!=="function"?t.rename:function(i){function rename(r,o,a){var h=Date.now();var c=0;i(r,o,(function CB(l){if(l&&(l.code==="EACCES"||l.code==="EPERM"||l.code==="EBUSY")&&Date.now()-h<6e4){setTimeout((function(){t.stat(o,(function(t,h){if(t&&t.code==="ENOENT")i(r,o,CB);else a(l)}))}),c);if(c<100)c+=10;return}if(a)a(l)}))}if(Object.setPrototypeOf)Object.setPrototypeOf(rename,i);return rename}(t.rename)}t.read=typeof t.read!=="function"?t.read:function(i){function read(r,o,a,h,c,l){var u;if(l&&typeof l==="function"){var d=0;u=function(p,m,y){if(p&&p.code==="EAGAIN"&&d<10){d++;return i.call(t,r,o,a,h,c,u)}l.apply(this,arguments)}}return i.call(t,r,o,a,h,c,u)}if(Object.setPrototypeOf)Object.setPrototypeOf(read,i);return read}(t.read);t.readSync=typeof t.readSync!=="function"?t.readSync:function(i){return function(r,o,a,h,c){var l=0;while(true){try{return i.call(t,r,o,a,h,c)}catch(t){if(t.code==="EAGAIN"&&l<10){l++;continue}throw t}}}}(t.readSync);function patchLchmod(t){t.lchmod=function(i,r,a){t.open(i,o.O_WRONLY|o.O_SYMLINK,r,(function(i,o){if(i){if(a)a(i);return}t.fchmod(o,r,(function(i){t.close(o,(function(t){if(a)a(i||t)}))}))}))};t.lchmodSync=function(i,r){var a=t.openSync(i,o.O_WRONLY|o.O_SYMLINK,r);var h=true;var c;try{c=t.fchmodSync(a,r);h=false}finally{if(h){try{t.closeSync(a)}catch(t){}}else{t.closeSync(a)}}return c}}function patchLutimes(t){if(o.hasOwnProperty("O_SYMLINK")&&t.futimes){t.lutimes=function(i,r,a,h){t.open(i,o.O_SYMLINK,(function(i,o){if(i){if(h)h(i);return}t.futimes(o,r,a,(function(i){t.close(o,(function(t){if(h)h(i||t)}))}))}))};t.lutimesSync=function(i,r,a){var h=t.openSync(i,o.O_SYMLINK);var c;var l=true;try{c=t.futimesSync(h,r,a);l=false}finally{if(l){try{t.closeSync(h)}catch(t){}}else{t.closeSync(h)}}return c}}else if(t.futimes){t.lutimes=function(t,i,r,o){if(o)process.nextTick(o)};t.lutimesSync=function(){}}}function chmodFix(i){if(!i)return i;return function(r,o,a){return i.call(t,r,o,(function(t){if(chownErOk(t))t=null;if(a)a.apply(this,arguments)}))}}function chmodFixSync(i){if(!i)return i;return function(r,o){try{return i.call(t,r,o)}catch(t){if(!chownErOk(t))throw t}}}function chownFix(i){if(!i)return i;return function(r,o,a,h){return i.call(t,r,o,a,(function(t){if(chownErOk(t))t=null;if(h)h.apply(this,arguments)}))}}function chownFixSync(i){if(!i)return i;return function(r,o,a){try{return i.call(t,r,o,a)}catch(t){if(!chownErOk(t))throw t}}}function statFix(i){if(!i)return i;return function(r,o,a){if(typeof o==="function"){a=o;o=null}function callback(t,i){if(i){if(i.uid<0)i.uid+=4294967296;if(i.gid<0)i.gid+=4294967296}if(a)a.apply(this,arguments)}return o?i.call(t,r,o,callback):i.call(t,r,callback)}}function statFixSync(i){if(!i)return i;return function(r,o){var a=o?i.call(t,r,o):i.call(t,r);if(a){if(a.uid<0)a.uid+=4294967296;if(a.gid<0)a.gid+=4294967296}return a}}function chownErOk(t){if(!t)return true;if(t.code==="ENOSYS")return true;var i=!process.getuid||process.getuid()!==0;if(i){if(t.code==="EINVAL"||t.code==="EPERM")return true}return false}}},7057:(t,i)=>{i.parse=i.decode=decode;i.stringify=i.encode=encode;i.safe=safe;i.unsafe=unsafe;var r=typeof process!=="undefined"&&process.platform==="win32"?"\r\n":"\n";function encode(t,i){var o=[];var a="";if(typeof i==="string"){i={section:i,whitespace:false}}else{i=i||{};i.whitespace=i.whitespace===true}var h=i.whitespace?" = ":"=";Object.keys(t).forEach((function(i,c,l){var u=t[i];if(u&&Array.isArray(u)){u.forEach((function(t){a+=safe(i+"[]")+h+safe(t)+"\n"}))}else if(u&&typeof u==="object")o.push(i);else a+=safe(i)+h+safe(u)+r}));if(i.section&&a.length)a="["+safe(i.section)+"]"+r+a;o.forEach((function(o,h,c){var l=dotSplit(o).join("\\.");var u=(i.section?i.section+".":"")+l;var d=encode(t[o],{section:u,whitespace:i.whitespace});if(a.length&&d.length)a+=r;a+=d}));return a}function dotSplit(t){return t.replace(/\1/g,"LITERAL\\1LITERAL").replace(/\\\./g,"").split(/\./).map((function(t){return t.replace(/\1/g,"\\.").replace(/\2LITERAL\\1LITERAL\2/g,"")}))}function decode(t){var i={};var r=i;var o=null;var a=/^\[([^\]]*)\]$|^([^=]+)(=(.*))?$/i;var h=t.split(/[\r\n]+/g);h.forEach((function(t,h,c){if(!t||t.match(/^\s*[;#]/))return;var l=t.match(a);if(!l)return;if(l[1]!==undefined){o=unsafe(l[1]);if(o==="__proto__"){r={};return}r=i[o]=i[o]||{};return}var u=unsafe(l[2]);if(u==="__proto__")return;var d=l[3]?unsafe(l[4]):true;switch(d){case"true":case"false":case"null":d=JSON.parse(d)}if(u.length>2&&u.slice(-2)==="[]"){u=u.substring(0,u.length-2);if(u==="__proto__")return;if(!r[u])r[u]=[];else if(!Array.isArray(r[u]))r[u]=[r[u]]}if(Array.isArray(r[u]))r[u].push(d);else r[u]=d}));Object.keys(i).filter((function(t,r,o){if(!i[t]||typeof i[t]!=="object"||Array.isArray(i[t]))return false;var a=dotSplit(t);var h=i;var c=a.pop();var l=c.replace(/\\\./g,".");a.forEach((function(t,i,r){if(t==="__proto__")return;if(!h[t]||typeof h[t]!=="object")h[t]={};h=h[t]}));if(h===i&&l===c)return false;h[l]=i[t];return true})).forEach((function(t,r,o){delete i[t]}));return i}function isQuoted(t){return t.charAt(0)==='"'&&t.slice(-1)==='"'||t.charAt(0)==="'"&&t.slice(-1)==="'"}function safe(t){return typeof t!=="string"||t.match(/[=\r\n]/)||t.match(/^\[/)||t.length>1&&isQuoted(t)||t!==t.trim()?JSON.stringify(t):t.replace(/;/g,"\\;").replace(/#/g,"\\#")}function unsafe(t,i){t=(t||"").trim();if(isQuoted(t)){if(t.charAt(0)==="'")t=t.substr(1,t.length-2);try{t=JSON.parse(t)}catch(t){}}else{var r=false;var o="";for(var a=0,h=t.length;a<h;a++){var c=t.charAt(a);if(r){if("\\;#".indexOf(c)!==-1)o+=c;else o+="\\"+c;r=false}else if(";#".indexOf(c)!==-1)break;else if(c==="\\")r=true;else o+=c}if(r)o+="\\";return o.trim()}return t}},313:(t,i,r)=>{let o;try{o=r(4796)}catch(t){o=r(7147)}const a=r(277);const{stringify:h,stripBom:c}=r(4006);async function _readFile(t,i={}){if(typeof i==="string"){i={encoding:i}}const r=i.fs||o;const h="throws"in i?i.throws:true;let l=await a.fromCallback(r.readFile)(t,i);l=c(l);let u;try{u=JSON.parse(l,i?i.reviver:null)}catch(i){if(h){i.message=`${t}: ${i.message}`;throw i}else{return null}}return u}const l=a.fromPromise(_readFile);function readFileSync(t,i={}){if(typeof i==="string"){i={encoding:i}}const r=i.fs||o;const a="throws"in i?i.throws:true;try{let o=r.readFileSync(t,i);o=c(o);return JSON.parse(o,i.reviver)}catch(i){if(a){i.message=`${t}: ${i.message}`;throw i}else{return null}}}async function _writeFile(t,i,r={}){const c=r.fs||o;const l=h(i,r);await a.fromCallback(c.writeFile)(t,l,r)}const u=a.fromPromise(_writeFile);function writeFileSync(t,i,r={}){const a=r.fs||o;const c=h(i,r);return a.writeFileSync(t,c,r)}const d={readFile:l,readFileSync:readFileSync,writeFile:u,writeFileSync:writeFileSync};t.exports=d},4006:t=>{function stringify(t,{EOL:i="\n",finalEOL:r=true,replacer:o=null,spaces:a}={}){const h=r?i:"";const c=JSON.stringify(t,o,a);return c.replace(/\n/g,i)+h}function stripBom(t){if(Buffer.isBuffer(t))t=t.toString("utf8");return t.replace(/^\uFEFF/,"")}t.exports={stringify:stringify,stripBom:stripBom}},1081:t=>{const{FORCE_COLOR:i,NODE_DISABLE_COLORS:r,TERM:o}=process.env;const a={enabled:!r&&o!=="dumb"&&i!=="0",reset:init(0,0),bold:init(1,22),dim:init(2,22),italic:init(3,23),underline:init(4,24),inverse:init(7,27),hidden:init(8,28),strikethrough:init(9,29),black:init(30,39),red:init(31,39),green:init(32,39),yellow:init(33,39),blue:init(34,39),magenta:init(35,39),cyan:init(36,39),white:init(37,39),gray:init(90,39),grey:init(90,39),bgBlack:init(40,49),bgRed:init(41,49),bgGreen:init(42,49),bgYellow:init(43,49),bgBlue:init(44,49),bgMagenta:init(45,49),bgCyan:init(46,49),bgWhite:init(47,49)};function run(t,i){let r=0,o,a="",h="";for(;r<t.length;r++){o=t[r];a+=o.open;h+=o.close;if(i.includes(o.close)){i=i.replace(o.rgx,o.close+o.open)}}return a+i+h}function chain(t,i){let r={has:t,keys:i};r.reset=a.reset.bind(r);r.bold=a.bold.bind(r);r.dim=a.dim.bind(r);r.italic=a.italic.bind(r);r.underline=a.underline.bind(r);r.inverse=a.inverse.bind(r);r.hidden=a.hidden.bind(r);r.strikethrough=a.strikethrough.bind(r);r.black=a.black.bind(r);r.red=a.red.bind(r);r.green=a.green.bind(r);r.yellow=a.yellow.bind(r);r.blue=a.blue.bind(r);r.magenta=a.magenta.bind(r);r.cyan=a.cyan.bind(r);r.white=a.white.bind(r);r.gray=a.gray.bind(r);r.grey=a.grey.bind(r);r.bgBlack=a.bgBlack.bind(r);r.bgRed=a.bgRed.bind(r);r.bgGreen=a.bgGreen.bind(r);r.bgYellow=a.bgYellow.bind(r);r.bgBlue=a.bgBlue.bind(r);r.bgMagenta=a.bgMagenta.bind(r);r.bgCyan=a.bgCyan.bind(r);r.bgWhite=a.bgWhite.bind(r);return r}function init(t,i){let r={open:`[${t}m`,close:`[${i}m`,rgx:new RegExp(`\\x1b\\[${i}m`,"g")};return function(i){if(this!==void 0&&this.has!==void 0){this.has.includes(t)||(this.has.push(t),this.keys.push(r));return i===void 0?this:a.enabled?run(this.keys,i+""):i+""}return i===void 0?chain([t],[r]):a.enabled?run([r],i+""):i+""}}t.exports=a},4599:t=>{function hasKey(t,i){var r=t;i.slice(0,-1).forEach((function(t){r=r[t]||{}}));var o=i[i.length-1];return o in r}function isNumber(t){if(typeof t==="number"){return true}if(/^0x[0-9a-f]+$/i.test(t)){return true}return/^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(t)}function isConstructorOrProto(t,i){return i==="constructor"&&typeof t[i]==="function"||i==="__proto__"}t.exports=function(t,i){if(!i){i={}}var r={bools:{},strings:{},unknownFn:null};if(typeof i.unknown==="function"){r.unknownFn=i.unknown}if(typeof i.boolean==="boolean"&&i.boolean){r.allBools=true}else{[].concat(i.boolean).filter(Boolean).forEach((function(t){r.bools[t]=true}))}var o={};function aliasIsBoolean(t){return o[t].some((function(t){return r.bools[t]}))}Object.keys(i.alias||{}).forEach((function(t){o[t]=[].concat(i.alias[t]);o[t].forEach((function(i){o[i]=[t].concat(o[t].filter((function(t){return i!==t})))}))}));[].concat(i.string).filter(Boolean).forEach((function(t){r.strings[t]=true;if(o[t]){[].concat(o[t]).forEach((function(t){r.strings[t]=true}))}}));var a=i.default||{};var h={_:[]};function argDefined(t,i){return r.allBools&&/^--[^=]+$/.test(i)||r.strings[t]||r.bools[t]||o[t]}function setKey(t,i,o){var a=t;for(var h=0;h<i.length-1;h++){var c=i[h];if(isConstructorOrProto(a,c)){return}if(a[c]===undefined){a[c]={}}if(a[c]===Object.prototype||a[c]===Number.prototype||a[c]===String.prototype){a[c]={}}if(a[c]===Array.prototype){a[c]=[]}a=a[c]}var l=i[i.length-1];if(isConstructorOrProto(a,l)){return}if(a===Object.prototype||a===Number.prototype||a===String.prototype){a={}}if(a===Array.prototype){a=[]}if(a[l]===undefined||r.bools[l]||typeof a[l]==="boolean"){a[l]=o}else if(Array.isArray(a[l])){a[l].push(o)}else{a[l]=[a[l],o]}}function setArg(t,i,a){if(a&&r.unknownFn&&!argDefined(t,a)){if(r.unknownFn(a)===false){return}}var c=!r.strings[t]&&isNumber(i)?Number(i):i;setKey(h,t.split("."),c);(o[t]||[]).forEach((function(t){setKey(h,t.split("."),c)}))}Object.keys(r.bools).forEach((function(t){setArg(t,a[t]===undefined?false:a[t])}));var c=[];if(t.indexOf("--")!==-1){c=t.slice(t.indexOf("--")+1);t=t.slice(0,t.indexOf("--"))}for(var l=0;l<t.length;l++){var u=t[l];var d;var p;if(/^--.+=/.test(u)){var m=u.match(/^--([^=]+)=([\s\S]*)$/);d=m[1];var y=m[2];if(r.bools[d]){y=y!=="false"}setArg(d,y,u)}else if(/^--no-.+/.test(u)){d=u.match(/^--no-(.+)/)[1];setArg(d,false,u)}else if(/^--.+/.test(u)){d=u.match(/^--(.+)/)[1];p=t[l+1];if(p!==undefined&&!/^(-|--)[^-]/.test(p)&&!r.bools[d]&&!r.allBools&&(o[d]?!aliasIsBoolean(d):true)){setArg(d,p,u);l+=1}else if(/^(true|false)$/.test(p)){setArg(d,p==="true",u);l+=1}else{setArg(d,r.strings[d]?"":true,u)}}else if(/^-[^-]+/.test(u)){var g=u.slice(1,-1).split("");var b=false;for(var w=0;w<g.length;w++){p=u.slice(w+2);if(p==="-"){setArg(g[w],p,u);continue}if(/[A-Za-z]/.test(g[w])&&p[0]==="="){setArg(g[w],p.slice(1),u);b=true;break}if(/[A-Za-z]/.test(g[w])&&/-?\d+(\.\d*)?(e-?\d+)?$/.test(p)){setArg(g[w],p,u);b=true;break}if(g[w+1]&&g[w+1].match(/\W/)){setArg(g[w],u.slice(w+2),u);b=true;break}else{setArg(g[w],r.strings[g[w]]?"":true,u)}}d=u.slice(-1)[0];if(!b&&d!=="-"){if(t[l+1]&&!/^(-|--)[^-]/.test(t[l+1])&&!r.bools[d]&&(o[d]?!aliasIsBoolean(d):true)){setArg(d,t[l+1],u);l+=1}else if(t[l+1]&&/^(true|false)$/.test(t[l+1])){setArg(d,t[l+1]==="true",u);l+=1}else{setArg(d,r.strings[d]?"":true,u)}}}else{if(!r.unknownFn||r.unknownFn(u)!==false){h._.push(r.strings._||!isNumber(u)?u:Number(u))}if(i.stopEarly){h._.push.apply(h._,t.slice(l+1));break}}}Object.keys(a).forEach((function(t){if(!hasKey(h,t.split("."))){setKey(h,t.split("."),a[t]);(o[t]||[]).forEach((function(i){setKey(h,i.split("."),a[t])}))}}));if(i["--"]){h["--"]=c.slice()}else{c.forEach((function(t){h._.push(t)}))}return h}},3:t=>{class DatePart{constructor({token:t,date:i,parts:r,locales:o}){this.token=t;this.date=i||new Date;this.parts=r||[this];this.locales=o||{}}up(){}down(){}next(){const t=this.parts.indexOf(this);return this.parts.find(((i,r)=>r>t&&i instanceof DatePart))}setTo(t){}prev(){let t=[].concat(this.parts).reverse();const i=t.indexOf(this);return t.find(((t,r)=>r>i&&t instanceof DatePart))}toString(){return String(this.date)}}t.exports=DatePart},9265:(t,i,r)=>{const o=r(3);const pos=t=>{t=t%10;return t===1?"st":t===2?"nd":t===3?"rd":"th"};class Day extends o{constructor(t={}){super(t)}up(){this.date.setDate(this.date.getDate()+1)}down(){this.date.setDate(this.date.getDate()-1)}setTo(t){this.date.setDate(parseInt(t.substr(-2)))}toString(){let t=this.date.getDate();let i=this.date.getDay();return this.token==="DD"?String(t).padStart(2,"0"):this.token==="Do"?t+pos(t):this.token==="d"?i+1:this.token==="ddd"?this.locales.weekdaysShort[i]:this.token==="dddd"?this.locales.weekdays[i]:t}}t.exports=Day},4169:(t,i,r)=>{const o=r(3);class Hours extends o{constructor(t={}){super(t)}up(){this.date.setHours(this.date.getHours()+1)}down(){this.date.setHours(this.date.getHours()-1)}setTo(t){this.date.setHours(parseInt(t.substr(-2)))}toString(){let t=this.date.getHours();if(/h/.test(this.token))t=t%12||12;return this.token.length>1?String(t).padStart(2,"0"):t}}t.exports=Hours},1373:(t,i,r)=>{t.exports={DatePart:r(3),Meridiem:r(2065),Day:r(9265),Hours:r(4169),Milliseconds:r(8589),Minutes:r(2781),Month:r(7025),Seconds:r(5246),Year:r(9301)}},2065:(t,i,r)=>{const o=r(3);class Meridiem extends o{constructor(t={}){super(t)}up(){this.date.setHours((this.date.getHours()+12)%24)}down(){this.up()}toString(){let t=this.date.getHours()>12?"pm":"am";return/\A/.test(this.token)?t.toUpperCase():t}}t.exports=Meridiem},8589:(t,i,r)=>{const o=r(3);class Milliseconds extends o{constructor(t={}){super(t)}up(){this.date.setMilliseconds(this.date.getMilliseconds()+1)}down(){this.date.setMilliseconds(this.date.getMilliseconds()-1)}setTo(t){this.date.setMilliseconds(parseInt(t.substr(-this.token.length)))}toString(){return String(this.date.getMilliseconds()).padStart(4,"0").substr(0,this.token.length)}}t.exports=Milliseconds},2781:(t,i,r)=>{const o=r(3);class Minutes extends o{constructor(t={}){super(t)}up(){this.date.setMinutes(this.date.getMinutes()+1)}down(){this.date.setMinutes(this.date.getMinutes()-1)}setTo(t){this.date.setMinutes(parseInt(t.substr(-2)))}toString(){let t=this.date.getMinutes();return this.token.length>1?String(t).padStart(2,"0"):t}}t.exports=Minutes},7025:(t,i,r)=>{const o=r(3);class Month extends o{constructor(t={}){super(t)}up(){this.date.setMonth(this.date.getMonth()+1)}down(){this.date.setMonth(this.date.getMonth()-1)}setTo(t){t=parseInt(t.substr(-2))-1;this.date.setMonth(t<0?0:t)}toString(){let t=this.date.getMonth();let i=this.token.length;return i===2?String(t+1).padStart(2,"0"):i===3?this.locales.monthsShort[t]:i===4?this.locales.months[t]:String(t+1)}}t.exports=Month},5246:(t,i,r)=>{const o=r(3);class Seconds extends o{constructor(t={}){super(t)}up(){this.date.setSeconds(this.date.getSeconds()+1)}down(){this.date.setSeconds(this.date.getSeconds()-1)}setTo(t){this.date.setSeconds(parseInt(t.substr(-2)))}toString(){let t=this.date.getSeconds();return this.token.length>1?String(t).padStart(2,"0"):t}}t.exports=Seconds},9301:(t,i,r)=>{const o=r(3);class Year extends o{constructor(t={}){super(t)}up(){this.date.setFullYear(this.date.getFullYear()+1)}down(){this.date.setFullYear(this.date.getFullYear()-1)}setTo(t){this.date.setFullYear(t.substr(-4))}toString(){let t=String(this.date.getFullYear()).padStart(4,"0");return this.token.length===2?t.substr(-2):t}}t.exports=Year},4804:(t,i,r)=>{function asyncGeneratorStep(t,i,r,o,a,h,c){try{var l=t[h](c);var u=l.value}catch(t){r(t);return}if(l.done){i(u)}else{Promise.resolve(u).then(o,a)}}function _asyncToGenerator(t){return function(){var i=this,r=arguments;return new Promise((function(o,a){var h=t.apply(i,r);function _next(t){asyncGeneratorStep(h,o,a,_next,_throw,"next",t)}function _throw(t){asyncGeneratorStep(h,o,a,_next,_throw,"throw",t)}_next(undefined)}))}}const o=r(1081);const a=r(2547);const h=r(5624),c=h.erase,l=h.cursor;const u=r(5970),d=u.style,p=u.clear,m=u.figures,y=u.wrap,g=u.entriesToDisplay;const getVal=(t,i)=>t[i]&&(t[i].value||t[i].title||t[i]);const getTitle=(t,i)=>t[i]&&(t[i].title||t[i].value||t[i]);const getIndex=(t,i)=>{const r=t.findIndex((t=>t.value===i||t.title===i));return r>-1?r:undefined};class AutocompletePrompt extends a{constructor(t={}){super(t);this.msg=t.message;this.suggest=t.suggest;this.choices=t.choices;this.initial=typeof t.initial==="number"?t.initial:getIndex(t.choices,t.initial);this.select=this.initial||t.cursor||0;this.i18n={noMatches:t.noMatches||"no matches found"};this.fallback=t.fallback||this.initial;this.clearFirst=t.clearFirst||false;this.suggestions=[];this.input="";this.limit=t.limit||10;this.cursor=0;this.transform=d.render(t.style);this.scale=this.transform.scale;this.render=this.render.bind(this);this.complete=this.complete.bind(this);this.clear=p("",this.out.columns);this.complete(this.render);this.render()}set fallback(t){this._fb=Number.isSafeInteger(parseInt(t))?parseInt(t):t}get fallback(){let t;if(typeof this._fb==="number")t=this.choices[this._fb];else if(typeof this._fb==="string")t={title:this._fb};return t||this._fb||{title:this.i18n.noMatches}}moveSelect(t){this.select=t;if(this.suggestions.length>0)this.value=getVal(this.suggestions,t);else this.value=this.fallback.value;this.fire()}complete(t){var i=this;return _asyncToGenerator((function*(){const r=i.completing=i.suggest(i.input,i.choices);const o=yield r;if(i.completing!==r)return;i.suggestions=o.map(((t,i,r)=>({title:getTitle(r,i),value:getVal(r,i),description:t.description})));i.completing=false;const a=Math.max(o.length-1,0);i.moveSelect(Math.min(a,i.select));t&&t()}))()}reset(){this.input="";this.complete((()=>{this.moveSelect(this.initial!==void 0?this.initial:0);this.render()}));this.render()}exit(){if(this.clearFirst&&this.input.length>0){this.reset()}else{this.done=this.exited=true;this.aborted=false;this.fire();this.render();this.out.write("\n");this.close()}}abort(){this.done=this.aborted=true;this.exited=false;this.fire();this.render();this.out.write("\n");this.close()}submit(){this.done=true;this.aborted=this.exited=false;this.fire();this.render();this.out.write("\n");this.close()}_(t,i){let r=this.input.slice(0,this.cursor);let o=this.input.slice(this.cursor);this.input=`${r}${t}${o}`;this.cursor=r.length+1;this.complete(this.render);this.render()}delete(){if(this.cursor===0)return this.bell();let t=this.input.slice(0,this.cursor-1);let i=this.input.slice(this.cursor);this.input=`${t}${i}`;this.complete(this.render);this.cursor=this.cursor-1;this.render()}deleteForward(){if(this.cursor*this.scale>=this.rendered.length)return this.bell();let t=this.input.slice(0,this.cursor);let i=this.input.slice(this.cursor+1);this.input=`${t}${i}`;this.complete(this.render);this.render()}first(){this.moveSelect(0);this.render()}last(){this.moveSelect(this.suggestions.length-1);this.render()}up(){if(this.select===0){this.moveSelect(this.suggestions.length-1)}else{this.moveSelect(this.select-1)}this.render()}down(){if(this.select===this.suggestions.length-1){this.moveSelect(0)}else{this.moveSelect(this.select+1)}this.render()}next(){if(this.select===this.suggestions.length-1){this.moveSelect(0)}else this.moveSelect(this.select+1);this.render()}nextPage(){this.moveSelect(Math.min(this.select+this.limit,this.suggestions.length-1));this.render()}prevPage(){this.moveSelect(Math.max(this.select-this.limit,0));this.render()}left(){if(this.cursor<=0)return this.bell();this.cursor=this.cursor-1;this.render()}right(){if(this.cursor*this.scale>=this.rendered.length)return this.bell();this.cursor=this.cursor+1;this.render()}renderOption(t,i,r,a){let h;let c=r?m.arrowUp:a?m.arrowDown:" ";let l=i?o.cyan().underline(t.title):t.title;c=(i?o.cyan(m.pointer)+" ":" ")+c;if(t.description){h=` - ${t.description}`;if(c.length+l.length+h.length>=this.out.columns||t.description.split(/\r?\n/).length>1){h="\n"+y(t.description,{margin:3,width:this.out.columns})}}return c+" "+l+o.gray(h||"")}render(){if(this.closed)return;if(this.firstRender)this.out.write(l.hide);else this.out.write(p(this.outputText,this.out.columns));super.render();let t=g(this.select,this.choices.length,this.limit),i=t.startIndex,r=t.endIndex;this.outputText=[d.symbol(this.done,this.aborted,this.exited),o.bold(this.msg),d.delimiter(this.completing),this.done&&this.suggestions[this.select]?this.suggestions[this.select].title:this.rendered=this.transform.render(this.input)].join(" ");if(!this.done){const t=this.suggestions.slice(i,r).map(((t,o)=>this.renderOption(t,this.select===o+i,o===0&&i>0,o+i===r-1&&r<this.choices.length))).join("\n");this.outputText+=`\n`+(t||o.gray(this.fallback.title))}this.out.write(c.line+l.to(0)+this.outputText)}}t.exports=AutocompletePrompt},6463:(t,i,r)=>{const o=r(1081);const a=r(5624),h=a.cursor;const c=r(4562);const l=r(5970),u=l.clear,d=l.style,p=l.figures;class AutocompleteMultiselectPrompt extends c{constructor(t={}){t.overrideRender=true;super(t);this.inputValue="";this.clear=u("",this.out.columns);this.filteredOptions=this.value;this.render()}last(){this.cursor=this.filteredOptions.length-1;this.render()}next(){this.cursor=(this.cursor+1)%this.filteredOptions.length;this.render()}up(){if(this.cursor===0){this.cursor=this.filteredOptions.length-1}else{this.cursor--}this.render()}down(){if(this.cursor===this.filteredOptions.length-1){this.cursor=0}else{this.cursor++}this.render()}left(){this.filteredOptions[this.cursor].selected=false;this.render()}right(){if(this.value.filter((t=>t.selected)).length>=this.maxChoices)return this.bell();this.filteredOptions[this.cursor].selected=true;this.render()}delete(){if(this.inputValue.length){this.inputValue=this.inputValue.substr(0,this.inputValue.length-1);this.updateFilteredOptions()}}updateFilteredOptions(){const t=this.filteredOptions[this.cursor];this.filteredOptions=this.value.filter((t=>{if(this.inputValue){if(typeof t.title==="string"){if(t.title.toLowerCase().includes(this.inputValue.toLowerCase())){return true}}if(typeof t.value==="string"){if(t.value.toLowerCase().includes(this.inputValue.toLowerCase())){return true}}return false}return true}));const i=this.filteredOptions.findIndex((i=>i===t));this.cursor=i<0?0:i;this.render()}handleSpaceToggle(){const t=this.filteredOptions[this.cursor];if(t.selected){t.selected=false;this.render()}else if(t.disabled||this.value.filter((t=>t.selected)).length>=this.maxChoices){return this.bell()}else{t.selected=true;this.render()}}handleInputChange(t){this.inputValue=this.inputValue+t;this.updateFilteredOptions()}_(t,i){if(t===" "){this.handleSpaceToggle()}else{this.handleInputChange(t)}}renderInstructions(){if(this.instructions===undefined||this.instructions){if(typeof this.instructions==="string"){return this.instructions}return`\nInstructions:\n ${p.arrowUp}/${p.arrowDown}: Highlight option\n ${p.arrowLeft}/${p.arrowRight}/[space]: Toggle selection\n [a,b,c]/delete: Filter choices\n enter/return: Complete answer\n`}return""}renderCurrentInput(){return`\nFiltered results for: ${this.inputValue?this.inputValue:o.gray("Enter something to filter")}\n`}renderOption(t,i,r){let a;if(i.disabled)a=t===r?o.gray().underline(i.title):o.strikethrough().gray(i.title);else a=t===r?o.cyan().underline(i.title):i.title;return(i.selected?o.green(p.radioOn):p.radioOff)+" "+a}renderDoneOrInstructions(){if(this.done){return this.value.filter((t=>t.selected)).map((t=>t.title)).join(", ")}const t=[o.gray(this.hint),this.renderInstructions(),this.renderCurrentInput()];if(this.filteredOptions.length&&this.filteredOptions[this.cursor].disabled){t.push(o.yellow(this.warn))}return t.join(" ")}render(){if(this.closed)return;if(this.firstRender)this.out.write(h.hide);super.render();let t=[d.symbol(this.done,this.aborted),o.bold(this.msg),d.delimiter(false),this.renderDoneOrInstructions()].join(" ");if(this.showMinError){t+=o.red(`You must select a minimum of ${this.minSelected} choices.`);this.showMinError=false}t+=this.renderOptions(this.filteredOptions);this.out.write(this.clear+t);this.clear=u(t,this.out.columns)}}t.exports=AutocompleteMultiselectPrompt},8547:(t,i,r)=>{const o=r(1081);const a=r(2547);const h=r(5970),c=h.style,l=h.clear;const u=r(5624),d=u.erase,p=u.cursor;class ConfirmPrompt extends a{constructor(t={}){super(t);this.msg=t.message;this.value=t.initial;this.initialValue=!!t.initial;this.yesMsg=t.yes||"yes";this.yesOption=t.yesOption||"(Y/n)";this.noMsg=t.no||"no";this.noOption=t.noOption||"(y/N)";this.render()}reset(){this.value=this.initialValue;this.fire();this.render()}exit(){this.abort()}abort(){this.done=this.aborted=true;this.fire();this.render();this.out.write("\n");this.close()}submit(){this.value=this.value||false;this.done=true;this.aborted=false;this.fire();this.render();this.out.write("\n");this.close()}_(t,i){if(t.toLowerCase()==="y"){this.value=true;return this.submit()}if(t.toLowerCase()==="n"){this.value=false;return this.submit()}return this.bell()}render(){if(this.closed)return;if(this.firstRender)this.out.write(p.hide);else this.out.write(l(this.outputText,this.out.columns));super.render();this.outputText=[c.symbol(this.done,this.aborted),o.bold(this.msg),c.delimiter(this.done),this.done?this.value?this.yesMsg:this.noMsg:o.gray(this.initialValue?this.yesOption:this.noOption)].join(" ");this.out.write(d.line+p.to(0)+this.outputText)}}t.exports=ConfirmPrompt},6947:(t,i,r)=>{function asyncGeneratorStep(t,i,r,o,a,h,c){try{var l=t[h](c);var u=l.value}catch(t){r(t);return}if(l.done){i(u)}else{Promise.resolve(u).then(o,a)}}function _asyncToGenerator(t){return function(){var i=this,r=arguments;return new Promise((function(o,a){var h=t.apply(i,r);function _next(t){asyncGeneratorStep(h,o,a,_next,_throw,"next",t)}function _throw(t){asyncGeneratorStep(h,o,a,_next,_throw,"throw",t)}_next(undefined)}))}}const o=r(1081);const a=r(2547);const h=r(5970),c=h.style,l=h.clear,u=h.figures;const d=r(5624),p=d.erase,m=d.cursor;const y=r(1373),g=y.DatePart,b=y.Meridiem,w=y.Day,v=y.Hours,S=y.Milliseconds,E=y.Minutes,_=y.Month,x=y.Seconds,k=y.Year;const O=/\\(.)|"((?:\\["\\]|[^"])+)"|(D[Do]?|d{3,4}|d)|(M{1,4})|(YY(?:YY)?)|([aA])|([Hh]{1,2})|(m{1,2})|(s{1,2})|(S{1,4})|./g;const R={1:({token:t})=>t.replace(/\\(.)/g,"$1"),2:t=>new w(t),3:t=>new _(t),4:t=>new k(t),5:t=>new b(t),6:t=>new v(t),7:t=>new E(t),8:t=>new x(t),9:t=>new S(t)};const T={months:"January,February,March,April,May,June,July,August,September,October,November,December".split(","),monthsShort:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec".split(","),weekdays:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday".split(","),weekdaysShort:"Sun,Mon,Tue,Wed,Thu,Fri,Sat".split(",")};class DatePrompt extends a{constructor(t={}){super(t);this.msg=t.message;this.cursor=0;this.typed="";this.locales=Object.assign(T,t.locales);this._date=t.initial||new Date;this.errorMsg=t.error||"Please Enter A Valid Value";this.validator=t.validate||(()=>true);this.mask=t.mask||"YYYY-MM-DD HH:mm:ss";this.clear=l("",this.out.columns);this.render()}get value(){return this.date}get date(){return this._date}set date(t){if(t)this._date.setTime(t.getTime())}set mask(t){let i;this.parts=[];while(i=O.exec(t)){let t=i.shift();let r=i.findIndex((t=>t!=null));this.parts.push(r in R?R[r]({token:i[r]||t,date:this.date,parts:this.parts,locales:this.locales}):i[r]||t)}let r=this.parts.reduce(((t,i)=>{if(typeof i==="string"&&typeof t[t.length-1]==="string")t[t.length-1]+=i;else t.push(i);return t}),[]);this.parts.splice(0);this.parts.push(...r);this.reset()}moveCursor(t){this.typed="";this.cursor=t;this.fire()}reset(){this.moveCursor(this.parts.findIndex((t=>t instanceof g)));this.fire();this.render()}exit(){this.abort()}abort(){this.done=this.aborted=true;this.error=false;this.fire();this.render();this.out.write("\n");this.close()}validate(){var t=this;return _asyncToGenerator((function*(){let i=yield t.validator(t.value);if(typeof i==="string"){t.errorMsg=i;i=false}t.error=!i}))()}submit(){var t=this;return _asyncToGenerator((function*(){yield t.validate();if(t.error){t.color="red";t.fire();t.render();return}t.done=true;t.aborted=false;t.fire();t.render();t.out.write("\n");t.close()}))()}up(){this.typed="";this.parts[this.cursor].up();this.render()}down(){this.typed="";this.parts[this.cursor].down();this.render()}left(){let t=this.parts[this.cursor].prev();if(t==null)return this.bell();this.moveCursor(this.parts.indexOf(t));this.render()}right(){let t=this.parts[this.cursor].next();if(t==null)return this.bell();this.moveCursor(this.parts.indexOf(t));this.render()}next(){let t=this.parts[this.cursor].next();this.moveCursor(t?this.parts.indexOf(t):this.parts.findIndex((t=>t instanceof g)));this.render()}_(t){if(/\d/.test(t)){this.typed+=t;this.parts[this.cursor].setTo(this.typed);this.render()}}render(){if(this.closed)return;if(this.firstRender)this.out.write(m.hide);else this.out.write(l(this.outputText,this.out.columns));super.render();this.outputText=[c.symbol(this.done,this.aborted),o.bold(this.msg),c.delimiter(false),this.parts.reduce(((t,i,r)=>t.concat(r===this.cursor&&!this.done?o.cyan().underline(i.toString()):i)),[]).join("")].join(" ");if(this.error){this.outputText+=this.errorMsg.split("\n").reduce(((t,i,r)=>t+`\n${r?` `:u.pointerSmall} ${o.red().italic(i)}`),``)}this.out.write(p.line+m.to(0)+this.outputText)}}t.exports=DatePrompt},8595:(t,i,r)=>{t.exports={TextPrompt:r(7740),SelectPrompt:r(2999),TogglePrompt:r(4641),DatePrompt:r(6947),NumberPrompt:r(4827),MultiselectPrompt:r(4562),AutocompletePrompt:r(4804),AutocompleteMultiselectPrompt:r(6463),ConfirmPrompt:r(8547)}},4562:(t,i,r)=>{const o=r(1081);const a=r(5624),h=a.cursor;const c=r(2547);const l=r(5970),u=l.clear,d=l.figures,p=l.style,m=l.wrap,y=l.entriesToDisplay;class MultiselectPrompt extends c{constructor(t={}){super(t);this.msg=t.message;this.cursor=t.cursor||0;this.scrollIndex=t.cursor||0;this.hint=t.hint||"";this.warn=t.warn||"- This option is disabled -";this.minSelected=t.min;this.showMinError=false;this.maxChoices=t.max;this.instructions=t.instructions;this.optionsPerPage=t.optionsPerPage||10;this.value=t.choices.map(((t,i)=>{if(typeof t==="string")t={title:t,value:i};return{title:t&&(t.title||t.value||t),description:t&&t.description,value:t&&(t.value===undefined?i:t.value),selected:t&&t.selected,disabled:t&&t.disabled}}));this.clear=u("",this.out.columns);if(!t.overrideRender){this.render()}}reset(){this.value.map((t=>!t.selected));this.cursor=0;this.fire();this.render()}selected(){return this.value.filter((t=>t.selected))}exit(){this.abort()}abort(){this.done=this.aborted=true;this.fire();this.render();this.out.write("\n");this.close()}submit(){const t=this.value.filter((t=>t.selected));if(this.minSelected&&t.length<this.minSelected){this.showMinError=true;this.render()}else{this.done=true;this.aborted=false;this.fire();this.render();this.out.write("\n");this.close()}}first(){this.cursor=0;this.render()}last(){this.cursor=this.value.length-1;this.render()}next(){this.cursor=(this.cursor+1)%this.value.length;this.render()}up(){if(this.cursor===0){this.cursor=this.value.length-1}else{this.cursor--}this.render()}down(){if(this.cursor===this.value.length-1){this.cursor=0}else{this.cursor++}this.render()}left(){this.value[this.cursor].selected=false;this.render()}right(){if(this.value.filter((t=>t.selected)).length>=this.maxChoices)return this.bell();this.value[this.cursor].selected=true;this.render()}handleSpaceToggle(){const t=this.value[this.cursor];if(t.selected){t.selected=false;this.render()}else if(t.disabled||this.value.filter((t=>t.selected)).length>=this.maxChoices){return this.bell()}else{t.selected=true;this.render()}}toggleAll(){if(this.maxChoices!==undefined||this.value[this.cursor].disabled){return this.bell()}const t=!this.value[this.cursor].selected;this.value.filter((t=>!t.disabled)).forEach((i=>i.selected=t));this.render()}_(t,i){if(t===" "){this.handleSpaceToggle()}else if(t==="a"){this.toggleAll()}else{return this.bell()}}renderInstructions(){if(this.instructions===undefined||this.instructions){if(typeof this.instructions==="string"){return this.instructions}return"\nInstructions:\n"+` ${d.arrowUp}/${d.arrowDown}: Highlight option\n`+` ${d.arrowLeft}/${d.arrowRight}/[space]: Toggle selection\n`+(this.maxChoices===undefined?` a: Toggle all\n`:"")+` enter/return: Complete answer`}return""}renderOption(t,i,r,a){const h=(i.selected?o.green(d.radioOn):d.radioOff)+" "+a+" ";let c,l;if(i.disabled){c=t===r?o.gray().underline(i.title):o.strikethrough().gray(i.title)}else{c=t===r?o.cyan().underline(i.title):i.title;if(t===r&&i.description){l=` - ${i.description}`;if(h.length+c.length+l.length>=this.out.columns||i.description.split(/\r?\n/).length>1){l="\n"+m(i.description,{margin:h.length,width:this.out.columns})}}}return h+c+o.gray(l||"")}paginateOptions(t){if(t.length===0){return o.red("No matches for this query.")}let i=y(this.cursor,t.length,this.optionsPerPage),r=i.startIndex,a=i.endIndex;let h,c=[];for(let i=r;i<a;i++){if(i===r&&r>0){h=d.arrowUp}else if(i===a-1&&a<t.length){h=d.arrowDown}else{h=" "}c.push(this.renderOption(this.cursor,t[i],i,h))}return"\n"+c.join("\n")}renderOptions(t){if(!this.done){return this.paginateOptions(t)}return""}renderDoneOrInstructions(){if(this.done){return this.value.filter((t=>t.selected)).map((t=>t.title)).join(", ")}const t=[o.gray(this.hint),this.renderInstructions()];if(this.value[this.cursor].disabled){t.push(o.yellow(this.warn))}return t.join(" ")}render(){if(this.closed)return;if(this.firstRender)this.out.write(h.hide);super.render();let t=[p.symbol(this.done,this.aborted),o.bold(this.msg),p.delimiter(false),this.renderDoneOrInstructions()].join(" ");if(this.showMinError){t+=o.red(`You must select a minimum of ${this.minSelected} choices.`);this.showMinError=false}t+=this.renderOptions(this.value);this.out.write(this.clear+t);this.clear=u(t,this.out.columns)}}t.exports=MultiselectPrompt},4827:(t,i,r)=>{function asyncGeneratorStep(t,i,r,o,a,h,c){try{var l=t[h](c);var u=l.value}catch(t){r(t);return}if(l.done){i(u)}else{Promise.resolve(u).then(o,a)}}function _asyncToGenerator(t){return function(){var i=this,r=arguments;return new Promise((function(o,a){var h=t.apply(i,r);function _next(t){asyncGeneratorStep(h,o,a,_next,_throw,"next",t)}function _throw(t){asyncGeneratorStep(h,o,a,_next,_throw,"throw",t)}_next(undefined)}))}}const o=r(1081);const a=r(2547);const h=r(5624),c=h.cursor,l=h.erase;const u=r(5970),d=u.style,p=u.figures,m=u.clear,y=u.lines;const g=/[0-9]/;const isDef=t=>t!==undefined;const round=(t,i)=>{let r=Math.pow(10,i);return Math.round(t*r)/r};class NumberPrompt extends a{constructor(t={}){super(t);this.transform=d.render(t.style);this.msg=t.message;this.initial=isDef(t.initial)?t.initial:"";this.float=!!t.float;this.round=t.round||2;this.inc=t.increment||1;this.min=isDef(t.min)?t.min:-Infinity;this.max=isDef(t.max)?t.max:Infinity;this.errorMsg=t.error||`Please Enter A Valid Value`;this.validator=t.validate||(()=>true);this.color=`cyan`;this.value=``;this.typed=``;this.lastHit=0;this.render()}set value(t){if(!t&&t!==0){this.placeholder=true;this.rendered=o.gray(this.transform.render(`${this.initial}`));this._value=``}else{this.placeholder=false;this.rendered=this.transform.render(`${round(t,this.round)}`);this._value=round(t,this.round)}this.fire()}get value(){return this._value}parse(t){return this.float?parseFloat(t):parseInt(t)}valid(t){return t===`-`||t===`.`&&this.float||g.test(t)}reset(){this.typed=``;this.value=``;this.fire();this.render()}exit(){this.abort()}abort(){let t=this.value;this.value=t!==``?t:this.initial;this.done=this.aborted=true;this.error=false;this.fire();this.render();this.out.write(`\n`);this.close()}validate(){var t=this;return _asyncToGenerator((function*(){let i=yield t.validator(t.value);if(typeof i===`string`){t.errorMsg=i;i=false}t.error=!i}))()}submit(){var t=this;return _asyncToGenerator((function*(){yield t.validate();if(t.error){t.color=`red`;t.fire();t.render();return}let i=t.value;t.value=i!==``?i:t.initial;t.done=true;t.aborted=false;t.error=false;t.fire();t.render();t.out.write(`\n`);t.close()}))()}up(){this.typed=``;if(this.value===""){this.value=this.min-this.inc}if(this.value>=this.max)return this.bell();this.value+=this.inc;this.color=`cyan`;this.fire();this.render()}down(){this.typed=``;if(this.value===""){this.value=this.min+this.inc}if(this.value<=this.min)return this.bell();this.value-=this.inc;this.color=`cyan`;this.fire();this.render()}delete(){let t=this.value.toString();if(t.length===0)return this.bell();this.value=this.parse(t=t.slice(0,-1))||``;if(this.value!==""&&this.value<this.min){this.value=this.min}this.color=`cyan`;this.fire();this.render()}next(){this.value=this.initial;this.fire();this.render()}_(t,i){if(!this.valid(t))return this.bell();const r=Date.now();if(r-this.lastHit>1e3)this.typed=``;this.typed+=t;this.lastHit=r;this.color=`cyan`;if(t===`.`)return this.fire();this.value=Math.min(this.parse(this.typed),this.max);if(this.value>this.max)this.value=this.max;if(this.value<this.min)this.value=this.min;this.fire();this.render()}render(){if(this.closed)return;if(!this.firstRender){if(this.outputError)this.out.write(c.down(y(this.outputError,this.out.columns)-1)+m(this.outputError,this.out.columns));this.out.write(m(this.outputText,this.out.columns))}super.render();this.outputError="";this.outputText=[d.symbol(this.done,this.aborted),o.bold(this.msg),d.delimiter(this.done),!this.done||!this.done&&!this.placeholder?o[this.color]().underline(this.rendered):this.rendered].join(` `);if(this.error){this.outputError+=this.errorMsg.split(`\n`).reduce(((t,i,r)=>t+`\n${r?` `:p.pointerSmall} ${o.red().italic(i)}`),``)}this.out.write(l.line+c.to(0)+this.outputText+c.save+this.outputError+c.restore)}}t.exports=NumberPrompt},2547:(t,i,r)=>{const o=r(4521);const a=r(5970),h=a.action;const c=r(2361);const l=r(5624),u=l.beep,d=l.cursor;const p=r(1081);class Prompt extends c{constructor(t={}){super();this.firstRender=true;this.in=t.stdin||process.stdin;this.out=t.stdout||process.stdout;this.onRender=(t.onRender||(()=>void 0)).bind(this);const i=o.createInterface({input:this.in,escapeCodeTimeout:50});o.emitKeypressEvents(this.in,i);if(this.in.isTTY)this.in.setRawMode(true);const r=["SelectPrompt","MultiselectPrompt"].indexOf(this.constructor.name)>-1;const keypress=(t,i)=>{let o=h(i,r);if(o===false){this._&&this._(t,i)}else if(typeof this[o]==="function"){this[o](i)}else{this.bell()}};this.close=()=>{this.out.write(d.show);this.in.removeListener("keypress",keypress);if(this.in.isTTY)this.in.setRawMode(false);i.close();this.emit(this.aborted?"abort":this.exited?"exit":"submit",this.value);this.closed=true};this.in.on("keypress",keypress)}fire(){this.emit("state",{value:this.value,aborted:!!this.aborted,exited:!!this.exited})}bell(){this.out.write(u)}render(){this.onRender(p);if(this.firstRender)this.firstRender=false}}t.exports=Prompt},2999:(t,i,r)=>{const o=r(1081);const a=r(2547);const h=r(5970),c=h.style,l=h.clear,u=h.figures,d=h.wrap,p=h.entriesToDisplay;const m=r(5624),y=m.cursor;class SelectPrompt extends a{constructor(t={}){super(t);this.msg=t.message;this.hint=t.hint||"- Use arrow-keys. Return to submit.";this.warn=t.warn||"- This option is disabled";this.cursor=t.initial||0;this.choices=t.choices.map(((t,i)=>{if(typeof t==="string")t={title:t,value:i};return{title:t&&(t.title||t.value||t),value:t&&(t.value===undefined?i:t.value),description:t&&t.description,selected:t&&t.selected,disabled:t&&t.disabled}}));this.optionsPerPage=t.optionsPerPage||10;this.value=(this.choices[this.cursor]||{}).value;this.clear=l("",this.out.columns);this.render()}moveCursor(t){this.cursor=t;this.value=this.choices[t].value;this.fire()}reset(){this.moveCursor(0);this.fire();this.render()}exit(){this.abort()}abort(){this.done=this.aborted=true;this.fire();this.render();this.out.write("\n");this.close()}submit(){if(!this.selection.disabled){this.done=true;this.aborted=false;this.fire();this.render();this.out.write("\n");this.close()}else this.bell()}first(){this.moveCursor(0);this.render()}last(){this.moveCursor(this.choices.length-1);this.render()}up(){if(this.cursor===0){this.moveCursor(this.choices.length-1)}else{this.moveCursor(this.cursor-1)}this.render()}down(){if(this.cursor===this.choices.length-1){this.moveCursor(0)}else{this.moveCursor(this.cursor+1)}this.render()}next(){this.moveCursor((this.cursor+1)%this.choices.length);this.render()}_(t,i){if(t===" ")return this.submit()}get selection(){return this.choices[this.cursor]}render(){if(this.closed)return;if(this.firstRender)this.out.write(y.hide);else this.out.write(l(this.outputText,this.out.columns));super.render();let t=p(this.cursor,this.choices.length,this.optionsPerPage),i=t.startIndex,r=t.endIndex;this.outputText=[c.symbol(this.done,this.aborted),o.bold(this.msg),c.delimiter(false),this.done?this.selection.title:this.selection.disabled?o.yellow(this.warn):o.gray(this.hint)].join(" ");if(!this.done){this.outputText+="\n";for(let t=i;t<r;t++){let a,h,c="",l=this.choices[t];if(t===i&&i>0){h=u.arrowUp}else if(t===r-1&&r<this.choices.length){h=u.arrowDown}else{h=" "}if(l.disabled){a=this.cursor===t?o.gray().underline(l.title):o.strikethrough().gray(l.title);h=(this.cursor===t?o.bold().gray(u.pointer)+" ":" ")+h}else{a=this.cursor===t?o.cyan().underline(l.title):l.title;h=(this.cursor===t?o.cyan(u.pointer)+" ":" ")+h;if(l.description&&this.cursor===t){c=` - ${l.description}`;if(h.length+a.length+c.length>=this.out.columns||l.description.split(/\r?\n/).length>1){c="\n"+d(l.description,{margin:3,width:this.out.columns})}}}this.outputText+=`${h} ${a}${o.gray(c)}\n`}}this.out.write(this.outputText)}}t.exports=SelectPrompt},7740:(t,i,r)=>{function asyncGeneratorStep(t,i,r,o,a,h,c){try{var l=t[h](c);var u=l.value}catch(t){r(t);return}if(l.done){i(u)}else{Promise.resolve(u).then(o,a)}}function _asyncToGenerator(t){return function(){var i=this,r=arguments;return new Promise((function(o,a){var h=t.apply(i,r);function _next(t){asyncGeneratorStep(h,o,a,_next,_throw,"next",t)}function _throw(t){asyncGeneratorStep(h,o,a,_next,_throw,"throw",t)}_next(undefined)}))}}const o=r(1081);const a=r(2547);const h=r(5624),c=h.erase,l=h.cursor;const u=r(5970),d=u.style,p=u.clear,m=u.lines,y=u.figures;class TextPrompt extends a{constructor(t={}){super(t);this.transform=d.render(t.style);this.scale=this.transform.scale;this.msg=t.message;this.initial=t.initial||``;this.validator=t.validate||(()=>true);this.value=``;this.errorMsg=t.error||`Please Enter A Valid Value`;this.cursor=Number(!!this.initial);this.cursorOffset=0;this.clear=p(``,this.out.columns);this.render()}set value(t){if(!t&&this.initial){this.placeholder=true;this.rendered=o.gray(this.transform.render(this.initial))}else{this.placeholder=false;this.rendered=this.transform.render(t)}this._value=t;this.fire()}get value(){return this._value}reset(){this.value=``;this.cursor=Number(!!this.initial);this.cursorOffset=0;this.fire();this.render()}exit(){this.abort()}abort(){this.value=this.value||this.initial;this.done=this.aborted=true;this.error=false;this.red=false;this.fire();this.render();this.out.write("\n");this.close()}validate(){var t=this;return _asyncToGenerator((function*(){let i=yield t.validator(t.value);if(typeof i===`string`){t.errorMsg=i;i=false}t.error=!i}))()}submit(){var t=this;return _asyncToGenerator((function*(){t.value=t.value||t.initial;t.cursorOffset=0;t.cursor=t.rendered.length;yield t.validate();if(t.error){t.red=true;t.fire();t.render();return}t.done=true;t.aborted=false;t.fire();t.render();t.out.write("\n");t.close()}))()}next(){if(!this.placeholder)return this.bell();this.value=this.initial;this.cursor=this.rendered.length;this.fire();this.render()}moveCursor(t){if(this.placeholder)return;this.cursor=this.cursor+t;this.cursorOffset+=t}_(t,i){let r=this.value.slice(0,this.cursor);let o=this.value.slice(this.cursor);this.value=`${r}${t}${o}`;this.red=false;this.cursor=this.placeholder?0:r.length+1;this.render()}delete(){if(this.isCursorAtStart())return this.bell();let t=this.value.slice(0,this.cursor-1);let i=this.value.slice(this.cursor);this.value=`${t}${i}`;this.red=false;if(this.isCursorAtStart()){this.cursorOffset=0}else{this.cursorOffset++;this.moveCursor(-1)}this.render()}deleteForward(){if(this.cursor*this.scale>=this.rendered.length||this.placeholder)return this.bell();let t=this.value.slice(0,this.cursor);let i=this.value.slice(this.cursor+1);this.value=`${t}${i}`;this.red=false;if(this.isCursorAtEnd()){this.cursorOffset=0}else{this.cursorOffset++}this.render()}first(){this.cursor=0;this.render()}last(){this.cursor=this.value.length;this.render()}left(){if(this.cursor<=0||this.placeholder)return this.bell();this.moveCursor(-1);this.render()}right(){if(this.cursor*this.scale>=this.rendered.length||this.placeholder)return this.bell();this.moveCursor(1);this.render()}isCursorAtStart(){return this.cursor===0||this.placeholder&&this.cursor===1}isCursorAtEnd(){return this.cursor===this.rendered.length||this.placeholder&&this.cursor===this.rendered.length+1}render(){if(this.closed)return;if(!this.firstRender){if(this.outputError)this.out.write(l.down(m(this.outputError,this.out.columns)-1)+p(this.outputError,this.out.columns));this.out.write(p(this.outputText,this.out.columns))}super.render();this.outputError="";this.outputText=[d.symbol(this.done,this.aborted),o.bold(this.msg),d.delimiter(this.done),this.red?o.red(this.rendered):this.rendered].join(` `);if(this.error){this.outputError+=this.errorMsg.split(`\n`).reduce(((t,i,r)=>t+`\n${r?" ":y.pointerSmall} ${o.red().italic(i)}`),``)}this.out.write(c.line+l.to(0)+this.outputText+l.save+this.outputError+l.restore+l.move(this.cursorOffset,0))}}t.exports=TextPrompt},4641:(t,i,r)=>{const o=r(1081);const a=r(2547);const h=r(5970),c=h.style,l=h.clear;const u=r(5624),d=u.cursor,p=u.erase;class TogglePrompt extends a{constructor(t={}){super(t);this.msg=t.message;this.value=!!t.initial;this.active=t.active||"on";this.inactive=t.inactive||"off";this.initialValue=this.value;this.render()}reset(){this.value=this.initialValue;this.fire();this.render()}exit(){this.abort()}abort(){this.done=this.aborted=true;this.fire();this.render();this.out.write("\n");this.close()}submit(){this.done=true;this.aborted=false;this.fire();this.render();this.out.write("\n");this.close()}deactivate(){if(this.value===false)return this.bell();this.value=false;this.render()}activate(){if(this.value===true)return this.bell();this.value=true;this.render()}delete(){this.deactivate()}left(){this.deactivate()}right(){this.activate()}down(){this.deactivate()}up(){this.activate()}next(){this.value=!this.value;this.fire();this.render()}_(t,i){if(t===" "){this.value=!this.value}else if(t==="1"){this.value=true}else if(t==="0"){this.value=false}else return this.bell();this.render()}render(){if(this.closed)return;if(this.firstRender)this.out.write(d.hide);else this.out.write(l(this.outputText,this.out.columns));super.render();this.outputText=[c.symbol(this.done,this.aborted),o.bold(this.msg),c.delimiter(this.done),this.value?this.inactive:o.cyan().underline(this.inactive),o.gray("/"),this.value?o.cyan().underline(this.active):this.active].join(" ");this.out.write(p.line+d.to(0)+this.outputText)}}t.exports=TogglePrompt},9037:(t,i,r)=>{function ownKeys(t,i){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);if(i){o=o.filter((function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable}))}r.push.apply(r,o)}return r}function _objectSpread(t){for(var i=1;i<arguments.length;i++){var r=arguments[i]!=null?arguments[i]:{};if(i%2){ownKeys(Object(r),true).forEach((function(i){_defineProperty(t,i,r[i])}))}else if(Object.getOwnPropertyDescriptors){Object.defineProperties(t,Object.getOwnPropertyDescriptors(r))}else{ownKeys(Object(r)).forEach((function(i){Object.defineProperty(t,i,Object.getOwnPropertyDescriptor(r,i))}))}}return t}function _defineProperty(t,i,r){if(i in t){Object.defineProperty(t,i,{value:r,enumerable:true,configurable:true,writable:true})}else{t[i]=r}return t}function _createForOfIteratorHelper(t,i){var r=typeof Symbol!=="undefined"&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=_unsupportedIterableToArray(t))||i&&t&&typeof t.length==="number"){if(r)t=r;var o=0;var a=function F(){};return{s:a,n:function n(){if(o>=t.length)return{done:true};return{done:false,value:t[o++]}},e:function e(t){throw t},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var h=true,c=false,l;return{s:function s(){r=r.call(t)},n:function n(){var t=r.next();h=t.done;return t},e:function e(t){c=true;l=t},f:function f(){try{if(!h&&r.return!=null)r.return()}finally{if(c)throw l}}}}function _unsupportedIterableToArray(t,i){if(!t)return;if(typeof t==="string")return _arrayLikeToArray(t,i);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor)r=t.constructor.name;if(r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return _arrayLikeToArray(t,i)}function _arrayLikeToArray(t,i){if(i==null||i>t.length)i=t.length;for(var r=0,o=new Array(i);r<i;r++)o[r]=t[r];return o}function asyncGeneratorStep(t,i,r,o,a,h,c){try{var l=t[h](c);var u=l.value}catch(t){r(t);return}if(l.done){i(u)}else{Promise.resolve(u).then(o,a)}}function _asyncToGenerator(t){return function(){var i=this,r=arguments;return new Promise((function(o,a){var h=t.apply(i,r);function _next(t){asyncGeneratorStep(h,o,a,_next,_throw,"next",t)}function _throw(t){asyncGeneratorStep(h,o,a,_next,_throw,"throw",t)}_next(undefined)}))}}const o=r(8078);const a=["suggest","format","onState","validate","onRender","type"];const noop=()=>{};function prompt(){return _prompt.apply(this,arguments)}function _prompt(){_prompt=_asyncToGenerator((function*(t=[],{onSubmit:i=noop,onCancel:r=noop}={}){const h={};const c=prompt._override||{};t=[].concat(t);let l,u,d,p,m,y;const g=function(){var t=_asyncToGenerator((function*(t,i,r=false){if(!r&&t.validate&&t.validate(i)!==true){return}return t.format?yield t.format(i,h):i}));return function getFormattedAnswer(i,r){return t.apply(this,arguments)}}();var b=_createForOfIteratorHelper(t),w;try{for(b.s();!(w=b.n()).done;){u=w.value;var v=u;p=v.name;m=v.type;if(typeof m==="function"){m=yield m(l,_objectSpread({},h),u);u["type"]=m}if(!m)continue;for(let t in u){if(a.includes(t))continue;let i=u[t];u[t]=typeof i==="function"?yield i(l,_objectSpread({},h),y):i}y=u;if(typeof u.message!=="string"){throw new Error("prompt message is required")}var S=u;p=S.name;m=S.type;if(o[m]===void 0){throw new Error(`prompt type (${m}) is not defined`)}if(c[u.name]!==undefined){l=yield g(u,c[u.name]);if(l!==undefined){h[p]=l;continue}}try{l=prompt._injected?getInjectedAnswer(prompt._injected,u.initial):yield o[m](u);h[p]=l=yield g(u,l,true);d=yield i(u,l,h)}catch(t){d=!(yield r(u,h))}if(d)return h}}catch(t){b.e(t)}finally{b.f()}return h}));return _prompt.apply(this,arguments)}function getInjectedAnswer(t,i){const r=t.shift();if(r instanceof Error){throw r}return r===undefined?i:r}function inject(t){prompt._injected=(prompt._injected||[]).concat(t)}function override(t){prompt._override=Object.assign({},t)}t.exports=Object.assign(prompt,{prompt:prompt,prompts:o,inject:inject,override:override})},8078:(t,i,r)=>{const o=i;const a=r(8595);const noop=t=>t;function toPrompt(t,i,r={}){return new Promise(((o,h)=>{const c=new a[t](i);const l=r.onAbort||noop;const u=r.onSubmit||noop;const d=r.onExit||noop;c.on("state",i.onState||noop);c.on("submit",(t=>o(u(t))));c.on("exit",(t=>o(d(t))));c.on("abort",(t=>h(l(t))))}))}o.text=t=>toPrompt("TextPrompt",t);o.password=t=>{t.style="password";return o.text(t)};o.invisible=t=>{t.style="invisible";return o.text(t)};o.number=t=>toPrompt("NumberPrompt",t);o.date=t=>toPrompt("DatePrompt",t);o.confirm=t=>toPrompt("ConfirmPrompt",t);o.list=t=>{const i=t.separator||",";return toPrompt("TextPrompt",t,{onSubmit:t=>t.split(i).map((t=>t.trim()))})};o.toggle=t=>toPrompt("TogglePrompt",t);o.select=t=>toPrompt("SelectPrompt",t);o.multiselect=t=>{t.choices=[].concat(t.choices||[]);const toSelected=t=>t.filter((t=>t.selected)).map((t=>t.value));return toPrompt("MultiselectPrompt",t,{onAbort:toSelected,onSubmit:toSelected})};o.autocompleteMultiselect=t=>{t.choices=[].concat(t.choices||[]);const toSelected=t=>t.filter((t=>t.selected)).map((t=>t.value));return toPrompt("AutocompleteMultiselectPrompt",t,{onAbort:toSelected,onSubmit:toSelected})};const byTitle=(t,i)=>Promise.resolve(i.filter((i=>i.title.slice(0,t.length).toLowerCase()===t.toLowerCase())));o.autocomplete=t=>{t.suggest=t.suggest||byTitle;t.choices=[].concat(t.choices||[]);return toPrompt("AutocompletePrompt",t)}},8075:t=>{t.exports=(t,i)=>{if(t.meta&&t.name!=="escape")return;if(t.ctrl){if(t.name==="a")return"first";if(t.name==="c")return"abort";if(t.name==="d")return"abort";if(t.name==="e")return"last";if(t.name==="g")return"reset"}if(i){if(t.name==="j")return"down";if(t.name==="k")return"up"}if(t.name==="return")return"submit";if(t.name==="enter")return"submit";if(t.name==="backspace")return"delete";if(t.name==="delete")return"deleteForward";if(t.name==="abort")return"abort";if(t.name==="escape")return"exit";if(t.name==="tab")return"next";if(t.name==="pagedown")return"nextPage";if(t.name==="pageup")return"prevPage";if(t.name==="home")return"home";if(t.name==="end")return"end";if(t.name==="up")return"up";if(t.name==="down")return"down";if(t.name==="right")return"right";if(t.name==="left")return"left";return false}},7640:(t,i,r)=>{function _createForOfIteratorHelper(t,i){var r=typeof Symbol!=="undefined"&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=_unsupportedIterableToArray(t))||i&&t&&typeof t.length==="number"){if(r)t=r;var o=0;var a=function F(){};return{s:a,n:function n(){if(o>=t.length)return{done:true};return{done:false,value:t[o++]}},e:function e(t){throw t},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var h=true,c=false,l;return{s:function s(){r=r.call(t)},n:function n(){var t=r.next();h=t.done;return t},e:function e(t){c=true;l=t},f:function f(){try{if(!h&&r.return!=null)r.return()}finally{if(c)throw l}}}}function _unsupportedIterableToArray(t,i){if(!t)return;if(typeof t==="string")return _arrayLikeToArray(t,i);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor)r=t.constructor.name;if(r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return _arrayLikeToArray(t,i)}function _arrayLikeToArray(t,i){if(i==null||i>t.length)i=t.length;for(var r=0,o=new Array(i);r<i;r++)o[r]=t[r];return o}const o=r(6375);const a=r(5624),h=a.erase,c=a.cursor;const width=t=>[...o(t)].length;t.exports=function(t,i){if(!i)return h.line+c.to(0);let r=0;const o=t.split(/\r?\n/);var a=_createForOfIteratorHelper(o),l;try{for(a.s();!(l=a.n()).done;){let t=l.value;r+=1+Math.floor(Math.max(width(t)-1,0)/i)}}catch(t){a.e(t)}finally{a.f()}return h.lines(r)}},1899:t=>{t.exports=(t,i,r)=>{r=r||i;let o=Math.min(i-r,t-Math.floor(r/2));if(o<0)o=0;let a=Math.min(o+r,i);return{startIndex:o,endIndex:a}}},171:t=>{const i={arrowUp:"↑",arrowDown:"↓",arrowLeft:"←",arrowRight:"→",radioOn:"◉",radioOff:"◯",tick:"✔",cross:"✖",ellipsis:"…",pointerSmall:"›",line:"─",pointer:"❯"};const r={arrowUp:i.arrowUp,arrowDown:i.arrowDown,arrowLeft:i.arrowLeft,arrowRight:i.arrowRight,radioOn:"(*)",radioOff:"( )",tick:"√",cross:"×",ellipsis:"...",pointerSmall:"»",line:"─",pointer:">"};const o=process.platform==="win32"?r:i;t.exports=o},5970:(t,i,r)=>{t.exports={action:r(8075),clear:r(7640),style:r(3392),strip:r(6375),figures:r(171),lines:r(1496),wrap:r(6328),entriesToDisplay:r(1899)}},1496:(t,i,r)=>{const o=r(6375);t.exports=function(t,i){let r=String(o(t)||"").split(/\r?\n/);if(!i)return r.length;return r.map((t=>Math.ceil(t.length/i))).reduce(((t,i)=>t+i))}},6375:t=>{t.exports=t=>{const i=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PRZcf-ntqry=><~]))"].join("|");const r=new RegExp(i,"g");return typeof t==="string"?t.replace(r,""):t}},3392:(t,i,r)=>{const o=r(1081);const a=r(171);const h=Object.freeze({password:{scale:1,render:t=>"*".repeat(t.length)},emoji:{scale:2,render:t=>"😃".repeat(t.length)},invisible:{scale:0,render:t=>""},default:{scale:1,render:t=>`${t}`}});const render=t=>h[t]||h.default;const c=Object.freeze({aborted:o.red(a.cross),done:o.green(a.tick),exited:o.yellow(a.cross),default:o.cyan("?")});const symbol=(t,i,r)=>i?c.aborted:r?c.exited:t?c.done:c.default;const delimiter=t=>o.gray(t?a.ellipsis:a.pointerSmall);const item=(t,i)=>o.gray(t?i?a.pointerSmall:"+":a.line);t.exports={styles:h,render:render,symbols:c,symbol:symbol,delimiter:delimiter,item:item}},6328:t=>{t.exports=(t,i={})=>{const r=Number.isSafeInteger(parseInt(i.margin))?new Array(parseInt(i.margin)).fill(" ").join(""):i.margin||"";const o=i.width;return(t||"").split(/\r?\n/g).map((t=>t.split(/\s+/g).reduce(((t,i)=>{if(i.length+r.length>=o||t[t.length-1].length+i.length+1<o)t[t.length-1]+=` ${i}`;else t.push(`${r}${i}`);return t}),[r]).join("\n"))).join("\n")}},5918:(t,i,r)=>{function isNodeLT(t){t=(Array.isArray(t)?t:t.split(".")).map(Number);let i=0,r=process.versions.node.split(".").map(Number);for(;i<t.length;i++){if(r[i]>t[i])return false;if(t[i]>r[i])return true}return false}t.exports=isNodeLT("8.6.0")?r(9037):r(8837)},9611:t=>{class DatePart{constructor({token:t,date:i,parts:r,locales:o}){this.token=t;this.date=i||new Date;this.parts=r||[this];this.locales=o||{}}up(){}down(){}next(){const t=this.parts.indexOf(this);return this.parts.find(((i,r)=>r>t&&i instanceof DatePart))}setTo(t){}prev(){let t=[].concat(this.parts).reverse();const i=t.indexOf(this);return t.find(((t,r)=>r>i&&t instanceof DatePart))}toString(){return String(this.date)}}t.exports=DatePart},6205:(t,i,r)=>{const o=r(9611);const pos=t=>{t=t%10;return t===1?"st":t===2?"nd":t===3?"rd":"th"};class Day extends o{constructor(t={}){super(t)}up(){this.date.setDate(this.date.getDate()+1)}down(){this.date.setDate(this.date.getDate()-1)}setTo(t){this.date.setDate(parseInt(t.substr(-2)))}toString(){let t=this.date.getDate();let i=this.date.getDay();return this.token==="DD"?String(t).padStart(2,"0"):this.token==="Do"?t+pos(t):this.token==="d"?i+1:this.token==="ddd"?this.locales.weekdaysShort[i]:this.token==="dddd"?this.locales.weekdays[i]:t}}t.exports=Day},1428:(t,i,r)=>{const o=r(9611);class Hours extends o{constructor(t={}){super(t)}up(){this.date.setHours(this.date.getHours()+1)}down(){this.date.setHours(this.date.getHours()-1)}setTo(t){this.date.setHours(parseInt(t.substr(-2)))}toString(){let t=this.date.getHours();if(/h/.test(this.token))t=t%12||12;return this.token.length>1?String(t).padStart(2,"0"):t}}t.exports=Hours},5876:(t,i,r)=>{t.exports={DatePart:r(9611),Meridiem:r(3437),Day:r(6205),Hours:r(1428),Milliseconds:r(7908),Minutes:r(1745),Month:r(8043),Seconds:r(8331),Year:r(2197)}},3437:(t,i,r)=>{const o=r(9611);class Meridiem extends o{constructor(t={}){super(t)}up(){this.date.setHours((this.date.getHours()+12)%24)}down(){this.up()}toString(){let t=this.date.getHours()>12?"pm":"am";return/\A/.test(this.token)?t.toUpperCase():t}}t.exports=Meridiem},7908:(t,i,r)=>{const o=r(9611);class Milliseconds extends o{constructor(t={}){super(t)}up(){this.date.setMilliseconds(this.date.getMilliseconds()+1)}down(){this.date.setMilliseconds(this.date.getMilliseconds()-1)}setTo(t){this.date.setMilliseconds(parseInt(t.substr(-this.token.length)))}toString(){return String(this.date.getMilliseconds()).padStart(4,"0").substr(0,this.token.length)}}t.exports=Milliseconds},1745:(t,i,r)=>{const o=r(9611);class Minutes extends o{constructor(t={}){super(t)}up(){this.date.setMinutes(this.date.getMinutes()+1)}down(){this.date.setMinutes(this.date.getMinutes()-1)}setTo(t){this.date.setMinutes(parseInt(t.substr(-2)))}toString(){let t=this.date.getMinutes();return this.token.length>1?String(t).padStart(2,"0"):t}}t.exports=Minutes},8043:(t,i,r)=>{const o=r(9611);class Month extends o{constructor(t={}){super(t)}up(){this.date.setMonth(this.date.getMonth()+1)}down(){this.date.setMonth(this.date.getMonth()-1)}setTo(t){t=parseInt(t.substr(-2))-1;this.date.setMonth(t<0?0:t)}toString(){let t=this.date.getMonth();let i=this.token.length;return i===2?String(t+1).padStart(2,"0"):i===3?this.locales.monthsShort[t]:i===4?this.locales.months[t]:String(t+1)}}t.exports=Month},8331:(t,i,r)=>{const o=r(9611);class Seconds extends o{constructor(t={}){super(t)}up(){this.date.setSeconds(this.date.getSeconds()+1)}down(){this.date.setSeconds(this.date.getSeconds()-1)}setTo(t){this.date.setSeconds(parseInt(t.substr(-2)))}toString(){let t=this.date.getSeconds();return this.token.length>1?String(t).padStart(2,"0"):t}}t.exports=Seconds},2197:(t,i,r)=>{const o=r(9611);class Year extends o{constructor(t={}){super(t)}up(){this.date.setFullYear(this.date.getFullYear()+1)}down(){this.date.setFullYear(this.date.getFullYear()-1)}setTo(t){this.date.setFullYear(t.substr(-4))}toString(){let t=String(this.date.getFullYear()).padStart(4,"0");return this.token.length===2?t.substr(-2):t}}t.exports=Year},4485:(t,i,r)=>{const o=r(1081);const a=r(432);const{erase:h,cursor:c}=r(5624);const{style:l,clear:u,figures:d,wrap:p,entriesToDisplay:m}=r(1202);const getVal=(t,i)=>t[i]&&(t[i].value||t[i].title||t[i]);const getTitle=(t,i)=>t[i]&&(t[i].title||t[i].value||t[i]);const getIndex=(t,i)=>{const r=t.findIndex((t=>t.value===i||t.title===i));return r>-1?r:undefined};class AutocompletePrompt extends a{constructor(t={}){super(t);this.msg=t.message;this.suggest=t.suggest;this.choices=t.choices;this.initial=typeof t.initial==="number"?t.initial:getIndex(t.choices,t.initial);this.select=this.initial||t.cursor||0;this.i18n={noMatches:t.noMatches||"no matches found"};this.fallback=t.fallback||this.initial;this.clearFirst=t.clearFirst||false;this.suggestions=[];this.input="";this.limit=t.limit||10;this.cursor=0;this.transform=l.render(t.style);this.scale=this.transform.scale;this.render=this.render.bind(this);this.complete=this.complete.bind(this);this.clear=u("",this.out.columns);this.complete(this.render);this.render()}set fallback(t){this._fb=Number.isSafeInteger(parseInt(t))?parseInt(t):t}get fallback(){let t;if(typeof this._fb==="number")t=this.choices[this._fb];else if(typeof this._fb==="string")t={title:this._fb};return t||this._fb||{title:this.i18n.noMatches}}moveSelect(t){this.select=t;if(this.suggestions.length>0)this.value=getVal(this.suggestions,t);else this.value=this.fallback.value;this.fire()}async complete(t){const i=this.completing=this.suggest(this.input,this.choices);const r=await i;if(this.completing!==i)return;this.suggestions=r.map(((t,i,r)=>({title:getTitle(r,i),value:getVal(r,i),description:t.description})));this.completing=false;const o=Math.max(r.length-1,0);this.moveSelect(Math.min(o,this.select));t&&t()}reset(){this.input="";this.complete((()=>{this.moveSelect(this.initial!==void 0?this.initial:0);this.render()}));this.render()}exit(){if(this.clearFirst&&this.input.length>0){this.reset()}else{this.done=this.exited=true;this.aborted=false;this.fire();this.render();this.out.write("\n");this.close()}}abort(){this.done=this.aborted=true;this.exited=false;this.fire();this.render();this.out.write("\n");this.close()}submit(){this.done=true;this.aborted=this.exited=false;this.fire();this.render();this.out.write("\n");this.close()}_(t,i){let r=this.input.slice(0,this.cursor);let o=this.input.slice(this.cursor);this.input=`${r}${t}${o}`;this.cursor=r.length+1;this.complete(this.render);this.render()}delete(){if(this.cursor===0)return this.bell();let t=this.input.slice(0,this.cursor-1);let i=this.input.slice(this.cursor);this.input=`${t}${i}`;this.complete(this.render);this.cursor=this.cursor-1;this.render()}deleteForward(){if(this.cursor*this.scale>=this.rendered.length)return this.bell();let t=this.input.slice(0,this.cursor);let i=this.input.slice(this.cursor+1);this.input=`${t}${i}`;this.complete(this.render);this.render()}first(){this.moveSelect(0);this.render()}last(){this.moveSelect(this.suggestions.length-1);this.render()}up(){if(this.select===0){this.moveSelect(this.suggestions.length-1)}else{this.moveSelect(this.select-1)}this.render()}down(){if(this.select===this.suggestions.length-1){this.moveSelect(0)}else{this.moveSelect(this.select+1)}this.render()}next(){if(this.select===this.suggestions.length-1){this.moveSelect(0)}else this.moveSelect(this.select+1);this.render()}nextPage(){this.moveSelect(Math.min(this.select+this.limit,this.suggestions.length-1));this.render()}prevPage(){this.moveSelect(Math.max(this.select-this.limit,0));this.render()}left(){if(this.cursor<=0)return this.bell();this.cursor=this.cursor-1;this.render()}right(){if(this.cursor*this.scale>=this.rendered.length)return this.bell();this.cursor=this.cursor+1;this.render()}renderOption(t,i,r,a){let h;let c=r?d.arrowUp:a?d.arrowDown:" ";let l=i?o.cyan().underline(t.title):t.title;c=(i?o.cyan(d.pointer)+" ":" ")+c;if(t.description){h=` - ${t.description}`;if(c.length+l.length+h.length>=this.out.columns||t.description.split(/\r?\n/).length>1){h="\n"+p(t.description,{margin:3,width:this.out.columns})}}return c+" "+l+o.gray(h||"")}render(){if(this.closed)return;if(this.firstRender)this.out.write(c.hide);else this.out.write(u(this.outputText,this.out.columns));super.render();let{startIndex:t,endIndex:i}=m(this.select,this.choices.length,this.limit);this.outputText=[l.symbol(this.done,this.aborted,this.exited),o.bold(this.msg),l.delimiter(this.completing),this.done&&this.suggestions[this.select]?this.suggestions[this.select].title:this.rendered=this.transform.render(this.input)].join(" ");if(!this.done){const r=this.suggestions.slice(t,i).map(((r,o)=>this.renderOption(r,this.select===o+t,o===0&&t>0,o+t===i-1&&i<this.choices.length))).join("\n");this.outputText+=`\n`+(r||o.gray(this.fallback.title))}this.out.write(h.line+c.to(0)+this.outputText)}}t.exports=AutocompletePrompt},6061:(t,i,r)=>{const o=r(1081);const{cursor:a}=r(5624);const h=r(244);const{clear:c,style:l,figures:u}=r(1202);class AutocompleteMultiselectPrompt extends h{constructor(t={}){t.overrideRender=true;super(t);this.inputValue="";this.clear=c("",this.out.columns);this.filteredOptions=this.value;this.render()}last(){this.cursor=this.filteredOptions.length-1;this.render()}next(){this.cursor=(this.cursor+1)%this.filteredOptions.length;this.render()}up(){if(this.cursor===0){this.cursor=this.filteredOptions.length-1}else{this.cursor--}this.render()}down(){if(this.cursor===this.filteredOptions.length-1){this.cursor=0}else{this.cursor++}this.render()}left(){this.filteredOptions[this.cursor].selected=false;this.render()}right(){if(this.value.filter((t=>t.selected)).length>=this.maxChoices)return this.bell();this.filteredOptions[this.cursor].selected=true;this.render()}delete(){if(this.inputValue.length){this.inputValue=this.inputValue.substr(0,this.inputValue.length-1);this.updateFilteredOptions()}}updateFilteredOptions(){const t=this.filteredOptions[this.cursor];this.filteredOptions=this.value.filter((t=>{if(this.inputValue){if(typeof t.title==="string"){if(t.title.toLowerCase().includes(this.inputValue.toLowerCase())){return true}}if(typeof t.value==="string"){if(t.value.toLowerCase().includes(this.inputValue.toLowerCase())){return true}}return false}return true}));const i=this.filteredOptions.findIndex((i=>i===t));this.cursor=i<0?0:i;this.render()}handleSpaceToggle(){const t=this.filteredOptions[this.cursor];if(t.selected){t.selected=false;this.render()}else if(t.disabled||this.value.filter((t=>t.selected)).length>=this.maxChoices){return this.bell()}else{t.selected=true;this.render()}}handleInputChange(t){this.inputValue=this.inputValue+t;this.updateFilteredOptions()}_(t,i){if(t===" "){this.handleSpaceToggle()}else{this.handleInputChange(t)}}renderInstructions(){if(this.instructions===undefined||this.instructions){if(typeof this.instructions==="string"){return this.instructions}return`\nInstructions:\n ${u.arrowUp}/${u.arrowDown}: Highlight option\n ${u.arrowLeft}/${u.arrowRight}/[space]: Toggle selection\n [a,b,c]/delete: Filter choices\n enter/return: Complete answer\n`}return""}renderCurrentInput(){return`\nFiltered results for: ${this.inputValue?this.inputValue:o.gray("Enter something to filter")}\n`}renderOption(t,i,r){let a;if(i.disabled)a=t===r?o.gray().underline(i.title):o.strikethrough().gray(i.title);else a=t===r?o.cyan().underline(i.title):i.title;return(i.selected?o.green(u.radioOn):u.radioOff)+" "+a}renderDoneOrInstructions(){if(this.done){return this.value.filter((t=>t.selected)).map((t=>t.title)).join(", ")}const t=[o.gray(this.hint),this.renderInstructions(),this.renderCurrentInput()];if(this.filteredOptions.length&&this.filteredOptions[this.cursor].disabled){t.push(o.yellow(this.warn))}return t.join(" ")}render(){if(this.closed)return;if(this.firstRender)this.out.write(a.hide);super.render();let t=[l.symbol(this.done,this.aborted),o.bold(this.msg),l.delimiter(false),this.renderDoneOrInstructions()].join(" ");if(this.showMinError){t+=o.red(`You must select a minimum of ${this.minSelected} choices.`);this.showMinError=false}t+=this.renderOptions(this.filteredOptions);this.out.write(this.clear+t);this.clear=c(t,this.out.columns)}}t.exports=AutocompleteMultiselectPrompt},3223:(t,i,r)=>{const o=r(1081);const a=r(432);const{style:h,clear:c}=r(1202);const{erase:l,cursor:u}=r(5624);class ConfirmPrompt extends a{constructor(t={}){super(t);this.msg=t.message;this.value=t.initial;this.initialValue=!!t.initial;this.yesMsg=t.yes||"yes";this.yesOption=t.yesOption||"(Y/n)";this.noMsg=t.no||"no";this.noOption=t.noOption||"(y/N)";this.render()}reset(){this.value=this.initialValue;this.fire();this.render()}exit(){this.abort()}abort(){this.done=this.aborted=true;this.fire();this.render();this.out.write("\n");this.close()}submit(){this.value=this.value||false;this.done=true;this.aborted=false;this.fire();this.render();this.out.write("\n");this.close()}_(t,i){if(t.toLowerCase()==="y"){this.value=true;return this.submit()}if(t.toLowerCase()==="n"){this.value=false;return this.submit()}return this.bell()}render(){if(this.closed)return;if(this.firstRender)this.out.write(u.hide);else this.out.write(c(this.outputText,this.out.columns));super.render();this.outputText=[h.symbol(this.done,this.aborted),o.bold(this.msg),h.delimiter(this.done),this.done?this.value?this.yesMsg:this.noMsg:o.gray(this.initialValue?this.yesOption:this.noOption)].join(" ");this.out.write(l.line+u.to(0)+this.outputText)}}t.exports=ConfirmPrompt},4233:(t,i,r)=>{const o=r(1081);const a=r(432);const{style:h,clear:c,figures:l}=r(1202);const{erase:u,cursor:d}=r(5624);const{DatePart:p,Meridiem:m,Day:y,Hours:g,Milliseconds:b,Minutes:w,Month:v,Seconds:S,Year:E}=r(5876);const _=/\\(.)|"((?:\\["\\]|[^"])+)"|(D[Do]?|d{3,4}|d)|(M{1,4})|(YY(?:YY)?)|([aA])|([Hh]{1,2})|(m{1,2})|(s{1,2})|(S{1,4})|./g;const x={1:({token:t})=>t.replace(/\\(.)/g,"$1"),2:t=>new y(t),3:t=>new v(t),4:t=>new E(t),5:t=>new m(t),6:t=>new g(t),7:t=>new w(t),8:t=>new S(t),9:t=>new b(t)};const k={months:"January,February,March,April,May,June,July,August,September,October,November,December".split(","),monthsShort:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec".split(","),weekdays:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday".split(","),weekdaysShort:"Sun,Mon,Tue,Wed,Thu,Fri,Sat".split(",")};class DatePrompt extends a{constructor(t={}){super(t);this.msg=t.message;this.cursor=0;this.typed="";this.locales=Object.assign(k,t.locales);this._date=t.initial||new Date;this.errorMsg=t.error||"Please Enter A Valid Value";this.validator=t.validate||(()=>true);this.mask=t.mask||"YYYY-MM-DD HH:mm:ss";this.clear=c("",this.out.columns);this.render()}get value(){return this.date}get date(){return this._date}set date(t){if(t)this._date.setTime(t.getTime())}set mask(t){let i;this.parts=[];while(i=_.exec(t)){let t=i.shift();let r=i.findIndex((t=>t!=null));this.parts.push(r in x?x[r]({token:i[r]||t,date:this.date,parts:this.parts,locales:this.locales}):i[r]||t)}let r=this.parts.reduce(((t,i)=>{if(typeof i==="string"&&typeof t[t.length-1]==="string")t[t.length-1]+=i;else t.push(i);return t}),[]);this.parts.splice(0);this.parts.push(...r);this.reset()}moveCursor(t){this.typed="";this.cursor=t;this.fire()}reset(){this.moveCursor(this.parts.findIndex((t=>t instanceof p)));this.fire();this.render()}exit(){this.abort()}abort(){this.done=this.aborted=true;this.error=false;this.fire();this.render();this.out.write("\n");this.close()}async validate(){let t=await this.validator(this.value);if(typeof t==="string"){this.errorMsg=t;t=false}this.error=!t}async submit(){await this.validate();if(this.error){this.color="red";this.fire();this.render();return}this.done=true;this.aborted=false;this.fire();this.render();this.out.write("\n");this.close()}up(){this.typed="";this.parts[this.cursor].up();this.render()}down(){this.typed="";this.parts[this.cursor].down();this.render()}left(){let t=this.parts[this.cursor].prev();if(t==null)return this.bell();this.moveCursor(this.parts.indexOf(t));this.render()}right(){let t=this.parts[this.cursor].next();if(t==null)return this.bell();this.moveCursor(this.parts.indexOf(t));this.render()}next(){let t=this.parts[this.cursor].next();this.moveCursor(t?this.parts.indexOf(t):this.parts.findIndex((t=>t instanceof p)));this.render()}_(t){if(/\d/.test(t)){this.typed+=t;this.parts[this.cursor].setTo(this.typed);this.render()}}render(){if(this.closed)return;if(this.firstRender)this.out.write(d.hide);else this.out.write(c(this.outputText,this.out.columns));super.render();this.outputText=[h.symbol(this.done,this.aborted),o.bold(this.msg),h.delimiter(false),this.parts.reduce(((t,i,r)=>t.concat(r===this.cursor&&!this.done?o.cyan().underline(i.toString()):i)),[]).join("")].join(" ");if(this.error){this.outputText+=this.errorMsg.split("\n").reduce(((t,i,r)=>t+`\n${r?` `:l.pointerSmall} ${o.red().italic(i)}`),``)}this.out.write(u.line+d.to(0)+this.outputText)}}t.exports=DatePrompt},3022:(t,i,r)=>{t.exports={TextPrompt:r(321),SelectPrompt:r(5238),TogglePrompt:r(5362),DatePrompt:r(4233),NumberPrompt:r(9146),MultiselectPrompt:r(244),AutocompletePrompt:r(4485),AutocompleteMultiselectPrompt:r(6061),ConfirmPrompt:r(3223)}},244:(t,i,r)=>{const o=r(1081);const{cursor:a}=r(5624);const h=r(432);const{clear:c,figures:l,style:u,wrap:d,entriesToDisplay:p}=r(1202);class MultiselectPrompt extends h{constructor(t={}){super(t);this.msg=t.message;this.cursor=t.cursor||0;this.scrollIndex=t.cursor||0;this.hint=t.hint||"";this.warn=t.warn||"- This option is disabled -";this.minSelected=t.min;this.showMinError=false;this.maxChoices=t.max;this.instructions=t.instructions;this.optionsPerPage=t.optionsPerPage||10;this.value=t.choices.map(((t,i)=>{if(typeof t==="string")t={title:t,value:i};return{title:t&&(t.title||t.value||t),description:t&&t.description,value:t&&(t.value===undefined?i:t.value),selected:t&&t.selected,disabled:t&&t.disabled}}));this.clear=c("",this.out.columns);if(!t.overrideRender){this.render()}}reset(){this.value.map((t=>!t.selected));this.cursor=0;this.fire();this.render()}selected(){return this.value.filter((t=>t.selected))}exit(){this.abort()}abort(){this.done=this.aborted=true;this.fire();this.render();this.out.write("\n");this.close()}submit(){const t=this.value.filter((t=>t.selected));if(this.minSelected&&t.length<this.minSelected){this.showMinError=true;this.render()}else{this.done=true;this.aborted=false;this.fire();this.render();this.out.write("\n");this.close()}}first(){this.cursor=0;this.render()}last(){this.cursor=this.value.length-1;this.render()}next(){this.cursor=(this.cursor+1)%this.value.length;this.render()}up(){if(this.cursor===0){this.cursor=this.value.length-1}else{this.cursor--}this.render()}down(){if(this.cursor===this.value.length-1){this.cursor=0}else{this.cursor++}this.render()}left(){this.value[this.cursor].selected=false;this.render()}right(){if(this.value.filter((t=>t.selected)).length>=this.maxChoices)return this.bell();this.value[this.cursor].selected=true;this.render()}handleSpaceToggle(){const t=this.value[this.cursor];if(t.selected){t.selected=false;this.render()}else if(t.disabled||this.value.filter((t=>t.selected)).length>=this.maxChoices){return this.bell()}else{t.selected=true;this.render()}}toggleAll(){if(this.maxChoices!==undefined||this.value[this.cursor].disabled){return this.bell()}const t=!this.value[this.cursor].selected;this.value.filter((t=>!t.disabled)).forEach((i=>i.selected=t));this.render()}_(t,i){if(t===" "){this.handleSpaceToggle()}else if(t==="a"){this.toggleAll()}else{return this.bell()}}renderInstructions(){if(this.instructions===undefined||this.instructions){if(typeof this.instructions==="string"){return this.instructions}return"\nInstructions:\n"+` ${l.arrowUp}/${l.arrowDown}: Highlight option\n`+` ${l.arrowLeft}/${l.arrowRight}/[space]: Toggle selection\n`+(this.maxChoices===undefined?` a: Toggle all\n`:"")+` enter/return: Complete answer`}return""}renderOption(t,i,r,a){const h=(i.selected?o.green(l.radioOn):l.radioOff)+" "+a+" ";let c,u;if(i.disabled){c=t===r?o.gray().underline(i.title):o.strikethrough().gray(i.title)}else{c=t===r?o.cyan().underline(i.title):i.title;if(t===r&&i.description){u=` - ${i.description}`;if(h.length+c.length+u.length>=this.out.columns||i.description.split(/\r?\n/).length>1){u="\n"+d(i.description,{margin:h.length,width:this.out.columns})}}}return h+c+o.gray(u||"")}paginateOptions(t){if(t.length===0){return o.red("No matches for this query.")}let{startIndex:i,endIndex:r}=p(this.cursor,t.length,this.optionsPerPage);let a,h=[];for(let o=i;o<r;o++){if(o===i&&i>0){a=l.arrowUp}else if(o===r-1&&r<t.length){a=l.arrowDown}else{a=" "}h.push(this.renderOption(this.cursor,t[o],o,a))}return"\n"+h.join("\n")}renderOptions(t){if(!this.done){return this.paginateOptions(t)}return""}renderDoneOrInstructions(){if(this.done){return this.value.filter((t=>t.selected)).map((t=>t.title)).join(", ")}const t=[o.gray(this.hint),this.renderInstructions()];if(this.value[this.cursor].disabled){t.push(o.yellow(this.warn))}return t.join(" ")}render(){if(this.closed)return;if(this.firstRender)this.out.write(a.hide);super.render();let t=[u.symbol(this.done,this.aborted),o.bold(this.msg),u.delimiter(false),this.renderDoneOrInstructions()].join(" ");if(this.showMinError){t+=o.red(`You must select a minimum of ${this.minSelected} choices.`);this.showMinError=false}t+=this.renderOptions(this.value);this.out.write(this.clear+t);this.clear=c(t,this.out.columns)}}t.exports=MultiselectPrompt},9146:(t,i,r)=>{const o=r(1081);const a=r(432);const{cursor:h,erase:c}=r(5624);const{style:l,figures:u,clear:d,lines:p}=r(1202);const m=/[0-9]/;const isDef=t=>t!==undefined;const round=(t,i)=>{let r=Math.pow(10,i);return Math.round(t*r)/r};class NumberPrompt extends a{constructor(t={}){super(t);this.transform=l.render(t.style);this.msg=t.message;this.initial=isDef(t.initial)?t.initial:"";this.float=!!t.float;this.round=t.round||2;this.inc=t.increment||1;this.min=isDef(t.min)?t.min:-Infinity;this.max=isDef(t.max)?t.max:Infinity;this.errorMsg=t.error||`Please Enter A Valid Value`;this.validator=t.validate||(()=>true);this.color=`cyan`;this.value=``;this.typed=``;this.lastHit=0;this.render()}set value(t){if(!t&&t!==0){this.placeholder=true;this.rendered=o.gray(this.transform.render(`${this.initial}`));this._value=``}else{this.placeholder=false;this.rendered=this.transform.render(`${round(t,this.round)}`);this._value=round(t,this.round)}this.fire()}get value(){return this._value}parse(t){return this.float?parseFloat(t):parseInt(t)}valid(t){return t===`-`||t===`.`&&this.float||m.test(t)}reset(){this.typed=``;this.value=``;this.fire();this.render()}exit(){this.abort()}abort(){let t=this.value;this.value=t!==``?t:this.initial;this.done=this.aborted=true;this.error=false;this.fire();this.render();this.out.write(`\n`);this.close()}async validate(){let t=await this.validator(this.value);if(typeof t===`string`){this.errorMsg=t;t=false}this.error=!t}async submit(){await this.validate();if(this.error){this.color=`red`;this.fire();this.render();return}let t=this.value;this.value=t!==``?t:this.initial;this.done=true;this.aborted=false;this.error=false;this.fire();this.render();this.out.write(`\n`);this.close()}up(){this.typed=``;if(this.value===""){this.value=this.min-this.inc}if(this.value>=this.max)return this.bell();this.value+=this.inc;this.color=`cyan`;this.fire();this.render()}down(){this.typed=``;if(this.value===""){this.value=this.min+this.inc}if(this.value<=this.min)return this.bell();this.value-=this.inc;this.color=`cyan`;this.fire();this.render()}delete(){let t=this.value.toString();if(t.length===0)return this.bell();this.value=this.parse(t=t.slice(0,-1))||``;if(this.value!==""&&this.value<this.min){this.value=this.min}this.color=`cyan`;this.fire();this.render()}next(){this.value=this.initial;this.fire();this.render()}_(t,i){if(!this.valid(t))return this.bell();const r=Date.now();if(r-this.lastHit>1e3)this.typed=``;this.typed+=t;this.lastHit=r;this.color=`cyan`;if(t===`.`)return this.fire();this.value=Math.min(this.parse(this.typed),this.max);if(this.value>this.max)this.value=this.max;if(this.value<this.min)this.value=this.min;this.fire();this.render()}render(){if(this.closed)return;if(!this.firstRender){if(this.outputError)this.out.write(h.down(p(this.outputError,this.out.columns)-1)+d(this.outputError,this.out.columns));this.out.write(d(this.outputText,this.out.columns))}super.render();this.outputError="";this.outputText=[l.symbol(this.done,this.aborted),o.bold(this.msg),l.delimiter(this.done),!this.done||!this.done&&!this.placeholder?o[this.color]().underline(this.rendered):this.rendered].join(` `);if(this.error){this.outputError+=this.errorMsg.split(`\n`).reduce(((t,i,r)=>t+`\n${r?` `:u.pointerSmall} ${o.red().italic(i)}`),``)}this.out.write(c.line+h.to(0)+this.outputText+h.save+this.outputError+h.restore)}}t.exports=NumberPrompt},432:(t,i,r)=>{const o=r(4521);const{action:a}=r(1202);const h=r(2361);const{beep:c,cursor:l}=r(5624);const u=r(1081);class Prompt extends h{constructor(t={}){super();this.firstRender=true;this.in=t.stdin||process.stdin;this.out=t.stdout||process.stdout;this.onRender=(t.onRender||(()=>void 0)).bind(this);const i=o.createInterface({input:this.in,escapeCodeTimeout:50});o.emitKeypressEvents(this.in,i);if(this.in.isTTY)this.in.setRawMode(true);const r=["SelectPrompt","MultiselectPrompt"].indexOf(this.constructor.name)>-1;const keypress=(t,i)=>{let o=a(i,r);if(o===false){this._&&this._(t,i)}else if(typeof this[o]==="function"){this[o](i)}else{this.bell()}};this.close=()=>{this.out.write(l.show);this.in.removeListener("keypress",keypress);if(this.in.isTTY)this.in.setRawMode(false);i.close();this.emit(this.aborted?"abort":this.exited?"exit":"submit",this.value);this.closed=true};this.in.on("keypress",keypress)}fire(){this.emit("state",{value:this.value,aborted:!!this.aborted,exited:!!this.exited})}bell(){this.out.write(c)}render(){this.onRender(u);if(this.firstRender)this.firstRender=false}}t.exports=Prompt},5238:(t,i,r)=>{const o=r(1081);const a=r(432);const{style:h,clear:c,figures:l,wrap:u,entriesToDisplay:d}=r(1202);const{cursor:p}=r(5624);class SelectPrompt extends a{constructor(t={}){super(t);this.msg=t.message;this.hint=t.hint||"- Use arrow-keys. Return to submit.";this.warn=t.warn||"- This option is disabled";this.cursor=t.initial||0;this.choices=t.choices.map(((t,i)=>{if(typeof t==="string")t={title:t,value:i};return{title:t&&(t.title||t.value||t),value:t&&(t.value===undefined?i:t.value),description:t&&t.description,selected:t&&t.selected,disabled:t&&t.disabled}}));this.optionsPerPage=t.optionsPerPage||10;this.value=(this.choices[this.cursor]||{}).value;this.clear=c("",this.out.columns);this.render()}moveCursor(t){this.cursor=t;this.value=this.choices[t].value;this.fire()}reset(){this.moveCursor(0);this.fire();this.render()}exit(){this.abort()}abort(){this.done=this.aborted=true;this.fire();this.render();this.out.write("\n");this.close()}submit(){if(!this.selection.disabled){this.done=true;this.aborted=false;this.fire();this.render();this.out.write("\n");this.close()}else this.bell()}first(){this.moveCursor(0);this.render()}last(){this.moveCursor(this.choices.length-1);this.render()}up(){if(this.cursor===0){this.moveCursor(this.choices.length-1)}else{this.moveCursor(this.cursor-1)}this.render()}down(){if(this.cursor===this.choices.length-1){this.moveCursor(0)}else{this.moveCursor(this.cursor+1)}this.render()}next(){this.moveCursor((this.cursor+1)%this.choices.length);this.render()}_(t,i){if(t===" ")return this.submit()}get selection(){return this.choices[this.cursor]}render(){if(this.closed)return;if(this.firstRender)this.out.write(p.hide);else this.out.write(c(this.outputText,this.out.columns));super.render();let{startIndex:t,endIndex:i}=d(this.cursor,this.choices.length,this.optionsPerPage);this.outputText=[h.symbol(this.done,this.aborted),o.bold(this.msg),h.delimiter(false),this.done?this.selection.title:this.selection.disabled?o.yellow(this.warn):o.gray(this.hint)].join(" ");if(!this.done){this.outputText+="\n";for(let r=t;r<i;r++){let a,h,c="",d=this.choices[r];if(r===t&&t>0){h=l.arrowUp}else if(r===i-1&&i<this.choices.length){h=l.arrowDown}else{h=" "}if(d.disabled){a=this.cursor===r?o.gray().underline(d.title):o.strikethrough().gray(d.title);h=(this.cursor===r?o.bold().gray(l.pointer)+" ":" ")+h}else{a=this.cursor===r?o.cyan().underline(d.title):d.title;h=(this.cursor===r?o.cyan(l.pointer)+" ":" ")+h;if(d.description&&this.cursor===r){c=` - ${d.description}`;if(h.length+a.length+c.length>=this.out.columns||d.description.split(/\r?\n/).length>1){c="\n"+u(d.description,{margin:3,width:this.out.columns})}}}this.outputText+=`${h} ${a}${o.gray(c)}\n`}}this.out.write(this.outputText)}}t.exports=SelectPrompt},321:(t,i,r)=>{const o=r(1081);const a=r(432);const{erase:h,cursor:c}=r(5624);const{style:l,clear:u,lines:d,figures:p}=r(1202);class TextPrompt extends a{constructor(t={}){super(t);this.transform=l.render(t.style);this.scale=this.transform.scale;this.msg=t.message;this.initial=t.initial||``;this.validator=t.validate||(()=>true);this.value=``;this.errorMsg=t.error||`Please Enter A Valid Value`;this.cursor=Number(!!this.initial);this.cursorOffset=0;this.clear=u(``,this.out.columns);this.render()}set value(t){if(!t&&this.initial){this.placeholder=true;this.rendered=o.gray(this.transform.render(this.initial))}else{this.placeholder=false;this.rendered=this.transform.render(t)}this._value=t;this.fire()}get value(){return this._value}reset(){this.value=``;this.cursor=Number(!!this.initial);this.cursorOffset=0;this.fire();this.render()}exit(){this.abort()}abort(){this.value=this.value||this.initial;this.done=this.aborted=true;this.error=false;this.red=false;this.fire();this.render();this.out.write("\n");this.close()}async validate(){let t=await this.validator(this.value);if(typeof t===`string`){this.errorMsg=t;t=false}this.error=!t}async submit(){this.value=this.value||this.initial;this.cursorOffset=0;this.cursor=this.rendered.length;await this.validate();if(this.error){this.red=true;this.fire();this.render();return}this.done=true;this.aborted=false;this.fire();this.render();this.out.write("\n");this.close()}next(){if(!this.placeholder)return this.bell();this.value=this.initial;this.cursor=this.rendered.length;this.fire();this.render()}moveCursor(t){if(this.placeholder)return;this.cursor=this.cursor+t;this.cursorOffset+=t}_(t,i){let r=this.value.slice(0,this.cursor);let o=this.value.slice(this.cursor);this.value=`${r}${t}${o}`;this.red=false;this.cursor=this.placeholder?0:r.length+1;this.render()}delete(){if(this.isCursorAtStart())return this.bell();let t=this.value.slice(0,this.cursor-1);let i=this.value.slice(this.cursor);this.value=`${t}${i}`;this.red=false;if(this.isCursorAtStart()){this.cursorOffset=0}else{this.cursorOffset++;this.moveCursor(-1)}this.render()}deleteForward(){if(this.cursor*this.scale>=this.rendered.length||this.placeholder)return this.bell();let t=this.value.slice(0,this.cursor);let i=this.value.slice(this.cursor+1);this.value=`${t}${i}`;this.red=false;if(this.isCursorAtEnd()){this.cursorOffset=0}else{this.cursorOffset++}this.render()}first(){this.cursor=0;this.render()}last(){this.cursor=this.value.length;this.render()}left(){if(this.cursor<=0||this.placeholder)return this.bell();this.moveCursor(-1);this.render()}right(){if(this.cursor*this.scale>=this.rendered.length||this.placeholder)return this.bell();this.moveCursor(1);this.render()}isCursorAtStart(){return this.cursor===0||this.placeholder&&this.cursor===1}isCursorAtEnd(){return this.cursor===this.rendered.length||this.placeholder&&this.cursor===this.rendered.length+1}render(){if(this.closed)return;if(!this.firstRender){if(this.outputError)this.out.write(c.down(d(this.outputError,this.out.columns)-1)+u(this.outputError,this.out.columns));this.out.write(u(this.outputText,this.out.columns))}super.render();this.outputError="";this.outputText=[l.symbol(this.done,this.aborted),o.bold(this.msg),l.delimiter(this.done),this.red?o.red(this.rendered):this.rendered].join(` `);if(this.error){this.outputError+=this.errorMsg.split(`\n`).reduce(((t,i,r)=>t+`\n${r?" ":p.pointerSmall} ${o.red().italic(i)}`),``)}this.out.write(h.line+c.to(0)+this.outputText+c.save+this.outputError+c.restore+c.move(this.cursorOffset,0))}}t.exports=TextPrompt},5362:(t,i,r)=>{const o=r(1081);const a=r(432);const{style:h,clear:c}=r(1202);const{cursor:l,erase:u}=r(5624);class TogglePrompt extends a{constructor(t={}){super(t);this.msg=t.message;this.value=!!t.initial;this.active=t.active||"on";this.inactive=t.inactive||"off";this.initialValue=this.value;this.render()}reset(){this.value=this.initialValue;this.fire();this.render()}exit(){this.abort()}abort(){this.done=this.aborted=true;this.fire();this.render();this.out.write("\n");this.close()}submit(){this.done=true;this.aborted=false;this.fire();this.render();this.out.write("\n");this.close()}deactivate(){if(this.value===false)return this.bell();this.value=false;this.render()}activate(){if(this.value===true)return this.bell();this.value=true;this.render()}delete(){this.deactivate()}left(){this.deactivate()}right(){this.activate()}down(){this.deactivate()}up(){this.activate()}next(){this.value=!this.value;this.fire();this.render()}_(t,i){if(t===" "){this.value=!this.value}else if(t==="1"){this.value=true}else if(t==="0"){this.value=false}else return this.bell();this.render()}render(){if(this.closed)return;if(this.firstRender)this.out.write(l.hide);else this.out.write(c(this.outputText,this.out.columns));super.render();this.outputText=[h.symbol(this.done,this.aborted),o.bold(this.msg),h.delimiter(this.done),this.value?this.inactive:o.cyan().underline(this.inactive),o.gray("/"),this.value?o.cyan().underline(this.active):this.active].join(" ");this.out.write(u.line+l.to(0)+this.outputText)}}t.exports=TogglePrompt},8837:(t,i,r)=>{const o=r(3017);const a=["suggest","format","onState","validate","onRender","type"];const noop=()=>{};async function prompt(t=[],{onSubmit:i=noop,onCancel:r=noop}={}){const h={};const c=prompt._override||{};t=[].concat(t);let l,u,d,p,m,y;const getFormattedAnswer=async(t,i,r=false)=>{if(!r&&t.validate&&t.validate(i)!==true){return}return t.format?await t.format(i,h):i};for(u of t){({name:p,type:m}=u);if(typeof m==="function"){m=await m(l,{...h},u);u["type"]=m}if(!m)continue;for(let t in u){if(a.includes(t))continue;let i=u[t];u[t]=typeof i==="function"?await i(l,{...h},y):i}y=u;if(typeof u.message!=="string"){throw new Error("prompt message is required")}({name:p,type:m}=u);if(o[m]===void 0){throw new Error(`prompt type (${m}) is not defined`)}if(c[u.name]!==undefined){l=await getFormattedAnswer(u,c[u.name]);if(l!==undefined){h[p]=l;continue}}try{l=prompt._injected?getInjectedAnswer(prompt._injected,u.initial):await o[m](u);h[p]=l=await getFormattedAnswer(u,l,true);d=await i(u,l,h)}catch(t){d=!await r(u,h)}if(d)return h}return h}function getInjectedAnswer(t,i){const r=t.shift();if(r instanceof Error){throw r}return r===undefined?i:r}function inject(t){prompt._injected=(prompt._injected||[]).concat(t)}function override(t){prompt._override=Object.assign({},t)}t.exports=Object.assign(prompt,{prompt:prompt,prompts:o,inject:inject,override:override})},3017:(t,i,r)=>{const o=i;const a=r(3022);const noop=t=>t;function toPrompt(t,i,r={}){return new Promise(((o,h)=>{const c=new a[t](i);const l=r.onAbort||noop;const u=r.onSubmit||noop;const d=r.onExit||noop;c.on("state",i.onState||noop);c.on("submit",(t=>o(u(t))));c.on("exit",(t=>o(d(t))));c.on("abort",(t=>h(l(t))))}))}o.text=t=>toPrompt("TextPrompt",t);o.password=t=>{t.style="password";return o.text(t)};o.invisible=t=>{t.style="invisible";return o.text(t)};o.number=t=>toPrompt("NumberPrompt",t);o.date=t=>toPrompt("DatePrompt",t);o.confirm=t=>toPrompt("ConfirmPrompt",t);o.list=t=>{const i=t.separator||",";return toPrompt("TextPrompt",t,{onSubmit:t=>t.split(i).map((t=>t.trim()))})};o.toggle=t=>toPrompt("TogglePrompt",t);o.select=t=>toPrompt("SelectPrompt",t);o.multiselect=t=>{t.choices=[].concat(t.choices||[]);const toSelected=t=>t.filter((t=>t.selected)).map((t=>t.value));return toPrompt("MultiselectPrompt",t,{onAbort:toSelected,onSubmit:toSelected})};o.autocompleteMultiselect=t=>{t.choices=[].concat(t.choices||[]);const toSelected=t=>t.filter((t=>t.selected)).map((t=>t.value));return toPrompt("AutocompleteMultiselectPrompt",t,{onAbort:toSelected,onSubmit:toSelected})};const byTitle=(t,i)=>Promise.resolve(i.filter((i=>i.title.slice(0,t.length).toLowerCase()===t.toLowerCase())));o.autocomplete=t=>{t.suggest=t.suggest||byTitle;t.choices=[].concat(t.choices||[]);return toPrompt("AutocompletePrompt",t)}},1393:t=>{t.exports=(t,i)=>{if(t.meta&&t.name!=="escape")return;if(t.ctrl){if(t.name==="a")return"first";if(t.name==="c")return"abort";if(t.name==="d")return"abort";if(t.name==="e")return"last";if(t.name==="g")return"reset"}if(i){if(t.name==="j")return"down";if(t.name==="k")return"up"}if(t.name==="return")return"submit";if(t.name==="enter")return"submit";if(t.name==="backspace")return"delete";if(t.name==="delete")return"deleteForward";if(t.name==="abort")return"abort";if(t.name==="escape")return"exit";if(t.name==="tab")return"next";if(t.name==="pagedown")return"nextPage";if(t.name==="pageup")return"prevPage";if(t.name==="home")return"home";if(t.name==="end")return"end";if(t.name==="up")return"up";if(t.name==="down")return"down";if(t.name==="right")return"right";if(t.name==="left")return"left";return false}},9837:(t,i,r)=>{const o=r(8029);const{erase:a,cursor:h}=r(5624);const width=t=>[...o(t)].length;t.exports=function(t,i){if(!i)return a.line+h.to(0);let r=0;const o=t.split(/\r?\n/);for(let t of o){r+=1+Math.floor(Math.max(width(t)-1,0)/i)}return a.lines(r)}},3123:t=>{t.exports=(t,i,r)=>{r=r||i;let o=Math.min(i-r,t-Math.floor(r/2));if(o<0)o=0;let a=Math.min(o+r,i);return{startIndex:o,endIndex:a}}},6098:t=>{const i={arrowUp:"↑",arrowDown:"↓",arrowLeft:"←",arrowRight:"→",radioOn:"◉",radioOff:"◯",tick:"✔",cross:"✖",ellipsis:"…",pointerSmall:"›",line:"─",pointer:"❯"};const r={arrowUp:i.arrowUp,arrowDown:i.arrowDown,arrowLeft:i.arrowLeft,arrowRight:i.arrowRight,radioOn:"(*)",radioOff:"( )",tick:"√",cross:"×",ellipsis:"...",pointerSmall:"»",line:"─",pointer:">"};const o=process.platform==="win32"?r:i;t.exports=o},1202:(t,i,r)=>{t.exports={action:r(1393),clear:r(9837),style:r(4677),strip:r(8029),figures:r(6098),lines:r(957),wrap:r(342),entriesToDisplay:r(3123)}},957:(t,i,r)=>{const o=r(8029);t.exports=function(t,i){let r=String(o(t)||"").split(/\r?\n/);if(!i)return r.length;return r.map((t=>Math.ceil(t.length/i))).reduce(((t,i)=>t+i))}},8029:t=>{t.exports=t=>{const i=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PRZcf-ntqry=><~]))"].join("|");const r=new RegExp(i,"g");return typeof t==="string"?t.replace(r,""):t}},4677:(t,i,r)=>{const o=r(1081);const a=r(6098);const h=Object.freeze({password:{scale:1,render:t=>"*".repeat(t.length)},emoji:{scale:2,render:t=>"😃".repeat(t.length)},invisible:{scale:0,render:t=>""},default:{scale:1,render:t=>`${t}`}});const render=t=>h[t]||h.default;const c=Object.freeze({aborted:o.red(a.cross),done:o.green(a.tick),exited:o.yellow(a.cross),default:o.cyan("?")});const symbol=(t,i,r)=>i?c.aborted:r?c.exited:t?c.done:c.default;const delimiter=t=>o.gray(t?a.ellipsis:a.pointerSmall);const item=(t,i)=>o.gray(t?i?a.pointerSmall:"+":a.line);t.exports={styles:h,render:render,symbols:c,symbol:symbol,delimiter:delimiter,item:item}},342:t=>{t.exports=(t,i={})=>{const r=Number.isSafeInteger(parseInt(i.margin))?new Array(parseInt(i.margin)).fill(" ").join(""):i.margin||"";const o=i.width;return(t||"").split(/\r?\n/g).map((t=>t.split(/\s+/g).reduce(((t,i)=>{if(i.length+r.length>=o||t[t.length-1].length+i.length+1<o)t[t.length-1]+=` ${i}`;else t.push(`${r}${i}`);return t}),[r]).join("\n"))).join("\n")}},5835:(t,i,r)=>{var o=r(5877);var a=r(1017).join;var h=r(1706);var c="/etc";var l=process.platform==="win32";var u=l?process.env.USERPROFILE:process.env.HOME;t.exports=function(t,i,d,p){if("string"!==typeof t)throw new Error("rc(name): name *must* be string");if(!d)d=r(4599)(process.argv.slice(2));i=("string"===typeof i?o.json(i):i)||{};p=p||o.parse;var m=o.env(t+"_");var y=[i];var g=[];function addConfigFile(t){if(g.indexOf(t)>=0)return;var i=o.file(t);if(i){y.push(p(i));g.push(t)}}if(!l)[a(c,t,"config"),a(c,t+"rc")].forEach(addConfigFile);if(u)[a(u,".config",t,"config"),a(u,".config",t),a(u,"."+t,"config"),a(u,"."+t+"rc")].forEach(addConfigFile);addConfigFile(o.find("."+t+"rc"));if(m.config)addConfigFile(m.config);if(d.config)addConfigFile(d.config);return h.apply(null,y.concat([m,d,g.length?{configs:g,config:g[g.length-1]}:undefined]))}},5877:(t,i,r)=>{var o=r(7147);var a=r(7057);var h=r(1017);var c=r(411);var l=i.parse=function(t){if(/^\s*{/.test(t))return JSON.parse(c(t));return a.parse(t)};var u=i.file=function(){var t=[].slice.call(arguments).filter((function(t){return t!=null}));for(var i in t)if("string"!==typeof t[i])return;var r=h.join.apply(null,t);var a;try{return o.readFileSync(r,"utf-8")}catch(t){return}};var d=i.json=function(){var t=u.apply(null,arguments);return t?l(t):null};var p=i.env=function(t,i){i=i||process.env;var r={};var o=t.length;for(var a in i){if(a.toLowerCase().indexOf(t.toLowerCase())===0){var h=a.substring(o).split("__");var c;while((c=h.indexOf(""))>-1){h.splice(c,1)}var l=r;h.forEach((function _buildSubObj(t,r){if(!t||typeof l!=="object")return;if(r===h.length-1)l[t]=i[a];if(l[t]===undefined)l[t]={};l=l[t]}))}}return r};var m=i.find=function(){var t=h.join.apply(null,[].slice.call(arguments));function find(t,i){var r=h.join(t,i);try{o.statSync(r);return r}catch(r){if(h.dirname(t)!==t)return find(h.dirname(t),i)}}return find(process.cwd(),t)}},4813:(t,i,r)=>{const o=r(1398).Buffer;function decodeBase64(t){return o.from(t,"base64").toString("utf8")}function encodeBase64(t){return o.from(t,"utf8").toString("base64")}t.exports={decodeBase64:decodeBase64,encodeBase64:encodeBase64}},6084:(t,i,r)=>{var o=r(7310);var a=r(4813);var h=a.decodeBase64;var c=a.encodeBase64;var l=":_authToken";var u=":username";var d=":_password";t.exports=function(){var t;var i;if(arguments.length>=2){t=arguments[0];i=arguments[1]}else if(typeof arguments[0]==="string"){t=arguments[0]}else{i=arguments[0]}i=i||{};i.npmrc=i.npmrc||r(5835)("npm",{registry:"https://registry.npmjs.org/"});t=t||i.npmrc.registry;return getRegistryAuthInfo(t,i)||getLegacyAuthInfo(i.npmrc)};function getRegistryAuthInfo(t,i){var r=o.parse(t,false,true);var a;while(a!=="/"&&r.pathname!==a){a=r.pathname||"/";var h="//"+r.host+a.replace(/\/$/,"");var c=getAuthInfoForUrl(h,i.npmrc);if(c){return c}if(!i.recursive){return/\/$/.test(t)?undefined:getRegistryAuthInfo(o.resolve(t,"."),i)}r.pathname=o.resolve(normalizePath(a),"..")||"/"}return undefined}function getLegacyAuthInfo(t){if(t._auth){return{token:t._auth,type:"Basic"}}return undefined}function normalizePath(t){return t[t.length-1]==="/"?t:t+"/"}function getAuthInfoForUrl(t,i){var r=getBearerToken(i[t+l]||i[t+"/"+l]);if(r){return r}var o=i[t+u]||i[t+"/"+u];var a=i[t+d]||i[t+"/"+d];var h=getTokenForUsernameAndPassword(o,a);if(h){return h}return undefined}function getBearerToken(t){if(!t){return undefined}var i=t.replace(/^\$\{?([^}]*)\}?$/,(function(t,i){return process.env[i]}));return{token:i,type:"Bearer"}}function getTokenForUsernameAndPassword(t,i){if(!t||!i){return undefined}var r=h(i.replace(/^\$\{?([^}]*)\}?$/,(function(t,i){return process.env[i]})));var o=c(t+":"+r);return{token:o,type:"Basic",password:r,username:t}}},2107:(t,i,r)=>{t.exports=function(t){var i=r(5835)("npm",{registry:"https://registry.npmjs.org/"});var o=i[t+":registry"]||i.registry;return o.slice(-1)==="/"?o:o+"/"}},1398:(t,i,r)=>{
28
+ function isSpecificValue(t){return t instanceof Buffer||t instanceof Date||t instanceof RegExp?true:false}function cloneSpecificValue(t){if(t instanceof Buffer){var i=Buffer.alloc?Buffer.alloc(t.length):new Buffer(t.length);t.copy(i);return i}else if(t instanceof Date){return new Date(t.getTime())}else if(t instanceof RegExp){return new RegExp(t)}else{throw new Error("Unexpected situation")}}function deepCloneArray(t){var r=[];t.forEach((function(t,o){if(typeof t==="object"&&t!==null){if(Array.isArray(t)){r[o]=deepCloneArray(t)}else if(isSpecificValue(t)){r[o]=cloneSpecificValue(t)}else{r[o]=i({},t)}}else{r[o]=t}}));return r}function safeGetProperty(t,i){return i==="__proto__"?undefined:t[i]}var i=t.exports=function(){if(arguments.length<1||typeof arguments[0]!=="object"){return false}if(arguments.length<2){return arguments[0]}var t=arguments[0];var r=Array.prototype.slice.call(arguments,1);var o,a,h;r.forEach((function(r){if(typeof r!=="object"||r===null||Array.isArray(r)){return}Object.keys(r).forEach((function(h){a=safeGetProperty(t,h);o=safeGetProperty(r,h);if(o===t){return}else if(typeof o!=="object"||o===null){t[h]=o;return}else if(Array.isArray(o)){t[h]=deepCloneArray(o);return}else if(isSpecificValue(o)){t[h]=cloneSpecificValue(o);return}else if(typeof a!=="object"||a===null||Array.isArray(a)){t[h]=i({},o);return}else{t[h]=i(a,o);return}}))}));return t}},2966:(t,i,r)=>{const o=r(8806);const a=r(6928);const h=r(2260).mkdirsSync;const c=r(3369).utimesMillisSync;const l=r(7300);function copySync(t,i,r){if(typeof r==="function"){r={filter:r}}r=r||{};r.clobber="clobber"in r?!!r.clobber:true;r.overwrite="overwrite"in r?!!r.overwrite:r.clobber;if(r.preserveTimestamps&&process.arch==="ia32"){process.emitWarning("Using the preserveTimestamps option in 32-bit node is not recommended;\n\n"+"\tsee https://github.com/jprichardson/node-fs-extra/issues/269","Warning","fs-extra-WARN0002")}const{srcStat:c,destStat:u}=l.checkPathsSync(t,i,"copy",r);l.checkParentPathsSync(t,c,i,"copy");if(r.filter&&!r.filter(t,i))return;const d=a.dirname(i);if(!o.existsSync(d))h(d);return getStats(u,t,i,r)}function getStats(t,i,r,a){const h=a.dereference?o.statSync:o.lstatSync;const c=h(i);if(c.isDirectory())return onDir(c,t,i,r,a);else if(c.isFile()||c.isCharacterDevice()||c.isBlockDevice())return onFile(c,t,i,r,a);else if(c.isSymbolicLink())return onLink(t,i,r,a);else if(c.isSocket())throw new Error(`Cannot copy a socket file: ${i}`);else if(c.isFIFO())throw new Error(`Cannot copy a FIFO pipe: ${i}`);throw new Error(`Unknown file: ${i}`)}function onFile(t,i,r,o,a){if(!i)return copyFile(t,r,o,a);return mayCopyFile(t,r,o,a)}function mayCopyFile(t,i,r,a){if(a.overwrite){o.unlinkSync(r);return copyFile(t,i,r,a)}else if(a.errorOnExist){throw new Error(`'${r}' already exists`)}}function copyFile(t,i,r,a){o.copyFileSync(i,r);if(a.preserveTimestamps)handleTimestamps(t.mode,i,r);return setDestMode(r,t.mode)}function handleTimestamps(t,i,r){if(fileIsNotWritable(t))makeFileWritable(r,t);return setDestTimestamps(i,r)}function fileIsNotWritable(t){return(t&128)===0}function makeFileWritable(t,i){return setDestMode(t,i|128)}function setDestMode(t,i){return o.chmodSync(t,i)}function setDestTimestamps(t,i){const r=o.statSync(t);return c(i,r.atime,r.mtime)}function onDir(t,i,r,o,a){if(!i)return mkDirAndCopy(t.mode,r,o,a);return copyDir(r,o,a)}function mkDirAndCopy(t,i,r,a){o.mkdirSync(r);copyDir(i,r,a);return setDestMode(r,t)}function copyDir(t,i,r){o.readdirSync(t).forEach((o=>copyDirItem(o,t,i,r)))}function copyDirItem(t,i,r,o){const h=a.join(i,t);const c=a.join(r,t);if(o.filter&&!o.filter(h,c))return;const{destStat:u}=l.checkPathsSync(h,c,"copy",o);return getStats(u,h,c,o)}function onLink(t,i,r,h){let c=o.readlinkSync(i);if(h.dereference){c=a.resolve(process.cwd(),c)}if(!t){return o.symlinkSync(c,r)}else{let t;try{t=o.readlinkSync(r)}catch(t){if(t.code==="EINVAL"||t.code==="UNKNOWN")return o.symlinkSync(c,r);throw t}if(h.dereference){t=a.resolve(process.cwd(),t)}if(l.isSrcSubdir(c,t)){throw new Error(`Cannot copy '${c}' to a subdirectory of itself, '${t}'.`)}if(l.isSrcSubdir(t,c)){throw new Error(`Cannot overwrite '${t}' with '${c}'.`)}return copyLink(c,r)}}function copyLink(t,i){o.unlinkSync(i);return o.symlinkSync(t,i)}t.exports=copySync},7396:(t,i,r)=>{const o=r(7763);const a=r(6928);const{mkdirs:h}=r(2260);const{pathExists:c}=r(3662);const{utimesMillis:l}=r(3369);const u=r(7300);async function copy(t,i,r={}){if(typeof r==="function"){r={filter:r}}r.clobber="clobber"in r?!!r.clobber:true;r.overwrite="overwrite"in r?!!r.overwrite:r.clobber;if(r.preserveTimestamps&&process.arch==="ia32"){process.emitWarning("Using the preserveTimestamps option in 32-bit node is not recommended;\n\n"+"\tsee https://github.com/jprichardson/node-fs-extra/issues/269","Warning","fs-extra-WARN0001")}const{srcStat:o,destStat:l}=await u.checkPaths(t,i,"copy",r);await u.checkParentPaths(t,o,i,"copy");const d=await runFilter(t,i,r);if(!d)return;const p=a.dirname(i);const m=await c(p);if(!m){await h(p)}await getStatsAndPerformCopy(l,t,i,r)}async function runFilter(t,i,r){if(!r.filter)return true;return r.filter(t,i)}async function getStatsAndPerformCopy(t,i,r,a){const h=a.dereference?o.stat:o.lstat;const c=await h(i);if(c.isDirectory())return onDir(c,t,i,r,a);if(c.isFile()||c.isCharacterDevice()||c.isBlockDevice())return onFile(c,t,i,r,a);if(c.isSymbolicLink())return onLink(t,i,r,a);if(c.isSocket())throw new Error(`Cannot copy a socket file: ${i}`);if(c.isFIFO())throw new Error(`Cannot copy a FIFO pipe: ${i}`);throw new Error(`Unknown file: ${i}`)}async function onFile(t,i,r,a,h){if(!i)return copyFile(t,r,a,h);if(h.overwrite){await o.unlink(a);return copyFile(t,r,a,h)}if(h.errorOnExist){throw new Error(`'${a}' already exists`)}}async function copyFile(t,i,r,a){await o.copyFile(i,r);if(a.preserveTimestamps){if(fileIsNotWritable(t.mode)){await makeFileWritable(r,t.mode)}const a=await o.stat(i);await l(r,a.atime,a.mtime)}return o.chmod(r,t.mode)}function fileIsNotWritable(t){return(t&128)===0}function makeFileWritable(t,i){return o.chmod(t,i|128)}async function onDir(t,i,r,h,c){if(!i){await o.mkdir(h)}const l=await o.readdir(r);await Promise.all(l.map((async t=>{const i=a.join(r,t);const o=a.join(h,t);const l=await runFilter(i,o,c);if(!l)return;const{destStat:d}=await u.checkPaths(i,o,"copy",c);return getStatsAndPerformCopy(d,i,o,c)})));if(!i){await o.chmod(h,t.mode)}}async function onLink(t,i,r,h){let c=await o.readlink(i);if(h.dereference){c=a.resolve(process.cwd(),c)}if(!t){return o.symlink(c,r)}let l=null;try{l=await o.readlink(r)}catch(t){if(t.code==="EINVAL"||t.code==="UNKNOWN")return o.symlink(c,r);throw t}if(h.dereference){l=a.resolve(process.cwd(),l)}if(u.isSrcSubdir(c,l)){throw new Error(`Cannot copy '${c}' to a subdirectory of itself, '${l}'.`)}if(u.isSrcSubdir(l,c)){throw new Error(`Cannot overwrite '${l}' with '${c}'.`)}await o.unlink(r);return o.symlink(c,r)}t.exports=copy},3521:(t,i,r)=>{const o=r(4124).fromPromise;t.exports={copy:o(r(7396)),copySync:r(2966)}},6781:(t,i,r)=>{const o=r(4124).fromPromise;const a=r(7763);const h=r(6928);const c=r(2260);const l=r(3348);const u=o((async function emptyDir(t){let i;try{i=await a.readdir(t)}catch{return c.mkdirs(t)}return Promise.all(i.map((i=>l.remove(h.join(t,i)))))}));function emptyDirSync(t){let i;try{i=a.readdirSync(t)}catch{return c.mkdirsSync(t)}i.forEach((i=>{i=h.join(t,i);l.removeSync(i)}))}t.exports={emptyDirSync:emptyDirSync,emptydirSync:emptyDirSync,emptyDir:u,emptydir:u}},6730:(t,i,r)=>{const o=r(4124).fromPromise;const a=r(6928);const h=r(7763);const c=r(2260);async function createFile(t){let i;try{i=await h.stat(t)}catch{}if(i&&i.isFile())return;const r=a.dirname(t);let o=null;try{o=await h.stat(r)}catch(i){if(i.code==="ENOENT"){await c.mkdirs(r);await h.writeFile(t,"");return}else{throw i}}if(o.isDirectory()){await h.writeFile(t,"")}else{await h.readdir(r)}}function createFileSync(t){let i;try{i=h.statSync(t)}catch{}if(i&&i.isFile())return;const r=a.dirname(t);try{if(!h.statSync(r).isDirectory()){h.readdirSync(r)}}catch(t){if(t&&t.code==="ENOENT")c.mkdirsSync(r);else throw t}h.writeFileSync(t,"")}t.exports={createFile:o(createFile),createFileSync:createFileSync}},7374:(t,i,r)=>{const{createFile:o,createFileSync:a}=r(6730);const{createLink:h,createLinkSync:c}=r(2416);const{createSymlink:l,createSymlinkSync:u}=r(4505);t.exports={createFile:o,createFileSync:a,ensureFile:o,ensureFileSync:a,createLink:h,createLinkSync:c,ensureLink:h,ensureLinkSync:c,createSymlink:l,createSymlinkSync:u,ensureSymlink:l,ensureSymlinkSync:u}},2416:(t,i,r)=>{const o=r(4124).fromPromise;const a=r(6928);const h=r(7763);const c=r(2260);const{pathExists:l}=r(3662);const{areIdentical:u}=r(7300);async function createLink(t,i){let r;try{r=await h.lstat(i)}catch{}let o;try{o=await h.lstat(t)}catch(t){t.message=t.message.replace("lstat","ensureLink");throw t}if(r&&u(o,r))return;const d=a.dirname(i);const p=await l(d);if(!p){await c.mkdirs(d)}await h.link(t,i)}function createLinkSync(t,i){let r;try{r=h.lstatSync(i)}catch{}try{const i=h.lstatSync(t);if(r&&u(i,r))return}catch(t){t.message=t.message.replace("lstat","ensureLink");throw t}const o=a.dirname(i);const l=h.existsSync(o);if(l)return h.linkSync(t,i);c.mkdirsSync(o);return h.linkSync(t,i)}t.exports={createLink:o(createLink),createLinkSync:createLinkSync}},3336:(t,i,r)=>{const o=r(6928);const a=r(7763);const{pathExists:h}=r(3662);const c=r(4124).fromPromise;async function symlinkPaths(t,i){if(o.isAbsolute(t)){try{await a.lstat(t)}catch(t){t.message=t.message.replace("lstat","ensureSymlink");throw t}return{toCwd:t,toDst:t}}const r=o.dirname(i);const c=o.join(r,t);const l=await h(c);if(l){return{toCwd:c,toDst:t}}try{await a.lstat(t)}catch(t){t.message=t.message.replace("lstat","ensureSymlink");throw t}return{toCwd:t,toDst:o.relative(r,t)}}function symlinkPathsSync(t,i){if(o.isAbsolute(t)){const i=a.existsSync(t);if(!i)throw new Error("absolute srcpath does not exist");return{toCwd:t,toDst:t}}const r=o.dirname(i);const h=o.join(r,t);const c=a.existsSync(h);if(c){return{toCwd:h,toDst:t}}const l=a.existsSync(t);if(!l)throw new Error("relative srcpath does not exist");return{toCwd:t,toDst:o.relative(r,t)}}t.exports={symlinkPaths:c(symlinkPaths),symlinkPathsSync:symlinkPathsSync}},7114:(t,i,r)=>{const o=r(7763);const a=r(4124).fromPromise;async function symlinkType(t,i){if(i)return i;let r;try{r=await o.lstat(t)}catch{return"file"}return r&&r.isDirectory()?"dir":"file"}function symlinkTypeSync(t,i){if(i)return i;let r;try{r=o.lstatSync(t)}catch{return"file"}return r&&r.isDirectory()?"dir":"file"}t.exports={symlinkType:a(symlinkType),symlinkTypeSync:symlinkTypeSync}},4505:(t,i,r)=>{const o=r(4124).fromPromise;const a=r(6928);const h=r(7763);const{mkdirs:c,mkdirsSync:l}=r(2260);const{symlinkPaths:u,symlinkPathsSync:d}=r(3336);const{symlinkType:p,symlinkTypeSync:m}=r(7114);const{pathExists:y}=r(3662);const{areIdentical:g}=r(7300);async function createSymlink(t,i,r){let o;try{o=await h.lstat(i)}catch{}if(o&&o.isSymbolicLink()){const[r,o]=await Promise.all([h.stat(t),h.stat(i)]);if(g(r,o))return}const l=await u(t,i);t=l.toDst;const d=await p(l.toCwd,r);const m=a.dirname(i);if(!await y(m)){await c(m)}return h.symlink(t,i,d)}function createSymlinkSync(t,i,r){let o;try{o=h.lstatSync(i)}catch{}if(o&&o.isSymbolicLink()){const r=h.statSync(t);const o=h.statSync(i);if(g(r,o))return}const c=d(t,i);t=c.toDst;r=m(c.toCwd,r);const u=a.dirname(i);const p=h.existsSync(u);if(p)return h.symlinkSync(t,i,r);l(u);return h.symlinkSync(t,i,r)}t.exports={createSymlink:o(createSymlink),createSymlinkSync:createSymlinkSync}},7763:(t,i,r)=>{const o=r(4124).fromCallback;const a=r(8806);const h=["access","appendFile","chmod","chown","close","copyFile","fchmod","fchown","fdatasync","fstat","fsync","ftruncate","futimes","lchmod","lchown","link","lstat","mkdir","mkdtemp","open","opendir","readdir","readFile","readlink","realpath","rename","rm","rmdir","stat","symlink","truncate","unlink","utimes","writeFile"].filter((t=>typeof a[t]==="function"));Object.assign(i,a);h.forEach((t=>{i[t]=o(a[t])}));i.exists=function(t,i){if(typeof i==="function"){return a.exists(t,i)}return new Promise((i=>a.exists(t,i)))};i.read=function(t,i,r,o,h,c){if(typeof c==="function"){return a.read(t,i,r,o,h,c)}return new Promise(((c,l)=>{a.read(t,i,r,o,h,((t,i,r)=>{if(t)return l(t);c({bytesRead:i,buffer:r})}))}))};i.write=function(t,i,...r){if(typeof r[r.length-1]==="function"){return a.write(t,i,...r)}return new Promise(((o,h)=>{a.write(t,i,...r,((t,i,r)=>{if(t)return h(t);o({bytesWritten:i,buffer:r})}))}))};i.readv=function(t,i,...r){if(typeof r[r.length-1]==="function"){return a.readv(t,i,...r)}return new Promise(((o,h)=>{a.readv(t,i,...r,((t,i,r)=>{if(t)return h(t);o({bytesRead:i,buffers:r})}))}))};i.writev=function(t,i,...r){if(typeof r[r.length-1]==="function"){return a.writev(t,i,...r)}return new Promise(((o,h)=>{a.writev(t,i,...r,((t,i,r)=>{if(t)return h(t);o({bytesWritten:i,buffers:r})}))}))};if(typeof a.realpath.native==="function"){i.realpath.native=o(a.realpath.native)}else{process.emitWarning("fs.realpath.native is not a function. Is fs being monkey-patched?","Warning","fs-extra-WARN0003")}},34:(t,i,r)=>{const o=r(4124).fromPromise;const a=r(7164);a.outputJson=o(r(9132));a.outputJsonSync=r(2558);a.outputJSON=a.outputJson;a.outputJSONSync=a.outputJsonSync;a.writeJSON=a.writeJson;a.writeJSONSync=a.writeJsonSync;a.readJSON=a.readJson;a.readJSONSync=a.readJsonSync;t.exports=a},7164:(t,i,r)=>{const o=r(2476);t.exports={readJson:o.readFile,readJsonSync:o.readFileSync,writeJson:o.writeFile,writeJsonSync:o.writeFileSync}},2558:(t,i,r)=>{const{stringify:o}=r(565);const{outputFileSync:a}=r(8046);function outputJsonSync(t,i,r){const h=o(i,r);a(t,h,r)}t.exports=outputJsonSync},9132:(t,i,r)=>{const{stringify:o}=r(565);const{outputFile:a}=r(8046);async function outputJson(t,i,r={}){const h=o(i,r);await a(t,h,r)}t.exports=outputJson},2260:(t,i,r)=>{const o=r(4124).fromPromise;const{makeDir:a,makeDirSync:h}=r(3330);const c=o(a);t.exports={mkdirs:c,mkdirsSync:h,mkdirp:c,mkdirpSync:h,ensureDir:c,ensureDirSync:h}},3330:(t,i,r)=>{const o=r(7763);const{checkPath:a}=r(349);const getMode=t=>{const i={mode:511};if(typeof t==="number")return t;return{...i,...t}.mode};t.exports.makeDir=async(t,i)=>{a(t);return o.mkdir(t,{mode:getMode(i),recursive:true})};t.exports.makeDirSync=(t,i)=>{a(t);return o.mkdirSync(t,{mode:getMode(i),recursive:true})}},349:(t,i,r)=>{const o=r(6928);t.exports.checkPath=function checkPath(t){if(process.platform==="win32"){const i=/[<>:"|?*]/.test(t.replace(o.parse(t).root,""));if(i){const i=new Error(`Path contains invalid characters: ${t}`);i.code="EINVAL";throw i}}}},7105:(t,i,r)=>{const o=r(4124).fromPromise;t.exports={move:o(r(5132)),moveSync:r(8334)}},8334:(t,i,r)=>{const o=r(8806);const a=r(6928);const h=r(3521).copySync;const c=r(3348).removeSync;const l=r(2260).mkdirpSync;const u=r(7300);function moveSync(t,i,r){r=r||{};const o=r.overwrite||r.clobber||false;const{srcStat:h,isChangingCase:c=false}=u.checkPathsSync(t,i,"move",r);u.checkParentPathsSync(t,h,i,"move");if(!isParentRoot(i))l(a.dirname(i));return doRename(t,i,o,c)}function isParentRoot(t){const i=a.dirname(t);const r=a.parse(i);return r.root===i}function doRename(t,i,r,a){if(a)return rename(t,i,r);if(r){c(i);return rename(t,i,r)}if(o.existsSync(i))throw new Error("dest already exists.");return rename(t,i,r)}function rename(t,i,r){try{o.renameSync(t,i)}catch(o){if(o.code!=="EXDEV")throw o;return moveAcrossDevice(t,i,r)}}function moveAcrossDevice(t,i,r){const o={overwrite:r,errorOnExist:true,preserveTimestamps:true};h(t,i,o);return c(t)}t.exports=moveSync},5132:(t,i,r)=>{const o=r(7763);const a=r(6928);const{copy:h}=r(3521);const{remove:c}=r(3348);const{mkdirp:l}=r(2260);const{pathExists:u}=r(3662);const d=r(7300);async function move(t,i,r={}){const o=r.overwrite||r.clobber||false;const{srcStat:h,isChangingCase:c=false}=await d.checkPaths(t,i,"move",r);await d.checkParentPaths(t,h,i,"move");const u=a.dirname(i);const p=a.parse(u);if(p.root!==u){await l(u)}return doRename(t,i,o,c)}async function doRename(t,i,r,a){if(!a){if(r){await c(i)}else if(await u(i)){throw new Error("dest already exists.")}}try{await o.rename(t,i)}catch(o){if(o.code!=="EXDEV"){throw o}await moveAcrossDevice(t,i,r)}}async function moveAcrossDevice(t,i,r){const o={overwrite:r,errorOnExist:true,preserveTimestamps:true};await h(t,i,o);return c(t)}t.exports=move},8046:(t,i,r)=>{const o=r(4124).fromPromise;const a=r(7763);const h=r(6928);const c=r(2260);const l=r(3662).pathExists;async function outputFile(t,i,r="utf-8"){const o=h.dirname(t);if(!await l(o)){await c.mkdirs(o)}return a.writeFile(t,i,r)}function outputFileSync(t,...i){const r=h.dirname(t);if(!a.existsSync(r)){c.mkdirsSync(r)}a.writeFileSync(t,...i)}t.exports={outputFile:o(outputFile),outputFileSync:outputFileSync}},3662:(t,i,r)=>{const o=r(4124).fromPromise;const a=r(7763);function pathExists(t){return a.access(t).then((()=>true)).catch((()=>false))}t.exports={pathExists:o(pathExists),pathExistsSync:a.existsSync}},3348:(t,i,r)=>{const o=r(8806);const a=r(4124).fromCallback;function remove(t,i){o.rm(t,{recursive:true,force:true},i)}function removeSync(t){o.rmSync(t,{recursive:true,force:true})}t.exports={remove:a(remove),removeSync:removeSync}},7300:(t,i,r)=>{const o=r(7763);const a=r(6928);const h=r(4124).fromPromise;function getStats(t,i,r){const a=r.dereference?t=>o.stat(t,{bigint:true}):t=>o.lstat(t,{bigint:true});return Promise.all([a(t),a(i).catch((t=>{if(t.code==="ENOENT")return null;throw t}))]).then((([t,i])=>({srcStat:t,destStat:i})))}function getStatsSync(t,i,r){let a;const h=r.dereference?t=>o.statSync(t,{bigint:true}):t=>o.lstatSync(t,{bigint:true});const c=h(t);try{a=h(i)}catch(t){if(t.code==="ENOENT")return{srcStat:c,destStat:null};throw t}return{srcStat:c,destStat:a}}async function checkPaths(t,i,r,o){const{srcStat:h,destStat:c}=await getStats(t,i,o);if(c){if(areIdentical(h,c)){const o=a.basename(t);const l=a.basename(i);if(r==="move"&&o!==l&&o.toLowerCase()===l.toLowerCase()){return{srcStat:h,destStat:c,isChangingCase:true}}throw new Error("Source and destination must not be the same.")}if(h.isDirectory()&&!c.isDirectory()){throw new Error(`Cannot overwrite non-directory '${i}' with directory '${t}'.`)}if(!h.isDirectory()&&c.isDirectory()){throw new Error(`Cannot overwrite directory '${i}' with non-directory '${t}'.`)}}if(h.isDirectory()&&isSrcSubdir(t,i)){throw new Error(errMsg(t,i,r))}return{srcStat:h,destStat:c}}function checkPathsSync(t,i,r,o){const{srcStat:h,destStat:c}=getStatsSync(t,i,o);if(c){if(areIdentical(h,c)){const o=a.basename(t);const l=a.basename(i);if(r==="move"&&o!==l&&o.toLowerCase()===l.toLowerCase()){return{srcStat:h,destStat:c,isChangingCase:true}}throw new Error("Source and destination must not be the same.")}if(h.isDirectory()&&!c.isDirectory()){throw new Error(`Cannot overwrite non-directory '${i}' with directory '${t}'.`)}if(!h.isDirectory()&&c.isDirectory()){throw new Error(`Cannot overwrite directory '${i}' with non-directory '${t}'.`)}}if(h.isDirectory()&&isSrcSubdir(t,i)){throw new Error(errMsg(t,i,r))}return{srcStat:h,destStat:c}}async function checkParentPaths(t,i,r,h){const c=a.resolve(a.dirname(t));const l=a.resolve(a.dirname(r));if(l===c||l===a.parse(l).root)return;let u;try{u=await o.stat(l,{bigint:true})}catch(t){if(t.code==="ENOENT")return;throw t}if(areIdentical(i,u)){throw new Error(errMsg(t,r,h))}return checkParentPaths(t,i,l,h)}function checkParentPathsSync(t,i,r,h){const c=a.resolve(a.dirname(t));const l=a.resolve(a.dirname(r));if(l===c||l===a.parse(l).root)return;let u;try{u=o.statSync(l,{bigint:true})}catch(t){if(t.code==="ENOENT")return;throw t}if(areIdentical(i,u)){throw new Error(errMsg(t,r,h))}return checkParentPathsSync(t,i,l,h)}function areIdentical(t,i){return i.ino&&i.dev&&i.ino===t.ino&&i.dev===t.dev}function isSrcSubdir(t,i){const r=a.resolve(t).split(a.sep).filter((t=>t));const o=a.resolve(i).split(a.sep).filter((t=>t));return r.every(((t,i)=>o[i]===t))}function errMsg(t,i,r){return`Cannot ${r} '${t}' to a subdirectory of itself, '${i}'.`}t.exports={checkPaths:h(checkPaths),checkPathsSync:checkPathsSync,checkParentPaths:h(checkParentPaths),checkParentPathsSync:checkParentPathsSync,isSrcSubdir:isSrcSubdir,areIdentical:areIdentical}},3369:(t,i,r)=>{const o=r(7763);const a=r(4124).fromPromise;async function utimesMillis(t,i,r){const a=await o.open(t,"r+");let h=null;try{await o.futimes(a,i,r)}finally{try{await o.close(a)}catch(t){h=t}}if(h){throw h}}function utimesMillisSync(t,i,r){const a=o.openSync(t,"r+");o.futimesSync(a,i,r);return o.closeSync(a)}t.exports={utimesMillis:a(utimesMillis),utimesMillisSync:utimesMillisSync}},4934:t=>{t.exports=clone;var i=Object.getPrototypeOf||function(t){return t.__proto__};function clone(t){if(t===null||typeof t!=="object")return t;if(t instanceof Object)var r={__proto__:i(t)};else var r=Object.create(null);Object.getOwnPropertyNames(t).forEach((function(i){Object.defineProperty(r,i,Object.getOwnPropertyDescriptor(t,i))}));return r}},8806:(t,i,r)=>{var o=r(9896);var a=r(8223);var h=r(5380);var c=r(4934);var l=r(9023);var u;var d;if(typeof Symbol==="function"&&typeof Symbol.for==="function"){u=Symbol.for("graceful-fs.queue");d=Symbol.for("graceful-fs.previous")}else{u="___graceful-fs.queue";d="___graceful-fs.previous"}function noop(){}function publishQueue(t,i){Object.defineProperty(t,u,{get:function(){return i}})}var p=noop;if(l.debuglog)p=l.debuglog("gfs4");else if(/\bgfs4\b/i.test(process.env.NODE_DEBUG||""))p=function(){var t=l.format.apply(l,arguments);t="GFS4: "+t.split(/\n/).join("\nGFS4: ");console.error(t)};if(!o[u]){var m=global[u]||[];publishQueue(o,m);o.close=function(t){function close(i,r){return t.call(o,i,(function(t){if(!t){resetQueue()}if(typeof r==="function")r.apply(this,arguments)}))}Object.defineProperty(close,d,{value:t});return close}(o.close);o.closeSync=function(t){function closeSync(i){t.apply(o,arguments);resetQueue()}Object.defineProperty(closeSync,d,{value:t});return closeSync}(o.closeSync);if(/\bgfs4\b/i.test(process.env.NODE_DEBUG||"")){process.on("exit",(function(){p(o[u]);r(2613).equal(o[u].length,0)}))}}if(!global[u]){publishQueue(global,o[u])}t.exports=patch(c(o));if(process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH&&!o.__patched){t.exports=patch(o);o.__patched=true}function patch(t){a(t);t.gracefulify=patch;t.createReadStream=createReadStream;t.createWriteStream=createWriteStream;var i=t.readFile;t.readFile=readFile;function readFile(t,r,o){if(typeof r==="function")o=r,r=null;return go$readFile(t,r,o);function go$readFile(t,r,o,a){return i(t,r,(function(i){if(i&&(i.code==="EMFILE"||i.code==="ENFILE"))enqueue([go$readFile,[t,r,o],i,a||Date.now(),Date.now()]);else{if(typeof o==="function")o.apply(this,arguments)}}))}}var r=t.writeFile;t.writeFile=writeFile;function writeFile(t,i,o,a){if(typeof o==="function")a=o,o=null;return go$writeFile(t,i,o,a);function go$writeFile(t,i,o,a,h){return r(t,i,o,(function(r){if(r&&(r.code==="EMFILE"||r.code==="ENFILE"))enqueue([go$writeFile,[t,i,o,a],r,h||Date.now(),Date.now()]);else{if(typeof a==="function")a.apply(this,arguments)}}))}}var o=t.appendFile;if(o)t.appendFile=appendFile;function appendFile(t,i,r,a){if(typeof r==="function")a=r,r=null;return go$appendFile(t,i,r,a);function go$appendFile(t,i,r,a,h){return o(t,i,r,(function(o){if(o&&(o.code==="EMFILE"||o.code==="ENFILE"))enqueue([go$appendFile,[t,i,r,a],o,h||Date.now(),Date.now()]);else{if(typeof a==="function")a.apply(this,arguments)}}))}}var c=t.copyFile;if(c)t.copyFile=copyFile;function copyFile(t,i,r,o){if(typeof r==="function"){o=r;r=0}return go$copyFile(t,i,r,o);function go$copyFile(t,i,r,o,a){return c(t,i,r,(function(h){if(h&&(h.code==="EMFILE"||h.code==="ENFILE"))enqueue([go$copyFile,[t,i,r,o],h,a||Date.now(),Date.now()]);else{if(typeof o==="function")o.apply(this,arguments)}}))}}var l=t.readdir;t.readdir=readdir;var u=/^v[0-5]\./;function readdir(t,i,r){if(typeof i==="function")r=i,i=null;var o=u.test(process.version)?function go$readdir(t,i,r,o){return l(t,fs$readdirCallback(t,i,r,o))}:function go$readdir(t,i,r,o){return l(t,i,fs$readdirCallback(t,i,r,o))};return o(t,i,r);function fs$readdirCallback(t,i,r,a){return function(h,c){if(h&&(h.code==="EMFILE"||h.code==="ENFILE"))enqueue([o,[t,i,r],h,a||Date.now(),Date.now()]);else{if(c&&c.sort)c.sort();if(typeof r==="function")r.call(this,h,c)}}}}if(process.version.substr(0,4)==="v0.8"){var d=h(t);ReadStream=d.ReadStream;WriteStream=d.WriteStream}var p=t.ReadStream;if(p){ReadStream.prototype=Object.create(p.prototype);ReadStream.prototype.open=ReadStream$open}var m=t.WriteStream;if(m){WriteStream.prototype=Object.create(m.prototype);WriteStream.prototype.open=WriteStream$open}Object.defineProperty(t,"ReadStream",{get:function(){return ReadStream},set:function(t){ReadStream=t},enumerable:true,configurable:true});Object.defineProperty(t,"WriteStream",{get:function(){return WriteStream},set:function(t){WriteStream=t},enumerable:true,configurable:true});var y=ReadStream;Object.defineProperty(t,"FileReadStream",{get:function(){return y},set:function(t){y=t},enumerable:true,configurable:true});var g=WriteStream;Object.defineProperty(t,"FileWriteStream",{get:function(){return g},set:function(t){g=t},enumerable:true,configurable:true});function ReadStream(t,i){if(this instanceof ReadStream)return p.apply(this,arguments),this;else return ReadStream.apply(Object.create(ReadStream.prototype),arguments)}function ReadStream$open(){var t=this;open(t.path,t.flags,t.mode,(function(i,r){if(i){if(t.autoClose)t.destroy();t.emit("error",i)}else{t.fd=r;t.emit("open",r);t.read()}}))}function WriteStream(t,i){if(this instanceof WriteStream)return m.apply(this,arguments),this;else return WriteStream.apply(Object.create(WriteStream.prototype),arguments)}function WriteStream$open(){var t=this;open(t.path,t.flags,t.mode,(function(i,r){if(i){t.destroy();t.emit("error",i)}else{t.fd=r;t.emit("open",r)}}))}function createReadStream(i,r){return new t.ReadStream(i,r)}function createWriteStream(i,r){return new t.WriteStream(i,r)}var b=t.open;t.open=open;function open(t,i,r,o){if(typeof r==="function")o=r,r=null;return go$open(t,i,r,o);function go$open(t,i,r,o,a){return b(t,i,r,(function(h,c){if(h&&(h.code==="EMFILE"||h.code==="ENFILE"))enqueue([go$open,[t,i,r,o],h,a||Date.now(),Date.now()]);else{if(typeof o==="function")o.apply(this,arguments)}}))}}return t}function enqueue(t){p("ENQUEUE",t[0].name,t[1]);o[u].push(t);retry()}var y;function resetQueue(){var t=Date.now();for(var i=0;i<o[u].length;++i){if(o[u][i].length>2){o[u][i][3]=t;o[u][i][4]=t}}retry()}function retry(){clearTimeout(y);y=undefined;if(o[u].length===0)return;var t=o[u].shift();var i=t[0];var r=t[1];var a=t[2];var h=t[3];var c=t[4];if(h===undefined){p("RETRY",i.name,r);i.apply(null,r)}else if(Date.now()-h>=6e4){p("TIMEOUT",i.name,r);var l=r.pop();if(typeof l==="function")l.call(null,a)}else{var d=Date.now()-c;var m=Math.max(c-h,1);var g=Math.min(m*1.2,100);if(d>=g){p("RETRY",i.name,r);i.apply(null,r.concat([h]))}else{o[u].push(t)}}if(y===undefined){y=setTimeout(retry,0)}}},5380:(t,i,r)=>{var o=r(2203).Stream;t.exports=legacy;function legacy(t){return{ReadStream:ReadStream,WriteStream:WriteStream};function ReadStream(i,r){if(!(this instanceof ReadStream))return new ReadStream(i,r);o.call(this);var a=this;this.path=i;this.fd=null;this.readable=true;this.paused=false;this.flags="r";this.mode=438;this.bufferSize=64*1024;r=r||{};var h=Object.keys(r);for(var c=0,l=h.length;c<l;c++){var u=h[c];this[u]=r[u]}if(this.encoding)this.setEncoding(this.encoding);if(this.start!==undefined){if("number"!==typeof this.start){throw TypeError("start must be a Number")}if(this.end===undefined){this.end=Infinity}else if("number"!==typeof this.end){throw TypeError("end must be a Number")}if(this.start>this.end){throw new Error("start must be <= end")}this.pos=this.start}if(this.fd!==null){process.nextTick((function(){a._read()}));return}t.open(this.path,this.flags,this.mode,(function(t,i){if(t){a.emit("error",t);a.readable=false;return}a.fd=i;a.emit("open",i);a._read()}))}function WriteStream(i,r){if(!(this instanceof WriteStream))return new WriteStream(i,r);o.call(this);this.path=i;this.fd=null;this.writable=true;this.flags="w";this.encoding="binary";this.mode=438;this.bytesWritten=0;r=r||{};var a=Object.keys(r);for(var h=0,c=a.length;h<c;h++){var l=a[h];this[l]=r[l]}if(this.start!==undefined){if("number"!==typeof this.start){throw TypeError("start must be a Number")}if(this.start<0){throw new Error("start must be >= zero")}this.pos=this.start}this.busy=false;this._queue=[];if(this.fd===null){this._open=t.open;this._queue.push([this._open,this.path,this.flags,this.mode,undefined]);this.flush()}}}},8223:(t,i,r)=>{var o=r(9140);var a=process.cwd;var h=null;var c=process.env.GRACEFUL_FS_PLATFORM||process.platform;process.cwd=function(){if(!h)h=a.call(process);return h};try{process.cwd()}catch(t){}if(typeof process.chdir==="function"){var l=process.chdir;process.chdir=function(t){h=null;l.call(process,t)};if(Object.setPrototypeOf)Object.setPrototypeOf(process.chdir,l)}t.exports=patch;function patch(t){if(o.hasOwnProperty("O_SYMLINK")&&process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)){patchLchmod(t)}if(!t.lutimes){patchLutimes(t)}t.chown=chownFix(t.chown);t.fchown=chownFix(t.fchown);t.lchown=chownFix(t.lchown);t.chmod=chmodFix(t.chmod);t.fchmod=chmodFix(t.fchmod);t.lchmod=chmodFix(t.lchmod);t.chownSync=chownFixSync(t.chownSync);t.fchownSync=chownFixSync(t.fchownSync);t.lchownSync=chownFixSync(t.lchownSync);t.chmodSync=chmodFixSync(t.chmodSync);t.fchmodSync=chmodFixSync(t.fchmodSync);t.lchmodSync=chmodFixSync(t.lchmodSync);t.stat=statFix(t.stat);t.fstat=statFix(t.fstat);t.lstat=statFix(t.lstat);t.statSync=statFixSync(t.statSync);t.fstatSync=statFixSync(t.fstatSync);t.lstatSync=statFixSync(t.lstatSync);if(t.chmod&&!t.lchmod){t.lchmod=function(t,i,r){if(r)process.nextTick(r)};t.lchmodSync=function(){}}if(t.chown&&!t.lchown){t.lchown=function(t,i,r,o){if(o)process.nextTick(o)};t.lchownSync=function(){}}if(c==="win32"){t.rename=typeof t.rename!=="function"?t.rename:function(i){function rename(r,o,a){var h=Date.now();var c=0;i(r,o,(function CB(l){if(l&&(l.code==="EACCES"||l.code==="EPERM"||l.code==="EBUSY")&&Date.now()-h<6e4){setTimeout((function(){t.stat(o,(function(t,h){if(t&&t.code==="ENOENT")i(r,o,CB);else a(l)}))}),c);if(c<100)c+=10;return}if(a)a(l)}))}if(Object.setPrototypeOf)Object.setPrototypeOf(rename,i);return rename}(t.rename)}t.read=typeof t.read!=="function"?t.read:function(i){function read(r,o,a,h,c,l){var u;if(l&&typeof l==="function"){var d=0;u=function(p,m,y){if(p&&p.code==="EAGAIN"&&d<10){d++;return i.call(t,r,o,a,h,c,u)}l.apply(this,arguments)}}return i.call(t,r,o,a,h,c,u)}if(Object.setPrototypeOf)Object.setPrototypeOf(read,i);return read}(t.read);t.readSync=typeof t.readSync!=="function"?t.readSync:function(i){return function(r,o,a,h,c){var l=0;while(true){try{return i.call(t,r,o,a,h,c)}catch(t){if(t.code==="EAGAIN"&&l<10){l++;continue}throw t}}}}(t.readSync);function patchLchmod(t){t.lchmod=function(i,r,a){t.open(i,o.O_WRONLY|o.O_SYMLINK,r,(function(i,o){if(i){if(a)a(i);return}t.fchmod(o,r,(function(i){t.close(o,(function(t){if(a)a(i||t)}))}))}))};t.lchmodSync=function(i,r){var a=t.openSync(i,o.O_WRONLY|o.O_SYMLINK,r);var h=true;var c;try{c=t.fchmodSync(a,r);h=false}finally{if(h){try{t.closeSync(a)}catch(t){}}else{t.closeSync(a)}}return c}}function patchLutimes(t){if(o.hasOwnProperty("O_SYMLINK")&&t.futimes){t.lutimes=function(i,r,a,h){t.open(i,o.O_SYMLINK,(function(i,o){if(i){if(h)h(i);return}t.futimes(o,r,a,(function(i){t.close(o,(function(t){if(h)h(i||t)}))}))}))};t.lutimesSync=function(i,r,a){var h=t.openSync(i,o.O_SYMLINK);var c;var l=true;try{c=t.futimesSync(h,r,a);l=false}finally{if(l){try{t.closeSync(h)}catch(t){}}else{t.closeSync(h)}}return c}}else if(t.futimes){t.lutimes=function(t,i,r,o){if(o)process.nextTick(o)};t.lutimesSync=function(){}}}function chmodFix(i){if(!i)return i;return function(r,o,a){return i.call(t,r,o,(function(t){if(chownErOk(t))t=null;if(a)a.apply(this,arguments)}))}}function chmodFixSync(i){if(!i)return i;return function(r,o){try{return i.call(t,r,o)}catch(t){if(!chownErOk(t))throw t}}}function chownFix(i){if(!i)return i;return function(r,o,a,h){return i.call(t,r,o,a,(function(t){if(chownErOk(t))t=null;if(h)h.apply(this,arguments)}))}}function chownFixSync(i){if(!i)return i;return function(r,o,a){try{return i.call(t,r,o,a)}catch(t){if(!chownErOk(t))throw t}}}function statFix(i){if(!i)return i;return function(r,o,a){if(typeof o==="function"){a=o;o=null}function callback(t,i){if(i){if(i.uid<0)i.uid+=4294967296;if(i.gid<0)i.gid+=4294967296}if(a)a.apply(this,arguments)}return o?i.call(t,r,o,callback):i.call(t,r,callback)}}function statFixSync(i){if(!i)return i;return function(r,o){var a=o?i.call(t,r,o):i.call(t,r);if(a){if(a.uid<0)a.uid+=4294967296;if(a.gid<0)a.gid+=4294967296}return a}}function chownErOk(t){if(!t)return true;if(t.code==="ENOSYS")return true;var i=!process.getuid||process.getuid()!==0;if(i){if(t.code==="EINVAL"||t.code==="EPERM")return true}return false}}},8277:(t,i)=>{i.parse=i.decode=decode;i.stringify=i.encode=encode;i.safe=safe;i.unsafe=unsafe;var r=typeof process!=="undefined"&&process.platform==="win32"?"\r\n":"\n";function encode(t,i){var o=[];var a="";if(typeof i==="string"){i={section:i,whitespace:false}}else{i=i||{};i.whitespace=i.whitespace===true}var h=i.whitespace?" = ":"=";Object.keys(t).forEach((function(i,c,l){var u=t[i];if(u&&Array.isArray(u)){u.forEach((function(t){a+=safe(i+"[]")+h+safe(t)+"\n"}))}else if(u&&typeof u==="object")o.push(i);else a+=safe(i)+h+safe(u)+r}));if(i.section&&a.length)a="["+safe(i.section)+"]"+r+a;o.forEach((function(o,h,c){var l=dotSplit(o).join("\\.");var u=(i.section?i.section+".":"")+l;var d=encode(t[o],{section:u,whitespace:i.whitespace});if(a.length&&d.length)a+=r;a+=d}));return a}function dotSplit(t){return t.replace(/\1/g,"LITERAL\\1LITERAL").replace(/\\\./g,"").split(/\./).map((function(t){return t.replace(/\1/g,"\\.").replace(/\2LITERAL\\1LITERAL\2/g,"")}))}function decode(t){var i={};var r=i;var o=null;var a=/^\[([^\]]*)\]$|^([^=]+)(=(.*))?$/i;var h=t.split(/[\r\n]+/g);h.forEach((function(t,h,c){if(!t||t.match(/^\s*[;#]/))return;var l=t.match(a);if(!l)return;if(l[1]!==undefined){o=unsafe(l[1]);if(o==="__proto__"){r={};return}r=i[o]=i[o]||{};return}var u=unsafe(l[2]);if(u==="__proto__")return;var d=l[3]?unsafe(l[4]):true;switch(d){case"true":case"false":case"null":d=JSON.parse(d)}if(u.length>2&&u.slice(-2)==="[]"){u=u.substring(0,u.length-2);if(u==="__proto__")return;if(!r[u])r[u]=[];else if(!Array.isArray(r[u]))r[u]=[r[u]]}if(Array.isArray(r[u]))r[u].push(d);else r[u]=d}));Object.keys(i).filter((function(t,r,o){if(!i[t]||typeof i[t]!=="object"||Array.isArray(i[t]))return false;var a=dotSplit(t);var h=i;var c=a.pop();var l=c.replace(/\\\./g,".");a.forEach((function(t,i,r){if(t==="__proto__")return;if(!h[t]||typeof h[t]!=="object")h[t]={};h=h[t]}));if(h===i&&l===c)return false;h[l]=i[t];return true})).forEach((function(t,r,o){delete i[t]}));return i}function isQuoted(t){return t.charAt(0)==='"'&&t.slice(-1)==='"'||t.charAt(0)==="'"&&t.slice(-1)==="'"}function safe(t){return typeof t!=="string"||t.match(/[=\r\n]/)||t.match(/^\[/)||t.length>1&&isQuoted(t)||t!==t.trim()?JSON.stringify(t):t.replace(/;/g,"\\;").replace(/#/g,"\\#")}function unsafe(t,i){t=(t||"").trim();if(isQuoted(t)){if(t.charAt(0)==="'")t=t.substr(1,t.length-2);try{t=JSON.parse(t)}catch(t){}}else{var r=false;var o="";for(var a=0,h=t.length;a<h;a++){var c=t.charAt(a);if(r){if("\\;#".indexOf(c)!==-1)o+=c;else o+="\\"+c;r=false}else if(";#".indexOf(c)!==-1)break;else if(c==="\\")r=true;else o+=c}if(r)o+="\\";return o.trim()}return t}},2476:(t,i,r)=>{let o;try{o=r(8806)}catch(t){o=r(9896)}const a=r(4124);const{stringify:h,stripBom:c}=r(565);async function _readFile(t,i={}){if(typeof i==="string"){i={encoding:i}}const r=i.fs||o;const h="throws"in i?i.throws:true;let l=await a.fromCallback(r.readFile)(t,i);l=c(l);let u;try{u=JSON.parse(l,i?i.reviver:null)}catch(i){if(h){i.message=`${t}: ${i.message}`;throw i}else{return null}}return u}const l=a.fromPromise(_readFile);function readFileSync(t,i={}){if(typeof i==="string"){i={encoding:i}}const r=i.fs||o;const a="throws"in i?i.throws:true;try{let o=r.readFileSync(t,i);o=c(o);return JSON.parse(o,i.reviver)}catch(i){if(a){i.message=`${t}: ${i.message}`;throw i}else{return null}}}async function _writeFile(t,i,r={}){const c=r.fs||o;const l=h(i,r);await a.fromCallback(c.writeFile)(t,l,r)}const u=a.fromPromise(_writeFile);function writeFileSync(t,i,r={}){const a=r.fs||o;const c=h(i,r);return a.writeFileSync(t,c,r)}const d={readFile:l,readFileSync:readFileSync,writeFile:u,writeFileSync:writeFileSync};t.exports=d},565:t=>{function stringify(t,{EOL:i="\n",finalEOL:r=true,replacer:o=null,spaces:a}={}){const h=r?i:"";const c=JSON.stringify(t,o,a);return c.replace(/\n/g,i)+h}function stripBom(t){if(Buffer.isBuffer(t))t=t.toString("utf8");return t.replace(/^\uFEFF/,"")}t.exports={stringify:stringify,stripBom:stripBom}},9727:t=>{const{FORCE_COLOR:i,NODE_DISABLE_COLORS:r,TERM:o}=process.env;const a={enabled:!r&&o!=="dumb"&&i!=="0",reset:init(0,0),bold:init(1,22),dim:init(2,22),italic:init(3,23),underline:init(4,24),inverse:init(7,27),hidden:init(8,28),strikethrough:init(9,29),black:init(30,39),red:init(31,39),green:init(32,39),yellow:init(33,39),blue:init(34,39),magenta:init(35,39),cyan:init(36,39),white:init(37,39),gray:init(90,39),grey:init(90,39),bgBlack:init(40,49),bgRed:init(41,49),bgGreen:init(42,49),bgYellow:init(43,49),bgBlue:init(44,49),bgMagenta:init(45,49),bgCyan:init(46,49),bgWhite:init(47,49)};function run(t,i){let r=0,o,a="",h="";for(;r<t.length;r++){o=t[r];a+=o.open;h+=o.close;if(i.includes(o.close)){i=i.replace(o.rgx,o.close+o.open)}}return a+i+h}function chain(t,i){let r={has:t,keys:i};r.reset=a.reset.bind(r);r.bold=a.bold.bind(r);r.dim=a.dim.bind(r);r.italic=a.italic.bind(r);r.underline=a.underline.bind(r);r.inverse=a.inverse.bind(r);r.hidden=a.hidden.bind(r);r.strikethrough=a.strikethrough.bind(r);r.black=a.black.bind(r);r.red=a.red.bind(r);r.green=a.green.bind(r);r.yellow=a.yellow.bind(r);r.blue=a.blue.bind(r);r.magenta=a.magenta.bind(r);r.cyan=a.cyan.bind(r);r.white=a.white.bind(r);r.gray=a.gray.bind(r);r.grey=a.grey.bind(r);r.bgBlack=a.bgBlack.bind(r);r.bgRed=a.bgRed.bind(r);r.bgGreen=a.bgGreen.bind(r);r.bgYellow=a.bgYellow.bind(r);r.bgBlue=a.bgBlue.bind(r);r.bgMagenta=a.bgMagenta.bind(r);r.bgCyan=a.bgCyan.bind(r);r.bgWhite=a.bgWhite.bind(r);return r}function init(t,i){let r={open:`[${t}m`,close:`[${i}m`,rgx:new RegExp(`\\x1b\\[${i}m`,"g")};return function(i){if(this!==void 0&&this.has!==void 0){this.has.includes(t)||(this.has.push(t),this.keys.push(r));return i===void 0?this:a.enabled?run(this.keys,i+""):i+""}return i===void 0?chain([t],[r]):a.enabled?run([r],i+""):i+""}}t.exports=a},7688:t=>{function hasKey(t,i){var r=t;i.slice(0,-1).forEach((function(t){r=r[t]||{}}));var o=i[i.length-1];return o in r}function isNumber(t){if(typeof t==="number"){return true}if(/^0x[0-9a-f]+$/i.test(t)){return true}return/^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(t)}function isConstructorOrProto(t,i){return i==="constructor"&&typeof t[i]==="function"||i==="__proto__"}t.exports=function(t,i){if(!i){i={}}var r={bools:{},strings:{},unknownFn:null};if(typeof i.unknown==="function"){r.unknownFn=i.unknown}if(typeof i.boolean==="boolean"&&i.boolean){r.allBools=true}else{[].concat(i.boolean).filter(Boolean).forEach((function(t){r.bools[t]=true}))}var o={};function aliasIsBoolean(t){return o[t].some((function(t){return r.bools[t]}))}Object.keys(i.alias||{}).forEach((function(t){o[t]=[].concat(i.alias[t]);o[t].forEach((function(i){o[i]=[t].concat(o[t].filter((function(t){return i!==t})))}))}));[].concat(i.string).filter(Boolean).forEach((function(t){r.strings[t]=true;if(o[t]){[].concat(o[t]).forEach((function(t){r.strings[t]=true}))}}));var a=i.default||{};var h={_:[]};function argDefined(t,i){return r.allBools&&/^--[^=]+$/.test(i)||r.strings[t]||r.bools[t]||o[t]}function setKey(t,i,o){var a=t;for(var h=0;h<i.length-1;h++){var c=i[h];if(isConstructorOrProto(a,c)){return}if(a[c]===undefined){a[c]={}}if(a[c]===Object.prototype||a[c]===Number.prototype||a[c]===String.prototype){a[c]={}}if(a[c]===Array.prototype){a[c]=[]}a=a[c]}var l=i[i.length-1];if(isConstructorOrProto(a,l)){return}if(a===Object.prototype||a===Number.prototype||a===String.prototype){a={}}if(a===Array.prototype){a=[]}if(a[l]===undefined||r.bools[l]||typeof a[l]==="boolean"){a[l]=o}else if(Array.isArray(a[l])){a[l].push(o)}else{a[l]=[a[l],o]}}function setArg(t,i,a){if(a&&r.unknownFn&&!argDefined(t,a)){if(r.unknownFn(a)===false){return}}var c=!r.strings[t]&&isNumber(i)?Number(i):i;setKey(h,t.split("."),c);(o[t]||[]).forEach((function(t){setKey(h,t.split("."),c)}))}Object.keys(r.bools).forEach((function(t){setArg(t,a[t]===undefined?false:a[t])}));var c=[];if(t.indexOf("--")!==-1){c=t.slice(t.indexOf("--")+1);t=t.slice(0,t.indexOf("--"))}for(var l=0;l<t.length;l++){var u=t[l];var d;var p;if(/^--.+=/.test(u)){var m=u.match(/^--([^=]+)=([\s\S]*)$/);d=m[1];var y=m[2];if(r.bools[d]){y=y!=="false"}setArg(d,y,u)}else if(/^--no-.+/.test(u)){d=u.match(/^--no-(.+)/)[1];setArg(d,false,u)}else if(/^--.+/.test(u)){d=u.match(/^--(.+)/)[1];p=t[l+1];if(p!==undefined&&!/^(-|--)[^-]/.test(p)&&!r.bools[d]&&!r.allBools&&(o[d]?!aliasIsBoolean(d):true)){setArg(d,p,u);l+=1}else if(/^(true|false)$/.test(p)){setArg(d,p==="true",u);l+=1}else{setArg(d,r.strings[d]?"":true,u)}}else if(/^-[^-]+/.test(u)){var g=u.slice(1,-1).split("");var b=false;for(var w=0;w<g.length;w++){p=u.slice(w+2);if(p==="-"){setArg(g[w],p,u);continue}if(/[A-Za-z]/.test(g[w])&&p[0]==="="){setArg(g[w],p.slice(1),u);b=true;break}if(/[A-Za-z]/.test(g[w])&&/-?\d+(\.\d*)?(e-?\d+)?$/.test(p)){setArg(g[w],p,u);b=true;break}if(g[w+1]&&g[w+1].match(/\W/)){setArg(g[w],u.slice(w+2),u);b=true;break}else{setArg(g[w],r.strings[g[w]]?"":true,u)}}d=u.slice(-1)[0];if(!b&&d!=="-"){if(t[l+1]&&!/^(-|--)[^-]/.test(t[l+1])&&!r.bools[d]&&(o[d]?!aliasIsBoolean(d):true)){setArg(d,t[l+1],u);l+=1}else if(t[l+1]&&/^(true|false)$/.test(t[l+1])){setArg(d,t[l+1]==="true",u);l+=1}else{setArg(d,r.strings[d]?"":true,u)}}}else{if(!r.unknownFn||r.unknownFn(u)!==false){h._.push(r.strings._||!isNumber(u)?u:Number(u))}if(i.stopEarly){h._.push.apply(h._,t.slice(l+1));break}}}Object.keys(a).forEach((function(t){if(!hasKey(h,t.split("."))){setKey(h,t.split("."),a[t]);(o[t]||[]).forEach((function(i){setKey(h,i.split("."),a[t])}))}}));if(i["--"]){h["--"]=c.slice()}else{c.forEach((function(t){h._.push(t)}))}return h}},5348:t=>{class DatePart{constructor({token:t,date:i,parts:r,locales:o}){this.token=t;this.date=i||new Date;this.parts=r||[this];this.locales=o||{}}up(){}down(){}next(){const t=this.parts.indexOf(this);return this.parts.find(((i,r)=>r>t&&i instanceof DatePart))}setTo(t){}prev(){let t=[].concat(this.parts).reverse();const i=t.indexOf(this);return t.find(((t,r)=>r>i&&t instanceof DatePart))}toString(){return String(this.date)}}t.exports=DatePart},4935:(t,i,r)=>{const o=r(5348);const pos=t=>{t=t%10;return t===1?"st":t===2?"nd":t===3?"rd":"th"};class Day extends o{constructor(t={}){super(t)}up(){this.date.setDate(this.date.getDate()+1)}down(){this.date.setDate(this.date.getDate()-1)}setTo(t){this.date.setDate(parseInt(t.substr(-2)))}toString(){let t=this.date.getDate();let i=this.date.getDay();return this.token==="DD"?String(t).padStart(2,"0"):this.token==="Do"?t+pos(t):this.token==="d"?i+1:this.token==="ddd"?this.locales.weekdaysShort[i]:this.token==="dddd"?this.locales.weekdays[i]:t}}t.exports=Day},3810:(t,i,r)=>{const o=r(5348);class Hours extends o{constructor(t={}){super(t)}up(){this.date.setHours(this.date.getHours()+1)}down(){this.date.setHours(this.date.getHours()-1)}setTo(t){this.date.setHours(parseInt(t.substr(-2)))}toString(){let t=this.date.getHours();if(/h/.test(this.token))t=t%12||12;return this.token.length>1?String(t).padStart(2,"0"):t}}t.exports=Hours},7865:(t,i,r)=>{t.exports={DatePart:r(5348),Meridiem:r(2555),Day:r(4935),Hours:r(3810),Milliseconds:r(4923),Minutes:r(1028),Month:r(6395),Seconds:r(2212),Year:r(1820)}},2555:(t,i,r)=>{const o=r(5348);class Meridiem extends o{constructor(t={}){super(t)}up(){this.date.setHours((this.date.getHours()+12)%24)}down(){this.up()}toString(){let t=this.date.getHours()>12?"pm":"am";return/\A/.test(this.token)?t.toUpperCase():t}}t.exports=Meridiem},4923:(t,i,r)=>{const o=r(5348);class Milliseconds extends o{constructor(t={}){super(t)}up(){this.date.setMilliseconds(this.date.getMilliseconds()+1)}down(){this.date.setMilliseconds(this.date.getMilliseconds()-1)}setTo(t){this.date.setMilliseconds(parseInt(t.substr(-this.token.length)))}toString(){return String(this.date.getMilliseconds()).padStart(4,"0").substr(0,this.token.length)}}t.exports=Milliseconds},1028:(t,i,r)=>{const o=r(5348);class Minutes extends o{constructor(t={}){super(t)}up(){this.date.setMinutes(this.date.getMinutes()+1)}down(){this.date.setMinutes(this.date.getMinutes()-1)}setTo(t){this.date.setMinutes(parseInt(t.substr(-2)))}toString(){let t=this.date.getMinutes();return this.token.length>1?String(t).padStart(2,"0"):t}}t.exports=Minutes},6395:(t,i,r)=>{const o=r(5348);class Month extends o{constructor(t={}){super(t)}up(){this.date.setMonth(this.date.getMonth()+1)}down(){this.date.setMonth(this.date.getMonth()-1)}setTo(t){t=parseInt(t.substr(-2))-1;this.date.setMonth(t<0?0:t)}toString(){let t=this.date.getMonth();let i=this.token.length;return i===2?String(t+1).padStart(2,"0"):i===3?this.locales.monthsShort[t]:i===4?this.locales.months[t]:String(t+1)}}t.exports=Month},2212:(t,i,r)=>{const o=r(5348);class Seconds extends o{constructor(t={}){super(t)}up(){this.date.setSeconds(this.date.getSeconds()+1)}down(){this.date.setSeconds(this.date.getSeconds()-1)}setTo(t){this.date.setSeconds(parseInt(t.substr(-2)))}toString(){let t=this.date.getSeconds();return this.token.length>1?String(t).padStart(2,"0"):t}}t.exports=Seconds},1820:(t,i,r)=>{const o=r(5348);class Year extends o{constructor(t={}){super(t)}up(){this.date.setFullYear(this.date.getFullYear()+1)}down(){this.date.setFullYear(this.date.getFullYear()-1)}setTo(t){this.date.setFullYear(t.substr(-4))}toString(){let t=String(this.date.getFullYear()).padStart(4,"0");return this.token.length===2?t.substr(-2):t}}t.exports=Year},2962:(t,i,r)=>{function asyncGeneratorStep(t,i,r,o,a,h,c){try{var l=t[h](c);var u=l.value}catch(t){r(t);return}if(l.done){i(u)}else{Promise.resolve(u).then(o,a)}}function _asyncToGenerator(t){return function(){var i=this,r=arguments;return new Promise((function(o,a){var h=t.apply(i,r);function _next(t){asyncGeneratorStep(h,o,a,_next,_throw,"next",t)}function _throw(t){asyncGeneratorStep(h,o,a,_next,_throw,"throw",t)}_next(undefined)}))}}const o=r(9727);const a=r(7700);const h=r(5424),c=h.erase,l=h.cursor;const u=r(6601),d=u.style,p=u.clear,m=u.figures,y=u.wrap,g=u.entriesToDisplay;const getVal=(t,i)=>t[i]&&(t[i].value||t[i].title||t[i]);const getTitle=(t,i)=>t[i]&&(t[i].title||t[i].value||t[i]);const getIndex=(t,i)=>{const r=t.findIndex((t=>t.value===i||t.title===i));return r>-1?r:undefined};class AutocompletePrompt extends a{constructor(t={}){super(t);this.msg=t.message;this.suggest=t.suggest;this.choices=t.choices;this.initial=typeof t.initial==="number"?t.initial:getIndex(t.choices,t.initial);this.select=this.initial||t.cursor||0;this.i18n={noMatches:t.noMatches||"no matches found"};this.fallback=t.fallback||this.initial;this.clearFirst=t.clearFirst||false;this.suggestions=[];this.input="";this.limit=t.limit||10;this.cursor=0;this.transform=d.render(t.style);this.scale=this.transform.scale;this.render=this.render.bind(this);this.complete=this.complete.bind(this);this.clear=p("",this.out.columns);this.complete(this.render);this.render()}set fallback(t){this._fb=Number.isSafeInteger(parseInt(t))?parseInt(t):t}get fallback(){let t;if(typeof this._fb==="number")t=this.choices[this._fb];else if(typeof this._fb==="string")t={title:this._fb};return t||this._fb||{title:this.i18n.noMatches}}moveSelect(t){this.select=t;if(this.suggestions.length>0)this.value=getVal(this.suggestions,t);else this.value=this.fallback.value;this.fire()}complete(t){var i=this;return _asyncToGenerator((function*(){const r=i.completing=i.suggest(i.input,i.choices);const o=yield r;if(i.completing!==r)return;i.suggestions=o.map(((t,i,r)=>({title:getTitle(r,i),value:getVal(r,i),description:t.description})));i.completing=false;const a=Math.max(o.length-1,0);i.moveSelect(Math.min(a,i.select));t&&t()}))()}reset(){this.input="";this.complete((()=>{this.moveSelect(this.initial!==void 0?this.initial:0);this.render()}));this.render()}exit(){if(this.clearFirst&&this.input.length>0){this.reset()}else{this.done=this.exited=true;this.aborted=false;this.fire();this.render();this.out.write("\n");this.close()}}abort(){this.done=this.aborted=true;this.exited=false;this.fire();this.render();this.out.write("\n");this.close()}submit(){this.done=true;this.aborted=this.exited=false;this.fire();this.render();this.out.write("\n");this.close()}_(t,i){let r=this.input.slice(0,this.cursor);let o=this.input.slice(this.cursor);this.input=`${r}${t}${o}`;this.cursor=r.length+1;this.complete(this.render);this.render()}delete(){if(this.cursor===0)return this.bell();let t=this.input.slice(0,this.cursor-1);let i=this.input.slice(this.cursor);this.input=`${t}${i}`;this.complete(this.render);this.cursor=this.cursor-1;this.render()}deleteForward(){if(this.cursor*this.scale>=this.rendered.length)return this.bell();let t=this.input.slice(0,this.cursor);let i=this.input.slice(this.cursor+1);this.input=`${t}${i}`;this.complete(this.render);this.render()}first(){this.moveSelect(0);this.render()}last(){this.moveSelect(this.suggestions.length-1);this.render()}up(){if(this.select===0){this.moveSelect(this.suggestions.length-1)}else{this.moveSelect(this.select-1)}this.render()}down(){if(this.select===this.suggestions.length-1){this.moveSelect(0)}else{this.moveSelect(this.select+1)}this.render()}next(){if(this.select===this.suggestions.length-1){this.moveSelect(0)}else this.moveSelect(this.select+1);this.render()}nextPage(){this.moveSelect(Math.min(this.select+this.limit,this.suggestions.length-1));this.render()}prevPage(){this.moveSelect(Math.max(this.select-this.limit,0));this.render()}left(){if(this.cursor<=0)return this.bell();this.cursor=this.cursor-1;this.render()}right(){if(this.cursor*this.scale>=this.rendered.length)return this.bell();this.cursor=this.cursor+1;this.render()}renderOption(t,i,r,a){let h;let c=r?m.arrowUp:a?m.arrowDown:" ";let l=i?o.cyan().underline(t.title):t.title;c=(i?o.cyan(m.pointer)+" ":" ")+c;if(t.description){h=` - ${t.description}`;if(c.length+l.length+h.length>=this.out.columns||t.description.split(/\r?\n/).length>1){h="\n"+y(t.description,{margin:3,width:this.out.columns})}}return c+" "+l+o.gray(h||"")}render(){if(this.closed)return;if(this.firstRender)this.out.write(l.hide);else this.out.write(p(this.outputText,this.out.columns));super.render();let t=g(this.select,this.choices.length,this.limit),i=t.startIndex,r=t.endIndex;this.outputText=[d.symbol(this.done,this.aborted,this.exited),o.bold(this.msg),d.delimiter(this.completing),this.done&&this.suggestions[this.select]?this.suggestions[this.select].title:this.rendered=this.transform.render(this.input)].join(" ");if(!this.done){const t=this.suggestions.slice(i,r).map(((t,o)=>this.renderOption(t,this.select===o+i,o===0&&i>0,o+i===r-1&&r<this.choices.length))).join("\n");this.outputText+=`\n`+(t||o.gray(this.fallback.title))}this.out.write(c.line+l.to(0)+this.outputText)}}t.exports=AutocompletePrompt},3513:(t,i,r)=>{const o=r(9727);const a=r(5424),h=a.cursor;const c=r(7281);const l=r(6601),u=l.clear,d=l.style,p=l.figures;class AutocompleteMultiselectPrompt extends c{constructor(t={}){t.overrideRender=true;super(t);this.inputValue="";this.clear=u("",this.out.columns);this.filteredOptions=this.value;this.render()}last(){this.cursor=this.filteredOptions.length-1;this.render()}next(){this.cursor=(this.cursor+1)%this.filteredOptions.length;this.render()}up(){if(this.cursor===0){this.cursor=this.filteredOptions.length-1}else{this.cursor--}this.render()}down(){if(this.cursor===this.filteredOptions.length-1){this.cursor=0}else{this.cursor++}this.render()}left(){this.filteredOptions[this.cursor].selected=false;this.render()}right(){if(this.value.filter((t=>t.selected)).length>=this.maxChoices)return this.bell();this.filteredOptions[this.cursor].selected=true;this.render()}delete(){if(this.inputValue.length){this.inputValue=this.inputValue.substr(0,this.inputValue.length-1);this.updateFilteredOptions()}}updateFilteredOptions(){const t=this.filteredOptions[this.cursor];this.filteredOptions=this.value.filter((t=>{if(this.inputValue){if(typeof t.title==="string"){if(t.title.toLowerCase().includes(this.inputValue.toLowerCase())){return true}}if(typeof t.value==="string"){if(t.value.toLowerCase().includes(this.inputValue.toLowerCase())){return true}}return false}return true}));const i=this.filteredOptions.findIndex((i=>i===t));this.cursor=i<0?0:i;this.render()}handleSpaceToggle(){const t=this.filteredOptions[this.cursor];if(t.selected){t.selected=false;this.render()}else if(t.disabled||this.value.filter((t=>t.selected)).length>=this.maxChoices){return this.bell()}else{t.selected=true;this.render()}}handleInputChange(t){this.inputValue=this.inputValue+t;this.updateFilteredOptions()}_(t,i){if(t===" "){this.handleSpaceToggle()}else{this.handleInputChange(t)}}renderInstructions(){if(this.instructions===undefined||this.instructions){if(typeof this.instructions==="string"){return this.instructions}return`\nInstructions:\n ${p.arrowUp}/${p.arrowDown}: Highlight option\n ${p.arrowLeft}/${p.arrowRight}/[space]: Toggle selection\n [a,b,c]/delete: Filter choices\n enter/return: Complete answer\n`}return""}renderCurrentInput(){return`\nFiltered results for: ${this.inputValue?this.inputValue:o.gray("Enter something to filter")}\n`}renderOption(t,i,r){let a;if(i.disabled)a=t===r?o.gray().underline(i.title):o.strikethrough().gray(i.title);else a=t===r?o.cyan().underline(i.title):i.title;return(i.selected?o.green(p.radioOn):p.radioOff)+" "+a}renderDoneOrInstructions(){if(this.done){return this.value.filter((t=>t.selected)).map((t=>t.title)).join(", ")}const t=[o.gray(this.hint),this.renderInstructions(),this.renderCurrentInput()];if(this.filteredOptions.length&&this.filteredOptions[this.cursor].disabled){t.push(o.yellow(this.warn))}return t.join(" ")}render(){if(this.closed)return;if(this.firstRender)this.out.write(h.hide);super.render();let t=[d.symbol(this.done,this.aborted),o.bold(this.msg),d.delimiter(false),this.renderDoneOrInstructions()].join(" ");if(this.showMinError){t+=o.red(`You must select a minimum of ${this.minSelected} choices.`);this.showMinError=false}t+=this.renderOptions(this.filteredOptions);this.out.write(this.clear+t);this.clear=u(t,this.out.columns)}}t.exports=AutocompleteMultiselectPrompt},128:(t,i,r)=>{const o=r(9727);const a=r(7700);const h=r(6601),c=h.style,l=h.clear;const u=r(5424),d=u.erase,p=u.cursor;class ConfirmPrompt extends a{constructor(t={}){super(t);this.msg=t.message;this.value=t.initial;this.initialValue=!!t.initial;this.yesMsg=t.yes||"yes";this.yesOption=t.yesOption||"(Y/n)";this.noMsg=t.no||"no";this.noOption=t.noOption||"(y/N)";this.render()}reset(){this.value=this.initialValue;this.fire();this.render()}exit(){this.abort()}abort(){this.done=this.aborted=true;this.fire();this.render();this.out.write("\n");this.close()}submit(){this.value=this.value||false;this.done=true;this.aborted=false;this.fire();this.render();this.out.write("\n");this.close()}_(t,i){if(t.toLowerCase()==="y"){this.value=true;return this.submit()}if(t.toLowerCase()==="n"){this.value=false;return this.submit()}return this.bell()}render(){if(this.closed)return;if(this.firstRender)this.out.write(p.hide);else this.out.write(l(this.outputText,this.out.columns));super.render();this.outputText=[c.symbol(this.done,this.aborted),o.bold(this.msg),c.delimiter(this.done),this.done?this.value?this.yesMsg:this.noMsg:o.gray(this.initialValue?this.yesOption:this.noOption)].join(" ");this.out.write(d.line+p.to(0)+this.outputText)}}t.exports=ConfirmPrompt},5094:(t,i,r)=>{function asyncGeneratorStep(t,i,r,o,a,h,c){try{var l=t[h](c);var u=l.value}catch(t){r(t);return}if(l.done){i(u)}else{Promise.resolve(u).then(o,a)}}function _asyncToGenerator(t){return function(){var i=this,r=arguments;return new Promise((function(o,a){var h=t.apply(i,r);function _next(t){asyncGeneratorStep(h,o,a,_next,_throw,"next",t)}function _throw(t){asyncGeneratorStep(h,o,a,_next,_throw,"throw",t)}_next(undefined)}))}}const o=r(9727);const a=r(7700);const h=r(6601),c=h.style,l=h.clear,u=h.figures;const d=r(5424),p=d.erase,m=d.cursor;const y=r(7865),g=y.DatePart,b=y.Meridiem,w=y.Day,v=y.Hours,S=y.Milliseconds,E=y.Minutes,_=y.Month,x=y.Seconds,k=y.Year;const O=/\\(.)|"((?:\\["\\]|[^"])+)"|(D[Do]?|d{3,4}|d)|(M{1,4})|(YY(?:YY)?)|([aA])|([Hh]{1,2})|(m{1,2})|(s{1,2})|(S{1,4})|./g;const R={1:({token:t})=>t.replace(/\\(.)/g,"$1"),2:t=>new w(t),3:t=>new _(t),4:t=>new k(t),5:t=>new b(t),6:t=>new v(t),7:t=>new E(t),8:t=>new x(t),9:t=>new S(t)};const T={months:"January,February,March,April,May,June,July,August,September,October,November,December".split(","),monthsShort:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec".split(","),weekdays:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday".split(","),weekdaysShort:"Sun,Mon,Tue,Wed,Thu,Fri,Sat".split(",")};class DatePrompt extends a{constructor(t={}){super(t);this.msg=t.message;this.cursor=0;this.typed="";this.locales=Object.assign(T,t.locales);this._date=t.initial||new Date;this.errorMsg=t.error||"Please Enter A Valid Value";this.validator=t.validate||(()=>true);this.mask=t.mask||"YYYY-MM-DD HH:mm:ss";this.clear=l("",this.out.columns);this.render()}get value(){return this.date}get date(){return this._date}set date(t){if(t)this._date.setTime(t.getTime())}set mask(t){let i;this.parts=[];while(i=O.exec(t)){let t=i.shift();let r=i.findIndex((t=>t!=null));this.parts.push(r in R?R[r]({token:i[r]||t,date:this.date,parts:this.parts,locales:this.locales}):i[r]||t)}let r=this.parts.reduce(((t,i)=>{if(typeof i==="string"&&typeof t[t.length-1]==="string")t[t.length-1]+=i;else t.push(i);return t}),[]);this.parts.splice(0);this.parts.push(...r);this.reset()}moveCursor(t){this.typed="";this.cursor=t;this.fire()}reset(){this.moveCursor(this.parts.findIndex((t=>t instanceof g)));this.fire();this.render()}exit(){this.abort()}abort(){this.done=this.aborted=true;this.error=false;this.fire();this.render();this.out.write("\n");this.close()}validate(){var t=this;return _asyncToGenerator((function*(){let i=yield t.validator(t.value);if(typeof i==="string"){t.errorMsg=i;i=false}t.error=!i}))()}submit(){var t=this;return _asyncToGenerator((function*(){yield t.validate();if(t.error){t.color="red";t.fire();t.render();return}t.done=true;t.aborted=false;t.fire();t.render();t.out.write("\n");t.close()}))()}up(){this.typed="";this.parts[this.cursor].up();this.render()}down(){this.typed="";this.parts[this.cursor].down();this.render()}left(){let t=this.parts[this.cursor].prev();if(t==null)return this.bell();this.moveCursor(this.parts.indexOf(t));this.render()}right(){let t=this.parts[this.cursor].next();if(t==null)return this.bell();this.moveCursor(this.parts.indexOf(t));this.render()}next(){let t=this.parts[this.cursor].next();this.moveCursor(t?this.parts.indexOf(t):this.parts.findIndex((t=>t instanceof g)));this.render()}_(t){if(/\d/.test(t)){this.typed+=t;this.parts[this.cursor].setTo(this.typed);this.render()}}render(){if(this.closed)return;if(this.firstRender)this.out.write(m.hide);else this.out.write(l(this.outputText,this.out.columns));super.render();this.outputText=[c.symbol(this.done,this.aborted),o.bold(this.msg),c.delimiter(false),this.parts.reduce(((t,i,r)=>t.concat(r===this.cursor&&!this.done?o.cyan().underline(i.toString()):i)),[]).join("")].join(" ");if(this.error){this.outputText+=this.errorMsg.split("\n").reduce(((t,i,r)=>t+`\n${r?` `:u.pointerSmall} ${o.red().italic(i)}`),``)}this.out.write(p.line+m.to(0)+this.outputText)}}t.exports=DatePrompt},5188:(t,i,r)=>{t.exports={TextPrompt:r(9581),SelectPrompt:r(306),TogglePrompt:r(170),DatePrompt:r(5094),NumberPrompt:r(6707),MultiselectPrompt:r(7281),AutocompletePrompt:r(2962),AutocompleteMultiselectPrompt:r(3513),ConfirmPrompt:r(128)}},7281:(t,i,r)=>{const o=r(9727);const a=r(5424),h=a.cursor;const c=r(7700);const l=r(6601),u=l.clear,d=l.figures,p=l.style,m=l.wrap,y=l.entriesToDisplay;class MultiselectPrompt extends c{constructor(t={}){super(t);this.msg=t.message;this.cursor=t.cursor||0;this.scrollIndex=t.cursor||0;this.hint=t.hint||"";this.warn=t.warn||"- This option is disabled -";this.minSelected=t.min;this.showMinError=false;this.maxChoices=t.max;this.instructions=t.instructions;this.optionsPerPage=t.optionsPerPage||10;this.value=t.choices.map(((t,i)=>{if(typeof t==="string")t={title:t,value:i};return{title:t&&(t.title||t.value||t),description:t&&t.description,value:t&&(t.value===undefined?i:t.value),selected:t&&t.selected,disabled:t&&t.disabled}}));this.clear=u("",this.out.columns);if(!t.overrideRender){this.render()}}reset(){this.value.map((t=>!t.selected));this.cursor=0;this.fire();this.render()}selected(){return this.value.filter((t=>t.selected))}exit(){this.abort()}abort(){this.done=this.aborted=true;this.fire();this.render();this.out.write("\n");this.close()}submit(){const t=this.value.filter((t=>t.selected));if(this.minSelected&&t.length<this.minSelected){this.showMinError=true;this.render()}else{this.done=true;this.aborted=false;this.fire();this.render();this.out.write("\n");this.close()}}first(){this.cursor=0;this.render()}last(){this.cursor=this.value.length-1;this.render()}next(){this.cursor=(this.cursor+1)%this.value.length;this.render()}up(){if(this.cursor===0){this.cursor=this.value.length-1}else{this.cursor--}this.render()}down(){if(this.cursor===this.value.length-1){this.cursor=0}else{this.cursor++}this.render()}left(){this.value[this.cursor].selected=false;this.render()}right(){if(this.value.filter((t=>t.selected)).length>=this.maxChoices)return this.bell();this.value[this.cursor].selected=true;this.render()}handleSpaceToggle(){const t=this.value[this.cursor];if(t.selected){t.selected=false;this.render()}else if(t.disabled||this.value.filter((t=>t.selected)).length>=this.maxChoices){return this.bell()}else{t.selected=true;this.render()}}toggleAll(){if(this.maxChoices!==undefined||this.value[this.cursor].disabled){return this.bell()}const t=!this.value[this.cursor].selected;this.value.filter((t=>!t.disabled)).forEach((i=>i.selected=t));this.render()}_(t,i){if(t===" "){this.handleSpaceToggle()}else if(t==="a"){this.toggleAll()}else{return this.bell()}}renderInstructions(){if(this.instructions===undefined||this.instructions){if(typeof this.instructions==="string"){return this.instructions}return"\nInstructions:\n"+` ${d.arrowUp}/${d.arrowDown}: Highlight option\n`+` ${d.arrowLeft}/${d.arrowRight}/[space]: Toggle selection\n`+(this.maxChoices===undefined?` a: Toggle all\n`:"")+` enter/return: Complete answer`}return""}renderOption(t,i,r,a){const h=(i.selected?o.green(d.radioOn):d.radioOff)+" "+a+" ";let c,l;if(i.disabled){c=t===r?o.gray().underline(i.title):o.strikethrough().gray(i.title)}else{c=t===r?o.cyan().underline(i.title):i.title;if(t===r&&i.description){l=` - ${i.description}`;if(h.length+c.length+l.length>=this.out.columns||i.description.split(/\r?\n/).length>1){l="\n"+m(i.description,{margin:h.length,width:this.out.columns})}}}return h+c+o.gray(l||"")}paginateOptions(t){if(t.length===0){return o.red("No matches for this query.")}let i=y(this.cursor,t.length,this.optionsPerPage),r=i.startIndex,a=i.endIndex;let h,c=[];for(let i=r;i<a;i++){if(i===r&&r>0){h=d.arrowUp}else if(i===a-1&&a<t.length){h=d.arrowDown}else{h=" "}c.push(this.renderOption(this.cursor,t[i],i,h))}return"\n"+c.join("\n")}renderOptions(t){if(!this.done){return this.paginateOptions(t)}return""}renderDoneOrInstructions(){if(this.done){return this.value.filter((t=>t.selected)).map((t=>t.title)).join(", ")}const t=[o.gray(this.hint),this.renderInstructions()];if(this.value[this.cursor].disabled){t.push(o.yellow(this.warn))}return t.join(" ")}render(){if(this.closed)return;if(this.firstRender)this.out.write(h.hide);super.render();let t=[p.symbol(this.done,this.aborted),o.bold(this.msg),p.delimiter(false),this.renderDoneOrInstructions()].join(" ");if(this.showMinError){t+=o.red(`You must select a minimum of ${this.minSelected} choices.`);this.showMinError=false}t+=this.renderOptions(this.value);this.out.write(this.clear+t);this.clear=u(t,this.out.columns)}}t.exports=MultiselectPrompt},6707:(t,i,r)=>{function asyncGeneratorStep(t,i,r,o,a,h,c){try{var l=t[h](c);var u=l.value}catch(t){r(t);return}if(l.done){i(u)}else{Promise.resolve(u).then(o,a)}}function _asyncToGenerator(t){return function(){var i=this,r=arguments;return new Promise((function(o,a){var h=t.apply(i,r);function _next(t){asyncGeneratorStep(h,o,a,_next,_throw,"next",t)}function _throw(t){asyncGeneratorStep(h,o,a,_next,_throw,"throw",t)}_next(undefined)}))}}const o=r(9727);const a=r(7700);const h=r(5424),c=h.cursor,l=h.erase;const u=r(6601),d=u.style,p=u.figures,m=u.clear,y=u.lines;const g=/[0-9]/;const isDef=t=>t!==undefined;const round=(t,i)=>{let r=Math.pow(10,i);return Math.round(t*r)/r};class NumberPrompt extends a{constructor(t={}){super(t);this.transform=d.render(t.style);this.msg=t.message;this.initial=isDef(t.initial)?t.initial:"";this.float=!!t.float;this.round=t.round||2;this.inc=t.increment||1;this.min=isDef(t.min)?t.min:-Infinity;this.max=isDef(t.max)?t.max:Infinity;this.errorMsg=t.error||`Please Enter A Valid Value`;this.validator=t.validate||(()=>true);this.color=`cyan`;this.value=``;this.typed=``;this.lastHit=0;this.render()}set value(t){if(!t&&t!==0){this.placeholder=true;this.rendered=o.gray(this.transform.render(`${this.initial}`));this._value=``}else{this.placeholder=false;this.rendered=this.transform.render(`${round(t,this.round)}`);this._value=round(t,this.round)}this.fire()}get value(){return this._value}parse(t){return this.float?parseFloat(t):parseInt(t)}valid(t){return t===`-`||t===`.`&&this.float||g.test(t)}reset(){this.typed=``;this.value=``;this.fire();this.render()}exit(){this.abort()}abort(){let t=this.value;this.value=t!==``?t:this.initial;this.done=this.aborted=true;this.error=false;this.fire();this.render();this.out.write(`\n`);this.close()}validate(){var t=this;return _asyncToGenerator((function*(){let i=yield t.validator(t.value);if(typeof i===`string`){t.errorMsg=i;i=false}t.error=!i}))()}submit(){var t=this;return _asyncToGenerator((function*(){yield t.validate();if(t.error){t.color=`red`;t.fire();t.render();return}let i=t.value;t.value=i!==``?i:t.initial;t.done=true;t.aborted=false;t.error=false;t.fire();t.render();t.out.write(`\n`);t.close()}))()}up(){this.typed=``;if(this.value===""){this.value=this.min-this.inc}if(this.value>=this.max)return this.bell();this.value+=this.inc;this.color=`cyan`;this.fire();this.render()}down(){this.typed=``;if(this.value===""){this.value=this.min+this.inc}if(this.value<=this.min)return this.bell();this.value-=this.inc;this.color=`cyan`;this.fire();this.render()}delete(){let t=this.value.toString();if(t.length===0)return this.bell();this.value=this.parse(t=t.slice(0,-1))||``;if(this.value!==""&&this.value<this.min){this.value=this.min}this.color=`cyan`;this.fire();this.render()}next(){this.value=this.initial;this.fire();this.render()}_(t,i){if(!this.valid(t))return this.bell();const r=Date.now();if(r-this.lastHit>1e3)this.typed=``;this.typed+=t;this.lastHit=r;this.color=`cyan`;if(t===`.`)return this.fire();this.value=Math.min(this.parse(this.typed),this.max);if(this.value>this.max)this.value=this.max;if(this.value<this.min)this.value=this.min;this.fire();this.render()}render(){if(this.closed)return;if(!this.firstRender){if(this.outputError)this.out.write(c.down(y(this.outputError,this.out.columns)-1)+m(this.outputError,this.out.columns));this.out.write(m(this.outputText,this.out.columns))}super.render();this.outputError="";this.outputText=[d.symbol(this.done,this.aborted),o.bold(this.msg),d.delimiter(this.done),!this.done||!this.done&&!this.placeholder?o[this.color]().underline(this.rendered):this.rendered].join(` `);if(this.error){this.outputError+=this.errorMsg.split(`\n`).reduce(((t,i,r)=>t+`\n${r?` `:p.pointerSmall} ${o.red().italic(i)}`),``)}this.out.write(l.line+c.to(0)+this.outputText+c.save+this.outputError+c.restore)}}t.exports=NumberPrompt},7700:(t,i,r)=>{const o=r(3785);const a=r(6601),h=a.action;const c=r(4434);const l=r(5424),u=l.beep,d=l.cursor;const p=r(9727);class Prompt extends c{constructor(t={}){super();this.firstRender=true;this.in=t.stdin||process.stdin;this.out=t.stdout||process.stdout;this.onRender=(t.onRender||(()=>void 0)).bind(this);const i=o.createInterface({input:this.in,escapeCodeTimeout:50});o.emitKeypressEvents(this.in,i);if(this.in.isTTY)this.in.setRawMode(true);const r=["SelectPrompt","MultiselectPrompt"].indexOf(this.constructor.name)>-1;const keypress=(t,i)=>{let o=h(i,r);if(o===false){this._&&this._(t,i)}else if(typeof this[o]==="function"){this[o](i)}else{this.bell()}};this.close=()=>{this.out.write(d.show);this.in.removeListener("keypress",keypress);if(this.in.isTTY)this.in.setRawMode(false);i.close();this.emit(this.aborted?"abort":this.exited?"exit":"submit",this.value);this.closed=true};this.in.on("keypress",keypress)}fire(){this.emit("state",{value:this.value,aborted:!!this.aborted,exited:!!this.exited})}bell(){this.out.write(u)}render(){this.onRender(p);if(this.firstRender)this.firstRender=false}}t.exports=Prompt},306:(t,i,r)=>{const o=r(9727);const a=r(7700);const h=r(6601),c=h.style,l=h.clear,u=h.figures,d=h.wrap,p=h.entriesToDisplay;const m=r(5424),y=m.cursor;class SelectPrompt extends a{constructor(t={}){super(t);this.msg=t.message;this.hint=t.hint||"- Use arrow-keys. Return to submit.";this.warn=t.warn||"- This option is disabled";this.cursor=t.initial||0;this.choices=t.choices.map(((t,i)=>{if(typeof t==="string")t={title:t,value:i};return{title:t&&(t.title||t.value||t),value:t&&(t.value===undefined?i:t.value),description:t&&t.description,selected:t&&t.selected,disabled:t&&t.disabled}}));this.optionsPerPage=t.optionsPerPage||10;this.value=(this.choices[this.cursor]||{}).value;this.clear=l("",this.out.columns);this.render()}moveCursor(t){this.cursor=t;this.value=this.choices[t].value;this.fire()}reset(){this.moveCursor(0);this.fire();this.render()}exit(){this.abort()}abort(){this.done=this.aborted=true;this.fire();this.render();this.out.write("\n");this.close()}submit(){if(!this.selection.disabled){this.done=true;this.aborted=false;this.fire();this.render();this.out.write("\n");this.close()}else this.bell()}first(){this.moveCursor(0);this.render()}last(){this.moveCursor(this.choices.length-1);this.render()}up(){if(this.cursor===0){this.moveCursor(this.choices.length-1)}else{this.moveCursor(this.cursor-1)}this.render()}down(){if(this.cursor===this.choices.length-1){this.moveCursor(0)}else{this.moveCursor(this.cursor+1)}this.render()}next(){this.moveCursor((this.cursor+1)%this.choices.length);this.render()}_(t,i){if(t===" ")return this.submit()}get selection(){return this.choices[this.cursor]}render(){if(this.closed)return;if(this.firstRender)this.out.write(y.hide);else this.out.write(l(this.outputText,this.out.columns));super.render();let t=p(this.cursor,this.choices.length,this.optionsPerPage),i=t.startIndex,r=t.endIndex;this.outputText=[c.symbol(this.done,this.aborted),o.bold(this.msg),c.delimiter(false),this.done?this.selection.title:this.selection.disabled?o.yellow(this.warn):o.gray(this.hint)].join(" ");if(!this.done){this.outputText+="\n";for(let t=i;t<r;t++){let a,h,c="",l=this.choices[t];if(t===i&&i>0){h=u.arrowUp}else if(t===r-1&&r<this.choices.length){h=u.arrowDown}else{h=" "}if(l.disabled){a=this.cursor===t?o.gray().underline(l.title):o.strikethrough().gray(l.title);h=(this.cursor===t?o.bold().gray(u.pointer)+" ":" ")+h}else{a=this.cursor===t?o.cyan().underline(l.title):l.title;h=(this.cursor===t?o.cyan(u.pointer)+" ":" ")+h;if(l.description&&this.cursor===t){c=` - ${l.description}`;if(h.length+a.length+c.length>=this.out.columns||l.description.split(/\r?\n/).length>1){c="\n"+d(l.description,{margin:3,width:this.out.columns})}}}this.outputText+=`${h} ${a}${o.gray(c)}\n`}}this.out.write(this.outputText)}}t.exports=SelectPrompt},9581:(t,i,r)=>{function asyncGeneratorStep(t,i,r,o,a,h,c){try{var l=t[h](c);var u=l.value}catch(t){r(t);return}if(l.done){i(u)}else{Promise.resolve(u).then(o,a)}}function _asyncToGenerator(t){return function(){var i=this,r=arguments;return new Promise((function(o,a){var h=t.apply(i,r);function _next(t){asyncGeneratorStep(h,o,a,_next,_throw,"next",t)}function _throw(t){asyncGeneratorStep(h,o,a,_next,_throw,"throw",t)}_next(undefined)}))}}const o=r(9727);const a=r(7700);const h=r(5424),c=h.erase,l=h.cursor;const u=r(6601),d=u.style,p=u.clear,m=u.lines,y=u.figures;class TextPrompt extends a{constructor(t={}){super(t);this.transform=d.render(t.style);this.scale=this.transform.scale;this.msg=t.message;this.initial=t.initial||``;this.validator=t.validate||(()=>true);this.value=``;this.errorMsg=t.error||`Please Enter A Valid Value`;this.cursor=Number(!!this.initial);this.cursorOffset=0;this.clear=p(``,this.out.columns);this.render()}set value(t){if(!t&&this.initial){this.placeholder=true;this.rendered=o.gray(this.transform.render(this.initial))}else{this.placeholder=false;this.rendered=this.transform.render(t)}this._value=t;this.fire()}get value(){return this._value}reset(){this.value=``;this.cursor=Number(!!this.initial);this.cursorOffset=0;this.fire();this.render()}exit(){this.abort()}abort(){this.value=this.value||this.initial;this.done=this.aborted=true;this.error=false;this.red=false;this.fire();this.render();this.out.write("\n");this.close()}validate(){var t=this;return _asyncToGenerator((function*(){let i=yield t.validator(t.value);if(typeof i===`string`){t.errorMsg=i;i=false}t.error=!i}))()}submit(){var t=this;return _asyncToGenerator((function*(){t.value=t.value||t.initial;t.cursorOffset=0;t.cursor=t.rendered.length;yield t.validate();if(t.error){t.red=true;t.fire();t.render();return}t.done=true;t.aborted=false;t.fire();t.render();t.out.write("\n");t.close()}))()}next(){if(!this.placeholder)return this.bell();this.value=this.initial;this.cursor=this.rendered.length;this.fire();this.render()}moveCursor(t){if(this.placeholder)return;this.cursor=this.cursor+t;this.cursorOffset+=t}_(t,i){let r=this.value.slice(0,this.cursor);let o=this.value.slice(this.cursor);this.value=`${r}${t}${o}`;this.red=false;this.cursor=this.placeholder?0:r.length+1;this.render()}delete(){if(this.isCursorAtStart())return this.bell();let t=this.value.slice(0,this.cursor-1);let i=this.value.slice(this.cursor);this.value=`${t}${i}`;this.red=false;if(this.isCursorAtStart()){this.cursorOffset=0}else{this.cursorOffset++;this.moveCursor(-1)}this.render()}deleteForward(){if(this.cursor*this.scale>=this.rendered.length||this.placeholder)return this.bell();let t=this.value.slice(0,this.cursor);let i=this.value.slice(this.cursor+1);this.value=`${t}${i}`;this.red=false;if(this.isCursorAtEnd()){this.cursorOffset=0}else{this.cursorOffset++}this.render()}first(){this.cursor=0;this.render()}last(){this.cursor=this.value.length;this.render()}left(){if(this.cursor<=0||this.placeholder)return this.bell();this.moveCursor(-1);this.render()}right(){if(this.cursor*this.scale>=this.rendered.length||this.placeholder)return this.bell();this.moveCursor(1);this.render()}isCursorAtStart(){return this.cursor===0||this.placeholder&&this.cursor===1}isCursorAtEnd(){return this.cursor===this.rendered.length||this.placeholder&&this.cursor===this.rendered.length+1}render(){if(this.closed)return;if(!this.firstRender){if(this.outputError)this.out.write(l.down(m(this.outputError,this.out.columns)-1)+p(this.outputError,this.out.columns));this.out.write(p(this.outputText,this.out.columns))}super.render();this.outputError="";this.outputText=[d.symbol(this.done,this.aborted),o.bold(this.msg),d.delimiter(this.done),this.red?o.red(this.rendered):this.rendered].join(` `);if(this.error){this.outputError+=this.errorMsg.split(`\n`).reduce(((t,i,r)=>t+`\n${r?" ":y.pointerSmall} ${o.red().italic(i)}`),``)}this.out.write(c.line+l.to(0)+this.outputText+l.save+this.outputError+l.restore+l.move(this.cursorOffset,0))}}t.exports=TextPrompt},170:(t,i,r)=>{const o=r(9727);const a=r(7700);const h=r(6601),c=h.style,l=h.clear;const u=r(5424),d=u.cursor,p=u.erase;class TogglePrompt extends a{constructor(t={}){super(t);this.msg=t.message;this.value=!!t.initial;this.active=t.active||"on";this.inactive=t.inactive||"off";this.initialValue=this.value;this.render()}reset(){this.value=this.initialValue;this.fire();this.render()}exit(){this.abort()}abort(){this.done=this.aborted=true;this.fire();this.render();this.out.write("\n");this.close()}submit(){this.done=true;this.aborted=false;this.fire();this.render();this.out.write("\n");this.close()}deactivate(){if(this.value===false)return this.bell();this.value=false;this.render()}activate(){if(this.value===true)return this.bell();this.value=true;this.render()}delete(){this.deactivate()}left(){this.deactivate()}right(){this.activate()}down(){this.deactivate()}up(){this.activate()}next(){this.value=!this.value;this.fire();this.render()}_(t,i){if(t===" "){this.value=!this.value}else if(t==="1"){this.value=true}else if(t==="0"){this.value=false}else return this.bell();this.render()}render(){if(this.closed)return;if(this.firstRender)this.out.write(d.hide);else this.out.write(l(this.outputText,this.out.columns));super.render();this.outputText=[c.symbol(this.done,this.aborted),o.bold(this.msg),c.delimiter(this.done),this.value?this.inactive:o.cyan().underline(this.inactive),o.gray("/"),this.value?o.cyan().underline(this.active):this.active].join(" ");this.out.write(p.line+d.to(0)+this.outputText)}}t.exports=TogglePrompt},6528:(t,i,r)=>{function ownKeys(t,i){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);if(i){o=o.filter((function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable}))}r.push.apply(r,o)}return r}function _objectSpread(t){for(var i=1;i<arguments.length;i++){var r=arguments[i]!=null?arguments[i]:{};if(i%2){ownKeys(Object(r),true).forEach((function(i){_defineProperty(t,i,r[i])}))}else if(Object.getOwnPropertyDescriptors){Object.defineProperties(t,Object.getOwnPropertyDescriptors(r))}else{ownKeys(Object(r)).forEach((function(i){Object.defineProperty(t,i,Object.getOwnPropertyDescriptor(r,i))}))}}return t}function _defineProperty(t,i,r){if(i in t){Object.defineProperty(t,i,{value:r,enumerable:true,configurable:true,writable:true})}else{t[i]=r}return t}function _createForOfIteratorHelper(t,i){var r=typeof Symbol!=="undefined"&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=_unsupportedIterableToArray(t))||i&&t&&typeof t.length==="number"){if(r)t=r;var o=0;var a=function F(){};return{s:a,n:function n(){if(o>=t.length)return{done:true};return{done:false,value:t[o++]}},e:function e(t){throw t},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var h=true,c=false,l;return{s:function s(){r=r.call(t)},n:function n(){var t=r.next();h=t.done;return t},e:function e(t){c=true;l=t},f:function f(){try{if(!h&&r.return!=null)r.return()}finally{if(c)throw l}}}}function _unsupportedIterableToArray(t,i){if(!t)return;if(typeof t==="string")return _arrayLikeToArray(t,i);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor)r=t.constructor.name;if(r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return _arrayLikeToArray(t,i)}function _arrayLikeToArray(t,i){if(i==null||i>t.length)i=t.length;for(var r=0,o=new Array(i);r<i;r++)o[r]=t[r];return o}function asyncGeneratorStep(t,i,r,o,a,h,c){try{var l=t[h](c);var u=l.value}catch(t){r(t);return}if(l.done){i(u)}else{Promise.resolve(u).then(o,a)}}function _asyncToGenerator(t){return function(){var i=this,r=arguments;return new Promise((function(o,a){var h=t.apply(i,r);function _next(t){asyncGeneratorStep(h,o,a,_next,_throw,"next",t)}function _throw(t){asyncGeneratorStep(h,o,a,_next,_throw,"throw",t)}_next(undefined)}))}}const o=r(2951);const a=["suggest","format","onState","validate","onRender","type"];const noop=()=>{};function prompt(){return _prompt.apply(this,arguments)}function _prompt(){_prompt=_asyncToGenerator((function*(t=[],{onSubmit:i=noop,onCancel:r=noop}={}){const h={};const c=prompt._override||{};t=[].concat(t);let l,u,d,p,m,y;const g=function(){var t=_asyncToGenerator((function*(t,i,r=false){if(!r&&t.validate&&t.validate(i)!==true){return}return t.format?yield t.format(i,h):i}));return function getFormattedAnswer(i,r){return t.apply(this,arguments)}}();var b=_createForOfIteratorHelper(t),w;try{for(b.s();!(w=b.n()).done;){u=w.value;var v=u;p=v.name;m=v.type;if(typeof m==="function"){m=yield m(l,_objectSpread({},h),u);u["type"]=m}if(!m)continue;for(let t in u){if(a.includes(t))continue;let i=u[t];u[t]=typeof i==="function"?yield i(l,_objectSpread({},h),y):i}y=u;if(typeof u.message!=="string"){throw new Error("prompt message is required")}var S=u;p=S.name;m=S.type;if(o[m]===void 0){throw new Error(`prompt type (${m}) is not defined`)}if(c[u.name]!==undefined){l=yield g(u,c[u.name]);if(l!==undefined){h[p]=l;continue}}try{l=prompt._injected?getInjectedAnswer(prompt._injected,u.initial):yield o[m](u);h[p]=l=yield g(u,l,true);d=yield i(u,l,h)}catch(t){d=!(yield r(u,h))}if(d)return h}}catch(t){b.e(t)}finally{b.f()}return h}));return _prompt.apply(this,arguments)}function getInjectedAnswer(t,i){const r=t.shift();if(r instanceof Error){throw r}return r===undefined?i:r}function inject(t){prompt._injected=(prompt._injected||[]).concat(t)}function override(t){prompt._override=Object.assign({},t)}t.exports=Object.assign(prompt,{prompt:prompt,prompts:o,inject:inject,override:override})},2951:(t,i,r)=>{const o=i;const a=r(5188);const noop=t=>t;function toPrompt(t,i,r={}){return new Promise(((o,h)=>{const c=new a[t](i);const l=r.onAbort||noop;const u=r.onSubmit||noop;const d=r.onExit||noop;c.on("state",i.onState||noop);c.on("submit",(t=>o(u(t))));c.on("exit",(t=>o(d(t))));c.on("abort",(t=>h(l(t))))}))}o.text=t=>toPrompt("TextPrompt",t);o.password=t=>{t.style="password";return o.text(t)};o.invisible=t=>{t.style="invisible";return o.text(t)};o.number=t=>toPrompt("NumberPrompt",t);o.date=t=>toPrompt("DatePrompt",t);o.confirm=t=>toPrompt("ConfirmPrompt",t);o.list=t=>{const i=t.separator||",";return toPrompt("TextPrompt",t,{onSubmit:t=>t.split(i).map((t=>t.trim()))})};o.toggle=t=>toPrompt("TogglePrompt",t);o.select=t=>toPrompt("SelectPrompt",t);o.multiselect=t=>{t.choices=[].concat(t.choices||[]);const toSelected=t=>t.filter((t=>t.selected)).map((t=>t.value));return toPrompt("MultiselectPrompt",t,{onAbort:toSelected,onSubmit:toSelected})};o.autocompleteMultiselect=t=>{t.choices=[].concat(t.choices||[]);const toSelected=t=>t.filter((t=>t.selected)).map((t=>t.value));return toPrompt("AutocompleteMultiselectPrompt",t,{onAbort:toSelected,onSubmit:toSelected})};const byTitle=(t,i)=>Promise.resolve(i.filter((i=>i.title.slice(0,t.length).toLowerCase()===t.toLowerCase())));o.autocomplete=t=>{t.suggest=t.suggest||byTitle;t.choices=[].concat(t.choices||[]);return toPrompt("AutocompletePrompt",t)}},31:t=>{t.exports=(t,i)=>{if(t.meta&&t.name!=="escape")return;if(t.ctrl){if(t.name==="a")return"first";if(t.name==="c")return"abort";if(t.name==="d")return"abort";if(t.name==="e")return"last";if(t.name==="g")return"reset"}if(i){if(t.name==="j")return"down";if(t.name==="k")return"up"}if(t.name==="return")return"submit";if(t.name==="enter")return"submit";if(t.name==="backspace")return"delete";if(t.name==="delete")return"deleteForward";if(t.name==="abort")return"abort";if(t.name==="escape")return"exit";if(t.name==="tab")return"next";if(t.name==="pagedown")return"nextPage";if(t.name==="pageup")return"prevPage";if(t.name==="home")return"home";if(t.name==="end")return"end";if(t.name==="up")return"up";if(t.name==="down")return"down";if(t.name==="right")return"right";if(t.name==="left")return"left";return false}},3744:(t,i,r)=>{function _createForOfIteratorHelper(t,i){var r=typeof Symbol!=="undefined"&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=_unsupportedIterableToArray(t))||i&&t&&typeof t.length==="number"){if(r)t=r;var o=0;var a=function F(){};return{s:a,n:function n(){if(o>=t.length)return{done:true};return{done:false,value:t[o++]}},e:function e(t){throw t},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var h=true,c=false,l;return{s:function s(){r=r.call(t)},n:function n(){var t=r.next();h=t.done;return t},e:function e(t){c=true;l=t},f:function f(){try{if(!h&&r.return!=null)r.return()}finally{if(c)throw l}}}}function _unsupportedIterableToArray(t,i){if(!t)return;if(typeof t==="string")return _arrayLikeToArray(t,i);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor)r=t.constructor.name;if(r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return _arrayLikeToArray(t,i)}function _arrayLikeToArray(t,i){if(i==null||i>t.length)i=t.length;for(var r=0,o=new Array(i);r<i;r++)o[r]=t[r];return o}const o=r(4059);const a=r(5424),h=a.erase,c=a.cursor;const width=t=>[...o(t)].length;t.exports=function(t,i){if(!i)return h.line+c.to(0);let r=0;const o=t.split(/\r?\n/);var a=_createForOfIteratorHelper(o),l;try{for(a.s();!(l=a.n()).done;){let t=l.value;r+=1+Math.floor(Math.max(width(t)-1,0)/i)}}catch(t){a.e(t)}finally{a.f()}return h.lines(r)}},5852:t=>{t.exports=(t,i,r)=>{r=r||i;let o=Math.min(i-r,t-Math.floor(r/2));if(o<0)o=0;let a=Math.min(o+r,i);return{startIndex:o,endIndex:a}}},2692:t=>{const i={arrowUp:"↑",arrowDown:"↓",arrowLeft:"←",arrowRight:"→",radioOn:"◉",radioOff:"◯",tick:"✔",cross:"✖",ellipsis:"…",pointerSmall:"›",line:"─",pointer:"❯"};const r={arrowUp:i.arrowUp,arrowDown:i.arrowDown,arrowLeft:i.arrowLeft,arrowRight:i.arrowRight,radioOn:"(*)",radioOff:"( )",tick:"√",cross:"×",ellipsis:"...",pointerSmall:"»",line:"─",pointer:">"};const o=process.platform==="win32"?r:i;t.exports=o},6601:(t,i,r)=>{t.exports={action:r(31),clear:r(3744),style:r(4812),strip:r(4059),figures:r(2692),lines:r(3274),wrap:r(4385),entriesToDisplay:r(5852)}},3274:(t,i,r)=>{const o=r(4059);t.exports=function(t,i){let r=String(o(t)||"").split(/\r?\n/);if(!i)return r.length;return r.map((t=>Math.ceil(t.length/i))).reduce(((t,i)=>t+i))}},4059:t=>{t.exports=t=>{const i=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PRZcf-ntqry=><~]))"].join("|");const r=new RegExp(i,"g");return typeof t==="string"?t.replace(r,""):t}},4812:(t,i,r)=>{const o=r(9727);const a=r(2692);const h=Object.freeze({password:{scale:1,render:t=>"*".repeat(t.length)},emoji:{scale:2,render:t=>"😃".repeat(t.length)},invisible:{scale:0,render:t=>""},default:{scale:1,render:t=>`${t}`}});const render=t=>h[t]||h.default;const c=Object.freeze({aborted:o.red(a.cross),done:o.green(a.tick),exited:o.yellow(a.cross),default:o.cyan("?")});const symbol=(t,i,r)=>i?c.aborted:r?c.exited:t?c.done:c.default;const delimiter=t=>o.gray(t?a.ellipsis:a.pointerSmall);const item=(t,i)=>o.gray(t?i?a.pointerSmall:"+":a.line);t.exports={styles:h,render:render,symbols:c,symbol:symbol,delimiter:delimiter,item:item}},4385:t=>{t.exports=(t,i={})=>{const r=Number.isSafeInteger(parseInt(i.margin))?new Array(parseInt(i.margin)).fill(" ").join(""):i.margin||"";const o=i.width;return(t||"").split(/\r?\n/g).map((t=>t.split(/\s+/g).reduce(((t,i)=>{if(i.length+r.length>=o||t[t.length-1].length+i.length+1<o)t[t.length-1]+=` ${i}`;else t.push(`${r}${i}`);return t}),[r]).join("\n"))).join("\n")}},795:(t,i,r)=>{function isNodeLT(t){t=(Array.isArray(t)?t:t.split(".")).map(Number);let i=0,r=process.versions.node.split(".").map(Number);for(;i<t.length;i++){if(r[i]>t[i])return false;if(t[i]>r[i])return true}return false}t.exports=isNodeLT("8.6.0")?r(6528):r(4667)},6277:t=>{class DatePart{constructor({token:t,date:i,parts:r,locales:o}){this.token=t;this.date=i||new Date;this.parts=r||[this];this.locales=o||{}}up(){}down(){}next(){const t=this.parts.indexOf(this);return this.parts.find(((i,r)=>r>t&&i instanceof DatePart))}setTo(t){}prev(){let t=[].concat(this.parts).reverse();const i=t.indexOf(this);return t.find(((t,r)=>r>i&&t instanceof DatePart))}toString(){return String(this.date)}}t.exports=DatePart},9732:(t,i,r)=>{const o=r(6277);const pos=t=>{t=t%10;return t===1?"st":t===2?"nd":t===3?"rd":"th"};class Day extends o{constructor(t={}){super(t)}up(){this.date.setDate(this.date.getDate()+1)}down(){this.date.setDate(this.date.getDate()-1)}setTo(t){this.date.setDate(parseInt(t.substr(-2)))}toString(){let t=this.date.getDate();let i=this.date.getDay();return this.token==="DD"?String(t).padStart(2,"0"):this.token==="Do"?t+pos(t):this.token==="d"?i+1:this.token==="ddd"?this.locales.weekdaysShort[i]:this.token==="dddd"?this.locales.weekdays[i]:t}}t.exports=Day},6077:(t,i,r)=>{const o=r(6277);class Hours extends o{constructor(t={}){super(t)}up(){this.date.setHours(this.date.getHours()+1)}down(){this.date.setHours(this.date.getHours()-1)}setTo(t){this.date.setHours(parseInt(t.substr(-2)))}toString(){let t=this.date.getHours();if(/h/.test(this.token))t=t%12||12;return this.token.length>1?String(t).padStart(2,"0"):t}}t.exports=Hours},7994:(t,i,r)=>{t.exports={DatePart:r(6277),Meridiem:r(5710),Day:r(9732),Hours:r(6077),Milliseconds:r(4686),Minutes:r(9295),Month:r(1844),Seconds:r(6263),Year:r(353)}},5710:(t,i,r)=>{const o=r(6277);class Meridiem extends o{constructor(t={}){super(t)}up(){this.date.setHours((this.date.getHours()+12)%24)}down(){this.up()}toString(){let t=this.date.getHours()>12?"pm":"am";return/\A/.test(this.token)?t.toUpperCase():t}}t.exports=Meridiem},4686:(t,i,r)=>{const o=r(6277);class Milliseconds extends o{constructor(t={}){super(t)}up(){this.date.setMilliseconds(this.date.getMilliseconds()+1)}down(){this.date.setMilliseconds(this.date.getMilliseconds()-1)}setTo(t){this.date.setMilliseconds(parseInt(t.substr(-this.token.length)))}toString(){return String(this.date.getMilliseconds()).padStart(4,"0").substr(0,this.token.length)}}t.exports=Milliseconds},9295:(t,i,r)=>{const o=r(6277);class Minutes extends o{constructor(t={}){super(t)}up(){this.date.setMinutes(this.date.getMinutes()+1)}down(){this.date.setMinutes(this.date.getMinutes()-1)}setTo(t){this.date.setMinutes(parseInt(t.substr(-2)))}toString(){let t=this.date.getMinutes();return this.token.length>1?String(t).padStart(2,"0"):t}}t.exports=Minutes},1844:(t,i,r)=>{const o=r(6277);class Month extends o{constructor(t={}){super(t)}up(){this.date.setMonth(this.date.getMonth()+1)}down(){this.date.setMonth(this.date.getMonth()-1)}setTo(t){t=parseInt(t.substr(-2))-1;this.date.setMonth(t<0?0:t)}toString(){let t=this.date.getMonth();let i=this.token.length;return i===2?String(t+1).padStart(2,"0"):i===3?this.locales.monthsShort[t]:i===4?this.locales.months[t]:String(t+1)}}t.exports=Month},6263:(t,i,r)=>{const o=r(6277);class Seconds extends o{constructor(t={}){super(t)}up(){this.date.setSeconds(this.date.getSeconds()+1)}down(){this.date.setSeconds(this.date.getSeconds()-1)}setTo(t){this.date.setSeconds(parseInt(t.substr(-2)))}toString(){let t=this.date.getSeconds();return this.token.length>1?String(t).padStart(2,"0"):t}}t.exports=Seconds},353:(t,i,r)=>{const o=r(6277);class Year extends o{constructor(t={}){super(t)}up(){this.date.setFullYear(this.date.getFullYear()+1)}down(){this.date.setFullYear(this.date.getFullYear()-1)}setTo(t){this.date.setFullYear(t.substr(-4))}toString(){let t=String(this.date.getFullYear()).padStart(4,"0");return this.token.length===2?t.substr(-2):t}}t.exports=Year},7133:(t,i,r)=>{const o=r(9727);const a=r(1343);const{erase:h,cursor:c}=r(5424);const{style:l,clear:u,figures:d,wrap:p,entriesToDisplay:m}=r(3148);const getVal=(t,i)=>t[i]&&(t[i].value||t[i].title||t[i]);const getTitle=(t,i)=>t[i]&&(t[i].title||t[i].value||t[i]);const getIndex=(t,i)=>{const r=t.findIndex((t=>t.value===i||t.title===i));return r>-1?r:undefined};class AutocompletePrompt extends a{constructor(t={}){super(t);this.msg=t.message;this.suggest=t.suggest;this.choices=t.choices;this.initial=typeof t.initial==="number"?t.initial:getIndex(t.choices,t.initial);this.select=this.initial||t.cursor||0;this.i18n={noMatches:t.noMatches||"no matches found"};this.fallback=t.fallback||this.initial;this.clearFirst=t.clearFirst||false;this.suggestions=[];this.input="";this.limit=t.limit||10;this.cursor=0;this.transform=l.render(t.style);this.scale=this.transform.scale;this.render=this.render.bind(this);this.complete=this.complete.bind(this);this.clear=u("",this.out.columns);this.complete(this.render);this.render()}set fallback(t){this._fb=Number.isSafeInteger(parseInt(t))?parseInt(t):t}get fallback(){let t;if(typeof this._fb==="number")t=this.choices[this._fb];else if(typeof this._fb==="string")t={title:this._fb};return t||this._fb||{title:this.i18n.noMatches}}moveSelect(t){this.select=t;if(this.suggestions.length>0)this.value=getVal(this.suggestions,t);else this.value=this.fallback.value;this.fire()}async complete(t){const i=this.completing=this.suggest(this.input,this.choices);const r=await i;if(this.completing!==i)return;this.suggestions=r.map(((t,i,r)=>({title:getTitle(r,i),value:getVal(r,i),description:t.description})));this.completing=false;const o=Math.max(r.length-1,0);this.moveSelect(Math.min(o,this.select));t&&t()}reset(){this.input="";this.complete((()=>{this.moveSelect(this.initial!==void 0?this.initial:0);this.render()}));this.render()}exit(){if(this.clearFirst&&this.input.length>0){this.reset()}else{this.done=this.exited=true;this.aborted=false;this.fire();this.render();this.out.write("\n");this.close()}}abort(){this.done=this.aborted=true;this.exited=false;this.fire();this.render();this.out.write("\n");this.close()}submit(){this.done=true;this.aborted=this.exited=false;this.fire();this.render();this.out.write("\n");this.close()}_(t,i){let r=this.input.slice(0,this.cursor);let o=this.input.slice(this.cursor);this.input=`${r}${t}${o}`;this.cursor=r.length+1;this.complete(this.render);this.render()}delete(){if(this.cursor===0)return this.bell();let t=this.input.slice(0,this.cursor-1);let i=this.input.slice(this.cursor);this.input=`${t}${i}`;this.complete(this.render);this.cursor=this.cursor-1;this.render()}deleteForward(){if(this.cursor*this.scale>=this.rendered.length)return this.bell();let t=this.input.slice(0,this.cursor);let i=this.input.slice(this.cursor+1);this.input=`${t}${i}`;this.complete(this.render);this.render()}first(){this.moveSelect(0);this.render()}last(){this.moveSelect(this.suggestions.length-1);this.render()}up(){if(this.select===0){this.moveSelect(this.suggestions.length-1)}else{this.moveSelect(this.select-1)}this.render()}down(){if(this.select===this.suggestions.length-1){this.moveSelect(0)}else{this.moveSelect(this.select+1)}this.render()}next(){if(this.select===this.suggestions.length-1){this.moveSelect(0)}else this.moveSelect(this.select+1);this.render()}nextPage(){this.moveSelect(Math.min(this.select+this.limit,this.suggestions.length-1));this.render()}prevPage(){this.moveSelect(Math.max(this.select-this.limit,0));this.render()}left(){if(this.cursor<=0)return this.bell();this.cursor=this.cursor-1;this.render()}right(){if(this.cursor*this.scale>=this.rendered.length)return this.bell();this.cursor=this.cursor+1;this.render()}renderOption(t,i,r,a){let h;let c=r?d.arrowUp:a?d.arrowDown:" ";let l=i?o.cyan().underline(t.title):t.title;c=(i?o.cyan(d.pointer)+" ":" ")+c;if(t.description){h=` - ${t.description}`;if(c.length+l.length+h.length>=this.out.columns||t.description.split(/\r?\n/).length>1){h="\n"+p(t.description,{margin:3,width:this.out.columns})}}return c+" "+l+o.gray(h||"")}render(){if(this.closed)return;if(this.firstRender)this.out.write(c.hide);else this.out.write(u(this.outputText,this.out.columns));super.render();let{startIndex:t,endIndex:i}=m(this.select,this.choices.length,this.limit);this.outputText=[l.symbol(this.done,this.aborted,this.exited),o.bold(this.msg),l.delimiter(this.completing),this.done&&this.suggestions[this.select]?this.suggestions[this.select].title:this.rendered=this.transform.render(this.input)].join(" ");if(!this.done){const r=this.suggestions.slice(t,i).map(((r,o)=>this.renderOption(r,this.select===o+t,o===0&&t>0,o+t===i-1&&i<this.choices.length))).join("\n");this.outputText+=`\n`+(r||o.gray(this.fallback.title))}this.out.write(h.line+c.to(0)+this.outputText)}}t.exports=AutocompletePrompt},8936:(t,i,r)=>{const o=r(9727);const{cursor:a}=r(5424);const h=r(5240);const{clear:c,style:l,figures:u}=r(3148);class AutocompleteMultiselectPrompt extends h{constructor(t={}){t.overrideRender=true;super(t);this.inputValue="";this.clear=c("",this.out.columns);this.filteredOptions=this.value;this.render()}last(){this.cursor=this.filteredOptions.length-1;this.render()}next(){this.cursor=(this.cursor+1)%this.filteredOptions.length;this.render()}up(){if(this.cursor===0){this.cursor=this.filteredOptions.length-1}else{this.cursor--}this.render()}down(){if(this.cursor===this.filteredOptions.length-1){this.cursor=0}else{this.cursor++}this.render()}left(){this.filteredOptions[this.cursor].selected=false;this.render()}right(){if(this.value.filter((t=>t.selected)).length>=this.maxChoices)return this.bell();this.filteredOptions[this.cursor].selected=true;this.render()}delete(){if(this.inputValue.length){this.inputValue=this.inputValue.substr(0,this.inputValue.length-1);this.updateFilteredOptions()}}updateFilteredOptions(){const t=this.filteredOptions[this.cursor];this.filteredOptions=this.value.filter((t=>{if(this.inputValue){if(typeof t.title==="string"){if(t.title.toLowerCase().includes(this.inputValue.toLowerCase())){return true}}if(typeof t.value==="string"){if(t.value.toLowerCase().includes(this.inputValue.toLowerCase())){return true}}return false}return true}));const i=this.filteredOptions.findIndex((i=>i===t));this.cursor=i<0?0:i;this.render()}handleSpaceToggle(){const t=this.filteredOptions[this.cursor];if(t.selected){t.selected=false;this.render()}else if(t.disabled||this.value.filter((t=>t.selected)).length>=this.maxChoices){return this.bell()}else{t.selected=true;this.render()}}handleInputChange(t){this.inputValue=this.inputValue+t;this.updateFilteredOptions()}_(t,i){if(t===" "){this.handleSpaceToggle()}else{this.handleInputChange(t)}}renderInstructions(){if(this.instructions===undefined||this.instructions){if(typeof this.instructions==="string"){return this.instructions}return`\nInstructions:\n ${u.arrowUp}/${u.arrowDown}: Highlight option\n ${u.arrowLeft}/${u.arrowRight}/[space]: Toggle selection\n [a,b,c]/delete: Filter choices\n enter/return: Complete answer\n`}return""}renderCurrentInput(){return`\nFiltered results for: ${this.inputValue?this.inputValue:o.gray("Enter something to filter")}\n`}renderOption(t,i,r){let a;if(i.disabled)a=t===r?o.gray().underline(i.title):o.strikethrough().gray(i.title);else a=t===r?o.cyan().underline(i.title):i.title;return(i.selected?o.green(u.radioOn):u.radioOff)+" "+a}renderDoneOrInstructions(){if(this.done){return this.value.filter((t=>t.selected)).map((t=>t.title)).join(", ")}const t=[o.gray(this.hint),this.renderInstructions(),this.renderCurrentInput()];if(this.filteredOptions.length&&this.filteredOptions[this.cursor].disabled){t.push(o.yellow(this.warn))}return t.join(" ")}render(){if(this.closed)return;if(this.firstRender)this.out.write(a.hide);super.render();let t=[l.symbol(this.done,this.aborted),o.bold(this.msg),l.delimiter(false),this.renderDoneOrInstructions()].join(" ");if(this.showMinError){t+=o.red(`You must select a minimum of ${this.minSelected} choices.`);this.showMinError=false}t+=this.renderOptions(this.filteredOptions);this.out.write(this.clear+t);this.clear=c(t,this.out.columns)}}t.exports=AutocompleteMultiselectPrompt},5085:(t,i,r)=>{const o=r(9727);const a=r(1343);const{style:h,clear:c}=r(3148);const{erase:l,cursor:u}=r(5424);class ConfirmPrompt extends a{constructor(t={}){super(t);this.msg=t.message;this.value=t.initial;this.initialValue=!!t.initial;this.yesMsg=t.yes||"yes";this.yesOption=t.yesOption||"(Y/n)";this.noMsg=t.no||"no";this.noOption=t.noOption||"(y/N)";this.render()}reset(){this.value=this.initialValue;this.fire();this.render()}exit(){this.abort()}abort(){this.done=this.aborted=true;this.fire();this.render();this.out.write("\n");this.close()}submit(){this.value=this.value||false;this.done=true;this.aborted=false;this.fire();this.render();this.out.write("\n");this.close()}_(t,i){if(t.toLowerCase()==="y"){this.value=true;return this.submit()}if(t.toLowerCase()==="n"){this.value=false;return this.submit()}return this.bell()}render(){if(this.closed)return;if(this.firstRender)this.out.write(u.hide);else this.out.write(c(this.outputText,this.out.columns));super.render();this.outputText=[h.symbol(this.done,this.aborted),o.bold(this.msg),h.delimiter(this.done),this.done?this.value?this.yesMsg:this.noMsg:o.gray(this.initialValue?this.yesOption:this.noOption)].join(" ");this.out.write(l.line+u.to(0)+this.outputText)}}t.exports=ConfirmPrompt},2673:(t,i,r)=>{const o=r(9727);const a=r(1343);const{style:h,clear:c,figures:l}=r(3148);const{erase:u,cursor:d}=r(5424);const{DatePart:p,Meridiem:m,Day:y,Hours:g,Milliseconds:b,Minutes:w,Month:v,Seconds:S,Year:E}=r(7994);const _=/\\(.)|"((?:\\["\\]|[^"])+)"|(D[Do]?|d{3,4}|d)|(M{1,4})|(YY(?:YY)?)|([aA])|([Hh]{1,2})|(m{1,2})|(s{1,2})|(S{1,4})|./g;const x={1:({token:t})=>t.replace(/\\(.)/g,"$1"),2:t=>new y(t),3:t=>new v(t),4:t=>new E(t),5:t=>new m(t),6:t=>new g(t),7:t=>new w(t),8:t=>new S(t),9:t=>new b(t)};const k={months:"January,February,March,April,May,June,July,August,September,October,November,December".split(","),monthsShort:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec".split(","),weekdays:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday".split(","),weekdaysShort:"Sun,Mon,Tue,Wed,Thu,Fri,Sat".split(",")};class DatePrompt extends a{constructor(t={}){super(t);this.msg=t.message;this.cursor=0;this.typed="";this.locales=Object.assign(k,t.locales);this._date=t.initial||new Date;this.errorMsg=t.error||"Please Enter A Valid Value";this.validator=t.validate||(()=>true);this.mask=t.mask||"YYYY-MM-DD HH:mm:ss";this.clear=c("",this.out.columns);this.render()}get value(){return this.date}get date(){return this._date}set date(t){if(t)this._date.setTime(t.getTime())}set mask(t){let i;this.parts=[];while(i=_.exec(t)){let t=i.shift();let r=i.findIndex((t=>t!=null));this.parts.push(r in x?x[r]({token:i[r]||t,date:this.date,parts:this.parts,locales:this.locales}):i[r]||t)}let r=this.parts.reduce(((t,i)=>{if(typeof i==="string"&&typeof t[t.length-1]==="string")t[t.length-1]+=i;else t.push(i);return t}),[]);this.parts.splice(0);this.parts.push(...r);this.reset()}moveCursor(t){this.typed="";this.cursor=t;this.fire()}reset(){this.moveCursor(this.parts.findIndex((t=>t instanceof p)));this.fire();this.render()}exit(){this.abort()}abort(){this.done=this.aborted=true;this.error=false;this.fire();this.render();this.out.write("\n");this.close()}async validate(){let t=await this.validator(this.value);if(typeof t==="string"){this.errorMsg=t;t=false}this.error=!t}async submit(){await this.validate();if(this.error){this.color="red";this.fire();this.render();return}this.done=true;this.aborted=false;this.fire();this.render();this.out.write("\n");this.close()}up(){this.typed="";this.parts[this.cursor].up();this.render()}down(){this.typed="";this.parts[this.cursor].down();this.render()}left(){let t=this.parts[this.cursor].prev();if(t==null)return this.bell();this.moveCursor(this.parts.indexOf(t));this.render()}right(){let t=this.parts[this.cursor].next();if(t==null)return this.bell();this.moveCursor(this.parts.indexOf(t));this.render()}next(){let t=this.parts[this.cursor].next();this.moveCursor(t?this.parts.indexOf(t):this.parts.findIndex((t=>t instanceof p)));this.render()}_(t){if(/\d/.test(t)){this.typed+=t;this.parts[this.cursor].setTo(this.typed);this.render()}}render(){if(this.closed)return;if(this.firstRender)this.out.write(d.hide);else this.out.write(c(this.outputText,this.out.columns));super.render();this.outputText=[h.symbol(this.done,this.aborted),o.bold(this.msg),h.delimiter(false),this.parts.reduce(((t,i,r)=>t.concat(r===this.cursor&&!this.done?o.cyan().underline(i.toString()):i)),[]).join("")].join(" ");if(this.error){this.outputText+=this.errorMsg.split("\n").reduce(((t,i,r)=>t+`\n${r?` `:l.pointerSmall} ${o.red().italic(i)}`),``)}this.out.write(u.line+d.to(0)+this.outputText)}}t.exports=DatePrompt},3305:(t,i,r)=>{t.exports={TextPrompt:r(7810),SelectPrompt:r(3125),TogglePrompt:r(5541),DatePrompt:r(2673),NumberPrompt:r(8068),MultiselectPrompt:r(5240),AutocompletePrompt:r(7133),AutocompleteMultiselectPrompt:r(8936),ConfirmPrompt:r(5085)}},5240:(t,i,r)=>{const o=r(9727);const{cursor:a}=r(5424);const h=r(1343);const{clear:c,figures:l,style:u,wrap:d,entriesToDisplay:p}=r(3148);class MultiselectPrompt extends h{constructor(t={}){super(t);this.msg=t.message;this.cursor=t.cursor||0;this.scrollIndex=t.cursor||0;this.hint=t.hint||"";this.warn=t.warn||"- This option is disabled -";this.minSelected=t.min;this.showMinError=false;this.maxChoices=t.max;this.instructions=t.instructions;this.optionsPerPage=t.optionsPerPage||10;this.value=t.choices.map(((t,i)=>{if(typeof t==="string")t={title:t,value:i};return{title:t&&(t.title||t.value||t),description:t&&t.description,value:t&&(t.value===undefined?i:t.value),selected:t&&t.selected,disabled:t&&t.disabled}}));this.clear=c("",this.out.columns);if(!t.overrideRender){this.render()}}reset(){this.value.map((t=>!t.selected));this.cursor=0;this.fire();this.render()}selected(){return this.value.filter((t=>t.selected))}exit(){this.abort()}abort(){this.done=this.aborted=true;this.fire();this.render();this.out.write("\n");this.close()}submit(){const t=this.value.filter((t=>t.selected));if(this.minSelected&&t.length<this.minSelected){this.showMinError=true;this.render()}else{this.done=true;this.aborted=false;this.fire();this.render();this.out.write("\n");this.close()}}first(){this.cursor=0;this.render()}last(){this.cursor=this.value.length-1;this.render()}next(){this.cursor=(this.cursor+1)%this.value.length;this.render()}up(){if(this.cursor===0){this.cursor=this.value.length-1}else{this.cursor--}this.render()}down(){if(this.cursor===this.value.length-1){this.cursor=0}else{this.cursor++}this.render()}left(){this.value[this.cursor].selected=false;this.render()}right(){if(this.value.filter((t=>t.selected)).length>=this.maxChoices)return this.bell();this.value[this.cursor].selected=true;this.render()}handleSpaceToggle(){const t=this.value[this.cursor];if(t.selected){t.selected=false;this.render()}else if(t.disabled||this.value.filter((t=>t.selected)).length>=this.maxChoices){return this.bell()}else{t.selected=true;this.render()}}toggleAll(){if(this.maxChoices!==undefined||this.value[this.cursor].disabled){return this.bell()}const t=!this.value[this.cursor].selected;this.value.filter((t=>!t.disabled)).forEach((i=>i.selected=t));this.render()}_(t,i){if(t===" "){this.handleSpaceToggle()}else if(t==="a"){this.toggleAll()}else{return this.bell()}}renderInstructions(){if(this.instructions===undefined||this.instructions){if(typeof this.instructions==="string"){return this.instructions}return"\nInstructions:\n"+` ${l.arrowUp}/${l.arrowDown}: Highlight option\n`+` ${l.arrowLeft}/${l.arrowRight}/[space]: Toggle selection\n`+(this.maxChoices===undefined?` a: Toggle all\n`:"")+` enter/return: Complete answer`}return""}renderOption(t,i,r,a){const h=(i.selected?o.green(l.radioOn):l.radioOff)+" "+a+" ";let c,u;if(i.disabled){c=t===r?o.gray().underline(i.title):o.strikethrough().gray(i.title)}else{c=t===r?o.cyan().underline(i.title):i.title;if(t===r&&i.description){u=` - ${i.description}`;if(h.length+c.length+u.length>=this.out.columns||i.description.split(/\r?\n/).length>1){u="\n"+d(i.description,{margin:h.length,width:this.out.columns})}}}return h+c+o.gray(u||"")}paginateOptions(t){if(t.length===0){return o.red("No matches for this query.")}let{startIndex:i,endIndex:r}=p(this.cursor,t.length,this.optionsPerPage);let a,h=[];for(let o=i;o<r;o++){if(o===i&&i>0){a=l.arrowUp}else if(o===r-1&&r<t.length){a=l.arrowDown}else{a=" "}h.push(this.renderOption(this.cursor,t[o],o,a))}return"\n"+h.join("\n")}renderOptions(t){if(!this.done){return this.paginateOptions(t)}return""}renderDoneOrInstructions(){if(this.done){return this.value.filter((t=>t.selected)).map((t=>t.title)).join(", ")}const t=[o.gray(this.hint),this.renderInstructions()];if(this.value[this.cursor].disabled){t.push(o.yellow(this.warn))}return t.join(" ")}render(){if(this.closed)return;if(this.firstRender)this.out.write(a.hide);super.render();let t=[u.symbol(this.done,this.aborted),o.bold(this.msg),u.delimiter(false),this.renderDoneOrInstructions()].join(" ");if(this.showMinError){t+=o.red(`You must select a minimum of ${this.minSelected} choices.`);this.showMinError=false}t+=this.renderOptions(this.value);this.out.write(this.clear+t);this.clear=c(t,this.out.columns)}}t.exports=MultiselectPrompt},8068:(t,i,r)=>{const o=r(9727);const a=r(1343);const{cursor:h,erase:c}=r(5424);const{style:l,figures:u,clear:d,lines:p}=r(3148);const m=/[0-9]/;const isDef=t=>t!==undefined;const round=(t,i)=>{let r=Math.pow(10,i);return Math.round(t*r)/r};class NumberPrompt extends a{constructor(t={}){super(t);this.transform=l.render(t.style);this.msg=t.message;this.initial=isDef(t.initial)?t.initial:"";this.float=!!t.float;this.round=t.round||2;this.inc=t.increment||1;this.min=isDef(t.min)?t.min:-Infinity;this.max=isDef(t.max)?t.max:Infinity;this.errorMsg=t.error||`Please Enter A Valid Value`;this.validator=t.validate||(()=>true);this.color=`cyan`;this.value=``;this.typed=``;this.lastHit=0;this.render()}set value(t){if(!t&&t!==0){this.placeholder=true;this.rendered=o.gray(this.transform.render(`${this.initial}`));this._value=``}else{this.placeholder=false;this.rendered=this.transform.render(`${round(t,this.round)}`);this._value=round(t,this.round)}this.fire()}get value(){return this._value}parse(t){return this.float?parseFloat(t):parseInt(t)}valid(t){return t===`-`||t===`.`&&this.float||m.test(t)}reset(){this.typed=``;this.value=``;this.fire();this.render()}exit(){this.abort()}abort(){let t=this.value;this.value=t!==``?t:this.initial;this.done=this.aborted=true;this.error=false;this.fire();this.render();this.out.write(`\n`);this.close()}async validate(){let t=await this.validator(this.value);if(typeof t===`string`){this.errorMsg=t;t=false}this.error=!t}async submit(){await this.validate();if(this.error){this.color=`red`;this.fire();this.render();return}let t=this.value;this.value=t!==``?t:this.initial;this.done=true;this.aborted=false;this.error=false;this.fire();this.render();this.out.write(`\n`);this.close()}up(){this.typed=``;if(this.value===""){this.value=this.min-this.inc}if(this.value>=this.max)return this.bell();this.value+=this.inc;this.color=`cyan`;this.fire();this.render()}down(){this.typed=``;if(this.value===""){this.value=this.min+this.inc}if(this.value<=this.min)return this.bell();this.value-=this.inc;this.color=`cyan`;this.fire();this.render()}delete(){let t=this.value.toString();if(t.length===0)return this.bell();this.value=this.parse(t=t.slice(0,-1))||``;if(this.value!==""&&this.value<this.min){this.value=this.min}this.color=`cyan`;this.fire();this.render()}next(){this.value=this.initial;this.fire();this.render()}_(t,i){if(!this.valid(t))return this.bell();const r=Date.now();if(r-this.lastHit>1e3)this.typed=``;this.typed+=t;this.lastHit=r;this.color=`cyan`;if(t===`.`)return this.fire();this.value=Math.min(this.parse(this.typed),this.max);if(this.value>this.max)this.value=this.max;if(this.value<this.min)this.value=this.min;this.fire();this.render()}render(){if(this.closed)return;if(!this.firstRender){if(this.outputError)this.out.write(h.down(p(this.outputError,this.out.columns)-1)+d(this.outputError,this.out.columns));this.out.write(d(this.outputText,this.out.columns))}super.render();this.outputError="";this.outputText=[l.symbol(this.done,this.aborted),o.bold(this.msg),l.delimiter(this.done),!this.done||!this.done&&!this.placeholder?o[this.color]().underline(this.rendered):this.rendered].join(` `);if(this.error){this.outputError+=this.errorMsg.split(`\n`).reduce(((t,i,r)=>t+`\n${r?` `:u.pointerSmall} ${o.red().italic(i)}`),``)}this.out.write(c.line+h.to(0)+this.outputText+h.save+this.outputError+h.restore)}}t.exports=NumberPrompt},1343:(t,i,r)=>{const o=r(3785);const{action:a}=r(3148);const h=r(4434);const{beep:c,cursor:l}=r(5424);const u=r(9727);class Prompt extends h{constructor(t={}){super();this.firstRender=true;this.in=t.stdin||process.stdin;this.out=t.stdout||process.stdout;this.onRender=(t.onRender||(()=>void 0)).bind(this);const i=o.createInterface({input:this.in,escapeCodeTimeout:50});o.emitKeypressEvents(this.in,i);if(this.in.isTTY)this.in.setRawMode(true);const r=["SelectPrompt","MultiselectPrompt"].indexOf(this.constructor.name)>-1;const keypress=(t,i)=>{let o=a(i,r);if(o===false){this._&&this._(t,i)}else if(typeof this[o]==="function"){this[o](i)}else{this.bell()}};this.close=()=>{this.out.write(l.show);this.in.removeListener("keypress",keypress);if(this.in.isTTY)this.in.setRawMode(false);i.close();this.emit(this.aborted?"abort":this.exited?"exit":"submit",this.value);this.closed=true};this.in.on("keypress",keypress)}fire(){this.emit("state",{value:this.value,aborted:!!this.aborted,exited:!!this.exited})}bell(){this.out.write(c)}render(){this.onRender(u);if(this.firstRender)this.firstRender=false}}t.exports=Prompt},3125:(t,i,r)=>{const o=r(9727);const a=r(1343);const{style:h,clear:c,figures:l,wrap:u,entriesToDisplay:d}=r(3148);const{cursor:p}=r(5424);class SelectPrompt extends a{constructor(t={}){super(t);this.msg=t.message;this.hint=t.hint||"- Use arrow-keys. Return to submit.";this.warn=t.warn||"- This option is disabled";this.cursor=t.initial||0;this.choices=t.choices.map(((t,i)=>{if(typeof t==="string")t={title:t,value:i};return{title:t&&(t.title||t.value||t),value:t&&(t.value===undefined?i:t.value),description:t&&t.description,selected:t&&t.selected,disabled:t&&t.disabled}}));this.optionsPerPage=t.optionsPerPage||10;this.value=(this.choices[this.cursor]||{}).value;this.clear=c("",this.out.columns);this.render()}moveCursor(t){this.cursor=t;this.value=this.choices[t].value;this.fire()}reset(){this.moveCursor(0);this.fire();this.render()}exit(){this.abort()}abort(){this.done=this.aborted=true;this.fire();this.render();this.out.write("\n");this.close()}submit(){if(!this.selection.disabled){this.done=true;this.aborted=false;this.fire();this.render();this.out.write("\n");this.close()}else this.bell()}first(){this.moveCursor(0);this.render()}last(){this.moveCursor(this.choices.length-1);this.render()}up(){if(this.cursor===0){this.moveCursor(this.choices.length-1)}else{this.moveCursor(this.cursor-1)}this.render()}down(){if(this.cursor===this.choices.length-1){this.moveCursor(0)}else{this.moveCursor(this.cursor+1)}this.render()}next(){this.moveCursor((this.cursor+1)%this.choices.length);this.render()}_(t,i){if(t===" ")return this.submit()}get selection(){return this.choices[this.cursor]}render(){if(this.closed)return;if(this.firstRender)this.out.write(p.hide);else this.out.write(c(this.outputText,this.out.columns));super.render();let{startIndex:t,endIndex:i}=d(this.cursor,this.choices.length,this.optionsPerPage);this.outputText=[h.symbol(this.done,this.aborted),o.bold(this.msg),h.delimiter(false),this.done?this.selection.title:this.selection.disabled?o.yellow(this.warn):o.gray(this.hint)].join(" ");if(!this.done){this.outputText+="\n";for(let r=t;r<i;r++){let a,h,c="",d=this.choices[r];if(r===t&&t>0){h=l.arrowUp}else if(r===i-1&&i<this.choices.length){h=l.arrowDown}else{h=" "}if(d.disabled){a=this.cursor===r?o.gray().underline(d.title):o.strikethrough().gray(d.title);h=(this.cursor===r?o.bold().gray(l.pointer)+" ":" ")+h}else{a=this.cursor===r?o.cyan().underline(d.title):d.title;h=(this.cursor===r?o.cyan(l.pointer)+" ":" ")+h;if(d.description&&this.cursor===r){c=` - ${d.description}`;if(h.length+a.length+c.length>=this.out.columns||d.description.split(/\r?\n/).length>1){c="\n"+u(d.description,{margin:3,width:this.out.columns})}}}this.outputText+=`${h} ${a}${o.gray(c)}\n`}}this.out.write(this.outputText)}}t.exports=SelectPrompt},7810:(t,i,r)=>{const o=r(9727);const a=r(1343);const{erase:h,cursor:c}=r(5424);const{style:l,clear:u,lines:d,figures:p}=r(3148);class TextPrompt extends a{constructor(t={}){super(t);this.transform=l.render(t.style);this.scale=this.transform.scale;this.msg=t.message;this.initial=t.initial||``;this.validator=t.validate||(()=>true);this.value=``;this.errorMsg=t.error||`Please Enter A Valid Value`;this.cursor=Number(!!this.initial);this.cursorOffset=0;this.clear=u(``,this.out.columns);this.render()}set value(t){if(!t&&this.initial){this.placeholder=true;this.rendered=o.gray(this.transform.render(this.initial))}else{this.placeholder=false;this.rendered=this.transform.render(t)}this._value=t;this.fire()}get value(){return this._value}reset(){this.value=``;this.cursor=Number(!!this.initial);this.cursorOffset=0;this.fire();this.render()}exit(){this.abort()}abort(){this.value=this.value||this.initial;this.done=this.aborted=true;this.error=false;this.red=false;this.fire();this.render();this.out.write("\n");this.close()}async validate(){let t=await this.validator(this.value);if(typeof t===`string`){this.errorMsg=t;t=false}this.error=!t}async submit(){this.value=this.value||this.initial;this.cursorOffset=0;this.cursor=this.rendered.length;await this.validate();if(this.error){this.red=true;this.fire();this.render();return}this.done=true;this.aborted=false;this.fire();this.render();this.out.write("\n");this.close()}next(){if(!this.placeholder)return this.bell();this.value=this.initial;this.cursor=this.rendered.length;this.fire();this.render()}moveCursor(t){if(this.placeholder)return;this.cursor=this.cursor+t;this.cursorOffset+=t}_(t,i){let r=this.value.slice(0,this.cursor);let o=this.value.slice(this.cursor);this.value=`${r}${t}${o}`;this.red=false;this.cursor=this.placeholder?0:r.length+1;this.render()}delete(){if(this.isCursorAtStart())return this.bell();let t=this.value.slice(0,this.cursor-1);let i=this.value.slice(this.cursor);this.value=`${t}${i}`;this.red=false;if(this.isCursorAtStart()){this.cursorOffset=0}else{this.cursorOffset++;this.moveCursor(-1)}this.render()}deleteForward(){if(this.cursor*this.scale>=this.rendered.length||this.placeholder)return this.bell();let t=this.value.slice(0,this.cursor);let i=this.value.slice(this.cursor+1);this.value=`${t}${i}`;this.red=false;if(this.isCursorAtEnd()){this.cursorOffset=0}else{this.cursorOffset++}this.render()}first(){this.cursor=0;this.render()}last(){this.cursor=this.value.length;this.render()}left(){if(this.cursor<=0||this.placeholder)return this.bell();this.moveCursor(-1);this.render()}right(){if(this.cursor*this.scale>=this.rendered.length||this.placeholder)return this.bell();this.moveCursor(1);this.render()}isCursorAtStart(){return this.cursor===0||this.placeholder&&this.cursor===1}isCursorAtEnd(){return this.cursor===this.rendered.length||this.placeholder&&this.cursor===this.rendered.length+1}render(){if(this.closed)return;if(!this.firstRender){if(this.outputError)this.out.write(c.down(d(this.outputError,this.out.columns)-1)+u(this.outputError,this.out.columns));this.out.write(u(this.outputText,this.out.columns))}super.render();this.outputError="";this.outputText=[l.symbol(this.done,this.aborted),o.bold(this.msg),l.delimiter(this.done),this.red?o.red(this.rendered):this.rendered].join(` `);if(this.error){this.outputError+=this.errorMsg.split(`\n`).reduce(((t,i,r)=>t+`\n${r?" ":p.pointerSmall} ${o.red().italic(i)}`),``)}this.out.write(h.line+c.to(0)+this.outputText+c.save+this.outputError+c.restore+c.move(this.cursorOffset,0))}}t.exports=TextPrompt},5541:(t,i,r)=>{const o=r(9727);const a=r(1343);const{style:h,clear:c}=r(3148);const{cursor:l,erase:u}=r(5424);class TogglePrompt extends a{constructor(t={}){super(t);this.msg=t.message;this.value=!!t.initial;this.active=t.active||"on";this.inactive=t.inactive||"off";this.initialValue=this.value;this.render()}reset(){this.value=this.initialValue;this.fire();this.render()}exit(){this.abort()}abort(){this.done=this.aborted=true;this.fire();this.render();this.out.write("\n");this.close()}submit(){this.done=true;this.aborted=false;this.fire();this.render();this.out.write("\n");this.close()}deactivate(){if(this.value===false)return this.bell();this.value=false;this.render()}activate(){if(this.value===true)return this.bell();this.value=true;this.render()}delete(){this.deactivate()}left(){this.deactivate()}right(){this.activate()}down(){this.deactivate()}up(){this.activate()}next(){this.value=!this.value;this.fire();this.render()}_(t,i){if(t===" "){this.value=!this.value}else if(t==="1"){this.value=true}else if(t==="0"){this.value=false}else return this.bell();this.render()}render(){if(this.closed)return;if(this.firstRender)this.out.write(l.hide);else this.out.write(c(this.outputText,this.out.columns));super.render();this.outputText=[h.symbol(this.done,this.aborted),o.bold(this.msg),h.delimiter(this.done),this.value?this.inactive:o.cyan().underline(this.inactive),o.gray("/"),this.value?o.cyan().underline(this.active):this.active].join(" ");this.out.write(u.line+l.to(0)+this.outputText)}}t.exports=TogglePrompt},4667:(t,i,r)=>{const o=r(260);const a=["suggest","format","onState","validate","onRender","type"];const noop=()=>{};async function prompt(t=[],{onSubmit:i=noop,onCancel:r=noop}={}){const h={};const c=prompt._override||{};t=[].concat(t);let l,u,d,p,m,y;const getFormattedAnswer=async(t,i,r=false)=>{if(!r&&t.validate&&t.validate(i)!==true){return}return t.format?await t.format(i,h):i};for(u of t){({name:p,type:m}=u);if(typeof m==="function"){m=await m(l,{...h},u);u["type"]=m}if(!m)continue;for(let t in u){if(a.includes(t))continue;let i=u[t];u[t]=typeof i==="function"?await i(l,{...h},y):i}y=u;if(typeof u.message!=="string"){throw new Error("prompt message is required")}({name:p,type:m}=u);if(o[m]===void 0){throw new Error(`prompt type (${m}) is not defined`)}if(c[u.name]!==undefined){l=await getFormattedAnswer(u,c[u.name]);if(l!==undefined){h[p]=l;continue}}try{l=prompt._injected?getInjectedAnswer(prompt._injected,u.initial):await o[m](u);h[p]=l=await getFormattedAnswer(u,l,true);d=await i(u,l,h)}catch(t){d=!await r(u,h)}if(d)return h}return h}function getInjectedAnswer(t,i){const r=t.shift();if(r instanceof Error){throw r}return r===undefined?i:r}function inject(t){prompt._injected=(prompt._injected||[]).concat(t)}function override(t){prompt._override=Object.assign({},t)}t.exports=Object.assign(prompt,{prompt:prompt,prompts:o,inject:inject,override:override})},260:(t,i,r)=>{const o=i;const a=r(3305);const noop=t=>t;function toPrompt(t,i,r={}){return new Promise(((o,h)=>{const c=new a[t](i);const l=r.onAbort||noop;const u=r.onSubmit||noop;const d=r.onExit||noop;c.on("state",i.onState||noop);c.on("submit",(t=>o(u(t))));c.on("exit",(t=>o(d(t))));c.on("abort",(t=>h(l(t))))}))}o.text=t=>toPrompt("TextPrompt",t);o.password=t=>{t.style="password";return o.text(t)};o.invisible=t=>{t.style="invisible";return o.text(t)};o.number=t=>toPrompt("NumberPrompt",t);o.date=t=>toPrompt("DatePrompt",t);o.confirm=t=>toPrompt("ConfirmPrompt",t);o.list=t=>{const i=t.separator||",";return toPrompt("TextPrompt",t,{onSubmit:t=>t.split(i).map((t=>t.trim()))})};o.toggle=t=>toPrompt("TogglePrompt",t);o.select=t=>toPrompt("SelectPrompt",t);o.multiselect=t=>{t.choices=[].concat(t.choices||[]);const toSelected=t=>t.filter((t=>t.selected)).map((t=>t.value));return toPrompt("MultiselectPrompt",t,{onAbort:toSelected,onSubmit:toSelected})};o.autocompleteMultiselect=t=>{t.choices=[].concat(t.choices||[]);const toSelected=t=>t.filter((t=>t.selected)).map((t=>t.value));return toPrompt("AutocompleteMultiselectPrompt",t,{onAbort:toSelected,onSubmit:toSelected})};const byTitle=(t,i)=>Promise.resolve(i.filter((i=>i.title.slice(0,t.length).toLowerCase()===t.toLowerCase())));o.autocomplete=t=>{t.suggest=t.suggest||byTitle;t.choices=[].concat(t.choices||[]);return toPrompt("AutocompletePrompt",t)}},1672:t=>{t.exports=(t,i)=>{if(t.meta&&t.name!=="escape")return;if(t.ctrl){if(t.name==="a")return"first";if(t.name==="c")return"abort";if(t.name==="d")return"abort";if(t.name==="e")return"last";if(t.name==="g")return"reset"}if(i){if(t.name==="j")return"down";if(t.name==="k")return"up"}if(t.name==="return")return"submit";if(t.name==="enter")return"submit";if(t.name==="backspace")return"delete";if(t.name==="delete")return"deleteForward";if(t.name==="abort")return"abort";if(t.name==="escape")return"exit";if(t.name==="tab")return"next";if(t.name==="pagedown")return"nextPage";if(t.name==="pageup")return"prevPage";if(t.name==="home")return"home";if(t.name==="end")return"end";if(t.name==="up")return"up";if(t.name==="down")return"down";if(t.name==="right")return"right";if(t.name==="left")return"left";return false}},209:(t,i,r)=>{const o=r(4758);const{erase:a,cursor:h}=r(5424);const width=t=>[...o(t)].length;t.exports=function(t,i){if(!i)return a.line+h.to(0);let r=0;const o=t.split(/\r?\n/);for(let t of o){r+=1+Math.floor(Math.max(width(t)-1,0)/i)}return a.lines(r)}},2943:t=>{t.exports=(t,i,r)=>{r=r||i;let o=Math.min(i-r,t-Math.floor(r/2));if(o<0)o=0;let a=Math.min(o+r,i);return{startIndex:o,endIndex:a}}},8149:t=>{const i={arrowUp:"↑",arrowDown:"↓",arrowLeft:"←",arrowRight:"→",radioOn:"◉",radioOff:"◯",tick:"✔",cross:"✖",ellipsis:"…",pointerSmall:"›",line:"─",pointer:"❯"};const r={arrowUp:i.arrowUp,arrowDown:i.arrowDown,arrowLeft:i.arrowLeft,arrowRight:i.arrowRight,radioOn:"(*)",radioOff:"( )",tick:"√",cross:"×",ellipsis:"...",pointerSmall:"»",line:"─",pointer:">"};const o=process.platform==="win32"?r:i;t.exports=o},3148:(t,i,r)=>{t.exports={action:r(1672),clear:r(209),style:r(3677),strip:r(4758),figures:r(8149),lines:r(7519),wrap:r(5890),entriesToDisplay:r(2943)}},7519:(t,i,r)=>{const o=r(4758);t.exports=function(t,i){let r=String(o(t)||"").split(/\r?\n/);if(!i)return r.length;return r.map((t=>Math.ceil(t.length/i))).reduce(((t,i)=>t+i))}},4758:t=>{t.exports=t=>{const i=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PRZcf-ntqry=><~]))"].join("|");const r=new RegExp(i,"g");return typeof t==="string"?t.replace(r,""):t}},3677:(t,i,r)=>{const o=r(9727);const a=r(8149);const h=Object.freeze({password:{scale:1,render:t=>"*".repeat(t.length)},emoji:{scale:2,render:t=>"😃".repeat(t.length)},invisible:{scale:0,render:t=>""},default:{scale:1,render:t=>`${t}`}});const render=t=>h[t]||h.default;const c=Object.freeze({aborted:o.red(a.cross),done:o.green(a.tick),exited:o.yellow(a.cross),default:o.cyan("?")});const symbol=(t,i,r)=>i?c.aborted:r?c.exited:t?c.done:c.default;const delimiter=t=>o.gray(t?a.ellipsis:a.pointerSmall);const item=(t,i)=>o.gray(t?i?a.pointerSmall:"+":a.line);t.exports={styles:h,render:render,symbols:c,symbol:symbol,delimiter:delimiter,item:item}},5890:t=>{t.exports=(t,i={})=>{const r=Number.isSafeInteger(parseInt(i.margin))?new Array(parseInt(i.margin)).fill(" ").join(""):i.margin||"";const o=i.width;return(t||"").split(/\r?\n/g).map((t=>t.split(/\s+/g).reduce(((t,i)=>{if(i.length+r.length>=o||t[t.length-1].length+i.length+1<o)t[t.length-1]+=` ${i}`;else t.push(`${r}${i}`);return t}),[r]).join("\n"))).join("\n")}},2920:(t,i,r)=>{var o=r(8397);var a=r(6928).join;var h=r(3164);var c="/etc";var l=process.platform==="win32";var u=l?process.env.USERPROFILE:process.env.HOME;t.exports=function(t,i,d,p){if("string"!==typeof t)throw new Error("rc(name): name *must* be string");if(!d)d=r(7688)(process.argv.slice(2));i=("string"===typeof i?o.json(i):i)||{};p=p||o.parse;var m=o.env(t+"_");var y=[i];var g=[];function addConfigFile(t){if(g.indexOf(t)>=0)return;var i=o.file(t);if(i){y.push(p(i));g.push(t)}}if(!l)[a(c,t,"config"),a(c,t+"rc")].forEach(addConfigFile);if(u)[a(u,".config",t,"config"),a(u,".config",t),a(u,"."+t,"config"),a(u,"."+t+"rc")].forEach(addConfigFile);addConfigFile(o.find("."+t+"rc"));if(m.config)addConfigFile(m.config);if(d.config)addConfigFile(d.config);return h.apply(null,y.concat([m,d,g.length?{configs:g,config:g[g.length-1]}:undefined]))}},8397:(t,i,r)=>{var o=r(9896);var a=r(8277);var h=r(6928);var c=r(6854);var l=i.parse=function(t){if(/^\s*{/.test(t))return JSON.parse(c(t));return a.parse(t)};var u=i.file=function(){var t=[].slice.call(arguments).filter((function(t){return t!=null}));for(var i in t)if("string"!==typeof t[i])return;var r=h.join.apply(null,t);var a;try{return o.readFileSync(r,"utf-8")}catch(t){return}};var d=i.json=function(){var t=u.apply(null,arguments);return t?l(t):null};var p=i.env=function(t,i){i=i||process.env;var r={};var o=t.length;for(var a in i){if(a.toLowerCase().indexOf(t.toLowerCase())===0){var h=a.substring(o).split("__");var c;while((c=h.indexOf(""))>-1){h.splice(c,1)}var l=r;h.forEach((function _buildSubObj(t,r){if(!t||typeof l!=="object")return;if(r===h.length-1)l[t]=i[a];if(l[t]===undefined)l[t]={};l=l[t]}))}}return r};var m=i.find=function(){var t=h.join.apply(null,[].slice.call(arguments));function find(t,i){var r=h.join(t,i);try{o.statSync(r);return r}catch(r){if(h.dirname(t)!==t)return find(h.dirname(t),i)}}return find(process.cwd(),t)}},5728:(t,i,r)=>{const o=r(5135).Buffer;function decodeBase64(t){return o.from(t,"base64").toString("utf8")}function encodeBase64(t){return o.from(t,"utf8").toString("base64")}t.exports={decodeBase64:decodeBase64,encodeBase64:encodeBase64}},8143:(t,i,r)=>{var o=r(7016);var a=r(5728);var h=a.decodeBase64;var c=a.encodeBase64;var l=":_authToken";var u=":username";var d=":_password";t.exports=function(){var t;var i;if(arguments.length>=2){t=arguments[0];i=arguments[1]}else if(typeof arguments[0]==="string"){t=arguments[0]}else{i=arguments[0]}i=i||{};i.npmrc=i.npmrc||r(2920)("npm",{registry:"https://registry.npmjs.org/"});t=t||i.npmrc.registry;return getRegistryAuthInfo(t,i)||getLegacyAuthInfo(i.npmrc)};function getRegistryAuthInfo(t,i){var r=o.parse(t,false,true);var a;while(a!=="/"&&r.pathname!==a){a=r.pathname||"/";var h="//"+r.host+a.replace(/\/$/,"");var c=getAuthInfoForUrl(h,i.npmrc);if(c){return c}if(!i.recursive){return/\/$/.test(t)?undefined:getRegistryAuthInfo(o.resolve(t,"."),i)}r.pathname=o.resolve(normalizePath(a),"..")||"/"}return undefined}function getLegacyAuthInfo(t){if(t._auth){return{token:t._auth,type:"Basic"}}return undefined}function normalizePath(t){return t[t.length-1]==="/"?t:t+"/"}function getAuthInfoForUrl(t,i){var r=getBearerToken(i[t+l]||i[t+"/"+l]);if(r){return r}var o=i[t+u]||i[t+"/"+u];var a=i[t+d]||i[t+"/"+d];var h=getTokenForUsernameAndPassword(o,a);if(h){return h}return undefined}function getBearerToken(t){if(!t){return undefined}var i=t.replace(/^\$\{?([^}]*)\}?$/,(function(t,i){return process.env[i]}));return{token:i,type:"Bearer"}}function getTokenForUsernameAndPassword(t,i){if(!t||!i){return undefined}var r=h(i.replace(/^\$\{?([^}]*)\}?$/,(function(t,i){return process.env[i]})));var o=c(t+":"+r);return{token:o,type:"Basic",password:r,username:t}}},359:(t,i,r)=>{t.exports=function(t){var i=r(2920)("npm",{registry:"https://registry.npmjs.org/"});var o=i[t+":registry"]||i.registry;return o.slice(-1)==="/"?o:o+"/"}},5135:(t,i,r)=>{
29
29
  /*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */
30
- var o=r(4300);var a=o.Buffer;function copyProps(t,i){for(var r in t){i[r]=t[r]}}if(a.from&&a.alloc&&a.allocUnsafe&&a.allocUnsafeSlow){t.exports=o}else{copyProps(o,i);i.Buffer=SafeBuffer}function SafeBuffer(t,i,r){return a(t,i,r)}SafeBuffer.prototype=Object.create(a.prototype);copyProps(a,SafeBuffer);SafeBuffer.from=function(t,i,r){if(typeof t==="number"){throw new TypeError("Argument must not be a number")}return a(t,i,r)};SafeBuffer.alloc=function(t,i,r){if(typeof t!=="number"){throw new TypeError("Argument must be a number")}var o=a(t);if(i!==undefined){if(typeof r==="string"){o.fill(i,r)}else{o.fill(i)}}else{o.fill(0)}return o};SafeBuffer.allocUnsafe=function(t){if(typeof t!=="number"){throw new TypeError("Argument must be a number")}return a(t)};SafeBuffer.allocUnsafeSlow=function(t){if(typeof t!=="number"){throw new TypeError("Argument must be a number")}return o.SlowBuffer(t)}},5624:t=>{const i="";const r=`${i}[`;const o="";const a={to(t,i){if(!i)return`${r}${t+1}G`;return`${r}${i+1};${t+1}H`},move(t,i){let o="";if(t<0)o+=`${r}${-t}D`;else if(t>0)o+=`${r}${t}C`;if(i<0)o+=`${r}${-i}A`;else if(i>0)o+=`${r}${i}B`;return o},up:(t=1)=>`${r}${t}A`,down:(t=1)=>`${r}${t}B`,forward:(t=1)=>`${r}${t}C`,backward:(t=1)=>`${r}${t}D`,nextLine:(t=1)=>`${r}E`.repeat(t),prevLine:(t=1)=>`${r}F`.repeat(t),left:`${r}G`,hide:`${r}?25l`,show:`${r}?25h`,save:`${i}7`,restore:`${i}8`};const h={up:(t=1)=>`${r}S`.repeat(t),down:(t=1)=>`${r}T`.repeat(t)};const c={screen:`${r}2J`,up:(t=1)=>`${r}1J`.repeat(t),down:(t=1)=>`${r}J`.repeat(t),line:`${r}2K`,lineEnd:`${r}K`,lineStart:`${r}1K`,lines(t){let i="";for(let r=0;r<t;r++)i+=this.line+(r<t-1?a.up():"");if(t)i+=a.left;return i}};t.exports={cursor:a,scroll:h,erase:c,beep:o}},411:t=>{var i=1;var r=2;function stripWithoutWhitespace(){return""}function stripWithWhitespace(t,i,r){return t.slice(i,r).replace(/\S/g," ")}t.exports=function(t,o){o=o||{};var a;var h;var c=false;var l=false;var u=0;var d="";var p=o.whitespace===false?stripWithoutWhitespace:stripWithWhitespace;for(var m=0;m<t.length;m++){a=t[m];h=t[m+1];if(!l&&a==='"'){var y=t[m-1]==="\\"&&t[m-2]!=="\\";if(!y){c=!c}}if(c){continue}if(!l&&a+h==="//"){d+=t.slice(u,m);u=m;l=i;m++}else if(l===i&&a+h==="\r\n"){m++;l=false;d+=p(t,u,m);u=m;continue}else if(l===i&&a==="\n"){l=false;d+=p(t,u,m);u=m}else if(!l&&a+h==="/*"){d+=t.slice(u,m);u=m;l=r;m++;continue}else if(l===r&&a+h==="*/"){m++;l=false;d+=p(t,u,m+1);u=m+1;continue}}return d+(l?p(t.substr(u)):t.substr(u))}},277:(t,i)=>{i.fromCallback=function(t){return Object.defineProperty((function(...i){if(typeof i[i.length-1]==="function")t.apply(this,i);else{return new Promise(((r,o)=>{i.push(((t,i)=>t!=null?o(t):r(i)));t.apply(this,i)}))}}),"name",{value:t.name})};i.fromPromise=function(t){return Object.defineProperty((function(...i){const r=i[i.length-1];if(typeof r!=="function")return t.apply(this,i);else{i.pop();t.apply(this,i).then((t=>r(null,t)),r)}}),"name",{value:t.name})}},9886:(t,i,r)=>{const{URL:o}=r(7310);const{join:a}=r(1017);const h=r(7147);const{promisify:c}=r(3837);const{tmpdir:l}=r(2037);const u=r(2107);const d=c(h.writeFile);const p=c(h.mkdir);const m=c(h.readFile);const compareVersions=(t,i)=>t.localeCompare(i,"en-US",{numeric:true});const encode=t=>encodeURIComponent(t).replace(/^%40/,"@");const getFile=async(t,i)=>{const r=l();const o=a(r,"update-check");if(!h.existsSync(o)){await p(o)}let c=`${t.name}-${i}.json`;if(t.scope){c=`${t.scope}-${c}`}return a(o,c)};const evaluateCache=async(t,i,r)=>{if(h.existsSync(t)){const o=await m(t,"utf8");const{lastUpdate:a,latest:h}=JSON.parse(o);const c=a+r;if(c>i){return{shouldCheck:false,latest:h}}}return{shouldCheck:true,latest:null}};const updateCache=async(t,i,r)=>{const o=JSON.stringify({latest:i,lastUpdate:r});await d(t,o,"utf8")};const loadPackage=(t,i)=>new Promise(((o,a)=>{const h={host:t.hostname,path:t.pathname,port:t.port,headers:{accept:"application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*"},timeout:2e3};if(i){h.headers.authorization=`${i.type} ${i.token}`}const{get:c}=r(t.protocol==="https:"?5687:3685);c(h,(t=>{const{statusCode:i}=t;if(i!==200){const r=new Error(`Request failed with code ${i}`);r.code=i;a(r);t.resume();return}let r="";t.setEncoding("utf8");t.on("data",(t=>{r+=t}));t.on("end",(()=>{try{const t=JSON.parse(r);o(t)}catch(t){a(t)}}))})).on("error",a).on("timeout",a)}));const getMostRecent=async({full:t,scope:i},a)=>{const h=u(i);const c=new o(t,h);let l=null;try{l=await loadPackage(c)}catch(t){if(t.code&&String(t.code).startsWith(4)){const t=r(6084);const i=t(h,{recursive:true});l=await loadPackage(c,i)}else{throw t}}const d=l["dist-tags"][a];if(!d){throw new Error(`Distribution tag ${a} is not available`)}return d};const y={interval:36e5,distTag:"latest"};const getDetails=t=>{const i={full:encode(t)};if(t.includes("/")){const r=t.split("/");i.scope=r[0];i.name=r[1]}else{i.scope=null;i.name=t}return i};t.exports=async(t,i)=>{if(typeof t!=="object"){throw new Error("The first parameter should be your package.json file content")}const r=getDetails(t.name);const o=Date.now();const{distTag:a,interval:h}=Object.assign({},y,i);const c=await getFile(r,a);let l=null;let u=true;({shouldCheck:u,latest:l}=await evaluateCache(c,o,h));if(u){l=await getMostRecent(r,a);await updateCache(c,l,o)}const d=compareVersions(t.version,l);if(d===-1){return{latest:l,fromCache:!u}}return null}},9491:i=>{i.exports=t(import.meta.url)("assert")},4300:i=>{i.exports=t(import.meta.url)("buffer")},2057:i=>{i.exports=t(import.meta.url)("constants")},2361:i=>{i.exports=t(import.meta.url)("events")},7147:i=>{i.exports=t(import.meta.url)("fs")},3685:i=>{i.exports=t(import.meta.url)("http")},5687:i=>{i.exports=t(import.meta.url)("https")},2037:i=>{i.exports=t(import.meta.url)("os")},1017:i=>{i.exports=t(import.meta.url)("path")},4521:i=>{i.exports=t(import.meta.url)("readline")},9955:i=>{i.exports=t(import.meta.url)("stream")},7310:i=>{i.exports=t(import.meta.url)("url")},3837:i=>{i.exports=t(import.meta.url)("util")}};var r={};function __nccwpck_require__(t){var o=r[t];if(o!==undefined){return o.exports}var a=r[t]={exports:{}};var h=true;try{i[t](a,a.exports,__nccwpck_require__);h=false}finally{if(h)delete r[t]}return a.exports}(()=>{__nccwpck_require__.n=t=>{var i=t&&t.__esModule?()=>t["default"]:()=>t;__nccwpck_require__.d(i,{a:i});return i}})();(()=>{__nccwpck_require__.d=(t,i)=>{for(var r in i){if(__nccwpck_require__.o(i,r)&&!__nccwpck_require__.o(t,r)){Object.defineProperty(t,r,{enumerable:true,get:i[r]})}}}})();(()=>{__nccwpck_require__.o=(t,i)=>Object.prototype.hasOwnProperty.call(t,i)})();if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=new URL(".",import.meta.url).pathname.slice(import.meta.url.match(/^file:\/\/\/\w:/)?1:0,-1)+"/";var o={};(()=>{const i=t(import.meta.url)("node:fs");const r=t(import.meta.url)("node:fs/promises");var o=__nccwpck_require__.n(r);const a=t(import.meta.url)("node:path");var h=__nccwpck_require__.n(a);const c=t(import.meta.url)("node:url");const l=t(import.meta.url)("node:util");var u=__nccwpck_require__(5918);var d=__nccwpck_require__.n(u);let p=true;const m=typeof self!=="undefined"?self:typeof window!=="undefined"?window:typeof global!=="undefined"?global:{};let y=0;if(m.process&&m.process.env&&m.process.stdout){const{FORCE_COLOR:t,NODE_DISABLE_COLORS:i,NO_COLOR:r,TERM:o,COLORTERM:a}=m.process.env;if(i||r||t==="0"){p=false}else if(t==="1"||t==="2"||t==="3"){p=true}else if(o==="dumb"){p=false}else if("CI"in m.process.env&&["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE","DRONE"].some((t=>t in m.process.env))){p=true}else{p=process.stdout.isTTY}if(p){if(process.platform==="win32"){y=3}else{if(a&&(a==="truecolor"||a==="24bit")){y=3}else if(o&&(o.endsWith("-256color")||o.endsWith("256"))){y=2}else{y=1}}}}let g={enabled:p,supportLevel:y};function kolorist(t,i,r=1){const o=`[${t}m`;const a=`[${i}m`;const h=new RegExp(`\\x1b\\[${i}m`,"g");return t=>g.enabled&&g.supportLevel>=r?o+(""+t).replace(h,o)+a:""+t}function rgbToAnsi256(t,i,r){if(t>>4===i>>4&&i>>4===r>>4){if(t<8){return 16}if(t>248){return 231}return Math.round((t-8)/247*24)+232}const o=16+36*Math.round(t/255*5)+6*Math.round(i/255*5)+Math.round(r/255*5);return o}function stripColors(t){return(""+t).replace(/\x1b\[[0-9;]+m/g,"").replace(/\x1b\]8;;.*?\x07(.*?)\x1b\]8;;\x07/g,((t,i)=>i))}const b=kolorist(0,0);const w=kolorist(1,22);const v=kolorist(2,22);const S=kolorist(3,23);const E=kolorist(4,24);const _=kolorist(7,27);const x=kolorist(8,28);const k=kolorist(9,29);const O=kolorist(30,39);const R=kolorist(31,39);const T=kolorist(32,39);const P=kolorist(33,39);const D=kolorist(34,39);const A=kolorist(35,39);const M=kolorist(36,39);const I=kolorist(97,39);const L=kolorist(90,39);const C=kolorist(37,39);const N=kolorist(91,39);const $=kolorist(92,39);const j=kolorist(93,39);const B=kolorist(94,39);const U=kolorist(95,39);const z=kolorist(96,39);const W=kolorist(40,49);const H=kolorist(41,49);const G=kolorist(42,49);const Y=kolorist(43,49);const V=kolorist(44,49);const Z=kolorist(45,49);const q=kolorist(46,49);const J=kolorist(107,49);const K=kolorist(100,49);const X=kolorist(101,49);const Q=kolorist(102,49);const tt=kolorist(103,49);const et=kolorist(104,49);const it=kolorist(105,49);const st=kolorist(106,49);const rt=kolorist(47,49);const ansi256=t=>kolorist("38;5;"+t,0,2);const ansi256Bg=t=>kolorist("48;5;"+t,0,2);const trueColor=(t,i,r)=>g.supportLevel===2?ansi256(rgbToAnsi256(t,i,r)):kolorist(`38;2;${t};${i};${r}`,0,3);const trueColorBg=(t,i,r)=>g.supportLevel===2?ansi256Bg(rgbToAnsi256(t,i,r)):kolorist(`48;2;${t};${i};${r}`,0,3);const nt="]";const ot="";const at=";";function esm_link(t,i){return g.enabled?nt+"8"+at+at+i+ot+t+nt+"8"+at+at+ot:`${t} (​${i}​)`}var ht=__nccwpck_require__(1798);var ct=__nccwpck_require__(9547);var lt=__nccwpck_require__(2520);var ut=__nccwpck_require__(4342);var ft=__nccwpck_require__(5933);var dt=__nccwpck_require__(4041);var pt=__nccwpck_require__(2693);var mt=__nccwpck_require__(9932);var yt=__nccwpck_require__(6373);const gt=ht.copy;const bt=ht.copySync;const wt=ct.emptyDirSync;const vt=ct.emptydirSync;const St=ct.emptyDir;const Et=ct.emptydir;const _t=lt.createFile;const xt=lt.createFileSync;const kt=lt.ensureFile;const Ot=lt.ensureFileSync;const Rt=lt.createLink;const Tt=lt.createLinkSync;const Pt=lt.ensureLink;const Dt=lt.ensureLinkSync;const At=lt.createSymlink;const Ft=lt.createSymlinkSync;const Mt=lt.ensureSymlink;const It=lt.ensureSymlinkSync;const Lt=ut.readJson;const Ct=ut.readJSON;const Nt=ut.readJsonSync;const $t=ut.readJSONSync;const jt=ut.writeJson;const Bt=ut.writeJSON;const Ut=ut.writeJsonSync;const zt=ut.writeJSONSync;const Wt=ut.outputJson;const Ht=ut.outputJSON;const Gt=ut.outputJsonSync;const Yt=ut.outputJSONSync;const Vt=ft.mkdirs;const Zt=ft.mkdirsSync;const qt=ft.mkdirp;const Jt=ft.mkdirpSync;const Kt=ft.ensureDir;const Xt=ft.ensureDirSync;const Qt=dt.move;const te=dt.moveSync;const ee=pt.outputFile;const ie=pt.outputFileSync;const se=mt.pathExists;const re=mt.pathExistsSync;const ne=yt.remove;const oe=yt.removeSync;const ae={...ht,...ct,...lt,...ut,...ft,...dt,...pt,...mt,...yt};var he=__nccwpck_require__(9886);var ce=__nccwpck_require__.n(he);const le=t(import.meta.url)("node:module");async function getTemplateNames(t){const i=(await o().readdir(t)).filter((t=>!t.startsWith(".")));return i}async function installTemplate(t,r,a,c){const l={name:r,version:"0.0.0"};const u=h().join(a,c);const d=h().join(t,"package.json");const p=h().join(u,"package.json");const m=JSON.parse(await o().readFile(p,"utf-8"));ae.copySync(u,t);await o().writeFile(d,JSON.stringify({...m,...l},null,2));if((0,i.existsSync)(h().join(t,"gitignore"))){await o().rename(h().join(t,"gitignore"),h().join(t,".gitignore"))}}const ue=t(import.meta.url)("node:stream");const fe=t(import.meta.url)("node:stream/promises");var de=__nccwpck_require__(2361);var pe=__nccwpck_require__(7147);const me=t(import.meta.url)("node:events");const ye=t(import.meta.url)("node:string_decoder");const ge=typeof process==="object"&&process?process:{stdout:null,stderr:null};const isStream=t=>!!t&&typeof t==="object"&&(t instanceof Minipass||t instanceof ue||isReadable(t)||isWritable(t));const isReadable=t=>!!t&&typeof t==="object"&&t instanceof me.EventEmitter&&typeof t.pipe==="function"&&t.pipe!==ue.Writable.prototype.pipe;const isWritable=t=>!!t&&typeof t==="object"&&t instanceof me.EventEmitter&&typeof t.write==="function"&&typeof t.end==="function";const be=Symbol("EOF");const we=Symbol("maybeEmitEnd");const ve=Symbol("emittedEnd");const Se=Symbol("emittingEnd");const Ee=Symbol("emittedError");const _e=Symbol("closed");const xe=Symbol("read");const ke=Symbol("flush");const Oe=Symbol("flushChunk");const Re=Symbol("encoding");const Te=Symbol("decoder");const Pe=Symbol("flowing");const De=Symbol("paused");const Ae=Symbol("resume");const Fe=Symbol("buffer");const Me=Symbol("pipes");const Ie=Symbol("bufferLength");const Le=Symbol("bufferPush");const Ce=Symbol("bufferShift");const Ne=Symbol("objectMode");const $e=Symbol("destroyed");const je=Symbol("error");const Be=Symbol("emitData");const Ue=Symbol("emitEnd");const ze=Symbol("emitEnd2");const We=Symbol("async");const He=Symbol("abort");const Ge=Symbol("aborted");const Ye=Symbol("signal");const Ve=Symbol("dataListeners");const Ze=Symbol("discarded");const defer=t=>Promise.resolve().then(t);const nodefer=t=>t();const isEndish=t=>t==="end"||t==="finish"||t==="prefinish";const isArrayBufferLike=t=>t instanceof ArrayBuffer||!!t&&typeof t==="object"&&t.constructor&&t.constructor.name==="ArrayBuffer"&&t.byteLength>=0;const isArrayBufferView=t=>!Buffer.isBuffer(t)&&ArrayBuffer.isView(t);class Pipe{src;dest;opts;ondrain;constructor(t,i,r){this.src=t;this.dest=i;this.opts=r;this.ondrain=()=>t[Ae]();this.dest.on("drain",this.ondrain)}unpipe(){this.dest.removeListener("drain",this.ondrain)}proxyErrors(t){}end(){this.unpipe();if(this.opts.end)this.dest.end()}}class PipeProxyErrors extends Pipe{unpipe(){this.src.removeListener("error",this.proxyErrors);super.unpipe()}constructor(t,i,r){super(t,i,r);this.proxyErrors=t=>i.emit("error",t);t.on("error",this.proxyErrors)}}const isObjectModeOptions=t=>!!t.objectMode;const isEncodingOptions=t=>!t.objectMode&&!!t.encoding&&t.encoding!=="buffer";class Minipass extends me.EventEmitter{[Pe]=false;[De]=false;[Me]=[];[Fe]=[];[Ne];[Re];[We];[Te];[be]=false;[ve]=false;[Se]=false;[_e]=false;[Ee]=null;[Ie]=0;[$e]=false;[Ye];[Ge]=false;[Ve]=0;[Ze]=false;writable=true;readable=true;constructor(...t){const i=t[0]||{};super();if(i.objectMode&&typeof i.encoding==="string"){throw new TypeError("Encoding and objectMode may not be used together")}if(isObjectModeOptions(i)){this[Ne]=true;this[Re]=null}else if(isEncodingOptions(i)){this[Re]=i.encoding;this[Ne]=false}else{this[Ne]=false;this[Re]=null}this[We]=!!i.async;this[Te]=this[Re]?new ye.StringDecoder(this[Re]):null;if(i&&i.debugExposeBuffer===true){Object.defineProperty(this,"buffer",{get:()=>this[Fe]})}if(i&&i.debugExposePipes===true){Object.defineProperty(this,"pipes",{get:()=>this[Me]})}const{signal:r}=i;if(r){this[Ye]=r;if(r.aborted){this[He]()}else{r.addEventListener("abort",(()=>this[He]()))}}}get bufferLength(){return this[Ie]}get encoding(){return this[Re]}set encoding(t){throw new Error("Encoding must be set at instantiation time")}setEncoding(t){throw new Error("Encoding must be set at instantiation time")}get objectMode(){return this[Ne]}set objectMode(t){throw new Error("objectMode must be set at instantiation time")}get["async"](){return this[We]}set["async"](t){this[We]=this[We]||!!t}[He](){this[Ge]=true;this.emit("abort",this[Ye]?.reason);this.destroy(this[Ye]?.reason)}get aborted(){return this[Ge]}set aborted(t){}write(t,i,r){if(this[Ge])return false;if(this[be])throw new Error("write after end");if(this[$e]){this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"}));return true}if(typeof i==="function"){r=i;i="utf8"}if(!i)i="utf8";const o=this[We]?defer:nodefer;if(!this[Ne]&&!Buffer.isBuffer(t)){if(isArrayBufferView(t)){t=Buffer.from(t.buffer,t.byteOffset,t.byteLength)}else if(isArrayBufferLike(t)){t=Buffer.from(t)}else if(typeof t!=="string"){throw new Error("Non-contiguous data written to non-objectMode stream")}}if(this[Ne]){if(this[Pe]&&this[Ie]!==0)this[ke](true);if(this[Pe])this.emit("data",t);else this[Le](t);if(this[Ie]!==0)this.emit("readable");if(r)o(r);return this[Pe]}if(!t.length){if(this[Ie]!==0)this.emit("readable");if(r)o(r);return this[Pe]}if(typeof t==="string"&&!(i===this[Re]&&!this[Te]?.lastNeed)){t=Buffer.from(t,i)}if(Buffer.isBuffer(t)&&this[Re]){t=this[Te].write(t)}if(this[Pe]&&this[Ie]!==0)this[ke](true);if(this[Pe])this.emit("data",t);else this[Le](t);if(this[Ie]!==0)this.emit("readable");if(r)o(r);return this[Pe]}read(t){if(this[$e])return null;this[Ze]=false;if(this[Ie]===0||t===0||t&&t>this[Ie]){this[we]();return null}if(this[Ne])t=null;if(this[Fe].length>1&&!this[Ne]){this[Fe]=[this[Re]?this[Fe].join(""):Buffer.concat(this[Fe],this[Ie])]}const i=this[xe](t||null,this[Fe][0]);this[we]();return i}[xe](t,i){if(this[Ne])this[Ce]();else{const r=i;if(t===r.length||t===null)this[Ce]();else if(typeof r==="string"){this[Fe][0]=r.slice(t);i=r.slice(0,t);this[Ie]-=t}else{this[Fe][0]=r.subarray(t);i=r.subarray(0,t);this[Ie]-=t}}this.emit("data",i);if(!this[Fe].length&&!this[be])this.emit("drain");return i}end(t,i,r){if(typeof t==="function"){r=t;t=undefined}if(typeof i==="function"){r=i;i="utf8"}if(t!==undefined)this.write(t,i);if(r)this.once("end",r);this[be]=true;this.writable=false;if(this[Pe]||!this[De])this[we]();return this}[Ae](){if(this[$e])return;if(!this[Ve]&&!this[Me].length){this[Ze]=true}this[De]=false;this[Pe]=true;this.emit("resume");if(this[Fe].length)this[ke]();else if(this[be])this[we]();else this.emit("drain")}resume(){return this[Ae]()}pause(){this[Pe]=false;this[De]=true;this[Ze]=false}get destroyed(){return this[$e]}get flowing(){return this[Pe]}get paused(){return this[De]}[Le](t){if(this[Ne])this[Ie]+=1;else this[Ie]+=t.length;this[Fe].push(t)}[Ce](){if(this[Ne])this[Ie]-=1;else this[Ie]-=this[Fe][0].length;return this[Fe].shift()}[ke](t=false){do{}while(this[Oe](this[Ce]())&&this[Fe].length);if(!t&&!this[Fe].length&&!this[be])this.emit("drain")}[Oe](t){this.emit("data",t);return this[Pe]}pipe(t,i){if(this[$e])return t;this[Ze]=false;const r=this[ve];i=i||{};if(t===ge.stdout||t===ge.stderr)i.end=false;else i.end=i.end!==false;i.proxyErrors=!!i.proxyErrors;if(r){if(i.end)t.end()}else{this[Me].push(!i.proxyErrors?new Pipe(this,t,i):new PipeProxyErrors(this,t,i));if(this[We])defer((()=>this[Ae]()));else this[Ae]()}return t}unpipe(t){const i=this[Me].find((i=>i.dest===t));if(i){if(this[Me].length===1){if(this[Pe]&&this[Ve]===0){this[Pe]=false}this[Me]=[]}else this[Me].splice(this[Me].indexOf(i),1);i.unpipe()}}addListener(t,i){return this.on(t,i)}on(t,i){const r=super.on(t,i);if(t==="data"){this[Ze]=false;this[Ve]++;if(!this[Me].length&&!this[Pe]){this[Ae]()}}else if(t==="readable"&&this[Ie]!==0){super.emit("readable")}else if(isEndish(t)&&this[ve]){super.emit(t);this.removeAllListeners(t)}else if(t==="error"&&this[Ee]){const t=i;if(this[We])defer((()=>t.call(this,this[Ee])));else t.call(this,this[Ee])}return r}removeListener(t,i){return this.off(t,i)}off(t,i){const r=super.off(t,i);if(t==="data"){this[Ve]=this.listeners("data").length;if(this[Ve]===0&&!this[Ze]&&!this[Me].length){this[Pe]=false}}return r}removeAllListeners(t){const i=super.removeAllListeners(t);if(t==="data"||t===undefined){this[Ve]=0;if(!this[Ze]&&!this[Me].length){this[Pe]=false}}return i}get emittedEnd(){return this[ve]}[we](){if(!this[Se]&&!this[ve]&&!this[$e]&&this[Fe].length===0&&this[be]){this[Se]=true;this.emit("end");this.emit("prefinish");this.emit("finish");if(this[_e])this.emit("close");this[Se]=false}}emit(t,...i){const r=i[0];if(t!=="error"&&t!=="close"&&t!==$e&&this[$e]){return false}else if(t==="data"){return!this[Ne]&&!r?false:this[We]?(defer((()=>this[Be](r))),true):this[Be](r)}else if(t==="end"){return this[Ue]()}else if(t==="close"){this[_e]=true;if(!this[ve]&&!this[$e])return false;const t=super.emit("close");this.removeAllListeners("close");return t}else if(t==="error"){this[Ee]=r;super.emit(je,r);const t=!this[Ye]||this.listeners("error").length?super.emit("error",r):false;this[we]();return t}else if(t==="resume"){const t=super.emit("resume");this[we]();return t}else if(t==="finish"||t==="prefinish"){const i=super.emit(t);this.removeAllListeners(t);return i}const o=super.emit(t,...i);this[we]();return o}[Be](t){for(const i of this[Me]){if(i.dest.write(t)===false)this.pause()}const i=this[Ze]?false:super.emit("data",t);this[we]();return i}[Ue](){if(this[ve])return false;this[ve]=true;this.readable=false;return this[We]?(defer((()=>this[ze]())),true):this[ze]()}[ze](){if(this[Te]){const t=this[Te].end();if(t){for(const i of this[Me]){i.dest.write(t)}if(!this[Ze])super.emit("data",t)}}for(const t of this[Me]){t.end()}const t=super.emit("end");this.removeAllListeners("end");return t}async collect(){const t=Object.assign([],{dataLength:0});if(!this[Ne])t.dataLength=0;const i=this.promise();this.on("data",(i=>{t.push(i);if(!this[Ne])t.dataLength+=i.length}));await i;return t}async concat(){if(this[Ne]){throw new Error("cannot concat in objectMode")}const t=await this.collect();return this[Re]?t.join(""):Buffer.concat(t,t.dataLength)}async promise(){return new Promise(((t,i)=>{this.on($e,(()=>i(new Error("stream destroyed"))));this.on("error",(t=>i(t)));this.on("end",(()=>t()))}))}[Symbol.asyncIterator](){this[Ze]=false;let t=false;const stop=async()=>{this.pause();t=true;return{value:undefined,done:true}};const next=()=>{if(t)return stop();const i=this.read();if(i!==null)return Promise.resolve({done:false,value:i});if(this[be])return stop();let r;let o;const onerr=t=>{this.off("data",ondata);this.off("end",onend);this.off($e,ondestroy);stop();o(t)};const ondata=t=>{this.off("error",onerr);this.off("end",onend);this.off($e,ondestroy);this.pause();r({value:t,done:!!this[be]})};const onend=()=>{this.off("error",onerr);this.off("data",ondata);this.off($e,ondestroy);stop();r({done:true,value:undefined})};const ondestroy=()=>onerr(new Error("stream destroyed"));return new Promise(((t,i)=>{o=i;r=t;this.once($e,ondestroy);this.once("error",onerr);this.once("end",onend);this.once("data",ondata)}))};return{next:next,throw:stop,return:stop,[Symbol.asyncIterator](){return this}}}[Symbol.iterator](){this[Ze]=false;let t=false;const stop=()=>{this.pause();this.off(je,stop);this.off($e,stop);this.off("end",stop);t=true;return{done:true,value:undefined}};const next=()=>{if(t)return stop();const i=this.read();return i===null?stop():{done:false,value:i}};this.once("end",stop);this.once(je,stop);this.once($e,stop);return{next:next,throw:stop,return:stop,[Symbol.iterator](){return this}}}destroy(t){if(this[$e]){if(t)this.emit("error",t);else this.emit($e);return this}this[$e]=true;this[Ze]=true;this[Fe].length=0;this[Ie]=0;const i=this;if(typeof i.close==="function"&&!this[_e])i.close();if(t)this.emit("error",t);else this.emit($e);return this}static get isStream(){return isStream}}const qe=pe.writev;const Je=Symbol("_autoClose");const Ke=Symbol("_close");const Xe=Symbol("_ended");const Qe=Symbol("_fd");const ti=Symbol("_finished");const ei=Symbol("_flags");const ii=Symbol("_flush");const si=Symbol("_handleChunk");const ri=Symbol("_makeBuf");const ni=Symbol("_mode");const oi=Symbol("_needDrain");const ai=Symbol("_onerror");const hi=Symbol("_onopen");const ci=Symbol("_onread");const li=Symbol("_onwrite");const ui=Symbol("_open");const fi=Symbol("_path");const di=Symbol("_pos");const pi=Symbol("_queue");const mi=Symbol("_read");const yi=Symbol("_readSize");const gi=Symbol("_reading");const bi=Symbol("_remain");const wi=Symbol("_size");const vi=Symbol("_write");const Si=Symbol("_writing");const Ei=Symbol("_defaultFlag");const _i=Symbol("_errored");class ReadStream extends Minipass{[_i]=false;[Qe];[fi];[yi];[gi]=false;[wi];[bi];[Je];constructor(t,i){i=i||{};super(i);this.readable=true;this.writable=false;if(typeof t!=="string"){throw new TypeError("path must be a string")}this[_i]=false;this[Qe]=typeof i.fd==="number"?i.fd:undefined;this[fi]=t;this[yi]=i.readSize||16*1024*1024;this[gi]=false;this[wi]=typeof i.size==="number"?i.size:Infinity;this[bi]=this[wi];this[Je]=typeof i.autoClose==="boolean"?i.autoClose:true;if(typeof this[Qe]==="number"){this[mi]()}else{this[ui]()}}get fd(){return this[Qe]}get path(){return this[fi]}write(){throw new TypeError("this is a readable stream")}end(){throw new TypeError("this is a readable stream")}[ui](){pe.open(this[fi],"r",((t,i)=>this[hi](t,i)))}[hi](t,i){if(t){this[ai](t)}else{this[Qe]=i;this.emit("open",i);this[mi]()}}[ri](){return Buffer.allocUnsafe(Math.min(this[yi],this[bi]))}[mi](){if(!this[gi]){this[gi]=true;const t=this[ri]();if(t.length===0){return process.nextTick((()=>this[ci](null,0,t)))}pe.read(this[Qe],t,0,t.length,null,((t,i,r)=>this[ci](t,i,r)))}}[ci](t,i,r){this[gi]=false;if(t){this[ai](t)}else if(this[si](i,r)){this[mi]()}}[Ke](){if(this[Je]&&typeof this[Qe]==="number"){const t=this[Qe];this[Qe]=undefined;pe.close(t,(t=>t?this.emit("error",t):this.emit("close")))}}[ai](t){this[gi]=true;this[Ke]();this.emit("error",t)}[si](t,i){let r=false;this[bi]-=t;if(t>0){r=super.write(t<i.length?i.subarray(0,t):i)}if(t===0||this[bi]<=0){r=false;this[Ke]();super.end()}return r}emit(t,...i){switch(t){case"prefinish":case"finish":return false;case"drain":if(typeof this[Qe]==="number"){this[mi]()}return false;case"error":if(this[_i]){return false}this[_i]=true;return super.emit(t,...i);default:return super.emit(t,...i)}}}class ReadStreamSync extends ReadStream{[ui](){let t=true;try{this[hi](null,pe.openSync(this[fi],"r"));t=false}finally{if(t){this[Ke]()}}}[mi](){let t=true;try{if(!this[gi]){this[gi]=true;do{const t=this[ri]();const i=t.length===0?0:pe.readSync(this[Qe],t,0,t.length,null);if(!this[si](i,t)){break}}while(true);this[gi]=false}t=false}finally{if(t){this[Ke]()}}}[Ke](){if(this[Je]&&typeof this[Qe]==="number"){const t=this[Qe];this[Qe]=undefined;pe.closeSync(t);this.emit("close")}}}class WriteStream extends de{readable=false;writable=true;[_i]=false;[Si]=false;[Xe]=false;[pi]=[];[oi]=false;[fi];[ni];[Je];[Qe];[Ei];[ei];[ti]=false;[di];constructor(t,i){i=i||{};super(i);this[fi]=t;this[Qe]=typeof i.fd==="number"?i.fd:undefined;this[ni]=i.mode===undefined?438:i.mode;this[di]=typeof i.start==="number"?i.start:undefined;this[Je]=typeof i.autoClose==="boolean"?i.autoClose:true;const r=this[di]!==undefined?"r+":"w";this[Ei]=i.flags===undefined;this[ei]=i.flags===undefined?r:i.flags;if(this[Qe]===undefined){this[ui]()}}emit(t,...i){if(t==="error"){if(this[_i]){return false}this[_i]=true}return super.emit(t,...i)}get fd(){return this[Qe]}get path(){return this[fi]}[ai](t){this[Ke]();this[Si]=true;this.emit("error",t)}[ui](){pe.open(this[fi],this[ei],this[ni],((t,i)=>this[hi](t,i)))}[hi](t,i){if(this[Ei]&&this[ei]==="r+"&&t&&t.code==="ENOENT"){this[ei]="w";this[ui]()}else if(t){this[ai](t)}else{this[Qe]=i;this.emit("open",i);if(!this[Si]){this[ii]()}}}end(t,i){if(t){this.write(t,i)}this[Xe]=true;if(!this[Si]&&!this[pi].length&&typeof this[Qe]==="number"){this[li](null,0)}return this}write(t,i){if(typeof t==="string"){t=Buffer.from(t,i)}if(this[Xe]){this.emit("error",new Error("write() after end()"));return false}if(this[Qe]===undefined||this[Si]||this[pi].length){this[pi].push(t);this[oi]=true;return false}this[Si]=true;this[vi](t);return true}[vi](t){pe.write(this[Qe],t,0,t.length,this[di],((t,i)=>this[li](t,i)))}[li](t,i){if(t){this[ai](t)}else{if(this[di]!==undefined&&typeof i==="number"){this[di]+=i}if(this[pi].length){this[ii]()}else{this[Si]=false;if(this[Xe]&&!this[ti]){this[ti]=true;this[Ke]();this.emit("finish")}else if(this[oi]){this[oi]=false;this.emit("drain")}}}}[ii](){if(this[pi].length===0){if(this[Xe]){this[li](null,0)}}else if(this[pi].length===1){this[vi](this[pi].pop())}else{const t=this[pi];this[pi]=[];qe(this[Qe],t,this[di],((t,i)=>this[li](t,i)))}}[Ke](){if(this[Je]&&typeof this[Qe]==="number"){const t=this[Qe];this[Qe]=undefined;pe.close(t,(t=>t?this.emit("error",t):this.emit("close")))}}}class WriteStreamSync extends WriteStream{[ui](){let t;if(this[Ei]&&this[ei]==="r+"){try{t=pe.openSync(this[fi],this[ei],this[ni])}catch(t){if(t?.code==="ENOENT"){this[ei]="w";return this[ui]()}else{throw t}}}else{t=pe.openSync(this[fi],this[ei],this[ni])}this[hi](null,t)}[Ke](){if(this[Je]&&typeof this[Qe]==="number"){const t=this[Qe];this[Qe]=undefined;pe.closeSync(t);this.emit("close")}}[vi](t){let i=true;try{this[li](null,pe.writeSync(this[Qe],t,0,t.length,this[di]));i=false}finally{if(i){try{this[Ke]()}catch{}}}}}var xi=__nccwpck_require__(1017);const ki=new Map([["C","cwd"],["f","file"],["z","gzip"],["P","preservePaths"],["U","unlink"],["strip-components","strip"],["stripComponents","strip"],["keep-newer","newer"],["keepNewer","newer"],["keep-newer-files","newer"],["keepNewerFiles","newer"],["k","keep"],["keep-existing","keep"],["keepExisting","keep"],["m","noMtime"],["no-mtime","noMtime"],["p","preserveOwner"],["L","follow"],["h","follow"],["onentry","onReadEntry"]]);const isSyncFile=t=>!!t.sync&&!!t.file;const isAsyncFile=t=>!t.sync&&!!t.file;const isSyncNoFile=t=>!!t.sync&&!t.file;const isAsyncNoFile=t=>!t.sync&&!t.file;const isSync=t=>!!t.sync;const isAsync=t=>!t.sync;const isFile=t=>!!t.file;const isNoFile=t=>!t.file;const dealiasKey=t=>{const i=ki.get(t);if(i)return i;return t};const dealias=(t={})=>{if(!t)return{};const i={};for(const[r,o]of Object.entries(t)){const t=dealiasKey(r);i[t]=o}if(i.chmod===undefined&&i.noChmod===false){i.chmod=true}delete i.noChmod;return i};const makeCommand=(t,i,r,o,a)=>Object.assign(((h=[],c,l)=>{if(Array.isArray(h)){c=h;h={}}if(typeof c==="function"){l=c;c=undefined}if(!c){c=[]}else{c=Array.from(c)}const u=dealias(h);a?.(u,c);if(isSyncFile(u)){if(typeof l==="function"){throw new TypeError("callback not supported for sync tar functions")}return t(u,c)}else if(isAsyncFile(u)){const t=i(u,c);const r=l?l:undefined;return r?t.then((()=>r()),r):t}else if(isSyncNoFile(u)){if(typeof l==="function"){throw new TypeError("callback not supported for sync tar functions")}return r(u,c)}else if(isAsyncNoFile(u)){if(typeof l==="function"){throw new TypeError("callback only supported with file option")}return o(u,c)}else{throw new Error("impossible options??")}}),{syncFile:t,asyncFile:i,syncNoFile:r,asyncNoFile:o,validate:a});var Oi=__nccwpck_require__(9491);var Ri=__nccwpck_require__(4300);const Ti=t(import.meta.url)("zlib");const Pi=Ti.constants||{ZLIB_VERNUM:4736};const Di=Object.freeze(Object.assign(Object.create(null),{Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_VERSION_ERROR:-6,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,DEFLATE:1,INFLATE:2,GZIP:3,GUNZIP:4,DEFLATERAW:5,INFLATERAW:6,UNZIP:7,BROTLI_DECODE:8,BROTLI_ENCODE:9,Z_MIN_WINDOWBITS:8,Z_MAX_WINDOWBITS:15,Z_DEFAULT_WINDOWBITS:15,Z_MIN_CHUNK:64,Z_MAX_CHUNK:Infinity,Z_DEFAULT_CHUNK:16384,Z_MIN_MEMLEVEL:1,Z_MAX_MEMLEVEL:9,Z_DEFAULT_MEMLEVEL:8,Z_MIN_LEVEL:-1,Z_MAX_LEVEL:9,Z_DEFAULT_LEVEL:-1,BROTLI_OPERATION_PROCESS:0,BROTLI_OPERATION_FLUSH:1,BROTLI_OPERATION_FINISH:2,BROTLI_OPERATION_EMIT_METADATA:3,BROTLI_MODE_GENERIC:0,BROTLI_MODE_TEXT:1,BROTLI_MODE_FONT:2,BROTLI_DEFAULT_MODE:0,BROTLI_MIN_QUALITY:0,BROTLI_MAX_QUALITY:11,BROTLI_DEFAULT_QUALITY:11,BROTLI_MIN_WINDOW_BITS:10,BROTLI_MAX_WINDOW_BITS:24,BROTLI_LARGE_MAX_WINDOW_BITS:30,BROTLI_DEFAULT_WINDOW:22,BROTLI_MIN_INPUT_BLOCK_BITS:16,BROTLI_MAX_INPUT_BLOCK_BITS:24,BROTLI_PARAM_MODE:0,BROTLI_PARAM_QUALITY:1,BROTLI_PARAM_LGWIN:2,BROTLI_PARAM_LGBLOCK:3,BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING:4,BROTLI_PARAM_SIZE_HINT:5,BROTLI_PARAM_LARGE_WINDOW:6,BROTLI_PARAM_NPOSTFIX:7,BROTLI_PARAM_NDIRECT:8,BROTLI_DECODER_RESULT_ERROR:0,BROTLI_DECODER_RESULT_SUCCESS:1,BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT:2,BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION:0,BROTLI_DECODER_PARAM_LARGE_WINDOW:1,BROTLI_DECODER_NO_ERROR:0,BROTLI_DECODER_SUCCESS:1,BROTLI_DECODER_NEEDS_MORE_INPUT:2,BROTLI_DECODER_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE:-1,BROTLI_DECODER_ERROR_FORMAT_RESERVED:-2,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE:-3,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET:-4,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME:-5,BROTLI_DECODER_ERROR_FORMAT_CL_SPACE:-6,BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE:-7,BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT:-8,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1:-9,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2:-10,BROTLI_DECODER_ERROR_FORMAT_TRANSFORM:-11,BROTLI_DECODER_ERROR_FORMAT_DICTIONARY:-12,BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS:-13,BROTLI_DECODER_ERROR_FORMAT_PADDING_1:-14,BROTLI_DECODER_ERROR_FORMAT_PADDING_2:-15,BROTLI_DECODER_ERROR_FORMAT_DISTANCE:-16,BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET:-19,BROTLI_DECODER_ERROR_INVALID_ARGUMENTS:-20,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES:-21,BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS:-22,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP:-25,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1:-26,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2:-27,BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES:-30,BROTLI_DECODER_ERROR_UNREACHABLE:-31},Pi));const Ai=Ri.Buffer.concat;const Fi=Symbol("_superWrite");class ZlibError extends Error{code;errno;constructor(t){super("zlib: "+t.message);this.code=t.code;this.errno=t.errno;if(!this.code)this.code="ZLIB_ERROR";this.message="zlib: "+t.message;Error.captureStackTrace(this,this.constructor)}get name(){return"ZlibError"}}const Mi=Symbol("flushFlag");class ZlibBase extends Minipass{#t=false;#e=false;#i;#s;#r;#n;#o;get sawError(){return this.#t}get handle(){return this.#n}get flushFlag(){return this.#i}constructor(t,i){if(!t||typeof t!=="object")throw new TypeError("invalid options for ZlibBase constructor");super(t);this.#i=t.flush??0;this.#s=t.finishFlush??0;this.#r=t.fullFlushFlag??0;try{this.#n=new Ti[i](t)}catch(t){throw new ZlibError(t)}this.#o=t=>{if(this.#t)return;this.#t=true;this.close();this.emit("error",t)};this.#n?.on("error",(t=>this.#o(new ZlibError(t))));this.once("end",(()=>this.close))}close(){if(this.#n){this.#n.close();this.#n=undefined;this.emit("close")}}reset(){if(!this.#t){Oi(this.#n,"zlib binding closed");return this.#n.reset?.()}}flush(t){if(this.ended)return;if(typeof t!=="number")t=this.#r;this.write(Object.assign(Ri.Buffer.alloc(0),{[Mi]:t}))}end(t,i,r){if(typeof t==="function"){r=t;i=undefined;t=undefined}if(typeof i==="function"){r=i;i=undefined}if(t){if(i)this.write(t,i);else this.write(t)}this.flush(this.#s);this.#e=true;return super.end(r)}get ended(){return this.#e}[Fi](t){return super.write(t)}write(t,i,r){if(typeof i==="function")r=i,i="utf8";if(typeof t==="string")t=Ri.Buffer.from(t,i);if(this.#t)return;Oi(this.#n,"zlib binding closed");const o=this.#n._handle;const a=o.close;o.close=()=>{};const h=this.#n.close;this.#n.close=()=>{};Ri.Buffer.concat=t=>t;let c=undefined;try{const i=typeof t[Mi]==="number"?t[Mi]:this.#i;c=this.#n._processChunk(t,i);Ri.Buffer.concat=Ai}catch(t){Ri.Buffer.concat=Ai;this.#o(new ZlibError(t))}finally{if(this.#n){this.#n._handle=o;o.close=a;this.#n.close=h;this.#n.removeAllListeners("error")}}if(this.#n)this.#n.on("error",(t=>this.#o(new ZlibError(t))));let l;if(c){if(Array.isArray(c)&&c.length>0){const t=c[0];l=this[Fi](Ri.Buffer.from(t));for(let t=1;t<c.length;t++){l=this[Fi](c[t])}}else{l=this[Fi](Ri.Buffer.from(c))}}if(r)r();return l}}class Zlib extends ZlibBase{#a;#h;constructor(t,i){t=t||{};t.flush=t.flush||Di.Z_NO_FLUSH;t.finishFlush=t.finishFlush||Di.Z_FINISH;t.fullFlushFlag=Di.Z_FULL_FLUSH;super(t,i);this.#a=t.level;this.#h=t.strategy}params(t,i){if(this.sawError)return;if(!this.handle)throw new Error("cannot switch params when binding is closed");if(!this.handle.params)throw new Error("not supported in this implementation");if(this.#a!==t||this.#h!==i){this.flush(Di.Z_SYNC_FLUSH);Oi(this.handle,"zlib binding closed");const r=this.handle.flush;this.handle.flush=(t,i)=>{if(typeof t==="function"){i=t;t=this.flushFlag}this.flush(t);i?.()};try{this.handle.params(t,i)}finally{this.handle.flush=r}if(this.handle){this.#a=t;this.#h=i}}}}class Deflate extends(null&&Zlib){constructor(t){super(t,"Deflate")}}class Inflate extends(null&&Zlib){constructor(t){super(t,"Inflate")}}class Gzip extends Zlib{#c;constructor(t){super(t,"Gzip");this.#c=t&&!!t.portable}[Fi](t){if(!this.#c)return super[Fi](t);this.#c=false;t[9]=255;return super[Fi](t)}}class Gunzip extends(null&&Zlib){constructor(t){super(t,"Gunzip")}}class DeflateRaw extends(null&&Zlib){constructor(t){super(t,"DeflateRaw")}}class InflateRaw extends(null&&Zlib){constructor(t){super(t,"InflateRaw")}}class Unzip extends Zlib{constructor(t){super(t,"Unzip")}}class Brotli extends ZlibBase{constructor(t,i){t=t||{};t.flush=t.flush||Di.BROTLI_OPERATION_PROCESS;t.finishFlush=t.finishFlush||Di.BROTLI_OPERATION_FINISH;t.fullFlushFlag=Di.BROTLI_OPERATION_FLUSH;super(t,i)}}class BrotliCompress extends Brotli{constructor(t){super(t,"BrotliCompress")}}class BrotliDecompress extends Brotli{constructor(t){super(t,"BrotliDecompress")}}class Yallist{tail;head;length=0;static create(t=[]){return new Yallist(t)}constructor(t=[]){for(const i of t){this.push(i)}}*[Symbol.iterator](){for(let t=this.head;t;t=t.next){yield t.value}}removeNode(t){if(t.list!==this){throw new Error("removing node which does not belong to this list")}const i=t.next;const r=t.prev;if(i){i.prev=r}if(r){r.next=i}if(t===this.head){this.head=i}if(t===this.tail){this.tail=r}this.length--;t.next=undefined;t.prev=undefined;t.list=undefined;return i}unshiftNode(t){if(t===this.head){return}if(t.list){t.list.removeNode(t)}const i=this.head;t.list=this;t.next=i;if(i){i.prev=t}this.head=t;if(!this.tail){this.tail=t}this.length++}pushNode(t){if(t===this.tail){return}if(t.list){t.list.removeNode(t)}const i=this.tail;t.list=this;t.prev=i;if(i){i.next=t}this.tail=t;if(!this.head){this.head=t}this.length++}push(...t){for(let i=0,r=t.length;i<r;i++){push(this,t[i])}return this.length}unshift(...t){for(var i=0,r=t.length;i<r;i++){unshift(this,t[i])}return this.length}pop(){if(!this.tail){return undefined}const t=this.tail.value;const i=this.tail;this.tail=this.tail.prev;if(this.tail){this.tail.next=undefined}else{this.head=undefined}i.list=undefined;this.length--;return t}shift(){if(!this.head){return undefined}const t=this.head.value;const i=this.head;this.head=this.head.next;if(this.head){this.head.prev=undefined}else{this.tail=undefined}i.list=undefined;this.length--;return t}forEach(t,i){i=i||this;for(let r=this.head,o=0;!!r;o++){t.call(i,r.value,o,this);r=r.next}}forEachReverse(t,i){i=i||this;for(let r=this.tail,o=this.length-1;!!r;o--){t.call(i,r.value,o,this);r=r.prev}}get(t){let i=0;let r=this.head;for(;!!r&&i<t;i++){r=r.next}if(i===t&&!!r){return r.value}}getReverse(t){let i=0;let r=this.tail;for(;!!r&&i<t;i++){r=r.prev}if(i===t&&!!r){return r.value}}map(t,i){i=i||this;const r=new Yallist;for(let o=this.head;!!o;){r.push(t.call(i,o.value,this));o=o.next}return r}mapReverse(t,i){i=i||this;var r=new Yallist;for(let o=this.tail;!!o;){r.push(t.call(i,o.value,this));o=o.prev}return r}reduce(t,i){let r;let o=this.head;if(arguments.length>1){r=i}else if(this.head){o=this.head.next;r=this.head.value}else{throw new TypeError("Reduce of empty list with no initial value")}for(var a=0;!!o;a++){r=t(r,o.value,a);o=o.next}return r}reduceReverse(t,i){let r;let o=this.tail;if(arguments.length>1){r=i}else if(this.tail){o=this.tail.prev;r=this.tail.value}else{throw new TypeError("Reduce of empty list with no initial value")}for(let i=this.length-1;!!o;i--){r=t(r,o.value,i);o=o.prev}return r}toArray(){const t=new Array(this.length);for(let i=0,r=this.head;!!r;i++){t[i]=r.value;r=r.next}return t}toArrayReverse(){const t=new Array(this.length);for(let i=0,r=this.tail;!!r;i++){t[i]=r.value;r=r.prev}return t}slice(t=0,i=this.length){if(i<0){i+=this.length}if(t<0){t+=this.length}const r=new Yallist;if(i<t||i<0){return r}if(t<0){t=0}if(i>this.length){i=this.length}let o=this.head;let a=0;for(a=0;!!o&&a<t;a++){o=o.next}for(;!!o&&a<i;a++,o=o.next){r.push(o.value)}return r}sliceReverse(t=0,i=this.length){if(i<0){i+=this.length}if(t<0){t+=this.length}const r=new Yallist;if(i<t||i<0){return r}if(t<0){t=0}if(i>this.length){i=this.length}let o=this.length;let a=this.tail;for(;!!a&&o>i;o--){a=a.prev}for(;!!a&&o>t;o--,a=a.prev){r.push(a.value)}return r}splice(t,i=0,...r){if(t>this.length){t=this.length-1}if(t<0){t=this.length+t}let o=this.head;for(let i=0;!!o&&i<t;i++){o=o.next}const a=[];for(let t=0;!!o&&t<i;t++){a.push(o.value);o=this.removeNode(o)}if(!o){o=this.tail}else if(o!==this.tail){o=o.prev}for(const t of r){o=insertAfter(this,o,t)}return a}reverse(){const t=this.head;const i=this.tail;for(let i=t;!!i;i=i.prev){const t=i.prev;i.prev=i.next;i.next=t}this.head=i;this.tail=t;return this}}function insertAfter(t,i,r){const o=i;const a=i?i.next:t.head;const h=new Node(r,o,a,t);if(h.next===undefined){t.tail=h}if(h.prev===undefined){t.head=h}t.length++;return h}function push(t,i){t.tail=new Node(i,t.tail,undefined,t);if(!t.head){t.head=t.tail}t.length++}function unshift(t,i){t.head=new Node(i,undefined,t.head,t);if(!t.tail){t.tail=t.head}t.length++}class Node{list;next;prev;value;constructor(t,i,r,o){this.list=o;this.value=t;if(i){i.next=this;this.prev=i}else{this.prev=undefined}if(r){r.prev=this;this.next=r}else{this.next=undefined}}}const encode=(t,i)=>{if(!Number.isSafeInteger(t)){throw Error("cannot encode number outside of javascript safe integer range")}else if(t<0){encodeNegative(t,i)}else{encodePositive(t,i)}return i};const encodePositive=(t,i)=>{i[0]=128;for(var r=i.length;r>1;r--){i[r-1]=t&255;t=Math.floor(t/256)}};const encodeNegative=(t,i)=>{i[0]=255;var r=false;t=t*-1;for(var o=i.length;o>1;o--){var a=t&255;t=Math.floor(t/256);if(r){i[o-1]=onesComp(a)}else if(a===0){i[o-1]=0}else{r=true;i[o-1]=twosComp(a)}}};const parse=t=>{const i=t[0];const r=i===128?pos(t.subarray(1,t.length)):i===255?twos(t):null;if(r===null){throw Error("invalid base256 encoding")}if(!Number.isSafeInteger(r)){throw Error("parsed number outside of javascript safe integer range")}return r};const twos=t=>{var i=t.length;var r=0;var o=false;for(var a=i-1;a>-1;a--){var h=Number(t[a]);var c;if(o){c=onesComp(h)}else if(h===0){c=h}else{o=true;c=twosComp(h)}if(c!==0){r-=c*Math.pow(256,i-a-1)}}return r};const pos=t=>{var i=t.length;var r=0;for(var o=i-1;o>-1;o--){var a=Number(t[o]);if(a!==0){r+=a*Math.pow(256,i-o-1)}}return r};const onesComp=t=>(255^t)&255;const twosComp=t=>(255^t)+1&255;const isCode=t=>Ii.has(t);const isName=t=>Li.has(t);const Ii=new Map([["0","File"],["","OldFile"],["1","Link"],["2","SymbolicLink"],["3","CharacterDevice"],["4","BlockDevice"],["5","Directory"],["6","FIFO"],["7","ContiguousFile"],["g","GlobalExtendedHeader"],["x","ExtendedHeader"],["A","SolarisACL"],["D","GNUDumpDir"],["I","Inode"],["K","NextFileHasLongLinkpath"],["L","NextFileHasLongPath"],["M","ContinuationFile"],["N","OldGnuLongPath"],["S","SparseFile"],["V","TapeVolumeHeader"],["X","OldExtendedHeader"]]);const Li=new Map(Array.from(Ii).map((t=>[t[1],t[0]])));class Header{cksumValid=false;needPax=false;nullBlock=false;block;path;mode;uid;gid;size;cksum;#l="Unsupported";linkpath;uname;gname;devmaj=0;devmin=0;atime;ctime;mtime;charset;comment;constructor(t,i=0,r,o){if(Buffer.isBuffer(t)){this.decode(t,i||0,r,o)}else if(t){this.#u(t)}}decode(t,i,r,o){if(!i){i=0}if(!t||!(t.length>=i+512)){throw new Error("need 512 bytes for header")}this.path=decString(t,i,100);this.mode=decNumber(t,i+100,8);this.uid=decNumber(t,i+108,8);this.gid=decNumber(t,i+116,8);this.size=decNumber(t,i+124,12);this.mtime=decDate(t,i+136,12);this.cksum=decNumber(t,i+148,12);if(o)this.#u(o,true);if(r)this.#u(r);const a=decString(t,i+156,1);if(isCode(a)){this.#l=a||"0"}if(this.#l==="0"&&this.path.slice(-1)==="/"){this.#l="5"}if(this.#l==="5"){this.size=0}this.linkpath=decString(t,i+157,100);if(t.subarray(i+257,i+265).toString()==="ustar\x0000"){this.uname=decString(t,i+265,32);this.gname=decString(t,i+297,32);this.devmaj=decNumber(t,i+329,8)??0;this.devmin=decNumber(t,i+337,8)??0;if(t[i+475]!==0){const r=decString(t,i+345,155);this.path=r+"/"+this.path}else{const r=decString(t,i+345,130);if(r){this.path=r+"/"+this.path}this.atime=decDate(t,i+476,12);this.ctime=decDate(t,i+488,12)}}let h=8*32;for(let r=i;r<i+148;r++){h+=t[r]}for(let r=i+156;r<i+512;r++){h+=t[r]}this.cksumValid=h===this.cksum;if(this.cksum===undefined&&h===8*32){this.nullBlock=true}}#u(t,i=false){Object.assign(this,Object.fromEntries(Object.entries(t).filter((([t,r])=>!(r===null||r===undefined||t==="path"&&i||t==="linkpath"&&i||t==="global")))))}encode(t,i=0){if(!t){t=this.block=Buffer.alloc(512)}if(this.#l==="Unsupported"){this.#l="0"}if(!(t.length>=i+512)){throw new Error("need 512 bytes for header")}const r=this.ctime||this.atime?130:155;const o=splitPrefix(this.path||"",r);const a=o[0];const h=o[1];this.needPax=!!o[2];this.needPax=encString(t,i,100,a)||this.needPax;this.needPax=encNumber(t,i+100,8,this.mode)||this.needPax;this.needPax=encNumber(t,i+108,8,this.uid)||this.needPax;this.needPax=encNumber(t,i+116,8,this.gid)||this.needPax;this.needPax=encNumber(t,i+124,12,this.size)||this.needPax;this.needPax=encDate(t,i+136,12,this.mtime)||this.needPax;t[i+156]=this.#l.charCodeAt(0);this.needPax=encString(t,i+157,100,this.linkpath)||this.needPax;t.write("ustar\x0000",i+257,8);this.needPax=encString(t,i+265,32,this.uname)||this.needPax;this.needPax=encString(t,i+297,32,this.gname)||this.needPax;this.needPax=encNumber(t,i+329,8,this.devmaj)||this.needPax;this.needPax=encNumber(t,i+337,8,this.devmin)||this.needPax;this.needPax=encString(t,i+345,r,h)||this.needPax;if(t[i+475]!==0){this.needPax=encString(t,i+345,155,h)||this.needPax}else{this.needPax=encString(t,i+345,130,h)||this.needPax;this.needPax=encDate(t,i+476,12,this.atime)||this.needPax;this.needPax=encDate(t,i+488,12,this.ctime)||this.needPax}let c=8*32;for(let r=i;r<i+148;r++){c+=t[r]}for(let r=i+156;r<i+512;r++){c+=t[r]}this.cksum=c;encNumber(t,i+148,8,this.cksum);this.cksumValid=true;return this.needPax}get type(){return this.#l==="Unsupported"?this.#l:Ii.get(this.#l)}get typeKey(){return this.#l}set type(t){const i=String(Li.get(t));if(isCode(i)||i==="Unsupported"){this.#l=i}else if(isCode(t)){this.#l=t}else{throw new TypeError("invalid entry type: "+t)}}}const splitPrefix=(t,i)=>{const r=100;let o=t;let h="";let c=undefined;const l=a.posix.parse(t).root||".";if(Buffer.byteLength(o)<r){c=[o,h,false]}else{h=a.posix.dirname(o);o=a.posix.basename(o);do{if(Buffer.byteLength(o)<=r&&Buffer.byteLength(h)<=i){c=[o,h,false]}else if(Buffer.byteLength(o)>r&&Buffer.byteLength(h)<=i){c=[o.slice(0,r-1),h,true]}else{o=a.posix.join(a.posix.basename(h),o);h=a.posix.dirname(h)}}while(h!==l&&c===undefined);if(!c){c=[t.slice(0,r-1),"",true]}}return c};const decString=(t,i,r)=>t.subarray(i,i+r).toString("utf8").replace(/\0.*/,"");const decDate=(t,i,r)=>numToDate(decNumber(t,i,r));const numToDate=t=>t===undefined?undefined:new Date(t*1e3);const decNumber=(t,i,r)=>Number(t[i])&128?parse(t.subarray(i,i+r)):decSmallNumber(t,i,r);const nanUndef=t=>isNaN(t)?undefined:t;const decSmallNumber=(t,i,r)=>nanUndef(parseInt(t.subarray(i,i+r).toString("utf8").replace(/\0.*$/,"").trim(),8));const Ci={12:8589934591,8:2097151};const encNumber=(t,i,r,o)=>o===undefined?false:o>Ci[r]||o<0?(encode(o,t.subarray(i,i+r)),true):(encSmallNumber(t,i,r,o),false);const encSmallNumber=(t,i,r,o)=>t.write(octalString(o,r),i,r,"ascii");const octalString=(t,i)=>padOctal(Math.floor(t).toString(8),i);const padOctal=(t,i)=>(t.length===i-1?t:new Array(i-t.length-1).join("0")+t+" ")+"\0";const encDate=(t,i,r,o)=>o===undefined?false:encNumber(t,i,r,o.getTime()/1e3);const Ni=new Array(156).join("\0");const encString=(t,i,r,o)=>o===undefined?false:(t.write(o+Ni,i,r,"utf8"),o.length!==Buffer.byteLength(o)||o.length>r);class Pax{atime;mtime;ctime;charset;comment;gid;uid;gname;uname;linkpath;dev;ino;nlink;path;size;mode;global;constructor(t,i=false){this.atime=t.atime;this.charset=t.charset;this.comment=t.comment;this.ctime=t.ctime;this.dev=t.dev;this.gid=t.gid;this.global=i;this.gname=t.gname;this.ino=t.ino;this.linkpath=t.linkpath;this.mtime=t.mtime;this.nlink=t.nlink;this.path=t.path;this.size=t.size;this.uid=t.uid;this.uname=t.uname}encode(){const t=this.encodeBody();if(t===""){return Buffer.allocUnsafe(0)}const i=Buffer.byteLength(t);const r=512*Math.ceil(1+i/512);const o=Buffer.allocUnsafe(r);for(let t=0;t<512;t++){o[t]=0}new Header({path:("PaxHeader/"+(0,a.basename)(this.path??"")).slice(0,99),mode:this.mode||420,uid:this.uid,gid:this.gid,size:i,mtime:this.mtime,type:this.global?"GlobalExtendedHeader":"ExtendedHeader",linkpath:"",uname:this.uname||"",gname:this.gname||"",devmaj:0,devmin:0,atime:this.atime,ctime:this.ctime}).encode(o);o.write(t,512,i,"utf8");for(let t=i+512;t<o.length;t++){o[t]=0}return o}encodeBody(){return this.encodeField("path")+this.encodeField("ctime")+this.encodeField("atime")+this.encodeField("dev")+this.encodeField("ino")+this.encodeField("nlink")+this.encodeField("charset")+this.encodeField("comment")+this.encodeField("gid")+this.encodeField("gname")+this.encodeField("linkpath")+this.encodeField("mtime")+this.encodeField("size")+this.encodeField("uid")+this.encodeField("uname")}encodeField(t){if(this[t]===undefined){return""}const i=this[t];const r=i instanceof Date?i.getTime()/1e3:i;const o=" "+(t==="dev"||t==="ino"||t==="nlink"?"SCHILY.":"")+t+"="+r+"\n";const a=Buffer.byteLength(o);let h=Math.floor(Math.log(a)/Math.log(10))+1;if(a+h>=Math.pow(10,h)){h+=1}const c=h+a;return c+o}static parse(t,i,r=false){return new Pax(merge(parseKV(t),i),r)}}const merge=(t,i)=>i?Object.assign({},i,t):t;const parseKV=t=>t.replace(/\n$/,"").split("\n").reduce(parseKVLine,Object.create(null));const parseKVLine=(t,i)=>{const r=parseInt(i,10);if(r!==Buffer.byteLength(i)+1){return t}i=i.slice((r+" ").length);const o=i.split("=");const a=o.shift();if(!a){return t}const h=a.replace(/^SCHILY\.(dev|ino|nlink)/,"$1");const c=o.join("=");t[h]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(h)?new Date(Number(c)*1e3):/^[0-9]+$/.test(c)?+c:c;return t};const $i=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform;const ji=$i!=="win32"?t=>t:t=>t&&t.replace(/\\/g,"/");class ReadEntry extends Minipass{extended;globalExtended;header;startBlockSize;blockRemain;remain;type;meta=false;ignore=false;path;mode;uid;gid;uname;gname;size=0;mtime;atime;ctime;linkpath;dev;ino;nlink;invalid=false;absolute;unsupported=false;constructor(t,i,r){super({});this.pause();this.extended=i;this.globalExtended=r;this.header=t;this.remain=t.size??0;this.startBlockSize=512*Math.ceil(this.remain/512);this.blockRemain=this.startBlockSize;this.type=t.type;switch(this.type){case"File":case"OldFile":case"Link":case"SymbolicLink":case"CharacterDevice":case"BlockDevice":case"Directory":case"FIFO":case"ContiguousFile":case"GNUDumpDir":break;case"NextFileHasLongLinkpath":case"NextFileHasLongPath":case"OldGnuLongPath":case"GlobalExtendedHeader":case"ExtendedHeader":case"OldExtendedHeader":this.meta=true;break;default:this.ignore=true}if(!t.path){throw new Error("no path provided for tar.ReadEntry")}this.path=ji(t.path);this.mode=t.mode;if(this.mode){this.mode=this.mode&4095}this.uid=t.uid;this.gid=t.gid;this.uname=t.uname;this.gname=t.gname;this.size=this.remain;this.mtime=t.mtime;this.atime=t.atime;this.ctime=t.ctime;this.linkpath=t.linkpath?ji(t.linkpath):undefined;this.uname=t.uname;this.gname=t.gname;if(i){this.#u(i)}if(r){this.#u(r,true)}}write(t){const i=t.length;if(i>this.blockRemain){throw new Error("writing more to entry than is appropriate")}const r=this.remain;const o=this.blockRemain;this.remain=Math.max(0,r-i);this.blockRemain=Math.max(0,o-i);if(this.ignore){return true}if(r>=i){return super.write(t)}return super.write(t.subarray(0,r))}#u(t,i=false){if(t.path)t.path=ji(t.path);if(t.linkpath)t.linkpath=ji(t.linkpath);Object.assign(this,Object.fromEntries(Object.entries(t).filter((([t,r])=>!(r===null||r===undefined||t==="path"&&i)))))}}const warnMethod=(t,i,r,o={})=>{if(t.file){o.file=t.file}if(t.cwd){o.cwd=t.cwd}o.code=r instanceof Error&&r.code||i;o.tarCode=i;if(!t.strict&&o.recoverable!==false){if(r instanceof Error){o=Object.assign(r,o);r=r.message}t.emit("warn",i,r,o)}else if(r instanceof Error){t.emit("error",Object.assign(r,o))}else{t.emit("error",Object.assign(new Error(`${i}: ${r}`),o))}};const Bi=1024*1024;const Ui=Buffer.from([31,139]);const zi=Symbol("state");const Wi=Symbol("writeEntry");const Hi=Symbol("readEntry");const Gi=Symbol("nextEntry");const Yi=Symbol("processEntry");const Vi=Symbol("extendedHeader");const Zi=Symbol("globalExtendedHeader");const qi=Symbol("meta");const Ji=Symbol("emitMeta");const Ki=Symbol("buffer");const Xi=Symbol("queue");const Qi=Symbol("ended");const ts=Symbol("emittedEnd");const es=Symbol("emit");const is=Symbol("unzip");const ss=Symbol("consumeChunk");const rs=Symbol("consumeChunkSub");const ns=Symbol("consumeBody");const os=Symbol("consumeMeta");const as=Symbol("consumeHeader");const hs=Symbol("consuming");const cs=Symbol("bufferConcat");const ls=Symbol("maybeEnd");const us=Symbol("writing");const fs=Symbol("aborted");const ds=Symbol("onDone");const ps=Symbol("sawValidEntry");const ms=Symbol("sawNullBlock");const ys=Symbol("sawEOF");const gs=Symbol("closeStream");const noop=()=>true;class Parser extends de.EventEmitter{file;strict;maxMetaEntrySize;filter;brotli;writable=true;readable=false;[Xi]=new Yallist;[Ki];[Hi];[Wi];[zi]="begin";[qi]="";[Vi];[Zi];[Qi]=false;[is];[fs]=false;[ps];[ms]=false;[ys]=false;[us]=false;[hs]=false;[ts]=false;constructor(t={}){super();this.file=t.file||"";this.on(ds,(()=>{if(this[zi]==="begin"||this[ps]===false){this.warn("TAR_BAD_ARCHIVE","Unrecognized archive format")}}));if(t.ondone){this.on(ds,t.ondone)}else{this.on(ds,(()=>{this.emit("prefinish");this.emit("finish");this.emit("end")}))}this.strict=!!t.strict;this.maxMetaEntrySize=t.maxMetaEntrySize||Bi;this.filter=typeof t.filter==="function"?t.filter:noop;const i=t.file&&(t.file.endsWith(".tar.br")||t.file.endsWith(".tbr"));this.brotli=!t.gzip&&t.brotli!==undefined?t.brotli:i?undefined:false;this.on("end",(()=>this[gs]()));if(typeof t.onwarn==="function"){this.on("warn",t.onwarn)}if(typeof t.onReadEntry==="function"){this.on("entry",t.onReadEntry)}}warn(t,i,r={}){warnMethod(this,t,i,r)}[as](t,i){if(this[ps]===undefined){this[ps]=false}let r;try{r=new Header(t,i,this[Vi],this[Zi])}catch(t){return this.warn("TAR_ENTRY_INVALID",t)}if(r.nullBlock){if(this[ms]){this[ys]=true;if(this[zi]==="begin"){this[zi]="header"}this[es]("eof")}else{this[ms]=true;this[es]("nullBlock")}}else{this[ms]=false;if(!r.cksumValid){this.warn("TAR_ENTRY_INVALID","checksum failure",{header:r})}else if(!r.path){this.warn("TAR_ENTRY_INVALID","path is required",{header:r})}else{const t=r.type;if(/^(Symbolic)?Link$/.test(t)&&!r.linkpath){this.warn("TAR_ENTRY_INVALID","linkpath required",{header:r})}else if(!/^(Symbolic)?Link$/.test(t)&&!/^(Global)?ExtendedHeader$/.test(t)&&r.linkpath){this.warn("TAR_ENTRY_INVALID","linkpath forbidden",{header:r})}else{const t=this[Wi]=new ReadEntry(r,this[Vi],this[Zi]);if(!this[ps]){if(t.remain){const onend=()=>{if(!t.invalid){this[ps]=true}};t.on("end",onend)}else{this[ps]=true}}if(t.meta){if(t.size>this.maxMetaEntrySize){t.ignore=true;this[es]("ignoredEntry",t);this[zi]="ignore";t.resume()}else if(t.size>0){this[qi]="";t.on("data",(t=>this[qi]+=t));this[zi]="meta"}}else{this[Vi]=undefined;t.ignore=t.ignore||!this.filter(t.path,t);if(t.ignore){this[es]("ignoredEntry",t);this[zi]=t.remain?"ignore":"header";t.resume()}else{if(t.remain){this[zi]="body"}else{this[zi]="header";t.end()}if(!this[Hi]){this[Xi].push(t);this[Gi]()}else{this[Xi].push(t)}}}}}}}[gs](){queueMicrotask((()=>this.emit("close")))}[Yi](t){let i=true;if(!t){this[Hi]=undefined;i=false}else if(Array.isArray(t)){const[i,...r]=t;this.emit(i,...r)}else{this[Hi]=t;this.emit("entry",t);if(!t.emittedEnd){t.on("end",(()=>this[Gi]()));i=false}}return i}[Gi](){do{}while(this[Yi](this[Xi].shift()));if(!this[Xi].length){const t=this[Hi];const i=!t||t.flowing||t.size===t.remain;if(i){if(!this[us]){this.emit("drain")}}else{t.once("drain",(()=>this.emit("drain")))}}}[ns](t,i){const r=this[Wi];if(!r){throw new Error("attempt to consume body without entry??")}const o=r.blockRemain??0;const a=o>=t.length&&i===0?t:t.subarray(i,i+o);r.write(a);if(!r.blockRemain){this[zi]="header";this[Wi]=undefined;r.end()}return a.length}[os](t,i){const r=this[Wi];const o=this[ns](t,i);if(!this[Wi]&&r){this[Ji](r)}return o}[es](t,i,r){if(!this[Xi].length&&!this[Hi]){this.emit(t,i,r)}else{this[Xi].push([t,i,r])}}[Ji](t){this[es]("meta",this[qi]);switch(t.type){case"ExtendedHeader":case"OldExtendedHeader":this[Vi]=Pax.parse(this[qi],this[Vi],false);break;case"GlobalExtendedHeader":this[Zi]=Pax.parse(this[qi],this[Zi],true);break;case"NextFileHasLongPath":case"OldGnuLongPath":{const t=this[Vi]??Object.create(null);this[Vi]=t;t.path=this[qi].replace(/\0.*/,"");break}case"NextFileHasLongLinkpath":{const t=this[Vi]||Object.create(null);this[Vi]=t;t.linkpath=this[qi].replace(/\0.*/,"");break}default:throw new Error("unknown meta: "+t.type)}}abort(t){this[fs]=true;this.emit("abort",t);this.warn("TAR_ABORT",t,{recoverable:false})}write(t,i,r){if(typeof i==="function"){r=i;i=undefined}if(typeof t==="string"){t=Buffer.from(t,typeof i==="string"?i:"utf8")}if(this[fs]){r?.();return false}const o=this[is]===undefined||this.brotli===undefined&&this[is]===false;if(o&&t){if(this[Ki]){t=Buffer.concat([this[Ki],t]);this[Ki]=undefined}if(t.length<Ui.length){this[Ki]=t;r?.();return true}for(let i=0;this[is]===undefined&&i<Ui.length;i++){if(t[i]!==Ui[i]){this[is]=false}}const i=this.brotli===undefined;if(this[is]===false&&i){if(t.length<512){if(this[Qi]){this.brotli=true}else{this[Ki]=t;r?.();return true}}else{try{new Header(t.subarray(0,512));this.brotli=false}catch(t){this.brotli=true}}}if(this[is]===undefined||this[is]===false&&this.brotli){const i=this[Qi];this[Qi]=false;this[is]=this[is]===undefined?new Unzip({}):new BrotliDecompress({});this[is].on("data",(t=>this[ss](t)));this[is].on("error",(t=>this.abort(t)));this[is].on("end",(()=>{this[Qi]=true;this[ss]()}));this[us]=true;const o=!!this[is][i?"end":"write"](t);this[us]=false;r?.();return o}}this[us]=true;if(this[is]){this[is].write(t)}else{this[ss](t)}this[us]=false;const a=this[Xi].length?false:this[Hi]?this[Hi].flowing:true;if(!a&&!this[Xi].length){this[Hi]?.once("drain",(()=>this.emit("drain")))}r?.();return a}[cs](t){if(t&&!this[fs]){this[Ki]=this[Ki]?Buffer.concat([this[Ki],t]):t}}[ls](){if(this[Qi]&&!this[ts]&&!this[fs]&&!this[hs]){this[ts]=true;const t=this[Wi];if(t&&t.blockRemain){const i=this[Ki]?this[Ki].length:0;this.warn("TAR_BAD_ARCHIVE",`Truncated input (needed ${t.blockRemain} more bytes, only ${i} available)`,{entry:t});if(this[Ki]){t.write(this[Ki])}t.end()}this[es](ds)}}[ss](t){if(this[hs]&&t){this[cs](t)}else if(!t&&!this[Ki]){this[ls]()}else if(t){this[hs]=true;if(this[Ki]){this[cs](t);const i=this[Ki];this[Ki]=undefined;this[rs](i)}else{this[rs](t)}while(this[Ki]&&this[Ki]?.length>=512&&!this[fs]&&!this[ys]){const t=this[Ki];this[Ki]=undefined;this[rs](t)}this[hs]=false}if(!this[Ki]||this[Qi]){this[ls]()}}[rs](t){let i=0;const r=t.length;while(i+512<=r&&!this[fs]&&!this[ys]){switch(this[zi]){case"begin":case"header":this[as](t,i);i+=512;break;case"ignore":case"body":i+=this[ns](t,i);break;case"meta":i+=this[os](t,i);break;default:throw new Error("invalid state: "+this[zi])}}if(i<r){if(this[Ki]){this[Ki]=Buffer.concat([t.subarray(i),this[Ki]])}else{this[Ki]=t.subarray(i)}}}end(t,i,r){if(typeof t==="function"){r=t;i=undefined;t=undefined}if(typeof i==="function"){r=i;i=undefined}if(typeof t==="string"){t=Buffer.from(t,i)}if(r)this.once("finish",r);if(!this[fs]){if(this[is]){if(t)this[is].write(t);this[is].end()}else{this[Qi]=true;if(this.brotli===undefined)t=t||Buffer.alloc(0);if(t)this.write(t);this[ls]()}}return this}}const stripTrailingSlashes=t=>{let i=t.length-1;let r=-1;while(i>-1&&t.charAt(i)==="/"){r=i;i--}return r===-1?t:t.slice(0,r)};const onReadEntryFunction=t=>{const i=t.onReadEntry;t.onReadEntry=i?t=>{i(t);t.resume()}:t=>t.resume()};const filesFilter=(t,i)=>{const r=new Map(i.map((t=>[stripTrailingSlashes(t),true])));const o=t.filter;const mapHas=(t,i="")=>{const o=i||(0,xi.parse)(t).root||".";let a;if(t===o)a=false;else{const i=r.get(t);if(i!==undefined){a=i}else{a=mapHas((0,xi.dirname)(t),o)}}r.set(t,a);return a};t.filter=o?(t,i)=>o(t,i)&&mapHas(stripTrailingSlashes(t)):t=>mapHas(stripTrailingSlashes(t))};const listFileSync=t=>{const r=new Parser(t);const o=t.file;let a;try{const h=i.statSync(o);const c=t.maxReadSize||16*1024*1024;if(h.size<c){r.end(i.readFileSync(o))}else{let t=0;const l=Buffer.allocUnsafe(c);a=i.openSync(o,"r");while(t<h.size){const o=i.readSync(a,l,0,c,t);t+=o;r.write(l.subarray(0,o))}r.end()}}finally{if(typeof a==="number"){try{i.closeSync(a)}catch(t){}}}};const listFile=(t,r)=>{const o=new Parser(t);const a=t.maxReadSize||16*1024*1024;const h=t.file;const c=new Promise(((t,r)=>{o.on("error",r);o.on("end",t);i.stat(h,((t,i)=>{if(t){r(t)}else{const t=new ReadStream(h,{readSize:a,size:i.size});t.on("error",r);t.pipe(o)}}))}));return c};const bs=makeCommand(listFileSync,listFile,(t=>new Parser(t)),(t=>new Parser(t)),((t,i)=>{if(i?.length)filesFilter(t,i);if(!t.noResume)onReadEntryFunction(t)}));const modeFix=(t,i,r)=>{t&=4095;if(r){t=(t|384)&~18}if(i){if(t&256){t|=64}if(t&32){t|=8}if(t&4){t|=1}}return t};const{isAbsolute:ws,parse:vs}=a.win32;const stripAbsolutePath=t=>{let i="";let r=vs(t);while(ws(t)||r.root){const o=t.charAt(0)==="/"&&t.slice(0,4)!=="//?/"?"/":r.root;t=t.slice(o.length);i+=o;r=vs(t)}return[i,t]};const Ss=["|","<",">","?",":"];const Es=Ss.map((t=>String.fromCharCode(61440+t.charCodeAt(0))));const _s=new Map(Ss.map(((t,i)=>[t,Es[i]])));const xs=new Map(Es.map(((t,i)=>[t,Ss[i]])));const winchars_encode=t=>Ss.reduce(((t,i)=>t.split(i).join(_s.get(i))),t);const decode=t=>Es.reduce(((t,i)=>t.split(i).join(xs.get(i))),t);const prefixPath=(t,i)=>{if(!i){return ji(t)}t=ji(t).replace(/^\.(\/|$)/,"");return stripTrailingSlashes(i)+"/"+t};const ks=16*1024*1024;const Os=Symbol("process");const Rs=Symbol("file");const Ts=Symbol("directory");const Ps=Symbol("symlink");const Ds=Symbol("hardlink");const As=Symbol("header");const Fs=Symbol("read");const Ms=Symbol("lstat");const Is=Symbol("onlstat");const Ls=Symbol("onread");const Cs=Symbol("onreadlink");const Ns=Symbol("openfile");const $s=Symbol("onopenfile");const js=Symbol("close");const Bs=Symbol("mode");const Us=Symbol("awaitDrain");const zs=Symbol("ondrain");const Ws=Symbol("prefix");class WriteEntry extends Minipass{path;portable;myuid=process.getuid&&process.getuid()||0;myuser=process.env.USER||"";maxReadSize;linkCache;statCache;preservePaths;cwd;strict;mtime;noPax;noMtime;prefix;fd;blockLen=0;blockRemain=0;buf;pos=0;remain=0;length=0;offset=0;win32;absolute;header;type;linkpath;stat;onWriteEntry;#f=false;constructor(t,i={}){const r=dealias(i);super();this.path=ji(t);this.portable=!!r.portable;this.maxReadSize=r.maxReadSize||ks;this.linkCache=r.linkCache||new Map;this.statCache=r.statCache||new Map;this.preservePaths=!!r.preservePaths;this.cwd=ji(r.cwd||process.cwd());this.strict=!!r.strict;this.noPax=!!r.noPax;this.noMtime=!!r.noMtime;this.mtime=r.mtime;this.prefix=r.prefix?ji(r.prefix):undefined;this.onWriteEntry=r.onWriteEntry;if(typeof r.onwarn==="function"){this.on("warn",r.onwarn)}let o=false;if(!this.preservePaths){const[t,i]=stripAbsolutePath(this.path);if(t&&typeof i==="string"){this.path=i;o=t}}this.win32=!!r.win32||process.platform==="win32";if(this.win32){this.path=decode(this.path.replace(/\\/g,"/"));t=t.replace(/\\/g,"/")}this.absolute=ji(r.absolute||xi.resolve(this.cwd,t));if(this.path===""){this.path="./"}if(o){this.warn("TAR_ENTRY_INFO",`stripping ${o} from absolute path`,{entry:this,path:o+this.path})}const a=this.statCache.get(this.absolute);if(a){this[Is](a)}else{this[Ms]()}}warn(t,i,r={}){return warnMethod(this,t,i,r)}emit(t,...i){if(t==="error"){this.#f=true}return super.emit(t,...i)}[Ms](){pe.lstat(this.absolute,((t,i)=>{if(t){return this.emit("error",t)}this[Is](i)}))}[Is](t){this.statCache.set(this.absolute,t);this.stat=t;if(!t.isFile()){t.size=0}this.type=getType(t);this.emit("stat",t);this[Os]()}[Os](){switch(this.type){case"File":return this[Rs]();case"Directory":return this[Ts]();case"SymbolicLink":return this[Ps]();default:return this.end()}}[Bs](t){return modeFix(t,this.type==="Directory",this.portable)}[Ws](t){return prefixPath(t,this.prefix)}[As](){if(!this.stat){throw new Error("cannot write header before stat")}if(this.type==="Directory"&&this.portable){this.noMtime=true}this.onWriteEntry?.(this);this.header=new Header({path:this[Ws](this.path),linkpath:this.type==="Link"&&this.linkpath!==undefined?this[Ws](this.linkpath):this.linkpath,mode:this[Bs](this.stat.mode),uid:this.portable?undefined:this.stat.uid,gid:this.portable?undefined:this.stat.gid,size:this.stat.size,mtime:this.noMtime?undefined:this.mtime||this.stat.mtime,type:this.type==="Unsupported"?undefined:this.type,uname:this.portable?undefined:this.stat.uid===this.myuid?this.myuser:"",atime:this.portable?undefined:this.stat.atime,ctime:this.portable?undefined:this.stat.ctime});if(this.header.encode()&&!this.noPax){super.write(new Pax({atime:this.portable?undefined:this.header.atime,ctime:this.portable?undefined:this.header.ctime,gid:this.portable?undefined:this.header.gid,mtime:this.noMtime?undefined:this.mtime||this.header.mtime,path:this[Ws](this.path),linkpath:this.type==="Link"&&this.linkpath!==undefined?this[Ws](this.linkpath):this.linkpath,size:this.header.size,uid:this.portable?undefined:this.header.uid,uname:this.portable?undefined:this.header.uname,dev:this.portable?undefined:this.stat.dev,ino:this.portable?undefined:this.stat.ino,nlink:this.portable?undefined:this.stat.nlink}).encode())}const t=this.header?.block;if(!t){throw new Error("failed to encode header")}super.write(t)}[Ts](){if(!this.stat){throw new Error("cannot create directory entry without stat")}if(this.path.slice(-1)!=="/"){this.path+="/"}this.stat.size=0;this[As]();this.end()}[Ps](){pe.readlink(this.absolute,((t,i)=>{if(t){return this.emit("error",t)}this[Cs](i)}))}[Cs](t){this.linkpath=ji(t);this[As]();this.end()}[Ds](t){if(!this.stat){throw new Error("cannot create link entry without stat")}this.type="Link";this.linkpath=ji(xi.relative(this.cwd,t));this.stat.size=0;this[As]();this.end()}[Rs](){if(!this.stat){throw new Error("cannot create file entry without stat")}if(this.stat.nlink>1){const t=`${this.stat.dev}:${this.stat.ino}`;const i=this.linkCache.get(t);if(i?.indexOf(this.cwd)===0){return this[Ds](i)}this.linkCache.set(t,this.absolute)}this[As]();if(this.stat.size===0){return this.end()}this[Ns]()}[Ns](){pe.open(this.absolute,"r",((t,i)=>{if(t){return this.emit("error",t)}this[$s](i)}))}[$s](t){this.fd=t;if(this.#f){return this[js]()}if(!this.stat){throw new Error("should stat before calling onopenfile")}this.blockLen=512*Math.ceil(this.stat.size/512);this.blockRemain=this.blockLen;const i=Math.min(this.blockLen,this.maxReadSize);this.buf=Buffer.allocUnsafe(i);this.offset=0;this.pos=0;this.remain=this.stat.size;this.length=this.buf.length;this[Fs]()}[Fs](){const{fd:t,buf:i,offset:r,length:o,pos:a}=this;if(t===undefined||i===undefined){throw new Error("cannot read file without first opening")}pe.read(t,i,r,o,a,((t,i)=>{if(t){return this[js]((()=>this.emit("error",t)))}this[Ls](i)}))}[js](t=(()=>{})){if(this.fd!==undefined)pe.close(this.fd,t)}[Ls](t){if(t<=0&&this.remain>0){const t=Object.assign(new Error("encountered unexpected EOF"),{path:this.absolute,syscall:"read",code:"EOF"});return this[js]((()=>this.emit("error",t)))}if(t>this.remain){const t=Object.assign(new Error("did not encounter expected EOF"),{path:this.absolute,syscall:"read",code:"EOF"});return this[js]((()=>this.emit("error",t)))}if(!this.buf){throw new Error("should have created buffer prior to reading")}if(t===this.remain){for(let i=t;i<this.length&&t<this.blockRemain;i++){this.buf[i+this.offset]=0;t++;this.remain++}}const i=this.offset===0&&t===this.buf.length?this.buf:this.buf.subarray(this.offset,this.offset+t);const r=this.write(i);if(!r){this[Us]((()=>this[zs]()))}else{this[zs]()}}[Us](t){this.once("drain",t)}write(t,i,r){if(typeof i==="function"){r=i;i=undefined}if(typeof t==="string"){t=Buffer.from(t,typeof i==="string"?i:"utf8")}if(this.blockRemain<t.length){const t=Object.assign(new Error("writing more data than expected"),{path:this.absolute});return this.emit("error",t)}this.remain-=t.length;this.blockRemain-=t.length;this.pos+=t.length;this.offset+=t.length;return super.write(t,null,r)}[zs](){if(!this.remain){if(this.blockRemain){super.write(Buffer.alloc(this.blockRemain))}return this[js]((t=>t?this.emit("error",t):this.end()))}if(!this.buf){throw new Error("buffer lost somehow in ONDRAIN")}if(this.offset>=this.length){this.buf=Buffer.allocUnsafe(Math.min(this.blockRemain,this.buf.length));this.offset=0}this.length=this.buf.length-this.offset;this[Fs]()}}class WriteEntrySync extends WriteEntry{sync=true;[Ms](){this[Is](pe.lstatSync(this.absolute))}[Ps](){this[Cs](pe.readlinkSync(this.absolute))}[Ns](){this[$s](pe.openSync(this.absolute,"r"))}[Fs](){let t=true;try{const{fd:i,buf:r,offset:o,length:a,pos:h}=this;if(i===undefined||r===undefined){throw new Error("fd and buf must be set in READ method")}const c=pe.readSync(i,r,o,a,h);this[Ls](c);t=false}finally{if(t){try{this[js]((()=>{}))}catch(t){}}}}[Us](t){t()}[js](t=(()=>{})){if(this.fd!==undefined)pe.closeSync(this.fd);t()}}class WriteEntryTar extends Minipass{blockLen=0;blockRemain=0;buf=0;pos=0;remain=0;length=0;preservePaths;portable;strict;noPax;noMtime;readEntry;type;prefix;path;mode;uid;gid;uname;gname;header;mtime;atime;ctime;linkpath;size;onWriteEntry;warn(t,i,r={}){return warnMethod(this,t,i,r)}constructor(t,i={}){const r=dealias(i);super();this.preservePaths=!!r.preservePaths;this.portable=!!r.portable;this.strict=!!r.strict;this.noPax=!!r.noPax;this.noMtime=!!r.noMtime;this.onWriteEntry=r.onWriteEntry;this.readEntry=t;const{type:o}=t;if(o==="Unsupported"){throw new Error("writing entry that should be ignored")}this.type=o;if(this.type==="Directory"&&this.portable){this.noMtime=true}this.prefix=r.prefix;this.path=ji(t.path);this.mode=t.mode!==undefined?this[Bs](t.mode):undefined;this.uid=this.portable?undefined:t.uid;this.gid=this.portable?undefined:t.gid;this.uname=this.portable?undefined:t.uname;this.gname=this.portable?undefined:t.gname;this.size=t.size;this.mtime=this.noMtime?undefined:r.mtime||t.mtime;this.atime=this.portable?undefined:t.atime;this.ctime=this.portable?undefined:t.ctime;this.linkpath=t.linkpath!==undefined?ji(t.linkpath):undefined;if(typeof r.onwarn==="function"){this.on("warn",r.onwarn)}let a=false;if(!this.preservePaths){const[t,i]=stripAbsolutePath(this.path);if(t&&typeof i==="string"){this.path=i;a=t}}this.remain=t.size;this.blockRemain=t.startBlockSize;this.onWriteEntry?.(this);this.header=new Header({path:this[Ws](this.path),linkpath:this.type==="Link"&&this.linkpath!==undefined?this[Ws](this.linkpath):this.linkpath,mode:this.mode,uid:this.portable?undefined:this.uid,gid:this.portable?undefined:this.gid,size:this.size,mtime:this.noMtime?undefined:this.mtime,type:this.type,uname:this.portable?undefined:this.uname,atime:this.portable?undefined:this.atime,ctime:this.portable?undefined:this.ctime});if(a){this.warn("TAR_ENTRY_INFO",`stripping ${a} from absolute path`,{entry:this,path:a+this.path})}if(this.header.encode()&&!this.noPax){super.write(new Pax({atime:this.portable?undefined:this.atime,ctime:this.portable?undefined:this.ctime,gid:this.portable?undefined:this.gid,mtime:this.noMtime?undefined:this.mtime,path:this[Ws](this.path),linkpath:this.type==="Link"&&this.linkpath!==undefined?this[Ws](this.linkpath):this.linkpath,size:this.size,uid:this.portable?undefined:this.uid,uname:this.portable?undefined:this.uname,dev:this.portable?undefined:this.readEntry.dev,ino:this.portable?undefined:this.readEntry.ino,nlink:this.portable?undefined:this.readEntry.nlink}).encode())}const h=this.header?.block;if(!h)throw new Error("failed to encode header");super.write(h);t.pipe(this)}[Ws](t){return prefixPath(t,this.prefix)}[Bs](t){return modeFix(t,this.type==="Directory",this.portable)}write(t,i,r){if(typeof i==="function"){r=i;i=undefined}if(typeof t==="string"){t=Buffer.from(t,typeof i==="string"?i:"utf8")}const o=t.length;if(o>this.blockRemain){throw new Error("writing more to entry than is appropriate")}this.blockRemain-=o;return super.write(t,r)}end(t,i,r){if(this.blockRemain){super.write(Buffer.alloc(this.blockRemain))}if(typeof t==="function"){r=t;i=undefined;t=undefined}if(typeof i==="function"){r=i;i=undefined}if(typeof t==="string"){t=Buffer.from(t,i??"utf8")}if(r)this.once("finish",r);t?super.end(t,r):super.end(r);return this}}const getType=t=>t.isFile()?"File":t.isDirectory()?"Directory":t.isSymbolicLink()?"SymbolicLink":"Unsupported";class PackJob{path;absolute;entry;stat;readdir;pending=false;ignore=false;piped=false;constructor(t,i){this.path=t||"./";this.absolute=i}}const Hs=Buffer.alloc(1024);const Gs=Symbol("onStat");const Ys=Symbol("ended");const Vs=Symbol("queue");const Zs=Symbol("current");const qs=Symbol("process");const Js=Symbol("processing");const Ks=Symbol("processJob");const Xs=Symbol("jobs");const Qs=Symbol("jobDone");const tr=Symbol("addFSEntry");const er=Symbol("addTarEntry");const ir=Symbol("stat");const sr=Symbol("readdir");const rr=Symbol("onreaddir");const nr=Symbol("pipe");const or=Symbol("entry");const ar=Symbol("entryOpt");const hr=Symbol("writeEntryClass");const cr=Symbol("write");const lr=Symbol("ondrain");class Pack extends Minipass{opt;cwd;maxReadSize;preservePaths;strict;noPax;prefix;linkCache;statCache;file;portable;zip;readdirCache;noDirRecurse;follow;noMtime;mtime;filter;jobs;[hr];onWriteEntry;[Vs];[Xs]=0;[Js]=false;[Ys]=false;constructor(t={}){super();this.opt=t;this.file=t.file||"";this.cwd=t.cwd||process.cwd();this.maxReadSize=t.maxReadSize;this.preservePaths=!!t.preservePaths;this.strict=!!t.strict;this.noPax=!!t.noPax;this.prefix=ji(t.prefix||"");this.linkCache=t.linkCache||new Map;this.statCache=t.statCache||new Map;this.readdirCache=t.readdirCache||new Map;this.onWriteEntry=t.onWriteEntry;this[hr]=WriteEntry;if(typeof t.onwarn==="function"){this.on("warn",t.onwarn)}this.portable=!!t.portable;if(t.gzip||t.brotli){if(t.gzip&&t.brotli){throw new TypeError("gzip and brotli are mutually exclusive")}if(t.gzip){if(typeof t.gzip!=="object"){t.gzip={}}if(this.portable){t.gzip.portable=true}this.zip=new Gzip(t.gzip)}if(t.brotli){if(typeof t.brotli!=="object"){t.brotli={}}this.zip=new BrotliCompress(t.brotli)}if(!this.zip)throw new Error("impossible");const i=this.zip;i.on("data",(t=>super.write(t)));i.on("end",(()=>super.end()));i.on("drain",(()=>this[lr]()));this.on("resume",(()=>i.resume()))}else{this.on("drain",this[lr])}this.noDirRecurse=!!t.noDirRecurse;this.follow=!!t.follow;this.noMtime=!!t.noMtime;if(t.mtime)this.mtime=t.mtime;this.filter=typeof t.filter==="function"?t.filter:()=>true;this[Vs]=new Yallist;this[Xs]=0;this.jobs=Number(t.jobs)||4;this[Js]=false;this[Ys]=false}[cr](t){return super.write(t)}add(t){this.write(t);return this}end(t,i,r){if(typeof t==="function"){r=t;t=undefined}if(typeof i==="function"){r=i;i=undefined}if(t){this.add(t)}this[Ys]=true;this[qs]();if(r)r();return this}write(t){if(this[Ys]){throw new Error("write after end")}if(t instanceof ReadEntry){this[er](t)}else{this[tr](t)}return this.flowing}[er](t){const i=ji(xi.resolve(this.cwd,t.path));if(!this.filter(t.path,t)){t.resume()}else{const r=new PackJob(t.path,i);r.entry=new WriteEntryTar(t,this[ar](r));r.entry.on("end",(()=>this[Qs](r)));this[Xs]+=1;this[Vs].push(r)}this[qs]()}[tr](t){const i=ji(xi.resolve(this.cwd,t));this[Vs].push(new PackJob(t,i));this[qs]()}[ir](t){t.pending=true;this[Xs]+=1;const i=this.follow?"stat":"lstat";pe[i](t.absolute,((i,r)=>{t.pending=false;this[Xs]-=1;if(i){this.emit("error",i)}else{this[Gs](t,r)}}))}[Gs](t,i){this.statCache.set(t.absolute,i);t.stat=i;if(!this.filter(t.path,i)){t.ignore=true}this[qs]()}[sr](t){t.pending=true;this[Xs]+=1;pe.readdir(t.absolute,((i,r)=>{t.pending=false;this[Xs]-=1;if(i){return this.emit("error",i)}this[rr](t,r)}))}[rr](t,i){this.readdirCache.set(t.absolute,i);t.readdir=i;this[qs]()}[qs](){if(this[Js]){return}this[Js]=true;for(let t=this[Vs].head;!!t&&this[Xs]<this.jobs;t=t.next){this[Ks](t.value);if(t.value.ignore){const i=t.next;this[Vs].removeNode(t);t.next=i}}this[Js]=false;if(this[Ys]&&!this[Vs].length&&this[Xs]===0){if(this.zip){this.zip.end(Hs)}else{super.write(Hs);super.end()}}}get[Zs](){return this[Vs]&&this[Vs].head&&this[Vs].head.value}[Qs](t){this[Vs].shift();this[Xs]-=1;this[qs]()}[Ks](t){if(t.pending){return}if(t.entry){if(t===this[Zs]&&!t.piped){this[nr](t)}return}if(!t.stat){const i=this.statCache.get(t.absolute);if(i){this[Gs](t,i)}else{this[ir](t)}}if(!t.stat){return}if(t.ignore){return}if(!this.noDirRecurse&&t.stat.isDirectory()&&!t.readdir){const i=this.readdirCache.get(t.absolute);if(i){this[rr](t,i)}else{this[sr](t)}if(!t.readdir){return}}t.entry=this[or](t);if(!t.entry){t.ignore=true;return}if(t===this[Zs]&&!t.piped){this[nr](t)}}[ar](t){return{onwarn:(t,i,r)=>this.warn(t,i,r),noPax:this.noPax,cwd:this.cwd,absolute:t.absolute,preservePaths:this.preservePaths,maxReadSize:this.maxReadSize,strict:this.strict,portable:this.portable,linkCache:this.linkCache,statCache:this.statCache,noMtime:this.noMtime,mtime:this.mtime,prefix:this.prefix,onWriteEntry:this.onWriteEntry}}[or](t){this[Xs]+=1;try{const i=new this[hr](t.path,this[ar](t));return i.on("end",(()=>this[Qs](t))).on("error",(t=>this.emit("error",t)))}catch(t){this.emit("error",t)}}[lr](){if(this[Zs]&&this[Zs].entry){this[Zs].entry.resume()}}[nr](t){t.piped=true;if(t.readdir){t.readdir.forEach((i=>{const r=t.path;const o=r==="./"?"":r.replace(/\/*$/,"/");this[tr](o+i)}))}const i=t.entry;const r=this.zip;if(!i)throw new Error("cannot pipe without source");if(r){i.on("data",(t=>{if(!r.write(t)){i.pause()}}))}else{i.on("data",(t=>{if(!super.write(t)){i.pause()}}))}}pause(){if(this.zip){this.zip.pause()}return super.pause()}warn(t,i,r={}){warnMethod(this,t,i,r)}}class PackSync extends Pack{sync=true;constructor(t){super(t);this[hr]=WriteEntrySync}pause(){}resume(){}[ir](t){const i=this.follow?"statSync":"lstatSync";this[Gs](t,pe[i](t.absolute))}[sr](t){this[rr](t,pe.readdirSync(t.absolute))}[nr](t){const i=t.entry;const r=this.zip;if(t.readdir){t.readdir.forEach((i=>{const r=t.path;const o=r==="./"?"":r.replace(/\/*$/,"/");this[tr](o+i)}))}if(!i)throw new Error("Cannot pipe without source");if(r){i.on("data",(t=>{r.write(t)}))}else{i.on("data",(t=>{super[cr](t)}))}}}const create_createFileSync=(t,i)=>{const r=new PackSync(t);const o=new WriteStreamSync(t.file,{mode:t.mode||438});r.pipe(o);addFilesSync(r,i)};const create_createFile=(t,i)=>{const r=new Pack(t);const o=new WriteStream(t.file,{mode:t.mode||438});r.pipe(o);const a=new Promise(((t,i)=>{o.on("error",i);o.on("close",t);r.on("error",i)}));addFilesAsync(r,i);return a};const addFilesSync=(t,i)=>{i.forEach((i=>{if(i.charAt(0)==="@"){bs({file:a.resolve(t.cwd,i.slice(1)),sync:true,noResume:true,onReadEntry:i=>t.add(i)})}else{t.add(i)}}));t.end()};const addFilesAsync=async(t,i)=>{for(let r=0;r<i.length;r++){const o=String(i[r]);if(o.charAt(0)==="@"){await bs({file:a.resolve(String(t.cwd),o.slice(1)),noResume:true,onReadEntry:i=>{t.add(i)}})}else{t.add(o)}}t.end()};const createSync=(t,i)=>{const r=new PackSync(t);addFilesSync(r,i);return r};const createAsync=(t,i)=>{const r=new Pack(t);addFilesAsync(r,i);return r};const ur=makeCommand(create_createFileSync,create_createFile,createSync,createAsync,((t,i)=>{if(!i?.length){throw new TypeError("no paths specified to add to archive")}}));const fr=t(import.meta.url)("node:assert");const dr=t(import.meta.url)("node:crypto");const pr=process.env.__FAKE_PLATFORM__||process.platform;const mr=pr==="win32";const{O_CREAT:yr,O_TRUNC:gr,O_WRONLY:br}=pe.constants;const wr=Number(process.env.__FAKE_FS_O_FILENAME__)||pe.constants.UV_FS_O_FILEMAP||0;const vr=mr&&!!wr;const Sr=512*1024;const Er=wr|gr|yr|br;const _r=!vr?()=>"w":t=>t<Sr?Er:"w";const lchownSync=(t,r,o)=>{try{return i.lchownSync(t,r,o)}catch(t){if(t?.code!=="ENOENT")throw t}};const chown=(t,r,o,a)=>{i.lchown(t,r,o,(t=>{a(t&&t?.code!=="ENOENT"?t:null)}))};const chownrKid=(t,i,r,o,h)=>{if(i.isDirectory()){chownr(a.resolve(t,i.name),r,o,(c=>{if(c)return h(c);const l=a.resolve(t,i.name);chown(l,r,o,h)}))}else{const c=a.resolve(t,i.name);chown(c,r,o,h)}};const chownr=(t,r,o,a)=>{i.readdir(t,{withFileTypes:true},((i,h)=>{if(i){if(i.code==="ENOENT")return a();else if(i.code!=="ENOTDIR"&&i.code!=="ENOTSUP")return a(i)}if(i||!h.length)return chown(t,r,o,a);let c=h.length;let l=null;const then=i=>{if(l)return;if(i)return a(l=i);if(--c===0)return chown(t,r,o,a)};for(const i of h){chownrKid(t,i,r,o,then)}}))};const chownrKidSync=(t,i,r,o)=>{if(i.isDirectory())chownrSync(a.resolve(t,i.name),r,o);lchownSync(a.resolve(t,i.name),r,o)};const chownrSync=(t,r,o)=>{let a;try{a=i.readdirSync(t,{withFileTypes:true})}catch(i){const a=i;if(a?.code==="ENOENT")return;else if(a?.code==="ENOTDIR"||a?.code==="ENOTSUP")return lchownSync(t,r,o);else throw a}for(const i of a){chownrKidSync(t,i,r,o)}return lchownSync(t,r,o)};const optsArg=t=>{if(!t){t={mode:511}}else if(typeof t==="object"){t={mode:511,...t}}else if(typeof t==="number"){t={mode:t}}else if(typeof t==="string"){t={mode:parseInt(t,8)}}else{throw new TypeError("invalid options argument")}const i=t;const r=t.fs||{};t.mkdir=t.mkdir||r.mkdir||pe.mkdir;t.mkdirAsync=t.mkdirAsync?t.mkdirAsync:async(t,r)=>new Promise(((o,a)=>i.mkdir(t,r,((t,i)=>t?a(t):o(i)))));t.stat=t.stat||r.stat||pe.stat;t.statAsync=t.statAsync?t.statAsync:async t=>new Promise(((r,o)=>i.stat(t,((t,i)=>t?o(t):r(i)))));t.statSync=t.statSync||r.statSync||pe.statSync;t.mkdirSync=t.mkdirSync||r.mkdirSync||pe.mkdirSync;return i};const mkdirp_manual_mkdirpManualSync=(t,i,r)=>{const o=(0,xi.dirname)(t);const a={...optsArg(i),recursive:false};if(o===t){try{return a.mkdirSync(t,a)}catch(t){const i=t;if(i&&i.code!=="EISDIR"){throw t}return}}try{a.mkdirSync(t,a);return r||t}catch(i){const h=i;if(h&&h.code==="ENOENT"){return mkdirp_manual_mkdirpManualSync(t,a,mkdirp_manual_mkdirpManualSync(o,a,r))}if(h&&h.code!=="EEXIST"&&h&&h.code!=="EROFS"){throw i}try{if(!a.statSync(t).isDirectory())throw i}catch(t){throw i}}};const xr=Object.assign((async(t,i,r)=>{const o=optsArg(i);o.recursive=false;const a=(0,xi.dirname)(t);if(a===t){return o.mkdirAsync(t,o).catch((t=>{const i=t;if(i&&i.code!=="EISDIR"){throw t}}))}return o.mkdirAsync(t,o).then((()=>r||t),(async i=>{const h=i;if(h&&h.code==="ENOENT"){return xr(a,o).then((i=>xr(t,o,i)))}if(h&&h.code!=="EEXIST"&&h.code!=="EROFS"){throw i}return o.statAsync(t).then((t=>{if(t.isDirectory()){return r}else{throw i}}),(()=>{throw i}))}))}),{sync:mkdirp_manual_mkdirpManualSync});const findMade=async(t,i,r)=>{if(r===i){return}return t.statAsync(i).then((t=>t.isDirectory()?r:undefined),(r=>{const o=r;return o&&o.code==="ENOENT"?findMade(t,(0,xi.dirname)(i),i):undefined}))};const findMadeSync=(t,i,r)=>{if(r===i){return undefined}try{return t.statSync(i).isDirectory()?r:undefined}catch(r){const o=r;return o&&o.code==="ENOENT"?findMadeSync(t,(0,xi.dirname)(i),i):undefined}};const mkdirp_native_mkdirpNativeSync=(t,i)=>{const r=optsArg(i);r.recursive=true;const o=(0,xi.dirname)(t);if(o===t){return r.mkdirSync(t,r)}const a=findMadeSync(r,t);try{r.mkdirSync(t,r);return a}catch(i){const o=i;if(o&&o.code==="ENOENT"){return mkdirp_manual_mkdirpManualSync(t,r)}else{throw i}}};const kr=Object.assign((async(t,i)=>{const r={...optsArg(i),recursive:true};const o=(0,xi.dirname)(t);if(o===t){return await r.mkdirAsync(t,r)}return findMade(r,t).then((i=>r.mkdirAsync(t,r).then((t=>i||t)).catch((i=>{const o=i;if(o&&o.code==="ENOENT"){return xr(t,r)}else{throw i}}))))}),{sync:mkdirp_native_mkdirpNativeSync});const Or=process.env.__TESTING_MKDIRP_PLATFORM__||process.platform;const pathArg=t=>{if(/\0/.test(t)){throw Object.assign(new TypeError("path must be a string without null bytes"),{path:t,code:"ERR_INVALID_ARG_VALUE"})}t=(0,xi.resolve)(t);if(Or==="win32"){const i=/[*|"<>?:]/;const{root:r}=(0,xi.parse)(t);if(i.test(t.substring(r.length))){throw Object.assign(new Error("Illegal characters in path."),{path:t,code:"EINVAL"})}}return t};const Rr=process.env.__TESTING_MKDIRP_NODE_VERSION__||process.version;const Tr=Rr.replace(/^v/,"").split(".");const Pr=+Tr[0]>10||+Tr[0]===10&&+Tr[1]>=12;const Dr=!Pr?()=>false:t=>optsArg(t).mkdirSync===pe.mkdirSync;const Ar=Object.assign(!Pr?()=>false:t=>optsArg(t).mkdir===pe.mkdir,{sync:Dr});const mjs_mkdirpSync=(t,i)=>{t=pathArg(t);const r=optsArg(i);return Dr(r)?mkdirp_native_mkdirpNativeSync(t,r):mkdirp_manual_mkdirpManualSync(t,r)};const Fr=null&&mjs_mkdirpSync;const Mr=null&&mkdirpManual;const Ir=null&&mkdirpManualSync;const Lr=null&&mkdirpNative;const Cr=null&&mkdirpNativeSync;const Nr=Object.assign((async(t,i)=>{t=pathArg(t);const r=optsArg(i);return Ar(r)?kr(t,r):xr(t,r)}),{mkdirpSync:mjs_mkdirpSync,mkdirpNative:kr,mkdirpNativeSync:mkdirp_native_mkdirpNativeSync,mkdirpManual:xr,mkdirpManualSync:mkdirp_manual_mkdirpManualSync,sync:mjs_mkdirpSync,native:kr,nativeSync:mkdirp_native_mkdirpNativeSync,manual:xr,manualSync:mkdirp_manual_mkdirpManualSync,useNative:Ar,useNativeSync:Dr});class CwdError extends Error{path;code;syscall="chdir";constructor(t,i){super(`${i}: Cannot cd into '${t}'`);this.path=t;this.code=i}get name(){return"CwdError"}}class SymlinkError extends Error{path;symlink;syscall="symlink";code="TAR_SYMLINK_ERROR";constructor(t,i){super("TAR_SYMLINK_ERROR: Cannot extract through symbolic link");this.symlink=t;this.path=i}get name(){return"SymlinkError"}}const cGet=(t,i)=>t.get(ji(i));const cSet=(t,i,r)=>t.set(ji(i),r);const checkCwd=(t,i)=>{pe.stat(t,((r,o)=>{if(r||!o.isDirectory()){r=new CwdError(t,r?.code||"ENOTDIR")}i(r)}))};const mkdir=(t,i,r)=>{t=ji(t);const o=i.umask??18;const h=i.mode|448;const c=(h&o)!==0;const l=i.uid;const u=i.gid;const d=typeof l==="number"&&typeof u==="number"&&(l!==i.processUid||u!==i.processGid);const p=i.preserve;const m=i.unlink;const y=i.cache;const g=ji(i.cwd);const done=(i,o)=>{if(i){r(i)}else{cSet(y,t,true);if(o&&d){chownr(o,l,u,(t=>done(t)))}else if(c){pe.chmod(t,h,r)}else{r()}}};if(y&&cGet(y,t)===true){return done()}if(t===g){return checkCwd(t,done)}if(p){return Nr(t,{mode:h}).then((t=>done(null,t??undefined)),done)}const b=ji(a.relative(g,t));const w=b.split("/");mkdir_(g,w,h,y,m,g,undefined,done)};const mkdir_=(t,i,r,o,h,c,l,u)=>{if(!i.length){return u(null,l)}const d=i.shift();const p=ji(a.resolve(t+"/"+d));if(cGet(o,p)){return mkdir_(p,i,r,o,h,c,l,u)}pe.mkdir(p,r,onmkdir(p,i,r,o,h,c,l,u))};const onmkdir=(t,i,r,o,a,h,c,l)=>u=>{if(u){pe.lstat(t,((d,p)=>{if(d){d.path=d.path&&ji(d.path);l(d)}else if(p.isDirectory()){mkdir_(t,i,r,o,a,h,c,l)}else if(a){pe.unlink(t,(u=>{if(u){return l(u)}pe.mkdir(t,r,onmkdir(t,i,r,o,a,h,c,l))}))}else if(p.isSymbolicLink()){return l(new SymlinkError(t,t+"/"+i.join("/")))}else{l(u)}}))}else{c=c||t;mkdir_(t,i,r,o,a,h,c,l)}};const checkCwdSync=t=>{let i=false;let r=undefined;try{i=pe.statSync(t).isDirectory()}catch(t){r=t?.code}finally{if(!i){throw new CwdError(t,r??"ENOTDIR")}}};const mkdirSync=(t,i)=>{t=ji(t);const r=i.umask??18;const o=i.mode|448;const h=(o&r)!==0;const c=i.uid;const l=i.gid;const u=typeof c==="number"&&typeof l==="number"&&(c!==i.processUid||l!==i.processGid);const d=i.preserve;const p=i.unlink;const m=i.cache;const y=ji(i.cwd);const done=i=>{cSet(m,t,true);if(i&&u){chownrSync(i,c,l)}if(h){pe.chmodSync(t,o)}};if(m&&cGet(m,t)===true){return done()}if(t===y){checkCwdSync(y);return done()}if(d){return done(mjs_mkdirpSync(t,o)??undefined)}const g=ji(a.relative(y,t));const b=g.split("/");let w=undefined;for(let t=b.shift(),i=y;t&&(i+="/"+t);t=b.shift()){i=ji(a.resolve(i));if(cGet(m,i)){continue}try{pe.mkdirSync(i,o);w=w||i;cSet(m,i,true)}catch(t){const r=pe.lstatSync(i);if(r.isDirectory()){cSet(m,i,true);continue}else if(p){pe.unlinkSync(i);pe.mkdirSync(i,o);w=w||i;cSet(m,i,true);continue}else if(r.isSymbolicLink()){return new SymlinkError(i,i+"/"+b.join("/"))}}}return done(w)};const $r=Object.create(null);const{hasOwnProperty:jr}=Object.prototype;const normalizeUnicode=t=>{if(!jr.call($r,t)){$r[t]=t.normalize("NFD")}return $r[t]};const Br=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform;const Ur=Br==="win32";const getDirs=t=>{const i=t.split("/").slice(0,-1).reduce(((t,i)=>{const r=t[t.length-1];if(r!==undefined){i=(0,a.join)(r,i)}t.push(i||"/");return t}),[]);return i};class PathReservations{#d=new Map;#p=new Map;#m=new Set;reserve(t,i){t=Ur?["win32 parallelization disabled"]:t.map((t=>stripTrailingSlashes((0,a.join)(normalizeUnicode(t))).toLowerCase()));const r=new Set(t.map((t=>getDirs(t))).reduce(((t,i)=>t.concat(i))));this.#p.set(i,{dirs:r,paths:t});for(const r of t){const t=this.#d.get(r);if(!t){this.#d.set(r,[i])}else{t.push(i)}}for(const t of r){const r=this.#d.get(t);if(!r){this.#d.set(t,[new Set([i])])}else{const t=r[r.length-1];if(t instanceof Set){t.add(i)}else{r.push(new Set([i]))}}}return this.#y(i)}#g(t){const i=this.#p.get(t);if(!i){throw new Error("function does not have any path reservations")}return{paths:i.paths.map((t=>this.#d.get(t))),dirs:[...i.dirs].map((t=>this.#d.get(t)))}}check(t){const{paths:i,dirs:r}=this.#g(t);return i.every((i=>i&&i[0]===t))&&r.every((i=>i&&i[0]instanceof Set&&i[0].has(t)))}#y(t){if(this.#m.has(t)||!this.check(t)){return false}this.#m.add(t);t((()=>this.#b(t)));return true}#b(t){if(!this.#m.has(t)){return false}const i=this.#p.get(t);if(!i){throw new Error("invalid reservation")}const{paths:r,dirs:o}=i;const a=new Set;for(const i of r){const r=this.#d.get(i);if(!r||r?.[0]!==t){continue}const o=r[1];if(!o){this.#d.delete(i);continue}r.shift();if(typeof o==="function"){a.add(o)}else{for(const t of o){a.add(t)}}}for(const i of o){const r=this.#d.get(i);const o=r?.[0];if(!r||!(o instanceof Set))continue;if(o.size===1&&r.length===1){this.#d.delete(i);continue}else if(o.size===1){r.shift();const t=r[0];if(typeof t==="function"){a.add(t)}}else{o.delete(t)}}this.#m.delete(t);a.forEach((t=>this.#y(t)));return true}}const zr=Symbol("onEntry");const Wr=Symbol("checkFs");const Hr=Symbol("checkFs2");const Gr=Symbol("pruneCache");const Yr=Symbol("isReusable");const Vr=Symbol("makeFs");const Zr=Symbol("file");const qr=Symbol("directory");const Jr=Symbol("link");const Kr=Symbol("symlink");const Xr=Symbol("hardlink");const Qr=Symbol("unsupported");const tn=Symbol("checkPath");const en=Symbol("mkdir");const sn=Symbol("onError");const rn=Symbol("pending");const nn=Symbol("pend");const on=Symbol("unpend");const an=Symbol("ended");const hn=Symbol("maybeClose");const cn=Symbol("skip");const ln=Symbol("doChown");const un=Symbol("uid");const fn=Symbol("gid");const dn=Symbol("checkedCwd");const pn=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform;const mn=pn==="win32";const yn=1024;const unlinkFile=(t,r)=>{if(!mn){return i.unlink(t,r)}const o=t+".DELETE."+(0,dr.randomBytes)(16).toString("hex");i.rename(t,o,(t=>{if(t){return r(t)}i.unlink(o,r)}))};const unlinkFileSync=t=>{if(!mn){return i.unlinkSync(t)}const r=t+".DELETE."+(0,dr.randomBytes)(16).toString("hex");i.renameSync(t,r);i.unlinkSync(r)};const uint32=(t,i,r)=>t!==undefined&&t===t>>>0?t:i!==undefined&&i===i>>>0?i:r;const cacheKeyNormalize=t=>stripTrailingSlashes(ji(normalizeUnicode(t))).toLowerCase();const pruneCache=(t,i)=>{i=cacheKeyNormalize(i);for(const r of t.keys()){const o=cacheKeyNormalize(r);if(o===i||o.indexOf(i+"/")===0){t.delete(r)}}};const dropCache=t=>{for(const i of t.keys()){t.delete(i)}};class Unpack extends Parser{[an]=false;[dn]=false;[rn]=0;reservations=new PathReservations;transform;writable=true;readable=false;dirCache;uid;gid;setOwner;preserveOwner;processGid;processUid;maxDepth;forceChown;win32;newer;keep;noMtime;preservePaths;unlink;cwd;strip;processUmask;umask;dmode;fmode;chmod;constructor(t={}){t.ondone=()=>{this[an]=true;this[hn]()};super(t);this.transform=t.transform;this.dirCache=t.dirCache||new Map;this.chmod=!!t.chmod;if(typeof t.uid==="number"||typeof t.gid==="number"){if(typeof t.uid!=="number"||typeof t.gid!=="number"){throw new TypeError("cannot set owner without number uid and gid")}if(t.preserveOwner){throw new TypeError("cannot preserve owner in archive and also set owner explicitly")}this.uid=t.uid;this.gid=t.gid;this.setOwner=true}else{this.uid=undefined;this.gid=undefined;this.setOwner=false}if(t.preserveOwner===undefined&&typeof t.uid!=="number"){this.preserveOwner=!!(process.getuid&&process.getuid()===0)}else{this.preserveOwner=!!t.preserveOwner}this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():undefined;this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():undefined;this.maxDepth=typeof t.maxDepth==="number"?t.maxDepth:yn;this.forceChown=t.forceChown===true;this.win32=!!t.win32||mn;this.newer=!!t.newer;this.keep=!!t.keep;this.noMtime=!!t.noMtime;this.preservePaths=!!t.preservePaths;this.unlink=!!t.unlink;this.cwd=ji(a.resolve(t.cwd||process.cwd()));this.strip=Number(t.strip)||0;this.processUmask=!this.chmod?0:typeof t.processUmask==="number"?t.processUmask:process.umask();this.umask=typeof t.umask==="number"?t.umask:this.processUmask;this.dmode=t.dmode||511&~this.umask;this.fmode=t.fmode||438&~this.umask;this.on("entry",(t=>this[zr](t)))}warn(t,i,r={}){if(t==="TAR_BAD_ARCHIVE"||t==="TAR_ABORT"){r.recoverable=false}return super.warn(t,i,r)}[hn](){if(this[an]&&this[rn]===0){this.emit("prefinish");this.emit("finish");this.emit("end")}}[tn](t){const i=ji(t.path);const r=i.split("/");if(this.strip){if(r.length<this.strip){return false}if(t.type==="Link"){const i=ji(String(t.linkpath)).split("/");if(i.length>=this.strip){t.linkpath=i.slice(this.strip).join("/")}else{return false}}r.splice(0,this.strip);t.path=r.join("/")}if(isFinite(this.maxDepth)&&r.length>this.maxDepth){this.warn("TAR_ENTRY_ERROR","path excessively deep",{entry:t,path:i,depth:r.length,maxDepth:this.maxDepth});return false}if(!this.preservePaths){if(r.includes("..")||mn&&/^[a-z]:\.\.$/i.test(r[0]??"")){this.warn("TAR_ENTRY_ERROR",`path contains '..'`,{entry:t,path:i});return false}const[o,a]=stripAbsolutePath(i);if(o){t.path=String(a);this.warn("TAR_ENTRY_INFO",`stripping ${o} from absolute path`,{entry:t,path:i})}}if(a.isAbsolute(t.path)){t.absolute=ji(a.resolve(t.path))}else{t.absolute=ji(a.resolve(this.cwd,t.path))}if(!this.preservePaths&&typeof t.absolute==="string"&&t.absolute.indexOf(this.cwd+"/")!==0&&t.absolute!==this.cwd){this.warn("TAR_ENTRY_ERROR","path escaped extraction target",{entry:t,path:ji(t.path),resolvedPath:t.absolute,cwd:this.cwd});return false}if(t.absolute===this.cwd&&t.type!=="Directory"&&t.type!=="GNUDumpDir"){return false}if(this.win32){const{root:i}=a.win32.parse(String(t.absolute));t.absolute=i+winchars_encode(String(t.absolute).slice(i.length));const{root:r}=a.win32.parse(t.path);t.path=r+winchars_encode(t.path.slice(r.length))}return true}[zr](t){if(!this[tn](t)){return t.resume()}fr.equal(typeof t.absolute,"string");switch(t.type){case"Directory":case"GNUDumpDir":if(t.mode){t.mode=t.mode|448}case"File":case"OldFile":case"ContiguousFile":case"Link":case"SymbolicLink":return this[Wr](t);case"CharacterDevice":case"BlockDevice":case"FIFO":default:return this[Qr](t)}}[sn](t,i){if(t.name==="CwdError"){this.emit("error",t)}else{this.warn("TAR_ENTRY_ERROR",t,{entry:i});this[on]();i.resume()}}[en](t,i,r){mkdir(ji(t),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:i},r)}[ln](t){return this.forceChown||this.preserveOwner&&(typeof t.uid==="number"&&t.uid!==this.processUid||typeof t.gid==="number"&&t.gid!==this.processGid)||typeof this.uid==="number"&&this.uid!==this.processUid||typeof this.gid==="number"&&this.gid!==this.processGid}[un](t){return uint32(this.uid,t.uid,this.processUid)}[fn](t){return uint32(this.gid,t.gid,this.processGid)}[Zr](t,r){const o=typeof t.mode==="number"?t.mode&4095:this.fmode;const a=new WriteStream(String(t.absolute),{flags:_r(t.size),mode:o,autoClose:false});a.on("error",(o=>{if(a.fd){i.close(a.fd,(()=>{}))}a.write=()=>true;this[sn](o,t);r()}));let h=1;const done=o=>{if(o){if(a.fd){i.close(a.fd,(()=>{}))}this[sn](o,t);r();return}if(--h===0){if(a.fd!==undefined){i.close(a.fd,(i=>{if(i){this[sn](i,t)}else{this[on]()}r()}))}}};a.on("finish",(()=>{const r=String(t.absolute);const o=a.fd;if(typeof o==="number"&&t.mtime&&!this.noMtime){h++;const a=t.atime||new Date;const c=t.mtime;i.futimes(o,a,c,(t=>t?i.utimes(r,a,c,(i=>done(i&&t))):done()))}if(typeof o==="number"&&this[ln](t)){h++;const a=this[un](t);const c=this[fn](t);if(typeof a==="number"&&typeof c==="number"){i.fchown(o,a,c,(t=>t?i.chown(r,a,c,(i=>done(i&&t))):done()))}}done()}));const c=this.transform?this.transform(t)||t:t;if(c!==t){c.on("error",(i=>{this[sn](i,t);r()}));t.pipe(c)}c.pipe(a)}[qr](t,r){const o=typeof t.mode==="number"?t.mode&4095:this.dmode;this[en](String(t.absolute),o,(o=>{if(o){this[sn](o,t);r();return}let a=1;const done=()=>{if(--a===0){r();this[on]();t.resume()}};if(t.mtime&&!this.noMtime){a++;i.utimes(String(t.absolute),t.atime||new Date,t.mtime,done)}if(this[ln](t)){a++;i.chown(String(t.absolute),Number(this[un](t)),Number(this[fn](t)),done)}done()}))}[Qr](t){t.unsupported=true;this.warn("TAR_ENTRY_UNSUPPORTED",`unsupported entry type: ${t.type}`,{entry:t});t.resume()}[Kr](t,i){this[Jr](t,String(t.linkpath),"symlink",i)}[Xr](t,i){const r=ji(a.resolve(this.cwd,String(t.linkpath)));this[Jr](t,r,"link",i)}[nn](){this[rn]++}[on](){this[rn]--;this[hn]()}[cn](t){this[on]();t.resume()}[Yr](t,i){return t.type==="File"&&!this.unlink&&i.isFile()&&i.nlink<=1&&!mn}[Wr](t){this[nn]();const i=[t.path];if(t.linkpath){i.push(t.linkpath)}this.reservations.reserve(i,(i=>this[Hr](t,i)))}[Gr](t){if(t.type==="SymbolicLink"){dropCache(this.dirCache)}else if(t.type!=="Directory"){pruneCache(this.dirCache,String(t.absolute))}}[Hr](t,r){this[Gr](t);const done=i=>{this[Gr](t);r(i)};const checkCwd=()=>{this[en](this.cwd,this.dmode,(i=>{if(i){this[sn](i,t);done();return}this[dn]=true;start()}))};const start=()=>{if(t.absolute!==this.cwd){const i=ji(a.dirname(String(t.absolute)));if(i!==this.cwd){return this[en](i,this.dmode,(i=>{if(i){this[sn](i,t);done();return}afterMakeParent()}))}}afterMakeParent()};const afterMakeParent=()=>{i.lstat(String(t.absolute),((r,o)=>{if(o&&(this.keep||this.newer&&o.mtime>(t.mtime??o.mtime))){this[cn](t);done();return}if(r||this[Yr](t,o)){return this[Vr](null,t,done)}if(o.isDirectory()){if(t.type==="Directory"){const r=this.chmod&&t.mode&&(o.mode&4095)!==t.mode;const afterChmod=i=>this[Vr](i??null,t,done);if(!r){return afterChmod()}return i.chmod(String(t.absolute),Number(t.mode),afterChmod)}if(t.absolute!==this.cwd){return i.rmdir(String(t.absolute),(i=>this[Vr](i??null,t,done)))}}if(t.absolute===this.cwd){return this[Vr](null,t,done)}unlinkFile(String(t.absolute),(i=>this[Vr](i??null,t,done)))}))};if(this[dn]){start()}else{checkCwd()}}[Vr](t,i,r){if(t){this[sn](t,i);r();return}switch(i.type){case"File":case"OldFile":case"ContiguousFile":return this[Zr](i,r);case"Link":return this[Xr](i,r);case"SymbolicLink":return this[Kr](i,r);case"Directory":case"GNUDumpDir":return this[qr](i,r)}}[Jr](t,r,o,a){i[o](r,String(t.absolute),(i=>{if(i){this[sn](i,t)}else{this[on]();t.resume()}a()}))}}const callSync=t=>{try{return[null,t()]}catch(t){return[t,null]}};class UnpackSync extends Unpack{sync=true;[Vr](t,i){return super[Vr](t,i,(()=>{}))}[Wr](t){this[Gr](t);if(!this[dn]){const i=this[en](this.cwd,this.dmode);if(i){return this[sn](i,t)}this[dn]=true}if(t.absolute!==this.cwd){const i=ji(a.dirname(String(t.absolute)));if(i!==this.cwd){const r=this[en](i,this.dmode);if(r){return this[sn](r,t)}}}const[r,o]=callSync((()=>i.lstatSync(String(t.absolute))));if(o&&(this.keep||this.newer&&o.mtime>(t.mtime??o.mtime))){return this[cn](t)}if(r||this[Yr](t,o)){return this[Vr](null,t)}if(o.isDirectory()){if(t.type==="Directory"){const r=this.chmod&&t.mode&&(o.mode&4095)!==t.mode;const[a]=r?callSync((()=>{i.chmodSync(String(t.absolute),Number(t.mode))})):[];return this[Vr](a,t)}const[r]=callSync((()=>i.rmdirSync(String(t.absolute))));this[Vr](r,t)}const[h]=t.absolute===this.cwd?[]:callSync((()=>unlinkFileSync(String(t.absolute))));this[Vr](h,t)}[Zr](t,r){const o=typeof t.mode==="number"?t.mode&4095:this.fmode;const oner=o=>{let h;try{i.closeSync(a)}catch(t){h=t}if(o||h){this[sn](o||h,t)}r()};let a;try{a=i.openSync(String(t.absolute),_r(t.size),o)}catch(t){return oner(t)}const h=this.transform?this.transform(t)||t:t;if(h!==t){h.on("error",(i=>this[sn](i,t)));t.pipe(h)}h.on("data",(t=>{try{i.writeSync(a,t,0,t.length)}catch(t){oner(t)}}));h.on("end",(()=>{let r=null;if(t.mtime&&!this.noMtime){const o=t.atime||new Date;const h=t.mtime;try{i.futimesSync(a,o,h)}catch(a){try{i.utimesSync(String(t.absolute),o,h)}catch(t){r=a}}}if(this[ln](t)){const o=this[un](t);const h=this[fn](t);try{i.fchownSync(a,Number(o),Number(h))}catch(a){try{i.chownSync(String(t.absolute),Number(o),Number(h))}catch(t){r=r||a}}}oner(r)}))}[qr](t,r){const o=typeof t.mode==="number"?t.mode&4095:this.dmode;const a=this[en](String(t.absolute),o);if(a){this[sn](a,t);r();return}if(t.mtime&&!this.noMtime){try{i.utimesSync(String(t.absolute),t.atime||new Date,t.mtime)}catch(a){}}if(this[ln](t)){try{i.chownSync(String(t.absolute),Number(this[un](t)),Number(this[fn](t)))}catch(a){}}r();t.resume()}[en](t,i){try{return mkdirSync(ji(t),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:i})}catch(t){return t}}[Jr](t,r,o,a){const h=`${o}Sync`;try{i[h](r,String(t.absolute));a();t.resume()}catch(i){return this[sn](i,t)}}}const extractFileSync=t=>{const r=new UnpackSync(t);const o=t.file;const a=i.statSync(o);const h=t.maxReadSize||16*1024*1024;const c=new ReadStreamSync(o,{readSize:h,size:a.size});c.pipe(r)};const extractFile=(t,r)=>{const o=new Unpack(t);const a=t.maxReadSize||16*1024*1024;const h=t.file;const c=new Promise(((t,r)=>{o.on("error",r);o.on("close",t);i.stat(h,((t,i)=>{if(t){r(t)}else{const t=new ReadStream(h,{readSize:a,size:i.size});t.on("error",r);t.pipe(o)}}))}));return c};const gn=makeCommand(extractFileSync,extractFile,(t=>new UnpackSync(t)),(t=>new Unpack(t)),((t,i)=>{if(i?.length)filesFilter(t,i)}));const replaceSync=(t,r)=>{const o=new PackSync(t);let a=true;let h;let c;try{try{h=i.openSync(t.file,"r+")}catch(r){if(r?.code==="ENOENT"){h=i.openSync(t.file,"w+")}else{throw r}}const l=i.fstatSync(h);const u=Buffer.alloc(512);t:for(c=0;c<l.size;c+=512){for(let t=0,r=0;t<512;t+=r){r=i.readSync(h,u,t,u.length-t,c+t);if(c===0&&u[0]===31&&u[1]===139){throw new Error("cannot append to compressed archives")}if(!r){break t}}const r=new Header(u);if(!r.cksumValid){break}const o=512*Math.ceil((r.size||0)/512);if(c+o+512>l.size){break}c+=o;if(t.mtimeCache&&r.mtime){t.mtimeCache.set(String(r.path),r.mtime)}}a=false;streamSync(t,o,c,h,r)}finally{if(a){try{i.closeSync(h)}catch(t){}}}};const streamSync=(t,i,r,o,a)=>{const h=new WriteStreamSync(t.file,{fd:o,start:r});i.pipe(h);replace_addFilesSync(i,a)};const replaceAsync=(t,r)=>{r=Array.from(r);const o=new Pack(t);const getPos=(r,o,a)=>{const cb=(t,o)=>{if(t){i.close(r,(i=>a(t)))}else{a(null,o)}};let h=0;if(o===0){return cb(null,0)}let c=0;const l=Buffer.alloc(512);const onread=(a,u)=>{if(a||typeof u==="undefined"){return cb(a)}c+=u;if(c<512&&u){return i.read(r,l,c,l.length-c,h+c,onread)}if(h===0&&l[0]===31&&l[1]===139){return cb(new Error("cannot append to compressed archives"))}if(c<512){return cb(null,h)}const d=new Header(l);if(!d.cksumValid){return cb(null,h)}const p=512*Math.ceil((d.size??0)/512);if(h+p+512>o){return cb(null,h)}h+=p+512;if(h>=o){return cb(null,h)}if(t.mtimeCache&&d.mtime){t.mtimeCache.set(String(d.path),d.mtime)}c=0;i.read(r,l,0,512,h,onread)};i.read(r,l,0,512,h,onread)};const a=new Promise(((a,h)=>{o.on("error",h);let c="r+";const onopen=(l,u)=>{if(l&&l.code==="ENOENT"&&c==="r+"){c="w+";return i.open(t.file,c,onopen)}if(l||!u){return h(l)}i.fstat(u,((c,l)=>{if(c){return i.close(u,(()=>h(c)))}getPos(u,l.size,((i,c)=>{if(i){return h(i)}const l=new WriteStream(t.file,{fd:u,start:c});o.pipe(l);l.on("error",h);l.on("close",a);replace_addFilesAsync(o,r)}))}))};i.open(t.file,c,onopen)}));return a};const replace_addFilesSync=(t,i)=>{i.forEach((i=>{if(i.charAt(0)==="@"){bs({file:a.resolve(t.cwd,i.slice(1)),sync:true,noResume:true,onReadEntry:i=>t.add(i)})}else{t.add(i)}}));t.end()};const replace_addFilesAsync=async(t,i)=>{for(let r=0;r<i.length;r++){const o=String(i[r]);if(o.charAt(0)==="@"){await bs({file:a.resolve(String(t.cwd),o.slice(1)),noResume:true,onReadEntry:i=>t.add(i)})}else{t.add(o)}}t.end()};const bn=makeCommand(replaceSync,replaceAsync,(()=>{throw new TypeError("file is required")}),(()=>{throw new TypeError("file is required")}),((t,i)=>{if(!isFile(t)){throw new TypeError("file is required")}if(t.gzip||t.brotli||t.file.endsWith(".br")||t.file.endsWith(".tbr")){throw new TypeError("cannot append to compressed archives")}if(!i?.length){throw new TypeError("no paths specified to add/replace")}}));const wn=makeCommand(bn.syncFile,bn.asyncFile,bn.syncNoFile,bn.asyncNoFile,((t,i=[])=>{bn.validate?.(t,i);mtimeFilter(t)}));const mtimeFilter=t=>{const i=t.filter;if(!t.mtimeCache){t.mtimeCache=new Map}t.filter=i?(r,o)=>i(r,o)&&!((t.mtimeCache?.get(r)??o.mtime??0)>(o.mtime??0)):(i,r)=>!((t.mtimeCache?.get(i)??r.mtime??0)>(r.mtime??0))};async function isUrlOk(t){try{const i=await fetch(t,{method:"HEAD"});return i.status===200}catch{return false}}async function getRepoInfo(t){const[,i,r,o,a,...h]=t.pathname.split("/");const c=h.join("/");if(o===undefined||o===""&&a===undefined){try{const t=await fetch(`https://api.github.com/repos/${i}/${r}`);if(t.status!==200){return}const o=await t.json();return{username:i,name:r,branch:o["default_branch"],filePath:c}}catch{return}}if(i&&r&&a&&o==="tree"){return{username:i,name:r,branch:a,filePath:c}}}function hasRepo({username:t,name:i,branch:r,filePath:o}){const a=`https://api.github.com/repos/${t}/${i}/contents`;const h=`${o?`/${o}`:""}/package.json`;return isUrlOk(a+h+`?ref=${r}`)}async function downloadTarStream(t){const i=await fetch(t);if(!i.body){throw new Error(`Failed to download: ${t}`)}return ue.Readable.fromWeb(i.body)}async function downloadAndExtractRepo(t,{username:i,name:r,branch:o,filePath:a}){await(0,fe.pipeline)(await downloadTarStream(`https://codeload.github.com/${i}/${r}/tar.gz/${o}`),gn({cwd:t,strip:a?a.split("/").length+1:1,filter:t=>t.startsWith(`${r}-${o?.replace(/\//g,"-")}${a?`/${a}/`:"/"}`)}))}function getValidURL(t){try{return new URL(t)}catch(t){const i=t;if(i.code!=="ERR_INVALID_URL"){console.error(t);process.exit(1)}}}async function parseExampleOption(t){if(!t){return null}const i=getValidURL(t);if(!i){console.error(`Not a valid URL ${R(`"${t}"`)}. Please check the URL syntax and try again.`);process.exit(1)}if(i.origin!=="https://github.com"&&i.origin!=="https://www.github.com"){console.error(`Invalid URL: ${R(`"${t}"`)}. Only GitHub repositories are supported. Please use a GitHub URL and try again.`);process.exit(1)}const r=await getRepoInfo(i);if(!r){console.error(`Found invalid GitHub URL: ${R(`"${t}"`)}. Please fix the URL and try again.`);process.exit(1)}if(!await hasRepo(r)){console.error(`Could not locate the repository for ${R(`"${t}"`)}. Please check that the repository exists and try again.`);process.exit(1)}return{example:t,repoInfo:r}}async function downloadAndExtract(t,{example:i,repoInfo:r}){console.log(`Downloading files from repo ${M(i)}. This might take a moment.\n`);await downloadAndExtractRepo(t,r)}const vn=process.env.npm_config_user_agent||"";const Sn=/pnpm/.test(vn)?"pnpm":/yarn/.test(vn)?"yarn":"npm";const En={pnpm:{install:"pnpm install",dev:"pnpm dev",create:"pnpm create waku"},yarn:{install:"yarn",dev:"yarn dev",create:"yarn create waku"},npm:{install:"npm install",dev:"npm run dev",create:"npm create waku"}}[Sn];const _n=h().join((0,c.fileURLToPath)(import.meta.url),"../../template");const{values:xn}=(0,l.parseArgs)({args:process.argv.slice(2),options:{choose:{type:"boolean"},example:{type:"string"},help:{type:"boolean",short:"h"}}});async function doPrompts(){const isValidPackageName=t=>/^(?:@[a-z0-9-*~][a-z0-9-*._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/.test(t);const toValidPackageName=t=>t.trim().toLowerCase().replace(/\s+/g,"-").replace(/^[._]/,"").replace(/[^a-z0-9-~]+/g,"-");const canSafelyOverwrite=t=>!(0,i.existsSync)(t)||(0,i.readdirSync)(t).length===0;const t=await getTemplateNames(_n);const r="waku-project";let o="";try{const i=await d()([{name:"projectName",type:"text",message:"Project Name",initial:r,onState:t=>o=String(t.value).trim()||r},{name:"shouldOverwrite",type:()=>canSafelyOverwrite(o)?null:"confirm",message:`${o} is not empty. Remove existing files and continue?`},{name:"overwriteChecker",type:t=>{if(t===false){throw new Error(R("✖")+" Operation cancelled")}return null}},{name:"packageName",type:()=>isValidPackageName(o)?null:"text",message:"Package name",initial:()=>toValidPackageName(o),validate:t=>isValidPackageName(t)||"Invalid package.json name"},{name:"templateName",type:xn["choose"]?"select":null,message:"Choose a starter template",choices:t.map((t=>({title:t,value:t})))}],{onCancel:()=>{throw new Error(R("✖")+" Operation cancelled")}});return{...i,packageName:i.packageName??toValidPackageName(o),templateName:i.templateName??t[0],targetDir:o}}catch(t){if(t instanceof Error){console.log(t.message)}process.exit(1)}}function displayUsage(){console.log(`\nUsage: ${En.create} [options]\n\nOptions:\n --choose Choose from the template list\n --example Specify an example use as a template\n -h, --help Display this help message\n`)}async function notifyUpdate(){const t=(0,le.createRequire)(import.meta.url)("../package.json");const i=await ce()(t).catch((()=>{}));if(i?.latest){console.log(`A new version of 'create-waku' is available!`);console.log("You can update by running: ");console.log();console.log(` npm i -g create-waku`)}}async function init(){if(xn.help){displayUsage();return}const t=await parseExampleOption(xn.example);const{packageName:r,templateName:a,shouldOverwrite:c,targetDir:l}=await doPrompts();const u=h().resolve(l);console.log("Setting up project...");if(c){ae.emptyDirSync(u)}else if(!(0,i.existsSync)(u)){await o().mkdir(u,{recursive:true})}if(t){await downloadAndExtract(u,t)}else{await installTemplate(u,r,_n,a)}console.log(`\nDone. Now run:\n`);console.log(`${w(T(`cd ${l}`))}`);console.log(`${w(T(En.install))}`);console.log(`${w(T(En.dev))}`);console.log()}init().then(notifyUpdate).catch((t=>{console.error(t)}))})();
30
+ var o=r(181);var a=o.Buffer;function copyProps(t,i){for(var r in t){i[r]=t[r]}}if(a.from&&a.alloc&&a.allocUnsafe&&a.allocUnsafeSlow){t.exports=o}else{copyProps(o,i);i.Buffer=SafeBuffer}function SafeBuffer(t,i,r){return a(t,i,r)}SafeBuffer.prototype=Object.create(a.prototype);copyProps(a,SafeBuffer);SafeBuffer.from=function(t,i,r){if(typeof t==="number"){throw new TypeError("Argument must not be a number")}return a(t,i,r)};SafeBuffer.alloc=function(t,i,r){if(typeof t!=="number"){throw new TypeError("Argument must be a number")}var o=a(t);if(i!==undefined){if(typeof r==="string"){o.fill(i,r)}else{o.fill(i)}}else{o.fill(0)}return o};SafeBuffer.allocUnsafe=function(t){if(typeof t!=="number"){throw new TypeError("Argument must be a number")}return a(t)};SafeBuffer.allocUnsafeSlow=function(t){if(typeof t!=="number"){throw new TypeError("Argument must be a number")}return o.SlowBuffer(t)}},5424:t=>{const i="";const r=`${i}[`;const o="";const a={to(t,i){if(!i)return`${r}${t+1}G`;return`${r}${i+1};${t+1}H`},move(t,i){let o="";if(t<0)o+=`${r}${-t}D`;else if(t>0)o+=`${r}${t}C`;if(i<0)o+=`${r}${-i}A`;else if(i>0)o+=`${r}${i}B`;return o},up:(t=1)=>`${r}${t}A`,down:(t=1)=>`${r}${t}B`,forward:(t=1)=>`${r}${t}C`,backward:(t=1)=>`${r}${t}D`,nextLine:(t=1)=>`${r}E`.repeat(t),prevLine:(t=1)=>`${r}F`.repeat(t),left:`${r}G`,hide:`${r}?25l`,show:`${r}?25h`,save:`${i}7`,restore:`${i}8`};const h={up:(t=1)=>`${r}S`.repeat(t),down:(t=1)=>`${r}T`.repeat(t)};const c={screen:`${r}2J`,up:(t=1)=>`${r}1J`.repeat(t),down:(t=1)=>`${r}J`.repeat(t),line:`${r}2K`,lineEnd:`${r}K`,lineStart:`${r}1K`,lines(t){let i="";for(let r=0;r<t;r++)i+=this.line+(r<t-1?a.up():"");if(t)i+=a.left;return i}};t.exports={cursor:a,scroll:h,erase:c,beep:o}},6854:t=>{var i=1;var r=2;function stripWithoutWhitespace(){return""}function stripWithWhitespace(t,i,r){return t.slice(i,r).replace(/\S/g," ")}t.exports=function(t,o){o=o||{};var a;var h;var c=false;var l=false;var u=0;var d="";var p=o.whitespace===false?stripWithoutWhitespace:stripWithWhitespace;for(var m=0;m<t.length;m++){a=t[m];h=t[m+1];if(!l&&a==='"'){var y=t[m-1]==="\\"&&t[m-2]!=="\\";if(!y){c=!c}}if(c){continue}if(!l&&a+h==="//"){d+=t.slice(u,m);u=m;l=i;m++}else if(l===i&&a+h==="\r\n"){m++;l=false;d+=p(t,u,m);u=m;continue}else if(l===i&&a==="\n"){l=false;d+=p(t,u,m);u=m}else if(!l&&a+h==="/*"){d+=t.slice(u,m);u=m;l=r;m++;continue}else if(l===r&&a+h==="*/"){m++;l=false;d+=p(t,u,m+1);u=m+1;continue}}return d+(l?p(t.substr(u)):t.substr(u))}},4124:(t,i)=>{i.fromCallback=function(t){return Object.defineProperty((function(...i){if(typeof i[i.length-1]==="function")t.apply(this,i);else{return new Promise(((r,o)=>{i.push(((t,i)=>t!=null?o(t):r(i)));t.apply(this,i)}))}}),"name",{value:t.name})};i.fromPromise=function(t){return Object.defineProperty((function(...i){const r=i[i.length-1];if(typeof r!=="function")return t.apply(this,i);else{i.pop();t.apply(this,i).then((t=>r(null,t)),r)}}),"name",{value:t.name})}},2321:(t,i,r)=>{const{URL:o}=r(7016);const{join:a}=r(6928);const h=r(9896);const{promisify:c}=r(9023);const{tmpdir:l}=r(857);const u=r(359);const d=c(h.writeFile);const p=c(h.mkdir);const m=c(h.readFile);const compareVersions=(t,i)=>t.localeCompare(i,"en-US",{numeric:true});const encode=t=>encodeURIComponent(t).replace(/^%40/,"@");const getFile=async(t,i)=>{const r=l();const o=a(r,"update-check");if(!h.existsSync(o)){await p(o)}let c=`${t.name}-${i}.json`;if(t.scope){c=`${t.scope}-${c}`}return a(o,c)};const evaluateCache=async(t,i,r)=>{if(h.existsSync(t)){const o=await m(t,"utf8");const{lastUpdate:a,latest:h}=JSON.parse(o);const c=a+r;if(c>i){return{shouldCheck:false,latest:h}}}return{shouldCheck:true,latest:null}};const updateCache=async(t,i,r)=>{const o=JSON.stringify({latest:i,lastUpdate:r});await d(t,o,"utf8")};const loadPackage=(t,i)=>new Promise(((o,a)=>{const h={host:t.hostname,path:t.pathname,port:t.port,headers:{accept:"application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*"},timeout:2e3};if(i){h.headers.authorization=`${i.type} ${i.token}`}const{get:c}=r(t.protocol==="https:"?5692:8611);c(h,(t=>{const{statusCode:i}=t;if(i!==200){const r=new Error(`Request failed with code ${i}`);r.code=i;a(r);t.resume();return}let r="";t.setEncoding("utf8");t.on("data",(t=>{r+=t}));t.on("end",(()=>{try{const t=JSON.parse(r);o(t)}catch(t){a(t)}}))})).on("error",a).on("timeout",a)}));const getMostRecent=async({full:t,scope:i},a)=>{const h=u(i);const c=new o(t,h);let l=null;try{l=await loadPackage(c)}catch(t){if(t.code&&String(t.code).startsWith(4)){const t=r(8143);const i=t(h,{recursive:true});l=await loadPackage(c,i)}else{throw t}}const d=l["dist-tags"][a];if(!d){throw new Error(`Distribution tag ${a} is not available`)}return d};const y={interval:36e5,distTag:"latest"};const getDetails=t=>{const i={full:encode(t)};if(t.includes("/")){const r=t.split("/");i.scope=r[0];i.name=r[1]}else{i.scope=null;i.name=t}return i};t.exports=async(t,i)=>{if(typeof t!=="object"){throw new Error("The first parameter should be your package.json file content")}const r=getDetails(t.name);const o=Date.now();const{distTag:a,interval:h}=Object.assign({},y,i);const c=await getFile(r,a);let l=null;let u=true;({shouldCheck:u,latest:l}=await evaluateCache(c,o,h));if(u){l=await getMostRecent(r,a);await updateCache(c,l,o)}const d=compareVersions(t.version,l);if(d===-1){return{latest:l,fromCache:!u}}return null}},2613:i=>{i.exports=t(import.meta.url)("assert")},181:i=>{i.exports=t(import.meta.url)("buffer")},9140:i=>{i.exports=t(import.meta.url)("constants")},4434:i=>{i.exports=t(import.meta.url)("events")},9896:i=>{i.exports=t(import.meta.url)("fs")},8611:i=>{i.exports=t(import.meta.url)("http")},5692:i=>{i.exports=t(import.meta.url)("https")},857:i=>{i.exports=t(import.meta.url)("os")},6928:i=>{i.exports=t(import.meta.url)("path")},3785:i=>{i.exports=t(import.meta.url)("readline")},2203:i=>{i.exports=t(import.meta.url)("stream")},7016:i=>{i.exports=t(import.meta.url)("url")},9023:i=>{i.exports=t(import.meta.url)("util")}};var r={};function __nccwpck_require__(t){var o=r[t];if(o!==undefined){return o.exports}var a=r[t]={exports:{}};var h=true;try{i[t](a,a.exports,__nccwpck_require__);h=false}finally{if(h)delete r[t]}return a.exports}(()=>{__nccwpck_require__.n=t=>{var i=t&&t.__esModule?()=>t["default"]:()=>t;__nccwpck_require__.d(i,{a:i});return i}})();(()=>{__nccwpck_require__.d=(t,i)=>{for(var r in i){if(__nccwpck_require__.o(i,r)&&!__nccwpck_require__.o(t,r)){Object.defineProperty(t,r,{enumerable:true,get:i[r]})}}}})();(()=>{__nccwpck_require__.o=(t,i)=>Object.prototype.hasOwnProperty.call(t,i)})();if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=new URL(".",import.meta.url).pathname.slice(import.meta.url.match(/^file:\/\/\/\w:/)?1:0,-1)+"/";var o={};const a=t(import.meta.url)("node:fs");const h=t(import.meta.url)("node:fs/promises");var c=__nccwpck_require__.n(h);const l=t(import.meta.url)("node:path");var u=__nccwpck_require__.n(l);const d=t(import.meta.url)("node:url");const p=t(import.meta.url)("node:util");var m=__nccwpck_require__(795);var y=__nccwpck_require__.n(m);let g=true;const b=typeof self!=="undefined"?self:typeof window!=="undefined"?window:typeof global!=="undefined"?global:{};let w=0;if(b.process&&b.process.env&&b.process.stdout){const{FORCE_COLOR:t,NODE_DISABLE_COLORS:i,NO_COLOR:r,TERM:o,COLORTERM:a}=b.process.env;if(i||r||t==="0"){g=false}else if(t==="1"||t==="2"||t==="3"){g=true}else if(o==="dumb"){g=false}else if("CI"in b.process.env&&["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE","DRONE"].some((t=>t in b.process.env))){g=true}else{g=process.stdout.isTTY}if(g){if(process.platform==="win32"){w=3}else{if(a&&(a==="truecolor"||a==="24bit")){w=3}else if(o&&(o.endsWith("-256color")||o.endsWith("256"))){w=2}else{w=1}}}}let v={enabled:g,supportLevel:w};function kolorist(t,i,r=1){const o=`[${t}m`;const a=`[${i}m`;const h=new RegExp(`\\x1b\\[${i}m`,"g");return t=>v.enabled&&v.supportLevel>=r?o+(""+t).replace(h,o)+a:""+t}function rgbToAnsi256(t,i,r){if(t>>4===i>>4&&i>>4===r>>4){if(t<8){return 16}if(t>248){return 231}return Math.round((t-8)/247*24)+232}const o=16+36*Math.round(t/255*5)+6*Math.round(i/255*5)+Math.round(r/255*5);return o}function stripColors(t){return(""+t).replace(/\x1b\[[0-9;]+m/g,"").replace(/\x1b\]8;;.*?\x07(.*?)\x1b\]8;;\x07/g,((t,i)=>i))}const S=kolorist(0,0);const E=kolorist(1,22);const _=kolorist(2,22);const x=kolorist(3,23);const k=kolorist(4,24);const O=kolorist(7,27);const R=kolorist(8,28);const T=kolorist(9,29);const P=kolorist(30,39);const D=kolorist(31,39);const A=kolorist(32,39);const M=kolorist(33,39);const I=kolorist(34,39);const L=kolorist(35,39);const C=kolorist(36,39);const N=kolorist(97,39);const $=kolorist(90,39);const j=kolorist(37,39);const B=kolorist(91,39);const U=kolorist(92,39);const z=kolorist(93,39);const W=kolorist(94,39);const H=kolorist(95,39);const G=kolorist(96,39);const Y=kolorist(40,49);const V=kolorist(41,49);const Z=kolorist(42,49);const q=kolorist(43,49);const J=kolorist(44,49);const K=kolorist(45,49);const X=kolorist(46,49);const Q=kolorist(107,49);const tt=kolorist(100,49);const et=kolorist(101,49);const it=kolorist(102,49);const st=kolorist(103,49);const rt=kolorist(104,49);const nt=kolorist(105,49);const ot=kolorist(106,49);const at=kolorist(47,49);const ansi256=t=>kolorist("38;5;"+t,0,2);const ansi256Bg=t=>kolorist("48;5;"+t,0,2);const trueColor=(t,i,r)=>v.supportLevel===2?ansi256(rgbToAnsi256(t,i,r)):kolorist(`38;2;${t};${i};${r}`,0,3);const trueColorBg=(t,i,r)=>v.supportLevel===2?ansi256Bg(rgbToAnsi256(t,i,r)):kolorist(`48;2;${t};${i};${r}`,0,3);const ht="]";const ct="";const lt=";";function esm_link(t,i){return v.enabled?ht+"8"+lt+lt+i+ct+t+ht+"8"+lt+lt+ct:`${t} (​${i}​)`}var ut=__nccwpck_require__(3521);var ft=__nccwpck_require__(6781);var dt=__nccwpck_require__(7374);var pt=__nccwpck_require__(34);var mt=__nccwpck_require__(2260);var yt=__nccwpck_require__(7105);var gt=__nccwpck_require__(8046);var bt=__nccwpck_require__(3662);var wt=__nccwpck_require__(3348);const vt=ut.copy;const St=ut.copySync;const Et=ft.emptyDirSync;const _t=ft.emptydirSync;const xt=ft.emptyDir;const kt=ft.emptydir;const Ot=dt.createFile;const Rt=dt.createFileSync;const Tt=dt.ensureFile;const Pt=dt.ensureFileSync;const Dt=dt.createLink;const At=dt.createLinkSync;const Ft=dt.ensureLink;const Mt=dt.ensureLinkSync;const It=dt.createSymlink;const Lt=dt.createSymlinkSync;const Ct=dt.ensureSymlink;const Nt=dt.ensureSymlinkSync;const $t=pt.readJson;const jt=pt.readJSON;const Bt=pt.readJsonSync;const Ut=pt.readJSONSync;const zt=pt.writeJson;const Wt=pt.writeJSON;const Ht=pt.writeJsonSync;const Gt=pt.writeJSONSync;const Yt=pt.outputJson;const Vt=pt.outputJSON;const Zt=pt.outputJsonSync;const qt=pt.outputJSONSync;const Jt=mt.mkdirs;const Kt=mt.mkdirsSync;const Xt=mt.mkdirp;const Qt=mt.mkdirpSync;const te=mt.ensureDir;const ee=mt.ensureDirSync;const ie=yt.move;const se=yt.moveSync;const re=gt.outputFile;const ne=gt.outputFileSync;const oe=bt.pathExists;const ae=bt.pathExistsSync;const he=wt.remove;const ce=wt.removeSync;const le={...ut,...ft,...dt,...pt,...mt,...yt,...gt,...bt,...wt};var ue=__nccwpck_require__(2321);var fe=__nccwpck_require__.n(ue);async function getTemplateNames(t){const i=(await c().readdir(t)).filter((t=>!t.startsWith(".")));return i}async function installTemplate(t,i,r,o){const h={name:i,version:"0.0.0"};const l=u().join(r,o);const d=u().join(t,"package.json");const p=u().join(l,"package.json");const m=JSON.parse(await c().readFile(p,"utf-8"));le.copySync(l,t);await c().writeFile(d,JSON.stringify({...m,...h},null,2));if((0,a.existsSync)(u().join(t,"gitignore"))){await c().rename(u().join(t,"gitignore"),u().join(t,".gitignore"))}}const de=t(import.meta.url)("node:stream");const pe=t(import.meta.url)("node:stream/promises");var me=__nccwpck_require__(4434);var ye=__nccwpck_require__(9896);const ge=t(import.meta.url)("node:events");const be=t(import.meta.url)("node:string_decoder");const we=typeof process==="object"&&process?process:{stdout:null,stderr:null};const isStream=t=>!!t&&typeof t==="object"&&(t instanceof Minipass||t instanceof de||isReadable(t)||isWritable(t));const isReadable=t=>!!t&&typeof t==="object"&&t instanceof ge.EventEmitter&&typeof t.pipe==="function"&&t.pipe!==de.Writable.prototype.pipe;const isWritable=t=>!!t&&typeof t==="object"&&t instanceof ge.EventEmitter&&typeof t.write==="function"&&typeof t.end==="function";const ve=Symbol("EOF");const Se=Symbol("maybeEmitEnd");const Ee=Symbol("emittedEnd");const _e=Symbol("emittingEnd");const xe=Symbol("emittedError");const ke=Symbol("closed");const Oe=Symbol("read");const Re=Symbol("flush");const Te=Symbol("flushChunk");const Pe=Symbol("encoding");const De=Symbol("decoder");const Ae=Symbol("flowing");const Fe=Symbol("paused");const Me=Symbol("resume");const Ie=Symbol("buffer");const Le=Symbol("pipes");const Ce=Symbol("bufferLength");const Ne=Symbol("bufferPush");const $e=Symbol("bufferShift");const je=Symbol("objectMode");const Be=Symbol("destroyed");const Ue=Symbol("error");const ze=Symbol("emitData");const We=Symbol("emitEnd");const He=Symbol("emitEnd2");const Ge=Symbol("async");const Ye=Symbol("abort");const Ve=Symbol("aborted");const Ze=Symbol("signal");const qe=Symbol("dataListeners");const Je=Symbol("discarded");const defer=t=>Promise.resolve().then(t);const nodefer=t=>t();const isEndish=t=>t==="end"||t==="finish"||t==="prefinish";const isArrayBufferLike=t=>t instanceof ArrayBuffer||!!t&&typeof t==="object"&&t.constructor&&t.constructor.name==="ArrayBuffer"&&t.byteLength>=0;const isArrayBufferView=t=>!Buffer.isBuffer(t)&&ArrayBuffer.isView(t);class Pipe{src;dest;opts;ondrain;constructor(t,i,r){this.src=t;this.dest=i;this.opts=r;this.ondrain=()=>t[Me]();this.dest.on("drain",this.ondrain)}unpipe(){this.dest.removeListener("drain",this.ondrain)}proxyErrors(t){}end(){this.unpipe();if(this.opts.end)this.dest.end()}}class PipeProxyErrors extends Pipe{unpipe(){this.src.removeListener("error",this.proxyErrors);super.unpipe()}constructor(t,i,r){super(t,i,r);this.proxyErrors=t=>i.emit("error",t);t.on("error",this.proxyErrors)}}const isObjectModeOptions=t=>!!t.objectMode;const isEncodingOptions=t=>!t.objectMode&&!!t.encoding&&t.encoding!=="buffer";class Minipass extends ge.EventEmitter{[Ae]=false;[Fe]=false;[Le]=[];[Ie]=[];[je];[Pe];[Ge];[De];[ve]=false;[Ee]=false;[_e]=false;[ke]=false;[xe]=null;[Ce]=0;[Be]=false;[Ze];[Ve]=false;[qe]=0;[Je]=false;writable=true;readable=true;constructor(...t){const i=t[0]||{};super();if(i.objectMode&&typeof i.encoding==="string"){throw new TypeError("Encoding and objectMode may not be used together")}if(isObjectModeOptions(i)){this[je]=true;this[Pe]=null}else if(isEncodingOptions(i)){this[Pe]=i.encoding;this[je]=false}else{this[je]=false;this[Pe]=null}this[Ge]=!!i.async;this[De]=this[Pe]?new be.StringDecoder(this[Pe]):null;if(i&&i.debugExposeBuffer===true){Object.defineProperty(this,"buffer",{get:()=>this[Ie]})}if(i&&i.debugExposePipes===true){Object.defineProperty(this,"pipes",{get:()=>this[Le]})}const{signal:r}=i;if(r){this[Ze]=r;if(r.aborted){this[Ye]()}else{r.addEventListener("abort",(()=>this[Ye]()))}}}get bufferLength(){return this[Ce]}get encoding(){return this[Pe]}set encoding(t){throw new Error("Encoding must be set at instantiation time")}setEncoding(t){throw new Error("Encoding must be set at instantiation time")}get objectMode(){return this[je]}set objectMode(t){throw new Error("objectMode must be set at instantiation time")}get["async"](){return this[Ge]}set["async"](t){this[Ge]=this[Ge]||!!t}[Ye](){this[Ve]=true;this.emit("abort",this[Ze]?.reason);this.destroy(this[Ze]?.reason)}get aborted(){return this[Ve]}set aborted(t){}write(t,i,r){if(this[Ve])return false;if(this[ve])throw new Error("write after end");if(this[Be]){this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"}));return true}if(typeof i==="function"){r=i;i="utf8"}if(!i)i="utf8";const o=this[Ge]?defer:nodefer;if(!this[je]&&!Buffer.isBuffer(t)){if(isArrayBufferView(t)){t=Buffer.from(t.buffer,t.byteOffset,t.byteLength)}else if(isArrayBufferLike(t)){t=Buffer.from(t)}else if(typeof t!=="string"){throw new Error("Non-contiguous data written to non-objectMode stream")}}if(this[je]){if(this[Ae]&&this[Ce]!==0)this[Re](true);if(this[Ae])this.emit("data",t);else this[Ne](t);if(this[Ce]!==0)this.emit("readable");if(r)o(r);return this[Ae]}if(!t.length){if(this[Ce]!==0)this.emit("readable");if(r)o(r);return this[Ae]}if(typeof t==="string"&&!(i===this[Pe]&&!this[De]?.lastNeed)){t=Buffer.from(t,i)}if(Buffer.isBuffer(t)&&this[Pe]){t=this[De].write(t)}if(this[Ae]&&this[Ce]!==0)this[Re](true);if(this[Ae])this.emit("data",t);else this[Ne](t);if(this[Ce]!==0)this.emit("readable");if(r)o(r);return this[Ae]}read(t){if(this[Be])return null;this[Je]=false;if(this[Ce]===0||t===0||t&&t>this[Ce]){this[Se]();return null}if(this[je])t=null;if(this[Ie].length>1&&!this[je]){this[Ie]=[this[Pe]?this[Ie].join(""):Buffer.concat(this[Ie],this[Ce])]}const i=this[Oe](t||null,this[Ie][0]);this[Se]();return i}[Oe](t,i){if(this[je])this[$e]();else{const r=i;if(t===r.length||t===null)this[$e]();else if(typeof r==="string"){this[Ie][0]=r.slice(t);i=r.slice(0,t);this[Ce]-=t}else{this[Ie][0]=r.subarray(t);i=r.subarray(0,t);this[Ce]-=t}}this.emit("data",i);if(!this[Ie].length&&!this[ve])this.emit("drain");return i}end(t,i,r){if(typeof t==="function"){r=t;t=undefined}if(typeof i==="function"){r=i;i="utf8"}if(t!==undefined)this.write(t,i);if(r)this.once("end",r);this[ve]=true;this.writable=false;if(this[Ae]||!this[Fe])this[Se]();return this}[Me](){if(this[Be])return;if(!this[qe]&&!this[Le].length){this[Je]=true}this[Fe]=false;this[Ae]=true;this.emit("resume");if(this[Ie].length)this[Re]();else if(this[ve])this[Se]();else this.emit("drain")}resume(){return this[Me]()}pause(){this[Ae]=false;this[Fe]=true;this[Je]=false}get destroyed(){return this[Be]}get flowing(){return this[Ae]}get paused(){return this[Fe]}[Ne](t){if(this[je])this[Ce]+=1;else this[Ce]+=t.length;this[Ie].push(t)}[$e](){if(this[je])this[Ce]-=1;else this[Ce]-=this[Ie][0].length;return this[Ie].shift()}[Re](t=false){do{}while(this[Te](this[$e]())&&this[Ie].length);if(!t&&!this[Ie].length&&!this[ve])this.emit("drain")}[Te](t){this.emit("data",t);return this[Ae]}pipe(t,i){if(this[Be])return t;this[Je]=false;const r=this[Ee];i=i||{};if(t===we.stdout||t===we.stderr)i.end=false;else i.end=i.end!==false;i.proxyErrors=!!i.proxyErrors;if(r){if(i.end)t.end()}else{this[Le].push(!i.proxyErrors?new Pipe(this,t,i):new PipeProxyErrors(this,t,i));if(this[Ge])defer((()=>this[Me]()));else this[Me]()}return t}unpipe(t){const i=this[Le].find((i=>i.dest===t));if(i){if(this[Le].length===1){if(this[Ae]&&this[qe]===0){this[Ae]=false}this[Le]=[]}else this[Le].splice(this[Le].indexOf(i),1);i.unpipe()}}addListener(t,i){return this.on(t,i)}on(t,i){const r=super.on(t,i);if(t==="data"){this[Je]=false;this[qe]++;if(!this[Le].length&&!this[Ae]){this[Me]()}}else if(t==="readable"&&this[Ce]!==0){super.emit("readable")}else if(isEndish(t)&&this[Ee]){super.emit(t);this.removeAllListeners(t)}else if(t==="error"&&this[xe]){const t=i;if(this[Ge])defer((()=>t.call(this,this[xe])));else t.call(this,this[xe])}return r}removeListener(t,i){return this.off(t,i)}off(t,i){const r=super.off(t,i);if(t==="data"){this[qe]=this.listeners("data").length;if(this[qe]===0&&!this[Je]&&!this[Le].length){this[Ae]=false}}return r}removeAllListeners(t){const i=super.removeAllListeners(t);if(t==="data"||t===undefined){this[qe]=0;if(!this[Je]&&!this[Le].length){this[Ae]=false}}return i}get emittedEnd(){return this[Ee]}[Se](){if(!this[_e]&&!this[Ee]&&!this[Be]&&this[Ie].length===0&&this[ve]){this[_e]=true;this.emit("end");this.emit("prefinish");this.emit("finish");if(this[ke])this.emit("close");this[_e]=false}}emit(t,...i){const r=i[0];if(t!=="error"&&t!=="close"&&t!==Be&&this[Be]){return false}else if(t==="data"){return!this[je]&&!r?false:this[Ge]?(defer((()=>this[ze](r))),true):this[ze](r)}else if(t==="end"){return this[We]()}else if(t==="close"){this[ke]=true;if(!this[Ee]&&!this[Be])return false;const t=super.emit("close");this.removeAllListeners("close");return t}else if(t==="error"){this[xe]=r;super.emit(Ue,r);const t=!this[Ze]||this.listeners("error").length?super.emit("error",r):false;this[Se]();return t}else if(t==="resume"){const t=super.emit("resume");this[Se]();return t}else if(t==="finish"||t==="prefinish"){const i=super.emit(t);this.removeAllListeners(t);return i}const o=super.emit(t,...i);this[Se]();return o}[ze](t){for(const i of this[Le]){if(i.dest.write(t)===false)this.pause()}const i=this[Je]?false:super.emit("data",t);this[Se]();return i}[We](){if(this[Ee])return false;this[Ee]=true;this.readable=false;return this[Ge]?(defer((()=>this[He]())),true):this[He]()}[He](){if(this[De]){const t=this[De].end();if(t){for(const i of this[Le]){i.dest.write(t)}if(!this[Je])super.emit("data",t)}}for(const t of this[Le]){t.end()}const t=super.emit("end");this.removeAllListeners("end");return t}async collect(){const t=Object.assign([],{dataLength:0});if(!this[je])t.dataLength=0;const i=this.promise();this.on("data",(i=>{t.push(i);if(!this[je])t.dataLength+=i.length}));await i;return t}async concat(){if(this[je]){throw new Error("cannot concat in objectMode")}const t=await this.collect();return this[Pe]?t.join(""):Buffer.concat(t,t.dataLength)}async promise(){return new Promise(((t,i)=>{this.on(Be,(()=>i(new Error("stream destroyed"))));this.on("error",(t=>i(t)));this.on("end",(()=>t()))}))}[Symbol.asyncIterator](){this[Je]=false;let t=false;const stop=async()=>{this.pause();t=true;return{value:undefined,done:true}};const next=()=>{if(t)return stop();const i=this.read();if(i!==null)return Promise.resolve({done:false,value:i});if(this[ve])return stop();let r;let o;const onerr=t=>{this.off("data",ondata);this.off("end",onend);this.off(Be,ondestroy);stop();o(t)};const ondata=t=>{this.off("error",onerr);this.off("end",onend);this.off(Be,ondestroy);this.pause();r({value:t,done:!!this[ve]})};const onend=()=>{this.off("error",onerr);this.off("data",ondata);this.off(Be,ondestroy);stop();r({done:true,value:undefined})};const ondestroy=()=>onerr(new Error("stream destroyed"));return new Promise(((t,i)=>{o=i;r=t;this.once(Be,ondestroy);this.once("error",onerr);this.once("end",onend);this.once("data",ondata)}))};return{next:next,throw:stop,return:stop,[Symbol.asyncIterator](){return this}}}[Symbol.iterator](){this[Je]=false;let t=false;const stop=()=>{this.pause();this.off(Ue,stop);this.off(Be,stop);this.off("end",stop);t=true;return{done:true,value:undefined}};const next=()=>{if(t)return stop();const i=this.read();return i===null?stop():{done:false,value:i}};this.once("end",stop);this.once(Ue,stop);this.once(Be,stop);return{next:next,throw:stop,return:stop,[Symbol.iterator](){return this}}}destroy(t){if(this[Be]){if(t)this.emit("error",t);else this.emit(Be);return this}this[Be]=true;this[Je]=true;this[Ie].length=0;this[Ce]=0;const i=this;if(typeof i.close==="function"&&!this[ke])i.close();if(t)this.emit("error",t);else this.emit(Be);return this}static get isStream(){return isStream}}const Ke=ye.writev;const Xe=Symbol("_autoClose");const Qe=Symbol("_close");const ti=Symbol("_ended");const ei=Symbol("_fd");const ii=Symbol("_finished");const si=Symbol("_flags");const ri=Symbol("_flush");const ni=Symbol("_handleChunk");const oi=Symbol("_makeBuf");const ai=Symbol("_mode");const hi=Symbol("_needDrain");const ci=Symbol("_onerror");const li=Symbol("_onopen");const ui=Symbol("_onread");const fi=Symbol("_onwrite");const di=Symbol("_open");const pi=Symbol("_path");const mi=Symbol("_pos");const yi=Symbol("_queue");const gi=Symbol("_read");const bi=Symbol("_readSize");const wi=Symbol("_reading");const vi=Symbol("_remain");const Si=Symbol("_size");const Ei=Symbol("_write");const _i=Symbol("_writing");const xi=Symbol("_defaultFlag");const ki=Symbol("_errored");class ReadStream extends Minipass{[ki]=false;[ei];[pi];[bi];[wi]=false;[Si];[vi];[Xe];constructor(t,i){i=i||{};super(i);this.readable=true;this.writable=false;if(typeof t!=="string"){throw new TypeError("path must be a string")}this[ki]=false;this[ei]=typeof i.fd==="number"?i.fd:undefined;this[pi]=t;this[bi]=i.readSize||16*1024*1024;this[wi]=false;this[Si]=typeof i.size==="number"?i.size:Infinity;this[vi]=this[Si];this[Xe]=typeof i.autoClose==="boolean"?i.autoClose:true;if(typeof this[ei]==="number"){this[gi]()}else{this[di]()}}get fd(){return this[ei]}get path(){return this[pi]}write(){throw new TypeError("this is a readable stream")}end(){throw new TypeError("this is a readable stream")}[di](){ye.open(this[pi],"r",((t,i)=>this[li](t,i)))}[li](t,i){if(t){this[ci](t)}else{this[ei]=i;this.emit("open",i);this[gi]()}}[oi](){return Buffer.allocUnsafe(Math.min(this[bi],this[vi]))}[gi](){if(!this[wi]){this[wi]=true;const t=this[oi]();if(t.length===0){return process.nextTick((()=>this[ui](null,0,t)))}ye.read(this[ei],t,0,t.length,null,((t,i,r)=>this[ui](t,i,r)))}}[ui](t,i,r){this[wi]=false;if(t){this[ci](t)}else if(this[ni](i,r)){this[gi]()}}[Qe](){if(this[Xe]&&typeof this[ei]==="number"){const t=this[ei];this[ei]=undefined;ye.close(t,(t=>t?this.emit("error",t):this.emit("close")))}}[ci](t){this[wi]=true;this[Qe]();this.emit("error",t)}[ni](t,i){let r=false;this[vi]-=t;if(t>0){r=super.write(t<i.length?i.subarray(0,t):i)}if(t===0||this[vi]<=0){r=false;this[Qe]();super.end()}return r}emit(t,...i){switch(t){case"prefinish":case"finish":return false;case"drain":if(typeof this[ei]==="number"){this[gi]()}return false;case"error":if(this[ki]){return false}this[ki]=true;return super.emit(t,...i);default:return super.emit(t,...i)}}}class ReadStreamSync extends ReadStream{[di](){let t=true;try{this[li](null,ye.openSync(this[pi],"r"));t=false}finally{if(t){this[Qe]()}}}[gi](){let t=true;try{if(!this[wi]){this[wi]=true;do{const t=this[oi]();const i=t.length===0?0:ye.readSync(this[ei],t,0,t.length,null);if(!this[ni](i,t)){break}}while(true);this[wi]=false}t=false}finally{if(t){this[Qe]()}}}[Qe](){if(this[Xe]&&typeof this[ei]==="number"){const t=this[ei];this[ei]=undefined;ye.closeSync(t);this.emit("close")}}}class WriteStream extends me{readable=false;writable=true;[ki]=false;[_i]=false;[ti]=false;[yi]=[];[hi]=false;[pi];[ai];[Xe];[ei];[xi];[si];[ii]=false;[mi];constructor(t,i){i=i||{};super(i);this[pi]=t;this[ei]=typeof i.fd==="number"?i.fd:undefined;this[ai]=i.mode===undefined?438:i.mode;this[mi]=typeof i.start==="number"?i.start:undefined;this[Xe]=typeof i.autoClose==="boolean"?i.autoClose:true;const r=this[mi]!==undefined?"r+":"w";this[xi]=i.flags===undefined;this[si]=i.flags===undefined?r:i.flags;if(this[ei]===undefined){this[di]()}}emit(t,...i){if(t==="error"){if(this[ki]){return false}this[ki]=true}return super.emit(t,...i)}get fd(){return this[ei]}get path(){return this[pi]}[ci](t){this[Qe]();this[_i]=true;this.emit("error",t)}[di](){ye.open(this[pi],this[si],this[ai],((t,i)=>this[li](t,i)))}[li](t,i){if(this[xi]&&this[si]==="r+"&&t&&t.code==="ENOENT"){this[si]="w";this[di]()}else if(t){this[ci](t)}else{this[ei]=i;this.emit("open",i);if(!this[_i]){this[ri]()}}}end(t,i){if(t){this.write(t,i)}this[ti]=true;if(!this[_i]&&!this[yi].length&&typeof this[ei]==="number"){this[fi](null,0)}return this}write(t,i){if(typeof t==="string"){t=Buffer.from(t,i)}if(this[ti]){this.emit("error",new Error("write() after end()"));return false}if(this[ei]===undefined||this[_i]||this[yi].length){this[yi].push(t);this[hi]=true;return false}this[_i]=true;this[Ei](t);return true}[Ei](t){ye.write(this[ei],t,0,t.length,this[mi],((t,i)=>this[fi](t,i)))}[fi](t,i){if(t){this[ci](t)}else{if(this[mi]!==undefined&&typeof i==="number"){this[mi]+=i}if(this[yi].length){this[ri]()}else{this[_i]=false;if(this[ti]&&!this[ii]){this[ii]=true;this[Qe]();this.emit("finish")}else if(this[hi]){this[hi]=false;this.emit("drain")}}}}[ri](){if(this[yi].length===0){if(this[ti]){this[fi](null,0)}}else if(this[yi].length===1){this[Ei](this[yi].pop())}else{const t=this[yi];this[yi]=[];Ke(this[ei],t,this[mi],((t,i)=>this[fi](t,i)))}}[Qe](){if(this[Xe]&&typeof this[ei]==="number"){const t=this[ei];this[ei]=undefined;ye.close(t,(t=>t?this.emit("error",t):this.emit("close")))}}}class WriteStreamSync extends WriteStream{[di](){let t;if(this[xi]&&this[si]==="r+"){try{t=ye.openSync(this[pi],this[si],this[ai])}catch(t){if(t?.code==="ENOENT"){this[si]="w";return this[di]()}else{throw t}}}else{t=ye.openSync(this[pi],this[si],this[ai])}this[li](null,t)}[Qe](){if(this[Xe]&&typeof this[ei]==="number"){const t=this[ei];this[ei]=undefined;ye.closeSync(t);this.emit("close")}}[Ei](t){let i=true;try{this[fi](null,ye.writeSync(this[ei],t,0,t.length,this[mi]));i=false}finally{if(i){try{this[Qe]()}catch{}}}}}var Oi=__nccwpck_require__(6928);const Ri=new Map([["C","cwd"],["f","file"],["z","gzip"],["P","preservePaths"],["U","unlink"],["strip-components","strip"],["stripComponents","strip"],["keep-newer","newer"],["keepNewer","newer"],["keep-newer-files","newer"],["keepNewerFiles","newer"],["k","keep"],["keep-existing","keep"],["keepExisting","keep"],["m","noMtime"],["no-mtime","noMtime"],["p","preserveOwner"],["L","follow"],["h","follow"],["onentry","onReadEntry"]]);const isSyncFile=t=>!!t.sync&&!!t.file;const isAsyncFile=t=>!t.sync&&!!t.file;const isSyncNoFile=t=>!!t.sync&&!t.file;const isAsyncNoFile=t=>!t.sync&&!t.file;const isSync=t=>!!t.sync;const isAsync=t=>!t.sync;const isFile=t=>!!t.file;const isNoFile=t=>!t.file;const dealiasKey=t=>{const i=Ri.get(t);if(i)return i;return t};const dealias=(t={})=>{if(!t)return{};const i={};for(const[r,o]of Object.entries(t)){const t=dealiasKey(r);i[t]=o}if(i.chmod===undefined&&i.noChmod===false){i.chmod=true}delete i.noChmod;return i};const makeCommand=(t,i,r,o,a)=>Object.assign(((h=[],c,l)=>{if(Array.isArray(h)){c=h;h={}}if(typeof c==="function"){l=c;c=undefined}if(!c){c=[]}else{c=Array.from(c)}const u=dealias(h);a?.(u,c);if(isSyncFile(u)){if(typeof l==="function"){throw new TypeError("callback not supported for sync tar functions")}return t(u,c)}else if(isAsyncFile(u)){const t=i(u,c);const r=l?l:undefined;return r?t.then((()=>r()),r):t}else if(isSyncNoFile(u)){if(typeof l==="function"){throw new TypeError("callback not supported for sync tar functions")}return r(u,c)}else if(isAsyncNoFile(u)){if(typeof l==="function"){throw new TypeError("callback only supported with file option")}return o(u,c)}else{throw new Error("impossible options??")}}),{syncFile:t,asyncFile:i,syncNoFile:r,asyncNoFile:o,validate:a});var Ti=__nccwpck_require__(2613);var Pi=__nccwpck_require__(181);const Di=t(import.meta.url)("zlib");const Ai=Di.constants||{ZLIB_VERNUM:4736};const Fi=Object.freeze(Object.assign(Object.create(null),{Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_VERSION_ERROR:-6,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,DEFLATE:1,INFLATE:2,GZIP:3,GUNZIP:4,DEFLATERAW:5,INFLATERAW:6,UNZIP:7,BROTLI_DECODE:8,BROTLI_ENCODE:9,Z_MIN_WINDOWBITS:8,Z_MAX_WINDOWBITS:15,Z_DEFAULT_WINDOWBITS:15,Z_MIN_CHUNK:64,Z_MAX_CHUNK:Infinity,Z_DEFAULT_CHUNK:16384,Z_MIN_MEMLEVEL:1,Z_MAX_MEMLEVEL:9,Z_DEFAULT_MEMLEVEL:8,Z_MIN_LEVEL:-1,Z_MAX_LEVEL:9,Z_DEFAULT_LEVEL:-1,BROTLI_OPERATION_PROCESS:0,BROTLI_OPERATION_FLUSH:1,BROTLI_OPERATION_FINISH:2,BROTLI_OPERATION_EMIT_METADATA:3,BROTLI_MODE_GENERIC:0,BROTLI_MODE_TEXT:1,BROTLI_MODE_FONT:2,BROTLI_DEFAULT_MODE:0,BROTLI_MIN_QUALITY:0,BROTLI_MAX_QUALITY:11,BROTLI_DEFAULT_QUALITY:11,BROTLI_MIN_WINDOW_BITS:10,BROTLI_MAX_WINDOW_BITS:24,BROTLI_LARGE_MAX_WINDOW_BITS:30,BROTLI_DEFAULT_WINDOW:22,BROTLI_MIN_INPUT_BLOCK_BITS:16,BROTLI_MAX_INPUT_BLOCK_BITS:24,BROTLI_PARAM_MODE:0,BROTLI_PARAM_QUALITY:1,BROTLI_PARAM_LGWIN:2,BROTLI_PARAM_LGBLOCK:3,BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING:4,BROTLI_PARAM_SIZE_HINT:5,BROTLI_PARAM_LARGE_WINDOW:6,BROTLI_PARAM_NPOSTFIX:7,BROTLI_PARAM_NDIRECT:8,BROTLI_DECODER_RESULT_ERROR:0,BROTLI_DECODER_RESULT_SUCCESS:1,BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT:2,BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION:0,BROTLI_DECODER_PARAM_LARGE_WINDOW:1,BROTLI_DECODER_NO_ERROR:0,BROTLI_DECODER_SUCCESS:1,BROTLI_DECODER_NEEDS_MORE_INPUT:2,BROTLI_DECODER_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE:-1,BROTLI_DECODER_ERROR_FORMAT_RESERVED:-2,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE:-3,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET:-4,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME:-5,BROTLI_DECODER_ERROR_FORMAT_CL_SPACE:-6,BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE:-7,BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT:-8,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1:-9,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2:-10,BROTLI_DECODER_ERROR_FORMAT_TRANSFORM:-11,BROTLI_DECODER_ERROR_FORMAT_DICTIONARY:-12,BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS:-13,BROTLI_DECODER_ERROR_FORMAT_PADDING_1:-14,BROTLI_DECODER_ERROR_FORMAT_PADDING_2:-15,BROTLI_DECODER_ERROR_FORMAT_DISTANCE:-16,BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET:-19,BROTLI_DECODER_ERROR_INVALID_ARGUMENTS:-20,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES:-21,BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS:-22,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP:-25,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1:-26,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2:-27,BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES:-30,BROTLI_DECODER_ERROR_UNREACHABLE:-31},Ai));const Mi=Pi.Buffer.concat;const Ii=Symbol("_superWrite");class ZlibError extends Error{code;errno;constructor(t){super("zlib: "+t.message);this.code=t.code;this.errno=t.errno;if(!this.code)this.code="ZLIB_ERROR";this.message="zlib: "+t.message;Error.captureStackTrace(this,this.constructor)}get name(){return"ZlibError"}}const Li=Symbol("flushFlag");class ZlibBase extends Minipass{#t=false;#e=false;#i;#s;#r;#n;#o;get sawError(){return this.#t}get handle(){return this.#n}get flushFlag(){return this.#i}constructor(t,i){if(!t||typeof t!=="object")throw new TypeError("invalid options for ZlibBase constructor");super(t);this.#i=t.flush??0;this.#s=t.finishFlush??0;this.#r=t.fullFlushFlag??0;try{this.#n=new Di[i](t)}catch(t){throw new ZlibError(t)}this.#o=t=>{if(this.#t)return;this.#t=true;this.close();this.emit("error",t)};this.#n?.on("error",(t=>this.#o(new ZlibError(t))));this.once("end",(()=>this.close))}close(){if(this.#n){this.#n.close();this.#n=undefined;this.emit("close")}}reset(){if(!this.#t){Ti(this.#n,"zlib binding closed");return this.#n.reset?.()}}flush(t){if(this.ended)return;if(typeof t!=="number")t=this.#r;this.write(Object.assign(Pi.Buffer.alloc(0),{[Li]:t}))}end(t,i,r){if(typeof t==="function"){r=t;i=undefined;t=undefined}if(typeof i==="function"){r=i;i=undefined}if(t){if(i)this.write(t,i);else this.write(t)}this.flush(this.#s);this.#e=true;return super.end(r)}get ended(){return this.#e}[Ii](t){return super.write(t)}write(t,i,r){if(typeof i==="function")r=i,i="utf8";if(typeof t==="string")t=Pi.Buffer.from(t,i);if(this.#t)return;Ti(this.#n,"zlib binding closed");const o=this.#n._handle;const a=o.close;o.close=()=>{};const h=this.#n.close;this.#n.close=()=>{};Pi.Buffer.concat=t=>t;let c=undefined;try{const i=typeof t[Li]==="number"?t[Li]:this.#i;c=this.#n._processChunk(t,i);Pi.Buffer.concat=Mi}catch(t){Pi.Buffer.concat=Mi;this.#o(new ZlibError(t))}finally{if(this.#n){this.#n._handle=o;o.close=a;this.#n.close=h;this.#n.removeAllListeners("error")}}if(this.#n)this.#n.on("error",(t=>this.#o(new ZlibError(t))));let l;if(c){if(Array.isArray(c)&&c.length>0){const t=c[0];l=this[Ii](Pi.Buffer.from(t));for(let t=1;t<c.length;t++){l=this[Ii](c[t])}}else{l=this[Ii](Pi.Buffer.from(c))}}if(r)r();return l}}class Zlib extends ZlibBase{#a;#h;constructor(t,i){t=t||{};t.flush=t.flush||Fi.Z_NO_FLUSH;t.finishFlush=t.finishFlush||Fi.Z_FINISH;t.fullFlushFlag=Fi.Z_FULL_FLUSH;super(t,i);this.#a=t.level;this.#h=t.strategy}params(t,i){if(this.sawError)return;if(!this.handle)throw new Error("cannot switch params when binding is closed");if(!this.handle.params)throw new Error("not supported in this implementation");if(this.#a!==t||this.#h!==i){this.flush(Fi.Z_SYNC_FLUSH);Ti(this.handle,"zlib binding closed");const r=this.handle.flush;this.handle.flush=(t,i)=>{if(typeof t==="function"){i=t;t=this.flushFlag}this.flush(t);i?.()};try{this.handle.params(t,i)}finally{this.handle.flush=r}if(this.handle){this.#a=t;this.#h=i}}}}class Deflate extends Zlib{constructor(t){super(t,"Deflate")}}class Inflate extends Zlib{constructor(t){super(t,"Inflate")}}class Gzip extends Zlib{#c;constructor(t){super(t,"Gzip");this.#c=t&&!!t.portable}[Ii](t){if(!this.#c)return super[Ii](t);this.#c=false;t[9]=255;return super[Ii](t)}}class Gunzip extends Zlib{constructor(t){super(t,"Gunzip")}}class DeflateRaw extends Zlib{constructor(t){super(t,"DeflateRaw")}}class InflateRaw extends Zlib{constructor(t){super(t,"InflateRaw")}}class Unzip extends Zlib{constructor(t){super(t,"Unzip")}}class Brotli extends ZlibBase{constructor(t,i){t=t||{};t.flush=t.flush||Fi.BROTLI_OPERATION_PROCESS;t.finishFlush=t.finishFlush||Fi.BROTLI_OPERATION_FINISH;t.fullFlushFlag=Fi.BROTLI_OPERATION_FLUSH;super(t,i)}}class BrotliCompress extends Brotli{constructor(t){super(t,"BrotliCompress")}}class BrotliDecompress extends Brotli{constructor(t){super(t,"BrotliDecompress")}}class Yallist{tail;head;length=0;static create(t=[]){return new Yallist(t)}constructor(t=[]){for(const i of t){this.push(i)}}*[Symbol.iterator](){for(let t=this.head;t;t=t.next){yield t.value}}removeNode(t){if(t.list!==this){throw new Error("removing node which does not belong to this list")}const i=t.next;const r=t.prev;if(i){i.prev=r}if(r){r.next=i}if(t===this.head){this.head=i}if(t===this.tail){this.tail=r}this.length--;t.next=undefined;t.prev=undefined;t.list=undefined;return i}unshiftNode(t){if(t===this.head){return}if(t.list){t.list.removeNode(t)}const i=this.head;t.list=this;t.next=i;if(i){i.prev=t}this.head=t;if(!this.tail){this.tail=t}this.length++}pushNode(t){if(t===this.tail){return}if(t.list){t.list.removeNode(t)}const i=this.tail;t.list=this;t.prev=i;if(i){i.next=t}this.tail=t;if(!this.head){this.head=t}this.length++}push(...t){for(let i=0,r=t.length;i<r;i++){push(this,t[i])}return this.length}unshift(...t){for(var i=0,r=t.length;i<r;i++){unshift(this,t[i])}return this.length}pop(){if(!this.tail){return undefined}const t=this.tail.value;const i=this.tail;this.tail=this.tail.prev;if(this.tail){this.tail.next=undefined}else{this.head=undefined}i.list=undefined;this.length--;return t}shift(){if(!this.head){return undefined}const t=this.head.value;const i=this.head;this.head=this.head.next;if(this.head){this.head.prev=undefined}else{this.tail=undefined}i.list=undefined;this.length--;return t}forEach(t,i){i=i||this;for(let r=this.head,o=0;!!r;o++){t.call(i,r.value,o,this);r=r.next}}forEachReverse(t,i){i=i||this;for(let r=this.tail,o=this.length-1;!!r;o--){t.call(i,r.value,o,this);r=r.prev}}get(t){let i=0;let r=this.head;for(;!!r&&i<t;i++){r=r.next}if(i===t&&!!r){return r.value}}getReverse(t){let i=0;let r=this.tail;for(;!!r&&i<t;i++){r=r.prev}if(i===t&&!!r){return r.value}}map(t,i){i=i||this;const r=new Yallist;for(let o=this.head;!!o;){r.push(t.call(i,o.value,this));o=o.next}return r}mapReverse(t,i){i=i||this;var r=new Yallist;for(let o=this.tail;!!o;){r.push(t.call(i,o.value,this));o=o.prev}return r}reduce(t,i){let r;let o=this.head;if(arguments.length>1){r=i}else if(this.head){o=this.head.next;r=this.head.value}else{throw new TypeError("Reduce of empty list with no initial value")}for(var a=0;!!o;a++){r=t(r,o.value,a);o=o.next}return r}reduceReverse(t,i){let r;let o=this.tail;if(arguments.length>1){r=i}else if(this.tail){o=this.tail.prev;r=this.tail.value}else{throw new TypeError("Reduce of empty list with no initial value")}for(let i=this.length-1;!!o;i--){r=t(r,o.value,i);o=o.prev}return r}toArray(){const t=new Array(this.length);for(let i=0,r=this.head;!!r;i++){t[i]=r.value;r=r.next}return t}toArrayReverse(){const t=new Array(this.length);for(let i=0,r=this.tail;!!r;i++){t[i]=r.value;r=r.prev}return t}slice(t=0,i=this.length){if(i<0){i+=this.length}if(t<0){t+=this.length}const r=new Yallist;if(i<t||i<0){return r}if(t<0){t=0}if(i>this.length){i=this.length}let o=this.head;let a=0;for(a=0;!!o&&a<t;a++){o=o.next}for(;!!o&&a<i;a++,o=o.next){r.push(o.value)}return r}sliceReverse(t=0,i=this.length){if(i<0){i+=this.length}if(t<0){t+=this.length}const r=new Yallist;if(i<t||i<0){return r}if(t<0){t=0}if(i>this.length){i=this.length}let o=this.length;let a=this.tail;for(;!!a&&o>i;o--){a=a.prev}for(;!!a&&o>t;o--,a=a.prev){r.push(a.value)}return r}splice(t,i=0,...r){if(t>this.length){t=this.length-1}if(t<0){t=this.length+t}let o=this.head;for(let i=0;!!o&&i<t;i++){o=o.next}const a=[];for(let t=0;!!o&&t<i;t++){a.push(o.value);o=this.removeNode(o)}if(!o){o=this.tail}else if(o!==this.tail){o=o.prev}for(const t of r){o=insertAfter(this,o,t)}return a}reverse(){const t=this.head;const i=this.tail;for(let i=t;!!i;i=i.prev){const t=i.prev;i.prev=i.next;i.next=t}this.head=i;this.tail=t;return this}}function insertAfter(t,i,r){const o=i;const a=i?i.next:t.head;const h=new Node(r,o,a,t);if(h.next===undefined){t.tail=h}if(h.prev===undefined){t.head=h}t.length++;return h}function push(t,i){t.tail=new Node(i,t.tail,undefined,t);if(!t.head){t.head=t.tail}t.length++}function unshift(t,i){t.head=new Node(i,undefined,t.head,t);if(!t.tail){t.tail=t.head}t.length++}class Node{list;next;prev;value;constructor(t,i,r,o){this.list=o;this.value=t;if(i){i.next=this;this.prev=i}else{this.prev=undefined}if(r){r.prev=this;this.next=r}else{this.next=undefined}}}const encode=(t,i)=>{if(!Number.isSafeInteger(t)){throw Error("cannot encode number outside of javascript safe integer range")}else if(t<0){encodeNegative(t,i)}else{encodePositive(t,i)}return i};const encodePositive=(t,i)=>{i[0]=128;for(var r=i.length;r>1;r--){i[r-1]=t&255;t=Math.floor(t/256)}};const encodeNegative=(t,i)=>{i[0]=255;var r=false;t=t*-1;for(var o=i.length;o>1;o--){var a=t&255;t=Math.floor(t/256);if(r){i[o-1]=onesComp(a)}else if(a===0){i[o-1]=0}else{r=true;i[o-1]=twosComp(a)}}};const parse=t=>{const i=t[0];const r=i===128?pos(t.subarray(1,t.length)):i===255?twos(t):null;if(r===null){throw Error("invalid base256 encoding")}if(!Number.isSafeInteger(r)){throw Error("parsed number outside of javascript safe integer range")}return r};const twos=t=>{var i=t.length;var r=0;var o=false;for(var a=i-1;a>-1;a--){var h=Number(t[a]);var c;if(o){c=onesComp(h)}else if(h===0){c=h}else{o=true;c=twosComp(h)}if(c!==0){r-=c*Math.pow(256,i-a-1)}}return r};const pos=t=>{var i=t.length;var r=0;for(var o=i-1;o>-1;o--){var a=Number(t[o]);if(a!==0){r+=a*Math.pow(256,i-o-1)}}return r};const onesComp=t=>(255^t)&255;const twosComp=t=>(255^t)+1&255;const isCode=t=>Ci.has(t);const isName=t=>Ni.has(t);const Ci=new Map([["0","File"],["","OldFile"],["1","Link"],["2","SymbolicLink"],["3","CharacterDevice"],["4","BlockDevice"],["5","Directory"],["6","FIFO"],["7","ContiguousFile"],["g","GlobalExtendedHeader"],["x","ExtendedHeader"],["A","SolarisACL"],["D","GNUDumpDir"],["I","Inode"],["K","NextFileHasLongLinkpath"],["L","NextFileHasLongPath"],["M","ContinuationFile"],["N","OldGnuLongPath"],["S","SparseFile"],["V","TapeVolumeHeader"],["X","OldExtendedHeader"]]);const Ni=new Map(Array.from(Ci).map((t=>[t[1],t[0]])));class Header{cksumValid=false;needPax=false;nullBlock=false;block;path;mode;uid;gid;size;cksum;#l="Unsupported";linkpath;uname;gname;devmaj=0;devmin=0;atime;ctime;mtime;charset;comment;constructor(t,i=0,r,o){if(Buffer.isBuffer(t)){this.decode(t,i||0,r,o)}else if(t){this.#u(t)}}decode(t,i,r,o){if(!i){i=0}if(!t||!(t.length>=i+512)){throw new Error("need 512 bytes for header")}this.path=decString(t,i,100);this.mode=decNumber(t,i+100,8);this.uid=decNumber(t,i+108,8);this.gid=decNumber(t,i+116,8);this.size=decNumber(t,i+124,12);this.mtime=decDate(t,i+136,12);this.cksum=decNumber(t,i+148,12);if(o)this.#u(o,true);if(r)this.#u(r);const a=decString(t,i+156,1);if(isCode(a)){this.#l=a||"0"}if(this.#l==="0"&&this.path.slice(-1)==="/"){this.#l="5"}if(this.#l==="5"){this.size=0}this.linkpath=decString(t,i+157,100);if(t.subarray(i+257,i+265).toString()==="ustar\x0000"){this.uname=decString(t,i+265,32);this.gname=decString(t,i+297,32);this.devmaj=decNumber(t,i+329,8)??0;this.devmin=decNumber(t,i+337,8)??0;if(t[i+475]!==0){const r=decString(t,i+345,155);this.path=r+"/"+this.path}else{const r=decString(t,i+345,130);if(r){this.path=r+"/"+this.path}this.atime=decDate(t,i+476,12);this.ctime=decDate(t,i+488,12)}}let h=8*32;for(let r=i;r<i+148;r++){h+=t[r]}for(let r=i+156;r<i+512;r++){h+=t[r]}this.cksumValid=h===this.cksum;if(this.cksum===undefined&&h===8*32){this.nullBlock=true}}#u(t,i=false){Object.assign(this,Object.fromEntries(Object.entries(t).filter((([t,r])=>!(r===null||r===undefined||t==="path"&&i||t==="linkpath"&&i||t==="global")))))}encode(t,i=0){if(!t){t=this.block=Buffer.alloc(512)}if(this.#l==="Unsupported"){this.#l="0"}if(!(t.length>=i+512)){throw new Error("need 512 bytes for header")}const r=this.ctime||this.atime?130:155;const o=splitPrefix(this.path||"",r);const a=o[0];const h=o[1];this.needPax=!!o[2];this.needPax=encString(t,i,100,a)||this.needPax;this.needPax=encNumber(t,i+100,8,this.mode)||this.needPax;this.needPax=encNumber(t,i+108,8,this.uid)||this.needPax;this.needPax=encNumber(t,i+116,8,this.gid)||this.needPax;this.needPax=encNumber(t,i+124,12,this.size)||this.needPax;this.needPax=encDate(t,i+136,12,this.mtime)||this.needPax;t[i+156]=this.#l.charCodeAt(0);this.needPax=encString(t,i+157,100,this.linkpath)||this.needPax;t.write("ustar\x0000",i+257,8);this.needPax=encString(t,i+265,32,this.uname)||this.needPax;this.needPax=encString(t,i+297,32,this.gname)||this.needPax;this.needPax=encNumber(t,i+329,8,this.devmaj)||this.needPax;this.needPax=encNumber(t,i+337,8,this.devmin)||this.needPax;this.needPax=encString(t,i+345,r,h)||this.needPax;if(t[i+475]!==0){this.needPax=encString(t,i+345,155,h)||this.needPax}else{this.needPax=encString(t,i+345,130,h)||this.needPax;this.needPax=encDate(t,i+476,12,this.atime)||this.needPax;this.needPax=encDate(t,i+488,12,this.ctime)||this.needPax}let c=8*32;for(let r=i;r<i+148;r++){c+=t[r]}for(let r=i+156;r<i+512;r++){c+=t[r]}this.cksum=c;encNumber(t,i+148,8,this.cksum);this.cksumValid=true;return this.needPax}get type(){return this.#l==="Unsupported"?this.#l:Ci.get(this.#l)}get typeKey(){return this.#l}set type(t){const i=String(Ni.get(t));if(isCode(i)||i==="Unsupported"){this.#l=i}else if(isCode(t)){this.#l=t}else{throw new TypeError("invalid entry type: "+t)}}}const splitPrefix=(t,i)=>{const r=100;let o=t;let a="";let h=undefined;const c=l.posix.parse(t).root||".";if(Buffer.byteLength(o)<r){h=[o,a,false]}else{a=l.posix.dirname(o);o=l.posix.basename(o);do{if(Buffer.byteLength(o)<=r&&Buffer.byteLength(a)<=i){h=[o,a,false]}else if(Buffer.byteLength(o)>r&&Buffer.byteLength(a)<=i){h=[o.slice(0,r-1),a,true]}else{o=l.posix.join(l.posix.basename(a),o);a=l.posix.dirname(a)}}while(a!==c&&h===undefined);if(!h){h=[t.slice(0,r-1),"",true]}}return h};const decString=(t,i,r)=>t.subarray(i,i+r).toString("utf8").replace(/\0.*/,"");const decDate=(t,i,r)=>numToDate(decNumber(t,i,r));const numToDate=t=>t===undefined?undefined:new Date(t*1e3);const decNumber=(t,i,r)=>Number(t[i])&128?parse(t.subarray(i,i+r)):decSmallNumber(t,i,r);const nanUndef=t=>isNaN(t)?undefined:t;const decSmallNumber=(t,i,r)=>nanUndef(parseInt(t.subarray(i,i+r).toString("utf8").replace(/\0.*$/,"").trim(),8));const $i={12:8589934591,8:2097151};const encNumber=(t,i,r,o)=>o===undefined?false:o>$i[r]||o<0?(encode(o,t.subarray(i,i+r)),true):(encSmallNumber(t,i,r,o),false);const encSmallNumber=(t,i,r,o)=>t.write(octalString(o,r),i,r,"ascii");const octalString=(t,i)=>padOctal(Math.floor(t).toString(8),i);const padOctal=(t,i)=>(t.length===i-1?t:new Array(i-t.length-1).join("0")+t+" ")+"\0";const encDate=(t,i,r,o)=>o===undefined?false:encNumber(t,i,r,o.getTime()/1e3);const ji=new Array(156).join("\0");const encString=(t,i,r,o)=>o===undefined?false:(t.write(o+ji,i,r,"utf8"),o.length!==Buffer.byteLength(o)||o.length>r);class Pax{atime;mtime;ctime;charset;comment;gid;uid;gname;uname;linkpath;dev;ino;nlink;path;size;mode;global;constructor(t,i=false){this.atime=t.atime;this.charset=t.charset;this.comment=t.comment;this.ctime=t.ctime;this.dev=t.dev;this.gid=t.gid;this.global=i;this.gname=t.gname;this.ino=t.ino;this.linkpath=t.linkpath;this.mtime=t.mtime;this.nlink=t.nlink;this.path=t.path;this.size=t.size;this.uid=t.uid;this.uname=t.uname}encode(){const t=this.encodeBody();if(t===""){return Buffer.allocUnsafe(0)}const i=Buffer.byteLength(t);const r=512*Math.ceil(1+i/512);const o=Buffer.allocUnsafe(r);for(let t=0;t<512;t++){o[t]=0}new Header({path:("PaxHeader/"+(0,l.basename)(this.path??"")).slice(0,99),mode:this.mode||420,uid:this.uid,gid:this.gid,size:i,mtime:this.mtime,type:this.global?"GlobalExtendedHeader":"ExtendedHeader",linkpath:"",uname:this.uname||"",gname:this.gname||"",devmaj:0,devmin:0,atime:this.atime,ctime:this.ctime}).encode(o);o.write(t,512,i,"utf8");for(let t=i+512;t<o.length;t++){o[t]=0}return o}encodeBody(){return this.encodeField("path")+this.encodeField("ctime")+this.encodeField("atime")+this.encodeField("dev")+this.encodeField("ino")+this.encodeField("nlink")+this.encodeField("charset")+this.encodeField("comment")+this.encodeField("gid")+this.encodeField("gname")+this.encodeField("linkpath")+this.encodeField("mtime")+this.encodeField("size")+this.encodeField("uid")+this.encodeField("uname")}encodeField(t){if(this[t]===undefined){return""}const i=this[t];const r=i instanceof Date?i.getTime()/1e3:i;const o=" "+(t==="dev"||t==="ino"||t==="nlink"?"SCHILY.":"")+t+"="+r+"\n";const a=Buffer.byteLength(o);let h=Math.floor(Math.log(a)/Math.log(10))+1;if(a+h>=Math.pow(10,h)){h+=1}const c=h+a;return c+o}static parse(t,i,r=false){return new Pax(merge(parseKV(t),i),r)}}const merge=(t,i)=>i?Object.assign({},i,t):t;const parseKV=t=>t.replace(/\n$/,"").split("\n").reduce(parseKVLine,Object.create(null));const parseKVLine=(t,i)=>{const r=parseInt(i,10);if(r!==Buffer.byteLength(i)+1){return t}i=i.slice((r+" ").length);const o=i.split("=");const a=o.shift();if(!a){return t}const h=a.replace(/^SCHILY\.(dev|ino|nlink)/,"$1");const c=o.join("=");t[h]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(h)?new Date(Number(c)*1e3):/^[0-9]+$/.test(c)?+c:c;return t};const Bi=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform;const Ui=Bi!=="win32"?t=>t:t=>t&&t.replace(/\\/g,"/");class ReadEntry extends Minipass{extended;globalExtended;header;startBlockSize;blockRemain;remain;type;meta=false;ignore=false;path;mode;uid;gid;uname;gname;size=0;mtime;atime;ctime;linkpath;dev;ino;nlink;invalid=false;absolute;unsupported=false;constructor(t,i,r){super({});this.pause();this.extended=i;this.globalExtended=r;this.header=t;this.remain=t.size??0;this.startBlockSize=512*Math.ceil(this.remain/512);this.blockRemain=this.startBlockSize;this.type=t.type;switch(this.type){case"File":case"OldFile":case"Link":case"SymbolicLink":case"CharacterDevice":case"BlockDevice":case"Directory":case"FIFO":case"ContiguousFile":case"GNUDumpDir":break;case"NextFileHasLongLinkpath":case"NextFileHasLongPath":case"OldGnuLongPath":case"GlobalExtendedHeader":case"ExtendedHeader":case"OldExtendedHeader":this.meta=true;break;default:this.ignore=true}if(!t.path){throw new Error("no path provided for tar.ReadEntry")}this.path=Ui(t.path);this.mode=t.mode;if(this.mode){this.mode=this.mode&4095}this.uid=t.uid;this.gid=t.gid;this.uname=t.uname;this.gname=t.gname;this.size=this.remain;this.mtime=t.mtime;this.atime=t.atime;this.ctime=t.ctime;this.linkpath=t.linkpath?Ui(t.linkpath):undefined;this.uname=t.uname;this.gname=t.gname;if(i){this.#u(i)}if(r){this.#u(r,true)}}write(t){const i=t.length;if(i>this.blockRemain){throw new Error("writing more to entry than is appropriate")}const r=this.remain;const o=this.blockRemain;this.remain=Math.max(0,r-i);this.blockRemain=Math.max(0,o-i);if(this.ignore){return true}if(r>=i){return super.write(t)}return super.write(t.subarray(0,r))}#u(t,i=false){if(t.path)t.path=Ui(t.path);if(t.linkpath)t.linkpath=Ui(t.linkpath);Object.assign(this,Object.fromEntries(Object.entries(t).filter((([t,r])=>!(r===null||r===undefined||t==="path"&&i)))))}}const warnMethod=(t,i,r,o={})=>{if(t.file){o.file=t.file}if(t.cwd){o.cwd=t.cwd}o.code=r instanceof Error&&r.code||i;o.tarCode=i;if(!t.strict&&o.recoverable!==false){if(r instanceof Error){o=Object.assign(r,o);r=r.message}t.emit("warn",i,r,o)}else if(r instanceof Error){t.emit("error",Object.assign(r,o))}else{t.emit("error",Object.assign(new Error(`${i}: ${r}`),o))}};const zi=1024*1024;const Wi=Buffer.from([31,139]);const Hi=Symbol("state");const Gi=Symbol("writeEntry");const Yi=Symbol("readEntry");const Vi=Symbol("nextEntry");const Zi=Symbol("processEntry");const qi=Symbol("extendedHeader");const Ji=Symbol("globalExtendedHeader");const Ki=Symbol("meta");const Xi=Symbol("emitMeta");const Qi=Symbol("buffer");const ts=Symbol("queue");const es=Symbol("ended");const is=Symbol("emittedEnd");const ss=Symbol("emit");const rs=Symbol("unzip");const ns=Symbol("consumeChunk");const os=Symbol("consumeChunkSub");const as=Symbol("consumeBody");const hs=Symbol("consumeMeta");const cs=Symbol("consumeHeader");const ls=Symbol("consuming");const us=Symbol("bufferConcat");const fs=Symbol("maybeEnd");const ds=Symbol("writing");const ps=Symbol("aborted");const ms=Symbol("onDone");const ys=Symbol("sawValidEntry");const gs=Symbol("sawNullBlock");const bs=Symbol("sawEOF");const ws=Symbol("closeStream");const noop=()=>true;class Parser extends me.EventEmitter{file;strict;maxMetaEntrySize;filter;brotli;writable=true;readable=false;[ts]=new Yallist;[Qi];[Yi];[Gi];[Hi]="begin";[Ki]="";[qi];[Ji];[es]=false;[rs];[ps]=false;[ys];[gs]=false;[bs]=false;[ds]=false;[ls]=false;[is]=false;constructor(t={}){super();this.file=t.file||"";this.on(ms,(()=>{if(this[Hi]==="begin"||this[ys]===false){this.warn("TAR_BAD_ARCHIVE","Unrecognized archive format")}}));if(t.ondone){this.on(ms,t.ondone)}else{this.on(ms,(()=>{this.emit("prefinish");this.emit("finish");this.emit("end")}))}this.strict=!!t.strict;this.maxMetaEntrySize=t.maxMetaEntrySize||zi;this.filter=typeof t.filter==="function"?t.filter:noop;const i=t.file&&(t.file.endsWith(".tar.br")||t.file.endsWith(".tbr"));this.brotli=!t.gzip&&t.brotli!==undefined?t.brotli:i?undefined:false;this.on("end",(()=>this[ws]()));if(typeof t.onwarn==="function"){this.on("warn",t.onwarn)}if(typeof t.onReadEntry==="function"){this.on("entry",t.onReadEntry)}}warn(t,i,r={}){warnMethod(this,t,i,r)}[cs](t,i){if(this[ys]===undefined){this[ys]=false}let r;try{r=new Header(t,i,this[qi],this[Ji])}catch(t){return this.warn("TAR_ENTRY_INVALID",t)}if(r.nullBlock){if(this[gs]){this[bs]=true;if(this[Hi]==="begin"){this[Hi]="header"}this[ss]("eof")}else{this[gs]=true;this[ss]("nullBlock")}}else{this[gs]=false;if(!r.cksumValid){this.warn("TAR_ENTRY_INVALID","checksum failure",{header:r})}else if(!r.path){this.warn("TAR_ENTRY_INVALID","path is required",{header:r})}else{const t=r.type;if(/^(Symbolic)?Link$/.test(t)&&!r.linkpath){this.warn("TAR_ENTRY_INVALID","linkpath required",{header:r})}else if(!/^(Symbolic)?Link$/.test(t)&&!/^(Global)?ExtendedHeader$/.test(t)&&r.linkpath){this.warn("TAR_ENTRY_INVALID","linkpath forbidden",{header:r})}else{const t=this[Gi]=new ReadEntry(r,this[qi],this[Ji]);if(!this[ys]){if(t.remain){const onend=()=>{if(!t.invalid){this[ys]=true}};t.on("end",onend)}else{this[ys]=true}}if(t.meta){if(t.size>this.maxMetaEntrySize){t.ignore=true;this[ss]("ignoredEntry",t);this[Hi]="ignore";t.resume()}else if(t.size>0){this[Ki]="";t.on("data",(t=>this[Ki]+=t));this[Hi]="meta"}}else{this[qi]=undefined;t.ignore=t.ignore||!this.filter(t.path,t);if(t.ignore){this[ss]("ignoredEntry",t);this[Hi]=t.remain?"ignore":"header";t.resume()}else{if(t.remain){this[Hi]="body"}else{this[Hi]="header";t.end()}if(!this[Yi]){this[ts].push(t);this[Vi]()}else{this[ts].push(t)}}}}}}}[ws](){queueMicrotask((()=>this.emit("close")))}[Zi](t){let i=true;if(!t){this[Yi]=undefined;i=false}else if(Array.isArray(t)){const[i,...r]=t;this.emit(i,...r)}else{this[Yi]=t;this.emit("entry",t);if(!t.emittedEnd){t.on("end",(()=>this[Vi]()));i=false}}return i}[Vi](){do{}while(this[Zi](this[ts].shift()));if(!this[ts].length){const t=this[Yi];const i=!t||t.flowing||t.size===t.remain;if(i){if(!this[ds]){this.emit("drain")}}else{t.once("drain",(()=>this.emit("drain")))}}}[as](t,i){const r=this[Gi];if(!r){throw new Error("attempt to consume body without entry??")}const o=r.blockRemain??0;const a=o>=t.length&&i===0?t:t.subarray(i,i+o);r.write(a);if(!r.blockRemain){this[Hi]="header";this[Gi]=undefined;r.end()}return a.length}[hs](t,i){const r=this[Gi];const o=this[as](t,i);if(!this[Gi]&&r){this[Xi](r)}return o}[ss](t,i,r){if(!this[ts].length&&!this[Yi]){this.emit(t,i,r)}else{this[ts].push([t,i,r])}}[Xi](t){this[ss]("meta",this[Ki]);switch(t.type){case"ExtendedHeader":case"OldExtendedHeader":this[qi]=Pax.parse(this[Ki],this[qi],false);break;case"GlobalExtendedHeader":this[Ji]=Pax.parse(this[Ki],this[Ji],true);break;case"NextFileHasLongPath":case"OldGnuLongPath":{const t=this[qi]??Object.create(null);this[qi]=t;t.path=this[Ki].replace(/\0.*/,"");break}case"NextFileHasLongLinkpath":{const t=this[qi]||Object.create(null);this[qi]=t;t.linkpath=this[Ki].replace(/\0.*/,"");break}default:throw new Error("unknown meta: "+t.type)}}abort(t){this[ps]=true;this.emit("abort",t);this.warn("TAR_ABORT",t,{recoverable:false})}write(t,i,r){if(typeof i==="function"){r=i;i=undefined}if(typeof t==="string"){t=Buffer.from(t,typeof i==="string"?i:"utf8")}if(this[ps]){r?.();return false}const o=this[rs]===undefined||this.brotli===undefined&&this[rs]===false;if(o&&t){if(this[Qi]){t=Buffer.concat([this[Qi],t]);this[Qi]=undefined}if(t.length<Wi.length){this[Qi]=t;r?.();return true}for(let i=0;this[rs]===undefined&&i<Wi.length;i++){if(t[i]!==Wi[i]){this[rs]=false}}const i=this.brotli===undefined;if(this[rs]===false&&i){if(t.length<512){if(this[es]){this.brotli=true}else{this[Qi]=t;r?.();return true}}else{try{new Header(t.subarray(0,512));this.brotli=false}catch(t){this.brotli=true}}}if(this[rs]===undefined||this[rs]===false&&this.brotli){const i=this[es];this[es]=false;this[rs]=this[rs]===undefined?new Unzip({}):new BrotliDecompress({});this[rs].on("data",(t=>this[ns](t)));this[rs].on("error",(t=>this.abort(t)));this[rs].on("end",(()=>{this[es]=true;this[ns]()}));this[ds]=true;const o=!!this[rs][i?"end":"write"](t);this[ds]=false;r?.();return o}}this[ds]=true;if(this[rs]){this[rs].write(t)}else{this[ns](t)}this[ds]=false;const a=this[ts].length?false:this[Yi]?this[Yi].flowing:true;if(!a&&!this[ts].length){this[Yi]?.once("drain",(()=>this.emit("drain")))}r?.();return a}[us](t){if(t&&!this[ps]){this[Qi]=this[Qi]?Buffer.concat([this[Qi],t]):t}}[fs](){if(this[es]&&!this[is]&&!this[ps]&&!this[ls]){this[is]=true;const t=this[Gi];if(t&&t.blockRemain){const i=this[Qi]?this[Qi].length:0;this.warn("TAR_BAD_ARCHIVE",`Truncated input (needed ${t.blockRemain} more bytes, only ${i} available)`,{entry:t});if(this[Qi]){t.write(this[Qi])}t.end()}this[ss](ms)}}[ns](t){if(this[ls]&&t){this[us](t)}else if(!t&&!this[Qi]){this[fs]()}else if(t){this[ls]=true;if(this[Qi]){this[us](t);const i=this[Qi];this[Qi]=undefined;this[os](i)}else{this[os](t)}while(this[Qi]&&this[Qi]?.length>=512&&!this[ps]&&!this[bs]){const t=this[Qi];this[Qi]=undefined;this[os](t)}this[ls]=false}if(!this[Qi]||this[es]){this[fs]()}}[os](t){let i=0;const r=t.length;while(i+512<=r&&!this[ps]&&!this[bs]){switch(this[Hi]){case"begin":case"header":this[cs](t,i);i+=512;break;case"ignore":case"body":i+=this[as](t,i);break;case"meta":i+=this[hs](t,i);break;default:throw new Error("invalid state: "+this[Hi])}}if(i<r){if(this[Qi]){this[Qi]=Buffer.concat([t.subarray(i),this[Qi]])}else{this[Qi]=t.subarray(i)}}}end(t,i,r){if(typeof t==="function"){r=t;i=undefined;t=undefined}if(typeof i==="function"){r=i;i=undefined}if(typeof t==="string"){t=Buffer.from(t,i)}if(r)this.once("finish",r);if(!this[ps]){if(this[rs]){if(t)this[rs].write(t);this[rs].end()}else{this[es]=true;if(this.brotli===undefined)t=t||Buffer.alloc(0);if(t)this.write(t);this[fs]()}}return this}}const stripTrailingSlashes=t=>{let i=t.length-1;let r=-1;while(i>-1&&t.charAt(i)==="/"){r=i;i--}return r===-1?t:t.slice(0,r)};const onReadEntryFunction=t=>{const i=t.onReadEntry;t.onReadEntry=i?t=>{i(t);t.resume()}:t=>t.resume()};const filesFilter=(t,i)=>{const r=new Map(i.map((t=>[stripTrailingSlashes(t),true])));const o=t.filter;const mapHas=(t,i="")=>{const o=i||(0,Oi.parse)(t).root||".";let a;if(t===o)a=false;else{const i=r.get(t);if(i!==undefined){a=i}else{a=mapHas((0,Oi.dirname)(t),o)}}r.set(t,a);return a};t.filter=o?(t,i)=>o(t,i)&&mapHas(stripTrailingSlashes(t)):t=>mapHas(stripTrailingSlashes(t))};const listFileSync=t=>{const i=new Parser(t);const r=t.file;let o;try{const h=a.statSync(r);const c=t.maxReadSize||16*1024*1024;if(h.size<c){i.end(a.readFileSync(r))}else{let t=0;const l=Buffer.allocUnsafe(c);o=a.openSync(r,"r");while(t<h.size){const r=a.readSync(o,l,0,c,t);t+=r;i.write(l.subarray(0,r))}i.end()}}finally{if(typeof o==="number"){try{a.closeSync(o)}catch(t){}}}};const listFile=(t,i)=>{const r=new Parser(t);const o=t.maxReadSize||16*1024*1024;const h=t.file;const c=new Promise(((t,i)=>{r.on("error",i);r.on("end",t);a.stat(h,((t,a)=>{if(t){i(t)}else{const t=new ReadStream(h,{readSize:o,size:a.size});t.on("error",i);t.pipe(r)}}))}));return c};const vs=makeCommand(listFileSync,listFile,(t=>new Parser(t)),(t=>new Parser(t)),((t,i)=>{if(i?.length)filesFilter(t,i);if(!t.noResume)onReadEntryFunction(t)}));const modeFix=(t,i,r)=>{t&=4095;if(r){t=(t|384)&~18}if(i){if(t&256){t|=64}if(t&32){t|=8}if(t&4){t|=1}}return t};const{isAbsolute:Ss,parse:Es}=l.win32;const stripAbsolutePath=t=>{let i="";let r=Es(t);while(Ss(t)||r.root){const o=t.charAt(0)==="/"&&t.slice(0,4)!=="//?/"?"/":r.root;t=t.slice(o.length);i+=o;r=Es(t)}return[i,t]};const _s=["|","<",">","?",":"];const xs=_s.map((t=>String.fromCharCode(61440+t.charCodeAt(0))));const ks=new Map(_s.map(((t,i)=>[t,xs[i]])));const Os=new Map(xs.map(((t,i)=>[t,_s[i]])));const winchars_encode=t=>_s.reduce(((t,i)=>t.split(i).join(ks.get(i))),t);const decode=t=>xs.reduce(((t,i)=>t.split(i).join(Os.get(i))),t);const prefixPath=(t,i)=>{if(!i){return Ui(t)}t=Ui(t).replace(/^\.(\/|$)/,"");return stripTrailingSlashes(i)+"/"+t};const Rs=16*1024*1024;const Ts=Symbol("process");const Ps=Symbol("file");const Ds=Symbol("directory");const As=Symbol("symlink");const Fs=Symbol("hardlink");const Ms=Symbol("header");const Is=Symbol("read");const Ls=Symbol("lstat");const Cs=Symbol("onlstat");const Ns=Symbol("onread");const $s=Symbol("onreadlink");const js=Symbol("openfile");const Bs=Symbol("onopenfile");const Us=Symbol("close");const zs=Symbol("mode");const Ws=Symbol("awaitDrain");const Hs=Symbol("ondrain");const Gs=Symbol("prefix");class WriteEntry extends Minipass{path;portable;myuid=process.getuid&&process.getuid()||0;myuser=process.env.USER||"";maxReadSize;linkCache;statCache;preservePaths;cwd;strict;mtime;noPax;noMtime;prefix;fd;blockLen=0;blockRemain=0;buf;pos=0;remain=0;length=0;offset=0;win32;absolute;header;type;linkpath;stat;onWriteEntry;#f=false;constructor(t,i={}){const r=dealias(i);super();this.path=Ui(t);this.portable=!!r.portable;this.maxReadSize=r.maxReadSize||Rs;this.linkCache=r.linkCache||new Map;this.statCache=r.statCache||new Map;this.preservePaths=!!r.preservePaths;this.cwd=Ui(r.cwd||process.cwd());this.strict=!!r.strict;this.noPax=!!r.noPax;this.noMtime=!!r.noMtime;this.mtime=r.mtime;this.prefix=r.prefix?Ui(r.prefix):undefined;this.onWriteEntry=r.onWriteEntry;if(typeof r.onwarn==="function"){this.on("warn",r.onwarn)}let o=false;if(!this.preservePaths){const[t,i]=stripAbsolutePath(this.path);if(t&&typeof i==="string"){this.path=i;o=t}}this.win32=!!r.win32||process.platform==="win32";if(this.win32){this.path=decode(this.path.replace(/\\/g,"/"));t=t.replace(/\\/g,"/")}this.absolute=Ui(r.absolute||Oi.resolve(this.cwd,t));if(this.path===""){this.path="./"}if(o){this.warn("TAR_ENTRY_INFO",`stripping ${o} from absolute path`,{entry:this,path:o+this.path})}const a=this.statCache.get(this.absolute);if(a){this[Cs](a)}else{this[Ls]()}}warn(t,i,r={}){return warnMethod(this,t,i,r)}emit(t,...i){if(t==="error"){this.#f=true}return super.emit(t,...i)}[Ls](){ye.lstat(this.absolute,((t,i)=>{if(t){return this.emit("error",t)}this[Cs](i)}))}[Cs](t){this.statCache.set(this.absolute,t);this.stat=t;if(!t.isFile()){t.size=0}this.type=getType(t);this.emit("stat",t);this[Ts]()}[Ts](){switch(this.type){case"File":return this[Ps]();case"Directory":return this[Ds]();case"SymbolicLink":return this[As]();default:return this.end()}}[zs](t){return modeFix(t,this.type==="Directory",this.portable)}[Gs](t){return prefixPath(t,this.prefix)}[Ms](){if(!this.stat){throw new Error("cannot write header before stat")}if(this.type==="Directory"&&this.portable){this.noMtime=true}this.onWriteEntry?.(this);this.header=new Header({path:this[Gs](this.path),linkpath:this.type==="Link"&&this.linkpath!==undefined?this[Gs](this.linkpath):this.linkpath,mode:this[zs](this.stat.mode),uid:this.portable?undefined:this.stat.uid,gid:this.portable?undefined:this.stat.gid,size:this.stat.size,mtime:this.noMtime?undefined:this.mtime||this.stat.mtime,type:this.type==="Unsupported"?undefined:this.type,uname:this.portable?undefined:this.stat.uid===this.myuid?this.myuser:"",atime:this.portable?undefined:this.stat.atime,ctime:this.portable?undefined:this.stat.ctime});if(this.header.encode()&&!this.noPax){super.write(new Pax({atime:this.portable?undefined:this.header.atime,ctime:this.portable?undefined:this.header.ctime,gid:this.portable?undefined:this.header.gid,mtime:this.noMtime?undefined:this.mtime||this.header.mtime,path:this[Gs](this.path),linkpath:this.type==="Link"&&this.linkpath!==undefined?this[Gs](this.linkpath):this.linkpath,size:this.header.size,uid:this.portable?undefined:this.header.uid,uname:this.portable?undefined:this.header.uname,dev:this.portable?undefined:this.stat.dev,ino:this.portable?undefined:this.stat.ino,nlink:this.portable?undefined:this.stat.nlink}).encode())}const t=this.header?.block;if(!t){throw new Error("failed to encode header")}super.write(t)}[Ds](){if(!this.stat){throw new Error("cannot create directory entry without stat")}if(this.path.slice(-1)!=="/"){this.path+="/"}this.stat.size=0;this[Ms]();this.end()}[As](){ye.readlink(this.absolute,((t,i)=>{if(t){return this.emit("error",t)}this[$s](i)}))}[$s](t){this.linkpath=Ui(t);this[Ms]();this.end()}[Fs](t){if(!this.stat){throw new Error("cannot create link entry without stat")}this.type="Link";this.linkpath=Ui(Oi.relative(this.cwd,t));this.stat.size=0;this[Ms]();this.end()}[Ps](){if(!this.stat){throw new Error("cannot create file entry without stat")}if(this.stat.nlink>1){const t=`${this.stat.dev}:${this.stat.ino}`;const i=this.linkCache.get(t);if(i?.indexOf(this.cwd)===0){return this[Fs](i)}this.linkCache.set(t,this.absolute)}this[Ms]();if(this.stat.size===0){return this.end()}this[js]()}[js](){ye.open(this.absolute,"r",((t,i)=>{if(t){return this.emit("error",t)}this[Bs](i)}))}[Bs](t){this.fd=t;if(this.#f){return this[Us]()}if(!this.stat){throw new Error("should stat before calling onopenfile")}this.blockLen=512*Math.ceil(this.stat.size/512);this.blockRemain=this.blockLen;const i=Math.min(this.blockLen,this.maxReadSize);this.buf=Buffer.allocUnsafe(i);this.offset=0;this.pos=0;this.remain=this.stat.size;this.length=this.buf.length;this[Is]()}[Is](){const{fd:t,buf:i,offset:r,length:o,pos:a}=this;if(t===undefined||i===undefined){throw new Error("cannot read file without first opening")}ye.read(t,i,r,o,a,((t,i)=>{if(t){return this[Us]((()=>this.emit("error",t)))}this[Ns](i)}))}[Us](t=()=>{}){if(this.fd!==undefined)ye.close(this.fd,t)}[Ns](t){if(t<=0&&this.remain>0){const t=Object.assign(new Error("encountered unexpected EOF"),{path:this.absolute,syscall:"read",code:"EOF"});return this[Us]((()=>this.emit("error",t)))}if(t>this.remain){const t=Object.assign(new Error("did not encounter expected EOF"),{path:this.absolute,syscall:"read",code:"EOF"});return this[Us]((()=>this.emit("error",t)))}if(!this.buf){throw new Error("should have created buffer prior to reading")}if(t===this.remain){for(let i=t;i<this.length&&t<this.blockRemain;i++){this.buf[i+this.offset]=0;t++;this.remain++}}const i=this.offset===0&&t===this.buf.length?this.buf:this.buf.subarray(this.offset,this.offset+t);const r=this.write(i);if(!r){this[Ws]((()=>this[Hs]()))}else{this[Hs]()}}[Ws](t){this.once("drain",t)}write(t,i,r){if(typeof i==="function"){r=i;i=undefined}if(typeof t==="string"){t=Buffer.from(t,typeof i==="string"?i:"utf8")}if(this.blockRemain<t.length){const t=Object.assign(new Error("writing more data than expected"),{path:this.absolute});return this.emit("error",t)}this.remain-=t.length;this.blockRemain-=t.length;this.pos+=t.length;this.offset+=t.length;return super.write(t,null,r)}[Hs](){if(!this.remain){if(this.blockRemain){super.write(Buffer.alloc(this.blockRemain))}return this[Us]((t=>t?this.emit("error",t):this.end()))}if(!this.buf){throw new Error("buffer lost somehow in ONDRAIN")}if(this.offset>=this.length){this.buf=Buffer.allocUnsafe(Math.min(this.blockRemain,this.buf.length));this.offset=0}this.length=this.buf.length-this.offset;this[Is]()}}class WriteEntrySync extends WriteEntry{sync=true;[Ls](){this[Cs](ye.lstatSync(this.absolute))}[As](){this[$s](ye.readlinkSync(this.absolute))}[js](){this[Bs](ye.openSync(this.absolute,"r"))}[Is](){let t=true;try{const{fd:i,buf:r,offset:o,length:a,pos:h}=this;if(i===undefined||r===undefined){throw new Error("fd and buf must be set in READ method")}const c=ye.readSync(i,r,o,a,h);this[Ns](c);t=false}finally{if(t){try{this[Us]((()=>{}))}catch(t){}}}}[Ws](t){t()}[Us](t=()=>{}){if(this.fd!==undefined)ye.closeSync(this.fd);t()}}class WriteEntryTar extends Minipass{blockLen=0;blockRemain=0;buf=0;pos=0;remain=0;length=0;preservePaths;portable;strict;noPax;noMtime;readEntry;type;prefix;path;mode;uid;gid;uname;gname;header;mtime;atime;ctime;linkpath;size;onWriteEntry;warn(t,i,r={}){return warnMethod(this,t,i,r)}constructor(t,i={}){const r=dealias(i);super();this.preservePaths=!!r.preservePaths;this.portable=!!r.portable;this.strict=!!r.strict;this.noPax=!!r.noPax;this.noMtime=!!r.noMtime;this.onWriteEntry=r.onWriteEntry;this.readEntry=t;const{type:o}=t;if(o==="Unsupported"){throw new Error("writing entry that should be ignored")}this.type=o;if(this.type==="Directory"&&this.portable){this.noMtime=true}this.prefix=r.prefix;this.path=Ui(t.path);this.mode=t.mode!==undefined?this[zs](t.mode):undefined;this.uid=this.portable?undefined:t.uid;this.gid=this.portable?undefined:t.gid;this.uname=this.portable?undefined:t.uname;this.gname=this.portable?undefined:t.gname;this.size=t.size;this.mtime=this.noMtime?undefined:r.mtime||t.mtime;this.atime=this.portable?undefined:t.atime;this.ctime=this.portable?undefined:t.ctime;this.linkpath=t.linkpath!==undefined?Ui(t.linkpath):undefined;if(typeof r.onwarn==="function"){this.on("warn",r.onwarn)}let a=false;if(!this.preservePaths){const[t,i]=stripAbsolutePath(this.path);if(t&&typeof i==="string"){this.path=i;a=t}}this.remain=t.size;this.blockRemain=t.startBlockSize;this.onWriteEntry?.(this);this.header=new Header({path:this[Gs](this.path),linkpath:this.type==="Link"&&this.linkpath!==undefined?this[Gs](this.linkpath):this.linkpath,mode:this.mode,uid:this.portable?undefined:this.uid,gid:this.portable?undefined:this.gid,size:this.size,mtime:this.noMtime?undefined:this.mtime,type:this.type,uname:this.portable?undefined:this.uname,atime:this.portable?undefined:this.atime,ctime:this.portable?undefined:this.ctime});if(a){this.warn("TAR_ENTRY_INFO",`stripping ${a} from absolute path`,{entry:this,path:a+this.path})}if(this.header.encode()&&!this.noPax){super.write(new Pax({atime:this.portable?undefined:this.atime,ctime:this.portable?undefined:this.ctime,gid:this.portable?undefined:this.gid,mtime:this.noMtime?undefined:this.mtime,path:this[Gs](this.path),linkpath:this.type==="Link"&&this.linkpath!==undefined?this[Gs](this.linkpath):this.linkpath,size:this.size,uid:this.portable?undefined:this.uid,uname:this.portable?undefined:this.uname,dev:this.portable?undefined:this.readEntry.dev,ino:this.portable?undefined:this.readEntry.ino,nlink:this.portable?undefined:this.readEntry.nlink}).encode())}const h=this.header?.block;if(!h)throw new Error("failed to encode header");super.write(h);t.pipe(this)}[Gs](t){return prefixPath(t,this.prefix)}[zs](t){return modeFix(t,this.type==="Directory",this.portable)}write(t,i,r){if(typeof i==="function"){r=i;i=undefined}if(typeof t==="string"){t=Buffer.from(t,typeof i==="string"?i:"utf8")}const o=t.length;if(o>this.blockRemain){throw new Error("writing more to entry than is appropriate")}this.blockRemain-=o;return super.write(t,r)}end(t,i,r){if(this.blockRemain){super.write(Buffer.alloc(this.blockRemain))}if(typeof t==="function"){r=t;i=undefined;t=undefined}if(typeof i==="function"){r=i;i=undefined}if(typeof t==="string"){t=Buffer.from(t,i??"utf8")}if(r)this.once("finish",r);t?super.end(t,r):super.end(r);return this}}const getType=t=>t.isFile()?"File":t.isDirectory()?"Directory":t.isSymbolicLink()?"SymbolicLink":"Unsupported";class PackJob{path;absolute;entry;stat;readdir;pending=false;ignore=false;piped=false;constructor(t,i){this.path=t||"./";this.absolute=i}}const Ys=Buffer.alloc(1024);const Vs=Symbol("onStat");const Zs=Symbol("ended");const qs=Symbol("queue");const Js=Symbol("current");const Ks=Symbol("process");const Xs=Symbol("processing");const Qs=Symbol("processJob");const tr=Symbol("jobs");const er=Symbol("jobDone");const ir=Symbol("addFSEntry");const sr=Symbol("addTarEntry");const rr=Symbol("stat");const nr=Symbol("readdir");const or=Symbol("onreaddir");const ar=Symbol("pipe");const hr=Symbol("entry");const cr=Symbol("entryOpt");const lr=Symbol("writeEntryClass");const ur=Symbol("write");const fr=Symbol("ondrain");class Pack extends Minipass{opt;cwd;maxReadSize;preservePaths;strict;noPax;prefix;linkCache;statCache;file;portable;zip;readdirCache;noDirRecurse;follow;noMtime;mtime;filter;jobs;[lr];onWriteEntry;[qs];[tr]=0;[Xs]=false;[Zs]=false;constructor(t={}){super();this.opt=t;this.file=t.file||"";this.cwd=t.cwd||process.cwd();this.maxReadSize=t.maxReadSize;this.preservePaths=!!t.preservePaths;this.strict=!!t.strict;this.noPax=!!t.noPax;this.prefix=Ui(t.prefix||"");this.linkCache=t.linkCache||new Map;this.statCache=t.statCache||new Map;this.readdirCache=t.readdirCache||new Map;this.onWriteEntry=t.onWriteEntry;this[lr]=WriteEntry;if(typeof t.onwarn==="function"){this.on("warn",t.onwarn)}this.portable=!!t.portable;if(t.gzip||t.brotli){if(t.gzip&&t.brotli){throw new TypeError("gzip and brotli are mutually exclusive")}if(t.gzip){if(typeof t.gzip!=="object"){t.gzip={}}if(this.portable){t.gzip.portable=true}this.zip=new Gzip(t.gzip)}if(t.brotli){if(typeof t.brotli!=="object"){t.brotli={}}this.zip=new BrotliCompress(t.brotli)}if(!this.zip)throw new Error("impossible");const i=this.zip;i.on("data",(t=>super.write(t)));i.on("end",(()=>super.end()));i.on("drain",(()=>this[fr]()));this.on("resume",(()=>i.resume()))}else{this.on("drain",this[fr])}this.noDirRecurse=!!t.noDirRecurse;this.follow=!!t.follow;this.noMtime=!!t.noMtime;if(t.mtime)this.mtime=t.mtime;this.filter=typeof t.filter==="function"?t.filter:()=>true;this[qs]=new Yallist;this[tr]=0;this.jobs=Number(t.jobs)||4;this[Xs]=false;this[Zs]=false}[ur](t){return super.write(t)}add(t){this.write(t);return this}end(t,i,r){if(typeof t==="function"){r=t;t=undefined}if(typeof i==="function"){r=i;i=undefined}if(t){this.add(t)}this[Zs]=true;this[Ks]();if(r)r();return this}write(t){if(this[Zs]){throw new Error("write after end")}if(t instanceof ReadEntry){this[sr](t)}else{this[ir](t)}return this.flowing}[sr](t){const i=Ui(Oi.resolve(this.cwd,t.path));if(!this.filter(t.path,t)){t.resume()}else{const r=new PackJob(t.path,i);r.entry=new WriteEntryTar(t,this[cr](r));r.entry.on("end",(()=>this[er](r)));this[tr]+=1;this[qs].push(r)}this[Ks]()}[ir](t){const i=Ui(Oi.resolve(this.cwd,t));this[qs].push(new PackJob(t,i));this[Ks]()}[rr](t){t.pending=true;this[tr]+=1;const i=this.follow?"stat":"lstat";ye[i](t.absolute,((i,r)=>{t.pending=false;this[tr]-=1;if(i){this.emit("error",i)}else{this[Vs](t,r)}}))}[Vs](t,i){this.statCache.set(t.absolute,i);t.stat=i;if(!this.filter(t.path,i)){t.ignore=true}this[Ks]()}[nr](t){t.pending=true;this[tr]+=1;ye.readdir(t.absolute,((i,r)=>{t.pending=false;this[tr]-=1;if(i){return this.emit("error",i)}this[or](t,r)}))}[or](t,i){this.readdirCache.set(t.absolute,i);t.readdir=i;this[Ks]()}[Ks](){if(this[Xs]){return}this[Xs]=true;for(let t=this[qs].head;!!t&&this[tr]<this.jobs;t=t.next){this[Qs](t.value);if(t.value.ignore){const i=t.next;this[qs].removeNode(t);t.next=i}}this[Xs]=false;if(this[Zs]&&!this[qs].length&&this[tr]===0){if(this.zip){this.zip.end(Ys)}else{super.write(Ys);super.end()}}}get[Js](){return this[qs]&&this[qs].head&&this[qs].head.value}[er](t){this[qs].shift();this[tr]-=1;this[Ks]()}[Qs](t){if(t.pending){return}if(t.entry){if(t===this[Js]&&!t.piped){this[ar](t)}return}if(!t.stat){const i=this.statCache.get(t.absolute);if(i){this[Vs](t,i)}else{this[rr](t)}}if(!t.stat){return}if(t.ignore){return}if(!this.noDirRecurse&&t.stat.isDirectory()&&!t.readdir){const i=this.readdirCache.get(t.absolute);if(i){this[or](t,i)}else{this[nr](t)}if(!t.readdir){return}}t.entry=this[hr](t);if(!t.entry){t.ignore=true;return}if(t===this[Js]&&!t.piped){this[ar](t)}}[cr](t){return{onwarn:(t,i,r)=>this.warn(t,i,r),noPax:this.noPax,cwd:this.cwd,absolute:t.absolute,preservePaths:this.preservePaths,maxReadSize:this.maxReadSize,strict:this.strict,portable:this.portable,linkCache:this.linkCache,statCache:this.statCache,noMtime:this.noMtime,mtime:this.mtime,prefix:this.prefix,onWriteEntry:this.onWriteEntry}}[hr](t){this[tr]+=1;try{const i=new this[lr](t.path,this[cr](t));return i.on("end",(()=>this[er](t))).on("error",(t=>this.emit("error",t)))}catch(t){this.emit("error",t)}}[fr](){if(this[Js]&&this[Js].entry){this[Js].entry.resume()}}[ar](t){t.piped=true;if(t.readdir){t.readdir.forEach((i=>{const r=t.path;const o=r==="./"?"":r.replace(/\/*$/,"/");this[ir](o+i)}))}const i=t.entry;const r=this.zip;if(!i)throw new Error("cannot pipe without source");if(r){i.on("data",(t=>{if(!r.write(t)){i.pause()}}))}else{i.on("data",(t=>{if(!super.write(t)){i.pause()}}))}}pause(){if(this.zip){this.zip.pause()}return super.pause()}warn(t,i,r={}){warnMethod(this,t,i,r)}}class PackSync extends Pack{sync=true;constructor(t){super(t);this[lr]=WriteEntrySync}pause(){}resume(){}[rr](t){const i=this.follow?"statSync":"lstatSync";this[Vs](t,ye[i](t.absolute))}[nr](t){this[or](t,ye.readdirSync(t.absolute))}[ar](t){const i=t.entry;const r=this.zip;if(t.readdir){t.readdir.forEach((i=>{const r=t.path;const o=r==="./"?"":r.replace(/\/*$/,"/");this[ir](o+i)}))}if(!i)throw new Error("Cannot pipe without source");if(r){i.on("data",(t=>{r.write(t)}))}else{i.on("data",(t=>{super[ur](t)}))}}}const create_createFileSync=(t,i)=>{const r=new PackSync(t);const o=new WriteStreamSync(t.file,{mode:t.mode||438});r.pipe(o);addFilesSync(r,i)};const create_createFile=(t,i)=>{const r=new Pack(t);const o=new WriteStream(t.file,{mode:t.mode||438});r.pipe(o);const a=new Promise(((t,i)=>{o.on("error",i);o.on("close",t);r.on("error",i)}));addFilesAsync(r,i);return a};const addFilesSync=(t,i)=>{i.forEach((i=>{if(i.charAt(0)==="@"){vs({file:l.resolve(t.cwd,i.slice(1)),sync:true,noResume:true,onReadEntry:i=>t.add(i)})}else{t.add(i)}}));t.end()};const addFilesAsync=async(t,i)=>{for(let r=0;r<i.length;r++){const o=String(i[r]);if(o.charAt(0)==="@"){await vs({file:l.resolve(String(t.cwd),o.slice(1)),noResume:true,onReadEntry:i=>{t.add(i)}})}else{t.add(o)}}t.end()};const createSync=(t,i)=>{const r=new PackSync(t);addFilesSync(r,i);return r};const createAsync=(t,i)=>{const r=new Pack(t);addFilesAsync(r,i);return r};const dr=makeCommand(create_createFileSync,create_createFile,createSync,createAsync,((t,i)=>{if(!i?.length){throw new TypeError("no paths specified to add to archive")}}));const pr=t(import.meta.url)("node:assert");const mr=t(import.meta.url)("node:crypto");const yr=process.env.__FAKE_PLATFORM__||process.platform;const gr=yr==="win32";const{O_CREAT:br,O_TRUNC:wr,O_WRONLY:vr}=ye.constants;const Sr=Number(process.env.__FAKE_FS_O_FILENAME__)||ye.constants.UV_FS_O_FILEMAP||0;const Er=gr&&!!Sr;const _r=512*1024;const xr=Sr|wr|br|vr;const kr=!Er?()=>"w":t=>t<_r?xr:"w";const lchownSync=(t,i,r)=>{try{return a.lchownSync(t,i,r)}catch(t){if(t?.code!=="ENOENT")throw t}};const chown=(t,i,r,o)=>{a.lchown(t,i,r,(t=>{o(t&&t?.code!=="ENOENT"?t:null)}))};const chownrKid=(t,i,r,o,a)=>{if(i.isDirectory()){chownr(l.resolve(t,i.name),r,o,(h=>{if(h)return a(h);const c=l.resolve(t,i.name);chown(c,r,o,a)}))}else{const h=l.resolve(t,i.name);chown(h,r,o,a)}};const chownr=(t,i,r,o)=>{a.readdir(t,{withFileTypes:true},((a,h)=>{if(a){if(a.code==="ENOENT")return o();else if(a.code!=="ENOTDIR"&&a.code!=="ENOTSUP")return o(a)}if(a||!h.length)return chown(t,i,r,o);let c=h.length;let l=null;const then=a=>{if(l)return;if(a)return o(l=a);if(--c===0)return chown(t,i,r,o)};for(const o of h){chownrKid(t,o,i,r,then)}}))};const chownrKidSync=(t,i,r,o)=>{if(i.isDirectory())chownrSync(l.resolve(t,i.name),r,o);lchownSync(l.resolve(t,i.name),r,o)};const chownrSync=(t,i,r)=>{let o;try{o=a.readdirSync(t,{withFileTypes:true})}catch(o){const a=o;if(a?.code==="ENOENT")return;else if(a?.code==="ENOTDIR"||a?.code==="ENOTSUP")return lchownSync(t,i,r);else throw a}for(const a of o){chownrKidSync(t,a,i,r)}return lchownSync(t,i,r)};const optsArg=t=>{if(!t){t={mode:511}}else if(typeof t==="object"){t={mode:511,...t}}else if(typeof t==="number"){t={mode:t}}else if(typeof t==="string"){t={mode:parseInt(t,8)}}else{throw new TypeError("invalid options argument")}const i=t;const r=t.fs||{};t.mkdir=t.mkdir||r.mkdir||ye.mkdir;t.mkdirAsync=t.mkdirAsync?t.mkdirAsync:async(t,r)=>new Promise(((o,a)=>i.mkdir(t,r,((t,i)=>t?a(t):o(i)))));t.stat=t.stat||r.stat||ye.stat;t.statAsync=t.statAsync?t.statAsync:async t=>new Promise(((r,o)=>i.stat(t,((t,i)=>t?o(t):r(i)))));t.statSync=t.statSync||r.statSync||ye.statSync;t.mkdirSync=t.mkdirSync||r.mkdirSync||ye.mkdirSync;return i};const mkdirp_manual_mkdirpManualSync=(t,i,r)=>{const o=(0,Oi.dirname)(t);const a={...optsArg(i),recursive:false};if(o===t){try{return a.mkdirSync(t,a)}catch(t){const i=t;if(i&&i.code!=="EISDIR"){throw t}return}}try{a.mkdirSync(t,a);return r||t}catch(i){const h=i;if(h&&h.code==="ENOENT"){return mkdirp_manual_mkdirpManualSync(t,a,mkdirp_manual_mkdirpManualSync(o,a,r))}if(h&&h.code!=="EEXIST"&&h&&h.code!=="EROFS"){throw i}try{if(!a.statSync(t).isDirectory())throw i}catch(t){throw i}}};const Or=Object.assign((async(t,i,r)=>{const o=optsArg(i);o.recursive=false;const a=(0,Oi.dirname)(t);if(a===t){return o.mkdirAsync(t,o).catch((t=>{const i=t;if(i&&i.code!=="EISDIR"){throw t}}))}return o.mkdirAsync(t,o).then((()=>r||t),(async i=>{const h=i;if(h&&h.code==="ENOENT"){return Or(a,o).then((i=>Or(t,o,i)))}if(h&&h.code!=="EEXIST"&&h.code!=="EROFS"){throw i}return o.statAsync(t).then((t=>{if(t.isDirectory()){return r}else{throw i}}),(()=>{throw i}))}))}),{sync:mkdirp_manual_mkdirpManualSync});const findMade=async(t,i,r)=>{if(r===i){return}return t.statAsync(i).then((t=>t.isDirectory()?r:undefined),(r=>{const o=r;return o&&o.code==="ENOENT"?findMade(t,(0,Oi.dirname)(i),i):undefined}))};const findMadeSync=(t,i,r)=>{if(r===i){return undefined}try{return t.statSync(i).isDirectory()?r:undefined}catch(r){const o=r;return o&&o.code==="ENOENT"?findMadeSync(t,(0,Oi.dirname)(i),i):undefined}};const mkdirp_native_mkdirpNativeSync=(t,i)=>{const r=optsArg(i);r.recursive=true;const o=(0,Oi.dirname)(t);if(o===t){return r.mkdirSync(t,r)}const a=findMadeSync(r,t);try{r.mkdirSync(t,r);return a}catch(i){const o=i;if(o&&o.code==="ENOENT"){return mkdirp_manual_mkdirpManualSync(t,r)}else{throw i}}};const Rr=Object.assign((async(t,i)=>{const r={...optsArg(i),recursive:true};const o=(0,Oi.dirname)(t);if(o===t){return await r.mkdirAsync(t,r)}return findMade(r,t).then((i=>r.mkdirAsync(t,r).then((t=>i||t)).catch((i=>{const o=i;if(o&&o.code==="ENOENT"){return Or(t,r)}else{throw i}}))))}),{sync:mkdirp_native_mkdirpNativeSync});const Tr=process.env.__TESTING_MKDIRP_PLATFORM__||process.platform;const pathArg=t=>{if(/\0/.test(t)){throw Object.assign(new TypeError("path must be a string without null bytes"),{path:t,code:"ERR_INVALID_ARG_VALUE"})}t=(0,Oi.resolve)(t);if(Tr==="win32"){const i=/[*|"<>?:]/;const{root:r}=(0,Oi.parse)(t);if(i.test(t.substring(r.length))){throw Object.assign(new Error("Illegal characters in path."),{path:t,code:"EINVAL"})}}return t};const Pr=process.env.__TESTING_MKDIRP_NODE_VERSION__||process.version;const Dr=Pr.replace(/^v/,"").split(".");const Ar=+Dr[0]>10||+Dr[0]===10&&+Dr[1]>=12;const Fr=!Ar?()=>false:t=>optsArg(t).mkdirSync===ye.mkdirSync;const Mr=Object.assign(!Ar?()=>false:t=>optsArg(t).mkdir===ye.mkdir,{sync:Fr});const mjs_mkdirpSync=(t,i)=>{t=pathArg(t);const r=optsArg(i);return Fr(r)?mkdirp_native_mkdirpNativeSync(t,r):mkdirp_manual_mkdirpManualSync(t,r)};const Ir=null&&mjs_mkdirpSync;const Lr=null&&mkdirpManual;const Cr=null&&mkdirpManualSync;const Nr=null&&mkdirpNative;const $r=null&&mkdirpNativeSync;const jr=Object.assign((async(t,i)=>{t=pathArg(t);const r=optsArg(i);return Mr(r)?Rr(t,r):Or(t,r)}),{mkdirpSync:mjs_mkdirpSync,mkdirpNative:Rr,mkdirpNativeSync:mkdirp_native_mkdirpNativeSync,mkdirpManual:Or,mkdirpManualSync:mkdirp_manual_mkdirpManualSync,sync:mjs_mkdirpSync,native:Rr,nativeSync:mkdirp_native_mkdirpNativeSync,manual:Or,manualSync:mkdirp_manual_mkdirpManualSync,useNative:Mr,useNativeSync:Fr});class CwdError extends Error{path;code;syscall="chdir";constructor(t,i){super(`${i}: Cannot cd into '${t}'`);this.path=t;this.code=i}get name(){return"CwdError"}}class SymlinkError extends Error{path;symlink;syscall="symlink";code="TAR_SYMLINK_ERROR";constructor(t,i){super("TAR_SYMLINK_ERROR: Cannot extract through symbolic link");this.symlink=t;this.path=i}get name(){return"SymlinkError"}}const cGet=(t,i)=>t.get(Ui(i));const cSet=(t,i,r)=>t.set(Ui(i),r);const checkCwd=(t,i)=>{ye.stat(t,((r,o)=>{if(r||!o.isDirectory()){r=new CwdError(t,r?.code||"ENOTDIR")}i(r)}))};const mkdir=(t,i,r)=>{t=Ui(t);const o=i.umask??18;const a=i.mode|448;const h=(a&o)!==0;const c=i.uid;const u=i.gid;const d=typeof c==="number"&&typeof u==="number"&&(c!==i.processUid||u!==i.processGid);const p=i.preserve;const m=i.unlink;const y=i.cache;const g=Ui(i.cwd);const done=(i,o)=>{if(i){r(i)}else{cSet(y,t,true);if(o&&d){chownr(o,c,u,(t=>done(t)))}else if(h){ye.chmod(t,a,r)}else{r()}}};if(y&&cGet(y,t)===true){return done()}if(t===g){return checkCwd(t,done)}if(p){return jr(t,{mode:a}).then((t=>done(null,t??undefined)),done)}const b=Ui(l.relative(g,t));const w=b.split("/");mkdir_(g,w,a,y,m,g,undefined,done)};const mkdir_=(t,i,r,o,a,h,c,u)=>{if(!i.length){return u(null,c)}const d=i.shift();const p=Ui(l.resolve(t+"/"+d));if(cGet(o,p)){return mkdir_(p,i,r,o,a,h,c,u)}ye.mkdir(p,r,onmkdir(p,i,r,o,a,h,c,u))};const onmkdir=(t,i,r,o,a,h,c,l)=>u=>{if(u){ye.lstat(t,((d,p)=>{if(d){d.path=d.path&&Ui(d.path);l(d)}else if(p.isDirectory()){mkdir_(t,i,r,o,a,h,c,l)}else if(a){ye.unlink(t,(u=>{if(u){return l(u)}ye.mkdir(t,r,onmkdir(t,i,r,o,a,h,c,l))}))}else if(p.isSymbolicLink()){return l(new SymlinkError(t,t+"/"+i.join("/")))}else{l(u)}}))}else{c=c||t;mkdir_(t,i,r,o,a,h,c,l)}};const checkCwdSync=t=>{let i=false;let r=undefined;try{i=ye.statSync(t).isDirectory()}catch(t){r=t?.code}finally{if(!i){throw new CwdError(t,r??"ENOTDIR")}}};const mkdirSync=(t,i)=>{t=Ui(t);const r=i.umask??18;const o=i.mode|448;const a=(o&r)!==0;const h=i.uid;const c=i.gid;const u=typeof h==="number"&&typeof c==="number"&&(h!==i.processUid||c!==i.processGid);const d=i.preserve;const p=i.unlink;const m=i.cache;const y=Ui(i.cwd);const done=i=>{cSet(m,t,true);if(i&&u){chownrSync(i,h,c)}if(a){ye.chmodSync(t,o)}};if(m&&cGet(m,t)===true){return done()}if(t===y){checkCwdSync(y);return done()}if(d){return done(mjs_mkdirpSync(t,o)??undefined)}const g=Ui(l.relative(y,t));const b=g.split("/");let w=undefined;for(let t=b.shift(),i=y;t&&(i+="/"+t);t=b.shift()){i=Ui(l.resolve(i));if(cGet(m,i)){continue}try{ye.mkdirSync(i,o);w=w||i;cSet(m,i,true)}catch(t){const r=ye.lstatSync(i);if(r.isDirectory()){cSet(m,i,true);continue}else if(p){ye.unlinkSync(i);ye.mkdirSync(i,o);w=w||i;cSet(m,i,true);continue}else if(r.isSymbolicLink()){return new SymlinkError(i,i+"/"+b.join("/"))}}}return done(w)};const Br=Object.create(null);const{hasOwnProperty:Ur}=Object.prototype;const normalizeUnicode=t=>{if(!Ur.call(Br,t)){Br[t]=t.normalize("NFD")}return Br[t]};const zr=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform;const Wr=zr==="win32";const getDirs=t=>{const i=t.split("/").slice(0,-1).reduce(((t,i)=>{const r=t[t.length-1];if(r!==undefined){i=(0,l.join)(r,i)}t.push(i||"/");return t}),[]);return i};class PathReservations{#d=new Map;#p=new Map;#m=new Set;reserve(t,i){t=Wr?["win32 parallelization disabled"]:t.map((t=>stripTrailingSlashes((0,l.join)(normalizeUnicode(t))).toLowerCase()));const r=new Set(t.map((t=>getDirs(t))).reduce(((t,i)=>t.concat(i))));this.#p.set(i,{dirs:r,paths:t});for(const r of t){const t=this.#d.get(r);if(!t){this.#d.set(r,[i])}else{t.push(i)}}for(const t of r){const r=this.#d.get(t);if(!r){this.#d.set(t,[new Set([i])])}else{const t=r[r.length-1];if(t instanceof Set){t.add(i)}else{r.push(new Set([i]))}}}return this.#y(i)}#g(t){const i=this.#p.get(t);if(!i){throw new Error("function does not have any path reservations")}return{paths:i.paths.map((t=>this.#d.get(t))),dirs:[...i.dirs].map((t=>this.#d.get(t)))}}check(t){const{paths:i,dirs:r}=this.#g(t);return i.every((i=>i&&i[0]===t))&&r.every((i=>i&&i[0]instanceof Set&&i[0].has(t)))}#y(t){if(this.#m.has(t)||!this.check(t)){return false}this.#m.add(t);t((()=>this.#b(t)));return true}#b(t){if(!this.#m.has(t)){return false}const i=this.#p.get(t);if(!i){throw new Error("invalid reservation")}const{paths:r,dirs:o}=i;const a=new Set;for(const i of r){const r=this.#d.get(i);if(!r||r?.[0]!==t){continue}const o=r[1];if(!o){this.#d.delete(i);continue}r.shift();if(typeof o==="function"){a.add(o)}else{for(const t of o){a.add(t)}}}for(const i of o){const r=this.#d.get(i);const o=r?.[0];if(!r||!(o instanceof Set))continue;if(o.size===1&&r.length===1){this.#d.delete(i);continue}else if(o.size===1){r.shift();const t=r[0];if(typeof t==="function"){a.add(t)}}else{o.delete(t)}}this.#m.delete(t);a.forEach((t=>this.#y(t)));return true}}const Hr=Symbol("onEntry");const Gr=Symbol("checkFs");const Yr=Symbol("checkFs2");const Vr=Symbol("pruneCache");const Zr=Symbol("isReusable");const qr=Symbol("makeFs");const Jr=Symbol("file");const Kr=Symbol("directory");const Xr=Symbol("link");const Qr=Symbol("symlink");const tn=Symbol("hardlink");const en=Symbol("unsupported");const sn=Symbol("checkPath");const rn=Symbol("mkdir");const nn=Symbol("onError");const on=Symbol("pending");const an=Symbol("pend");const hn=Symbol("unpend");const cn=Symbol("ended");const ln=Symbol("maybeClose");const un=Symbol("skip");const fn=Symbol("doChown");const dn=Symbol("uid");const pn=Symbol("gid");const mn=Symbol("checkedCwd");const yn=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform;const gn=yn==="win32";const bn=1024;const unlinkFile=(t,i)=>{if(!gn){return a.unlink(t,i)}const r=t+".DELETE."+(0,mr.randomBytes)(16).toString("hex");a.rename(t,r,(t=>{if(t){return i(t)}a.unlink(r,i)}))};const unlinkFileSync=t=>{if(!gn){return a.unlinkSync(t)}const i=t+".DELETE."+(0,mr.randomBytes)(16).toString("hex");a.renameSync(t,i);a.unlinkSync(i)};const uint32=(t,i,r)=>t!==undefined&&t===t>>>0?t:i!==undefined&&i===i>>>0?i:r;const cacheKeyNormalize=t=>stripTrailingSlashes(Ui(normalizeUnicode(t))).toLowerCase();const pruneCache=(t,i)=>{i=cacheKeyNormalize(i);for(const r of t.keys()){const o=cacheKeyNormalize(r);if(o===i||o.indexOf(i+"/")===0){t.delete(r)}}};const dropCache=t=>{for(const i of t.keys()){t.delete(i)}};class Unpack extends Parser{[cn]=false;[mn]=false;[on]=0;reservations=new PathReservations;transform;writable=true;readable=false;dirCache;uid;gid;setOwner;preserveOwner;processGid;processUid;maxDepth;forceChown;win32;newer;keep;noMtime;preservePaths;unlink;cwd;strip;processUmask;umask;dmode;fmode;chmod;constructor(t={}){t.ondone=()=>{this[cn]=true;this[ln]()};super(t);this.transform=t.transform;this.dirCache=t.dirCache||new Map;this.chmod=!!t.chmod;if(typeof t.uid==="number"||typeof t.gid==="number"){if(typeof t.uid!=="number"||typeof t.gid!=="number"){throw new TypeError("cannot set owner without number uid and gid")}if(t.preserveOwner){throw new TypeError("cannot preserve owner in archive and also set owner explicitly")}this.uid=t.uid;this.gid=t.gid;this.setOwner=true}else{this.uid=undefined;this.gid=undefined;this.setOwner=false}if(t.preserveOwner===undefined&&typeof t.uid!=="number"){this.preserveOwner=!!(process.getuid&&process.getuid()===0)}else{this.preserveOwner=!!t.preserveOwner}this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():undefined;this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():undefined;this.maxDepth=typeof t.maxDepth==="number"?t.maxDepth:bn;this.forceChown=t.forceChown===true;this.win32=!!t.win32||gn;this.newer=!!t.newer;this.keep=!!t.keep;this.noMtime=!!t.noMtime;this.preservePaths=!!t.preservePaths;this.unlink=!!t.unlink;this.cwd=Ui(l.resolve(t.cwd||process.cwd()));this.strip=Number(t.strip)||0;this.processUmask=!this.chmod?0:typeof t.processUmask==="number"?t.processUmask:process.umask();this.umask=typeof t.umask==="number"?t.umask:this.processUmask;this.dmode=t.dmode||511&~this.umask;this.fmode=t.fmode||438&~this.umask;this.on("entry",(t=>this[Hr](t)))}warn(t,i,r={}){if(t==="TAR_BAD_ARCHIVE"||t==="TAR_ABORT"){r.recoverable=false}return super.warn(t,i,r)}[ln](){if(this[cn]&&this[on]===0){this.emit("prefinish");this.emit("finish");this.emit("end")}}[sn](t){const i=Ui(t.path);const r=i.split("/");if(this.strip){if(r.length<this.strip){return false}if(t.type==="Link"){const i=Ui(String(t.linkpath)).split("/");if(i.length>=this.strip){t.linkpath=i.slice(this.strip).join("/")}else{return false}}r.splice(0,this.strip);t.path=r.join("/")}if(isFinite(this.maxDepth)&&r.length>this.maxDepth){this.warn("TAR_ENTRY_ERROR","path excessively deep",{entry:t,path:i,depth:r.length,maxDepth:this.maxDepth});return false}if(!this.preservePaths){if(r.includes("..")||gn&&/^[a-z]:\.\.$/i.test(r[0]??"")){this.warn("TAR_ENTRY_ERROR",`path contains '..'`,{entry:t,path:i});return false}const[o,a]=stripAbsolutePath(i);if(o){t.path=String(a);this.warn("TAR_ENTRY_INFO",`stripping ${o} from absolute path`,{entry:t,path:i})}}if(l.isAbsolute(t.path)){t.absolute=Ui(l.resolve(t.path))}else{t.absolute=Ui(l.resolve(this.cwd,t.path))}if(!this.preservePaths&&typeof t.absolute==="string"&&t.absolute.indexOf(this.cwd+"/")!==0&&t.absolute!==this.cwd){this.warn("TAR_ENTRY_ERROR","path escaped extraction target",{entry:t,path:Ui(t.path),resolvedPath:t.absolute,cwd:this.cwd});return false}if(t.absolute===this.cwd&&t.type!=="Directory"&&t.type!=="GNUDumpDir"){return false}if(this.win32){const{root:i}=l.win32.parse(String(t.absolute));t.absolute=i+winchars_encode(String(t.absolute).slice(i.length));const{root:r}=l.win32.parse(t.path);t.path=r+winchars_encode(t.path.slice(r.length))}return true}[Hr](t){if(!this[sn](t)){return t.resume()}pr.equal(typeof t.absolute,"string");switch(t.type){case"Directory":case"GNUDumpDir":if(t.mode){t.mode=t.mode|448}case"File":case"OldFile":case"ContiguousFile":case"Link":case"SymbolicLink":return this[Gr](t);case"CharacterDevice":case"BlockDevice":case"FIFO":default:return this[en](t)}}[nn](t,i){if(t.name==="CwdError"){this.emit("error",t)}else{this.warn("TAR_ENTRY_ERROR",t,{entry:i});this[hn]();i.resume()}}[rn](t,i,r){mkdir(Ui(t),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:i},r)}[fn](t){return this.forceChown||this.preserveOwner&&(typeof t.uid==="number"&&t.uid!==this.processUid||typeof t.gid==="number"&&t.gid!==this.processGid)||typeof this.uid==="number"&&this.uid!==this.processUid||typeof this.gid==="number"&&this.gid!==this.processGid}[dn](t){return uint32(this.uid,t.uid,this.processUid)}[pn](t){return uint32(this.gid,t.gid,this.processGid)}[Jr](t,i){const r=typeof t.mode==="number"?t.mode&4095:this.fmode;const o=new WriteStream(String(t.absolute),{flags:kr(t.size),mode:r,autoClose:false});o.on("error",(r=>{if(o.fd){a.close(o.fd,(()=>{}))}o.write=()=>true;this[nn](r,t);i()}));let h=1;const done=r=>{if(r){if(o.fd){a.close(o.fd,(()=>{}))}this[nn](r,t);i();return}if(--h===0){if(o.fd!==undefined){a.close(o.fd,(r=>{if(r){this[nn](r,t)}else{this[hn]()}i()}))}}};o.on("finish",(()=>{const i=String(t.absolute);const r=o.fd;if(typeof r==="number"&&t.mtime&&!this.noMtime){h++;const o=t.atime||new Date;const c=t.mtime;a.futimes(r,o,c,(t=>t?a.utimes(i,o,c,(i=>done(i&&t))):done()))}if(typeof r==="number"&&this[fn](t)){h++;const o=this[dn](t);const c=this[pn](t);if(typeof o==="number"&&typeof c==="number"){a.fchown(r,o,c,(t=>t?a.chown(i,o,c,(i=>done(i&&t))):done()))}}done()}));const c=this.transform?this.transform(t)||t:t;if(c!==t){c.on("error",(r=>{this[nn](r,t);i()}));t.pipe(c)}c.pipe(o)}[Kr](t,i){const r=typeof t.mode==="number"?t.mode&4095:this.dmode;this[rn](String(t.absolute),r,(r=>{if(r){this[nn](r,t);i();return}let o=1;const done=()=>{if(--o===0){i();this[hn]();t.resume()}};if(t.mtime&&!this.noMtime){o++;a.utimes(String(t.absolute),t.atime||new Date,t.mtime,done)}if(this[fn](t)){o++;a.chown(String(t.absolute),Number(this[dn](t)),Number(this[pn](t)),done)}done()}))}[en](t){t.unsupported=true;this.warn("TAR_ENTRY_UNSUPPORTED",`unsupported entry type: ${t.type}`,{entry:t});t.resume()}[Qr](t,i){this[Xr](t,String(t.linkpath),"symlink",i)}[tn](t,i){const r=Ui(l.resolve(this.cwd,String(t.linkpath)));this[Xr](t,r,"link",i)}[an](){this[on]++}[hn](){this[on]--;this[ln]()}[un](t){this[hn]();t.resume()}[Zr](t,i){return t.type==="File"&&!this.unlink&&i.isFile()&&i.nlink<=1&&!gn}[Gr](t){this[an]();const i=[t.path];if(t.linkpath){i.push(t.linkpath)}this.reservations.reserve(i,(i=>this[Yr](t,i)))}[Vr](t){if(t.type==="SymbolicLink"){dropCache(this.dirCache)}else if(t.type!=="Directory"){pruneCache(this.dirCache,String(t.absolute))}}[Yr](t,i){this[Vr](t);const done=r=>{this[Vr](t);i(r)};const checkCwd=()=>{this[rn](this.cwd,this.dmode,(i=>{if(i){this[nn](i,t);done();return}this[mn]=true;start()}))};const start=()=>{if(t.absolute!==this.cwd){const i=Ui(l.dirname(String(t.absolute)));if(i!==this.cwd){return this[rn](i,this.dmode,(i=>{if(i){this[nn](i,t);done();return}afterMakeParent()}))}}afterMakeParent()};const afterMakeParent=()=>{a.lstat(String(t.absolute),((i,r)=>{if(r&&(this.keep||this.newer&&r.mtime>(t.mtime??r.mtime))){this[un](t);done();return}if(i||this[Zr](t,r)){return this[qr](null,t,done)}if(r.isDirectory()){if(t.type==="Directory"){const i=this.chmod&&t.mode&&(r.mode&4095)!==t.mode;const afterChmod=i=>this[qr](i??null,t,done);if(!i){return afterChmod()}return a.chmod(String(t.absolute),Number(t.mode),afterChmod)}if(t.absolute!==this.cwd){return a.rmdir(String(t.absolute),(i=>this[qr](i??null,t,done)))}}if(t.absolute===this.cwd){return this[qr](null,t,done)}unlinkFile(String(t.absolute),(i=>this[qr](i??null,t,done)))}))};if(this[mn]){start()}else{checkCwd()}}[qr](t,i,r){if(t){this[nn](t,i);r();return}switch(i.type){case"File":case"OldFile":case"ContiguousFile":return this[Jr](i,r);case"Link":return this[tn](i,r);case"SymbolicLink":return this[Qr](i,r);case"Directory":case"GNUDumpDir":return this[Kr](i,r)}}[Xr](t,i,r,o){a[r](i,String(t.absolute),(i=>{if(i){this[nn](i,t)}else{this[hn]();t.resume()}o()}))}}const callSync=t=>{try{return[null,t()]}catch(t){return[t,null]}};class UnpackSync extends Unpack{sync=true;[qr](t,i){return super[qr](t,i,(()=>{}))}[Gr](t){this[Vr](t);if(!this[mn]){const i=this[rn](this.cwd,this.dmode);if(i){return this[nn](i,t)}this[mn]=true}if(t.absolute!==this.cwd){const i=Ui(l.dirname(String(t.absolute)));if(i!==this.cwd){const r=this[rn](i,this.dmode);if(r){return this[nn](r,t)}}}const[i,r]=callSync((()=>a.lstatSync(String(t.absolute))));if(r&&(this.keep||this.newer&&r.mtime>(t.mtime??r.mtime))){return this[un](t)}if(i||this[Zr](t,r)){return this[qr](null,t)}if(r.isDirectory()){if(t.type==="Directory"){const i=this.chmod&&t.mode&&(r.mode&4095)!==t.mode;const[o]=i?callSync((()=>{a.chmodSync(String(t.absolute),Number(t.mode))})):[];return this[qr](o,t)}const[i]=callSync((()=>a.rmdirSync(String(t.absolute))));this[qr](i,t)}const[o]=t.absolute===this.cwd?[]:callSync((()=>unlinkFileSync(String(t.absolute))));this[qr](o,t)}[Jr](t,i){const r=typeof t.mode==="number"?t.mode&4095:this.fmode;const oner=r=>{let h;try{a.closeSync(o)}catch(t){h=t}if(r||h){this[nn](r||h,t)}i()};let o;try{o=a.openSync(String(t.absolute),kr(t.size),r)}catch(t){return oner(t)}const h=this.transform?this.transform(t)||t:t;if(h!==t){h.on("error",(i=>this[nn](i,t)));t.pipe(h)}h.on("data",(t=>{try{a.writeSync(o,t,0,t.length)}catch(t){oner(t)}}));h.on("end",(()=>{let i=null;if(t.mtime&&!this.noMtime){const r=t.atime||new Date;const h=t.mtime;try{a.futimesSync(o,r,h)}catch(o){try{a.utimesSync(String(t.absolute),r,h)}catch(t){i=o}}}if(this[fn](t)){const r=this[dn](t);const h=this[pn](t);try{a.fchownSync(o,Number(r),Number(h))}catch(o){try{a.chownSync(String(t.absolute),Number(r),Number(h))}catch(t){i=i||o}}}oner(i)}))}[Kr](t,i){const r=typeof t.mode==="number"?t.mode&4095:this.dmode;const o=this[rn](String(t.absolute),r);if(o){this[nn](o,t);i();return}if(t.mtime&&!this.noMtime){try{a.utimesSync(String(t.absolute),t.atime||new Date,t.mtime)}catch(o){}}if(this[fn](t)){try{a.chownSync(String(t.absolute),Number(this[dn](t)),Number(this[pn](t)))}catch(o){}}i();t.resume()}[rn](t,i){try{return mkdirSync(Ui(t),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:i})}catch(t){return t}}[Xr](t,i,r,o){const h=`${r}Sync`;try{a[h](i,String(t.absolute));o();t.resume()}catch(i){return this[nn](i,t)}}}const extractFileSync=t=>{const i=new UnpackSync(t);const r=t.file;const o=a.statSync(r);const h=t.maxReadSize||16*1024*1024;const c=new ReadStreamSync(r,{readSize:h,size:o.size});c.pipe(i)};const extractFile=(t,i)=>{const r=new Unpack(t);const o=t.maxReadSize||16*1024*1024;const h=t.file;const c=new Promise(((t,i)=>{r.on("error",i);r.on("close",t);a.stat(h,((t,a)=>{if(t){i(t)}else{const t=new ReadStream(h,{readSize:o,size:a.size});t.on("error",i);t.pipe(r)}}))}));return c};const wn=makeCommand(extractFileSync,extractFile,(t=>new UnpackSync(t)),(t=>new Unpack(t)),((t,i)=>{if(i?.length)filesFilter(t,i)}));const replaceSync=(t,i)=>{const r=new PackSync(t);let o=true;let h;let c;try{try{h=a.openSync(t.file,"r+")}catch(i){if(i?.code==="ENOENT"){h=a.openSync(t.file,"w+")}else{throw i}}const l=a.fstatSync(h);const u=Buffer.alloc(512);t:for(c=0;c<l.size;c+=512){for(let t=0,i=0;t<512;t+=i){i=a.readSync(h,u,t,u.length-t,c+t);if(c===0&&u[0]===31&&u[1]===139){throw new Error("cannot append to compressed archives")}if(!i){break t}}const i=new Header(u);if(!i.cksumValid){break}const r=512*Math.ceil((i.size||0)/512);if(c+r+512>l.size){break}c+=r;if(t.mtimeCache&&i.mtime){t.mtimeCache.set(String(i.path),i.mtime)}}o=false;streamSync(t,r,c,h,i)}finally{if(o){try{a.closeSync(h)}catch(t){}}}};const streamSync=(t,i,r,o,a)=>{const h=new WriteStreamSync(t.file,{fd:o,start:r});i.pipe(h);replace_addFilesSync(i,a)};const replaceAsync=(t,i)=>{i=Array.from(i);const r=new Pack(t);const getPos=(i,r,o)=>{const cb=(t,r)=>{if(t){a.close(i,(i=>o(t)))}else{o(null,r)}};let h=0;if(r===0){return cb(null,0)}let c=0;const l=Buffer.alloc(512);const onread=(o,u)=>{if(o||typeof u==="undefined"){return cb(o)}c+=u;if(c<512&&u){return a.read(i,l,c,l.length-c,h+c,onread)}if(h===0&&l[0]===31&&l[1]===139){return cb(new Error("cannot append to compressed archives"))}if(c<512){return cb(null,h)}const d=new Header(l);if(!d.cksumValid){return cb(null,h)}const p=512*Math.ceil((d.size??0)/512);if(h+p+512>r){return cb(null,h)}h+=p+512;if(h>=r){return cb(null,h)}if(t.mtimeCache&&d.mtime){t.mtimeCache.set(String(d.path),d.mtime)}c=0;a.read(i,l,0,512,h,onread)};a.read(i,l,0,512,h,onread)};const o=new Promise(((o,h)=>{r.on("error",h);let c="r+";const onopen=(l,u)=>{if(l&&l.code==="ENOENT"&&c==="r+"){c="w+";return a.open(t.file,c,onopen)}if(l||!u){return h(l)}a.fstat(u,((c,l)=>{if(c){return a.close(u,(()=>h(c)))}getPos(u,l.size,((a,c)=>{if(a){return h(a)}const l=new WriteStream(t.file,{fd:u,start:c});r.pipe(l);l.on("error",h);l.on("close",o);replace_addFilesAsync(r,i)}))}))};a.open(t.file,c,onopen)}));return o};const replace_addFilesSync=(t,i)=>{i.forEach((i=>{if(i.charAt(0)==="@"){vs({file:l.resolve(t.cwd,i.slice(1)),sync:true,noResume:true,onReadEntry:i=>t.add(i)})}else{t.add(i)}}));t.end()};const replace_addFilesAsync=async(t,i)=>{for(let r=0;r<i.length;r++){const o=String(i[r]);if(o.charAt(0)==="@"){await vs({file:l.resolve(String(t.cwd),o.slice(1)),noResume:true,onReadEntry:i=>t.add(i)})}else{t.add(o)}}t.end()};const vn=makeCommand(replaceSync,replaceAsync,(()=>{throw new TypeError("file is required")}),(()=>{throw new TypeError("file is required")}),((t,i)=>{if(!isFile(t)){throw new TypeError("file is required")}if(t.gzip||t.brotli||t.file.endsWith(".br")||t.file.endsWith(".tbr")){throw new TypeError("cannot append to compressed archives")}if(!i?.length){throw new TypeError("no paths specified to add/replace")}}));const Sn=makeCommand(vn.syncFile,vn.asyncFile,vn.syncNoFile,vn.asyncNoFile,((t,i=[])=>{vn.validate?.(t,i);mtimeFilter(t)}));const mtimeFilter=t=>{const i=t.filter;if(!t.mtimeCache){t.mtimeCache=new Map}t.filter=i?(r,o)=>i(r,o)&&!((t.mtimeCache?.get(r)??o.mtime??0)>(o.mtime??0)):(i,r)=>!((t.mtimeCache?.get(i)??r.mtime??0)>(r.mtime??0))};async function isUrlOk(t){try{const i=await fetch(t,{method:"HEAD"});return i.status===200}catch{return false}}async function getRepoInfo(t){const[,i,r,o,a,...h]=t.pathname.split("/");const c=h.join("/");if(o===undefined||o===""&&a===undefined){try{const t=await fetch(`https://api.github.com/repos/${i}/${r}`);if(t.status!==200){return}const o=await t.json();return{username:i,name:r,branch:o["default_branch"],filePath:c}}catch{return}}if(i&&r&&a&&o==="tree"){return{username:i,name:r,branch:a,filePath:c}}}function hasRepo({username:t,name:i,branch:r,filePath:o}){const a=`https://api.github.com/repos/${t}/${i}/contents`;const h=`${o?`/${o}`:""}/package.json`;return isUrlOk(a+h+`?ref=${r}`)}async function downloadTarStream(t){const i=await fetch(t);if(!i.body){throw new Error(`Failed to download: ${t}`)}return de.Readable.fromWeb(i.body)}async function downloadAndExtractRepo(t,{username:i,name:r,branch:o,filePath:a}){await(0,pe.pipeline)(await downloadTarStream(`https://codeload.github.com/${i}/${r}/tar.gz/${o}`),wn({cwd:t,strip:a?a.split("/").length+1:1,filter:t=>t.startsWith(`${r}-${o?.replace(/\//g,"-")}${a?`/${a}/`:"/"}`)}))}function getValidURL(t){try{return new URL(t)}catch(t){const i=t;if(i.code!=="ERR_INVALID_URL"){console.error(t);process.exit(1)}}}async function parseExampleOption(t){if(!t){return null}const i=getValidURL(t);if(!i){console.error(`Not a valid URL ${D(`"${t}"`)}. Please check the URL syntax and try again.`);process.exit(1)}if(i.origin!=="https://github.com"&&i.origin!=="https://www.github.com"){console.error(`Invalid URL: ${D(`"${t}"`)}. Only GitHub repositories are supported. Please use a GitHub URL and try again.`);process.exit(1)}const r=await getRepoInfo(i);if(!r){console.error(`Found invalid GitHub URL: ${D(`"${t}"`)}. Please fix the URL and try again.`);process.exit(1)}if(!await hasRepo(r)){console.error(`Could not locate the repository for ${D(`"${t}"`)}. Please check that the repository exists and try again.`);process.exit(1)}return{example:t,repoInfo:r}}async function downloadAndExtract(t,{example:i,repoInfo:r}){console.log(`Downloading files from repo ${C(i)}. This might take a moment.\n`);await downloadAndExtractRepo(t,r)}const En=t(import.meta.url)("node:child_process");const _n=process.env.npm_config_user_agent||"";const xn=/pnpm/.test(_n)?"pnpm":/yarn/.test(_n)?"yarn":"npm";const kn={pnpm:{install:"pnpm install",dev:"pnpm dev",create:"pnpm create waku"},yarn:{install:"yarn",dev:"yarn dev",create:"yarn create waku"},npm:{install:"npm install",dev:"npm run dev",create:"npm create waku"}}[xn];const On=u().join((0,d.fileURLToPath)(import.meta.url),"../../template");const{values:Rn}=(0,p.parseArgs)({args:process.argv.slice(2),options:{choose:{type:"boolean"},example:{type:"string"},help:{type:"boolean",short:"h"}}});async function doPrompts(){const isValidPackageName=t=>/^(?:@[a-z0-9-*~][a-z0-9-*._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/.test(t);const toValidPackageName=t=>t.trim().toLowerCase().replace(/\s+/g,"-").replace(/^[._]/,"").replace(/[^a-z0-9-~]+/g,"-");const canSafelyOverwrite=t=>!(0,a.existsSync)(t)||(0,a.readdirSync)(t).length===0;const t=await getTemplateNames(On);const i="waku-project";let r="";try{const o=await y()([{name:"projectName",type:"text",message:"Project Name",initial:i,onState:t=>r=String(t.value).trim()||i},{name:"shouldOverwrite",type:()=>canSafelyOverwrite(r)?null:"confirm",message:`${r} is not empty. Remove existing files and continue?`},{name:"overwriteChecker",type:t=>{if(t===false){throw new Error(D("✖")+" Operation cancelled")}return null}},{name:"packageName",type:()=>isValidPackageName(r)?null:"text",message:"Package name",initial:()=>toValidPackageName(r),validate:t=>isValidPackageName(t)||"Invalid package.json name"},{name:"templateName",type:Rn["choose"]?"select":null,message:"Choose a starter template",choices:t.map((t=>({title:t,value:t})))}],{onCancel:()=>{throw new Error(D("✖")+" Operation cancelled")}});return{...o,packageName:o.packageName??toValidPackageName(r),templateName:o.templateName??t[0],targetDir:r}}catch(t){if(t instanceof Error){console.log(t.message)}process.exit(1)}}function displayUsage(){console.log(`\nUsage: ${kn.create} [options]\n\nOptions:\n --choose Choose from the template list\n --example Specify an example use as a template\n -h, --help Display this help message\n`)}async function notifyUpdate(){const t=undefined("../package.json");const i=await fe()(t).catch((()=>{}));if(i?.latest){console.log(`A new version of 'create-waku' is available!`);console.log("You can update by running: ");console.log();console.log(` npm i -g create-waku`)}}async function init(){if(Rn.help){displayUsage();return}const t=await parseExampleOption(Rn.example);const{packageName:i,templateName:r,shouldOverwrite:o,targetDir:h}=await doPrompts();const l=u().resolve(h);console.log("Setting up project...");if(o){le.emptyDirSync(l)}else if(!(0,a.existsSync)(l)){await c().mkdir(l,{recursive:true})}if(t){await downloadAndExtract(l,t)}else{await installTemplate(l,i,On,r)}console.log();console.log(`Installing dependencies by running ${kn.install}...`);const d=(0,En.spawn)(xn,["install"],{stdio:"inherit",shell:process.platform==="win32",cwd:h});d.on("close",(t=>{if(t!==0){console.error(`Could not execute ${kn.install}. Please run`);console.log(`${E(A(`cd ${h}`))}`);console.log(`${E(A(kn.install))}`);console.log(`${E(A(kn.dev))}`);console.log()}else{console.log(`\nDone. Now run:\n`);console.log(`${E(A(`cd ${h}`))}`);console.log(`${E(A(kn.dev))}`);console.log()}}))}init().then(notifyUpdate).catch((t=>{console.error(t)}));