all repos — dbee @ b22378184073ce48c49767ed1031a99e1e83166c

Move PostgreSQL backups using S3

🎉 Init v1.0
Tim Izzo tim@octree.ch
Fri, 30 Jul 2021 15:45:12 +0200
commit

b22378184073ce48c49767ed1031a99e1e83166c

parent

c8a6e210eaac06bdd6ab94d4872255582d4af238

A .gitignore

@@ -0,0 +1,2 @@

+node_modules +dist
A README.md

@@ -0,0 +1,129 @@

+# dbee + +`dbee` helps you to backup and restore your PostreSQL database trough S3 compatible servers (like Minio). +Quickly save a dump from a server and init a new database on another server with a few commands. + +## Install + +### With NPM + +```shell +npm i -g git+https://github.com/5ika/dbee.git +``` + +Command `dbee` will be globally available on your system. + +## Use + +### Quick-start + +#### 1. Add an S3 server + +```shell +dbee s3 add mys3 minio.example.org --accessKey myaccesskey --secretKey mysecretkey +``` + +_mys3_ will be the reference name for this S3 server + +#### 2. Add a PostgreSQL server + +```shell +dbee psql add mypsql psql.example.org --username myuser --password mypassword +``` + +_mypsql_ will be the reference name for this PSQL server. + +> If no password is provided at this step, it will be asked when needed. + +#### 3. Create a database dump + +```shell +dbee bckp mypsql/mydbname +``` + +A dump of _mydbname_ database will be uploaded to _mys3_ S3 server. + +#### 4. Init a new database from dump + +```shell +dbee ls # List available dumps on S3 server +dbee init mydbname-2021-07-29T15:10:19.748Z.bak myotherpsql/mynewdb +``` + +### Commands + +``` +dbee s3 add <s3Name> <host> Add S3 server +dbee s3 rm <s3Name> Remove S3 server from config +dbee s3 ls List S3 servers +dbee psql add <psqlName> <host> Add Postgres servers +dbee psql ls List Postgress servers +dbee psql rm <psqlName> Remove Postgres server from config +dbee ls [s3Name] List databases available on S3 server +dbee rm [s3Name/]<fileName> Remove database dump from S3 server +dbee bckp [psqlName/]<dbName> [s3Name] Backup database to S3 +dbee init [s3Name/]<fileName> [psqlName/]<dbName> Restore database from S3 +``` + +### Advanced use + +#### Options for S3 server + +It is possible to provide some additional options for the S3 connection: + +- `--port` or `-p`: Specify another port than the default one (443) +- `--useSSL` or `-s`: Use an SSL connection to the server +- `--bucket` or `-b`: Specify another bucket name than the default one (dbee) + +#### Multiple S3 servers + +When only one S3 server is configured, it's not necessary to specify it: + +```shell +dbee ls +``` + +But when there is more than one, it is necessary: + +```shell +dbee ls myminio +``` + +#### Options for PostgreSQL server + +It is possible to provide some additional options for the PostgreSQL connection: + +- `--port` or `-p`: Specify another port than the default one (5432) +- `--useSSL` or `-s`: Use an SSL connection to the server +- `--timescale` or `-t`: Specify that the server uses TimescaleDB extension (useful for database creation) + +#### PostgreSQL server on localhost + +When no _psqlName_ is provided, dbee take a default configuration for PostgreSQL server as following: + +```json +{ + "host": "localhost", + "username": "postgres", + "password": null, + "useSSL": false, + "port": 5432 +} +``` + +It permits commands like: + +```shell +dbee bckp mydbname +dbee init mydbname-2021-07-29T15:10:19.748Z.bak mynewdb +``` + +## Build + +A standalone executable binary can be built with [pkg](https://github.com/vercel/pkg): + +```shell +yarn build +``` + +Executable is then available in the `dist/` directory.
A cmds/db.js

@@ -0,0 +1,7 @@

+exports.command = "db <cmd>"; +exports.aliases = ["$0"]; +exports.desc = "Manage databases"; +exports.builder = yargs => yargs.commandDir("db"); +exports.handler = argv => { + console.log(argv); +};
A cmds/db/backup.js

@@ -0,0 +1,7 @@

+const backupDb = require("../../handlers/db/backup"); + +exports.command = "backup [psqlName/]<dbName> [s3Name]"; +exports.aliases = ["bckp"]; +exports.desc = "Backup database to S3"; +exports.builder = yargs => yargs.options({}); +exports.handler = backupDb;
A cmds/db/init.js

@@ -0,0 +1,6 @@

+const initDb = require("../../handlers/db/init"); + +exports.command = "init [s3Name/]<fileName> [psqlName/]<dbName>"; +exports.desc = "Init database from S3 dump"; +exports.builder = yargs => yargs.options({}); +exports.handler = initDb;
A cmds/db/list.js

@@ -0,0 +1,7 @@

+const ListDb = require("../../handlers/db/list"); + +exports.command = "list [s3Name]"; +exports.aliases = ["ls"]; +exports.desc = "List databases available on S3 server"; +exports.builder = function (yargs) {}; +exports.handler = ListDb;
A cmds/db/remove.js

@@ -0,0 +1,7 @@

+const RemoveDb = require("../../handlers/db/remove.js"); + +exports.command = "remove [s3Name/]<fileName>"; +exports.aliases = ["rm"]; +exports.desc = "Remove database dump from S3 server"; +exports.builder = function (yargs) {}; +exports.handler = RemoveDb;
A cmds/psql.js

@@ -0,0 +1,6 @@

+exports.command = "psql <cmd>"; +exports.desc = "Manage Postgres servers"; +exports.builder = yargs => yargs.commandDir("psql"); +exports.handler = argv => { + console.log(argv); +};
A cmds/psql/add.js

@@ -0,0 +1,35 @@

+const addPsql = require("../../handlers/psql/add"); + +exports.command = "add <psqlName> <host>"; +exports.desc = "Add Postgres servers"; +exports.builder = function (yargs) { + return yargs.options({ + username: { + demandOption: true, + alias: "u", + describe: "Username for the Postgres server", + }, + password: { + alias: "P", + describe: "Password for the Postgres server (facultative)", + }, + port: { + alias: "p", + describe: "Postgres server port", + default: 5432, + }, + useSSL: { + alias: "s", + type: "boolean", + describe: "Use SSL for server connection", + default: false, + }, + timescale: { + alias: "t", + type: "boolean", + describe: "Enable TimescaleDB management for the server", + default: false, + }, + }); +}; +exports.handler = addPsql;
A cmds/psql/list.js

@@ -0,0 +1,7 @@

