From 2df1f10be9474750405f384fce198877e52374ba Mon Sep 17 00:00:00 2001 From: Richard Race Date: Fri, 8 Jan 2021 17:55:43 +0000 Subject: [PATCH] Initial Commit --- .eslintrc.json | 16 + .gitignore | 71 + LICENSE.md | 8 + README.md | 31 + assets/headphones.png | Bin 0 -> 1062 bytes assets/icon.icns | Bin 0 -> 57634 bytes assets/index.css | 46 + index.html | 31 + index.js | 118 + lib/devices.js | 72 + lib/headphones.js | 56 + main.js | 100 + package-lock.json | 3047 ++++++++++++++++++++++++ package.json | 25 + vendor/photon/css/photon.min.css | 9 + vendor/photon/fonts/photon-entypo.eot | Bin 0 -> 48644 bytes vendor/photon/fonts/photon-entypo.svg | 295 +++ vendor/photon/fonts/photon-entypo.ttf | Bin 0 -> 48456 bytes vendor/photon/fonts/photon-entypo.woff | Bin 0 -> 30692 bytes 19 files changed, 3925 insertions(+) create mode 100644 .eslintrc.json create mode 100644 .gitignore create mode 100644 LICENSE.md create mode 100644 README.md create mode 100644 assets/headphones.png create mode 100644 assets/icon.icns create mode 100644 assets/index.css create mode 100644 index.html create mode 100644 index.js create mode 100644 lib/devices.js create mode 100644 lib/headphones.js create mode 100644 main.js create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 vendor/photon/css/photon.min.css create mode 100644 vendor/photon/fonts/photon-entypo.eot create mode 100644 vendor/photon/fonts/photon-entypo.svg create mode 100644 vendor/photon/fonts/photon-entypo.ttf create mode 100644 vendor/photon/fonts/photon-entypo.woff diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000..41fee36 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,16 @@ +{ + "env": { + "browser": true, + "commonjs": true, + "es2021": true, + "node": true + }, + "extends": [ + "airbnb-base" + ], + "parserOptions": { + "ecmaVersion": 12 + }, + "rules": { + } +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e92abcd --- /dev/null +++ b/.gitignore @@ -0,0 +1,71 @@ +.DS_Store +.env +.gclient_done +**/.npmrc +.tags* +.vs/ +.vscode/ +*.log +*.pyc +*.sln +*.swp +*.VC.db +*.VC.VC.opendb +*.vcxproj +*.vcxproj.filters +*.vcxproj.user +*.xcodeproj +/.idea/ +/dist/ +/external_binaries/ +/out/ +/vendor/.gclient +/vendor/debian_jessie_mips64-sysroot/ +/vendor/debian_stretch_amd64-sysroot/ +/vendor/debian_stretch_arm-sysroot/ +/vendor/debian_stretch_arm64-sysroot/ +/vendor/debian_stretch_i386-sysroot/ +/vendor/gcc-4.8.3-d197-n64-loongson/ +/vendor/readme-gcc483-loongson.txt +/vendor/download/ +/vendor/llvm-build/ +/vendor/llvm/ +/vendor/npm/ +/vendor/python_26/ +/vendor/native_mksnapshot +/vendor/LICENSES.chromium.html +/vendor/pyyaml +node_modules/ +SHASUMS256.txt +**/package-lock.json +compile_commands.json +.envrc + +# npm package +/npm/dist +/npm/path.txt + +.npmrc + +# Generated API definitions +electron-api.json +electron.d.ts + +# Spec hash calculation +spec/.hash + +# Eslint Cache +.eslintcache* + +# Generated native addon files +/spec-main/fixtures/native-addon/echo/build/ + +# If someone runs tsc this is where stuff will end up +ts-gen + +# Used to accelerate CI builds +.depshash +.depshash-target + +# Used to accelerate builds after sync +patches/mtime-cache.json \ No newline at end of file diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..a112746 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,8 @@ +Copyright 2020 Richard Race + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + diff --git a/README.md b/README.md new file mode 100644 index 0000000..5d58b66 --- /dev/null +++ b/README.md @@ -0,0 +1,31 @@ +# Arctis Monitor + +This Electron application will create a Tray application to show the current battery level and some other information about the headset. + +## Development + +Clone the repo + +Run +``` +npm install +``` + +and then +``` +npm start +``` + +## Build application + +You can run: +``` +npm run package-mac +``` +to build a Mac OS application. I have not yet tried to build a Windows or Linux version. + +## Credtis + +* Icons made by [Freepik](https://www.flaticon.com/authors/freepik "Freepik") from [www.flaticon.com](https://www.flaticon.com/ "Flaticon") +* Most of the Electron based work has been inspired by https://github.com/kevinsawicki/tray-example +* The handling of the Arctis Headsets has been taken from https://github.com/atagulalan/arctis-battery-percentage \ No newline at end of file diff --git a/assets/headphones.png b/assets/headphones.png new file mode 100644 index 0000000000000000000000000000000000000000..8205b0cc0495fa050b0d35a9ff0335f64d98b461 GIT binary patch literal 1062 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
  • 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 b7+M6%l&8E+F>e>zZi-SDyhxdyf$RSRogn{K literal 0 HcmV?d00001 diff --git a/assets/index.css b/assets/index.css new file mode 100644 index 0000000..933597b --- /dev/null +++ b/assets/index.css @@ -0,0 +1,46 @@ +:root { + --background-color: #f5f5f4; + --text-color: #333; + --window-border-radius: 6px; + --font-size: 14px; +} + +/* The arrow at the top of the window */ +.header-arrow { + position: absolute; + top: 2px; + left: 50%; + margin-left: -5px; + height: 10px; + width: 10px; + transform: rotate(45deg); + background-color: #e8e6e8; +} + +.window { + position: absolute; + top: 5px; +} + +.window-content { + background-color: var(--background-color); + flex-direction: column; + padding: 10px; +} + +.device { + border-bottom: 1px solid black; + margin-bottom: 20px; +} + +.device .product, +.battery .percent, +.muted .bool { + font-weight: bold; +} + +.device .details { + flex-direction: row; + display: flex; + justify-content: space-evenly; +} diff --git a/index.html b/index.html new file mode 100644 index 0000000..ac312eb --- /dev/null +++ b/index.html @@ -0,0 +1,31 @@ + + + + + + + + Arctis Monitor + + +
    +
    +
    +

    Arctis Monitor

    +
    + +
    +
    +
    +
    + +
    +
    + +
    +
    +
    + + \ No newline at end of file diff --git a/index.js b/index.js new file mode 100644 index 0000000..36b1bc1 --- /dev/null +++ b/index.js @@ -0,0 +1,118 @@ +/* eslint-disable import/no-extraneous-dependencies */ +/* eslint-disable no-multi-str */ +/* eslint-disable no-console */ +const { ipcRenderer } = require('electron'); +const { remote } = require('electron'); +const { findDevices, processDevices } = require('./lib/devices'); + +const deviceHTMLTemplate = " \ +
    \ +
    {{ product }}
    \ +
    \ +
    \ + Battery %: {{ batPercent }} {{ chargingStatus }} \ +
    \ +
    \ + Muted? {{ isMuted }} \ +
    \ +
    \ +
    \ +"; + +const deviceTurnedOffTemplate = " \ +
    \ +
    {{ product }}
    \ +
    This device is not connected or the headset is not turned on.
    \ +
    \ +"; + +function checkWindowSize() { + const win = remote.getCurrentWindow(); + const width = 300; + const animate = false; + const deviceRow = 62; + const otherPadding = 70; + + let height = otherPadding; + + height += deviceRow * document.querySelectorAll('.device').length; + + height = Math.min(400, height); + + win.setSize(width, height, animate); +} + +function updateStatus() { + const devices = findDevices(); + + if (devices.length === 0) { + document.querySelector('.devices').innerHTML = '
    Sorry no devices found!
    '; + + return; + } + + processDevices(devices, (device, status) => { + let percentage = status.batteryPercent > 100 ? 100 : status.batteryPercent; + percentage = percentage < 0 ? 0 : percentage; + + const muted = status.micStatus === 1 ? 'Yes' : 'No'; + const charging = status.chargingInfo === 1; + const discharging = status.chargingInfo === 3; + const notConnected = status.chargingInfo === 0; + + const deviceID = `device-${device.productId}`; + + console.log('Rendering device: ', device); + let html; + + if (notConnected) { + console.log('Not connected'); + html = `${deviceTurnedOffTemplate}` + .replace('{{ deviceID }}', deviceID) + .replace('{{ product }}', device.additional.name); + } else { + console.log('Connected'); + const dischargingIcon = discharging ? 'down' : false; + const icon = charging ? 'up' : dischargingIcon; + let chargingIcon = ''; + + if (icon) { + chargingIcon = ``; + } + + html = `${deviceHTMLTemplate}` + .replace('{{ deviceID }}', deviceID) + .replace('{{ product }}', device.additional.name) + .replace('{{ batPercent }}', percentage) + .replace('{{ isMuted }}', muted) + .replace('{{ chargingStatus }}', chargingIcon); + } + + console.log('Rendering:', html); + if (document.querySelector(`#${deviceID}`)) { + document.querySelector(`#${deviceID}`).outerHTML = html; + } else { + document.querySelector('.devices').insertAdjacentHTML('beforeend', html); + } + + if (status.micStatus === undefined) { + document.querySelector(`#${deviceID}`).querySelector('.muted').remove(); + } + + checkWindowSize(); + }); +} + +function init() { + document.querySelector('button#quit').addEventListener('click', () => { + ipcRenderer.send('quit-from-tray'); + }); + + updateStatus(); + + // Refresh 5 minutes + const time = 5 * 60 * 1000; + setInterval(updateStatus, time); +} + +document.addEventListener('DOMContentLoaded', init); diff --git a/lib/devices.js b/lib/devices.js new file mode 100644 index 0000000..e7223fb --- /dev/null +++ b/lib/devices.js @@ -0,0 +1,72 @@ +/* eslint-disable no-console */ +const HID = require('node-hid'); +const headphones = require('./headphones'); + +HID.setDriverType('libusb'); + +function findDevices() { + const devices = HID.devices(); + + return devices + .map((usbDevice) => { + const supportedDevice = headphones.find( + (wantedDevice) => usbDevice.vendorId === wantedDevice.vendorId + && usbDevice.productId === wantedDevice.productId + && usbDevice.usage !== 1, + ); + return supportedDevice + ? { ...usbDevice, additional: supportedDevice } + : false; + }) + .filter((el) => !!el); +} + +function processDevices(devices, callback) { + devices.forEach((deviceInfo) => { + const device = new HID.HID(deviceInfo.path); + const { + writeBytes, + batteryPercentIdx, + chargingStatusIdx, + micStatusIdx, + } = deviceInfo.additional; + if (!device) { + console.log('Could not find device :('); + return; + } + + console.log('looking at:', deviceInfo); + + try { + device.write(writeBytes); + const report = device.readSync(); + console.log('RAW', report, report.length); + + const status = { + batteryPercent: report[batteryPercentIdx], + }; + + if (chargingStatusIdx !== null) { + status.chargingInfo = report[chargingStatusIdx]; + } + + if (micStatusIdx !== null) { + status.micStatus = report[micStatusIdx]; + } + + callback(deviceInfo, status); + } catch (error) { + console.log( + 'Error: Cannot write to Arctis Wireless device. Please replug the device.', + error, + ); + } finally { + device.close(); + } + }); +} + +module.exports = { + findDevices, + processDevices, +}; diff --git a/lib/headphones.js b/lib/headphones.js new file mode 100644 index 0000000..6b68f8a --- /dev/null +++ b/lib/headphones.js @@ -0,0 +1,56 @@ +module.exports = [ + { + name: 'Arctis 7 2019', + vendorId: 4152, + productId: 0x12ad, + batteryPercentIdx: 2, + chargingStatusIdx: null, + micStatusIdx: null, + writeBytes: [0x06, 0x18], + }, + { + name: 'Arctis 7 2017', + vendorId: 4152, + productId: 0x1260, + batteryPercentIdx: 2, + chargingStatusIdx: null, + micStatusIdx: null, + writeBytes: [0x06, 0x18], + }, + { + name: 'Arctis Pro', + vendorId: 4152, + productId: 0x1252, + batteryPercentIdx: 2, + chargingStatusIdx: null, + micStatusIdx: null, + writeBytes: [0x06, 0x18], + }, + { + name: 'Arctis 1 Wireless', + vendorId: 4152, + productId: 0x12b3, + batteryPercentIdx: 2, + chargingStatusIdx: null, + micStatusIdx: null, + writeBytes: [0x06, 0x18], + }, + { + name: 'Arctis 9', + vendorId: 4152, + productId: 0x12c2, + batteryPercentIdx: 3, + chargingStatusIdx: null, + micStatusIdx: null, + writeBytes: [0x06, 0x12], + }, + { + name: 'Arctis 7X', + vendorId: 4152, + productId: 0x12d7, + batteryPercentIdx: 3, + chargingStatusIdx: 4, + micStatusIdx: 5, + writeBytes: [0x06, 0x12], + }, +]; diff --git a/main.js b/main.js new file mode 100644 index 0000000..7452bdd --- /dev/null +++ b/main.js @@ -0,0 +1,100 @@ +const { + app, BrowserWindow, ipcMain, Tray, +// eslint-disable-next-line import/no-extraneous-dependencies +} = require('electron'); +const path = require('path'); + +const assetsDirectory = path.join(__dirname, 'assets'); + +let tray; +let window; + +const getWindowPosition = () => { + const windowBounds = window.getBounds(); + const trayBounds = tray.getBounds(); + + // Center window horizontally below the tray icon + const x = Math.round(trayBounds.x + trayBounds.width / 2 - windowBounds.width / 2); + + // Position window 4 pixels vertically below the tray icon + const y = Math.round(trayBounds.y + trayBounds.height + 4); + + return { x, y }; +}; + +const showWindow = () => { + const position = getWindowPosition(); + window.setPosition(position.x, position.y, false); + window.show(); + window.focus(); +}; + +const toggleWindow = () => { + if (window.isVisible()) { + window.hide(); + } else { + showWindow(); + } +}; + +const createTray = () => { + tray = new Tray(path.join(assetsDirectory, 'headphones.png')); + tray.on('right-click', toggleWindow); + tray.on('double-click', toggleWindow); + tray.on('click', (event) => { + toggleWindow(); + + // Show devtools when command clicked + if (window.isVisible() && process.defaultApp && event.metaKey) { + window.openDevTools({ mode: 'detach' }); + } + }); +}; + +const createWindow = () => { + window = new BrowserWindow({ + show: false, + frame: false, + width: 300, + minHeight: 150, + height: 150, + maxHeight: 450, + fullscreenable: false, + resizable: false, + transparent: true, + skipTaskbar: true, + movable: false, + webPreferences: { + // Prevents renderer process code from not running when window is + // hidden + backgroundThrottling: false, + nodeIntegration: true, + enableRemoteModule: true, + }, + }); + window.loadURL(`file://${path.join(__dirname, 'index.html')}`); + + // Hide the window when it loses focus + window.on('blur', () => { + if (!window.webContents.isDevToolsOpened()) { + window.hide(); + } + }); +}; + +// Don't show the app in the doc +app.dock.hide(); + +app.on('ready', () => { + createTray(); + createWindow(); +}); + +// Quit the app when the window is closed +app.on('window-all-closed', () => { + app.quit(); +}); + +ipcMain.on('quit-from-tray', () => { + app.quit(); +}); diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..04ea898 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,3047 @@ +{ + "name": "arctis-monitor", + "version": "0.0.1", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + } + } + }, + "@electron/get": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.12.2.tgz", + "integrity": "sha512-vAuHUbfvBQpYTJ5wB7uVIDq5c/Ry0fiTBMs7lnEYAo/qXXppIVcWdfBr57u6eRnKdVso7KSiH6p/LbQAG6Izrg==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "env-paths": "^2.2.0", + "fs-extra": "^8.1.0", + "global-agent": "^2.0.2", + "global-tunnel-ng": "^2.7.1", + "got": "^9.6.0", + "progress": "^2.0.3", + "sanitize-filename": "^1.6.2", + "sumchecker": "^3.0.1" + } + }, + "@eslint/eslintrc": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.2.2.tgz", + "integrity": "sha512-EfB5OHNYp1F4px/LI/FEnGylop7nOqkQ1LRzCM0KccA2U8tvV8w01KBv37LbO7nW4H+YhKyo2LcJhRwjjV17QQ==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "lodash": "^4.17.19", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + } + } + }, + "@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 + }, + "@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, + "requires": { + "defer-to-connect": "^1.0.1" + } + }, + "@types/glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==", + "dev": true, + "optional": true, + "requires": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", + "dev": true + }, + "@types/minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", + "dev": true, + "optional": true + }, + "@types/node": { + "version": "12.19.12", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.19.12.tgz", + "integrity": "sha512-UwfL2uIU9arX/+/PRcIkT08/iBadGN2z6ExOROA2Dh5mAuWTBj6iJbQX4nekiV5H8cTrEG569LeX+HRco9Cbxw==", + "dev": true + }, + "@types/yauzl": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.1.tgz", + "integrity": "sha512-A1b8SU4D10uoPjwb0lnHmmu8wZhR9d+9o2PKBQT2jU5YPTKsxac6M2qGAdY7VcL+dHHhARVUDmeg0rOrcd9EjA==", + "dev": true, + "optional": true, + "requires": { + "@types/node": "*" + } + }, + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", + "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", + "dev": true + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + }, + "are-we-there-yet": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + }, + "dependencies": { + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + } + } + }, + "array-includes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.2.tgz", + "integrity": "sha512-w2GspexNQpx+PutG3QpT437/BenZBj0M/MZGn5mzv/MofYqo0xmRHzn4lFsoDlWJ+THYsGJmFlW68WlDFx7VRw==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1", + "get-intrinsic": "^1.0.1", + "is-string": "^1.0.5" + } + }, + "array.prototype.flat": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz", + "integrity": "sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1" + } + }, + "asar": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/asar/-/asar-3.0.3.tgz", + "integrity": "sha512-k7zd+KoR+n8pl71PvgElcoKHrVNiSXtw7odKbyNpmgKe7EGRF9Pnu3uLOukD37EvavKwVFxOUpqXTIZC5B5Pmw==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "chromium-pickle-js": "^0.2.0", + "commander": "^5.0.0", + "glob": "^7.1.6", + "minimatch": "^3.0.4" + } + }, + "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 + }, + "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 + }, + "author-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/author-regex/-/author-regex-1.0.0.tgz", + "integrity": "sha1-0IiFvmubv5Q5/gh8dihyRfCoFFA=", + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "requires": { + "file-uri-to-path": "1.0.0" + } + }, + "bl": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.0.3.tgz", + "integrity": "sha512-fs4G6/Hu4/EE+F75J8DuN/0IpQqNjAdC7aEQv7Qt8MHGUH7Ckv2MwTEEeN9QehD0pfIDkMI1bkHYkKy7xHyKIg==", + "requires": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "boolean": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.0.2.tgz", + "integrity": "sha512-RwywHlpCRc3/Wh81MiCKun4ydaIFyW5Ea6JbL6sRCVx5q5irDw7pMXBUFYF/jArQ6YrG36q0kpovc9P/Kd3I4g==", + "dev": true, + "optional": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "dev": true, + "requires": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", + "dev": true + }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", + "dev": true + }, + "buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", + "dev": true + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "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, + "requires": { + "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" + }, + "dependencies": { + "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, + "requires": { + "pump": "^3.0.0" + } + }, + "lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "dev": true + } + } + }, + "call-bind": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.0.tgz", + "integrity": "sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.0" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "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, + "requires": { + "color-convert": "^2.0.1" + } + }, + "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, + "requires": { + "color-name": "~1.1.4" + } + }, + "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 + }, + "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 + }, + "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, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + }, + "chromium-pickle-js": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz", + "integrity": "sha1-BKEGZywYsIWrd02YPfo+oTjyIgU=", + "dev": true + }, + "clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "dev": true, + "requires": { + "mimic-response": "^1.0.0" + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "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 + }, + "compare-version": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/compare-version/-/compare-version-0.1.2.tgz", + "integrity": "sha1-AWLsLZNR9d3VmpICy6k1NmpyUIA=", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "config-chain": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz", + "integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==", + "dev": true, + "optional": true, + "requires": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "confusing-browser-globals": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.10.tgz", + "integrity": "sha512-gNld/3lySHwuhaVluJUKLePYirM3QNCKzVxqAdhJII9/WXKVX5PURzMVJspS1jTslSqjeuG4KMVTSouit5YPHA==", + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" + }, + "contains-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", + "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", + "dev": true + }, + "core-js": { + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.8.2.tgz", + "integrity": "sha512-FfApuSRgrR6G5s58casCBd9M2k+4ikuu4wbW6pJyYU7bd9zvFc9qf7vr5xmrZOhT9nn+8uwlH1oRR9jTnFoA3A==", + "dev": true, + "optional": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "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, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "dev": true, + "requires": { + "mimic-response": "^1.0.0" + } + }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "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 + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "requires": { + "object-keys": "^1.0.12" + } + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" + }, + "detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=" + }, + "detect-node": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", + "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==", + "dev": true, + "optional": true + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", + "dev": true + }, + "electron": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/electron/-/electron-11.1.1.tgz", + "integrity": "sha512-tlbex3xosJgfileN6BAQRotevPRXB/wQIq48QeQ08tUJJrXwE72c8smsM/hbHx5eDgnbfJ2G3a60PmRjHU2NhA==", + "dev": true, + "requires": { + "@electron/get": "^1.0.1", + "@types/node": "^12.0.12", + "extract-zip": "^1.0.3" + } + }, + "electron-notarize": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/electron-notarize/-/electron-notarize-1.0.0.tgz", + "integrity": "sha512-dsib1IAquMn0onCrNMJ6gtEIZn/azG8hZMCYOuZIMVMUeRMgBYHK1s5TK9P8xAcrAjh/2aN5WYHzgVSWX314og==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "fs-extra": "^9.0.1" + }, + "dependencies": { + "fs-extra": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz", + "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^1.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + }, + "dependencies": { + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + } + } + }, + "universalify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", + "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", + "dev": true + } + } + }, + "electron-osx-sign": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/electron-osx-sign/-/electron-osx-sign-0.5.0.tgz", + "integrity": "sha512-icoRLHzFz/qxzDh/N4Pi2z4yVHurlsCAYQvsCSG7fCedJ4UJXBS6PoQyGH71IfcqKupcKeK7HX/NkyfG+v6vlQ==", + "dev": true, + "requires": { + "bluebird": "^3.5.0", + "compare-version": "^0.1.2", + "debug": "^2.6.8", + "isbinaryfile": "^3.0.2", + "minimist": "^1.2.0", + "plist": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "electron-packager": { + "version": "15.2.0", + "resolved": "https://registry.npmjs.org/electron-packager/-/electron-packager-15.2.0.tgz", + "integrity": "sha512-BaklTBRQy1JTijR3hi8XxHf/uo76rHbDCNM/eQHSblzE9C0NoNfOe86nPxB7y1u2jwlqoEJ4zFiHpTFioKGGRA==", + "dev": true, + "requires": { + "@electron/get": "^1.6.0", + "asar": "^3.0.0", + "debug": "^4.0.1", + "electron-notarize": "^1.0.0", + "electron-osx-sign": "^0.5.0", + "extract-zip": "^2.0.0", + "filenamify": "^4.1.0", + "fs-extra": "^9.0.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": "^2.0.0", + "resolve": "^1.1.6", + "semver": "^7.1.3", + "yargs-parser": "^20.0.0" + }, + "dependencies": { + "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, + "requires": { + "@types/yauzl": "^2.9.1", + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + } + }, + "fs-extra": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz", + "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^1.0.0" + } + }, + "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, + "requires": { + "pump": "^3.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + }, + "dependencies": { + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + } + } + }, + "universalify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", + "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", + "dev": true + } + } + }, + "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 + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true, + "optional": true + }, + "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==", + "requires": { + "once": "^1.4.0" + } + }, + "enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "requires": { + "ansi-colors": "^4.1.1" + } + }, + "env-paths": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.0.tgz", + "integrity": "sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA==", + "dev": true + }, + "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, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-abstract": { + "version": "1.18.0-next.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", + "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.0", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "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 + }, + "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 + }, + "eslint": { + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.17.0.tgz", + "integrity": "sha512-zJk08MiBgwuGoxes5sSQhOtibZ75pz0J35XTRlZOk9xMffhpA9BTbQZxoXZzOl5zMbleShbGwtw+1kGferfFwQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@eslint/eslintrc": "^0.2.2", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.2.0", + "esutils": "^2.0.2", + "file-entry-cache": "^6.0.0", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash": "^4.17.19", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.4", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + } + } + }, + "eslint-config-airbnb-base": { + "version": "14.2.1", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-14.2.1.tgz", + "integrity": "sha512-GOrQyDtVEc1Xy20U7vsB2yAoB4nBlfH5HZJeatRXHleO+OS5Ot+MWij4Dpltw4/DyIkqUfqz1epfhVR5XWWQPA==", + "dev": true, + "requires": { + "confusing-browser-globals": "^1.0.10", + "object.assign": "^4.1.2", + "object.entries": "^1.1.2" + } + }, + "eslint-import-resolver-node": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz", + "integrity": "sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==", + "dev": true, + "requires": { + "debug": "^2.6.9", + "resolve": "^1.13.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "eslint-module-utils": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz", + "integrity": "sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==", + "dev": true, + "requires": { + "debug": "^2.6.9", + "pkg-dir": "^2.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "eslint-plugin-import": { + "version": "2.22.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz", + "integrity": "sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw==", + "dev": true, + "requires": { + "array-includes": "^3.1.1", + "array.prototype.flat": "^1.2.3", + "contains-path": "^0.1.0", + "debug": "^2.6.9", + "doctrine": "1.5.0", + "eslint-import-resolver-node": "^0.3.4", + "eslint-module-utils": "^2.6.0", + "has": "^1.0.3", + "minimatch": "^3.0.4", + "object.values": "^1.1.1", + "read-pkg-up": "^2.0.0", + "resolve": "^1.17.0", + "tsconfig-paths": "^3.9.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "doctrine": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", + "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "isarray": "^1.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + } + } + }, + "eslint-visitor-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", + "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==", + "dev": true + }, + "espree": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "dev": true, + "requires": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + } + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "esquery": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", + "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "expand-template": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==" + }, + "extract-zip": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz", + "integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==", + "dev": true, + "requires": { + "concat-stream": "^1.6.2", + "debug": "^2.6.9", + "mkdirp": "^0.5.4", + "yauzl": "^2.10.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", + "dev": true, + "requires": { + "pend": "~1.2.0" + } + }, + "file-entry-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.0.tgz", + "integrity": "sha512-fqoO76jZ3ZnYrXLDRxBR1YvOvc0k844kcOg40bgsPrE25LAb/PDqTY+ho64Xh2c8ZXgIKldchCFHczG2UVRcWA==", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + }, + "filename-reserved-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", + "integrity": "sha1-q/c9+rc10EVECr/qLZHzieu/oik=", + "dev": true + }, + "filenamify": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.2.0.tgz", + "integrity": "sha512-pkgE+4p7N1n7QieOopmn3TqJaefjdWXwEkj2XLZJLKfOgcQKkn11ahvGNgTD8mLggexLiDFQxeTs14xVU22XPA==", + "dev": true, + "requires": { + "filename-reserved-regex": "^2.0.0", + "strip-outer": "^1.0.1", + "trim-repeated": "^1.0.0" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.0.tgz", + "integrity": "sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA==", + "dev": true + }, + "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, + "requires": { + "debug": "^4.1.1", + "fs-extra": "^7.0.0" + }, + "dependencies": { + "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, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + } + } + }, + "fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + }, + "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, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "galactus": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/galactus/-/galactus-0.2.1.tgz", + "integrity": "sha1-y+0tIKQMH1Z5o1kI4rlBVzPnjbk=", + "dev": true, + "requires": { + "debug": "^3.1.0", + "flora-colossus": "^1.0.0", + "fs-extra": "^4.0.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "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, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + } + } + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "get-intrinsic": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.2.tgz", + "integrity": "sha512-aeX0vrFm21ILl3+JpFFRNe9aUvp6VFZb2/CTbgLb8j75kOhvoNYjt9d8KA/tJG4gSo8nzEDedRl0h7vDmBYRVg==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "get-package-info": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-package-info/-/get-package-info-1.0.0.tgz", + "integrity": "sha1-ZDJ5ZWPigRPNlHTbvQAFKYWkmZw=", + "dev": true, + "requires": { + "bluebird": "^3.1.1", + "debug": "^2.2.0", + "lodash.get": "^4.0.0", + "read-pkg-up": "^2.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "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, + "requires": { + "pump": "^3.0.0" + } + }, + "github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=" + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "global-agent": { + "version": "2.1.12", + "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-2.1.12.tgz", + "integrity": "sha512-caAljRMS/qcDo69X9BfkgrihGUgGx44Fb4QQToNQjsiWh+YlQ66uqYVAdA8Olqit+5Ng0nkz09je3ZzANMZcjg==", + "dev": true, + "optional": true, + "requires": { + "boolean": "^3.0.1", + "core-js": "^3.6.5", + "es6-error": "^4.1.1", + "matcher": "^3.0.0", + "roarr": "^2.15.3", + "semver": "^7.3.2", + "serialize-error": "^7.0.1" + } + }, + "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, + "requires": { + "encodeurl": "^1.0.2", + "lodash": "^4.17.10", + "npm-conf": "^1.1.3", + "tunnel": "^0.0.6" + } + }, + "globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "dev": true, + "requires": { + "type-fest": "^0.8.1" + }, + "dependencies": { + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + } + } + }, + "globalthis": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.1.tgz", + "integrity": "sha512-mJPRTc/P39NH/iNG4mXa9aIhNymaQikTrnspeCa2ZuJ+mH2QN/rXwtX3XwKrHqWgUQFbNZKtHM105aHzJalElw==", + "dev": true, + "optional": true, + "requires": { + "define-properties": "^1.1.3" + } + }, + "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, + "requires": { + "@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" + } + }, + "graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" + }, + "hosted-git-info": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", + "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", + "dev": true + }, + "http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", + "dev": true + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-callable": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", + "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", + "dev": true + }, + "is-core-module": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", + "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-date-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-negative-zero": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", + "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", + "dev": true + }, + "is-regex": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", + "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, + "is-string": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", + "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", + "dev": true + }, + "is-symbol": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "isbinaryfile": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz", + "integrity": "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==", + "dev": true, + "requires": { + "buffer-alloc": "^1.2.0" + } + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true, + "optional": true + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "junk": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/junk/-/junk-3.1.0.tgz", + "integrity": "sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ==", + "dev": true + }, + "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, + "requires": { + "json-buffer": "3.0.0" + } + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "dev": true + }, + "lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", + "dev": true + }, + "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 + }, + "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, + "requires": { + "yallist": "^4.0.0" + } + }, + "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, + "requires": { + "escape-string-regexp": "^4.0.0" + } + }, + "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 + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "napi-build-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", + "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==" + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "node-abi": { + "version": "2.19.3", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.19.3.tgz", + "integrity": "sha512-9xZrlyfvKhWme2EXFKQhZRp1yNWT/uI1luYPr3sFl+H4keYY4xR+1jO7mvTTijIsHf1M+QDe9uWuKeEpLInIlg==", + "requires": { + "semver": "^5.4.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, + "node-addon-api": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.1.0.tgz", + "integrity": "sha512-flmrDNB06LIl5lywUz7YlNGZH/5p0M7W28k8hzd9Lshtdh1wshD2Y+U4h9LD6KObOy1f+fEVdgprPrEymjM5uw==" + }, + "node-hid": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/node-hid/-/node-hid-2.1.1.tgz", + "integrity": "sha512-Skzhqow7hyLZU93eIPthM9yjot9lszg9xrKxESleEs05V2NcbUptZc5HFqzjOkSmL0sFlZFr3kmvaYebx06wrw==", + "requires": { + "bindings": "^1.5.0", + "node-addon-api": "^3.0.2", + "prebuild-install": "^6.0.0" + } + }, + "noop-logger": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz", + "integrity": "sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI=" + }, + "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, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "normalize-url": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", + "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==", + "dev": true + }, + "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, + "requires": { + "config-chain": "^1.1.11", + "pify": "^3.0.0" + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "object-inspect": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", + "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==", + "dev": true + }, + "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 + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, + "object.entries": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.3.tgz", + "integrity": "sha512-ym7h7OZebNS96hn5IJeyUmaWhaSM4SVtAPPfNLQEI2MYWCO2egsITb9nab2+i/Pwibx+R0mtn+ltKJXRSeTMGg==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1", + "has": "^1.0.3" + } + }, + "object.values": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.2.tgz", + "integrity": "sha512-MYC0jvJopr8EK6dPBiO8Nb9mvjdypOachO5REGk6MXzujbBrAisKo3HmdEI6kZDL6fC31Mwee/5YbtMebixeag==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1", + "has": "^1.0.3" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "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 + }, + "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, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-author": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parse-author/-/parse-author-2.0.0.tgz", + "integrity": "sha1-00YL8d3Q367tQtp1QkLmX7aEqB8=", + "dev": true, + "requires": { + "author-regex": "^1.0.0" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "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 + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "dev": true, + "requires": { + "pify": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", + "dev": true + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true, + "optional": true + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, + "requires": { + "find-up": "^2.1.0" + } + }, + "plist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.1.tgz", + "integrity": "sha512-GpgvHHocGRyQm74b6FWEZZVRroHKE1I0/BTjAmySaohK+cUn+hZpbqXkc3KWgW3gQYkqcQej35FohcT0FRlkRQ==", + "dev": true, + "requires": { + "base64-js": "^1.2.3", + "xmlbuilder": "^9.0.7", + "xmldom": "0.1.x" + } + }, + "prebuild-install": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-6.0.0.tgz", + "integrity": "sha512-h2ZJ1PXHKWZpp1caLw0oX9sagVpL2YTk+ZwInQbQ3QqNd4J03O6MpFNmMTJlkfgPENWqe5kP0WjQLqz5OjLfsw==", + "requires": { + "detect-libc": "^1.0.3", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^1.0.1", + "node-abi": "^2.7.0", + "noop-logger": "^0.1.1", + "npmlog": "^4.0.1", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^3.0.3", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0", + "which-pm-runs": "^1.0.0" + } + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true + }, + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", + "dev": true + }, + "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==" + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, + "proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=", + "dev": true, + "optional": true + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + } + }, + "rcedit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/rcedit/-/rcedit-2.3.0.tgz", + "integrity": "sha512-h1gNEl9Oai1oijwyJ1WYqYSXTStHnOcv1KYljg/8WM4NAg3H1KBK3azIaKkQ1WQl+d7PoJpcBMscPfLXVKgCLQ==", + "dev": true + }, + "read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "dev": true, + "requires": { + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" + } + }, + "read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "dev": true, + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "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" + } + }, + "regexpp": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", + "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", + "dev": true + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true + }, + "resolve": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", + "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", + "dev": true, + "requires": { + "is-core-module": "^2.1.0", + "path-parse": "^1.0.6" + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "dev": true, + "requires": { + "lowercase-keys": "^1.0.0" + } + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "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, + "requires": { + "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" + } + }, + "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==" + }, + "sanitize-filename": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.3.tgz", + "integrity": "sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==", + "dev": true, + "requires": { + "truncate-utf8-bytes": "^1.0.0" + } + }, + "semver": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=", + "dev": true, + "optional": true + }, + "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, + "requires": { + "type-fest": "^0.13.1" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, + "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, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "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 + }, + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" + }, + "simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==" + }, + "simple-get": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.1.0.tgz", + "integrity": "sha512-bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA==", + "requires": { + "decompress-response": "^4.2.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + }, + "dependencies": { + "decompress-response": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz", + "integrity": "sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==", + "requires": { + "mimic-response": "^2.0.0" + } + }, + "mimic-response": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz", + "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==" + } + } + }, + "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, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "dependencies": { + "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, + "requires": { + "color-convert": "^2.0.1" + } + }, + "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, + "requires": { + "color-name": "~1.1.4" + } + }, + "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 + }, + "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 + } + } + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "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 + }, + "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, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", + "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", + "dev": true + }, + "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 + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string.prototype.trimend": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz", + "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + } + }, + "string.prototype.trimstart": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz", + "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + } + }, + "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==", + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" + }, + "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, + "requires": { + "escape-string-regexp": "^1.0.2" + }, + "dependencies": { + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + } + } + }, + "sumchecker": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz", + "integrity": "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==", + "dev": true, + "requires": { + "debug": "^4.1.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "table": { + "version": "6.0.7", + "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz", + "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==", + "dev": true, + "requires": { + "ajv": "^7.0.2", + "lodash": "^4.17.20", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.0" + }, + "dependencies": { + "ajv": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.3.tgz", + "integrity": "sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "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 + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, + "tar-fs": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "requires": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "requires": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "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 + }, + "trim-repeated": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", + "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.2" + }, + "dependencies": { + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + } + } + }, + "truncate-utf8-bytes": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", + "integrity": "sha1-QFkjkJWS1W94pYGENLC3hInKXys=", + "dev": true, + "requires": { + "utf8-byte-length": "^1.0.1" + } + }, + "tsconfig-paths": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz", + "integrity": "sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw==", + "dev": true, + "requires": { + "@types/json5": "^0.0.29", + "json5": "^1.0.1", + "minimist": "^1.2.0", + "strip-bom": "^3.0.0" + } + }, + "tunnel": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", + "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", + "dev": true, + "optional": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "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 + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "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 + }, + "uri-js": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", + "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "dev": true, + "requires": { + "prepend-http": "^2.0.0" + } + }, + "utf8-byte-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz", + "integrity": "sha1-9F8VDExm7uloGGUFq5P8u4rWv2E=", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "v8-compile-cache": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz", + "integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==", + "dev": true + }, + "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, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-pm-runs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz", + "integrity": "sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=" + }, + "wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "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 + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "xmlbuilder": { + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", + "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=", + "dev": true + }, + "xmldom": { + "version": "0.1.31", + "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.31.tgz", + "integrity": "sha512-yS2uJflVQs6n+CyjHoaBmVSqIDevTAWrzMmjG1Gc7h1qQ7uVozNhEPJAwZXWyGQ/Gafo3fCwrcaokezLPupVyQ==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "dev": true + }, + "yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", + "dev": true, + "requires": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..4b49229 --- /dev/null +++ b/package.json @@ -0,0 +1,25 @@ +{ + "name": "arctis-monitor", + "productName": "Arctis Monitor", + "version": "0.0.1", + "description": "Monitor your Arctis headphones for charging status", + "main": "main.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1", + "start": "electron .", + "package-mac": "electron-packager ./ --platform=darwin --arch=x64 --out=out --icon=./assets/icon.icns --overwrite" + }, + "keywords": [], + "author": "Richard Race", + "license": "MIT", + "devDependencies": { + "electron": "^11.1.1", + "electron-packager": "^15.2.0", + "eslint": "^7.17.0", + "eslint-config-airbnb-base": "^14.2.1", + "eslint-plugin-import": "^2.22.1" + }, + "dependencies": { + "node-hid": "^2.1.1" + } +} diff --git a/vendor/photon/css/photon.min.css b/vendor/photon/css/photon.min.css new file mode 100644 index 0000000..3549734 --- /dev/null +++ b/vendor/photon/css/photon.min.css @@ -0,0 +1,9 @@ +@charset "UTF-8";/*! + * ===================================================== + * Photon v0.1.1 + * Copyright 2015 Connor Sears + * Licensed under MIT (https://github.com/connors/proton/blob/master/LICENSE) + * + * v0.1.1 designed by @connors. + * ===================================================== + */audio,canvas,progress,sub,sup,video{vertical-align:baseline}body,html{height:100%}hr,html,label{overflow:hidden}.clearfix:after,.toolbar-actions:after,.toolbar:after{clear:both}*,img{-webkit-user-drag:text}.list-group *,.nav-group-item,h1,h2,h3,h4,h5,h6,label,td,th{white-space:nowrap;text-overflow:ellipsis}audio:not([controls]){display:none}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:36px}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative}sup{top:-.5em}.pane-group,.window{top:0;left:0;right:0}sub{bottom:-.25em}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}*{cursor:default;-webkit-user-select:none;-webkit-box-sizing:border-box;box-sizing:border-box}html{width:100%}body{padding:0;margin:0;font-family:system,-apple-system,".SFNSDisplay-Regular","Helvetica Neue",Helvetica,"Segoe UI",sans-serif;font-size:13px;line-height:1.6;color:#333;background-color:transparent}.btn-dropdown:after,.icon:before{font-family:photon-entypo}hr{margin:15px 0;background:0 0;border:0;border-bottom:1px solid #ddd}h1,h2,h3,h4,h5,h6{margin-top:20px;margin-bottom:10px;font-weight:500;overflow:hidden}.btn .icon,.toolbar-header .title{margin-top:1px}h2{font-size:30px}h3{font-size:24px}h4{font-size:18px}h5{font-size:14px}.btn,h6{font-size:12px}.window{position:absolute;bottom:0;display:flex;flex-direction:column;background-color:#fff}.window-content{position:relative;overflow-y:auto;display:flex;flex:1}.selectable-text{cursor:text;-webkit-user-select:text}.btn,.title{cursor:default}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.btn,.title{text-align:center}.pull-left{float:left}.pull-right{float:right}.padded{padding:10px}.padded-less{padding:5px}.padded-more{padding:20px}.padded-vertically{padding-top:10px;padding-bottom:10px}.padded-vertically-less{padding-top:5px;padding-bottom:5px}.padded-vertically-more{padding-top:20px;padding-bottom:20px}.padded-horizontally{padding-right:10px;padding-left:10px}.padded-horizontally-less{padding-right:5px;padding-left:5px}.padded-horizontally-more{padding-right:20px;padding-left:20px}.padded-top{padding-top:10px}.padded-top-less{padding-top:5px}.padded-top-more{padding-top:20px}.padded-bottom{padding-bottom:10px}.padded-bottom-less{padding-bottom:5px}.padded-bottom-more{padding-bottom:20px}.sidebar{background-color:#f5f5f4}.draggable{-webkit-app-region:drag}.btn,.btn-group{vertical-align:middle;-webkit-app-region:no-drag}.clearfix:after,.clearfix:before{display:table;content:" "}.btn{display:inline-block;padding:3px 8px;margin-bottom:0;line-height:1.4;white-space:nowrap;background-image:none;border:1px solid transparent;border-radius:4px;box-shadow:0 1px 1px rgba(0,0,0,.06)}.btn:focus{outline:0;box-shadow:none}.btn-mini{padding:2px 6px}.btn-large{padding:6px 12px}.btn-form{padding-right:20px;padding-left:20px}.btn-default{color:#333;background-color:#fcfcfc;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#fcfcfc),color-stop(100%,#f1f1f1));background-image:-webkit-linear-gradient(top,#fcfcfc 0,#f1f1f1 100%);background-image:linear-gradient(to bottom,#fcfcfc 0,#f1f1f1 100%);border-color:#c2c0c2 #c2c0c2 #a19fa1}.btn-default:active{background-color:#ddd;background-image:none}.btn-negative,.btn-positive,.btn-primary,.btn-warning{color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.1)}.btn-primary{border-color:#388df8 #388df8 #0866dc;background-color:#6eb4f7;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#6eb4f7),color-stop(100%,#1a82fb));background-image:-webkit-linear-gradient(top,#6eb4f7 0,#1a82fb 100%);background-image:linear-gradient(to bottom,#6eb4f7 0,#1a82fb 100%)}.btn-primary:active{background-color:#3e9bf4;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#3e9bf4),color-stop(100%,#0469de));background-image:-webkit-linear-gradient(top,#3e9bf4 0,#0469de 100%);background-image:linear-gradient(to bottom,#3e9bf4 0,#0469de 100%)}.btn-positive{border-color:#29a03b #29a03b #248b34;background-color:#5bd46d;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#5bd46d),color-stop(100%,#29a03b));background-image:-webkit-linear-gradient(top,#5bd46d 0,#29a03b 100%);background-image:linear-gradient(to bottom,#5bd46d 0,#29a03b 100%)}.btn-positive:active{background-color:#34c84a;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#34c84a),color-stop(100%,#248b34));background-image:-webkit-linear-gradient(top,#34c84a 0,#248b34 100%);background-image:linear-gradient(to bottom,#34c84a 0,#248b34 100%)}.btn-negative{border-color:#fb2f29 #fb2f29 #fb1710;background-color:#fd918d;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#fd918d),color-stop(100%,#fb2f29));background-image:-webkit-linear-gradient(top,#fd918d 0,#fb2f29 100%);background-image:linear-gradient(to bottom,#fd918d 0,#fb2f29 100%)}.btn-negative:active{background-color:#fc605b;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#fc605b),color-stop(100%,#fb1710));background-image:-webkit-linear-gradient(top,#fc605b 0,#fb1710 100%);background-image:linear-gradient(to bottom,#fc605b 0,#fb1710 100%)}.btn-warning{border-color:#fcaa0e #fcaa0e #ee9d02;background-color:#fece72;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#fece72),color-stop(100%,#fcaa0e));background-image:-webkit-linear-gradient(top,#fece72 0,#fcaa0e 100%);background-image:linear-gradient(to bottom,#fece72 0,#fcaa0e 100%)}.btn-warning:active{background-color:#fdbc40;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#fdbc40),color-stop(100%,#ee9d02));background-image:-webkit-linear-gradient(top,#fdbc40 0,#ee9d02 100%);background-image:linear-gradient(to bottom,#fdbc40 0,#ee9d02 100%)}.btn .icon{float:left;width:14px;height:14px;margin-bottom:1px;color:#737475;font-size:14px;line-height:1}.btn .icon-text{margin-right:5px}.btn-dropdown:after{margin-left:5px;content:""}.btn-group{position:relative;display:inline-block}.toolbar-actions:after,.toolbar-actions:before,.toolbar:after,.toolbar:before{display:table;content:" "}.btn-group .btn{position:relative;float:left}.btn-group .btn:active,.btn-group .btn:focus{z-index:2}.btn-group .btn.active{z-index:3}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-group>.btn:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group .btn+.btn{border-left:1px solid #c2c0c2}.btn-group .btn+.btn.active{border-left:0}.btn-group .active{color:#fff;border:1px solid transparent;background-color:#6d6c6d;background-image:none}.btn-group .active .icon{color:#fff}.toolbar{min-height:22px;box-shadow:inset 0 1px 0 #f5f4f5;background-color:#e8e6e8;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#e8e6e8),color-stop(100%,#d1cfd1));background-image:-webkit-linear-gradient(top,#e8e6e8 0,#d1cfd1 100%);background-image:linear-gradient(to bottom,#e8e6e8 0,#d1cfd1 100%)}.toolbar-header{border-bottom:1px solid #c2c0c2}.toolbar-footer{border-top:1px solid #c2c0c2;-webkit-app-region:drag}.title{margin:0;font-size:12px;font-weight:400;color:#555}.toolbar-borderless{border-top:0;border-bottom:0}.toolbar-actions{margin-top:4px;margin-bottom:3px;padding-right:3px;padding-left:3px;padding-bottom:3px;-webkit-app-region:drag}.form-control,label{display:inline-block;font-size:13px}.toolbar-actions>.btn,.toolbar-actions>.btn-group{margin-left:4px;margin-right:4px}label{margin-bottom:5px}input[type=search]{-webkit-appearance:textfield;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;line-height:normal}.checkbox,.form-group,.radio{margin-bottom:10px}.form-control{width:100%;min-height:25px;padding:5px 10px;line-height:1.6;background-color:#fff;border:1px solid #ddd;border-radius:4px;outline:0}.form-control:focus{border-color:#6db3fd;box-shadow:3px 3px 0 #6db3fd,-3px -3px 0 #6db3fd,-3px 3px 0 #6db3fd,3px -3px 0 #6db3fd}textarea{height:auto}.checkbox,.radio{position:relative;display:block;margin-top:10px}.checkbox label,.radio label{padding-left:20px;margin-bottom:0;font-weight:400}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-left:-20px;margin-top:4px}.form-actions .btn{margin-right:10px}.form-actions .btn:last-child{margin-right:0}.pane-group{position:absolute;bottom:0;display:flex}.icon:before,.pane,.tab-item{position:relative}.pane{overflow-y:auto;flex:1;border-left:1px solid #ddd}.list-group *,.media-body,.nav-group-item,td,th{overflow:hidden}.pane:first-child{border-left:0}.pane-sm{max-width:220px;min-width:150px}.pane-mini{width:80px;flex:none}.pane-one-fourth{width:25%;flex:none}.pane-one-third{width:33.3%}.img-circle{border-radius:50%}.img-rounded{border-radius:4px}.list-group{width:100%;list-style:none;margin:0;padding:0}.list-group *{margin:0}.list-group-item{padding:10px;font-size:12px;color:#414142;border-top:1px solid #ddd}.list-group-item:first-child{border-top:0}.list-group-item.active,.list-group-item.selected{color:#fff;background-color:#116cd6}.list-group-header{padding:10px}.media-object{margin-top:3px}.media-object.pull-left{margin-right:10px}.media-object.pull-right{margin-left:10px}.nav-group{font-size:14px}.nav-group-item{padding:2px 10px 2px 25px;display:block;color:#333;text-decoration:none}.nav-group-item.active,.nav-group-item:active{background-color:#dcdfe1}.nav-group-item .icon{width:19px;height:18px;float:left;color:#737475;margin-top:-3px;margin-right:7px;font-size:18px;text-align:center}.nav-group-title{margin:0;padding:10px 10px 2px;font-size:12px;font-weight:500;color:#666}.icon:before,th{font-weight:400}@font-face{font-family:photon-entypo;src:url(../fonts/photon-entypo.eot);src:url(../fonts/photon-entypo.eot?#iefix) format("eot"),url(../fonts/photon-entypo.woff) format("woff"),url(../fonts/photon-entypo.ttf) format("truetype");font-weight:400;font-style:normal}.icon:before{display:inline-block;speak:none;font-size:100%;font-style:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-note:before{content:'\e800'}.icon-note-beamed:before{content:'\e801'}.icon-music:before{content:'\e802'}.icon-search:before{content:'\e803'}.icon-flashlight:before{content:'\e804'}.icon-mail:before{content:'\e805'}.icon-heart:before{content:'\e806'}.icon-heart-empty:before{content:'\e807'}.icon-star:before{content:'\e808'}.icon-star-empty:before{content:'\e809'}.icon-user:before{content:'\e80a'}.icon-users:before{content:'\e80b'}.icon-user-add:before{content:'\e80c'}.icon-video:before{content:'\e80d'}.icon-picture:before{content:'\e80e'}.icon-camera:before{content:'\e80f'}.icon-layout:before{content:'\e810'}.icon-menu:before{content:'\e811'}.icon-check:before{content:'\e812'}.icon-cancel:before{content:'\e813'}.icon-cancel-circled:before{content:'\e814'}.icon-cancel-squared:before{content:'\e815'}.icon-plus:before{content:'\e816'}.icon-plus-circled:before{content:'\e817'}.icon-plus-squared:before{content:'\e818'}.icon-minus:before{content:'\e819'}.icon-minus-circled:before{content:'\e81a'}.icon-minus-squared:before{content:'\e81b'}.icon-help:before{content:'\e81c'}.icon-help-circled:before{content:'\e81d'}.icon-info:before{content:'\e81e'}.icon-info-circled:before{content:'\e81f'}.icon-back:before{content:'\e820'}.icon-home:before{content:'\e821'}.icon-link:before{content:'\e822'}.icon-attach:before{content:'\e823'}.icon-lock:before{content:'\e824'}.icon-lock-open:before{content:'\e825'}.icon-eye:before{content:'\e826'}.icon-tag:before{content:'\e827'}.icon-bookmark:before{content:'\e828'}.icon-bookmarks:before{content:'\e829'}.icon-flag:before{content:'\e82a'}.icon-thumbs-up:before{content:'\e82b'}.icon-thumbs-down:before{content:'\e82c'}.icon-download:before{content:'\e82d'}.icon-upload:before{content:'\e82e'}.icon-upload-cloud:before{content:'\e82f'}.icon-reply:before{content:'\e830'}.icon-reply-all:before{content:'\e831'}.icon-forward:before{content:'\e832'}.icon-quote:before{content:'\e833'}.icon-code:before{content:'\e834'}.icon-export:before{content:'\e835'}.icon-pencil:before{content:'\e836'}.icon-feather:before{content:'\e837'}.icon-print:before{content:'\e838'}.icon-retweet:before{content:'\e839'}.icon-keyboard:before{content:'\e83a'}.icon-comment:before{content:'\e83b'}.icon-chat:before{content:'\e83c'}.icon-bell:before{content:'\e83d'}.icon-attention:before{content:'\e83e'}.icon-alert:before{content:'\e83f'}.icon-vcard:before{content:'\e840'}.icon-address:before{content:'\e841'}.icon-location:before{content:'\e842'}.icon-map:before{content:'\e843'}.icon-direction:before{content:'\e844'}.icon-compass:before{content:'\e845'}.icon-cup:before{content:'\e846'}.icon-trash:before{content:'\e847'}.icon-doc:before{content:'\e848'}.icon-docs:before{content:'\e849'}.icon-doc-landscape:before{content:'\e84a'}.icon-doc-text:before{content:'\e84b'}.icon-doc-text-inv:before{content:'\e84c'}.icon-newspaper:before{content:'\e84d'}.icon-book-open:before{content:'\e84e'}.icon-book:before{content:'\e84f'}.icon-folder:before{content:'\e850'}.icon-archive:before{content:'\e851'}.icon-box:before{content:'\e852'}.icon-rss:before{content:'\e853'}.icon-phone:before{content:'\e854'}.icon-cog:before{content:'\e855'}.icon-tools:before{content:'\e856'}.icon-share:before{content:'\e857'}.icon-shareable:before{content:'\e858'}.icon-basket:before{content:'\e859'}.icon-bag:before{content:'\e85a'}.icon-calendar:before{content:'\e85b'}.icon-login:before{content:'\e85c'}.icon-logout:before{content:'\e85d'}.icon-mic:before{content:'\e85e'}.icon-mute:before{content:'\e85f'}.icon-sound:before{content:'\e860'}.icon-volume:before{content:'\e861'}.icon-clock:before{content:'\e862'}.icon-hourglass:before{content:'\e863'}.icon-lamp:before{content:'\e864'}.icon-light-down:before{content:'\e865'}.icon-light-up:before{content:'\e866'}.icon-adjust:before{content:'\e867'}.icon-block:before{content:'\e868'}.icon-resize-full:before{content:'\e869'}.icon-resize-small:before{content:'\e86a'}.icon-popup:before{content:'\e86b'}.icon-publish:before{content:'\e86c'}.icon-window:before{content:'\e86d'}.icon-arrow-combo:before{content:'\e86e'}.icon-down-circled:before{content:'\e86f'}.icon-left-circled:before{content:'\e870'}.icon-right-circled:before{content:'\e871'}.icon-up-circled:before{content:'\e872'}.icon-down-open:before{content:'\e873'}.icon-left-open:before{content:'\e874'}.icon-right-open:before{content:'\e875'}.icon-up-open:before{content:'\e876'}.icon-down-open-mini:before{content:'\e877'}.icon-left-open-mini:before{content:'\e878'}.icon-right-open-mini:before{content:'\e879'}.icon-up-open-mini:before{content:'\e87a'}.icon-down-open-big:before{content:'\e87b'}.icon-left-open-big:before{content:'\e87c'}.icon-right-open-big:before{content:'\e87d'}.icon-up-open-big:before{content:'\e87e'}.icon-down:before{content:'\e87f'}.icon-left:before{content:'\e880'}.icon-right:before{content:'\e881'}.icon-up:before{content:'\e882'}.icon-down-dir:before{content:'\e883'}.icon-left-dir:before{content:'\e884'}.icon-right-dir:before{content:'\e885'}.icon-up-dir:before{content:'\e886'}.icon-down-bold:before{content:'\e887'}.icon-left-bold:before{content:'\e888'}.icon-right-bold:before{content:'\e889'}.icon-up-bold:before{content:'\e88a'}.icon-down-thin:before{content:'\e88b'}.icon-left-thin:before{content:'\e88c'}.icon-right-thin:before{content:'\e88d'}.icon-up-thin:before{content:'\e88e'}.icon-ccw:before{content:'\e88f'}.icon-cw:before{content:'\e890'}.icon-arrows-ccw:before{content:'\e891'}.icon-level-down:before{content:'\e892'}.icon-level-up:before{content:'\e893'}.icon-shuffle:before{content:'\e894'}.icon-loop:before{content:'\e895'}.icon-switch:before{content:'\e896'}.icon-play:before{content:'\e897'}.icon-stop:before{content:'\e898'}.icon-pause:before{content:'\e899'}.icon-record:before{content:'\e89a'}.icon-to-end:before{content:'\e89b'}.icon-to-start:before{content:'\e89c'}.icon-fast-forward:before{content:'\e89d'}.icon-fast-backward:before{content:'\e89e'}.icon-progress-0:before{content:'\e89f'}.icon-progress-1:before{content:'\e8a0'}.icon-progress-2:before{content:'\e8a1'}.icon-progress-3:before{content:'\e8a2'}.icon-target:before{content:'\e8a3'}.icon-palette:before{content:'\e8a4'}.icon-list:before{content:'\e8a5'}.icon-list-add:before{content:'\e8a6'}.icon-signal:before{content:'\e8a7'}.icon-trophy:before{content:'\e8a8'}.icon-battery:before{content:'\e8a9'}.icon-back-in-time:before{content:'\e8aa'}.icon-monitor:before{content:'\e8ab'}.icon-mobile:before{content:'\e8ac'}.icon-network:before{content:'\e8ad'}.icon-cd:before{content:'\e8ae'}.icon-inbox:before{content:'\e8af'}.icon-install:before{content:'\e8b0'}.icon-globe:before{content:'\e8b1'}.icon-cloud:before{content:'\e8b2'}.icon-cloud-thunder:before{content:'\e8b3'}.icon-flash:before{content:'\e8b4'}.icon-moon:before{content:'\e8b5'}.icon-flight:before{content:'\e8b6'}.icon-paper-plane:before{content:'\e8b7'}.icon-leaf:before{content:'\e8b8'}.icon-lifebuoy:before{content:'\e8b9'}.icon-mouse:before{content:'\e8ba'}.icon-briefcase:before{content:'\e8bb'}.icon-suitcase:before{content:'\e8bc'}.icon-dot:before{content:'\e8bd'}.icon-dot-2:before{content:'\e8be'}.icon-dot-3:before{content:'\e8bf'}.icon-brush:before{content:'\e8c0'}.icon-magnet:before{content:'\e8c1'}.icon-infinity:before{content:'\e8c2'}.icon-erase:before{content:'\e8c3'}.icon-chart-pie:before{content:'\e8c4'}.icon-chart-line:before{content:'\e8c5'}.icon-chart-bar:before{content:'\e8c6'}.icon-chart-area:before{content:'\e8c7'}.icon-tape:before{content:'\e8c8'}.icon-graduation-cap:before{content:'\e8c9'}.icon-language:before{content:'\e8ca'}.icon-ticket:before{content:'\e8cb'}.icon-water:before{content:'\e8cc'}.icon-droplet:before{content:'\e8cd'}.icon-air:before{content:'\e8ce'}.icon-credit-card:before{content:'\e8cf'}.icon-floppy:before{content:'\e8d0'}.icon-clipboard:before{content:'\e8d1'}.icon-megaphone:before{content:'\e8d2'}.icon-database:before{content:'\e8d3'}.icon-drive:before{content:'\e8d4'}.icon-bucket:before{content:'\e8d5'}.icon-thermometer:before{content:'\e8d6'}.icon-key:before{content:'\e8d7'}.icon-flow-cascade:before{content:'\e8d8'}.icon-flow-branch:before{content:'\e8d9'}.icon-flow-tree:before{content:'\e8da'}.icon-flow-line:before{content:'\e8db'}.icon-flow-parallel:before{content:'\e8dc'}.icon-rocket:before{content:'\e8dd'}.icon-gauge:before{content:'\e8de'}.icon-traffic-cone:before{content:'\e8df'}.icon-cc:before{content:'\e8e0'}.icon-cc-by:before{content:'\e8e1'}.icon-cc-nc:before{content:'\e8e2'}.icon-cc-nc-eu:before{content:'\e8e3'}.icon-cc-nc-jp:before{content:'\e8e4'}.icon-cc-sa:before{content:'\e8e5'}.icon-cc-nd:before{content:'\e8e6'}.icon-cc-pd:before{content:'\e8e7'}.icon-cc-zero:before{content:'\e8e8'}.icon-cc-share:before{content:'\e8e9'}.icon-cc-remix:before{content:'\e8ea'}.icon-github:before{content:'\e8eb'}.icon-github-circled:before{content:'\e8ec'}.icon-flickr:before{content:'\e8ed'}.icon-flickr-circled:before{content:'\e8ee'}.icon-vimeo:before{content:'\e8ef'}.icon-vimeo-circled:before{content:'\e8f0'}.icon-twitter:before{content:'\e8f1'}.icon-twitter-circled:before{content:'\e8f2'}.icon-facebook:before{content:'\e8f3'}.icon-facebook-circled:before{content:'\e8f4'}.icon-facebook-squared:before{content:'\e8f5'}.icon-gplus:before{content:'\e8f6'}.icon-gplus-circled:before{content:'\e8f7'}.icon-pinterest:before{content:'\e8f8'}.icon-pinterest-circled:before{content:'\e8f9'}.icon-tumblr:before{content:'\e8fa'}.icon-tumblr-circled:before{content:'\e8fb'}.icon-linkedin:before{content:'\e8fc'}.icon-linkedin-circled:before{content:'\e8fd'}.icon-dribbble:before{content:'\e8fe'}.icon-dribbble-circled:before{content:'\e8ff'}.icon-stumbleupon:before{content:'\e900'}.icon-stumbleupon-circled:before{content:'\e901'}.icon-lastfm:before{content:'\e902'}.icon-lastfm-circled:before{content:'\e903'}.icon-rdio:before{content:'\e904'}.icon-rdio-circled:before{content:'\e905'}.icon-spotify:before{content:'\e906'}.icon-spotify-circled:before{content:'\e907'}.icon-qq:before{content:'\e908'}.icon-instagram:before{content:'\e909'}.icon-dropbox:before{content:'\e90a'}.icon-evernote:before{content:'\e90b'}.icon-flattr:before{content:'\e90c'}.icon-skype:before{content:'\e90d'}.icon-skype-circled:before{content:'\e90e'}.icon-renren:before{content:'\e90f'}.icon-sina-weibo:before{content:'\e910'}.icon-paypal:before{content:'\e911'}.icon-picasa:before{content:'\e912'}.icon-soundcloud:before{content:'\e913'}.icon-mixi:before{content:'\e914'}.icon-behance:before{content:'\e915'}.icon-google-circles:before{content:'\e916'}.icon-vkontakte:before{content:'\e917'}.icon-smashing:before{content:'\e918'}.icon-sweden:before{content:'\e919'}.icon-db-shape:before{content:'\e91a'}.icon-logo-db:before{content:'\e91b'}table{border-spacing:0;width:100%;border:0;border-collapse:separate;font-size:12px;text-align:left}.table-striped tr:nth-child(even),thead{background-color:#f5f5f4}tbody{background-color:#fff}.table-striped tr:active:nth-child(even),tr:active{color:#fff;background-color:#116cd6}thead tr:active{color:#333;background-color:#f5f5f4}th{border-right:1px solid #ddd;border-bottom:1px solid #ddd}td,th{padding:2px 15px}td:last-child,th:last-child{border-right:0}.tab-group{margin-top:-1px;display:flex;border-top:1px solid #989698;border-bottom:1px solid #989698}.tab-item{flex:1;padding:3px;font-size:12px;text-align:center;border-left:1px solid #989698;background-color:#b8b6b8;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#b8b6b8),color-stop(100%,#b0aeb0));background-image:-webkit-linear-gradient(top,#b8b6b8 0,#b0aeb0 100%);background-image:linear-gradient(to bottom,#b8b6b8 0,#b0aeb0 100%)}.tab-item:first-child{border-left:0}.tab-item.active{background-color:#d4d2d4;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#d4d2d4),color-stop(100%,#cccacc));background-image:-webkit-linear-gradient(top,#d4d2d4 0,#cccacc 100%);background-image:linear-gradient(to bottom,#d4d2d4 0,#cccacc 100%)}.tab-item .icon-close-tab:hover,.tab-item:after{background-color:rgba(0,0,0,.08)}.tab-item .icon-close-tab{position:absolute;top:50%;left:5px;width:15px;height:15px;font-size:15px;line-height:15px;text-align:center;color:#666;opacity:0;transition:opacity .1s linear,background-color .1s linear;border-radius:3px;transform:translateY(-50%);z-index:10}.tab-item:after{position:absolute;top:0;right:0;bottom:0;left:0;content:"";opacity:0;transition:opacity .1s linear;z-index:1}.tab-item:hover .icon-close-tab,.tab-item:hover:not(.active):after{opacity:1}.tab-item-fixed{flex:none;padding:3px 10px} \ No newline at end of file diff --git a/vendor/photon/fonts/photon-entypo.eot b/vendor/photon/fonts/photon-entypo.eot new file mode 100644 index 0000000000000000000000000000000000000000..f70d1267468a1a3fe469fdaaf2e10e3079d210f4 GIT binary patch literal 48644 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 KUq|oIrTTvrfQ8cl literal 0 HcmV?d00001 diff --git a/vendor/photon/fonts/photon-entypo.svg b/vendor/photon/fonts/photon-entypo.svg new file mode 100644 index 0000000..9256ea8 --- /dev/null +++ b/vendor/photon/fonts/photon-entypo.svg @@ -0,0 +1,295 @@ + + + +Copyright (C) 2015 by original authors @ fontello.com + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/vendor/photon/fonts/photon-entypo.ttf b/vendor/photon/fonts/photon-entypo.ttf new file mode 100644 index 0000000000000000000000000000000000000000..7f765b348feb4157cf8d677d712e4d67183c549d GIT binary patch literal 48456 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 literal 0 HcmV?d00001 diff --git a/vendor/photon/fonts/photon-entypo.woff b/vendor/photon/fonts/photon-entypo.woff new file mode 100644 index 0000000000000000000000000000000000000000..87860e570c608d8287153ac669096b04d0df0645 GIT binary patch literal 30692 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