From 3f2127102515227585fc63bad0c53d23d3429f38 Mon Sep 17 00:00:00 2001 From: naibo Date: Fri, 17 Mar 2023 23:00:21 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E6=8C=81=E4=B8=AD=E6=96=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../{EasySpider.crx => EasySpider_en.crx} | Bin .../CN.crx => ElectronJS/EasySpider_zh.crx | Bin 271946 -> 275556 bytes ElectronJS/README.md | 7 +- ElectronJS/index.html | 30 - ElectronJS/main.js | 87 +- ElectronJS/package-lock.json | 5863 ++++++ ElectronJS/package.cmd | 2 + ElectronJS/package.json | 24 +- ElectronJS/preload.js | 4 +- ElectronJS/{ => src}/bootstrap/CURD.html | 2 +- .../bootstrap/ToolBox - linkList.html | 2 +- ElectronJS/{ => src}/bootstrap/ToolKit.html | 2 +- .../{ => src}/bootstrap/baozhuangscript.js | 0 .../{ => src}/bootstrap/baozhuangscript3.js | 0 ElectronJS/{ => src}/bootstrap/content.html | 2 +- .../bootstrap/css/bootstrap-grid.css | 0 .../bootstrap/css/bootstrap-grid.css.map | 0 .../bootstrap/css/bootstrap-grid.min.css | 0 .../bootstrap/css/bootstrap-grid.min.css.map | 0 .../bootstrap/css/bootstrap-reboot.css | 0 .../bootstrap/css/bootstrap-reboot.css.map | 0 .../bootstrap/css/bootstrap-reboot.min.css | 0 .../css/bootstrap-reboot.min.css.map | 0 .../{ => src}/bootstrap/css/bootstrap.css | 0 .../{ => src}/bootstrap/css/bootstrap.css.map | 0 .../{ => src}/bootstrap/css/bootstrap.min.css | 0 .../bootstrap/css/bootstrap.min.css.map | 0 .../fonts/glyphicons-halflings-regular.eot | Bin .../fonts/glyphicons-halflings-regular.svg | 0 .../fonts/glyphicons-halflings-regular.ttf | Bin .../fonts/glyphicons-halflings-regular.woff | Bin .../fonts/glyphicons-halflings-regular.woff2 | Bin .../{ => src}/bootstrap/jquery-1.4.2.min.js | 0 .../bootstrap/js/bootstrap.bundle.js | 0 .../bootstrap/js/bootstrap.bundle.js.map | 0 .../bootstrap/js/bootstrap.bundle.min.js | 0 .../bootstrap/js/bootstrap.bundle.min.js.map | 0 .../{ => src}/bootstrap/js/bootstrap.js | 0 .../{ => src}/bootstrap/js/bootstrap.js.map | 0 .../{ => src}/bootstrap/js/bootstrap.min.js | 0 .../bootstrap/js/bootstrap.min.js.map | 0 ElectronJS/{ => src}/bootstrap/test.html | 0 ElectronJS/{ => src}/bootstrap/test2.html | 0 ElectronJS/{ => src}/bootstrap/test3.html | 0 ElectronJS/{ => src}/bootstrap/test4.html | 0 ElectronJS/{ => src/css}/styles.css | 0 ElectronJS/src/index.html | 78 + ElectronJS/{ => src/js}/jquery-3.4.1.min.js | 0 ElectronJS/{ => src/js}/renderer.js | 0 ElectronJS/src/js/vue.global.js | 16159 ++++++++++++++++ .../_locales/en/messages.json | 0 .../images/api_thumb_450.jpg | Bin .../images/icon-128.png | Bin .../images/icon-16.png | Bin .../images/icon-19.png | Bin .../images/icon-38.png | Bin .../manifest.json | 8 +- .../manifest.json.bak | 0 .../pages/devtools.html | 0 .../pages/options.html | 0 .../pages/popup.html | 0 .../scripts/background.js | 0 .../scripts/baozhuangscript.js | 0 .../scripts/contentscript.js | 0 .../scripts/devtools.js | 0 .../scripts/jquery-3.4.1.min.js | 0 .../scripts/jquery.js | 0 .../scripts/messageInteraction.js | 0 .../scripts/options.js | 0 .../scripts/popup.js | 0 .../scripts/vue.js | 0 .../styles/contentscript.css | 0 .../styles/devtools.css | 0 .../styles/options.css | 0 .../styles/popup.css | 0 Extension/EasySpider_mac.pem | 28 - Extension/EasySpider_mac/manifest.json | 8 +- Extension/EasySpider_zh.crx | Bin 0 -> 275556 bytes Extension/EasySpider_zh.pem | 28 + .../EasySpider_zh/_locales/en/messages.json | 18 + .../EasySpider_zh/images/api_thumb_450.jpg | Bin 0 -> 13973 bytes Extension/EasySpider_zh/images/icon-128.png | Bin 0 -> 19077 bytes Extension/EasySpider_zh/images/icon-16.png | Bin 0 -> 3706 bytes Extension/EasySpider_zh/images/icon-19.png | Bin 0 -> 4031 bytes Extension/EasySpider_zh/images/icon-38.png | Bin 0 -> 5969 bytes Extension/EasySpider_zh/manifest.json | 78 + Extension/EasySpider_zh/pages/devtools.html | 14 + Extension/EasySpider_zh/pages/options.html | 17 + Extension/EasySpider_zh/pages/popup.html | 15 + Extension/EasySpider_zh/scripts/background.js | 66 + .../EasySpider_zh/scripts/baozhuangscript.js | 261 + .../EasySpider_zh/scripts/contentscript.js | 933 + Extension/EasySpider_zh/scripts/devtools.js | 1 + .../EasySpider_zh/scripts/jquery-3.4.1.min.js | 2 + Extension/EasySpider_zh/scripts/jquery.js | 10598 ++++++++++ .../scripts/messageInteraction.js | 164 + Extension/EasySpider_zh/scripts/options.js | 1 + Extension/EasySpider_zh/scripts/popup.js | 1 + Extension/EasySpider_zh/scripts/vue.js | 11965 ++++++++++++ .../EasySpider_zh/styles/contentscript.css | 139 + Extension/EasySpider_zh/styles/devtools.css | 0 Extension/EasySpider_zh/styles/options.css | 0 Extension/EasySpider_zh/styles/popup.css | 0 ServiceGrid/frontEnd/FlowChart.html | 40 + ServiceGrid/frontEnd/FlowChart_CN.html | 52 +- ServiceGrid/frontEnd/global.js | 14 + ServiceGrid/frontEnd/invokeService.html | 205 - ServiceGrid/frontEnd/invokeTask.html | 230 + ServiceGrid/frontEnd/logic_CN.js | 14 +- .../{newService.html => newTask.html} | 42 +- ServiceGrid/frontEnd/serviceInfo.html | 142 - ServiceGrid/frontEnd/taskInfo.html | 157 + .../{serviceList.html => taskList.html} | 46 +- media/readme_back.md | 2 +- 114 files changed, 47070 insertions(+), 481 deletions(-) rename ElectronJS/{EasySpider.crx => EasySpider_en.crx} (100%) rename Extension/CN.crx => ElectronJS/EasySpider_zh.crx (80%) delete mode 100644 ElectronJS/index.html create mode 100644 ElectronJS/package-lock.json create mode 100644 ElectronJS/package.cmd rename ElectronJS/{ => src}/bootstrap/CURD.html (99%) rename ElectronJS/{ => src}/bootstrap/ToolBox - linkList.html (99%) rename ElectronJS/{ => src}/bootstrap/ToolKit.html (98%) rename ElectronJS/{ => src}/bootstrap/baozhuangscript.js (100%) rename ElectronJS/{ => src}/bootstrap/baozhuangscript3.js (100%) rename ElectronJS/{ => src}/bootstrap/content.html (96%) rename ElectronJS/{ => src}/bootstrap/css/bootstrap-grid.css (100%) rename ElectronJS/{ => src}/bootstrap/css/bootstrap-grid.css.map (100%) rename ElectronJS/{ => src}/bootstrap/css/bootstrap-grid.min.css (100%) rename ElectronJS/{ => src}/bootstrap/css/bootstrap-grid.min.css.map (100%) rename ElectronJS/{ => src}/bootstrap/css/bootstrap-reboot.css (100%) rename ElectronJS/{ => src}/bootstrap/css/bootstrap-reboot.css.map (100%) rename ElectronJS/{ => src}/bootstrap/css/bootstrap-reboot.min.css (100%) rename ElectronJS/{ => src}/bootstrap/css/bootstrap-reboot.min.css.map (100%) rename ElectronJS/{ => src}/bootstrap/css/bootstrap.css (100%) rename ElectronJS/{ => src}/bootstrap/css/bootstrap.css.map (100%) rename ElectronJS/{ => src}/bootstrap/css/bootstrap.min.css (100%) rename ElectronJS/{ => src}/bootstrap/css/bootstrap.min.css.map (100%) rename ElectronJS/{ => src}/bootstrap/fonts/glyphicons-halflings-regular.eot (100%) rename ElectronJS/{ => src}/bootstrap/fonts/glyphicons-halflings-regular.svg (100%) rename ElectronJS/{ => src}/bootstrap/fonts/glyphicons-halflings-regular.ttf (100%) rename ElectronJS/{ => src}/bootstrap/fonts/glyphicons-halflings-regular.woff (100%) rename ElectronJS/{ => src}/bootstrap/fonts/glyphicons-halflings-regular.woff2 (100%) rename ElectronJS/{ => src}/bootstrap/jquery-1.4.2.min.js (100%) rename ElectronJS/{ => src}/bootstrap/js/bootstrap.bundle.js (100%) rename ElectronJS/{ => src}/bootstrap/js/bootstrap.bundle.js.map (100%) rename ElectronJS/{ => src}/bootstrap/js/bootstrap.bundle.min.js (100%) rename ElectronJS/{ => src}/bootstrap/js/bootstrap.bundle.min.js.map (100%) rename ElectronJS/{ => src}/bootstrap/js/bootstrap.js (100%) rename ElectronJS/{ => src}/bootstrap/js/bootstrap.js.map (100%) rename ElectronJS/{ => src}/bootstrap/js/bootstrap.min.js (100%) rename ElectronJS/{ => src}/bootstrap/js/bootstrap.min.js.map (100%) rename ElectronJS/{ => src}/bootstrap/test.html (100%) rename ElectronJS/{ => src}/bootstrap/test2.html (100%) rename ElectronJS/{ => src}/bootstrap/test3.html (100%) rename ElectronJS/{ => src}/bootstrap/test4.html (100%) rename ElectronJS/{ => src/css}/styles.css (100%) create mode 100644 ElectronJS/src/index.html rename ElectronJS/{ => src/js}/jquery-3.4.1.min.js (100%) rename ElectronJS/{ => src/js}/renderer.js (100%) create mode 100644 ElectronJS/src/js/vue.global.js rename Extension/{EasySpider => EasySpider_en}/_locales/en/messages.json (100%) rename Extension/{EasySpider => EasySpider_en}/images/api_thumb_450.jpg (100%) rename Extension/{EasySpider => EasySpider_en}/images/icon-128.png (100%) rename Extension/{EasySpider => EasySpider_en}/images/icon-16.png (100%) rename Extension/{EasySpider => EasySpider_en}/images/icon-19.png (100%) rename Extension/{EasySpider => EasySpider_en}/images/icon-38.png (100%) rename Extension/{EasySpider => EasySpider_en}/manifest.json (92%) rename Extension/{EasySpider => EasySpider_en}/manifest.json.bak (100%) rename Extension/{EasySpider => EasySpider_en}/pages/devtools.html (100%) rename Extension/{EasySpider => EasySpider_en}/pages/options.html (100%) rename Extension/{EasySpider => EasySpider_en}/pages/popup.html (100%) rename Extension/{EasySpider => EasySpider_en}/scripts/background.js (100%) rename Extension/{EasySpider => EasySpider_en}/scripts/baozhuangscript.js (100%) rename Extension/{EasySpider => EasySpider_en}/scripts/contentscript.js (100%) rename Extension/{EasySpider => EasySpider_en}/scripts/devtools.js (100%) rename Extension/{EasySpider => EasySpider_en}/scripts/jquery-3.4.1.min.js (100%) rename Extension/{EasySpider => EasySpider_en}/scripts/jquery.js (100%) rename Extension/{EasySpider => EasySpider_en}/scripts/messageInteraction.js (100%) rename Extension/{EasySpider => EasySpider_en}/scripts/options.js (100%) rename Extension/{EasySpider => EasySpider_en}/scripts/popup.js (100%) rename Extension/{EasySpider => EasySpider_en}/scripts/vue.js (100%) rename Extension/{EasySpider => EasySpider_en}/styles/contentscript.css (100%) rename Extension/{EasySpider => EasySpider_en}/styles/devtools.css (100%) rename Extension/{EasySpider => EasySpider_en}/styles/options.css (100%) rename Extension/{EasySpider => EasySpider_en}/styles/popup.css (100%) delete mode 100644 Extension/EasySpider_mac.pem create mode 100644 Extension/EasySpider_zh.crx create mode 100644 Extension/EasySpider_zh.pem create mode 100644 Extension/EasySpider_zh/_locales/en/messages.json create mode 100644 Extension/EasySpider_zh/images/api_thumb_450.jpg create mode 100644 Extension/EasySpider_zh/images/icon-128.png create mode 100644 Extension/EasySpider_zh/images/icon-16.png create mode 100644 Extension/EasySpider_zh/images/icon-19.png create mode 100644 Extension/EasySpider_zh/images/icon-38.png create mode 100644 Extension/EasySpider_zh/manifest.json create mode 100644 Extension/EasySpider_zh/pages/devtools.html create mode 100644 Extension/EasySpider_zh/pages/options.html create mode 100644 Extension/EasySpider_zh/pages/popup.html create mode 100644 Extension/EasySpider_zh/scripts/background.js create mode 100644 Extension/EasySpider_zh/scripts/baozhuangscript.js create mode 100644 Extension/EasySpider_zh/scripts/contentscript.js create mode 100644 Extension/EasySpider_zh/scripts/devtools.js create mode 100644 Extension/EasySpider_zh/scripts/jquery-3.4.1.min.js create mode 100644 Extension/EasySpider_zh/scripts/jquery.js create mode 100644 Extension/EasySpider_zh/scripts/messageInteraction.js create mode 100644 Extension/EasySpider_zh/scripts/options.js create mode 100644 Extension/EasySpider_zh/scripts/popup.js create mode 100644 Extension/EasySpider_zh/scripts/vue.js create mode 100644 Extension/EasySpider_zh/styles/contentscript.css create mode 100644 Extension/EasySpider_zh/styles/devtools.css create mode 100644 Extension/EasySpider_zh/styles/options.css create mode 100644 Extension/EasySpider_zh/styles/popup.css create mode 100644 ServiceGrid/frontEnd/global.js delete mode 100644 ServiceGrid/frontEnd/invokeService.html create mode 100644 ServiceGrid/frontEnd/invokeTask.html rename ServiceGrid/frontEnd/{newService.html => newTask.html} (53%) delete mode 100644 ServiceGrid/frontEnd/serviceInfo.html create mode 100644 ServiceGrid/frontEnd/taskInfo.html rename ServiceGrid/frontEnd/{serviceList.html => taskList.html} (69%) diff --git a/ElectronJS/EasySpider.crx b/ElectronJS/EasySpider_en.crx similarity index 100% rename from ElectronJS/EasySpider.crx rename to ElectronJS/EasySpider_en.crx diff --git a/Extension/CN.crx b/ElectronJS/EasySpider_zh.crx similarity index 80% rename from Extension/CN.crx rename to ElectronJS/EasySpider_zh.crx index 1e4523abac90e8119dd05de9bd21a6ebc4d913b9..13b03492ba7d6fa3ebb836f928244379b60db760 100644 GIT binary patch delta 45080 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 Bxaj}@ delta 46999 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 V5&{2o8OmHh3^-?E2muuEe*jrb2-N@p diff --git a/ElectronJS/README.md b/ElectronJS/README.md index ffc209a..12ceb48 100644 --- a/ElectronJS/README.md +++ b/ElectronJS/README.md @@ -9,11 +9,16 @@ npm install npm install @electron-forge/cli npm start ``` - ## Package Instruction ``` npx electron-forge import npm run package +``` + +optional: + +``` +npm run make ``` \ No newline at end of file diff --git a/ElectronJS/index.html b/ElectronJS/index.html deleted file mode 100644 index 3757ca8..0000000 --- a/ElectronJS/index.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - EasySpider: NoCode Visual Web Crawler - - - -

- - - - - \ No newline at end of file diff --git a/ElectronJS/main.js b/ElectronJS/main.js index 584f232..f7cd413 100644 --- a/ElectronJS/main.js +++ b/ElectronJS/main.js @@ -1,5 +1,6 @@ // Modules to control application life and create native browser window -const { app, BrowserWindow, dialog, ipcMain } = require('electron'); +const { app, BrowserWindow, dialog, ipcMain, screen } = require('electron'); +app.commandLine.appendSwitch("--disable-http-cache"); const path = require('path'); const {exec} = require('child_process'); const iconPath = path.join(__dirname, 'favicon.ico'); @@ -19,12 +20,26 @@ if (process.platform === 'win32' || process.platform === 'win64') { chromeBinaryPath = path.join(__dirname, "chrome_linux64/chrome"); execute_path = path.join(__dirname, "chrome_linux64/easyspider_executestage"); } - +let language = "en"; let server_address = "https://servicewrapper.systems"; let driver = null; let mainWindow = null; let flowchart_window = null; +// var ffi = require('ffi-napi'); +// var libm = ffi.Library('libm', { +// 'ceil': [ 'double', [ 'double' ] ] +// }); +// libm.ceil(1.5); // 2 +// const {user32FindWindowEx, +// winspoolGetDefaultPrinter,} = require('win32-api/fun'); +// async function testt(){ +// // 获取当前电脑当前用户默认打印机名 +// const printerName = await winspoolGetDefaultPrinter() +// console.log(printerName); +// } + +// testt(); function createWindow() { // Create the browser window. @@ -35,14 +50,17 @@ function createWindow() { preload: path.join(__dirname, 'preload.js') }, icon: iconPath, + // frame: false, //取消window自带的关闭最小化等 + resizable: false //禁止改变主窗口尺寸 }) // and load the index.html of the app. - mainWindow.loadFile('index.html'); + mainWindow.loadFile('src/index.html'); // 隐藏菜单栏 const { Menu } = require('electron'); Menu.setApplicationMenu(null); + // mainWindow.webContents.openDevTools(); // Open the DevTools. // mainWindow.webContents.openDevTools() @@ -52,12 +70,30 @@ function createWindow() { function beginInvoke(msg) { if (msg.type == 1) { if (msg.message.id != -1) { - let url = server_address + `/FlowChart.html?id=${msg.message.id}&backEndAddressServiceWrapper=` + server_address; + let url = ""; + if (language == "zh"){ + url = server_address + `/FlowChart_CN.html?id=${msg.message.id}&backEndAddressServiceWrapper=` + server_address; + } else if(language == "en"){ + url = server_address + `/FlowChart.html?id=${msg.message.id}&backEndAddressServiceWrapper=` + server_address; + } console.log(url); flowchart_window.loadURL(url); } mainWindow.hide(); flowchart_window.show(); + const { windowManager } = require("node-window-manager"); + const window = windowManager.getActiveWindow(); + // Prints the currently focused window bounds. + console.log(window.getBounds()); + // This method has to be called on macOS before changing the window's bounds, otherwise it will throw an error. + // It will prompt an accessibility permission request dialog, if needed. + windowManager.requestAccessibility(); + // Sets the active window's bounds. + let size = screen.getPrimaryDisplay().workAreaSize + let width = parseInt(size.width) + let height = parseInt(size.height * 0.6) + window.setBounds({ x: 0, y: size.height * 0.4, height:height, width:width }); + } else if (msg.type == 2) { //keyboard const robot = require("@jitsi/robotjs"); @@ -127,13 +163,19 @@ const chrome = require('selenium-webdriver/chrome'); const { ServiceBuilder } = require('selenium-webdriver/chrome'); const { rootCertificates } = require('tls'); const { exit } = require('process'); +const {windowManager} = require("node-window-manager"); console.log(process.platform); -async function runBrowser() { +async function runBrowser(lang="en") { const serviceBuilder = new ServiceBuilder(driverPath); let options = new chrome.Options(); - options.addExtensions(path.join(__dirname, "EasySpider.crx")); + language = lang; + if(lang=="en") { + options.addExtensions(path.join(__dirname, "EasySpider_en.crx")); + } else if(lang=="zh") { + options.addExtensions(path.join(__dirname, "EasySpider_zh.crx")); + } options.setChromeBinaryPath(chromeBinaryPath); driver = new Builder() .forBrowser('chrome') @@ -141,24 +183,33 @@ async function runBrowser() { .setChromeService(serviceBuilder) .build(); try { - await driver.get(server_address + "/serviceList.html?backEndAddressServiceWrapper=" + server_address); + await driver.get(server_address + "/taskList.html?backEndAddressServiceWrapper=" + server_address + "&lang=" + lang); } finally { // await driver.quit(); // 退出浏览器 } } -function handleOpenBrowser(event) { +function handleOpenBrowser(event, lang="en") { const webContents = event.sender; const win = BrowserWindow.fromWebContents(webContents); - runBrowser(); + runBrowser(lang); + let size = screen.getPrimaryDisplay().workAreaSize; + let width = parseInt(size.width); + let height = parseInt(size.height * 0.6); flowchart_window = new BrowserWindow({ - width: 1600, - height: 900, + x:0, + y:0, + width: width, + height: height, icon: iconPath, }); - + let url = ""; let id = -1; - let url = server_address + `/FlowChart.html?id=${id}&backEndAddressServiceWrapper=` + server_address; + if (lang == "en") { + url = server_address + `/FlowChart.html?id=${id}&backEndAddressServiceWrapper=` + server_address; + }else if(lang == "zh") { + url = server_address + `/FlowChart_CN.html?id=${id}&backEndAddressServiceWrapper=` + server_address; + } // and load the index.html of the app. flowchart_window.loadURL(url); flowchart_window.hide(); @@ -167,9 +218,15 @@ function handleOpenBrowser(event) { }); } -function handleOpenInvoke(event){ +function handleOpenInvoke(event, lang="en"){ const window = new BrowserWindow({icon: iconPath}); - let url = server_address + `/serviceList.html?type=1&backEndAddressServiceWrapper=` + server_address; + let url = ""; + language = lang; + if (lang == "en") { + url = server_address + `/taskList.html?type=1&backEndAddressServiceWrapper=` + server_address; + }else if(lang == "zh") { + url = server_address + `/taskList.html?type=1&backEndAddressServiceWrapper=` + server_address + "&lang=zh"; + } // and load the index.html of the app. window.loadURL(url); window.maximize(); diff --git a/ElectronJS/package-lock.json b/ElectronJS/package-lock.json new file mode 100644 index 0000000..3179e85 --- /dev/null +++ b/ElectronJS/package-lock.json @@ -0,0 +1,5863 @@ +{ + "name": "easy-spider", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "easy-spider", + "version": "0.1.0", + "license": "CC0-1.0", + "dependencies": { + "@jitsi/robotjs": "^0.6.11", + "electron-squirrel-startup": "^1.0.0", + "ffi-napi": "^4.0.3", + "node-window-manager": "^2.2.4", + "ref-napi": "^3.0.3", + "selenium-webdriver": "^4.8.0", + "win32-api": "^20.4.1", + "ws": "^8.12.0" + }, + "devDependencies": { + "@electron-forge/cli": "^6.0.5", + "@electron-forge/maker-deb": "^6.0.5", + "@electron-forge/maker-rpm": "^6.0.5", + "@electron-forge/maker-squirrel": "^6.0.5", + "@electron-forge/maker-zip": "^6.0.5", + "electron": "^20.0.0" + } + }, + "node_modules/@electron-forge/cli": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/@electron-forge/cli/-/cli-6.0.5.tgz", + "integrity": "sha512-3xD4XKyV634cQCR8HobpVnb4LqVdTHDs+KwsU9zgjaBIJMBapCS3ZzpXYbxzPekTaVwu39ojMUg990JVYBhs2A==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/malept" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/subscription/pkg/npm-.electron-forge-cli?utm_medium=referral&utm_source=npm_fund" + } + ], + "dependencies": { + "@electron-forge/core": "6.0.5", + "@electron-forge/shared-types": "6.0.5", + "@electron/get": "^2.0.0", + "chalk": "^4.0.0", + "commander": "^4.1.1", + "debug": "^4.3.1", + "fs-extra": "^10.0.0", + "listr2": "^5.0.3", + "semver": "^7.2.1" + }, + "bin": { + "electron-forge": "dist/electron-forge.js", + "electron-forge-vscode-nix": "script/vscode.sh", + "electron-forge-vscode-win": "script/vscode.cmd" + }, + "engines": { + "node": ">= 14.17.5" + } + }, + "node_modules/@electron-forge/core": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/@electron-forge/core/-/core-6.0.5.tgz", + "integrity": "sha512-lMtm3x2ZFEBOU7/JTIo2oI5dXm2hKqpdc4opHA7iOxja5YYDDvnqKt+tACJSCdnCOxYLS+0OSoaz/DJ8SNyStw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/malept" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/subscription/pkg/npm-.electron-forge-core?utm_medium=referral&utm_source=npm_fund" + } + ], + "dependencies": { + "@electron-forge/core-utils": "6.0.5", + "@electron-forge/maker-base": "6.0.5", + "@electron-forge/plugin-base": "6.0.5", + "@electron-forge/publisher-base": "6.0.5", + "@electron-forge/shared-types": "6.0.5", + "@electron-forge/template-base": "6.0.5", + "@electron-forge/template-webpack": "6.0.5", + "@electron-forge/template-webpack-typescript": "6.0.5", + "@electron/get": "^2.0.0", + "@electron/rebuild": "^3.2.10", + "@malept/cross-spawn-promise": "^2.0.0", + "chalk": "^4.0.0", + "debug": "^4.3.1", + "electron-packager": "^17.1.1", + "fast-glob": "^3.2.7", + "filenamify": "^4.1.0", + "find-up": "^5.0.0", + "fs-extra": "^10.0.0", + "got": "^11.8.5", + "interpret": "^3.1.1", + "listr2": "^5.0.3", + "lodash": "^4.17.20", + "log-symbols": "^4.0.0", + "node-fetch": "^2.6.7", + "progress": "^2.0.3", + "rechoir": "^0.8.0", + "resolve-package": "^1.0.1", + "semver": "^7.2.1", + "source-map-support": "^0.5.13", + "sudo-prompt": "^9.1.1", + "username": "^5.1.0", + "yarn-or-npm": "^3.0.1" + }, + "engines": { + "node": ">= 14.17.5" + } + }, + "node_modules/@electron-forge/core-utils": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/@electron-forge/core-utils/-/core-utils-6.0.5.tgz", + "integrity": "sha512-KCxTQOGRGITUwdxMu63xFn4SkuBE6Fvn188MjZHyztAHimiKBWdNGBrBHgjR2WyYTziT8y6JXcAntAW5d+jYHQ==", + "dev": true, + "dependencies": { + "@electron-forge/shared-types": "6.0.5", + "@electron/rebuild": "^3.2.10", + "@malept/cross-spawn-promise": "^2.0.0", + "chalk": "^4.0.0", + "debug": "^4.3.1", + "find-up": "^5.0.0", + "fs-extra": "^10.0.0", + "log-symbols": "^4.0.0", + "semver": "^7.2.1", + "yarn-or-npm": "^3.0.1" + }, + "engines": { + "node": ">= 14.17.5" + } + }, + "node_modules/@electron-forge/maker-base": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/@electron-forge/maker-base/-/maker-base-6.0.5.tgz", + "integrity": "sha512-m3xS/Gd2XlYUjXO4o8bxZEcwN9AulMDjuIzq68FRH5VB1vuESJKtVZjSa331IjaA+0aRXbSCa108FLy8g5Qlaw==", + "dev": true, + "dependencies": { + "@electron-forge/shared-types": "6.0.5", + "fs-extra": "^10.0.0", + "which": "^2.0.2" + }, + "engines": { + "node": ">= 14.17.5" + } + }, + "node_modules/@electron-forge/maker-deb": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/@electron-forge/maker-deb/-/maker-deb-6.0.5.tgz", + "integrity": "sha512-uaDxBeLhJcrySnPGPEZbGwJG7qeiBE05+rdkPpsfHzsTBYca1abQ2Ll66R5EmOrosIZv60OUt1eGyxOrWlo1+w==", + "dev": true, + "dependencies": { + "@electron-forge/maker-base": "6.0.5", + "@electron-forge/shared-types": "6.0.5" + }, + "engines": { + "node": ">= 14.17.5" + }, + "optionalDependencies": { + "electron-installer-debian": "^3.0.0" + } + }, + "node_modules/@electron-forge/maker-rpm": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/@electron-forge/maker-rpm/-/maker-rpm-6.0.5.tgz", + "integrity": "sha512-qwrTMo8kBf6fsPi6S22qCvD5F2OeJ8F4c0vuHi9YCUoPVjU3wBsvxi+lJclkdTqgzRWidfZ1vsbltcOSZb+2fw==", + "dev": true, + "dependencies": { + "@electron-forge/maker-base": "6.0.5", + "@electron-forge/shared-types": "6.0.5" + }, + "engines": { + "node": ">= 14.17.5" + }, + "optionalDependencies": { + "electron-installer-redhat": "^3.2.0" + } + }, + "node_modules/@electron-forge/maker-squirrel": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/@electron-forge/maker-squirrel/-/maker-squirrel-6.0.5.tgz", + "integrity": "sha512-moP4OIytJlqxx3J7UCWrOv04tepjQIzK9RdzK4m9jfjPAxZtRObesFGXr/jLO18NHXk7fDcbYLf3sTIfaPU6jg==", + "dev": true, + "dependencies": { + "@electron-forge/maker-base": "6.0.5", + "@electron-forge/shared-types": "6.0.5", + "fs-extra": "^10.0.0" + }, + "engines": { + "node": ">= 14.17.5" + }, + "optionalDependencies": { + "electron-winstaller": "^5.0.0" + } + }, + "node_modules/@electron-forge/maker-zip": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/@electron-forge/maker-zip/-/maker-zip-6.0.5.tgz", + "integrity": "sha512-Yg256nGQUWT35EZyRIALpgtdM8WSvgZc0O4aA6Wy0S6ektaxyM2a+tO2ug/Vl+RgYA6oIeAADfkU2RxLiGnhbA==", + "dev": true, + "dependencies": { + "@electron-forge/maker-base": "6.0.5", + "@electron-forge/shared-types": "6.0.5", + "cross-zip": "^4.0.0", + "fs-extra": "^10.0.0" + }, + "engines": { + "node": ">= 14.17.5" + } + }, + "node_modules/@electron-forge/plugin-base": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/@electron-forge/plugin-base/-/plugin-base-6.0.5.tgz", + "integrity": "sha512-Q2ywNq6Qzb9K1W59qzbJvI+NZaDPrHz7iq9W8UfyHoEDYLJsD368PzHtNaQFJx+ofZNgsSpukXoL9mGvN1lVbA==", + "dev": true, + "dependencies": { + "@electron-forge/shared-types": "6.0.5" + }, + "engines": { + "node": ">= 14.17.5" + } + }, + "node_modules/@electron-forge/publisher-base": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/@electron-forge/publisher-base/-/publisher-base-6.0.5.tgz", + "integrity": "sha512-gwOaMC3RKPO1mq3dqP9ko8kJptO41XU+I+pM66W/wvCNIQzisFCqrsx3d8A9RWsMJug0I1xNsYdBt99j1/2haA==", + "dev": true, + "dependencies": { + "@electron-forge/shared-types": "6.0.5" + }, + "engines": { + "node": ">= 14.17.5" + } + }, + "node_modules/@electron-forge/shared-types": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/@electron-forge/shared-types/-/shared-types-6.0.5.tgz", + "integrity": "sha512-FrJI11afw/Cxk0JwgWyKg9aPoHOdmMi4JHTY6pnmi95MjarQ1d0SIqKJUzX7q2lXPUAxqPKA2Wmykg6F2CThlg==", + "dev": true, + "dependencies": { + "@electron/rebuild": "^3.2.10", + "electron-packager": "^17.1.1", + "listr2": "^5.0.3" + }, + "engines": { + "node": ">= 14.17.5" + } + }, + "node_modules/@electron-forge/template-base": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/@electron-forge/template-base/-/template-base-6.0.5.tgz", + "integrity": "sha512-/3nOKPltnL8nVdZS2EpnKx1VMBqgLjW8TLRt8vtc+WdHtCVJBiU1Pt0JxTYDM3Raq/CclWGqVFb1svqorAon7Q==", + "dev": true, + "dependencies": { + "@electron-forge/shared-types": "6.0.5", + "@malept/cross-spawn-promise": "^2.0.0", + "debug": "^4.3.1", + "fs-extra": "^10.0.0", + "username": "^5.1.0" + }, + "engines": { + "node": ">= 14.17.5" + } + }, + "node_modules/@electron-forge/template-webpack": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/@electron-forge/template-webpack/-/template-webpack-6.0.5.tgz", + "integrity": "sha512-fDINYYCJ3D8rMYgS5tTHhgC8d73pRpQKtyBCQFC9KkfdNMYJr9MPZeep5pYQqrOMjSgBpgaYSBL9Unsa5I1F2g==", + "dev": true, + "dependencies": { + "@electron-forge/shared-types": "6.0.5", + "@electron-forge/template-base": "6.0.5", + "fs-extra": "^10.0.0" + }, + "engines": { + "node": ">= 14.17.5" + } + }, + "node_modules/@electron-forge/template-webpack-typescript": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/@electron-forge/template-webpack-typescript/-/template-webpack-typescript-6.0.5.tgz", + "integrity": "sha512-YjKVszYRT4S3Sw3AOEpJokU7KPpmr0HWuO14+WHMO0FhQ1gaTMfPoz6QRHg0F1Ulz73mm6b3MLb9ID5igZv7Mw==", + "dev": true, + "dependencies": { + "@electron-forge/shared-types": "6.0.5", + "@electron-forge/template-base": "6.0.5", + "fs-extra": "^10.0.0" + }, + "engines": { + "node": ">= 14.17.5" + } + }, + "node_modules/@electron/asar": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/@electron/asar/-/asar-3.2.3.tgz", + "integrity": "sha512-wmOfE6szYyqZhRIiLH+eyZEp+bGcJI0OD/SCvSUrfBE0jvauyGYO2ZhpWxmNCcDojKu5DYrsVqT5BOCZZ01XIg==", + "dev": true, + "dependencies": { + "chromium-pickle-js": "^0.2.0", + "commander": "^5.0.0", + "glob": "^7.1.6", + "minimatch": "^3.0.4" + }, + "bin": { + "asar": "bin/asar.js" + }, + "engines": { + "node": ">=10.12.0" + }, + "optionalDependencies": { + "@types/glob": "^7.1.1" + } + }, + "node_modules/@electron/asar/node_modules/commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@electron/get": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@electron/get/-/get-2.0.2.tgz", + "integrity": "sha512-eFZVFoRXb3GFGd7Ak7W4+6jBl9wBtiZ4AaYOse97ej6mKj5tkyO0dUnUChs1IhJZtx1BENo4/p4WUTXpi6vT+g==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "env-paths": "^2.2.0", + "fs-extra": "^8.1.0", + "got": "^11.8.5", + "progress": "^2.0.3", + "semver": "^6.2.0", + "sumchecker": "^3.0.1" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "global-agent": "^3.0.0" + } + }, + "node_modules/@electron/get/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/@electron/get/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@electron/get/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@electron/get/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/@electron/notarize": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@electron/notarize/-/notarize-1.2.3.tgz", + "integrity": "sha512-9oRzT56rKh5bspk3KpAVF8lPKHYQrBnRwcgiOeR0hdilVEQmszDaAu0IPCPrwwzJN0ugNs0rRboTreHMt/6mBQ==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "fs-extra": "^9.0.1" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@electron/notarize/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@electron/osx-sign": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@electron/osx-sign/-/osx-sign-1.0.4.tgz", + "integrity": "sha512-xfhdEcIOfAZg7scZ9RQPya1G1lWo8/zMCwUXAulq0SfY7ONIW+b9qGyKdMyuMctNYwllrIS+vmxfijSfjeh97g==", + "dev": true, + "dependencies": { + "compare-version": "^0.1.2", + "debug": "^4.3.4", + "fs-extra": "^10.0.0", + "isbinaryfile": "^4.0.8", + "minimist": "^1.2.6", + "plist": "^3.0.5" + }, + "bin": { + "electron-osx-flat": "bin/electron-osx-flat.js", + "electron-osx-sign": "bin/electron-osx-sign.js" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@electron/rebuild": { + "version": "3.2.10", + "resolved": "https://registry.npmjs.org/@electron/rebuild/-/rebuild-3.2.10.tgz", + "integrity": "sha512-SUBM6Mwi3yZaDFQjZzfGKpYTtOp9m60glounwX6tfGeVc/ZOl4jbquktUcyy7gYSLDWFLtKkftkY2xgMJZLQgg==", + "dev": true, + "dependencies": { + "@malept/cross-spawn-promise": "^2.0.0", + "chalk": "^4.0.0", + "debug": "^4.1.1", + "detect-libc": "^2.0.1", + "fs-extra": "^10.0.0", + "got": "^11.7.0", + "lzma-native": "^8.0.5", + "node-abi": "^3.0.0", + "node-api-version": "^0.1.4", + "node-gyp": "^9.0.0", + "ora": "^5.1.0", + "semver": "^7.3.5", + "tar": "^6.0.5", + "yargs": "^17.0.1" + }, + "bin": { + "electron-rebuild": "lib/src/cli.js" + }, + "engines": { + "node": ">=12.13.0" + } + }, + "node_modules/@electron/universal": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@electron/universal/-/universal-1.3.4.tgz", + "integrity": "sha512-BdhBgm2ZBnYyYRLRgOjM5VHkyFItsbggJ0MHycOjKWdFGYwK97ZFXH54dTvUWEfha81vfvwr5On6XBjt99uDcg==", + "dev": true, + "dependencies": { + "@electron/asar": "^3.2.1", + "@malept/cross-spawn-promise": "^1.1.0", + "debug": "^4.3.1", + "dir-compare": "^3.0.0", + "fs-extra": "^9.0.1", + "minimatch": "^3.0.4", + "plist": "^3.0.4" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/@electron/universal/node_modules/@malept/cross-spawn-promise": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-1.1.1.tgz", + "integrity": "sha512-RTBGWL5FWQcg9orDOCcp4LvItNzUPcyEU9bwaeJX0rJ1IQxzucC48Y0/sQLp/g6t99IQgAlGIaesJS+gTn7tVQ==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/malept" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/subscription/pkg/npm-.malept-cross-spawn-promise?utm_medium=referral&utm_source=npm_fund" + } + ], + "dependencies": { + "cross-spawn": "^7.0.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@electron/universal/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@gar/promisify": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", + "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", + "dev": true + }, + "node_modules/@jitsi/robotjs": { + "version": "0.6.11", + "resolved": "https://registry.npmjs.org/@jitsi/robotjs/-/robotjs-0.6.11.tgz", + "integrity": "sha512-jwA6eujEykl2crkrPUK96RdD+IUQzMEVf+hzCrypzgQ583S3e7LaHHmn2E3RdBBs08AoVBoGW11m3dPhSi2m3g==", + "hasInstallScript": true, + "dependencies": { + "node-addon-api": "^4.2.0", + "node-gyp-build": "^4.3.0" + } + }, + "node_modules/@malept/cross-spawn-promise": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-2.0.0.tgz", + "integrity": "sha512-1DpKU0Z5ThltBwjNySMC14g0CkbyhCaz9FkhxqNsZI6uAPJXFS8cMXlBKo26FJ8ZuW6S9GCMcR9IO5k2X5/9Fg==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/malept" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/subscription/pkg/npm-.malept-cross-spawn-promise?utm_medium=referral&utm_source=npm_fund" + } + ], + "dependencies": { + "cross-spawn": "^7.0.1" + }, + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@npmcli/fs": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz", + "integrity": "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==", + "dev": true, + "dependencies": { + "@gar/promisify": "^1.1.3", + "semver": "^7.3.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/@npmcli/move-file": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz", + "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==", + "deprecated": "This functionality has been moved to @npmcli/fs", + "dev": true, + "dependencies": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/@sindresorhus/is": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", + "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" + } + }, + "node_modules/@szmarczak/http-timer": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", + "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", + "dev": true, + "dependencies": { + "defer-to-connect": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@types/cacheable-request": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", + "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==", + "dev": true, + "dependencies": { + "@types/http-cache-semantics": "*", + "@types/keyv": "^3.1.4", + "@types/node": "*", + "@types/responselike": "^1.0.0" + } + }, + "node_modules/@types/fs-extra": { + "version": "9.0.13", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.13.tgz", + "integrity": "sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==", + "dev": true, + "optional": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "dev": true, + "optional": true, + "dependencies": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "node_modules/@types/http-cache-semantics": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz", + "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==", + "dev": true + }, + "node_modules/@types/keyv": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz", + "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/minimatch": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", + "dev": true, + "optional": true + }, + "node_modules/@types/node": { + "version": "16.18.16", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.16.tgz", + "integrity": "sha512-ZOzvDRWp8dCVBmgnkIqYCArgdFOO9YzocZp8Ra25N/RStKiWvMOXHMz+GjSeVNe5TstaTmTWPucGJkDw0XXJWA==", + "dev": true + }, + "node_modules/@types/responselike": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz", + "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", + "dev": true, + "optional": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@waiting/shared-types": { + "version": "20.13.0", + "resolved": "https://registry.npmjs.org/@waiting/shared-types/-/shared-types-20.13.0.tgz", + "integrity": "sha512-OiMocNStZbtkf8LEwrbtAuiI3WtwXo+Aoqhz6jP6i9KSogNDsEMccJRz5wq+gVeO2qEcymn5J2NyK7vR/icgBg==", + "engines": { + "node": ">=14.16.0" + }, + "peerDependencies": { + "typescript": ">=4.7.4" + } + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/agentkeepalive": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.3.0.tgz", + "integrity": "sha512-7Epl1Blf4Sy37j4v9f9FjICCh4+KAQOyXgHEwlyBiAQLbhKdq/i2QQU3amQalS/wPhdPzDXPL5DMR5bkn+YeWg==", + "dev": true, + "dependencies": { + "debug": "^4.1.0", + "depd": "^2.0.0", + "humanize-ms": "^1.2.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", + "dev": true + }, + "node_modules/are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "dev": true, + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/asar": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/asar/-/asar-3.2.0.tgz", + "integrity": "sha512-COdw2ZQvKdFGFxXwX3oYh2/sOsJWJegrdJCGxnN4MZ7IULgRBp9P6665aqj9z1v9VwP4oP1hRBojRDQ//IGgAg==", + "deprecated": "Please use @electron/asar moving forward. There is no API change, just a package name change", + "dev": true, + "optional": true, + "dependencies": { + "chromium-pickle-js": "^0.2.0", + "commander": "^5.0.0", + "glob": "^7.1.6", + "minimatch": "^3.0.4" + }, + "bin": { + "asar": "bin/asar.js" + }, + "engines": { + "node": ">=10.12.0" + }, + "optionalDependencies": { + "@types/glob": "^7.1.1" + } + }, + "node_modules/asar/node_modules/commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "dev": true, + "optional": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/author-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/author-regex/-/author-regex-1.0.0.tgz", + "integrity": "sha512-KbWgR8wOYRAPekEmMXrYYdc7BRyhn2Ftk7KWfMUnQ43hFdojWEFRxhhRUm3/OFEdPa1r0KAvTTg9YQK57xTe0g==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "node_modules/boolean": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz", + "integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==", + "dev": true, + "optional": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/buffer-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.1.tgz", + "integrity": "sha512-QoV3ptgEaQpvVwbXdSO39iqPQTCxSF7A5U99AxbHYqUdCizL/lH2Z0A2y6nbZucxMEOtNyZfG2s6gsVugGpKkg==", + "dev": true, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/cacache": { + "version": "16.1.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz", + "integrity": "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==", + "dev": true, + "dependencies": { + "@npmcli/fs": "^2.1.0", + "@npmcli/move-file": "^2.0.0", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "glob": "^8.0.1", + "infer-owner": "^1.0.4", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "mkdirp": "^1.0.4", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^9.0.0", + "tar": "^6.1.11", + "unique-filename": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/cacache/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/cacache/node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/cacache/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cacheable-lookup": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", + "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", + "dev": true, + "engines": { + "node": ">=10.6.0" + } + }, + "node_modules/cacheable-request": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz", + "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==", + "dev": true, + "dependencies": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^4.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^6.0.1", + "responselike": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/chromium-pickle-js": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz", + "integrity": "sha512-1R5Fho+jBq0DDydt+/vHWj5KJNJCKdARKOCwZUen84I5BreWoLqRLANH1U87eJy1tiASPtMnGqJJq0ZsLoRPOw==", + "dev": true + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-spinners": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.7.0.tgz", + "integrity": "sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "dev": true, + "dependencies": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/clone-response": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", + "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", + "dev": true, + "dependencies": { + "mimic-response": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true, + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/colorette": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", + "dev": true + }, + "node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/compare-version": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/compare-version/-/compare-version-0.1.2.tgz", + "integrity": "sha512-pJDh5/4wrEnXX/VWRZvruAGHkzKdr46z11OlTPN+VrATlWWhSKewNCJ1futCO5C7eJB3nPMFZA1LeYtcFboZ2A==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/config-chain": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", + "dev": true, + "optional": true, + "dependencies": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "node_modules/console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", + "dev": true + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cross-spawn-windows-exe": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/cross-spawn-windows-exe/-/cross-spawn-windows-exe-1.2.0.tgz", + "integrity": "sha512-mkLtJJcYbDCxEG7Js6eUnUNndWjyUZwJ3H7bErmmtOYU/Zb99DyUkpamuIZE0b3bhmJyZ7D90uS6f+CGxRRjOw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/malept" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/subscription/pkg/npm-cross-spawn-windows-exe?utm_medium=referral&utm_source=npm_fund" + } + ], + "dependencies": { + "@malept/cross-spawn-promise": "^1.1.0", + "is-wsl": "^2.2.0", + "which": "^2.0.2" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/cross-spawn-windows-exe/node_modules/@malept/cross-spawn-promise": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-1.1.1.tgz", + "integrity": "sha512-RTBGWL5FWQcg9orDOCcp4LvItNzUPcyEU9bwaeJX0rJ1IQxzucC48Y0/sQLp/g6t99IQgAlGIaesJS+gTn7tVQ==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/malept" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/subscription/pkg/npm-.malept-cross-spawn-promise?utm_medium=referral&utm_source=npm_fund" + } + ], + "dependencies": { + "cross-spawn": "^7.0.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/cross-zip": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cross-zip/-/cross-zip-4.0.0.tgz", + "integrity": "sha512-MEzGfZo0rqE10O/B+AEcCSJLZsrWuRUvmqJTqHNqBtALhaJc3E3ixLGLJNTRzEA2K34wbmOHC4fwYs9sVsdcCA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "engines": { + "node": ">=12.10" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dev": true, + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/decompress-response/node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dev": true, + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/define-properties": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", + "dev": true, + "optional": true, + "dependencies": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", + "dev": true + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/detect-libc": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz", + "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "dev": true, + "optional": true + }, + "node_modules/dir-compare": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/dir-compare/-/dir-compare-3.3.0.tgz", + "integrity": "sha512-J7/et3WlGUCxjdnD3HAAzQ6nsnc0WL6DD7WcwJb7c39iH1+AWfg+9OqzJNaI6PkBwBvm1mhZNL9iY/nRiZXlPg==", + "dev": true, + "dependencies": { + "buffer-equal": "^1.0.0", + "minimatch": "^3.0.4" + } + }, + "node_modules/duplexer3": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz", + "integrity": "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==", + "dev": true + }, + "node_modules/electron": { + "version": "20.0.0", + "resolved": "https://registry.npmjs.org/electron/-/electron-20.0.0.tgz", + "integrity": "sha512-rPHTdjBKGSoLgGuJVsqDgmK9woDQxzlU18H+3cO4i+fNh29BMbFRwKKyit13lniO1hzRsEJDG5UKvFXs4vEpnA==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@electron/get": "^1.14.1", + "@types/node": "^16.11.26", + "extract-zip": "^2.0.1" + }, + "bin": { + "electron": "cli.js" + }, + "engines": { + "node": ">= 10.17.0" + } + }, + "node_modules/electron-installer-common": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/electron-installer-common/-/electron-installer-common-0.10.3.tgz", + "integrity": "sha512-mYbP+6i+nHMIm0WZHXgGdmmXMe+KXncl6jZYQNcCF9C1WsNA9C5SZ2VP4TLQMSIoFO+X4ugkMEA5uld1bmyEvA==", + "dev": true, + "optional": true, + "dependencies": { + "@malept/cross-spawn-promise": "^1.0.0", + "asar": "^3.0.0", + "debug": "^4.1.1", + "fs-extra": "^9.0.0", + "glob": "^7.1.4", + "lodash": "^4.17.15", + "parse-author": "^2.0.0", + "semver": "^7.1.1", + "tmp-promise": "^3.0.2" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "url": "https://github.com/electron-userland/electron-installer-common?sponsor=1" + }, + "optionalDependencies": { + "@types/fs-extra": "^9.0.1" + } + }, + "node_modules/electron-installer-common/node_modules/@malept/cross-spawn-promise": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-1.1.1.tgz", + "integrity": "sha512-RTBGWL5FWQcg9orDOCcp4LvItNzUPcyEU9bwaeJX0rJ1IQxzucC48Y0/sQLp/g6t99IQgAlGIaesJS+gTn7tVQ==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/malept" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/subscription/pkg/npm-.malept-cross-spawn-promise?utm_medium=referral&utm_source=npm_fund" + } + ], + "optional": true, + "dependencies": { + "cross-spawn": "^7.0.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/electron-installer-common/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "optional": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/electron-installer-debian": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/electron-installer-debian/-/electron-installer-debian-3.1.0.tgz", + "integrity": "sha512-k6KChvx0Fw8XTlCqwwbBfh19yGQaKjGdbugokmr1IpzINOm4QFyACKMTHAYFHW5LCBUZQShZD96hwxUZ+8Kx+w==", + "dev": true, + "optional": true, + "os": [ + "darwin", + "linux" + ], + "dependencies": { + "@malept/cross-spawn-promise": "^1.0.0", + "debug": "^4.1.1", + "electron-installer-common": "^0.10.2", + "fs-extra": "^9.0.0", + "get-folder-size": "^2.0.1", + "lodash": "^4.17.4", + "word-wrap": "^1.2.3", + "yargs": "^15.0.1" + }, + "bin": { + "electron-installer-debian": "src/cli.js" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/electron-installer-debian/node_modules/@malept/cross-spawn-promise": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-1.1.1.tgz", + "integrity": "sha512-RTBGWL5FWQcg9orDOCcp4LvItNzUPcyEU9bwaeJX0rJ1IQxzucC48Y0/sQLp/g6t99IQgAlGIaesJS+gTn7tVQ==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/malept" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/subscription/pkg/npm-.malept-cross-spawn-promise?utm_medium=referral&utm_source=npm_fund" + } + ], + "optional": true, + "dependencies": { + "cross-spawn": "^7.0.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/electron-installer-debian/node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "optional": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/electron-installer-debian/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "optional": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/electron-installer-debian/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "optional": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/electron-installer-debian/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "optional": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/electron-installer-debian/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "optional": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/electron-installer-debian/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "optional": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/electron-installer-debian/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "optional": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/electron-installer-debian/node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true, + "optional": true + }, + "node_modules/electron-installer-debian/node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "optional": true, + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/electron-installer-debian/node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "optional": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/electron-installer-redhat": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/electron-installer-redhat/-/electron-installer-redhat-3.4.0.tgz", + "integrity": "sha512-gEISr3U32Sgtj+fjxUAlSDo3wyGGq6OBx7rF5UdpIgbnpUvMN4W5uYb0ThpnAZ42VEJh/3aODQXHbFS4f5J3Iw==", + "dev": true, + "optional": true, + "os": [ + "darwin", + "linux" + ], + "dependencies": { + "@malept/cross-spawn-promise": "^1.0.0", + "debug": "^4.1.1", + "electron-installer-common": "^0.10.2", + "fs-extra": "^9.0.0", + "lodash": "^4.17.15", + "word-wrap": "^1.2.3", + "yargs": "^16.0.2" + }, + "bin": { + "electron-installer-redhat": "src/cli.js" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/electron-installer-redhat/node_modules/@malept/cross-spawn-promise": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-1.1.1.tgz", + "integrity": "sha512-RTBGWL5FWQcg9orDOCcp4LvItNzUPcyEU9bwaeJX0rJ1IQxzucC48Y0/sQLp/g6t99IQgAlGIaesJS+gTn7tVQ==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/malept" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/subscription/pkg/npm-.malept-cross-spawn-promise?utm_medium=referral&utm_source=npm_fund" + } + ], + "optional": true, + "dependencies": { + "cross-spawn": "^7.0.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/electron-installer-redhat/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "optional": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/electron-installer-redhat/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "optional": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/electron-installer-redhat/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "optional": true, + "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" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/electron-installer-redhat/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "optional": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/electron-packager": { + "version": "17.1.1", + "resolved": "https://registry.npmjs.org/electron-packager/-/electron-packager-17.1.1.tgz", + "integrity": "sha512-r1NDtlajsq7gf2EXgjRfblCVPquvD2yeg+6XGErOKblvxOpDi0iulZLVhgYDP4AEF1P5/HgbX/vwjlkEv7PEIQ==", + "dev": true, + "dependencies": { + "@electron/asar": "^3.2.1", + "@electron/get": "^2.0.0", + "@electron/notarize": "^1.2.3", + "@electron/osx-sign": "^1.0.1", + "@electron/universal": "^1.3.2", + "cross-spawn-windows-exe": "^1.2.0", + "debug": "^4.0.1", + "extract-zip": "^2.0.0", + "filenamify": "^4.1.0", + "fs-extra": "^10.1.0", + "galactus": "^0.2.1", + "get-package-info": "^1.0.0", + "junk": "^3.1.0", + "parse-author": "^2.0.0", + "plist": "^3.0.0", + "rcedit": "^3.0.1", + "resolve": "^1.1.6", + "semver": "^7.1.3", + "yargs-parser": "^21.1.1" + }, + "bin": { + "electron-packager": "bin/electron-packager.js" + }, + "engines": { + "node": ">= 14.17.5" + }, + "funding": { + "url": "https://github.com/electron/electron-packager?sponsor=1" + } + }, + "node_modules/electron-squirrel-startup": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/electron-squirrel-startup/-/electron-squirrel-startup-1.0.0.tgz", + "integrity": "sha512-Oce8mvgGdFmwr+DsAcXBmFK8jFfN6yaFAP9IvyhTfupM3nFkBku/7VS/mdtJteWumImkC6P+BKGsxScoDDkv9Q==", + "dependencies": { + "debug": "^2.2.0" + } + }, + "node_modules/electron-squirrel-startup/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/electron-squirrel-startup/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/electron-winstaller": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/electron-winstaller/-/electron-winstaller-5.1.0.tgz", + "integrity": "sha512-4wlZzkUm5cJNiOtp5wL804+QpygdKTKkrZJXA3sSDEI2XnCVPv0kxmxUvVw4KHBwbNS+Yox89agEr+VkR7kxww==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "dependencies": { + "@electron/asar": "^3.2.1", + "debug": "^4.1.1", + "fs-extra": "^7.0.1", + "lodash.template": "^4.2.2", + "temp": "^0.9.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/electron-winstaller/node_modules/fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "optional": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/electron-winstaller/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "optional": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/electron-winstaller/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "optional": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/electron/node_modules/@electron/get": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.14.1.tgz", + "integrity": "sha512-BrZYyL/6m0ZXz/lDxy/nlVhQz+WF+iPS6qXolEU8atw7h6v1aYkjwJZ63m+bJMBTxDE66X+r2tPS4a/8C82sZw==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "env-paths": "^2.2.0", + "fs-extra": "^8.1.0", + "got": "^9.6.0", + "progress": "^2.0.3", + "semver": "^6.2.0", + "sumchecker": "^3.0.1" + }, + "engines": { + "node": ">=8.6" + }, + "optionalDependencies": { + "global-agent": "^3.0.0", + "global-tunnel-ng": "^2.7.1" + } + }, + "node_modules/electron/node_modules/@sindresorhus/is": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/electron/node_modules/@szmarczak/http-timer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", + "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", + "dev": true, + "dependencies": { + "defer-to-connect": "^1.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/electron/node_modules/cacheable-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", + "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", + "dev": true, + "dependencies": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/electron/node_modules/decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==", + "dev": true, + "dependencies": { + "mimic-response": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/electron/node_modules/defer-to-connect": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", + "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==", + "dev": true + }, + "node_modules/electron/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/electron/node_modules/got": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", + "dev": true, + "dependencies": { + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/electron/node_modules/got/node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/electron/node_modules/got/node_modules/lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/electron/node_modules/json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==", + "dev": true + }, + "node_modules/electron/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/electron/node_modules/keyv": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", + "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.0" + } + }, + "node_modules/electron/node_modules/normalize-url": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", + "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/electron/node_modules/p-cancelable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/electron/node_modules/responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==", + "dev": true, + "dependencies": { + "lowercase-keys": "^1.0.0" + } + }, + "node_modules/electron/node_modules/responselike/node_modules/lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/electron/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/electron/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true, + "optional": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dev": true, + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "dev": true + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es6-error": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", + "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", + "dev": true, + "optional": true + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "optional": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "dependencies": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/execa/node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/execa/node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/execa/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/execa/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/execa/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/execa/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/execa/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==", + "dev": true, + "dependencies": { + "homedir-polyfill": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extract-file-icon": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extract-file-icon/-/extract-file-icon-0.3.2.tgz", + "integrity": "sha512-We5/HaMDlioOx3c9zDjit8RtKWEvT94sJF8jTujaKVOyWL8Kkqu4QGnwDr5fID6XsbKvWT0JJNuWuV2Tmr7yiw==", + "hasInstallScript": true, + "dependencies": { + "node-addon-api": "1.7.1" + } + }, + "node_modules/extract-file-icon/node_modules/node-addon-api": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.1.tgz", + "integrity": "sha512-2+DuKodWvwRTrCfKOeR24KIc5unKjOh8mz17NCzVnHWfjAdDqbfbjqh7gUT+BkXBRQM52+xCHciKWonJ3CbJMQ==" + }, + "node_modules/extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" + }, + "engines": { + "node": ">= 10.17.0" + }, + "optionalDependencies": { + "@types/yauzl": "^2.9.1" + } + }, + "node_modules/fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "dev": true, + "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" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, + "dependencies": { + "pend": "~1.2.0" + } + }, + "node_modules/ffi-napi": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/ffi-napi/-/ffi-napi-4.0.3.tgz", + "integrity": "sha512-PMdLCIvDY9mS32RxZ0XGb95sonPRal8aqRhLbeEtWKZTe2A87qRFG9HjOhvG8EX2UmQw5XNRMIOT+1MYlWmdeg==", + "hasInstallScript": true, + "dependencies": { + "debug": "^4.1.1", + "get-uv-event-loop-napi-h": "^1.0.5", + "node-addon-api": "^3.0.0", + "node-gyp-build": "^4.2.1", + "ref-napi": "^2.0.1 || ^3.0.2", + "ref-struct-di": "^1.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ffi-napi/node_modules/node-addon-api": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", + "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==" + }, + "node_modules/filename-reserved-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", + "integrity": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/filenamify": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz", + "integrity": "sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==", + "dev": true, + "dependencies": { + "filename-reserved-regex": "^2.0.0", + "strip-outer": "^1.0.1", + "trim-repeated": "^1.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flora-colossus": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/flora-colossus/-/flora-colossus-1.0.1.tgz", + "integrity": "sha512-d+9na7t9FyH8gBJoNDSi28mE4NgQVGGvxQ4aHtFRetjyh5SXjuus+V5EZaxFmFdXVemSOrx0lsgEl/ZMjnOWJA==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "fs-extra": "^7.0.0" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/flora-colossus/node_modules/fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/flora-colossus/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/flora-colossus/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/galactus": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/galactus/-/galactus-0.2.1.tgz", + "integrity": "sha512-mDc8EQJKtxjp9PMYS3PbpjjbX3oXhBTxoGaPahw620XZBIHJ4+nvw5KN/tRtmmSDR9dypstGNvqQ3C29QGoGHQ==", + "dev": true, + "dependencies": { + "debug": "^3.1.0", + "flora-colossus": "^1.0.0", + "fs-extra": "^4.0.0" + } + }, + "node_modules/galactus/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/galactus/node_modules/fs-extra": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", + "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "node_modules/galactus/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/galactus/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/gar": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/gar/-/gar-1.0.4.tgz", + "integrity": "sha512-w4n9cPWyP7aHxKxYHFQMegj7WIAsL/YX/C4Bs5Rr8s1H9M1rNtRWRsw+ovYMkXDQ5S4ZbYHsHAPmevPjPgw44w==", + "dev": true, + "optional": true + }, + "node_modules/gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "dev": true, + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-folder-size": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/get-folder-size/-/get-folder-size-2.0.1.tgz", + "integrity": "sha512-+CEb+GDCM7tkOS2wdMKTn9vU7DgnKUTuDlehkNJKNSovdCOVxs14OfKCk4cvSaR3za4gj+OBdl9opPN9xrJ0zA==", + "dev": true, + "optional": true, + "dependencies": { + "gar": "^1.0.4", + "tiny-each-async": "2.0.3" + }, + "bin": { + "get-folder-size": "bin/get-folder-size" + } + }, + "node_modules/get-installed-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/get-installed-path/-/get-installed-path-2.1.1.tgz", + "integrity": "sha512-Qkn9eq6tW5/q9BDVdMpB8tOHljX9OSP0jRC5TRNVA4qRc839t4g8KQaR8t0Uv0EFVL0MlyG7m/ofjEgAROtYsA==", + "dev": true, + "dependencies": { + "global-modules": "1.0.0" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", + "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", + "dev": true, + "optional": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-package-info": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-package-info/-/get-package-info-1.0.0.tgz", + "integrity": "sha512-SCbprXGAPdIhKAXiG+Mk6yeoFH61JlYunqdFQFHDtLjJlDjFf6x07dsS8acO+xWt52jpdVo49AlVDnUVK1sDNw==", + "dev": true, + "dependencies": { + "bluebird": "^3.1.1", + "debug": "^2.2.0", + "lodash.get": "^4.0.0", + "read-pkg-up": "^2.0.0" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/get-package-info/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/get-package-info/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-symbol-from-current-process-h": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-symbol-from-current-process-h/-/get-symbol-from-current-process-h-1.0.2.tgz", + "integrity": "sha512-syloC6fsCt62ELLrr1VKBM1ggOpMdetX9hTrdW77UQdcApPHLmf7CI7OKcN1c9kYuNxKcDe4iJ4FY9sX3aw2xw==" + }, + "node_modules/get-uv-event-loop-napi-h": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/get-uv-event-loop-napi-h/-/get-uv-event-loop-napi-h-1.0.6.tgz", + "integrity": "sha512-t5c9VNR84nRoF+eLiz6wFrEp1SE2Acg0wS+Ysa2zF0eROes+LzOfuTaVHxGy8AbS8rq7FHEJzjnCZo1BupwdJg==", + "dependencies": { + "get-symbol-from-current-process-h": "^1.0.1" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/global-agent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-3.0.0.tgz", + "integrity": "sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==", + "dev": true, + "optional": true, + "dependencies": { + "boolean": "^3.0.1", + "es6-error": "^4.1.1", + "matcher": "^3.0.0", + "roarr": "^2.15.3", + "semver": "^7.3.2", + "serialize-error": "^7.0.1" + }, + "engines": { + "node": ">=10.0" + } + }, + "node_modules/global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "dependencies": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==", + "dev": true, + "dependencies": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/global-tunnel-ng": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/global-tunnel-ng/-/global-tunnel-ng-2.7.1.tgz", + "integrity": "sha512-4s+DyciWBV0eK148wqXxcmVAbFVPqtc3sEtUE/GTQfuU80rySLcMhUmHKSHI7/LDj8q0gDYI1lIhRRB7ieRAqg==", + "dev": true, + "optional": true, + "dependencies": { + "encodeurl": "^1.0.2", + "lodash": "^4.17.10", + "npm-conf": "^1.1.3", + "tunnel": "^0.0.6" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dev": true, + "optional": true, + "dependencies": { + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/got": { + "version": "11.8.6", + "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", + "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==", + "dev": true, + "dependencies": { + "@sindresorhus/is": "^4.0.0", + "@szmarczak/http-timer": "^4.0.5", + "@types/cacheable-request": "^6.0.1", + "@types/responselike": "^1.0.0", + "cacheable-lookup": "^5.0.3", + "cacheable-request": "^7.0.2", + "decompress-response": "^6.0.0", + "http2-wrapper": "^1.0.0-beta.5.2", + "lowercase-keys": "^2.0.0", + "p-cancelable": "^2.0.0", + "responselike": "^2.0.0" + }, + "engines": { + "node": ">=10.19.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/got?sponsor=1" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "optional": true, + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "optional": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", + "dev": true + }, + "node_modules/homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "dependencies": { + "parse-passwd": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "node_modules/http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", + "dev": true + }, + "node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dev": true, + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/http2-wrapper": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", + "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", + "dev": true, + "dependencies": { + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.0.0" + }, + "engines": { + "node": ">=10.19.0" + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", + "dev": true, + "dependencies": { + "ms": "^2.0.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==" + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "node_modules/interpret": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", + "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/ip": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", + "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==", + "dev": true + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "node_modules/is-core-module": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", + "dev": true + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/isbinaryfile": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", + "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", + "dev": true, + "engines": { + "node": ">= 8.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/gjtorikian/" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true, + "optional": true + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jszip": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", + "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", + "dependencies": { + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "setimmediate": "^1.0.5" + } + }, + "node_modules/jszip/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "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" + } + }, + "node_modules/jszip/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/jszip/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/junk": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/junk/-/junk-3.1.0.tgz", + "integrity": "sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/keyv": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.2.tgz", + "integrity": "sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/lie": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", + "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "dependencies": { + "immediate": "~3.0.5" + } + }, + "node_modules/listr2": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-5.0.8.tgz", + "integrity": "sha512-mC73LitKHj9w6v30nLNGPetZIlfpUniNSsxxrbaPcWOjDb92SHPzJPi/t+v1YC/lxKz/AJ9egOjww0qUuFxBpA==", + "dev": true, + "dependencies": { + "cli-truncate": "^2.1.0", + "colorette": "^2.0.19", + "log-update": "^4.0.0", + "p-map": "^4.0.0", + "rfdc": "^1.3.0", + "rxjs": "^7.8.0", + "through": "^2.3.8", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": "^14.13.1 || >=16.0.0" + }, + "peerDependencies": { + "enquirer": ">= 2.3.0 < 3" + }, + "peerDependenciesMeta": { + "enquirer": { + "optional": true + } + } + }, + "node_modules/load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha512-3p6ZOGNbiX4CdvEd1VcE6yi78UrGNpjHO33noGwHCnT/o2fyllJDepsm8+mFFv/DvtwFHht5HIHSyOy5a+ChVQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==", + "dev": true, + "optional": true + }, + "node_modules/lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", + "dev": true + }, + "node_modules/lodash.template": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", + "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", + "dev": true, + "optional": true, + "dependencies": { + "lodash._reinterpolate": "^3.0.0", + "lodash.templatesettings": "^4.0.0" + } + }, + "node_modules/lodash.templatesettings": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", + "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", + "dev": true, + "optional": true, + "dependencies": { + "lodash._reinterpolate": "^3.0.0" + } + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", + "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/log-update/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/lzma-native": { + "version": "8.0.6", + "resolved": "https://registry.npmjs.org/lzma-native/-/lzma-native-8.0.6.tgz", + "integrity": "sha512-09xfg67mkL2Lz20PrrDeNYZxzeW7ADtpYFbwSQh9U8+76RIzx5QsJBMy8qikv3hbUPfpy6hqwxt6FcGK81g9AA==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "node-addon-api": "^3.1.0", + "node-gyp-build": "^4.2.1", + "readable-stream": "^3.6.0" + }, + "bin": { + "lzmajs": "bin/lzmajs" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/lzma-native/node_modules/node-addon-api": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", + "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==", + "dev": true + }, + "node_modules/make-fetch-happen": { + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz", + "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==", + "dev": true, + "dependencies": { + "agentkeepalive": "^4.2.1", + "cacache": "^16.1.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^2.0.3", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^9.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/map-age-cleaner": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", + "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", + "dev": true, + "dependencies": { + "p-defer": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/matcher": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz", + "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==", + "dev": true, + "optional": true, + "dependencies": { + "escape-string-regexp": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mem": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", + "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", + "dev": true, + "dependencies": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-fetch": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz", + "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==", + "dev": true, + "dependencies": { + "minipass": "^3.1.6", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } + }, + "node_modules/minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node_modules/node-abi": { + "version": "3.33.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.33.0.tgz", + "integrity": "sha512-7GGVawqyHF4pfd0YFybhv/eM9JwTtPqx0mAanQ146O3FlSh3pA24zf9IRQTOsfTSqXTNzPSP5iagAJ94jjuVog==", + "dev": true, + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-addon-api": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-4.3.0.tgz", + "integrity": "sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==" + }, + "node_modules/node-api-version": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/node-api-version/-/node-api-version-0.1.4.tgz", + "integrity": "sha512-KGXihXdUChwJAOHO53bv9/vXcLmdUsZ6jIptbvYvkpKfth+r7jw44JkVxQFA3kX5nQjzjmGu1uAu/xNNLNlI5g==", + "dev": true, + "dependencies": { + "semver": "^7.3.5" + } + }, + "node_modules/node-fetch": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.9.tgz", + "integrity": "sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==", + "dev": true, + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-gyp": { + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.3.1.tgz", + "integrity": "sha512-4Q16ZCqq3g8awk6UplT7AuxQ35XN4R/yf/+wSAwcBUAjg7l58RTactWaP8fIDTi0FzI7YcVLujwExakZlfWkXg==", + "dev": true, + "dependencies": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^10.0.3", + "nopt": "^6.0.0", + "npmlog": "^6.0.0", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^2.0.2" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": "^12.13 || ^14.13 || >=16" + } + }, + "node_modules/node-gyp-build": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.0.tgz", + "integrity": "sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==", + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" + } + }, + "node_modules/node-window-manager": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/node-window-manager/-/node-window-manager-2.2.4.tgz", + "integrity": "sha512-Dgq9a7qx6+Gi+BifWM79leteNz76QUtwSsdiqEe7SjvoJsc8TYQsRl1IA5uxqz5iSLeHS1iA/8YI/snoq0DblA==", + "hasInstallScript": true, + "dependencies": { + "extract-file-icon": "^0.3.2", + "node-addon-api": "2.0.0", + "node-gyp-build": "^4.2.1" + } + }, + "node_modules/node-window-manager/node_modules/node-addon-api": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.0.tgz", + "integrity": "sha512-ASCL5U13as7HhOExbT6OlWJJUV/lLzL2voOSP1UVehpRD8FbSrSDjfScK/KwAvVTI5AS6r4VwbOMlIqtvRidnA==" + }, + "node_modules/nopt": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-6.0.0.tgz", + "integrity": "sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==", + "dev": true, + "dependencies": { + "abbrev": "^1.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-package-data/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-conf": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz", + "integrity": "sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==", + "dev": true, + "optional": true, + "dependencies": { + "config-chain": "^1.1.11", + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm-conf/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "dev": true, + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "dev": true, + "dependencies": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "optional": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-cancelable": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", + "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", + "integrity": "sha512-wB3wfAxZpk2AzOfUMJNL+d36xothRSyj8EXOa4f6GMqYDN9BJaaSISbsk+wS9abmnebVw95C2Kb5t85UmpCxuw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", + "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" + }, + "node_modules/parse-author": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parse-author/-/parse-author-2.0.0.tgz", + "integrity": "sha512-yx5DfvkN8JsHL2xk2Os9oTia467qnvRgey4ahSm2X8epehBLx/gWLcy5KI+Y36ful5DzGbCS6RazqZGgy1gHNw==", + "dev": true, + "dependencies": { + "author-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==", + "dev": true, + "dependencies": { + "error-ex": "^1.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha512-dUnb5dXUf+kzhC/W/F4e5/SkluXIFf5VUHolW1Eg1irn1hGWjPGdsRcvYJ1nD6lhk8Ir7VM0bHJKsYTx8Jx9OQ==", + "dev": true, + "dependencies": { + "pify": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/plist": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.6.tgz", + "integrity": "sha512-WiIVYyrp8TD4w8yCvyeIr+lkmrGRd5u0VbRnU+tP/aRLxP/YadJUYOMZJ/6hIa3oUyVCsycXvtNRgd5XBJIbiA==", + "dev": true, + "dependencies": { + "base64-js": "^1.5.1", + "xmlbuilder": "^15.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", + "dev": true + }, + "node_modules/promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "dev": true, + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", + "dev": true, + "optional": true + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/rcedit": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/rcedit/-/rcedit-3.0.1.tgz", + "integrity": "sha512-XM0Jv40/y4hVAqj/MO70o/IWs4uOsaSoo2mLyk3klFDW+SStLnCtzuQu+1OBTIMGlM8CvaK9ftlYCp6DJ+cMsw==", + "dev": true, + "dependencies": { + "cross-spawn-windows-exe": "^1.1.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha512-eFIBOPW7FGjzBuk3hdXEuNSiTZS/xEMlH49HxMyzb0hyPfu4EhVjT2DH32K1hSSmVq4sebAWnZuuY5auISUTGA==", + "dev": true, + "dependencies": { + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha512-1orxQfbWGUiTn9XsPlChs6rLie/AV9jwZTGmu2NZw/CUDJQchXJFYE0Fq5j7+n558T1JhDWLdhyd1Zj+wLY//w==", + "dev": true, + "dependencies": { + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", + "dev": true, + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", + "dev": true, + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", + "dev": true, + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/rechoir": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", + "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", + "dev": true, + "dependencies": { + "resolve": "^1.20.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/ref-napi": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/ref-napi/-/ref-napi-3.0.3.tgz", + "integrity": "sha512-LiMq/XDGcgodTYOMppikEtJelWsKQERbLQsYm0IOOnzhwE9xYZC7x8txNnFC9wJNOkPferQI4vD4ZkC0mDyrOA==", + "hasInstallScript": true, + "dependencies": { + "debug": "^4.1.1", + "get-symbol-from-current-process-h": "^1.0.2", + "node-addon-api": "^3.0.0", + "node-gyp-build": "^4.2.1" + }, + "engines": { + "node": ">= 10.0" + } + }, + "node_modules/ref-napi/node_modules/node-addon-api": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", + "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==" + }, + "node_modules/ref-struct-di": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ref-struct-di/-/ref-struct-di-1.1.1.tgz", + "integrity": "sha512-2Xyn/0Qgz89VT+++WP0sTosdm9oeowLP23wRJYhG4BFdMUrLj3jhwHZNEytYNYgtPKLNTP3KJX4HEgBvM1/Y2g==", + "dependencies": { + "debug": "^3.1.0" + } + }, + "node_modules/ref-struct-di/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/ref-union-di": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ref-union-di/-/ref-union-di-1.0.1.tgz", + "integrity": "sha512-JWSF2BwNVtCgmEfoDGMh8S1KO07oq+T8L7cBHwcsmQmeXDZd9JNlrxU+ebSHs+jsf0qrqFFWXMCmj94Tcl26TA==", + "peer": true, + "dependencies": { + "debug": "^3.1.0" + } + }, + "node_modules/ref-union-di/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "peer": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true, + "optional": true + }, + "node_modules/resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-alpn": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", + "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", + "dev": true + }, + "node_modules/resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==", + "dev": true, + "dependencies": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-package": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-package/-/resolve-package-1.0.1.tgz", + "integrity": "sha512-rzB7NnQpOkPHBWFPP3prUMqOP6yg3HkRGgcvR+lDyvyHoY3fZLFLYDkPXh78SPVBAE6VTCk/V+j8we4djg6o4g==", + "dev": true, + "dependencies": { + "get-installed-path": "^2.0.3" + }, + "engines": { + "node": ">=4", + "npm": ">=2" + } + }, + "node_modules/responselike": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", + "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", + "dev": true, + "dependencies": { + "lowercase-keys": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rfdc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", + "dev": true + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/roarr": { + "version": "2.15.4", + "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz", + "integrity": "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==", + "dev": true, + "optional": true, + "dependencies": { + "boolean": "^3.0.1", + "detect-node": "^2.0.4", + "globalthis": "^1.0.1", + "json-stringify-safe": "^5.0.1", + "semver-compare": "^1.0.0", + "sprintf-js": "^1.1.2" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rxjs": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz", + "integrity": "sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==", + "dev": true, + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "optional": true + }, + "node_modules/selenium-webdriver": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.8.1.tgz", + "integrity": "sha512-p4MtfhCQdcV6xxkS7eI0tQN6+WNReRULLCAuT4RDGkrjfObBNXMJ3WT8XdK+aXTr5nnBKuh+PxIevM0EjJgkxA==", + "dependencies": { + "jszip": "^3.10.0", + "tmp": "^0.2.1", + "ws": ">=8.11.0" + }, + "engines": { + "node": ">= 14.20.0" + } + }, + "node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==", + "dev": true, + "optional": true + }, + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/serialize-error": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz", + "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==", + "dev": true, + "optional": true, + "dependencies": { + "type-fest": "^0.13.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/serialize-error/node_modules/type-fest": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", + "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "dev": true, + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", + "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", + "dev": true, + "dependencies": { + "ip": "^2.0.0", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.13.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", + "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", + "dev": true, + "dependencies": { + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz", + "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==", + "dev": true + }, + "node_modules/sprintf-js": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", + "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==", + "dev": true, + "optional": true + }, + "node_modules/ssri": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", + "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", + "dev": true, + "dependencies": { + "minipass": "^3.1.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-outer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", + "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-outer/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/sudo-prompt": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-9.2.1.tgz", + "integrity": "sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==", + "dev": true + }, + "node_modules/sumchecker": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz", + "integrity": "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==", + "dev": true, + "dependencies": { + "debug": "^4.1.0" + }, + "engines": { + "node": ">= 8.0" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tar": { + "version": "6.1.13", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.13.tgz", + "integrity": "sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==", + "dev": true, + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^4.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar/node_modules/minipass": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.5.tgz", + "integrity": "sha512-+yQl7SX3bIT83Lhb4BVorMAHVuqsskxRdlmO9kTpyukp8vsm2Sn/fUOV9xlnG8/a5JsypJzap21lz/y3FBMJ8Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/temp": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/temp/-/temp-0.9.4.tgz", + "integrity": "sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==", + "dev": true, + "optional": true, + "dependencies": { + "mkdirp": "^0.5.1", + "rimraf": "~2.6.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/temp/node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "optional": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/temp/node_modules/rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "optional": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "node_modules/tiny-each-async": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tiny-each-async/-/tiny-each-async-2.0.3.tgz", + "integrity": "sha512-5ROII7nElnAirvFn8g7H7MtpfV1daMcyfTGQwsn/x2VtyV+VPiO5CjReCJtWLvoKTDEDmZocf3cNPraiMnBXLA==", + "dev": true, + "optional": true + }, + "node_modules/tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dependencies": { + "rimraf": "^3.0.0" + }, + "engines": { + "node": ">=8.17.0" + } + }, + "node_modules/tmp-promise": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.3.tgz", + "integrity": "sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==", + "dev": true, + "optional": true, + "dependencies": { + "tmp": "^0.2.0" + } + }, + "node_modules/to-readable-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", + "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, + "node_modules/trim-repeated": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", + "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/trim-repeated/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "dev": true + }, + "node_modules/tunnel": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", + "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.6.11 <=0.7.0 || >=0.7.3" + } + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/unique-filename": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-2.0.1.tgz", + "integrity": "sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==", + "dev": true, + "dependencies": { + "unique-slug": "^3.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/unique-slug": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-3.0.0.tgz", + "integrity": "sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==", + "dev": true, + "dependencies": { + "prepend-http": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/username": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/username/-/username-5.1.0.tgz", + "integrity": "sha512-PCKbdWw85JsYMvmCv5GH3kXmM66rCd9m1hBEDutPNv94b/pqCMT4NtcKyeWYvLFiE8b+ha1Jdl8XAaUdPn5QTg==", + "dev": true, + "dependencies": { + "execa": "^1.0.0", + "mem": "^4.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dev": true, + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==", + "dev": true, + "optional": true + }, + "node_modules/wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "dev": true, + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "node_modules/win32-api": { + "version": "20.4.1", + "resolved": "https://registry.npmjs.org/win32-api/-/win32-api-20.4.1.tgz", + "integrity": "sha512-STbeoFsVndgc5eMmXcvmuuoWM2S8mOh/0V2w/gmYAFSI+FPoYDjGhvntrvhvoFMec8AC2ReI2LSkb8KGyEqhPQ==", + "dependencies": { + "win32-def": "^20.4.1" + }, + "engines": { + "node": ">=14.15.0" + }, + "peerDependencies": { + "ffi-napi": "^4.0.3", + "ref-napi": "^3.0.3", + "ref-struct-di": "^1.1.1", + "ref-union-di": "^1.0.1" + } + }, + "node_modules/win32-def": { + "version": "20.4.1", + "resolved": "https://registry.npmjs.org/win32-def/-/win32-def-20.4.1.tgz", + "integrity": "sha512-d2y6pN/ebLU4Vsu4JepzeEtdWTVcAkJIiAFZiPjT/mjac2YYvhM4jM2bGKdt8usJNxAI2o7YiF0ytdVDQO6Qdg==", + "dependencies": { + "@waiting/shared-types": "^20.11.0" + }, + "engines": { + "node": ">=14.15.0" + }, + "peerDependencies": { + "ref-napi": "^3.0.3", + "ref-struct-di": "^1.1.1", + "ref-union-di": "^1.0.1" + } + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/ws": { + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", + "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xmlbuilder": { + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz", + "integrity": "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==", + "dev": true, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/yargs": { + "version": "17.7.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.1.tgz", + "integrity": "sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==", + "dev": true, + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/yarn-or-npm": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/yarn-or-npm/-/yarn-or-npm-3.0.1.tgz", + "integrity": "sha512-fTiQP6WbDAh5QZAVdbMQkecZoahnbOjClTQhzv74WX5h2Uaidj1isf9FDes11TKtsZ0/ZVfZsqZ+O3x6aLERHQ==", + "dev": true, + "dependencies": { + "cross-spawn": "^6.0.5", + "pkg-dir": "^4.2.0" + }, + "bin": { + "yarn-or-npm": "bin/index.js", + "yon": "bin/index.js" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/yarn-or-npm/node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/yarn-or-npm/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/yarn-or-npm/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/yarn-or-npm/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yarn-or-npm/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yarn-or-npm/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dev": true, + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/ElectronJS/package.cmd b/ElectronJS/package.cmd new file mode 100644 index 0000000..fc62125 --- /dev/null +++ b/ElectronJS/package.cmd @@ -0,0 +1,2 @@ +rmdir /s C:\Users\q9823\AppData\Local\Temp\electron-packager +npm run package \ No newline at end of file diff --git a/ElectronJS/package.json b/ElectronJS/package.json index 11be456..7c1f5bb 100644 --- a/ElectronJS/package.json +++ b/ElectronJS/package.json @@ -6,6 +6,7 @@ "description": "NoCode Visual Web Crawler", "main": "main.js", "scripts": { + "start_direct": "electron .", "start": "electron-forge start", "package": "electron-forge package", "make": "electron-forge make" @@ -20,20 +21,37 @@ "author": "Naibo Wang", "license": "CC0-1.0", "devDependencies": { - "electron": "^22.2.0" + "@electron-forge/cli": "^6.0.5", + "@electron-forge/maker-deb": "^6.0.5", + "@electron-forge/maker-rpm": "^6.0.5", + "@electron-forge/maker-squirrel": "^6.0.5", + "@electron-forge/maker-zip": "^6.0.5", + "electron": "^20.0.0" }, "repository": "https://github.com/electron/electron-quick-start", "dependencies": { - "@electron-forge/cli": "^6.0.5", "@jitsi/robotjs": "^0.6.11", + "electron-squirrel-startup": "^1.0.0", + "ffi-napi": "^4.0.3", + "node-window-manager": "^2.2.4", + "ref-napi": "^3.0.3", "selenium-webdriver": "^4.8.0", + "win32-api": "^20.4.1", "ws": "^8.12.0" }, "config": { "forge": { "makers": [], "packagerConfig": { - "icon": "favicon.ico" + "icon": "favicon.ico", + "appVersion": "0.1.0", + "name": "EasySpider", + "appCopyright": "Naibo Wang(naibowang@foxmail.com)", + "win32metadata": { + "ProductName": "EasySpider", + "CompanyName": "浙江大学", + "FileDescription": "EasySpider" + } }, "publishers": [] } diff --git a/ElectronJS/preload.js b/ElectronJS/preload.js index 6d5a9d2..a301f20 100644 --- a/ElectronJS/preload.js +++ b/ElectronJS/preload.js @@ -8,6 +8,6 @@ const { contextBridge, ipcRenderer } = require('electron'); contextBridge.exposeInMainWorld('electronAPI', { - startDesign: () => ipcRenderer.send('start-design', ""), - startInvoke: () => ipcRenderer.send('start-invoke', ""), + startDesign: (lang="en") => ipcRenderer.send('start-design', lang), + startInvoke: (lang="en") => ipcRenderer.send('start-invoke', lang), }) \ No newline at end of file diff --git a/ElectronJS/bootstrap/CURD.html b/ElectronJS/src/bootstrap/CURD.html similarity index 99% rename from ElectronJS/bootstrap/CURD.html rename to ElectronJS/src/bootstrap/CURD.html index 0ff4485..54d9212 100644 --- a/ElectronJS/bootstrap/CURD.html +++ b/ElectronJS/src/bootstrap/CURD.html @@ -1,7 +1,7 @@ - + diff --git a/ElectronJS/bootstrap/ToolBox - linkList.html b/ElectronJS/src/bootstrap/ToolBox - linkList.html similarity index 99% rename from ElectronJS/bootstrap/ToolBox - linkList.html rename to ElectronJS/src/bootstrap/ToolBox - linkList.html index 3fc94e4..43e9554 100644 --- a/ElectronJS/bootstrap/ToolBox - linkList.html +++ b/ElectronJS/src/bootstrap/ToolBox - linkList.html @@ -1,7 +1,7 @@ - + diff --git a/ElectronJS/bootstrap/ToolKit.html b/ElectronJS/src/bootstrap/ToolKit.html similarity index 98% rename from ElectronJS/bootstrap/ToolKit.html rename to ElectronJS/src/bootstrap/ToolKit.html index 0a6370f..a87871d 100644 --- a/ElectronJS/bootstrap/ToolKit.html +++ b/ElectronJS/src/bootstrap/ToolKit.html @@ -2,7 +2,7 @@ - + diff --git a/ElectronJS/bootstrap/baozhuangscript.js b/ElectronJS/src/bootstrap/baozhuangscript.js similarity index 100% rename from ElectronJS/bootstrap/baozhuangscript.js rename to ElectronJS/src/bootstrap/baozhuangscript.js diff --git a/ElectronJS/bootstrap/baozhuangscript3.js b/ElectronJS/src/bootstrap/baozhuangscript3.js similarity index 100% rename from ElectronJS/bootstrap/baozhuangscript3.js rename to ElectronJS/src/bootstrap/baozhuangscript3.js diff --git a/ElectronJS/bootstrap/content.html b/ElectronJS/src/bootstrap/content.html similarity index 96% rename from ElectronJS/bootstrap/content.html rename to ElectronJS/src/bootstrap/content.html index ded058b..acf1c31 100644 --- a/ElectronJS/bootstrap/content.html +++ b/ElectronJS/src/bootstrap/content.html @@ -2,7 +2,7 @@ - + diff --git a/ElectronJS/bootstrap/css/bootstrap-grid.css b/ElectronJS/src/bootstrap/css/bootstrap-grid.css similarity index 100% rename from ElectronJS/bootstrap/css/bootstrap-grid.css rename to ElectronJS/src/bootstrap/css/bootstrap-grid.css diff --git a/ElectronJS/bootstrap/css/bootstrap-grid.css.map b/ElectronJS/src/bootstrap/css/bootstrap-grid.css.map similarity index 100% rename from ElectronJS/bootstrap/css/bootstrap-grid.css.map rename to ElectronJS/src/bootstrap/css/bootstrap-grid.css.map diff --git a/ElectronJS/bootstrap/css/bootstrap-grid.min.css b/ElectronJS/src/bootstrap/css/bootstrap-grid.min.css similarity index 100% rename from ElectronJS/bootstrap/css/bootstrap-grid.min.css rename to ElectronJS/src/bootstrap/css/bootstrap-grid.min.css diff --git a/ElectronJS/bootstrap/css/bootstrap-grid.min.css.map b/ElectronJS/src/bootstrap/css/bootstrap-grid.min.css.map similarity index 100% rename from ElectronJS/bootstrap/css/bootstrap-grid.min.css.map rename to ElectronJS/src/bootstrap/css/bootstrap-grid.min.css.map diff --git a/ElectronJS/bootstrap/css/bootstrap-reboot.css b/ElectronJS/src/bootstrap/css/bootstrap-reboot.css similarity index 100% rename from ElectronJS/bootstrap/css/bootstrap-reboot.css rename to ElectronJS/src/bootstrap/css/bootstrap-reboot.css diff --git a/ElectronJS/bootstrap/css/bootstrap-reboot.css.map b/ElectronJS/src/bootstrap/css/bootstrap-reboot.css.map similarity index 100% rename from ElectronJS/bootstrap/css/bootstrap-reboot.css.map rename to ElectronJS/src/bootstrap/css/bootstrap-reboot.css.map diff --git a/ElectronJS/bootstrap/css/bootstrap-reboot.min.css b/ElectronJS/src/bootstrap/css/bootstrap-reboot.min.css similarity index 100% rename from ElectronJS/bootstrap/css/bootstrap-reboot.min.css rename to ElectronJS/src/bootstrap/css/bootstrap-reboot.min.css diff --git a/ElectronJS/bootstrap/css/bootstrap-reboot.min.css.map b/ElectronJS/src/bootstrap/css/bootstrap-reboot.min.css.map similarity index 100% rename from ElectronJS/bootstrap/css/bootstrap-reboot.min.css.map rename to ElectronJS/src/bootstrap/css/bootstrap-reboot.min.css.map diff --git a/ElectronJS/bootstrap/css/bootstrap.css b/ElectronJS/src/bootstrap/css/bootstrap.css similarity index 100% rename from ElectronJS/bootstrap/css/bootstrap.css rename to ElectronJS/src/bootstrap/css/bootstrap.css diff --git a/ElectronJS/bootstrap/css/bootstrap.css.map b/ElectronJS/src/bootstrap/css/bootstrap.css.map similarity index 100% rename from ElectronJS/bootstrap/css/bootstrap.css.map rename to ElectronJS/src/bootstrap/css/bootstrap.css.map diff --git a/ElectronJS/bootstrap/css/bootstrap.min.css b/ElectronJS/src/bootstrap/css/bootstrap.min.css similarity index 100% rename from ElectronJS/bootstrap/css/bootstrap.min.css rename to ElectronJS/src/bootstrap/css/bootstrap.min.css diff --git a/ElectronJS/bootstrap/css/bootstrap.min.css.map b/ElectronJS/src/bootstrap/css/bootstrap.min.css.map similarity index 100% rename from ElectronJS/bootstrap/css/bootstrap.min.css.map rename to ElectronJS/src/bootstrap/css/bootstrap.min.css.map diff --git a/ElectronJS/bootstrap/fonts/glyphicons-halflings-regular.eot b/ElectronJS/src/bootstrap/fonts/glyphicons-halflings-regular.eot similarity index 100% rename from ElectronJS/bootstrap/fonts/glyphicons-halflings-regular.eot rename to ElectronJS/src/bootstrap/fonts/glyphicons-halflings-regular.eot diff --git a/ElectronJS/bootstrap/fonts/glyphicons-halflings-regular.svg b/ElectronJS/src/bootstrap/fonts/glyphicons-halflings-regular.svg similarity index 100% rename from ElectronJS/bootstrap/fonts/glyphicons-halflings-regular.svg rename to ElectronJS/src/bootstrap/fonts/glyphicons-halflings-regular.svg diff --git a/ElectronJS/bootstrap/fonts/glyphicons-halflings-regular.ttf b/ElectronJS/src/bootstrap/fonts/glyphicons-halflings-regular.ttf similarity index 100% rename from ElectronJS/bootstrap/fonts/glyphicons-halflings-regular.ttf rename to ElectronJS/src/bootstrap/fonts/glyphicons-halflings-regular.ttf diff --git a/ElectronJS/bootstrap/fonts/glyphicons-halflings-regular.woff b/ElectronJS/src/bootstrap/fonts/glyphicons-halflings-regular.woff similarity index 100% rename from ElectronJS/bootstrap/fonts/glyphicons-halflings-regular.woff rename to ElectronJS/src/bootstrap/fonts/glyphicons-halflings-regular.woff diff --git a/ElectronJS/bootstrap/fonts/glyphicons-halflings-regular.woff2 b/ElectronJS/src/bootstrap/fonts/glyphicons-halflings-regular.woff2 similarity index 100% rename from ElectronJS/bootstrap/fonts/glyphicons-halflings-regular.woff2 rename to ElectronJS/src/bootstrap/fonts/glyphicons-halflings-regular.woff2 diff --git a/ElectronJS/bootstrap/jquery-1.4.2.min.js b/ElectronJS/src/bootstrap/jquery-1.4.2.min.js similarity index 100% rename from ElectronJS/bootstrap/jquery-1.4.2.min.js rename to ElectronJS/src/bootstrap/jquery-1.4.2.min.js diff --git a/ElectronJS/bootstrap/js/bootstrap.bundle.js b/ElectronJS/src/bootstrap/js/bootstrap.bundle.js similarity index 100% rename from ElectronJS/bootstrap/js/bootstrap.bundle.js rename to ElectronJS/src/bootstrap/js/bootstrap.bundle.js diff --git a/ElectronJS/bootstrap/js/bootstrap.bundle.js.map b/ElectronJS/src/bootstrap/js/bootstrap.bundle.js.map similarity index 100% rename from ElectronJS/bootstrap/js/bootstrap.bundle.js.map rename to ElectronJS/src/bootstrap/js/bootstrap.bundle.js.map diff --git a/ElectronJS/bootstrap/js/bootstrap.bundle.min.js b/ElectronJS/src/bootstrap/js/bootstrap.bundle.min.js similarity index 100% rename from ElectronJS/bootstrap/js/bootstrap.bundle.min.js rename to ElectronJS/src/bootstrap/js/bootstrap.bundle.min.js diff --git a/ElectronJS/bootstrap/js/bootstrap.bundle.min.js.map b/ElectronJS/src/bootstrap/js/bootstrap.bundle.min.js.map similarity index 100% rename from ElectronJS/bootstrap/js/bootstrap.bundle.min.js.map rename to ElectronJS/src/bootstrap/js/bootstrap.bundle.min.js.map diff --git a/ElectronJS/bootstrap/js/bootstrap.js b/ElectronJS/src/bootstrap/js/bootstrap.js similarity index 100% rename from ElectronJS/bootstrap/js/bootstrap.js rename to ElectronJS/src/bootstrap/js/bootstrap.js diff --git a/ElectronJS/bootstrap/js/bootstrap.js.map b/ElectronJS/src/bootstrap/js/bootstrap.js.map similarity index 100% rename from ElectronJS/bootstrap/js/bootstrap.js.map rename to ElectronJS/src/bootstrap/js/bootstrap.js.map diff --git a/ElectronJS/bootstrap/js/bootstrap.min.js b/ElectronJS/src/bootstrap/js/bootstrap.min.js similarity index 100% rename from ElectronJS/bootstrap/js/bootstrap.min.js rename to ElectronJS/src/bootstrap/js/bootstrap.min.js diff --git a/ElectronJS/bootstrap/js/bootstrap.min.js.map b/ElectronJS/src/bootstrap/js/bootstrap.min.js.map similarity index 100% rename from ElectronJS/bootstrap/js/bootstrap.min.js.map rename to ElectronJS/src/bootstrap/js/bootstrap.min.js.map diff --git a/ElectronJS/bootstrap/test.html b/ElectronJS/src/bootstrap/test.html similarity index 100% rename from ElectronJS/bootstrap/test.html rename to ElectronJS/src/bootstrap/test.html diff --git a/ElectronJS/bootstrap/test2.html b/ElectronJS/src/bootstrap/test2.html similarity index 100% rename from ElectronJS/bootstrap/test2.html rename to ElectronJS/src/bootstrap/test2.html diff --git a/ElectronJS/bootstrap/test3.html b/ElectronJS/src/bootstrap/test3.html similarity index 100% rename from ElectronJS/bootstrap/test3.html rename to ElectronJS/src/bootstrap/test3.html diff --git a/ElectronJS/bootstrap/test4.html b/ElectronJS/src/bootstrap/test4.html similarity index 100% rename from ElectronJS/bootstrap/test4.html rename to ElectronJS/src/bootstrap/test4.html diff --git a/ElectronJS/styles.css b/ElectronJS/src/css/styles.css similarity index 100% rename from ElectronJS/styles.css rename to ElectronJS/src/css/styles.css diff --git a/ElectronJS/src/index.html b/ElectronJS/src/index.html new file mode 100644 index 0000000..9dffdd5 --- /dev/null +++ b/ElectronJS/src/index.html @@ -0,0 +1,78 @@ + + + + + + + + + + + + EasySpider: NoCode Visual Web Crawler + + + +
+ +
+

选择语言/Select Language

+ +

中文版

+ +

English

+
+ +
+
+

Hint: Click Button below to start.

+ +

Design Task

+ +

View/Manage/Invoke Tasks

+
+
+

提示:点击下方按钮开始使用。

+ +

设计任务

+ +

查看/管理/执行任务

+
+
+
+ + + + + + + \ No newline at end of file diff --git a/ElectronJS/jquery-3.4.1.min.js b/ElectronJS/src/js/jquery-3.4.1.min.js similarity index 100% rename from ElectronJS/jquery-3.4.1.min.js rename to ElectronJS/src/js/jquery-3.4.1.min.js diff --git a/ElectronJS/renderer.js b/ElectronJS/src/js/renderer.js similarity index 100% rename from ElectronJS/renderer.js rename to ElectronJS/src/js/renderer.js diff --git a/ElectronJS/src/js/vue.global.js b/ElectronJS/src/js/vue.global.js new file mode 100644 index 0000000..db18856 --- /dev/null +++ b/ElectronJS/src/js/vue.global.js @@ -0,0 +1,16159 @@ +var Vue = (function (exports) { + 'use strict'; + + /** + * Make a map and return a function for checking if a key + * is in that map. + * IMPORTANT: all calls of this function must be prefixed with + * \/\*#\_\_PURE\_\_\*\/ + * So that rollup can tree-shake them if necessary. + */ + function makeMap(str, expectsLowerCase) { + const map = Object.create(null); + const list = str.split(','); + for (let i = 0; i < list.length; i++) { + map[list[i]] = true; + } + return expectsLowerCase ? val => !!map[val.toLowerCase()] : val => !!map[val]; + } + + /** + * dev only flag -> name mapping + */ + const PatchFlagNames = { + [1 /* PatchFlags.TEXT */]: `TEXT`, + [2 /* PatchFlags.CLASS */]: `CLASS`, + [4 /* PatchFlags.STYLE */]: `STYLE`, + [8 /* PatchFlags.PROPS */]: `PROPS`, + [16 /* PatchFlags.FULL_PROPS */]: `FULL_PROPS`, + [32 /* PatchFlags.HYDRATE_EVENTS */]: `HYDRATE_EVENTS`, + [64 /* PatchFlags.STABLE_FRAGMENT */]: `STABLE_FRAGMENT`, + [128 /* PatchFlags.KEYED_FRAGMENT */]: `KEYED_FRAGMENT`, + [256 /* PatchFlags.UNKEYED_FRAGMENT */]: `UNKEYED_FRAGMENT`, + [512 /* PatchFlags.NEED_PATCH */]: `NEED_PATCH`, + [1024 /* PatchFlags.DYNAMIC_SLOTS */]: `DYNAMIC_SLOTS`, + [2048 /* PatchFlags.DEV_ROOT_FRAGMENT */]: `DEV_ROOT_FRAGMENT`, + [-1 /* PatchFlags.HOISTED */]: `HOISTED`, + [-2 /* PatchFlags.BAIL */]: `BAIL` + }; + + /** + * Dev only + */ + const slotFlagsText = { + [1 /* SlotFlags.STABLE */]: 'STABLE', + [2 /* SlotFlags.DYNAMIC */]: 'DYNAMIC', + [3 /* SlotFlags.FORWARDED */]: 'FORWARDED' + }; + + const GLOBALS_WHITE_LISTED = 'Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,' + + 'decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,' + + 'Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt'; + const isGloballyWhitelisted = /*#__PURE__*/ makeMap(GLOBALS_WHITE_LISTED); + + const range = 2; + function generateCodeFrame(source, start = 0, end = source.length) { + // Split the content into individual lines but capture the newline sequence + // that separated each line. This is important because the actual sequence is + // needed to properly take into account the full line length for offset + // comparison + let lines = source.split(/(\r?\n)/); + // Separate the lines and newline sequences into separate arrays for easier referencing + const newlineSequences = lines.filter((_, idx) => idx % 2 === 1); + lines = lines.filter((_, idx) => idx % 2 === 0); + let count = 0; + const res = []; + for (let i = 0; i < lines.length; i++) { + count += + lines[i].length + + ((newlineSequences[i] && newlineSequences[i].length) || 0); + if (count >= start) { + for (let j = i - range; j <= i + range || end > count; j++) { + if (j < 0 || j >= lines.length) + continue; + const line = j + 1; + res.push(`${line}${' '.repeat(Math.max(3 - String(line).length, 0))}| ${lines[j]}`); + const lineLength = lines[j].length; + const newLineSeqLength = (newlineSequences[j] && newlineSequences[j].length) || 0; + if (j === i) { + // push underline + const pad = start - (count - (lineLength + newLineSeqLength)); + const length = Math.max(1, end > count ? lineLength - pad : end - start); + res.push(` | ` + ' '.repeat(pad) + '^'.repeat(length)); + } + else if (j > i) { + if (end > count) { + const length = Math.max(Math.min(end - count, lineLength), 1); + res.push(` | ` + '^'.repeat(length)); + } + count += lineLength + newLineSeqLength; + } + } + break; + } + } + return res.join('\n'); + } + + function normalizeStyle(value) { + if (isArray(value)) { + const res = {}; + for (let i = 0; i < value.length; i++) { + const item = value[i]; + const normalized = isString(item) + ? parseStringStyle(item) + : normalizeStyle(item); + if (normalized) { + for (const key in normalized) { + res[key] = normalized[key]; + } + } + } + return res; + } + else if (isString(value)) { + return value; + } + else if (isObject(value)) { + return value; + } + } + const listDelimiterRE = /;(?![^(]*\))/g; + const propertyDelimiterRE = /:([^]+)/; + const styleCommentRE = /\/\*.*?\*\//gs; + function parseStringStyle(cssText) { + const ret = {}; + cssText + .replace(styleCommentRE, '') + .split(listDelimiterRE) + .forEach(item => { + if (item) { + const tmp = item.split(propertyDelimiterRE); + tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim()); + } + }); + return ret; + } + function normalizeClass(value) { + let res = ''; + if (isString(value)) { + res = value; + } + else if (isArray(value)) { + for (let i = 0; i < value.length; i++) { + const normalized = normalizeClass(value[i]); + if (normalized) { + res += normalized + ' '; + } + } + } + else if (isObject(value)) { + for (const name in value) { + if (value[name]) { + res += name + ' '; + } + } + } + return res.trim(); + } + function normalizeProps(props) { + if (!props) + return null; + let { class: klass, style } = props; + if (klass && !isString(klass)) { + props.class = normalizeClass(klass); + } + if (style) { + props.style = normalizeStyle(style); + } + return props; + } + + // These tag configs are shared between compiler-dom and runtime-dom, so they + // https://developer.mozilla.org/en-US/docs/Web/HTML/Element + const HTML_TAGS = 'html,body,base,head,link,meta,style,title,address,article,aside,footer,' + + 'header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,' + + 'figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,' + + 'data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,' + + 'time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,' + + 'canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,' + + 'th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,' + + 'option,output,progress,select,textarea,details,dialog,menu,' + + 'summary,template,blockquote,iframe,tfoot'; + // https://developer.mozilla.org/en-US/docs/Web/SVG/Element + const SVG_TAGS = 'svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,' + + 'defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,' + + 'feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,' + + 'feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,' + + 'feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,' + + 'fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,' + + 'foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,' + + 'mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,' + + 'polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,' + + 'text,textPath,title,tspan,unknown,use,view'; + const VOID_TAGS = 'area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr'; + /** + * Compiler only. + * Do NOT use in runtime code paths unless behind `true` flag. + */ + const isHTMLTag = /*#__PURE__*/ makeMap(HTML_TAGS); + /** + * Compiler only. + * Do NOT use in runtime code paths unless behind `true` flag. + */ + const isSVGTag = /*#__PURE__*/ makeMap(SVG_TAGS); + /** + * Compiler only. + * Do NOT use in runtime code paths unless behind `true` flag. + */ + const isVoidTag = /*#__PURE__*/ makeMap(VOID_TAGS); + + /** + * On the client we only need to offer special cases for boolean attributes that + * have different names from their corresponding dom properties: + * - itemscope -> N/A + * - allowfullscreen -> allowFullscreen + * - formnovalidate -> formNoValidate + * - ismap -> isMap + * - nomodule -> noModule + * - novalidate -> noValidate + * - readonly -> readOnly + */ + const specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`; + const isSpecialBooleanAttr = /*#__PURE__*/ makeMap(specialBooleanAttrs); + /** + * Boolean attributes should be included if the value is truthy or ''. + * e.g. `