+const ListPsql = require("../../handlers/psql/list"); + +exports.command = "list"; +exports.aliases = ["ls", "l"]; +exports.desc = "List Postgress servers"; +exports.builder = function (yargs) {}; +exports.handler = ListPsql;
A cmds/psql/remove.js

@@ -0,0 +1,7 @@

+const RemovePsql = require("../../handlers/psql/remove"); + +exports.command = "remove <psqlName>"; +exports.aliases = ["rm <psqlName>"]; +exports.desc = "Remove Postgres server from config"; +exports.builder = function (yargs) {}; +exports.handler = RemovePsql;
A cmds/s3.js

@@ -0,0 +1,6 @@

+exports.command = "s3 <cmd>"; +exports.desc = "Manage S3 servers"; +exports.builder = yargs => yargs.commandDir("s3"); +exports.handler = argv => { + console.log(argv); +};
A cmds/s3/add.js

@@ -0,0 +1,34 @@

+const addS3 = require("../../handlers/s3/add"); + +exports.command = "add <s3Name> <host>"; +exports.desc = "Add S3 server"; +exports.builder = function (yargs) { + return yargs.options({ + accessKey: { + demandOption: true, + alias: "a", + describe: "Access key for the S3 server", + }, + secretKey: { + demandOption: true, + alias: "s", + describe: "Secret key fot the S3 server", + }, + port: { + alias: "p", + describe: "S3 server port", + default: 443, + }, + useSSL: { + alias: "s", + describe: "Use SSL for server connection", + default: true, + }, + bucket: { + alias: "b", + describe: "S3 bucket to use", + default: "dbee", + }, + }); +}; +exports.handler = addS3;
A cmds/s3/list.js

@@ -0,0 +1,7 @@

+const ListS3 = require("../../handlers/s3/list"); + +exports.command = "list"; +exports.aliases = ["ls"]; +exports.desc = "List S3 servers"; +exports.builder = function (yargs) {}; +exports.handler = ListS3;
A cmds/s3/remove.js

@@ -0,0 +1,7 @@

+const RemoveS3 = require("../../handlers/s3/remove"); + +exports.command = "remove <s3Name>"; +exports.aliases = ["rm <s3Name>"]; +exports.desc = "Remove S3 server from config"; +exports.builder = function (yargs) {}; +exports.handler = RemoveS3;
A dbee.js

@@ -0,0 +1,7 @@

+#!/usr/bin/env node + +require("yargs/yargs")(process.argv.slice(2)) + .scriptName("dbee") + .commandDir("cmds") + .demandCommand() + .help().argv;
A handlers/db/_utils.js

@@ -0,0 +1,17 @@

+const splitPsqlParts = rawParam => { + if (!rawParam) throw new Error("No db name specified"); + if (rawParam.includes("/")) { + const [psqlName, dbName] = rawParam.split("/"); + return { psqlName, dbName }; + } else return { dbName: rawParam, psqlName: "localhost" }; +}; + +const splitS3Parts = rawParam => { + if (!rawParam) throw new Error("No filename specified"); + if (rawParam.includes("/")) { + const [psqlName, dbName] = rawParam.split("/"); + return { psqlName, dbName }; + } else return { fileName: rawParam, s3Name: null }; +}; + +module.exports = { splitPsqlParts, splitS3Parts };
A handlers/db/backup.js

@@ -0,0 +1,42 @@

+const chalk = require("chalk"); +const S3Client = require("../../libs/s3/client"); +const execPsqlCommand = require("../../libs/psql/shellCmd"); +const getPsqlConfig = require("../../libs/psql/getConfig"); +const getS3Config = require("../../libs/s3/getConfig"); +const { splitPsqlParts } = require("./_utils"); + +const DUMP_DIR = "/tmp/"; + +const bckp = async params => { + const { s3Name } = params; + const { psqlName, dbName } = splitPsqlParts(params["psqlName/dbName"]); + const psqlConfig = getPsqlConfig(psqlName); + const s3Config = getS3Config(s3Name); + const date = new Date().toISOString(); + const fileName = `${dbName}.${psqlName}.${date}.bak`; + const dumpPath = `${DUMP_DIR}${fileName}`; + + try { + console.log( + chalk.greenBright( + `Dumping ${dbName} database from ${psqlName} to ${dumpPath}` + ) + ); + await dumpDatabase(dumpPath, dbName, psqlConfig); + console.log( + chalk.greenBright(`Uploading ${fileName} to ${s3Config.name} S3 server`) + ); + await pushToS3(s3Config, { dumpPath, fileName }); + console.log(chalk.greenBright("Done.")); + } catch (error) { + console.error(chalk.redBright(error)); + } +}; + +const dumpDatabase = (dumpPath, dbName, psqlConfig) => + execPsqlCommand(`pg_dump -Fc -f "${dumpPath}" ${dbName}`, psqlConfig); + +const pushToS3 = async (s3Config, { dumpPath, fileName }) => + S3Client(s3Config).push({ dumpPath, fileName }); + +module.exports = bckp;
A handlers/db/init.js

@@ -0,0 +1,60 @@

+const chalk = require("chalk"); +const S3Client = require("../../libs/s3/client"); +const execPsqlCommand = require("../../libs/psql/shellCmd"); +const getPsqlConfig = require("../../libs/psql/getConfig"); +const getS3Config = require("../../libs/s3/getConfig"); +const { splitPsqlParts, splitS3Parts } = require("./_utils"); + +const DUMP_DIR = "/tmp/"; + +const init = async params => { + const { s3Name, fileName } = splitS3Parts(params["s3Name/fileName"]); + const { psqlName, dbName } = splitPsqlParts(params["psqlName/dbName"]); + const psqlConfig = getPsqlConfig(psqlName); + const s3Config = getS3Config(s3Name); + const dumpPath = `${DUMP_DIR}${fileName}`; + + try { + console.log( + chalk.greenBright(`Downloading ${fileName} from ${s3Name} server`) + ); + await downloadDump(s3Config, { dumpPath, fileName }); + console.log( + chalk.greenBright( + `Restoring ${dbName} database to ${psqlName} from ${fileName}` + ) + ); + await restoreDatabase(dumpPath, dbName, psqlConfig); + console.log(chalk.greenBright("Done.")); + } catch (error) { + console.error(chalk.redBright(error)); + } +}; + +const downloadDump = async (s3Config, { dumpPath, fileName }) => + S3Client(s3Config).pull({ dumpPath, fileName }); + +const restoreDatabase = async (dumpPath, dbName, psqlConfig) => { + await execPsqlCommand(`psql -c 'CREATE DATABASE ${dbName}'`, psqlConfig); + + if (psqlConfig.timescale) { + await execPsqlCommand( + `psql -c 'SELECT timescaledb_pre_restore();' -d ${dbName}`, + psqlConfig + ); + } + + await execPsqlCommand( + `pg_restore -Fc -d ${dbName} "${dumpPath}"`, + psqlConfig + ); + + if (psqlConfig.timescale) { + await execPsqlCommand( + `psql -c 'SELECT timescaledb_post_restore();' -d ${dbName}`, + psqlConfig + ); + } +}; + +module.exports = init;
A handlers/db/list.js

@@ -0,0 +1,14 @@

+const chalk = require("chalk"); +const S3Client = require("../../libs/s3/client"); +const getS3Config = require("../../libs/s3/getConfig"); + +const list = async ({ s3Name }) => { + const s3Config = getS3Config(s3Name); + const files = await S3Client(s3Config).list(); + const formatedList = files.map(file => `- ${file.name}`); + + console.log(`Available dumps on ${s3Config.name}:\n`); + console.log(chalk.yellowBright(`${formatedList.join("\n")}\n`)); +}; + +module.exports = list;
A handlers/db/remove.js

@@ -0,0 +1,15 @@

+const chalk = require("chalk"); +const S3Client = require("../../libs/s3/client"); +const getS3Config = require("../../libs/s3/getConfig"); +const { splitS3Parts } = require("./_utils"); + +const removeDb = async params => { + const { s3Name, fileName } = splitS3Parts(params["s3Name/fileName"]); + const s3Config = getS3Config(s3Name); + await S3Client(s3Config).remove(fileName); + console.log( + chalk.greenBright(`Dump ${fileName} has been removed from ${s3Config.name}`) + ); +}; + +module.exports = removeDb;
A handlers/psql/add.js

@@ -0,0 +1,24 @@

+const store = require("../../libs/config/store"); + +const addPsql = params => { + const { + psqlName, + host, + username, + useSSL, + port, + password, + timescale, + } = params; + store("psql", psqlName, { + host, + username, + useSSL, + port, + password, + timescale, + }); + console.log(`Postgres server ${psqlName} saved in config`); +}; + +module.exports = addPsql;
A handlers/psql/list.js

@@ -0,0 +1,18 @@

+const chalk = require("chalk"); +const get = require("../../libs/config/get"); + +const ListPsql = params => { + const psqlServers = get("psql"); + + if (!psqlServers) { + console.log(chalk.red("You have no Postgres server")); + } else { + const formatedList = Object.entries(psqlServers).map( + ([name, info]) => `- ${name} (${info.host} as ${info.username})` + ); + console.log(`This is you configured Postgres servers:\n`); + console.log(chalk.yellowBright(`${formatedList.join("\n")}\n`)); + } +}; + +module.exports = ListPsql;
A handlers/psql/remove.js

@@ -0,0 +1,9 @@

+const remove = require("../../libs/config/remove"); + +const removePsql = params => { + const { psqlName } = params; + remove("psql", psqlName); + console.log(`Postgres server ${psqlName} removed from config`); +}; + +module.exports = removePsql;
A handlers/s3/add.js

@@ -0,0 +1,10 @@

+const store = require("../../libs/config/store"); + +const addS3 = params => { + const { s3Name, host, accessKey, secretKey, useSSL, port, bucket } = params; + console.log(params); + store("s3", s3Name, { host, accessKey, secretKey, useSSL, port, bucket }); + console.log(`S3 server ${s3Name} saved in config`); +}; + +module.exports = addS3;
A handlers/s3/list.js

@@ -0,0 +1,18 @@

+const chalk = require("chalk"); +const get = require("../../libs/config/get"); + +const ListS3 = params => { + const s3Servers = get("s3"); + + if (!s3Servers) { + console.log(chalk.red("You have no S3 server")); + } else { + const formatedList = Object.entries(s3Servers).map( + ([name, info]) => `- ${name} (${info.host})` + ); + console.log(`This is you configured S3 servers:\n`); + console.log(chalk.yellowBright(`${formatedList.join("\n")}\n`)); + } +}; + +module.exports = ListS3;
A handlers/s3/remove.js

@@ -0,0 +1,9 @@

+const remove = require("../../libs/config/remove"); + +const removeS3 = params => { + const { s3Name } = params; + remove("s3", s3Name); + console.log(`S3 server ${s3Name} removed from config`); +}; + +module.exports = removeS3;
A libs/config/_utils.js

@@ -0,0 +1,28 @@

+const fs = require("fs"); +const path = require("path"); +const homedir = require("os").homedir(); +const CONFIG_PATH = path.join(homedir, ".dbee"); + +const getConfig = () => { + createConfigIfNotExists(); + const rawContent = fs.readFileSync(CONFIG_PATH, "utf8"); + return JSON.parse(rawContent); +}; + +const storeConfig = config => { + createConfigIfNotExists(); + fs.writeFileSync(CONFIG_PATH, JSON.stringify(config, null, 2)); +}; + +const createConfigIfNotExists = () => { + if (!fs.existsSync(CONFIG_PATH)) { + try { + fs.writeFileSync(CONFIG_PATH, "{}", { flag: "w+" }); + console.log(`Config file created at ${CONFIG_PATH}`); + } catch (error) { + console.error(error); + } + } +}; + +module.exports = { CONFIG_PATH, getConfig, storeConfig };
A libs/config/get.js

@@ -0,0 +1,9 @@

+const { getConfig } = require("./_utils"); +const _get = require("lodash/get"); + +const get = objectPath => { + const config = getConfig(); + return _get(config, objectPath); +}; + +module.exports = get;
A libs/config/remove.js

@@ -0,0 +1,10 @@

+const _unset = require("lodash/unset"); +const { getConfig, storeConfig } = require("./_utils"); + +const store = (type, name) => { + let config = getConfig(); + _.unset(config, `${type}.${name}`); + storeConfig(config); +}; + +module.exports = store;
A libs/config/store.js

@@ -0,0 +1,13 @@

+const { getConfig, storeConfig } = require("./_utils"); + +const store = (type, name, content) => { + let config = getConfig(); + + if (config[type]) { + config[type] = { ...config[type], [name]: content }; + } else config = { ...config, [type]: { [name]: content } }; + + storeConfig(config); +}; + +module.exports = store;
A libs/psql/getConfig.js

@@ -0,0 +1,22 @@

+const chalk = require("chalk"); +const getConfig = require("../../libs/config/get"); + +const defaultConfig = { + host: "localhost", + username: "postgres", + password: null, + useSSL: false, + port: 5432, +}; + +const getPsqlConfig = psqlName => { + if (psqlName === "localhost") { + console.log(chalk.grey("Use default PSQL config")); + return defaultConfig; + } + const config = getConfig(`psql.${psqlName}`); + if (!config) throw new Error(`No config found for PSQL server '${psqlName}'`); + return config; +}; + +module.exports = getPsqlConfig;
A libs/psql/shellCmd.js

@@ -0,0 +1,20 @@

+const chalk = require("chalk"); +const exec = require("child_process").exec; + +const execPsqlCommand = async (command = "", psqlConfig) => { + const { host, port, username, password } = psqlConfig; + let shellCmd = `${command} -h ${host} -p ${port} -U ${username}`; + + console.log(chalk.grey(shellCmd)); + + if (password) shellCmd = `PGPASSWORD=${password} ${shellCmd}`; + + return new Promise((resolve, reject) => { + exec(shellCmd, (error, stdout) => { + if (error) reject(error); + else resolve(stdout); + }); + }); +}; + +module.exports = execPsqlCommand;
A libs/s3/client.js

@@ -0,0 +1,53 @@

+const Minio = require("minio"); +const chalk = require("chalk"); + +module.exports = s3Config => { + const minio = getMinioClient(s3Config); + + return { + push: push(minio, s3Config), + pull: pull(minio, s3Config), + list: list(minio, s3Config), + remove: remove(minio, s3Config), + }; +}; + +const getMinioClient = s3Config => + new Minio.Client({ + endPoint: s3Config.host, + port: s3Config.port, + useSSL: s3Config.useSSL, + accessKey: s3Config.accessKey, + secretKey: s3Config.secretKey, + }); + +const push = (minio, s3Config) => async ({ dumpPath, fileName }) => { + await upsertBucket(minio, s3Config); + return minio.fPutObject(s3Config.bucket, fileName, dumpPath); +}; + +const pull = (minio, s3Config) => async ({ dumpPath, fileName }) => + minio.fGetObject(s3Config.bucket, fileName, dumpPath); + +const list = (minio, s3Config) => async () => { + await upsertBucket(minio, s3Config); + return new Promise((resolve, reject) => { + const stream = minio.listObjectsV2(s3Config.bucket); + let files = []; + stream.on("data", obj => files.push(obj)); + stream.on("end", () => resolve(files)); + stream.on("error", reject); + }); +}; + +const remove = (minio, s3Config) => async fileName => + minio.removeObject(s3Config.bucket, fileName); + +const upsertBucket = async (minio, s3Config) => { + const bucketExists = await minio.bucketExists(s3Config.bucket); + + if (!bucketExists) { + await minio.makeBucket(s3Config.bucket); + console.log(chalk.blue(`Bucket ${s3Config.bucket} created on S3 server`)); + } +};
A libs/s3/getConfig.js

@@ -0,0 +1,16 @@

+const getConfig = require("../../libs/config/get"); + +const getS3Config = s3Name => { + const s3Servers = getConfig(`s3`); + + if (s3Servers[s3Name]) return { ...s3Servers[s3Name], name: s3Name }; + + const serverNames = Object.keys(s3Servers); + const serversCount = serverNames.length; + if (serversCount === 1) + return { ...s3Servers[serverNames[0]], name: serverNames[0] }; + + throw new Error(`No S3 server corresponding to '${s3Servers}' in config.`); +}; + +module.exports = getS3Config;
A package.json

@@ -0,0 +1,34 @@

+{ + "name": "dbee", + "version": "1.0.0", + "description": "Manage Postgresql backups using S3", + "main": "dbee.js", + "repository": "https://github.com/5ika/dbee", + "author": "Tim Izzo (tim@octree.ch)", + "license": "MIT", + "scripts": { + "start": "node --experimental-top-level-await dbee.js", + "build": "pkg . --compress GZip" + }, + "dependencies": { + "chalk": "^4.1.1", + "lodash": "^4.17.21", + "minio": "^7.0.18", + "yargs": "^17.0.1" + }, + "devDependencies": { + "pkg": "^5.3.1" + }, + "bin": { + "dbee": "./dbee.js" + }, + "pkg": { + "scripts": [ + "cmds/**/*.js" + ], + "targets": [ + "node14-linux-x64" + ], + "outputPath": "dist" + } +}
A yarn.lock

@@ -0,0 +1,1129 @@

+# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@babel/helper-validator-identifier@^7.12.11": + version "7.14.8" + resolved "https://npm-8ee.hidora.com/@babel%2fhelper-validator-identifier/-/helper-validator-identifier-7.14.8.tgz#32be33a756f29e278a0d644fa08a2c9e0f88a34c" + integrity sha512-ZGy6/XQjllhYQrNw/3zfWRwZCTVSiBLZ9DHVZxn9n2gip/7ab8mv2TWlKPIBk26RwedCBoWdjLmn+t9na2Gcow== + +"@babel/parser@7.13.13": + version "7.13.13" + resolved "https://npm-8ee.hidora.com/@babel%2fparser/-/parser-7.13.13.tgz#42f03862f4aed50461e543270916b47dd501f0df" + integrity sha512-OhsyMrqygfk5v8HmWwOzlYjJrtLaFhF34MrfG/Z73DgYCI6ojNUTUp2TYbtnjo8PegeJp12eamsNettCQjKjVw== + +"@babel/types@7.13.12": + version "7.13.12" + resolved "https://npm-8ee.hidora.com/@babel%2ftypes/-/types-7.13.12.tgz#edbf99208ef48852acdff1c8a681a1e4ade580cd" + integrity sha512-K4nY2xFN4QMvQwkQ+zmBDp6ANMbVNw6BbxWmYA4qNjhR9W+Lj/8ky5MEY2Me5r+B2c6/v6F53oMndG+f9s3IiA== + dependencies: + "@babel/helper-validator-identifier" "^7.12.11" + lodash "^4.17.19" + to-fast-properties "^2.0.0" + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://npm-8ee.hidora.com/@nodelib%2ffs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://npm-8ee.hidora.com/@nodelib%2ffs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3": + version "1.2.8" + resolved "https://npm-8ee.hidora.com/@nodelib%2ffs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +agent-base@6: + version "6.0.2" + resolved "https://npm-8ee.hidora.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== + dependencies: + debug "4" + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://npm-8ee.hidora.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= + +ansi-regex@^3.0.0: + version "3.0.0" + resolved "https://npm-8ee.hidora.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= + +ansi-regex@^5.0.0: + version "5.0.0" + resolved "https://npm-8ee.hidora.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" + integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://npm-8ee.hidora.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +aproba@^1.0.3: + version "1.2.0" + resolved "https://npm-8ee.hidora.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" + integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== + +are-we-there-yet@~1.1.2: + version "1.1.5" + resolved "https://npm-8ee.hidora.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" + integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w== + dependencies: + delegates "^1.0.0" + readable-stream "^2.0.6" + +array-union@^2.1.0: + version "2.1.0" + resolved "https://npm-8ee.hidora.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +async@^3.1.0: + version "3.2.0" + resolved "https://npm-8ee.hidora.com/async/-/async-3.2.0.tgz#b3a2685c5ebb641d3de02d161002c60fc9f85720" + integrity sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw== + +at-least-node@^1.0.0: + version "1.0.0" + resolved "https://npm-8ee.hidora.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" + integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== + +base64-js@^1.3.1: + version "1.5.1" + resolved "https://npm-8ee.hidora.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +bl@^4.0.3: + version "4.1.0" + resolved "https://npm-8ee.hidora.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" + integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== + dependencies: + buffer "^5.5.0" + inherits "^2.0.4" + readable-stream "^3.4.0" + +block-stream2@^2.0.0: + version "2.1.0" + resolved "https://npm-8ee.hidora.com/block-stream2/-/block-stream2-2.1.0.tgz#ac0c5ef4298b3857796e05be8ebed72196fa054b" + integrity sha512-suhjmLI57Ewpmq00qaygS8UgEq2ly2PCItenIyhMqVjo4t4pGzqMvfgJuX8iWTeSDdfSSqS6j38fL4ToNL7Pfg== + dependencies: + readable-stream "^3.4.0" + +braces@^3.0.1: + version "3.0.2" + resolved "https://npm-8ee.hidora.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +buffer@^5.5.0: + version "5.7.1" + resolved "https://npm-8ee.hidora.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + +chalk@^4.1.0, chalk@^4.1.1: + version "4.1.1" + resolved "https://npm-8ee.hidora.com/chalk/-/chalk-4.1.1.tgz#c80b3fab28bf6371e6863325eee67e618b77e6ad" + integrity sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chownr@^1.1.1: + version "1.1.4" + resolved "https://npm-8ee.hidora.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" + integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== + +cliui@^7.0.2: + version "7.0.4" + resolved "https://npm-8ee.hidora.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://npm-8ee.hidora.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://npm-8ee.hidora.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@~1.1.4: + version "1.1.4" + resolved "https://npm-8ee.hidora.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +console-control-strings@^1.0.0, console-control-strings@~1.1.0: + version "1.1.0" + resolved "https://npm-8ee.hidora.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= + +core-util-is@~1.0.0: + version "1.0.2" + resolved "https://npm-8ee.hidora.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + +debug@4: + version "4.3.2" + resolved "https://npm-8ee.hidora.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" + integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== + dependencies: + ms "2.1.2" + +decompress-response@^4.2.0: + version "4.2.1" + resolved "https://npm-8ee.hidora.com/decompress-response/-/decompress-response-4.2.1.tgz#414023cc7a302da25ce2ec82d0d5238ccafd8986" + integrity sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw== + dependencies: + mimic-response "^2.0.0" + +deep-extend@^0.6.0: + version "0.6.0" + resolved "https://npm-8ee.hidora.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== + +deep-is@~0.1.3: + version "0.1.3" + resolved "https://npm-8ee.hidora.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= + +delegates@^1.0.0: + version "1.0.0" + resolved "https://npm-8ee.hidora.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= + +detect-libc@^1.0.3: + version "1.0.3" + resolved "https://npm-8ee.hidora.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" + integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://npm-8ee.hidora.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://npm-8ee.hidora.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +end-of-stream@^1.1.0, end-of-stream@^1.4.1: + version "1.4.4" + resolved "https://npm-8ee.hidora.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + +es6-error@^4.1.1: + version "4.1.1" + resolved "https://npm-8ee.hidora.com/es6-error/-/es6-error-4.1.1.tgz#9e3af407459deed47e9a91f9b885a84eb05c561d" + integrity sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg== + +escalade@^3.1.1: + version "3.1.1" + resolved "https://npm-8ee.hidora.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escodegen@^2.0.0: + version "2.0.0" + resolved "https://npm-8ee.hidora.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd" + integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw== + dependencies: + esprima "^4.0.1" + estraverse "^5.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.6.1" + +esprima@^4.0.1: + version "4.0.1" + resolved "https://npm-8ee.hidora.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +estraverse@^5.2.0: + version "5.2.0" + resolved "https://npm-8ee.hidora.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" + integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://npm-8ee.hidora.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +expand-template@^2.0.3: + version "2.0.3" + resolved "https://npm-8ee.hidora.com/expand-template/-/expand-template-2.0.3.tgz#6e14b3fcee0f3a6340ecb57d2e8918692052a47c" + integrity sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg== + +fast-glob@^3.1.1: + version "3.2.7" + resolved "https://npm-8ee.hidora.com/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1" + integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fast-levenshtein@~2.0.6: + version "2.0.6" + resolved "https://npm-8ee.hidora.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + +fast-xml-parser@^3.17.5: + version "3.19.0" + resolved "https://npm-8ee.hidora.com/fast-xml-parser/-/fast-xml-parser-3.19.0.tgz#cb637ec3f3999f51406dd8ff0e6fc4d83e520d01" + integrity sha512-4pXwmBplsCPv8FOY1WRakF970TjNGnGnfbOnLqjlYvMiF1SR3yOHyxMR/YCXpPTOspNF5gwudqktIP4VsWkvBg== + +fastq@^1.6.0: + version "1.11.1" + resolved "https://npm-8ee.hidora.com/fastq/-/fastq-1.11.1.tgz#5d8175aae17db61947f8b162cfc7f63264d22807" + integrity sha512-HOnr8Mc60eNYl1gzwp6r5RoUyAn5/glBolUzP/Ez6IFVPMPirxn/9phgL6zhOtaTy7ISwPvQ+wT+hfcRZh/bzw== + dependencies: + reusify "^1.0.4" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://npm-8ee.hidora.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +from2@^2.3.0: + version "2.3.0" + resolved "https://npm-8ee.hidora.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" + integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= + dependencies: + inherits "^2.0.1" + readable-stream "^2.0.0" + +fs-constants@^1.0.0: + version "1.0.0" + resolved "https://npm-8ee.hidora.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" + integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== + +fs-extra@^9.1.0: + version "9.1.0" + resolved "https://npm-8ee.hidora.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" + integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== + dependencies: + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://npm-8ee.hidora.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +gauge@~2.7.3: + version "2.7.4" + resolved "https://npm-8ee.hidora.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" + integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= + dependencies: + aproba "^1.0.3" + console-control-strings "^1.0.0" + has-unicode "^2.0.0" + object-assign "^4.1.0" + signal-exit "^3.0.0" + string-width "^1.0.1" + strip-ansi "^3.0.1" + wide-align "^1.1.0" + +get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://npm-8ee.hidora.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +github-from-package@0.0.0: + version "0.0.0" + resolved "https://npm-8ee.hidora.com/github-from-package/-/github-from-package-0.0.0.tgz#97fb5d96bfde8973313f20e8288ef9a167fa64ce" + integrity sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4= + +glob-parent@^5.1.2: + version "5.1.2" + resolved "https://npm-8ee.hidora.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +globby@^11.0.3: + version "11.0.4" + resolved "https://npm-8ee.hidora.com/globby/-/globby-11.0.4.tgz#2cbaff77c2f2a62e71e9b2813a67b97a3a3001a5" + integrity sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.1.1" + ignore "^5.1.4" + merge2 "^1.3.0" + slash "^3.0.0" + +graceful-fs@^4.1.6, graceful-fs@^4.2.0: + version "4.2.6" + resolved "https://npm-8ee.hidora.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" + integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://npm-8ee.hidora.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-unicode@^2.0.0: + version "2.0.1" + resolved "https://npm-8ee.hidora.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= + +has@^1.0.3: + version "1.0.3" + resolved "https://npm-8ee.hidora.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +https-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://npm-8ee.hidora.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" + integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA== + dependencies: + agent-base "6" + debug "4" + +ieee754@^1.1.13: + version "1.2.1" + resolved "https://npm-8ee.hidora.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +ignore@^5.1.4: + version "5.1.8" + resolved "https://npm-8ee.hidora.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" + integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== + +inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: + version "2.0.4" + resolved "https://npm-8ee.hidora.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +ini@~1.3.0: + version "1.3.8" + resolved "https://npm-8ee.hidora.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== + +into-stream@^6.0.0: + version "6.0.0" + resolved "https://npm-8ee.hidora.com/into-stream/-/into-stream-6.0.0.tgz#4bfc1244c0128224e18b8870e85b2de8e66c6702" + integrity sha512-XHbaOAvP+uFKUFsOgoNPRjLkwB+I22JFPFe5OjTkQ0nwgj6+pSjb4NmB6VMxaPshLiOf+zcpOCBQuLwC1KHhZA== + dependencies: + from2 "^2.3.0" + p-is-promise "^3.0.0" + +is-core-module@^2.2.0: + version "2.5.0" + resolved "https://npm-8ee.hidora.com/is-core-module/-/is-core-module-2.5.0.tgz#f754843617c70bfd29b7bd87327400cda5c18491" + integrity sha512-TXCMSDsEHMEEZ6eCA8rwRDbLu55MRGmrctljsBX/2v1d9/GzqHOxW5c5oPSgrUt2vBFXebu9rGqckXGPWOlYpg== + dependencies: + has "^1.0.3" + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://npm-8ee.hidora.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://npm-8ee.hidora.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://npm-8ee.hidora.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://npm-8ee.hidora.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-glob@^4.0.1: + version "4.0.1" + resolved "https://npm-8ee.hidora.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" + integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== + dependencies: + is-extglob "^2.1.1" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://npm-8ee.hidora.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +isarray@~1.0.0: + version "1.0.0" + resolved "https://npm-8ee.hidora.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +json-stream@^1.0.0: + version "1.0.0" + resolved "https://npm-8ee.hidora.com/json-stream/-/json-stream-1.0.0.tgz#1a3854e28d2bbeeab31cc7ddf683d2ddc5652708" + integrity sha1-GjhU4o0rvuqzHMfd9oPS3cVlJwg= + +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://npm-8ee.hidora.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + dependencies: + universalify "^2.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + +levn@~0.3.0: + version "0.3.0" + resolved "https://npm-8ee.hidora.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21: + version "4.17.21" + resolved "https://npm-8ee.hidora.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://npm-8ee.hidora.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +merge2@^1.3.0: + version "1.4.1" + resolved "https://npm-8ee.hidora.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +micromatch@^4.0.4: + version "4.0.4" + resolved "https://npm-8ee.hidora.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" + integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== + dependencies: + braces "^3.0.1" + picomatch "^2.2.3" + +mime-db@1.49.0: + version "1.49.0" + resolved "https://npm-8ee.hidora.com/mime-db/-/mime-db-1.49.0.tgz#f3dfde60c99e9cf3bc9701d687778f537001cbed" + integrity sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA== + +mime-types@^2.1.14: + version "2.1.32" + resolved "https://npm-8ee.hidora.com/mime-types/-/mime-types-2.1.32.tgz#1d00e89e7de7fe02008db61001d9e02852670fd5" + integrity sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A== + dependencies: + mime-db "1.49.0" + +mimic-response@^2.0.0: + version "2.1.0" + resolved "https://npm-8ee.hidora.com/mimic-response/-/mimic-response-2.1.0.tgz#d13763d35f613d09ec37ebb30bac0469c0ee8f43" + integrity sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA== + +minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5: + version "1.2.5" + resolved "https://npm-8ee.hidora.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" + integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== + +minio@^7.0.18: + version "7.0.18" + resolved "https://npm-8ee.hidora.com/minio/-/minio-7.0.18.tgz#a2a6dae52a4dde9e35ed47cdf2accc21df4a512d" + integrity sha512-jVRjkw8A5Spf+ETY5OXQUcQckHriuUA3u2+MAcX36btLT8EytlOVivxIseXvyFf9cNn3dy5w1F1UyjMvHU+nqg== + dependencies: + async "^3.1.0" + block-stream2 "^2.0.0" + es6-error "^4.1.1" + fast-xml-parser "^3.17.5" + json-stream "^1.0.0" + lodash "^4.17.20" + mime-types "^2.1.14" + mkdirp "^0.5.1" + querystring "0.2.0" + through2 "^3.0.1" + xml "^1.0.0" + xml2js "^0.4.15" + +mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3: + version "0.5.3" + resolved "https://npm-8ee.hidora.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" + integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== + +mkdirp@^0.5.1: + version "0.5.5" + resolved "https://npm-8ee.hidora.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" + integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== + dependencies: + minimist "^1.2.5" + +ms@2.1.2: + version "2.1.2" + resolved "https://npm-8ee.hidora.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +multistream@^4.1.0: + version "4.1.0" + resolved "https://npm-8ee.hidora.com/multistream/-/multistream-4.1.0.tgz#7bf00dfd119556fbc153cff3de4c6d477909f5a8" + integrity sha512-J1XDiAmmNpRCBfIWJv+n0ymC4ABcf/Pl+5YvC5B/D2f/2+8PtHvCNxMPKiQcZyi922Hq69J2YOpb1pTywfifyw== + dependencies: + once "^1.4.0" + readable-stream "^3.6.0" + +napi-build-utils@^1.0.1: + version "1.0.2" + resolved "https://npm-8ee.hidora.com/napi-build-utils/-/napi-build-utils-1.0.2.tgz#b1fddc0b2c46e380a0b7a76f984dd47c41a13806" + integrity sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg== + +node-abi@^2.7.0: + version "2.30.0" + resolved "https://npm-8ee.hidora.com/node-abi/-/node-abi-2.30.0.tgz#8be53bf3e7945a34eea10e0fc9a5982776cf550b" + integrity sha512-g6bZh3YCKQRdwuO/tSZZYJAw622SjsRfJ2X0Iy4sSOHZ34/sPPdVBn8fev2tj7njzLwuqPw9uMtGsGkO5kIQvg== + dependencies: + semver "^5.4.1" + +node-fetch@^2.6.1: + version "2.6.1" + resolved "https://npm-8ee.hidora.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" + integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== + +noop-logger@^0.1.1: + version "0.1.1" + resolved "https://npm-8ee.hidora.com/noop-logger/-/noop-logger-0.1.1.tgz#94a2b1633c4f1317553007d8966fd0e841b6a4c2" + integrity sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI= + +npmlog@^4.0.1: + version "4.1.2" + resolved "https://npm-8ee.hidora.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" + integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== + dependencies: + are-we-there-yet "~1.1.2" + console-control-strings "~1.1.0" + gauge "~2.7.3" + set-blocking "~2.0.0" + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://npm-8ee.hidora.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= + +object-assign@^4.1.0: + version "4.1.1" + resolved "https://npm-8ee.hidora.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + +once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://npm-8ee.hidora.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +optionator@^0.8.1: + version "0.8.3" + resolved "https://npm-8ee.hidora.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.6" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + word-wrap "~1.2.3" + +p-is-promise@^3.0.0: + version "3.0.0" + resolved "https://npm-8ee.hidora.com/p-is-promise/-/p-is-promise-3.0.0.tgz#58e78c7dfe2e163cf2a04ff869e7c1dba64a5971" + integrity sha512-Wo8VsW4IRQSKVXsJCn7TomUaVtyfjVDn3nUP7kE967BQk0CwFpdbZs0X0uk5sW9mkBa9eNM7hCMaG93WUAwxYQ== + +path-parse@^1.0.6: + version "1.0.7" + resolved "https://npm-8ee.hidora.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-type@^4.0.0: + version "4.0.0" + resolved "https://npm-8ee.hidora.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +picomatch@^2.2.3: + version "2.3.0" + resolved "https://npm-8ee.hidora.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" + integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== + +pkg-fetch@3.2.2: + version "3.2.2" + resolved "https://npm-8ee.hidora.com/pkg-fetch/-/pkg-fetch-3.2.2.tgz#33f391eb176c1844e93189a32f2279b36a1ec949" + integrity sha512-bLhFNT4cNnONxzbHo1H2mCCKuQkCR4dgQtv0gUZnWtp8TDP0v0UAXKHG7DXhAoTC5IYP3slLsFJtIda9ksny8g== + dependencies: + chalk "^4.1.0" + fs-extra "^9.1.0" + https-proxy-agent "^5.0.0" + node-fetch "^2.6.1" + progress "^2.0.3" + semver "^7.3.5" + yargs "^16.2.0" + +pkg@^5.3.1: + version "5.3.1" + resolved "https://npm-8ee.hidora.com/pkg/-/pkg-5.3.1.tgz#8f81671613b9e5bb1d83c39b2eed4799e1e679fe" + integrity sha512-jT/sptM1ZG++FNk+jnJYNoWLDQXYd7hqpnBhd5j18SNW1jJzNYo55RahuCiD0KN0PX9mb53GWCqKM0ia/mJytA== + dependencies: + "@babel/parser" "7.13.13" + "@babel/types" "7.13.12" + chalk "^4.1.0" + escodegen "^2.0.0" + fs-extra "^9.1.0" + globby "^11.0.3" + into-stream "^6.0.0" + minimist "^1.2.5" + multistream "^4.1.0" + pkg-fetch "3.2.2" + prebuild-install "6.0.1" + progress "^2.0.3" + resolve "^1.20.0" + stream-meter "^1.0.4" + tslib "2.1.0" + +prebuild-install@6.0.1: + version "6.0.1" + resolved "https://npm-8ee.hidora.com/prebuild-install/-/prebuild-install-6.0.1.tgz#5902172f7a40eb67305b96c2a695db32636ee26d" + integrity sha512-7GOJrLuow8yeiyv75rmvZyeMGzl8mdEX5gY69d6a6bHWmiPevwqFw+tQavhK0EYMaSg3/KD24cWqeQv1EWsqDQ== + dependencies: + detect-libc "^1.0.3" + expand-template "^2.0.3" + github-from-package "0.0.0" + minimist "^1.2.3" + mkdirp-classic "^0.5.3" + napi-build-utils "^1.0.1" + node-abi "^2.7.0" + noop-logger "^0.1.1" + npmlog "^4.0.1" + pump "^3.0.0" + rc "^1.2.7" + simple-get "^3.0.3" + tar-fs "^2.0.0" + tunnel-agent "^0.6.0" + which-pm-runs "^1.0.0" + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://npm-8ee.hidora.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://npm-8ee.hidora.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +progress@^2.0.3: + version "2.0.3" + resolved "https://npm-8ee.hidora.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + +pump@^3.0.0: + version "3.0.0" + resolved "https://npm-8ee.hidora.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +querystring@0.2.0: + version "0.2.0" + resolved "https://npm-8ee.hidora.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" + integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://npm-8ee.hidora.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +rc@^1.2.7: + version "1.2.8" + resolved "https://npm-8ee.hidora.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" + integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== + dependencies: + deep-extend "^0.6.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" + +"readable-stream@2 || 3", readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: + version "3.6.0" + resolved "https://npm-8ee.hidora.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" + integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readable-stream@^2.0.0, readable-stream@^2.0.6, readable-stream@^2.1.4: + version "2.3.7" + resolved "https://npm-8ee.hidora.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" + integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://npm-8ee.hidora.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + +resolve@^1.20.0: + version "1.20.0" + resolved "https://npm-8ee.hidora.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" + integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== + dependencies: + is-core-module "^2.2.0" + path-parse "^1.0.6" + +reusify@^1.0.4: + version "1.0.4" + resolved "https://npm-8ee.hidora.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://npm-8ee.hidora.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +safe-buffer@^5.0.1, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://npm-8ee.hidora.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://npm-8ee.hidora.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +sax@>=0.6.0: + version "1.2.4" + resolved "https://npm-8ee.hidora.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== + +semver@^5.4.1: + version "5.7.1" + resolved "https://npm-8ee.hidora.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +semver@^7.3.5: + version "7.3.5" + resolved "https://npm-8ee.hidora.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" + integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== + dependencies: + lru-cache "^6.0.0" + +set-blocking@~2.0.0: + version "2.0.0" + resolved "https://npm-8ee.hidora.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + +signal-exit@^3.0.0: + version "3.0.3" + resolved "https://npm-8ee.hidora.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" + integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== + +simple-concat@^1.0.0: + version "1.0.1" + resolved "https://npm-8ee.hidora.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f" + integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== + +simple-get@^3.0.3: + version "3.1.0" + resolved "https://npm-8ee.hidora.com/simple-get/-/simple-get-3.1.0.tgz#b45be062435e50d159540b576202ceec40b9c6b3" + integrity sha512-bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA== + dependencies: + decompress-response "^4.2.0" + once "^1.3.1" + simple-concat "^1.0.0" + +slash@^3.0.0: + version "3.0.0" + resolved "https://npm-8ee.hidora.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +source-map@~0.6.1: + version "0.6.1" + resolved "https://npm-8ee.hidora.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +stream-meter@^1.0.4: + version "1.0.4" + resolved "https://npm-8ee.hidora.com/stream-meter/-/stream-meter-1.0.4.tgz#52af95aa5ea760a2491716704dbff90f73afdd1d" + integrity sha1-Uq+Vql6nYKJJFxZwTb/5D3Ov3R0= + dependencies: + readable-stream "^2.1.4" + +string-width@^1.0.1: + version "1.0.2" + resolved "https://npm-8ee.hidora.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +"string-width@^1.0.2 || 2": + version "2.1.1" + resolved "https://npm-8ee.hidora.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string-width@^4.1.0, string-width@^4.2.0: + version "4.2.2" + resolved "https://npm-8ee.hidora.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5" + integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.0" + +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://npm-8ee.hidora.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://npm-8ee.hidora.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://npm-8ee.hidora.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://npm-8ee.hidora.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= + dependencies: + ansi-regex "^3.0.0" + +strip-ansi@^6.0.0: + version "6.0.0" + resolved "https://npm-8ee.hidora.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" + integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== + dependencies: + ansi-regex "^5.0.0" + +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://npm-8ee.hidora.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://npm-8ee.hidora.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +tar-fs@^2.0.0: + version "2.1.1" + resolved "https://npm-8ee.hidora.com/tar-fs/-/tar-fs-2.1.1.tgz#489a15ab85f1f0befabb370b7de4f9eb5cbe8784" + integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng== + dependencies: + chownr "^1.1.1" + mkdirp-classic "^0.5.2" + pump "^3.0.0" + tar-stream "^2.1.4" + +tar-stream@^2.1.4: + version "2.2.0" + resolved "https://npm-8ee.hidora.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" + integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== + dependencies: + bl "^4.0.3" + end-of-stream "^1.4.1" + fs-constants "^1.0.0" + inherits "^2.0.3" + readable-stream "^3.1.1" + +through2@^3.0.1: + version "3.0.2" + resolved "https://npm-8ee.hidora.com/through2/-/through2-3.0.2.tgz#99f88931cfc761ec7678b41d5d7336b5b6a07bf4" + integrity sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ== + dependencies: + inherits "^2.0.4" + readable-stream "2 || 3" + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://npm-8ee.hidora.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://npm-8ee.hidora.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +tslib@2.1.0: + version "2.1.0" + resolved "https://npm-8ee.hidora.com/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a" + integrity sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A== + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://npm-8ee.hidora.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= + dependencies: + safe-buffer "^5.0.1" + +type-check@~0.3.2: + version "0.3.2" + resolved "https://npm-8ee.hidora.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= + dependencies: + prelude-ls "~1.1.2" + +universalify@^2.0.0: + version "2.0.0" + resolved "https://npm-8ee.hidora.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" + integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== + +util-deprecate@^1.0.1, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://npm-8ee.hidora.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + +which-pm-runs@^1.0.0: + version "1.0.0" + resolved "https://npm-8ee.hidora.com/which-pm-runs/-/which-pm-runs-1.0.0.tgz#670b3afbc552e0b55df6b7780ca74615f23ad1cb" + integrity sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs= + +wide-align@^1.1.0: + version "1.1.3" + resolved "https://npm-8ee.hidora.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" + integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== + dependencies: + string-width "^1.0.2 || 2" + +word-wrap@~1.2.3: + version "1.2.3" + resolved "https://npm-8ee.hidora.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://npm-8ee.hidora.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://npm-8ee.hidora.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +xml2js@^0.4.15: + version "0.4.23" + resolved "https://npm-8ee.hidora.com/xml2js/-/xml2js-0.4.23.tgz#a0c69516752421eb2ac758ee4d4ccf58843eac66" + integrity sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug== + dependencies: + sax ">=0.6.0" + xmlbuilder "~11.0.0" + +xml@^1.0.0: + version "1.0.1" + resolved "https://npm-8ee.hidora.com/xml/-/xml-1.0.1.tgz#78ba72020029c5bc87b8a81a3cfcd74b4a2fc1e5" + integrity sha1-eLpyAgApxbyHuKgaPPzXS0ovweU= + +xmlbuilder@~11.0.0: + version "11.0.1" + resolved "https://npm-8ee.hidora.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3" + integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA== + +y18n@^5.0.5: + version "5.0.8" + resolved "https://npm-8ee.hidora.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://npm-8ee.hidora.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yargs-parser@^20.2.2: + version "20.2.9" + resolved "https://npm-8ee.hidora.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== + +yargs@^16.2.0: + version "16.2.0" + resolved "https://npm-8ee.hidora.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" + +yargs@^17.0.1: + version "17.0.1" + resolved "https://npm-8ee.hidora.com/yargs/-/yargs-17.0.1.tgz#6a1ced4ed5ee0b388010ba9fd67af83b9362e0bb" + integrity sha512-xBBulfCc8Y6gLFcrPvtqKz9hz8SO0l1Ni8GgDekvBX2ro0HRQImDGnikfc33cgzcYUSncapnNcZDjVFIH3f6KQ== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2"