Commit f2c18879a96aeef142910ab4c193b59f7cbb0be4

Authored by Adhidarma Hadiwinoto
1 parent 23bac8c576
Exists in master and in 1 other branch dev

INQUIRY finished

Showing 16 changed files with 1495 additions and 2029 deletions Side-by-side Diff

... ... @@ -26,5 +26,7 @@ if (config.cluster && cluster.isMaster) {
26 26 }
27 27  
28 28 // eslint-disable-next-line global-require
  29 + require('./lib/core-callback');
  30 + // eslint-disable-next-line global-require
29 31 require('./lib/listener-partner');
30 32 }
lib/axios-error-is-safe.js
... ... @@ -0,0 +1,13 @@
  1 +const safeErrorCodes = [
  2 + 'EHOSTUNREACH',
  3 + 'ENOTFOUND',
  4 + 'ECONNREFUSED',
  5 + 'ETIMEDOUT', // timeout on connecting
  6 +
  7 + // Berikut adalah error code yang tidak aman untuk dianggap gagal
  8 +
  9 + // terjadi karena timeout setelah konek (akibat pengaturan timeout pada request axios)
  10 + // 'ECONNABORTED',
  11 +];
  12 +
  13 +module.exports = (e) => safeErrorCodes.indexOf(e.code) >= 0;
lib/core-callback/index.js
... ... @@ -0,0 +1,34 @@
  1 +const DEFAULT_LISTENER_FROM_CORE = 25613;
  2 +
  3 +const express = require('express');
  4 +const config = require('komodo-sdk/config');
  5 +const logger = require('komodo-sdk/logger');
  6 +const middlewareCommon = require('../middlewares/common');
  7 +const sender = require('./sender');
  8 +
  9 +const app = express();
  10 +
  11 +app.use(express.json({ extended: true }));
  12 +app.use(express.urlencoded({ extended: true }));
  13 +
  14 +app.use((req, res, next) => {
  15 + res.locals.httpgetx_subsystem = 'CORE-CALLBACK';
  16 + next();
  17 +});
  18 +
  19 +app.use(middlewareCommon);
  20 +
  21 +app.use((req, res) => {
  22 + res.end('OK');
  23 + sender(req.query, res.locals.xid);
  24 +});
  25 +
  26 +const port = (config.listener && config.listener.core && config.listener.core.port)
  27 + || DEFAULT_LISTENER_FROM_CORE;
  28 +
  29 +app.listen(port, () => {
  30 + logger.info(`Listen from CORE callback on port ${port}`);
  31 +}).on('error', (e) => {
  32 + logger.error(`Can not listen CORE callback on port ${port}. ${e.toString()}`);
  33 + process.exit(1);
  34 +});
lib/core-callback/sender.js
... ... @@ -0,0 +1,68 @@
  1 +const MODULE_NAME = 'CORE-CALLBACK-SENDER';
  2 +const MAX_RETRY = 10;
  3 +const SLEEP_BEFORE_RETRY_MS = 60 * 1000;
  4 +
  5 +const axios = require('axios').default;
  6 +const logger = require('komodo-sdk/logger');
  7 +
  8 +const sleep = require('../sleep');
  9 +const urlConcatQs = require('../url-concat-qs');
  10 +
  11 +const sender = async (data, xid, retry) => {
  12 + if (!data.reverse_url) return;
  13 +
  14 + const params = {
  15 + httpgetx_xid: xid,
  16 + request_id: data.request_id && data.request_id.toString(),
  17 + transaction_id: data.transaction_id && data.transaction_id.toString(),
  18 + transaction_date: data.transaction_date,
  19 + store_name: data.store_name,
  20 + terminal_name: data.terminal_name,
  21 + product_name: data.product_name,
  22 + destination: data.destination,
  23 + rc: data.rc,
  24 + sn: data.sn,
  25 + message: data.message,
  26 + amount: data.amount,
  27 + ending_balance: data.ending_balance,
  28 + amount_to_charge: data.amount_to_charge,
  29 + };
  30 +
  31 + const fullUrl = urlConcatQs(data.reverse_url, params);
  32 + logger.info(`${MODULE_NAME} 8B6A4CEC: Sending CORE-CALLBACK to PARTNER`, {
  33 + xid, retry, params, fullUrl,
  34 + });
  35 +
  36 + try {
  37 + const result = await axios.get(data.reverse_url, {
  38 + params,
  39 + timeout: 60 * 1000,
  40 + });
  41 +
  42 + logger.info(`${MODULE_NAME} 3641FBD7: CORE-CALLBACK has been sent to PARTNER successfully`, {
  43 + xid, retry, fullUrl, body: result && result.data,
  44 + });
  45 + } catch (e) {
  46 + logger.warn(`${MODULE_NAME} A1EC9E70: Failed on sending CORE-CALLBACK to PARTNER`, {
  47 + xid,
  48 + retry,
  49 + maxRetry: MAX_RETRY,
  50 + errCode: e.code,
  51 + errMessage: e.message,
  52 + reverseUrl: data.reverse_url,
  53 + fullUrl,
  54 + httpStatus: e.response && e.response.status,
  55 + body: e.response && e.response.data,
  56 + });
  57 +
  58 + if ((retry || 0) < MAX_RETRY) {
  59 + await sleep(SLEEP_BEFORE_RETRY_MS);
  60 + logger.verbose(`${MODULE_NAME} D8958695: Going to retry sending CORE-CALLBACK TO PARTNER`, {
  61 + xid, sleepTime: SLEEP_BEFORE_RETRY_MS,
  62 + });
  63 + sender(data, xid, (retry || 0) + 1);
  64 + }
  65 + }
  66 +};
  67 +
  68 +module.exports = sender;
lib/get-from-body-qs-params.js
... ... @@ -0,0 +1,10 @@
  1 +/**
  2 + * Get value from Express request body, querystring,
  3 + * or params
  4 + * @param {Object} req
  5 + * @param {string} keyword
  6 + * @returns {string}
  7 + */
  8 +module.exports = (req, keyword) => (req.body || {})[keyword]
  9 + || (req.query || {})[keyword]
  10 + || (req.params || {})[keyword];
... ... @@ -0,0 +1 @@
  1 +module.exports = (val) => ((val || '').replace(/^::ffff:/, ''));
lib/listener-partner/index.js
... ... @@ -7,18 +7,25 @@ const express = require(&#39;express&#39;);
7 7 const config = require('komodo-sdk/config');
8 8 const logger = require('komodo-sdk/logger');
9 9  
10   -const middlewareCommon = require('./middlewares/common');
  10 +const middlewareCommon = require('../middlewares/common');
11 11  
  12 +const routerInquiry = require('./routers/inquiry');
  13 +const routerTopup = require('./routers/topup');
12 14 const routerTrxStatus = require('./routers/trx-status');
13 15  
14 16 const app = express();
15 17  
  18 +app.use(express.json({ extended: true }));
  19 +app.use(express.urlencoded({ extended: true }));
16 20 app.use(middlewareCommon);
17 21  
  22 +app.use('/inquiry', routerInquiry);
  23 +app.use('/topup', routerTopup);
18 24 app.use('/trx-status', routerTrxStatus);
19 25  
20 26 app.use((req, res) => {
21   - res.status(404).end('404: Method not found.');
  27 + const { xid } = res.locals;
  28 + res.status(404).end(`KOMODO-HTTP-GET-X CENTER.\n404: Method not found.\n\nXID: ${xid}.\n`);
22 29 });
23 30  
24 31 app.listen(config.listener.partner.port || DEFAULT_LISTENER_FROM_PARTNER_PORT, () => {
lib/listener-partner/middlewares/common.js
... ... @@ -1,25 +0,0 @@
1   -'use strict';
2   -
3   -// const uniqid = require('uniqid');
4   -const uuidv1 = require('uuid/v1');
5   -const logger = require('komodo-sdk/logger');
6   -
7   -module.exports = function common(req, res, next) {
8   - if (req.url.search('/favicon.ico') === 0) {
9   - res.sendStatus(404);
10   - return;
11   - }
12   -
13   - res.locals.xid = uuidv1();
14   - res.locals.x_http_request_ts = new Date();
15   -
16   - logger.info('Got request from partner', {
17   - xid: res.locals.xid,
18   - ip: req.ip,
19   - method: req.method,
20   - path: req.path,
21   - url: req.url,
22   - qs: req.query,
23   - });
24   - next();
25   -};
lib/listener-partner/routers/inquiry.js
... ... @@ -0,0 +1,104 @@
  1 +const axios = require('axios').default;
  2 +const express = require('express');
  3 +const coreUrl = require('komodo-sdk/core-url');
  4 +
  5 +const config = require('komodo-sdk/config');
  6 +const logger = require('komodo-sdk/logger');
  7 +
  8 +const getFromBodyQsParams = require('../../get-from-body-qs-params');
  9 +const ipv6ToIpv4 = require('../../ipv6-to-ipv4');
  10 +
  11 +const router = express.Router();
  12 +module.exports = router;
  13 +
  14 +const CORE_ENDPOINT = `${coreUrl}/postpaid2/inquiry`;
  15 +
  16 +const mainHandler = async (req, res) => {
  17 + const { xid } = res.locals;
  18 +
  19 + const requestId = (getFromBodyQsParams(req, 'request_id') || '').toString().trim();
  20 + const terminalNameWithoutIp = (getFromBodyQsParams(req, 'terminal_name') || '').toString().trim().toUpperCase();
  21 + const terminalName = `${terminalNameWithoutIp}@${ipv6ToIpv4(req.ip)}`;
  22 + const productName = (getFromBodyQsParams(req, 'product_name') || '').trim().toUpperCase();
  23 + const destination = (getFromBodyQsParams(req, 'destination') || '').toString().trim();
  24 + const password = getFromBodyQsParams(req, 'password');
  25 + const reverseUrl = getFromBodyQsParams(req, 'reverse_url');
  26 +
  27 + if (!requestId || !terminalNameWithoutIp || !productName || !destination) {
  28 + res.end('INVALID REQUEST. Missing request_id or terminal_name or product_name or destination.');
  29 + return;
  30 + }
  31 +
  32 + const params = {
  33 + origin: config.name,
  34 + report_ip: config.listener.core.from_ip,
  35 + report_port: config.listener.core.port || 25614,
  36 + request_id: requestId,
  37 + terminal_name: terminalName,
  38 + product_name: productName,
  39 + destination,
  40 + terminal_password: password,
  41 + reverse_url: reverseUrl,
  42 + };
  43 +
  44 + logger.info('Forwarding INQUIRY request to CORE', { xid, params });
  45 + try {
  46 + const result = await axios.get(CORE_ENDPOINT, {
  47 + params,
  48 + timeout: 10000,
  49 + });
  50 +
  51 + if (!result || !result.data) {
  52 + const newError = new Error('8002EB0D: Empty CORE INQUIRY direct-response');
  53 + logger.warn(newError.message, { xid });
  54 + throw newError;
  55 + }
  56 +
  57 + logger.verbose('Got INQUIRY direct-response from CORE', {
  58 + xid,
  59 + coreResponse: result.data,
  60 + });
  61 +
  62 + const resultForPartner = {
  63 + httpgetx_xid: xid,
  64 + request_id: result.data.request_id && result.data.request_id.toString(),
  65 + transaction_id: result.data.transaction_id && result.data.transaction_id.toString(),
  66 + store_name: result.data.store_name,
  67 + terminal_name: result.data.terminal_name,
  68 + product_name: result.data.product_name,
  69 + destination: result.data.destination,
  70 + rc: result.data.rc,
  71 + sn: result.data.sn,
  72 + // detail: result.data.detail,
  73 + message: result.data.message,
  74 + amount: result.data.amount,
  75 + ending_balance: result.data.ending_balance,
  76 + amount_to_charge: result.data.amount_to_charge,
  77 + };
  78 +
  79 + logger.verbose('Forwarding CORE direct-response to partner', {
  80 + xid,
  81 + resultForPartner,
  82 + });
  83 +
  84 + res.json(resultForPartner);
  85 + } catch (e) {
  86 + logger.warn('EXCEPTION on forwarding INQUIRY request to CORE', {
  87 + xid,
  88 + errCode: e.code,
  89 + errMessage: e.message,
  90 + });
  91 +
  92 + res.json({
  93 + httpgetx_xid: xid,
  94 + request_id: requestId,
  95 + terminal_name: terminalName,
  96 + product_name: productName,
  97 + destination,
  98 + rc: '68',
  99 + message: 'CORE tidak merespon dengan benar, tidak dapat mengetahui status request anda',
  100 + });
  101 + }
  102 +};
  103 +
  104 +router.all('/', mainHandler);
lib/listener-partner/routers/topup.js
... ... @@ -0,0 +1,87 @@
  1 +const express = require('express');
  2 +
  3 +const config = require('komodo-sdk/config');
  4 +const logger = require('komodo-sdk/logger');
  5 +const coreapi = require('komodo-sdk/coreapi');
  6 +// const coreapi = require('../../coreapi');
  7 +
  8 +const router = express.Router();
  9 +module.exports = router;
  10 +
  11 +function onInvalidParameter(missingParameter, req, res) {
  12 + logger.verbose(`TOPUP: Undefined ${missingParameter} parameter`, {
  13 + xid: res.locals.xid,
  14 + ip: req.ip,
  15 + terminal_name: req.body.terminal_name || req.query.terminal_name,
  16 + request_id: req.body.request_id || req.query.request_id,
  17 + product_name: req.body.product_name || req.query.product_name,
  18 + destination: req.body.destination || req.query.destination,
  19 + });
  20 + res.end('INVALID REQUEST');
  21 +}
  22 +
  23 +function pagePrerequisite(req, res, next) {
  24 + if (!req.body) req.body = {};
  25 +
  26 + if (!req.body.terminal_name && !req.query.terminal_name) {
  27 + onInvalidParameter('terminal_name', req, res);
  28 + return;
  29 + }
  30 +
  31 + if (!req.body.password && !req.query.password) {
  32 + onInvalidParameter('password', req, res);
  33 + return;
  34 + }
  35 +
  36 + if (!req.body.request_id && !req.query.request_id) {
  37 + onInvalidParameter('request_id', req, res);
  38 + return;
  39 + }
  40 +
  41 + if (!req.body.product_name && !req.query.product_name) {
  42 + onInvalidParameter('product_name', req, res);
  43 + return;
  44 + }
  45 +
  46 + if (!req.body.destination && !req.query.destination) {
  47 + onInvalidParameter('destination', req, res);
  48 + return;
  49 + }
  50 +
  51 + next();
  52 +}
  53 +
  54 +async function pageIndex(req, res) {
  55 + const terminalName = `${req.body.terminal_name || req.query.terminal_name}@${req.ip.replace(/^::ffff:/, '')}`;
  56 +
  57 + const [err, coreResponse] = await coreapi({
  58 + xid: res.locals.xid,
  59 + path: '/prepaid/buy',
  60 + qs: {
  61 + terminal_name: terminalName,
  62 + password: req.body.password || req.query.password,
  63 + request_id: req.body.request_id || req.query.request_id,
  64 + product_name: req.body.product_name || req.query.product_name,
  65 + destination: req.body.destination || req.query.destination,
  66 + origin: config.name || 'HTTPGETX',
  67 + origin_report_ip: config.listener.core.ip || null,
  68 + origin_report_port: config.listener.core.port,
  69 + reverse_url: req.body.reverse_url || req.query.reverse_url || null,
  70 + },
  71 + });
  72 +
  73 + logger.verbose('Got CORE response', { xid: res.locals.xid, err, coreResponse });
  74 +
  75 + if (err) {
  76 + logger.warn('TOPUP: ERROR on /prepaid/buy response', {
  77 + xid: res.locals.xid, err, coreResponseTypeof: typeof coreResponse, coreResponse,
  78 + });
  79 + res.end('INVALID CORE RESPONSE');
  80 + return;
  81 + }
  82 +
  83 + res.end('OK');
  84 +}
  85 +
  86 +router.all('/', (req, res) => { res.status(404).end('404: Not implemented yet'); });
  87 +router.get('/', pagePrerequisite, pageIndex);
lib/middlewares/common.js
... ... @@ -0,0 +1,23 @@
  1 +const uuidv1 = require('uuid/v1');
  2 +const logger = require('komodo-sdk/logger');
  3 +
  4 +module.exports = function common(req, res, next) {
  5 + if (req.url.search('/favicon.ico') === 0) {
  6 + res.sendStatus(404);
  7 + return;
  8 + }
  9 +
  10 + res.locals.xid = uuidv1();
  11 + res.locals.x_http_request_ts = new Date();
  12 +
  13 + logger.info(`Got request from ${res.locals.httpgetx_subsystem === 'CORE-CALLBACK' ? 'CORE' : 'PARTNER'}`, {
  14 + xid: res.locals.xid,
  15 + requester_ip: req.ip,
  16 + method: req.method,
  17 + path: req.path,
  18 + url: req.url,
  19 + qs: req.query,
  20 + body: req.body,
  21 + });
  22 + next();
  23 +};
... ... @@ -0,0 +1,7 @@
  1 +const sleep = async (ms) => new Promise((resolve) => {
  2 + setTimeout(() => {
  3 + resolve();
  4 + }, ms);
  5 +});
  6 +
  7 +module.exports = sleep;
lib/url-concat-qs.js
... ... @@ -0,0 +1,21 @@
  1 +/**
  2 + * Menambahkan querystring ke sebuah url
  3 + *
  4 + * @author Adhidarma Hadiwinoto <me@adhisimon.org>
  5 + * @version 2020.03.20
  6 + */
  7 +
  8 +/**
  9 + * require nodejs querystring module
  10 + */
  11 +const querystring = require('querystring');
  12 +
  13 +/**
  14 + * @param {string} originalUrl
  15 + * @param {Object} qs
  16 + * @returns {string}
  17 + */
  18 +module.exports = (originalUrl, qs) => {
  19 + const separator = originalUrl.indexOf('?') < 0 ? '?' : '&';
  20 + return `${originalUrl}${separator}${querystring.stringify(qs)}`;
  21 +};
Changes suppressed. Click to show
... ... @@ -5,18 +5,18 @@
5 5 "requires": true,
6 6 "dependencies": {
7 7 "@babel/code-frame": {
8   - "version": "7.5.5",
9   - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz",
10   - "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==",
  8 + "version": "7.8.3",
  9 + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
  10 + "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
11 11 "dev": true,
12 12 "requires": {
13   - "@babel/highlight": "^7.0.0"
  13 + "@babel/highlight": "^7.8.3"
14 14 }
15 15 },
16 16 "@babel/highlight": {
17   - "version": "7.5.0",
18   - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz",
19   - "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==",
  17 + "version": "7.8.3",
  18 + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
  19 + "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
20 20 "dev": true,
21 21 "requires": {
22 22 "chalk": "^2.0.0",
... ... @@ -35,6 +35,12 @@
35 35 "zames": "^2.0.0"
36 36 }
37 37 },
  38 + "@types/color-name": {
  39 + "version": "1.1.1",
  40 + "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz",
  41 + "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==",
  42 + "dev": true
  43 + },
38 44 "a-sync-waterfall": {
39 45 "version": "1.0.1",
40 46 "resolved": "https://registry.npmjs.org/a-sync-waterfall/-/a-sync-waterfall-1.0.1.tgz",
... ... @@ -50,15 +56,15 @@
50 56 }
51 57 },
52 58 "acorn": {
53   - "version": "6.3.0",
54   - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.3.0.tgz",
55   - "integrity": "sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA==",
  59 + "version": "7.1.1",
  60 + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.1.tgz",
  61 + "integrity": "sha512-add7dgA5ppRPxCFJoAGfMDi7PIBXq1RtGo7BhbLaxwrXPOmw8gq48Y9ozT01hUKy9byMjlR20EJhu5zlkErEkg==",
56 62 "dev": true
57 63 },
58 64 "acorn-jsx": {
59   - "version": "5.0.1",
60   - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.1.tgz",
61   - "integrity": "sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg==",
  65 + "version": "5.2.0",
  66 + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.2.0.tgz",
  67 + "integrity": "sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==",
62 68 "dev": true
63 69 },
64 70 "ajv": {
... ... @@ -72,13 +78,27 @@
72 78 "uri-js": "^4.2.2"
73 79 }
74 80 },
  81 + "ansi-colors": {
  82 + "version": "3.2.3",
  83 + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz",
  84 + "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==",
  85 + "dev": true
  86 + },
75 87 "ansi-escapes": {
76   - "version": "4.2.1",
77   - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.2.1.tgz",
78   - "integrity": "sha512-Cg3ymMAdN10wOk/VYfLV7KCQyv7EDirJ64500sU7n9UlmioEtDuU5Gd+hj73hXSU/ex7tHJSssmyftDdkMLO8Q==",
  88 + "version": "4.3.1",
  89 + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz",
  90 + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==",
79 91 "dev": true,
80 92 "requires": {
81   - "type-fest": "^0.5.2"
  93 + "type-fest": "^0.11.0"
  94 + },
  95 + "dependencies": {
  96 + "type-fest": {
  97 + "version": "0.11.0",
  98 + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz",
  99 + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==",
  100 + "dev": true
  101 + }
82 102 }
83 103 },
84 104 "ansi-regex": {
... ... @@ -97,24 +117,13 @@
97 117 }
98 118 },
99 119 "anymatch": {
100   - "version": "2.0.0",
101   - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
102   - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
  120 + "version": "3.1.1",
  121 + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
  122 + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
103 123 "optional": true,
104 124 "requires": {
105   - "micromatch": "^3.1.4",
106   - "normalize-path": "^2.1.1"
107   - },
108   - "dependencies": {
109   - "normalize-path": {
110   - "version": "2.1.1",
111   - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
112   - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
113   - "optional": true,
114   - "requires": {
115   - "remove-trailing-separator": "^1.0.1"
116   - }
117   - }
  125 + "normalize-path": "^3.0.0",
  126 + "picomatch": "^2.0.4"
118 127 }
119 128 },
120 129 "argparse": {
... ... @@ -126,23 +135,6 @@
126 135 "sprintf-js": "~1.0.2"
127 136 }
128 137 },
129   - "arr-diff": {
130   - "version": "4.0.0",
131   - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
132   - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
133   - "optional": true
134   - },
135   - "arr-flatten": {
136   - "version": "1.1.0",
137   - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
138   - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
139   - "optional": true
140   - },
141   - "arr-union": {
142   - "version": "3.1.0",
143   - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
144   - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ="
145   - },
146 138 "array-flatten": {
147 139 "version": "1.1.1",
148 140 "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
... ... @@ -181,12 +173,6 @@
181 173 "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
182 174 "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
183 175 },
184   - "assign-symbols": {
185   - "version": "1.0.0",
186   - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
187   - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
188   - "optional": true
189   - },
190 176 "astral-regex": {
191 177 "version": "1.0.0",
192 178 "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
... ... @@ -201,23 +187,11 @@
201 187 "lodash": "^4.17.14"
202 188 }
203 189 },
204   - "async-each": {
205   - "version": "1.0.3",
206   - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz",
207   - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==",
208   - "optional": true
209   - },
210 190 "asynckit": {
211 191 "version": "0.4.0",
212 192 "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
213 193 "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
214 194 },
215   - "atob": {
216   - "version": "2.1.2",
217   - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
218   - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
219   - "optional": true
220   - },
221 195 "aws-sign2": {
222 196 "version": "0.7.0",
223 197 "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
... ... @@ -228,66 +202,19 @@
228 202 "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
229 203 "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ=="
230 204 },
  205 + "axios": {
  206 + "version": "0.19.2",
  207 + "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz",
  208 + "integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==",
  209 + "requires": {
  210 + "follow-redirects": "1.5.10"
  211 + }
  212 + },
231 213 "balanced-match": {
232 214 "version": "1.0.0",
233 215 "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
234 216 "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
235 217 },
236   - "base": {
237   - "version": "0.11.2",
238   - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
239   - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
240   - "optional": true,
241   - "requires": {
242   - "cache-base": "^1.0.1",
243   - "class-utils": "^0.3.5",
244   - "component-emitter": "^1.2.1",
245   - "define-property": "^1.0.0",
246   - "isobject": "^3.0.1",
247   - "mixin-deep": "^1.2.0",
248   - "pascalcase": "^0.1.1"
249   - },
250   - "dependencies": {
251   - "define-property": {
252   - "version": "1.0.0",
253   - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
254   - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
255   - "optional": true,
256   - "requires": {
257   - "is-descriptor": "^1.0.0"
258   - }
259   - },
260   - "is-accessor-descriptor": {
261   - "version": "1.0.0",
262   - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
263   - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
264   - "optional": true,
265   - "requires": {
266   - "kind-of": "^6.0.0"
267   - }
268   - },
269   - "is-data-descriptor": {
270   - "version": "1.0.0",
271   - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
272   - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
273   - "optional": true,
274   - "requires": {
275   - "kind-of": "^6.0.0"
276   - }
277   - },
278   - "is-descriptor": {
279   - "version": "1.0.2",
280   - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
281   - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
282   - "optional": true,
283   - "requires": {
284   - "is-accessor-descriptor": "^1.0.0",
285   - "is-data-descriptor": "^1.0.0",
286   - "kind-of": "^6.0.2"
287   - }
288   - }
289   - }
290   - },
291 218 "basic-auth": {
292 219 "version": "2.0.1",
293 220 "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz",
... ... @@ -305,9 +232,9 @@
305 232 }
306 233 },
307 234 "binary-extensions": {
308   - "version": "1.13.1",
309   - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
310   - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
  235 + "version": "2.0.0",
  236 + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz",
  237 + "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==",
311 238 "optional": true
312 239 },
313 240 "body-parser": {
... ... @@ -352,84 +279,31 @@
352 279 }
353 280 },
354 281 "braces": {
355   - "version": "2.3.2",
356   - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
357   - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
  282 + "version": "3.0.2",
  283 + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
  284 + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
358 285 "optional": true,
359 286 "requires": {
360   - "arr-flatten": "^1.1.0",
361   - "array-unique": "^0.3.2",
362   - "extend-shallow": "^2.0.1",
363   - "fill-range": "^4.0.0",
364   - "isobject": "^3.0.1",
365   - "repeat-element": "^1.1.2",
366   - "snapdragon": "^0.8.1",
367   - "snapdragon-node": "^2.0.1",
368   - "split-string": "^3.0.2",
369   - "to-regex": "^3.0.1"
370   - },
371   - "dependencies": {
372   - "extend-shallow": {
373   - "version": "2.0.1",
374   - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
375   - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
376   - "optional": true,
377   - "requires": {
378   - "is-extendable": "^0.1.0"
379   - }
380   - }
  287 + "fill-range": "^7.0.1"
381 288 }
382 289 },
  290 + "browser-stdout": {
  291 + "version": "1.3.1",
  292 + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz",
  293 + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==",
  294 + "dev": true
  295 + },
383 296 "bytes": {
384 297 "version": "3.1.0",
385 298 "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
386 299 "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg=="
387 300 },
388   - "bytewise": {
389   - "version": "1.1.0",
390   - "resolved": "https://registry.npmjs.org/bytewise/-/bytewise-1.1.0.tgz",
391   - "integrity": "sha1-HRPL/3F65xWAlKqIGzXQgbOHJT4=",
392   - "requires": {
393   - "bytewise-core": "^1.2.2",
394   - "typewise": "^1.0.3"
395   - }
396   - },
397   - "bytewise-core": {
398   - "version": "1.2.3",
399   - "resolved": "https://registry.npmjs.org/bytewise-core/-/bytewise-core-1.2.3.tgz",
400   - "integrity": "sha1-P7QQx+kVWOsasiqCg0V3qmvWHUI=",
401   - "requires": {
402   - "typewise-core": "^1.2"
403   - }
404   - },
405   - "cache-base": {
406   - "version": "1.0.1",
407   - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
408   - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
409   - "optional": true,
410   - "requires": {
411   - "collection-visit": "^1.0.0",
412   - "component-emitter": "^1.2.1",
413   - "get-value": "^2.0.6",
414   - "has-value": "^1.0.0",
415   - "isobject": "^3.0.1",
416   - "set-value": "^2.0.0",
417   - "to-object-path": "^0.3.0",
418   - "union-value": "^1.0.0",
419   - "unset-value": "^1.0.0"
420   - }
421   - },
422 301 "callsites": {
423 302 "version": "3.1.0",
424 303 "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
425 304 "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
426 305 "dev": true
427 306 },
428   - "camelcase": {
429   - "version": "2.1.1",
430   - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
431   - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8="
432   - },
433 307 "caseless": {
434 308 "version": "0.12.0",
435 309 "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
... ... @@ -458,44 +332,28 @@
458 332 "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc="
459 333 },
460 334 "chokidar": {
461   - "version": "2.1.8",
462   - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
463   - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
  335 + "version": "3.3.1",
  336 + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.1.tgz",
  337 + "integrity": "sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==",
464 338 "optional": true,
465 339 "requires": {
466   - "anymatch": "^2.0.0",
467   - "async-each": "^1.0.1",
468   - "braces": "^2.3.2",
469   - "fsevents": "^1.2.7",
470   - "glob-parent": "^3.1.0",
471   - "inherits": "^2.0.3",
472   - "is-binary-path": "^1.0.0",
473   - "is-glob": "^4.0.0",
474   - "normalize-path": "^3.0.0",
475   - "path-is-absolute": "^1.0.0",
476   - "readdirp": "^2.2.1",
477   - "upath": "^1.1.1"
  340 + "anymatch": "~3.1.1",
  341 + "braces": "~3.0.2",
  342 + "fsevents": "~2.1.2",
  343 + "glob-parent": "~5.1.0",
  344 + "is-binary-path": "~2.1.0",
  345 + "is-glob": "~4.0.1",
  346 + "normalize-path": "~3.0.0",
  347 + "readdirp": "~3.3.0"
478 348 },
479 349 "dependencies": {
480 350 "glob-parent": {
481   - "version": "3.1.0",
482   - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
483   - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
  351 + "version": "5.1.0",
  352 + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz",
  353 + "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==",
484 354 "optional": true,
485 355 "requires": {
486   - "is-glob": "^3.1.0",
487   - "path-dirname": "^1.0.0"
488   - },
489   - "dependencies": {
490   - "is-glob": {
491   - "version": "3.1.0",
492   - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
493   - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
494   - "optional": true,
495   - "requires": {
496   - "is-extglob": "^2.1.0"
497   - }
498   - }
  356 + "is-glob": "^4.0.1"
499 357 }
500 358 }
501 359 }
... ... @@ -505,29 +363,6 @@
505 363 "resolved": "https://registry.npmjs.org/circular-buffer/-/circular-buffer-0.0.6.tgz",
506 364 "integrity": "sha1-6c+iujGdNw3idDtgCMpTnN3r9TY="
507 365 },
508   - "class-utils": {
509   - "version": "0.3.6",
510   - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
511   - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
512   - "optional": true,
513   - "requires": {
514   - "arr-union": "^3.1.0",
515   - "define-property": "^0.2.5",
516   - "isobject": "^3.0.0",
517   - "static-extend": "^0.1.1"
518   - },
519   - "dependencies": {
520   - "define-property": {
521   - "version": "0.2.5",
522   - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
523   - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
524   - "optional": true,
525   - "requires": {
526   - "is-descriptor": "^0.1.0"
527   - }
528   - }
529   - }
530   - },
531 366 "cli-cursor": {
532 367 "version": "3.1.0",
533 368 "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
... ... @@ -543,64 +378,6 @@
543 378 "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
544 379 "dev": true
545 380 },
546   - "cliui": {
547   - "version": "3.2.0",
548   - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
549   - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
550   - "requires": {
551   - "string-width": "^1.0.1",
552   - "strip-ansi": "^3.0.1",
553   - "wrap-ansi": "^2.0.0"
554   - },
555   - "dependencies": {
556   - "ansi-regex": {
557   - "version": "2.1.1",
558   - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
559   - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
560   - },
561   - "is-fullwidth-code-point": {
562   - "version": "1.0.0",
563   - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
564   - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
565   - "requires": {
566   - "number-is-nan": "^1.0.0"
567   - }
568   - },
569   - "string-width": {
570   - "version": "1.0.2",
571   - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
572   - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
573   - "requires": {
574   - "code-point-at": "^1.0.0",
575   - "is-fullwidth-code-point": "^1.0.0",
576   - "strip-ansi": "^3.0.0"
577   - }
578   - },
579   - "strip-ansi": {
580   - "version": "3.0.1",
581   - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
582   - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
583   - "requires": {
584   - "ansi-regex": "^2.0.0"
585   - }
586   - }
587   - }
588   - },
589   - "code-point-at": {
590   - "version": "1.1.0",
591   - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
592   - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c="
593   - },
594   - "collection-visit": {
595   - "version": "1.0.0",
596   - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
597   - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
598   - "optional": true,
599   - "requires": {
600   - "map-visit": "^1.0.0",
601   - "object-visit": "^1.0.0"
602   - }
603   - },
604 381 "color": {
605 382 "version": "3.0.0",
606 383 "resolved": "https://registry.npmjs.org/color/-/color-3.0.0.tgz",
... ... @@ -638,9 +415,9 @@
638 415 "integrity": "sha1-+IiQMGhcfE/54qVZ9Qd+t2qBb5Y="
639 416 },
640 417 "colors": {
641   - "version": "1.3.3",
642   - "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz",
643   - "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg=="
  418 + "version": "1.4.0",
  419 + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
  420 + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA=="
644 421 },
645 422 "colorspace": {
646 423 "version": "1.1.2",
... ... @@ -660,15 +437,9 @@
660 437 }
661 438 },
662 439 "commander": {
663   - "version": "2.20.0",
664   - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz",
665   - "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ=="
666   - },
667   - "component-emitter": {
668   - "version": "1.3.0",
669   - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
670   - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
671   - "optional": true
  440 + "version": "2.20.3",
  441 + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
  442 + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="
672 443 },
673 444 "concat-map": {
674 445 "version": "0.0.1",
... ... @@ -710,12 +481,6 @@
710 481 "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
711 482 "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
712 483 },
713   - "copy-descriptor": {
714   - "version": "0.1.1",
715   - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
716   - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
717   - "optional": true
718   - },
719 484 "core-util-is": {
720 485 "version": "1.0.2",
721 486 "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
... ... @@ -776,13 +541,8 @@
776 541 "decamelize": {
777 542 "version": "1.2.0",
778 543 "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
779   - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA="
780   - },
781   - "decode-uri-component": {
782   - "version": "0.2.0",
783   - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
784   - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
785   - "optional": true
  544 + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
  545 + "dev": true
786 546 },
787 547 "deep-is": {
788 548 "version": "0.1.3",
... ... @@ -799,47 +559,6 @@
799 559 "object-keys": "^1.0.12"
800 560 }
801 561 },
802   - "define-property": {
803   - "version": "2.0.2",
804   - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
805   - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
806   - "optional": true,
807   - "requires": {
808   - "is-descriptor": "^1.0.2",
809   - "isobject": "^3.0.1"
810   - },
811   - "dependencies": {
812   - "is-accessor-descriptor": {
813   - "version": "1.0.0",
814   - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
815   - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
816   - "optional": true,
817   - "requires": {
818   - "kind-of": "^6.0.0"
819   - }
820   - },
821   - "is-data-descriptor": {
822   - "version": "1.0.0",
823   - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
824   - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
825   - "optional": true,
826   - "requires": {
827   - "kind-of": "^6.0.0"
828   - }
829   - },
830   - "is-descriptor": {
831   - "version": "1.0.2",
832   - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
833   - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
834   - "optional": true,
835   - "requires": {
836   - "is-accessor-descriptor": "^1.0.0",
837   - "is-data-descriptor": "^1.0.0",
838   - "kind-of": "^6.0.2"
839   - }
840   - }
841   - }
842   - },
843 562 "delayed-stream": {
844 563 "version": "1.0.0",
845 564 "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
... ... @@ -865,6 +584,12 @@
865 584 "kuler": "1.0.x"
866 585 }
867 586 },
  587 + "diff": {
  588 + "version": "3.5.0",
  589 + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
  590 + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==",
  591 + "dev": true
  592 + },
868 593 "doctrine": {
869 594 "version": "3.0.0",
870 595 "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
... ... @@ -922,9 +647,9 @@
922 647 "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
923 648 },
924 649 "env-variable": {
925   - "version": "0.0.5",
926   - "resolved": "https://registry.npmjs.org/env-variable/-/env-variable-0.0.5.tgz",
927   - "integrity": "sha512-zoB603vQReOFvTg5xMl9I1P2PnHsHQQKTEowsKKD7nseUfJq6UWzK+4YtlWUO1nhiQUxe6XMkk+JleSZD1NZFA=="
  650 + "version": "0.0.6",
  651 + "resolved": "https://registry.npmjs.org/env-variable/-/env-variable-0.0.6.tgz",
  652 + "integrity": "sha512-bHz59NlBbtS0NhftmR8+ExBEekE7br0e01jw+kk0NDro7TtZzBYZ5ScGPs3OmwnpyfHTHOtr1Y6uedCdrIldtg=="
928 653 },
929 654 "error-ex": {
930 655 "version": "1.3.2",
... ... @@ -961,9 +686,9 @@
961 686 }
962 687 },
963 688 "es6-promisify": {
964   - "version": "6.0.1",
965   - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-6.0.1.tgz",
966   - "integrity": "sha512-J3ZkwbEnnO+fGAKrjVpeUAnZshAdfZvbhQpqfIH9kSAspReRC4nJnu8ewm55b4y9ElyeuhCTzJD0XiH8Tsbhlw=="
  689 + "version": "6.1.0",
  690 + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-6.1.0.tgz",
  691 + "integrity": "sha512-jCsk2fpfEFusVv1MDkF4Uf0hAzIKNDMgR6LyOIw6a3jwkN1sCgWzuwgnsHY9YSQ8n8P31HoncvE0LC44cpWTrw=="
967 692 },
968 693 "escape-html": {
969 694 "version": "1.0.3",
... ... @@ -977,9 +702,9 @@
977 702 "dev": true
978 703 },
979 704 "eslint": {
980   - "version": "6.1.0",
981   - "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.1.0.tgz",
982   - "integrity": "sha512-QhrbdRD7ofuV09IuE2ySWBz0FyXCq0rriLTZXZqaWSI79CVtHVRdkFuFTViiqzZhkCgfOh9USpriuGN2gIpZDQ==",
  705 + "version": "6.8.0",
  706 + "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz",
  707 + "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==",
983 708 "dev": true,
984 709 "requires": {
985 710 "@babel/code-frame": "^7.0.0",
... ... @@ -989,19 +714,19 @@
989 714 "debug": "^4.0.1",
990 715 "doctrine": "^3.0.0",
991 716 "eslint-scope": "^5.0.0",
992   - "eslint-utils": "^1.3.1",
993   - "eslint-visitor-keys": "^1.0.0",
994   - "espree": "^6.0.0",
  717 + "eslint-utils": "^1.4.3",
  718 + "eslint-visitor-keys": "^1.1.0",
  719 + "espree": "^6.1.2",
995 720 "esquery": "^1.0.1",
996 721 "esutils": "^2.0.2",
997 722 "file-entry-cache": "^5.0.1",
998 723 "functional-red-black-tree": "^1.0.1",
999 724 "glob-parent": "^5.0.0",
1000   - "globals": "^11.7.0",
  725 + "globals": "^12.1.0",
1001 726 "ignore": "^4.0.6",
1002 727 "import-fresh": "^3.0.0",
1003 728 "imurmurhash": "^0.1.4",
1004   - "inquirer": "^6.4.1",
  729 + "inquirer": "^7.0.0",
1005 730 "is-glob": "^4.0.0",
1006 731 "js-yaml": "^3.13.1",
1007 732 "json-stable-stringify-without-jsonify": "^1.0.1",
... ... @@ -1010,7 +735,7 @@
1010 735 "minimatch": "^3.0.4",
1011 736 "mkdirp": "^0.5.1",
1012 737 "natural-compare": "^1.4.0",
1013   - "optionator": "^0.8.2",
  738 + "optionator": "^0.8.3",
1014 739 "progress": "^2.0.0",
1015 740 "regexpp": "^2.0.1",
1016 741 "semver": "^6.1.2",
... ... @@ -1143,12 +868,12 @@
1143 868 }
1144 869 },
1145 870 "eslint-utils": {
1146   - "version": "1.4.0",
1147   - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.0.tgz",
1148   - "integrity": "sha512-7ehnzPaP5IIEh1r1tkjuIrxqhNkzUJa9z3R92tLJdZIVdWaczEhr3EbhGtsMrVxi1KeR8qA7Off6SWc5WNQqyQ==",
  871 + "version": "1.4.3",
  872 + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz",
  873 + "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==",
1149 874 "dev": true,
1150 875 "requires": {
1151   - "eslint-visitor-keys": "^1.0.0"
  876 + "eslint-visitor-keys": "^1.1.0"
1152 877 }
1153 878 },
1154 879 "eslint-visitor-keys": {
... ... @@ -1158,14 +883,14 @@
1158 883 "dev": true
1159 884 },
1160 885 "espree": {
1161   - "version": "6.0.0",
1162   - "resolved": "https://registry.npmjs.org/espree/-/espree-6.0.0.tgz",
1163   - "integrity": "sha512-lJvCS6YbCn3ImT3yKkPe0+tJ+mH6ljhGNjHQH9mRtiO6gjhVAOhVXW1yjnwqGwTkK3bGbye+hb00nFNmu0l/1Q==",
  886 + "version": "6.2.1",
  887 + "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz",
  888 + "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==",
1164 889 "dev": true,
1165 890 "requires": {
1166   - "acorn": "^6.0.7",
1167   - "acorn-jsx": "^5.0.0",
1168   - "eslint-visitor-keys": "^1.0.0"
  891 + "acorn": "^7.1.1",
  892 + "acorn-jsx": "^5.2.0",
  893 + "eslint-visitor-keys": "^1.1.0"
1169 894 }
1170 895 },
1171 896 "esprima": {
... ... @@ -1175,9 +900,9 @@
1175 900 "dev": true
1176 901 },
1177 902 "esquery": {
1178   - "version": "1.0.1",
1179   - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz",
1180   - "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==",
  903 + "version": "1.1.0",
  904 + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.1.0.tgz",
  905 + "integrity": "sha512-MxYW9xKmROWF672KqjO75sszsA8Mxhw06YFeS5VHlB98KDHbOSurm3ArsjO60Eaf3QmGMCP1yn+0JQkNLo/97Q==",
1181 906 "dev": true,
1182 907 "requires": {
1183 908 "estraverse": "^4.0.0"
... ... @@ -1209,56 +934,6 @@
1209 934 "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
1210 935 "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
1211 936 },
1212   - "expand-brackets": {
1213   - "version": "2.1.4",
1214   - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
1215   - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
1216   - "optional": true,
1217   - "requires": {
1218   - "debug": "^2.3.3",
1219   - "define-property": "^0.2.5",
1220   - "extend-shallow": "^2.0.1",
1221   - "posix-character-classes": "^0.1.0",
1222   - "regex-not": "^1.0.0",
1223   - "snapdragon": "^0.8.1",
1224   - "to-regex": "^3.0.1"
1225   - },
1226   - "dependencies": {
1227   - "debug": {
1228   - "version": "2.6.9",
1229   - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
1230   - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
1231   - "optional": true,
1232   - "requires": {
1233   - "ms": "2.0.0"
1234   - }
1235   - },
1236   - "define-property": {
1237   - "version": "0.2.5",
1238   - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
1239   - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
1240   - "optional": true,
1241   - "requires": {
1242   - "is-descriptor": "^0.1.0"
1243   - }
1244   - },
1245   - "extend-shallow": {
1246   - "version": "2.0.1",
1247   - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
1248   - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
1249   - "optional": true,
1250   - "requires": {
1251   - "is-extendable": "^0.1.0"
1252   - }
1253   - },
1254   - "ms": {
1255   - "version": "2.0.0",
1256   - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
1257   - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
1258   - "optional": true
1259   - }
1260   - }
1261   - },
1262 937 "express": {
1263 938 "version": "4.17.1",
1264 939 "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
... ... @@ -1312,25 +987,20 @@
1312 987 }
1313 988 },
1314 989 "express-session": {
1315   - "version": "1.16.2",
1316   - "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.16.2.tgz",
1317   - "integrity": "sha512-oy0sRsdw6n93E9wpCNWKRnSsxYnSDX9Dnr9mhZgqUEEorzcq5nshGYSZ4ZReHFhKQ80WI5iVUUSPW7u3GaKauw==",
  990 + "version": "1.17.0",
  991 + "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.17.0.tgz",
  992 + "integrity": "sha512-t4oX2z7uoSqATbMfsxWMbNjAL0T5zpvcJCk3Z9wnPPN7ibddhnmDZXHfEcoBMG2ojKXZoCyPMc5FbtK+G7SoDg==",
1318 993 "requires": {
1319   - "cookie": "0.3.1",
  994 + "cookie": "0.4.0",
1320 995 "cookie-signature": "1.0.6",
1321 996 "debug": "2.6.9",
1322 997 "depd": "~2.0.0",
1323 998 "on-headers": "~1.0.2",
1324 999 "parseurl": "~1.3.3",
1325   - "safe-buffer": "5.1.2",
  1000 + "safe-buffer": "5.2.0",
1326 1001 "uid-safe": "~2.1.5"
1327 1002 },
1328 1003 "dependencies": {
1329   - "cookie": {
1330   - "version": "0.3.1",
1331   - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz",
1332   - "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s="
1333   - },
1334 1004 "debug": {
1335 1005 "version": "2.6.9",
1336 1006 "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
... ... @@ -1348,6 +1018,11 @@
1348 1018 "version": "2.0.0",
1349 1019 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
1350 1020 "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
  1021 + },
  1022 + "safe-buffer": {
  1023 + "version": "5.2.0",
  1024 + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz",
  1025 + "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg=="
1351 1026 }
1352 1027 }
1353 1028 },
... ... @@ -1356,27 +1031,6 @@
1356 1031 "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
1357 1032 "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
1358 1033 },
1359   - "extend-shallow": {
1360   - "version": "3.0.2",
1361   - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
1362   - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
1363   - "optional": true,
1364   - "requires": {
1365   - "assign-symbols": "^1.0.0",
1366   - "is-extendable": "^1.0.1"
1367   - },
1368   - "dependencies": {
1369   - "is-extendable": {
1370   - "version": "1.0.1",
1371   - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
1372   - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
1373   - "optional": true,
1374   - "requires": {
1375   - "is-plain-object": "^2.0.4"
1376   - }
1377   - }
1378   - }
1379   - },
1380 1034 "external-editor": {
1381 1035 "version": "3.1.0",
1382 1036 "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
... ... @@ -1388,71 +1042,6 @@
1388 1042 "tmp": "^0.0.33"
1389 1043 }
1390 1044 },
1391   - "extglob": {
1392   - "version": "2.0.4",
1393   - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
1394   - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
1395   - "optional": true,
1396   - "requires": {
1397   - "array-unique": "^0.3.2",
1398   - "define-property": "^1.0.0",
1399   - "expand-brackets": "^2.1.4",
1400   - "extend-shallow": "^2.0.1",
1401   - "fragment-cache": "^0.2.1",
1402   - "regex-not": "^1.0.0",
1403   - "snapdragon": "^0.8.1",
1404   - "to-regex": "^3.0.1"
1405   - },
1406   - "dependencies": {
1407   - "define-property": {
1408   - "version": "1.0.0",
1409   - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
1410   - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
1411   - "optional": true,
1412   - "requires": {
1413   - "is-descriptor": "^1.0.0"
1414   - }
1415   - },
1416   - "extend-shallow": {
1417   - "version": "2.0.1",
1418   - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
1419   - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
1420   - "optional": true,
1421   - "requires": {
1422   - "is-extendable": "^0.1.0"
1423   - }
1424   - },
1425   - "is-accessor-descriptor": {
1426   - "version": "1.0.0",
1427   - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
1428   - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
1429   - "optional": true,
1430   - "requires": {
1431   - "kind-of": "^6.0.0"
1432   - }
1433   - },
1434   - "is-data-descriptor": {
1435   - "version": "1.0.0",
1436   - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
1437   - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
1438   - "optional": true,
1439   - "requires": {
1440   - "kind-of": "^6.0.0"
1441   - }
1442   - },
1443   - "is-descriptor": {
1444   - "version": "1.0.2",
1445   - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
1446   - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
1447   - "optional": true,
1448   - "requires": {
1449   - "is-accessor-descriptor": "^1.0.0",
1450   - "is-data-descriptor": "^1.0.0",
1451   - "kind-of": "^6.0.2"
1452   - }
1453   - }
1454   - }
1455   - },
1456 1045 "extsprintf": {
1457 1046 "version": "1.3.0",
1458 1047 "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
... ... @@ -1475,9 +1064,9 @@
1475 1064 "dev": true
1476 1065 },
1477 1066 "fast-safe-stringify": {
1478   - "version": "2.0.6",
1479   - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.6.tgz",
1480   - "integrity": "sha512-q8BZ89jjc+mz08rSxROs8VsrBBcn1SIw1kq9NjolL509tkABRk9io01RAjSaEv1Xb2uFLt8VtRiZbGp5H8iDtg=="
  1067 + "version": "2.0.7",
  1068 + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz",
  1069 + "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA=="
1481 1070 },
1482 1071 "fecha": {
1483 1072 "version": "2.3.3",
... ... @@ -1485,9 +1074,9 @@
1485 1074 "integrity": "sha512-lUGBnIamTAwk4znq5BcqsDaxSmZ9nDVJaij6NvRt/Tg4R69gERA+otPKbS86ROw9nxVMw2/mp1fnaiWqbs6Sdg=="
1486 1075 },
1487 1076 "figures": {
1488   - "version": "3.0.0",
1489   - "resolved": "https://registry.npmjs.org/figures/-/figures-3.0.0.tgz",
1490   - "integrity": "sha512-HKri+WoWoUgr83pehn/SIgLOMZ9nAWC6dcGj26RY2R4F50u4+RTUz0RCrUlOV3nKRAICW1UGzyb+kcX2qK1S/g==",
  1077 + "version": "3.2.0",
  1078 + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
  1079 + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
1491 1080 "dev": true,
1492 1081 "requires": {
1493 1082 "escape-string-regexp": "^1.0.5"
... ... @@ -1511,26 +1100,12 @@
1511 1100 }
1512 1101 },
1513 1102 "fill-range": {
1514   - "version": "4.0.0",
1515   - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
1516   - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
  1103 + "version": "7.0.1",
  1104 + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
  1105 + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
1517 1106 "optional": true,
1518 1107 "requires": {
1519   - "extend-shallow": "^2.0.1",
1520   - "is-number": "^3.0.0",
1521   - "repeat-string": "^1.6.1",
1522   - "to-regex-range": "^2.1.0"
1523   - },
1524   - "dependencies": {
1525   - "extend-shallow": {
1526   - "version": "2.0.1",
1527   - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
1528   - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
1529   - "optional": true,
1530   - "requires": {
1531   - "is-extendable": "^0.1.0"
1532   - }
1533   - }
  1108 + "to-regex-range": "^5.0.1"
1534 1109 }
1535 1110 },
1536 1111 "finalhandler": {
... ... @@ -1571,6 +1146,23 @@
1571 1146 "locate-path": "^2.0.0"
1572 1147 }
1573 1148 },
  1149 + "flat": {
  1150 + "version": "4.1.0",
  1151 + "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.0.tgz",
  1152 + "integrity": "sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw==",
  1153 + "dev": true,
  1154 + "requires": {
  1155 + "is-buffer": "~2.0.3"
  1156 + },
  1157 + "dependencies": {
  1158 + "is-buffer": {
  1159 + "version": "2.0.4",
  1160 + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz",
  1161 + "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==",
  1162 + "dev": true
  1163 + }
  1164 + }
  1165 + },
1574 1166 "flat-cache": {
1575 1167 "version": "2.0.1",
1576 1168 "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz",
... ... @@ -1588,11 +1180,28 @@
1588 1180 "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==",
1589 1181 "dev": true
1590 1182 },
1591   - "for-in": {
1592   - "version": "1.0.2",
1593   - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
1594   - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
1595   - "optional": true
  1183 + "follow-redirects": {
  1184 + "version": "1.5.10",
  1185 + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz",
  1186 + "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==",
  1187 + "requires": {
  1188 + "debug": "=3.1.0"
  1189 + },
  1190 + "dependencies": {
  1191 + "debug": {
  1192 + "version": "3.1.0",
  1193 + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
  1194 + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
  1195 + "requires": {
  1196 + "ms": "2.0.0"
  1197 + }
  1198 + },
  1199 + "ms": {
  1200 + "version": "2.0.0",
  1201 + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
  1202 + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
  1203 + }
  1204 + }
1596 1205 },
1597 1206 "forever-agent": {
1598 1207 "version": "0.6.1",
... ... @@ -1614,15 +1223,6 @@
1614 1223 "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
1615 1224 "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ="
1616 1225 },
1617   - "fragment-cache": {
1618   - "version": "0.2.1",
1619   - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
1620   - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
1621   - "optional": true,
1622   - "requires": {
1623   - "map-cache": "^0.2.2"
1624   - }
1625   - },
1626 1226 "fresh": {
1627 1227 "version": "0.5.2",
1628 1228 "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
... ... @@ -1642,485 +1242,10 @@
1642 1242 "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
1643 1243 },
1644 1244 "fsevents": {
1645   - "version": "1.2.9",
1646   - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz",
1647   - "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==",
1648   - "optional": true,
1649   - "requires": {
1650   - "nan": "^2.12.1",
1651   - "node-pre-gyp": "^0.12.0"
1652   - },
1653   - "dependencies": {
1654   - "abbrev": {
1655   - "version": "1.1.1",
1656   - "bundled": true,
1657   - "optional": true
1658   - },
1659   - "ansi-regex": {
1660   - "version": "2.1.1",
1661   - "bundled": true,
1662   - "optional": true
1663   - },
1664   - "aproba": {
1665   - "version": "1.2.0",
1666   - "bundled": true,
1667   - "optional": true
1668   - },
1669   - "are-we-there-yet": {
1670   - "version": "1.1.5",
1671   - "bundled": true,
1672   - "optional": true,
1673   - "requires": {
1674   - "delegates": "^1.0.0",
1675   - "readable-stream": "^2.0.6"
1676   - }
1677   - },
1678   - "balanced-match": {
1679   - "version": "1.0.0",
1680   - "bundled": true,
1681   - "optional": true
1682   - },
1683   - "brace-expansion": {
1684   - "version": "1.1.11",
1685   - "bundled": true,
1686   - "optional": true,
1687   - "requires": {
1688   - "balanced-match": "^1.0.0",
1689   - "concat-map": "0.0.1"
1690   - }
1691   - },
1692   - "chownr": {
1693   - "version": "1.1.1",
1694   - "bundled": true,
1695   - "optional": true
1696   - },
1697   - "code-point-at": {
1698   - "version": "1.1.0",
1699   - "bundled": true,
1700   - "optional": true
1701   - },
1702   - "concat-map": {
1703   - "version": "0.0.1",
1704   - "bundled": true,
1705   - "optional": true
1706   - },
1707   - "console-control-strings": {
1708   - "version": "1.1.0",
1709   - "bundled": true,
1710   - "optional": true
1711   - },
1712   - "core-util-is": {
1713   - "version": "1.0.2",
1714   - "bundled": true,
1715   - "optional": true
1716   - },
1717   - "debug": {
1718   - "version": "4.1.1",
1719   - "bundled": true,
1720   - "optional": true,
1721   - "requires": {
1722   - "ms": "^2.1.1"
1723   - }
1724   - },
1725   - "deep-extend": {
1726   - "version": "0.6.0",
1727   - "bundled": true,
1728   - "optional": true
1729   - },
1730   - "delegates": {
1731   - "version": "1.0.0",
1732   - "bundled": true,
1733   - "optional": true
1734   - },
1735   - "detect-libc": {
1736   - "version": "1.0.3",
1737   - "bundled": true,
1738   - "optional": true
1739   - },
1740   - "fs-minipass": {
1741   - "version": "1.2.5",
1742   - "bundled": true,
1743   - "optional": true,
1744   - "requires": {
1745   - "minipass": "^2.2.1"
1746   - }
1747   - },
1748   - "fs.realpath": {
1749   - "version": "1.0.0",
1750   - "bundled": true,
1751   - "optional": true
1752   - },
1753   - "gauge": {
1754   - "version": "2.7.4",
1755   - "bundled": true,
1756   - "optional": true,
1757   - "requires": {
1758   - "aproba": "^1.0.3",
1759   - "console-control-strings": "^1.0.0",
1760   - "has-unicode": "^2.0.0",
1761   - "object-assign": "^4.1.0",
1762   - "signal-exit": "^3.0.0",
1763   - "string-width": "^1.0.1",
1764   - "strip-ansi": "^3.0.1",
1765   - "wide-align": "^1.1.0"
1766   - }
1767   - },
1768   - "glob": {
1769   - "version": "7.1.3",
1770   - "bundled": true,
1771   - "optional": true,
1772   - "requires": {
1773   - "fs.realpath": "^1.0.0",
1774   - "inflight": "^1.0.4",
1775   - "inherits": "2",
1776   - "minimatch": "^3.0.4",
1777   - "once": "^1.3.0",
1778   - "path-is-absolute": "^1.0.0"
1779   - }
1780   - },
1781   - "has-unicode": {
1782   - "version": "2.0.1",
1783   - "bundled": true,
1784   - "optional": true
1785   - },
1786   - "iconv-lite": {
1787   - "version": "0.4.24",
1788   - "bundled": true,
1789   - "optional": true,
1790   - "requires": {
1791   - "safer-buffer": ">= 2.1.2 < 3"
1792   - }
1793   - },
1794   - "ignore-walk": {
1795   - "version": "3.0.1",
1796   - "bundled": true,
1797   - "optional": true,
1798   - "requires": {
1799   - "minimatch": "^3.0.4"
1800   - }
1801   - },
1802   - "inflight": {
1803   - "version": "1.0.6",
1804   - "bundled": true,
1805   - "optional": true,
1806   - "requires": {
1807   - "once": "^1.3.0",
1808   - "wrappy": "1"
1809   - }
1810   - },
1811   - "inherits": {
1812   - "version": "2.0.3",
1813   - "bundled": true,
1814   - "optional": true
1815   - },
1816   - "ini": {
1817   - "version": "1.3.5",
1818   - "bundled": true,
1819   - "optional": true
1820   - },
1821   - "is-fullwidth-code-point": {
1822   - "version": "1.0.0",
1823   - "bundled": true,
1824   - "optional": true,
1825   - "requires": {
1826   - "number-is-nan": "^1.0.0"
1827   - }
1828   - },
1829   - "isarray": {
1830   - "version": "1.0.0",
1831   - "bundled": true,
1832   - "optional": true
1833   - },
1834   - "minimatch": {
1835   - "version": "3.0.4",
1836   - "bundled": true,
1837   - "optional": true,
1838   - "requires": {
1839   - "brace-expansion": "^1.1.7"
1840   - }
1841   - },
1842   - "minimist": {
1843   - "version": "0.0.8",
1844   - "bundled": true,
1845   - "optional": true
1846   - },
1847   - "minipass": {
1848   - "version": "2.3.5",
1849   - "bundled": true,
1850   - "optional": true,
1851   - "requires": {
1852   - "safe-buffer": "^5.1.2",
1853   - "yallist": "^3.0.0"
1854   - }
1855   - },
1856   - "minizlib": {
1857   - "version": "1.2.1",
1858   - "bundled": true,
1859   - "optional": true,
1860   - "requires": {
1861   - "minipass": "^2.2.1"
1862   - }
1863   - },
1864   - "mkdirp": {
1865   - "version": "0.5.1",
1866   - "bundled": true,
1867   - "optional": true,
1868   - "requires": {
1869   - "minimist": "0.0.8"
1870   - }
1871   - },
1872   - "ms": {
1873   - "version": "2.1.1",
1874   - "bundled": true,
1875   - "optional": true
1876   - },
1877   - "needle": {
1878   - "version": "2.3.0",
1879   - "bundled": true,
1880   - "optional": true,
1881   - "requires": {
1882   - "debug": "^4.1.0",
1883   - "iconv-lite": "^0.4.4",
1884   - "sax": "^1.2.4"
1885   - }
1886   - },
1887   - "node-pre-gyp": {
1888   - "version": "0.12.0",
1889   - "bundled": true,
1890   - "optional": true,
1891   - "requires": {
1892   - "detect-libc": "^1.0.2",
1893   - "mkdirp": "^0.5.1",
1894   - "needle": "^2.2.1",
1895   - "nopt": "^4.0.1",
1896   - "npm-packlist": "^1.1.6",
1897   - "npmlog": "^4.0.2",
1898   - "rc": "^1.2.7",
1899   - "rimraf": "^2.6.1",
1900   - "semver": "^5.3.0",
1901   - "tar": "^4"
1902   - }
1903   - },
1904   - "nopt": {
1905   - "version": "4.0.1",
1906   - "bundled": true,
1907   - "optional": true,
1908   - "requires": {
1909   - "abbrev": "1",
1910   - "osenv": "^0.1.4"
1911   - }
1912   - },
1913   - "npm-bundled": {
1914   - "version": "1.0.6",
1915   - "bundled": true,
1916   - "optional": true
1917   - },
1918   - "npm-packlist": {
1919   - "version": "1.4.1",
1920   - "bundled": true,
1921   - "optional": true,
1922   - "requires": {
1923   - "ignore-walk": "^3.0.1",
1924   - "npm-bundled": "^1.0.1"
1925   - }
1926   - },
1927   - "npmlog": {
1928   - "version": "4.1.2",
1929   - "bundled": true,
1930   - "optional": true,
1931   - "requires": {
1932   - "are-we-there-yet": "~1.1.2",
1933   - "console-control-strings": "~1.1.0",
1934   - "gauge": "~2.7.3",
1935   - "set-blocking": "~2.0.0"
1936   - }
1937   - },
1938   - "number-is-nan": {
1939   - "version": "1.0.1",
1940   - "bundled": true,
1941   - "optional": true
1942   - },
1943   - "object-assign": {
1944   - "version": "4.1.1",
1945   - "bundled": true,
1946   - "optional": true
1947   - },
1948   - "once": {
1949   - "version": "1.4.0",
1950   - "bundled": true,
1951   - "optional": true,
1952   - "requires": {
1953   - "wrappy": "1"
1954   - }
1955   - },
1956   - "os-homedir": {
1957   - "version": "1.0.2",
1958   - "bundled": true,
1959   - "optional": true
1960   - },
1961   - "os-tmpdir": {
1962   - "version": "1.0.2",
1963   - "bundled": true,
1964   - "optional": true
1965   - },
1966   - "osenv": {
1967   - "version": "0.1.5",
1968   - "bundled": true,
1969   - "optional": true,
1970   - "requires": {
1971   - "os-homedir": "^1.0.0",
1972   - "os-tmpdir": "^1.0.0"
1973   - }
1974   - },
1975   - "path-is-absolute": {
1976   - "version": "1.0.1",
1977   - "bundled": true,
1978   - "optional": true
1979   - },
1980   - "process-nextick-args": {
1981   - "version": "2.0.0",
1982   - "bundled": true,
1983   - "optional": true
1984   - },
1985   - "rc": {
1986   - "version": "1.2.8",
1987   - "bundled": true,
1988   - "optional": true,
1989   - "requires": {
1990   - "deep-extend": "^0.6.0",
1991   - "ini": "~1.3.0",
1992   - "minimist": "^1.2.0",
1993   - "strip-json-comments": "~2.0.1"
1994   - },
1995   - "dependencies": {
1996   - "minimist": {
1997   - "version": "1.2.0",
1998   - "bundled": true,
1999   - "optional": true
2000   - }
2001   - }
2002   - },
2003   - "readable-stream": {
2004   - "version": "2.3.6",
2005   - "bundled": true,
2006   - "optional": true,
2007   - "requires": {
2008   - "core-util-is": "~1.0.0",
2009   - "inherits": "~2.0.3",
2010   - "isarray": "~1.0.0",
2011   - "process-nextick-args": "~2.0.0",
2012   - "safe-buffer": "~5.1.1",
2013   - "string_decoder": "~1.1.1",
2014   - "util-deprecate": "~1.0.1"
2015   - }
2016   - },
2017   - "rimraf": {
2018   - "version": "2.6.3",
2019   - "bundled": true,
2020   - "optional": true,
2021   - "requires": {
2022   - "glob": "^7.1.3"
2023   - }
2024   - },
2025   - "safe-buffer": {
2026   - "version": "5.1.2",
2027   - "bundled": true,
2028   - "optional": true
2029   - },
2030   - "safer-buffer": {
2031   - "version": "2.1.2",
2032   - "bundled": true,
2033   - "optional": true
2034   - },
2035   - "sax": {
2036   - "version": "1.2.4",
2037   - "bundled": true,
2038   - "optional": true
2039   - },
2040   - "semver": {
2041   - "version": "5.7.0",
2042   - "bundled": true,
2043   - "optional": true
2044   - },
2045   - "set-blocking": {
2046   - "version": "2.0.0",
2047   - "bundled": true,
2048   - "optional": true
2049   - },
2050   - "signal-exit": {
2051   - "version": "3.0.2",
2052   - "bundled": true,
2053   - "optional": true
2054   - },
2055   - "string-width": {
2056   - "version": "1.0.2",
2057   - "bundled": true,
2058   - "optional": true,
2059   - "requires": {
2060   - "code-point-at": "^1.0.0",
2061   - "is-fullwidth-code-point": "^1.0.0",
2062   - "strip-ansi": "^3.0.0"
2063   - }
2064   - },
2065   - "string_decoder": {
2066   - "version": "1.1.1",
2067   - "bundled": true,
2068   - "optional": true,
2069   - "requires": {
2070   - "safe-buffer": "~5.1.0"
2071   - }
2072   - },
2073   - "strip-ansi": {
2074   - "version": "3.0.1",
2075   - "bundled": true,
2076   - "optional": true,
2077   - "requires": {
2078   - "ansi-regex": "^2.0.0"
2079   - }
2080   - },
2081   - "strip-json-comments": {
2082   - "version": "2.0.1",
2083   - "bundled": true,
2084   - "optional": true
2085   - },
2086   - "tar": {
2087   - "version": "4.4.8",
2088   - "bundled": true,
2089   - "optional": true,
2090   - "requires": {
2091   - "chownr": "^1.1.1",
2092   - "fs-minipass": "^1.2.5",
2093   - "minipass": "^2.3.4",
2094   - "minizlib": "^1.1.1",
2095   - "mkdirp": "^0.5.0",
2096   - "safe-buffer": "^5.1.2",
2097   - "yallist": "^3.0.2"
2098   - }
2099   - },
2100   - "util-deprecate": {
2101   - "version": "1.0.2",
2102   - "bundled": true,
2103   - "optional": true
2104   - },
2105   - "wide-align": {
2106   - "version": "1.1.3",
2107   - "bundled": true,
2108   - "optional": true,
2109   - "requires": {
2110   - "string-width": "^1.0.2 || 2"
2111   - }
2112   - },
2113   - "wrappy": {
2114   - "version": "1.0.2",
2115   - "bundled": true,
2116   - "optional": true
2117   - },
2118   - "yallist": {
2119   - "version": "3.0.3",
2120   - "bundled": true,
2121   - "optional": true
2122   - }
2123   - }
  1245 + "version": "2.1.2",
  1246 + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.2.tgz",
  1247 + "integrity": "sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA==",
  1248 + "optional": true
2124 1249 },
2125 1250 "function-bind": {
2126 1251 "version": "1.1.1",
... ... @@ -2134,10 +1259,11 @@
2134 1259 "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
2135 1260 "dev": true
2136 1261 },
2137   - "get-value": {
2138   - "version": "2.0.6",
2139   - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
2140   - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg="
  1262 + "get-caller-file": {
  1263 + "version": "2.0.5",
  1264 + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
  1265 + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
  1266 + "dev": true
2141 1267 },
2142 1268 "getpass": {
2143 1269 "version": "0.1.7",
... ... @@ -2161,24 +1287,34 @@
2161 1287 }
2162 1288 },
2163 1289 "glob-parent": {
2164   - "version": "5.0.0",
2165   - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.0.0.tgz",
2166   - "integrity": "sha512-Z2RwiujPRGluePM6j699ktJYxmPpJKCfpGA13jz2hmFZC7gKetzrWvg5KN3+OsIFmydGyZ1AVwERCq1w/ZZwRg==",
  1290 + "version": "5.1.0",
  1291 + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz",
  1292 + "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==",
2167 1293 "dev": true,
2168 1294 "requires": {
2169 1295 "is-glob": "^4.0.1"
2170 1296 }
2171 1297 },
2172 1298 "globals": {
2173   - "version": "11.12.0",
2174   - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
2175   - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
2176   - "dev": true
  1299 + "version": "12.4.0",
  1300 + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz",
  1301 + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==",
  1302 + "dev": true,
  1303 + "requires": {
  1304 + "type-fest": "^0.8.1"
  1305 + }
2177 1306 },
2178 1307 "graceful-fs": {
2179 1308 "version": "4.2.2",
2180 1309 "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz",
2181   - "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q=="
  1310 + "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==",
  1311 + "dev": true
  1312 + },
  1313 + "growl": {
  1314 + "version": "1.10.5",
  1315 + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz",
  1316 + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==",
  1317 + "dev": true
2182 1318 },
2183 1319 "har-schema": {
2184 1320 "version": "2.0.0",
... ... @@ -2215,37 +1351,11 @@
2215 1351 "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=",
2216 1352 "dev": true
2217 1353 },
2218   - "has-value": {
2219   - "version": "1.0.0",
2220   - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
2221   - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
2222   - "optional": true,
2223   - "requires": {
2224   - "get-value": "^2.0.6",
2225   - "has-values": "^1.0.0",
2226   - "isobject": "^3.0.0"
2227   - }
2228   - },
2229   - "has-values": {
2230   - "version": "1.0.0",
2231   - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
2232   - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
2233   - "optional": true,
2234   - "requires": {
2235   - "is-number": "^3.0.0",
2236   - "kind-of": "^4.0.0"
2237   - },
2238   - "dependencies": {
2239   - "kind-of": {
2240   - "version": "4.0.0",
2241   - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
2242   - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
2243   - "optional": true,
2244   - "requires": {
2245   - "is-buffer": "^1.1.5"
2246   - }
2247   - }
2248   - }
  1354 + "he": {
  1355 + "version": "1.2.0",
  1356 + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
  1357 + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
  1358 + "dev": true
2249 1359 },
2250 1360 "hosted-git-info": {
2251 1361 "version": "2.8.4",
... ... @@ -2297,9 +1407,9 @@
2297 1407 "dev": true
2298 1408 },
2299 1409 "import-fresh": {
2300   - "version": "3.1.0",
2301   - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.1.0.tgz",
2302   - "integrity": "sha512-PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ==",
  1410 + "version": "3.2.1",
  1411 + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz",
  1412 + "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==",
2303 1413 "dev": true,
2304 1414 "requires": {
2305 1415 "parent-module": "^1.0.0",
... ... @@ -2327,56 +1437,98 @@
2327 1437 "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
2328 1438 },
2329 1439 "inquirer": {
2330   - "version": "6.5.1",
2331   - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.1.tgz",
2332   - "integrity": "sha512-uxNHBeQhRXIoHWTSNYUFhQVrHYFThIt6IVo2fFmSe8aBwdR3/w6b58hJpiL/fMukFkvGzjg+hSxFtwvVmKZmXw==",
  1440 + "version": "7.1.0",
  1441 + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.1.0.tgz",
  1442 + "integrity": "sha512-5fJMWEmikSYu0nv/flMc475MhGbB7TSPd/2IpFV4I4rMklboCH2rQjYY5kKiYGHqUF9gvaambupcJFFG9dvReg==",
2333 1443 "dev": true,
2334 1444 "requires": {
2335 1445 "ansi-escapes": "^4.2.1",
2336   - "chalk": "^2.4.2",
  1446 + "chalk": "^3.0.0",
2337 1447 "cli-cursor": "^3.1.0",
2338 1448 "cli-width": "^2.0.0",
2339 1449 "external-editor": "^3.0.3",
2340 1450 "figures": "^3.0.0",
2341 1451 "lodash": "^4.17.15",
2342 1452 "mute-stream": "0.0.8",
2343   - "run-async": "^2.2.0",
2344   - "rxjs": "^6.4.0",
  1453 + "run-async": "^2.4.0",
  1454 + "rxjs": "^6.5.3",
2345 1455 "string-width": "^4.1.0",
2346   - "strip-ansi": "^5.1.0",
  1456 + "strip-ansi": "^6.0.0",
2347 1457 "through": "^2.3.6"
  1458 + },
  1459 + "dependencies": {
  1460 + "ansi-regex": {
  1461 + "version": "5.0.0",
  1462 + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
  1463 + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
  1464 + "dev": true
  1465 + },
  1466 + "ansi-styles": {
  1467 + "version": "4.2.1",
  1468 + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
  1469 + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
  1470 + "dev": true,
  1471 + "requires": {
  1472 + "@types/color-name": "^1.1.1",
  1473 + "color-convert": "^2.0.1"
  1474 + }
  1475 + },
  1476 + "chalk": {
  1477 + "version": "3.0.0",
  1478 + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
  1479 + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
  1480 + "dev": true,
  1481 + "requires": {
  1482 + "ansi-styles": "^4.1.0",
  1483 + "supports-color": "^7.1.0"
  1484 + }
  1485 + },
  1486 + "color-convert": {
  1487 + "version": "2.0.1",
  1488 + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
  1489 + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
  1490 + "dev": true,
  1491 + "requires": {
  1492 + "color-name": "~1.1.4"
  1493 + }
  1494 + },
  1495 + "color-name": {
  1496 + "version": "1.1.4",
  1497 + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
  1498 + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
  1499 + "dev": true
  1500 + },
  1501 + "has-flag": {
  1502 + "version": "4.0.0",
  1503 + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
  1504 + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
  1505 + "dev": true
  1506 + },
  1507 + "strip-ansi": {
  1508 + "version": "6.0.0",
  1509 + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
  1510 + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
  1511 + "dev": true,
  1512 + "requires": {
  1513 + "ansi-regex": "^5.0.0"
  1514 + }
  1515 + },
  1516 + "supports-color": {
  1517 + "version": "7.1.0",
  1518 + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
  1519 + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
  1520 + "dev": true,
  1521 + "requires": {
  1522 + "has-flag": "^4.0.0"
  1523 + }
  1524 + }
2348 1525 }
2349 1526 },
2350   - "invert-kv": {
2351   - "version": "1.0.0",
2352   - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
2353   - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY="
2354   - },
2355 1527 "ipaddr.js": {
2356 1528 "version": "1.9.0",
2357 1529 "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz",
2358 1530 "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA=="
2359 1531 },
2360   - "is-accessor-descriptor": {
2361   - "version": "0.1.6",
2362   - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
2363   - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
2364   - "optional": true,
2365   - "requires": {
2366   - "kind-of": "^3.0.2"
2367   - },
2368   - "dependencies": {
2369   - "kind-of": {
2370   - "version": "3.2.2",
2371   - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
2372   - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
2373   - "optional": true,
2374   - "requires": {
2375   - "is-buffer": "^1.1.5"
2376   - }
2377   - }
2378   - }
2379   - },
2380 1532 "is-arrayish": {
2381 1533 "version": "0.2.1",
2382 1534 "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
... ... @@ -2384,75 +1536,26 @@
2384 1536 "dev": true
2385 1537 },
2386 1538 "is-binary-path": {
2387   - "version": "1.0.1",
2388   - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
2389   - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
  1539 + "version": "2.1.0",
  1540 + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
  1541 + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
2390 1542 "optional": true,
2391 1543 "requires": {
2392   - "binary-extensions": "^1.0.0"
  1544 + "binary-extensions": "^2.0.0"
2393 1545 }
2394 1546 },
2395   - "is-buffer": {
2396   - "version": "1.1.6",
2397   - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
2398   - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
2399   - },
2400 1547 "is-callable": {
2401 1548 "version": "1.1.4",
2402 1549 "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
2403 1550 "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==",
2404 1551 "dev": true
2405 1552 },
2406   - "is-data-descriptor": {
2407   - "version": "0.1.4",
2408   - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
2409   - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
2410   - "optional": true,
2411   - "requires": {
2412   - "kind-of": "^3.0.2"
2413   - },
2414   - "dependencies": {
2415   - "kind-of": {
2416   - "version": "3.2.2",
2417   - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
2418   - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
2419   - "optional": true,
2420   - "requires": {
2421   - "is-buffer": "^1.1.5"
2422   - }
2423   - }
2424   - }
2425   - },
2426 1553 "is-date-object": {
2427 1554 "version": "1.0.1",
2428 1555 "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
2429 1556 "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=",
2430 1557 "dev": true
2431 1558 },
2432   - "is-descriptor": {
2433   - "version": "0.1.6",
2434   - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
2435   - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
2436   - "optional": true,
2437   - "requires": {
2438   - "is-accessor-descriptor": "^0.1.6",
2439   - "is-data-descriptor": "^0.1.4",
2440   - "kind-of": "^5.0.0"
2441   - },
2442   - "dependencies": {
2443   - "kind-of": {
2444   - "version": "5.1.0",
2445   - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
2446   - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
2447   - "optional": true
2448   - }
2449   - }
2450   - },
2451   - "is-extendable": {
2452   - "version": "0.1.1",
2453   - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
2454   - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik="
2455   - },
2456 1559 "is-extglob": {
2457 1560 "version": "2.1.1",
2458 1561 "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
... ... @@ -2473,32 +1576,10 @@
2473 1576 }
2474 1577 },
2475 1578 "is-number": {
2476   - "version": "3.0.0",
2477   - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
2478   - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
2479   - "optional": true,
2480   - "requires": {
2481   - "kind-of": "^3.0.2"
2482   - },
2483   - "dependencies": {
2484   - "kind-of": {
2485   - "version": "3.2.2",
2486   - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
2487   - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
2488   - "optional": true,
2489   - "requires": {
2490   - "is-buffer": "^1.1.5"
2491   - }
2492   - }
2493   - }
2494   - },
2495   - "is-plain-object": {
2496   - "version": "2.0.4",
2497   - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
2498   - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
2499   - "requires": {
2500   - "isobject": "^3.0.1"
2501   - }
  1579 + "version": "7.0.0",
  1580 + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
  1581 + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
  1582 + "optional": true
2502 1583 },
2503 1584 "is-promise": {
2504 1585 "version": "2.1.0",
... ... @@ -2534,12 +1615,6 @@
2534 1615 "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
2535 1616 "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
2536 1617 },
2537   - "is-windows": {
2538   - "version": "1.0.2",
2539   - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
2540   - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
2541   - "optional": true
2542   - },
2543 1618 "isarray": {
2544 1619 "version": "1.0.0",
2545 1620 "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
... ... @@ -2551,11 +1626,6 @@
2551 1626 "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
2552 1627 "dev": true
2553 1628 },
2554   - "isobject": {
2555   - "version": "3.0.1",
2556   - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
2557   - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
2558   - },
2559 1629 "isstream": {
2560 1630 "version": "0.1.2",
2561 1631 "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
... ... @@ -2619,37 +1689,30 @@
2619 1689 "verror": "1.10.0"
2620 1690 }
2621 1691 },
2622   - "kind-of": {
2623   - "version": "6.0.2",
2624   - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
2625   - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
2626   - "optional": true
2627   - },
2628 1692 "komodo-sdk": {
2629   - "version": "git+http://gitlab.kodesumber.com/komodo/komodo-sdk.git#17d6742cb0372e55d72da39367708667e8ddd884",
  1693 + "version": "git+http://gitlab.kodesumber.com/komodo/komodo-sdk.git#5ac7f63452e7ad28467154574594918fed701a35",
2630 1694 "from": "git+http://gitlab.kodesumber.com/komodo/komodo-sdk.git",
2631 1695 "requires": {
2632 1696 "array-unique": "^0.3.2",
2633 1697 "basic-auth": "^2.0.0",
2634 1698 "body-parser": "^1.18.2",
2635 1699 "dot-object": "^1.7.0",
2636   - "express": "^4.16.3",
  1700 + "express": "^4.17.1",
2637 1701 "express-session": "^1.15.6",
2638 1702 "fs-copy-file": "^2.1.2",
2639 1703 "json-query": "^2.2.2",
2640 1704 "lru-cache": "^4.1.1",
2641   - "macaddress": "^0.2.8",
2642   - "moment": "^2.19.1",
  1705 + "macaddress": "^0.2.9",
  1706 + "moment": "^2.24.0",
2643 1707 "node-machine-id": "^1.1.10",
2644 1708 "node-natural-sort": "^0.8.6",
2645 1709 "numeral": "^2.0.6",
2646   - "nunjucks": "^3.0.1",
  1710 + "nunjucks": "^3.2.0",
2647 1711 "pkginfo": "^0.4.1",
2648 1712 "redis": "^2.8.0",
2649   - "request": "^2.81.0",
  1713 + "request": "^2.88.0",
2650 1714 "sha1": "^1.1.1",
2651 1715 "simple-git": "^1.80.1",
2652   - "sort-object": "^3.0.2",
2653 1716 "strftime": "^0.10.0",
2654 1717 "string-natural-compare": "^2.0.2",
2655 1718 "uniqid": "^4.1.1",
... ... @@ -2677,14 +1740,6 @@
2677 1740 "colornames": "^1.1.1"
2678 1741 }
2679 1742 },
2680   - "lcid": {
2681   - "version": "1.0.0",
2682   - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
2683   - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
2684   - "requires": {
2685   - "invert-kv": "^1.0.0"
2686   - }
2687   - },
2688 1743 "levn": {
2689 1744 "version": "0.3.0",
2690 1745 "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
... ... @@ -2722,6 +1777,15 @@
2722 1777 "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
2723 1778 "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A=="
2724 1779 },
  1780 + "log-symbols": {
  1781 + "version": "3.0.0",
  1782 + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz",
  1783 + "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==",
  1784 + "dev": true,
  1785 + "requires": {
  1786 + "chalk": "^2.4.2"
  1787 + }
  1788 + },
2725 1789 "logform": {
2726 1790 "version": "2.1.2",
2727 1791 "resolved": "https://registry.npmjs.org/logform/-/logform-2.1.2.tgz",
... ... @@ -2748,21 +1812,6 @@
2748 1812 "resolved": "https://registry.npmjs.org/macaddress/-/macaddress-0.2.9.tgz",
2749 1813 "integrity": "sha512-k4F1JUof6cQXxNFzx3thLby4oJzXTXQueAOOts944Vqizn+Rjc2QNFenT9FJSLU1CH3PmrHRSyZs2E+Cqw+P2w=="
2750 1814 },
2751   - "map-cache": {
2752   - "version": "0.2.2",
2753   - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
2754   - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
2755   - "optional": true
2756   - },
2757   - "map-visit": {
2758   - "version": "1.0.0",
2759   - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
2760   - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
2761   - "optional": true,
2762   - "requires": {
2763   - "object-visit": "^1.0.0"
2764   - }
2765   - },
2766 1815 "media-typer": {
2767 1816 "version": "0.3.0",
2768 1817 "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
... ... @@ -2778,27 +1827,6 @@
2778 1827 "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
2779 1828 "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4="
2780 1829 },
2781   - "micromatch": {
2782   - "version": "3.1.10",
2783   - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
2784   - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
2785   - "optional": true,
2786   - "requires": {
2787   - "arr-diff": "^4.0.0",
2788   - "array-unique": "^0.3.2",
2789   - "braces": "^2.3.1",
2790   - "define-property": "^2.0.2",
2791   - "extend-shallow": "^3.0.2",
2792   - "extglob": "^2.0.4",
2793   - "fragment-cache": "^0.2.1",
2794   - "kind-of": "^6.0.2",
2795   - "nanomatch": "^1.2.9",
2796   - "object.pick": "^1.3.0",
2797   - "regex-not": "^1.0.0",
2798   - "snapdragon": "^0.8.1",
2799   - "to-regex": "^3.0.2"
2800   - }
2801   - },
2802 1830 "mime": {
2803 1831 "version": "1.6.0",
2804 1832 "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
... ... @@ -2832,41 +1860,324 @@
2832 1860 }
2833 1861 },
2834 1862 "minimist": {
2835   - "version": "0.0.8",
2836   - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
2837   - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
  1863 + "version": "1.2.5",
  1864 + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
  1865 + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
2838 1866 "dev": true
2839 1867 },
2840   - "mixin-deep": {
2841   - "version": "1.3.2",
2842   - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
2843   - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
2844   - "optional": true,
  1868 + "mkdirp": {
  1869 + "version": "0.5.3",
  1870 + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz",
  1871 + "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==",
  1872 + "dev": true,
2845 1873 "requires": {
2846   - "for-in": "^1.0.2",
2847   - "is-extendable": "^1.0.1"
  1874 + "minimist": "^1.2.5"
  1875 + }
  1876 + },
  1877 + "mocha": {
  1878 + "version": "7.1.1",
  1879 + "resolved": "https://registry.npmjs.org/mocha/-/mocha-7.1.1.tgz",
  1880 + "integrity": "sha512-3qQsu3ijNS3GkWcccT5Zw0hf/rWvu1fTN9sPvEd81hlwsr30GX2GcDSSoBxo24IR8FelmrAydGC6/1J5QQP4WA==",
  1881 + "dev": true,
  1882 + "requires": {
  1883 + "ansi-colors": "3.2.3",
  1884 + "browser-stdout": "1.3.1",
  1885 + "chokidar": "3.3.0",
  1886 + "debug": "3.2.6",
  1887 + "diff": "3.5.0",
  1888 + "escape-string-regexp": "1.0.5",
  1889 + "find-up": "3.0.0",
  1890 + "glob": "7.1.3",
  1891 + "growl": "1.10.5",
  1892 + "he": "1.2.0",
  1893 + "js-yaml": "3.13.1",
  1894 + "log-symbols": "3.0.0",
  1895 + "minimatch": "3.0.4",
  1896 + "mkdirp": "0.5.3",
  1897 + "ms": "2.1.1",
  1898 + "node-environment-flags": "1.0.6",
  1899 + "object.assign": "4.1.0",
  1900 + "strip-json-comments": "2.0.1",
  1901 + "supports-color": "6.0.0",
  1902 + "which": "1.3.1",
  1903 + "wide-align": "1.1.3",
  1904 + "yargs": "13.3.2",
  1905 + "yargs-parser": "13.1.2",
  1906 + "yargs-unparser": "1.6.0"
2848 1907 },
2849 1908 "dependencies": {
2850   - "is-extendable": {
2851   - "version": "1.0.1",
2852   - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
2853   - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
2854   - "optional": true,
  1909 + "anymatch": {
  1910 + "version": "3.1.1",
  1911 + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
  1912 + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
  1913 + "dev": true,
  1914 + "requires": {
  1915 + "normalize-path": "^3.0.0",
  1916 + "picomatch": "^2.0.4"
  1917 + }
  1918 + },
  1919 + "binary-extensions": {
  1920 + "version": "2.0.0",
  1921 + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz",
  1922 + "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==",
  1923 + "dev": true
  1924 + },
  1925 + "braces": {
  1926 + "version": "3.0.2",
  1927 + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
  1928 + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
  1929 + "dev": true,
  1930 + "requires": {
  1931 + "fill-range": "^7.0.1"
  1932 + }
  1933 + },
  1934 + "chokidar": {
  1935 + "version": "3.3.0",
  1936 + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.0.tgz",
  1937 + "integrity": "sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==",
  1938 + "dev": true,
  1939 + "requires": {
  1940 + "anymatch": "~3.1.1",
  1941 + "braces": "~3.0.2",
  1942 + "fsevents": "~2.1.1",
  1943 + "glob-parent": "~5.1.0",
  1944 + "is-binary-path": "~2.1.0",
  1945 + "is-glob": "~4.0.1",
  1946 + "normalize-path": "~3.0.0",
  1947 + "readdirp": "~3.2.0"
  1948 + }
  1949 + },
  1950 + "cliui": {
  1951 + "version": "5.0.0",
  1952 + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
  1953 + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
  1954 + "dev": true,
  1955 + "requires": {
  1956 + "string-width": "^3.1.0",
  1957 + "strip-ansi": "^5.2.0",
  1958 + "wrap-ansi": "^5.1.0"
  1959 + }
  1960 + },
  1961 + "debug": {
  1962 + "version": "3.2.6",
  1963 + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
  1964 + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
  1965 + "dev": true,
  1966 + "requires": {
  1967 + "ms": "^2.1.1"
  1968 + }
  1969 + },
  1970 + "emoji-regex": {
  1971 + "version": "7.0.3",
  1972 + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
  1973 + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
  1974 + "dev": true
  1975 + },
  1976 + "fill-range": {
  1977 + "version": "7.0.1",
  1978 + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
  1979 + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
  1980 + "dev": true,
  1981 + "requires": {
  1982 + "to-regex-range": "^5.0.1"
  1983 + }
  1984 + },
  1985 + "find-up": {
  1986 + "version": "3.0.0",
  1987 + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
  1988 + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
  1989 + "dev": true,
  1990 + "requires": {
  1991 + "locate-path": "^3.0.0"
  1992 + }
  1993 + },
  1994 + "fsevents": {
  1995 + "version": "2.1.2",
  1996 + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.2.tgz",
  1997 + "integrity": "sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA==",
  1998 + "dev": true,
  1999 + "optional": true
  2000 + },
  2001 + "glob": {
  2002 + "version": "7.1.3",
  2003 + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
  2004 + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
  2005 + "dev": true,
  2006 + "requires": {
  2007 + "fs.realpath": "^1.0.0",
  2008 + "inflight": "^1.0.4",
  2009 + "inherits": "2",
  2010 + "minimatch": "^3.0.4",
  2011 + "once": "^1.3.0",
  2012 + "path-is-absolute": "^1.0.0"
  2013 + }
  2014 + },
  2015 + "glob-parent": {
  2016 + "version": "5.1.0",
  2017 + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz",
  2018 + "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==",
  2019 + "dev": true,
  2020 + "requires": {
  2021 + "is-glob": "^4.0.1"
  2022 + }
  2023 + },
  2024 + "is-binary-path": {
  2025 + "version": "2.1.0",
  2026 + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
  2027 + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
  2028 + "dev": true,
  2029 + "requires": {
  2030 + "binary-extensions": "^2.0.0"
  2031 + }
  2032 + },
  2033 + "is-fullwidth-code-point": {
  2034 + "version": "2.0.0",
  2035 + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
  2036 + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
  2037 + "dev": true
  2038 + },
  2039 + "is-number": {
  2040 + "version": "7.0.0",
  2041 + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
  2042 + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
  2043 + "dev": true
  2044 + },
  2045 + "locate-path": {
  2046 + "version": "3.0.0",
  2047 + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
  2048 + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
  2049 + "dev": true,
  2050 + "requires": {
  2051 + "p-locate": "^3.0.0",
  2052 + "path-exists": "^3.0.0"
  2053 + }
  2054 + },
  2055 + "minimist": {
  2056 + "version": "1.2.5",
  2057 + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
  2058 + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
  2059 + "dev": true
  2060 + },
  2061 + "mkdirp": {
  2062 + "version": "0.5.3",
  2063 + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz",
  2064 + "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==",
  2065 + "dev": true,
  2066 + "requires": {
  2067 + "minimist": "^1.2.5"
  2068 + }
  2069 + },
  2070 + "ms": {
  2071 + "version": "2.1.1",
  2072 + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
  2073 + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
  2074 + "dev": true
  2075 + },
  2076 + "p-limit": {
  2077 + "version": "2.2.2",
  2078 + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz",
  2079 + "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==",
  2080 + "dev": true,
  2081 + "requires": {
  2082 + "p-try": "^2.0.0"
  2083 + }
  2084 + },
  2085 + "p-locate": {
  2086 + "version": "3.0.0",
  2087 + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
  2088 + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
  2089 + "dev": true,
  2090 + "requires": {
  2091 + "p-limit": "^2.0.0"
  2092 + }
  2093 + },
  2094 + "p-try": {
  2095 + "version": "2.2.0",
  2096 + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
  2097 + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
  2098 + "dev": true
  2099 + },
  2100 + "readdirp": {
  2101 + "version": "3.2.0",
  2102 + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz",
  2103 + "integrity": "sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==",
  2104 + "dev": true,
  2105 + "requires": {
  2106 + "picomatch": "^2.0.4"
  2107 + }
  2108 + },
  2109 + "string-width": {
  2110 + "version": "3.1.0",
  2111 + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
  2112 + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
  2113 + "dev": true,
  2114 + "requires": {
  2115 + "emoji-regex": "^7.0.1",
  2116 + "is-fullwidth-code-point": "^2.0.0",
  2117 + "strip-ansi": "^5.1.0"
  2118 + }
  2119 + },
  2120 + "strip-json-comments": {
  2121 + "version": "2.0.1",
  2122 + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
  2123 + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
  2124 + "dev": true
  2125 + },
  2126 + "supports-color": {
  2127 + "version": "6.0.0",
  2128 + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz",
  2129 + "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==",
  2130 + "dev": true,
  2131 + "requires": {
  2132 + "has-flag": "^3.0.0"
  2133 + }
  2134 + },
  2135 + "to-regex-range": {
  2136 + "version": "5.0.1",
  2137 + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
  2138 + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
  2139 + "dev": true,
  2140 + "requires": {
  2141 + "is-number": "^7.0.0"
  2142 + }
  2143 + },
  2144 + "wrap-ansi": {
  2145 + "version": "5.1.0",
  2146 + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
  2147 + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
  2148 + "dev": true,
  2149 + "requires": {
  2150 + "ansi-styles": "^3.2.0",
  2151 + "string-width": "^3.0.0",
  2152 + "strip-ansi": "^5.0.0"
  2153 + }
  2154 + },
  2155 + "y18n": {
  2156 + "version": "4.0.0",
  2157 + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
  2158 + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
  2159 + "dev": true
  2160 + },
  2161 + "yargs": {
  2162 + "version": "13.3.2",
  2163 + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz",
  2164 + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==",
  2165 + "dev": true,
2855 2166 "requires": {
2856   - "is-plain-object": "^2.0.4"
  2167 + "cliui": "^5.0.0",
  2168 + "find-up": "^3.0.0",
  2169 + "get-caller-file": "^2.0.1",
  2170 + "require-directory": "^2.1.1",
  2171 + "require-main-filename": "^2.0.0",
  2172 + "set-blocking": "^2.0.0",
  2173 + "string-width": "^3.0.0",
  2174 + "which-module": "^2.0.0",
  2175 + "y18n": "^4.0.0",
  2176 + "yargs-parser": "^13.1.2"
2857 2177 }
2858 2178 }
2859 2179 }
2860 2180 },
2861   - "mkdirp": {
2862   - "version": "0.5.1",
2863   - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
2864   - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
2865   - "dev": true,
2866   - "requires": {
2867   - "minimist": "0.0.8"
2868   - }
2869   - },
2870 2181 "moment": {
2871 2182 "version": "2.24.0",
2872 2183 "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz",
... ... @@ -2883,31 +2194,6 @@
2883 2194 "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
2884 2195 "dev": true
2885 2196 },
2886   - "nan": {
2887   - "version": "2.14.0",
2888   - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz",
2889   - "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==",
2890   - "optional": true
2891   - },
2892   - "nanomatch": {
2893   - "version": "1.2.13",
2894   - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
2895   - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
2896   - "optional": true,
2897   - "requires": {
2898   - "arr-diff": "^4.0.0",
2899   - "array-unique": "^0.3.2",
2900   - "define-property": "^2.0.2",
2901   - "extend-shallow": "^3.0.2",
2902   - "fragment-cache": "^0.2.1",
2903   - "is-windows": "^1.0.2",
2904   - "kind-of": "^6.0.2",
2905   - "object.pick": "^1.3.0",
2906   - "regex-not": "^1.0.0",
2907   - "snapdragon": "^0.8.1",
2908   - "to-regex": "^3.0.1"
2909   - }
2910   - },
2911 2197 "natural-compare": {
2912 2198 "version": "1.4.0",
2913 2199 "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
... ... @@ -2925,6 +2211,24 @@
2925 2211 "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
2926 2212 "dev": true
2927 2213 },
  2214 + "node-environment-flags": {
  2215 + "version": "1.0.6",
  2216 + "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.6.tgz",
  2217 + "integrity": "sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw==",
  2218 + "dev": true,
  2219 + "requires": {
  2220 + "object.getownpropertydescriptors": "^2.0.3",
  2221 + "semver": "^5.7.0"
  2222 + },
  2223 + "dependencies": {
  2224 + "semver": {
  2225 + "version": "5.7.1",
  2226 + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
  2227 + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
  2228 + "dev": true
  2229 + }
  2230 + }
  2231 + },
2928 2232 "node-machine-id": {
2929 2233 "version": "1.1.12",
2930 2234 "resolved": "https://registry.npmjs.org/node-machine-id/-/node-machine-id-1.1.12.tgz",
... ... @@ -2958,13 +2262,7 @@
2958 2262 "normalize-path": {
2959 2263 "version": "3.0.0",
2960 2264 "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
2961   - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
2962   - "optional": true
2963   - },
2964   - "number-is-nan": {
2965   - "version": "1.0.1",
2966   - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
2967   - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0="
  2265 + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="
2968 2266 },
2969 2267 "numeral": {
2970 2268 "version": "2.0.6",
... ... @@ -2972,14 +2270,21 @@
2972 2270 "integrity": "sha1-StCAk21EPCVhrtnyGX7//iX05QY="
2973 2271 },
2974 2272 "nunjucks": {
2975   - "version": "3.2.0",
2976   - "resolved": "https://registry.npmjs.org/nunjucks/-/nunjucks-3.2.0.tgz",
2977   - "integrity": "sha512-YS/qEQ6N7qCnUdm6EoYRBfJUdWNT0PpKbbRnogV2XyXbBm2STIP1O6yrdZHgwMVK7fIYUx7i8+yatEixnXSB1w==",
  2273 + "version": "3.2.1",
  2274 + "resolved": "https://registry.npmjs.org/nunjucks/-/nunjucks-3.2.1.tgz",
  2275 + "integrity": "sha512-LYlVuC1ZNSalQQkLNNPvcgPt2M9FTY9bs39mTCuFXtqh7jWbYzhDlmz2M6onPiXEhdZo+b9anRhc+uBGuJZ2bQ==",
2978 2276 "requires": {
2979 2277 "a-sync-waterfall": "^1.0.0",
2980 2278 "asap": "^2.0.3",
2981   - "chokidar": "^2.0.0",
2982   - "yargs": "^3.32.0"
  2279 + "chokidar": "^3.3.0",
  2280 + "commander": "^3.0.2"
  2281 + },
  2282 + "dependencies": {
  2283 + "commander": {
  2284 + "version": "3.0.2",
  2285 + "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz",
  2286 + "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow=="
  2287 + }
2983 2288 }
2984 2289 },
2985 2290 "oauth-sign": {
... ... @@ -2987,57 +2292,23 @@
2987 2292 "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
2988 2293 "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="
2989 2294 },
2990   - "object-copy": {
2991   - "version": "0.1.0",
2992   - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
2993   - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
2994   - "optional": true,
2995   - "requires": {
2996   - "copy-descriptor": "^0.1.0",
2997   - "define-property": "^0.2.5",
2998   - "kind-of": "^3.0.3"
2999   - },
3000   - "dependencies": {
3001   - "define-property": {
3002   - "version": "0.2.5",
3003   - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
3004   - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
3005   - "optional": true,
3006   - "requires": {
3007   - "is-descriptor": "^0.1.0"
3008   - }
3009   - },
3010   - "kind-of": {
3011   - "version": "3.2.2",
3012   - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
3013   - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
3014   - "optional": true,
3015   - "requires": {
3016   - "is-buffer": "^1.1.5"
3017   - }
3018   - }
3019   - }
3020   - },
3021 2295 "object-hash": {
3022 2296 "version": "1.3.1",
3023 2297 "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-1.3.1.tgz",
3024 2298 "integrity": "sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA=="
3025 2299 },
  2300 + "object-inspect": {
  2301 + "version": "1.7.0",
  2302 + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz",
  2303 + "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==",
  2304 + "dev": true
  2305 + },
3026 2306 "object-keys": {
3027 2307 "version": "1.1.1",
3028 2308 "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
3029 2309 "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
3030 2310 "dev": true
3031 2311 },
3032   - "object-visit": {
3033   - "version": "1.0.1",
3034   - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
3035   - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
3036   - "optional": true,
3037   - "requires": {
3038   - "isobject": "^3.0.0"
3039   - }
3040   - },
3041 2312 "object.assign": {
3042 2313 "version": "4.1.0",
3043 2314 "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz",
... ... @@ -3062,13 +2333,67 @@
3062 2333 "has": "^1.0.3"
3063 2334 }
3064 2335 },
3065   - "object.pick": {
3066   - "version": "1.3.0",
3067   - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
3068   - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
3069   - "optional": true,
  2336 + "object.getownpropertydescriptors": {
  2337 + "version": "2.1.0",
  2338 + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz",
  2339 + "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==",
  2340 + "dev": true,
3070 2341 "requires": {
3071   - "isobject": "^3.0.1"
  2342 + "define-properties": "^1.1.3",
  2343 + "es-abstract": "^1.17.0-next.1"
  2344 + },
  2345 + "dependencies": {
  2346 + "es-abstract": {
  2347 + "version": "1.17.4",
  2348 + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.4.tgz",
  2349 + "integrity": "sha512-Ae3um/gb8F0mui/jPL+QiqmglkUsaQf7FwBEHYIFkztkneosu9imhqHpBzQ3h1vit8t5iQ74t6PEVvphBZiuiQ==",
  2350 + "dev": true,
  2351 + "requires": {
  2352 + "es-to-primitive": "^1.2.1",
  2353 + "function-bind": "^1.1.1",
  2354 + "has": "^1.0.3",
  2355 + "has-symbols": "^1.0.1",
  2356 + "is-callable": "^1.1.5",
  2357 + "is-regex": "^1.0.5",
  2358 + "object-inspect": "^1.7.0",
  2359 + "object-keys": "^1.1.1",
  2360 + "object.assign": "^4.1.0",
  2361 + "string.prototype.trimleft": "^2.1.1",
  2362 + "string.prototype.trimright": "^2.1.1"
  2363 + }
  2364 + },
  2365 + "es-to-primitive": {
  2366 + "version": "1.2.1",
  2367 + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
  2368 + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
  2369 + "dev": true,
  2370 + "requires": {
  2371 + "is-callable": "^1.1.4",
  2372 + "is-date-object": "^1.0.1",
  2373 + "is-symbol": "^1.0.2"
  2374 + }
  2375 + },
  2376 + "has-symbols": {
  2377 + "version": "1.0.1",
  2378 + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
  2379 + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
  2380 + "dev": true
  2381 + },
  2382 + "is-callable": {
  2383 + "version": "1.1.5",
  2384 + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz",
  2385 + "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==",
  2386 + "dev": true
  2387 + },
  2388 + "is-regex": {
  2389 + "version": "1.0.5",
  2390 + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz",
  2391 + "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==",
  2392 + "dev": true,
  2393 + "requires": {
  2394 + "has": "^1.0.3"
  2395 + }
  2396 + }
3072 2397 }
3073 2398 },
3074 2399 "object.values": {
... ... @@ -3119,25 +2444,17 @@
3119 2444 }
3120 2445 },
3121 2446 "optionator": {
3122   - "version": "0.8.2",
3123   - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
3124   - "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=",
  2447 + "version": "0.8.3",
  2448 + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
  2449 + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
3125 2450 "dev": true,
3126 2451 "requires": {
3127 2452 "deep-is": "~0.1.3",
3128   - "fast-levenshtein": "~2.0.4",
  2453 + "fast-levenshtein": "~2.0.6",
3129 2454 "levn": "~0.3.0",
3130 2455 "prelude-ls": "~1.1.2",
3131 2456 "type-check": "~0.3.2",
3132   - "wordwrap": "~1.0.0"
3133   - }
3134   - },
3135   - "os-locale": {
3136   - "version": "1.4.0",
3137   - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
3138   - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
3139   - "requires": {
3140   - "lcid": "^1.0.0"
  2457 + "word-wrap": "~1.2.3"
3141 2458 }
3142 2459 },
3143 2460 "os-tmpdir": {
... ... @@ -3193,18 +2510,6 @@
3193 2510 "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
3194 2511 "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="
3195 2512 },
3196   - "pascalcase": {
3197   - "version": "0.1.1",
3198   - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
3199   - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
3200   - "optional": true
3201   - },
3202   - "path-dirname": {
3203   - "version": "1.0.2",
3204   - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
3205   - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
3206   - "optional": true
3207   - },
3208 2513 "path-exists": {
3209 2514 "version": "3.0.0",
3210 2515 "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
... ... @@ -3247,6 +2552,11 @@
3247 2552 "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
3248 2553 "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
3249 2554 },
  2555 + "picomatch": {
  2556 + "version": "2.2.1",
  2557 + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.1.tgz",
  2558 + "integrity": "sha512-ISBaA8xQNmwELC7eOjqFKMESB2VIqt4PPDD0nsS95b/9dZXvVKOlz9keMSnoGGKcOHXfTvDD6WMaRoSc9UuhRA=="
  2559 + },
3250 2560 "pify": {
3251 2561 "version": "2.3.0",
3252 2562 "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
... ... @@ -3254,9 +2564,9 @@
3254 2564 "dev": true
3255 2565 },
3256 2566 "pipe-io": {
3257   - "version": "3.0.11",
3258   - "resolved": "https://registry.npmjs.org/pipe-io/-/pipe-io-3.0.11.tgz",
3259   - "integrity": "sha512-Mj9M+vdptBRBqHOf52kIDVeKVb2gLHuuqQyTemBfaK8J+5tdQhIL4RFP3bQ15G7+2Ib/RCHBinnRW7TJz4VuaA=="
  2567 + "version": "3.0.12",
  2568 + "resolved": "https://registry.npmjs.org/pipe-io/-/pipe-io-3.0.12.tgz",
  2569 + "integrity": "sha512-reR49NtpkVgedzCQ9DPV727VAZKw8Ax3N/3iQwD1vHxTmswsuhurFh0Z5woVNM1OhHDigKzDN7u4kNipAA9yyA=="
3260 2570 },
3261 2571 "pkg-dir": {
3262 2572 "version": "2.0.0",
... ... @@ -3272,12 +2582,6 @@
3272 2582 "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.1.tgz",
3273 2583 "integrity": "sha1-tUGO8EOd5UJfxJlQQtztFPsqhP8="
3274 2584 },
3275   - "posix-character-classes": {
3276   - "version": "0.1.1",
3277   - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
3278   - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
3279   - "optional": true
3280   - },
3281 2585 "prelude-ls": {
3282 2586 "version": "1.1.2",
3283 2587 "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
... ... @@ -3367,28 +2671,22 @@
3367 2671 }
3368 2672 },
3369 2673 "readable-stream": {
3370   - "version": "2.3.6",
3371   - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
3372   - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
  2674 + "version": "3.6.0",
  2675 + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
  2676 + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
3373 2677 "requires": {
3374   - "core-util-is": "~1.0.0",
3375   - "inherits": "~2.0.3",
3376   - "isarray": "~1.0.0",
3377   - "process-nextick-args": "~2.0.0",
3378   - "safe-buffer": "~5.1.1",
3379   - "string_decoder": "~1.1.1",
3380   - "util-deprecate": "~1.0.1"
  2678 + "inherits": "^2.0.3",
  2679 + "string_decoder": "^1.1.1",
  2680 + "util-deprecate": "^1.0.1"
3381 2681 }
3382 2682 },
3383 2683 "readdirp": {
3384   - "version": "2.2.1",
3385   - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
3386   - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
  2684 + "version": "3.3.0",
  2685 + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.3.0.tgz",
  2686 + "integrity": "sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==",
3387 2687 "optional": true,
3388 2688 "requires": {
3389   - "graceful-fs": "^4.1.11",
3390   - "micromatch": "^3.1.10",
3391   - "readable-stream": "^2.0.2"
  2689 + "picomatch": "^2.0.7"
3392 2690 }
3393 2691 },
3394 2692 "redis": {
... ... @@ -3411,40 +2709,12 @@
3411 2709 "resolved": "https://registry.npmjs.org/redis-parser/-/redis-parser-2.6.0.tgz",
3412 2710 "integrity": "sha1-Uu0J2srBCPGmMcB+m2mUHnoZUEs="
3413 2711 },
3414   - "regex-not": {
3415   - "version": "1.0.2",
3416   - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
3417   - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
3418   - "optional": true,
3419   - "requires": {
3420   - "extend-shallow": "^3.0.2",
3421   - "safe-regex": "^1.1.0"
3422   - }
3423   - },
3424 2712 "regexpp": {
3425 2713 "version": "2.0.1",
3426 2714 "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz",
3427 2715 "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==",
3428 2716 "dev": true
3429 2717 },
3430   - "remove-trailing-separator": {
3431   - "version": "1.1.0",
3432   - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
3433   - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
3434   - "optional": true
3435   - },
3436   - "repeat-element": {
3437   - "version": "1.1.3",
3438   - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
3439   - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==",
3440   - "optional": true
3441   - },
3442   - "repeat-string": {
3443   - "version": "1.6.1",
3444   - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
3445   - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
3446   - "optional": true
3447   - },
3448 2718 "request": {
3449 2719 "version": "2.88.0",
3450 2720 "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
... ... @@ -3479,6 +2749,18 @@
3479 2749 }
3480 2750 }
3481 2751 },
  2752 + "require-directory": {
  2753 + "version": "2.1.1",
  2754 + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
  2755 + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
  2756 + "dev": true
  2757 + },
  2758 + "require-main-filename": {
  2759 + "version": "2.0.0",
  2760 + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
  2761 + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
  2762 + "dev": true
  2763 + },
3482 2764 "resolve": {
3483 2765 "version": "1.12.0",
3484 2766 "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz",
... ... @@ -3494,12 +2776,6 @@
3494 2776 "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
3495 2777 "dev": true
3496 2778 },
3497   - "resolve-url": {
3498   - "version": "0.2.1",
3499   - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
3500   - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
3501   - "optional": true
3502   - },
3503 2779 "restore-cursor": {
3504 2780 "version": "3.1.0",
3505 2781 "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
... ... @@ -3510,12 +2786,6 @@
3510 2786 "signal-exit": "^3.0.2"
3511 2787 }
3512 2788 },
3513   - "ret": {
3514   - "version": "0.1.15",
3515   - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
3516   - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
3517   - "optional": true
3518   - },
3519 2789 "rimraf": {
3520 2790 "version": "2.6.3",
3521 2791 "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
... ... @@ -3526,18 +2796,18 @@
3526 2796 }
3527 2797 },
3528 2798 "run-async": {
3529   - "version": "2.3.0",
3530   - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
3531   - "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
  2799 + "version": "2.4.0",
  2800 + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.0.tgz",
  2801 + "integrity": "sha512-xJTbh/d7Lm7SBhc1tNvTpeCHaEzoyxPrqNlvSdMfBTYwaY++UJFyXUOxAtsRUXjlqOfj8luNaR9vjCh4KeV+pg==",
3532 2802 "dev": true,
3533 2803 "requires": {
3534 2804 "is-promise": "^2.1.0"
3535 2805 }
3536 2806 },
3537 2807 "rxjs": {
3538   - "version": "6.5.2",
3539   - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.2.tgz",
3540   - "integrity": "sha512-HUb7j3kvb7p7eCUHE3FqjoDsC1xfZQ4AHFWfTKSpZ+sAhhz5X1WX0ZuUqWbzB2QhSLp3DoLUG+hMdEDKqWo2Zg==",
  2808 + "version": "6.5.4",
  2809 + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz",
  2810 + "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==",
3541 2811 "dev": true,
3542 2812 "requires": {
3543 2813 "tslib": "^1.9.0"
... ... @@ -3548,15 +2818,6 @@
3548 2818 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
3549 2819 "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
3550 2820 },
3551   - "safe-regex": {
3552   - "version": "1.1.0",
3553   - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
3554   - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
3555   - "optional": true,
3556   - "requires": {
3557   - "ret": "~0.1.10"
3558   - }
3559   - },
3560 2821 "safer-buffer": {
3561 2822 "version": "2.1.2",
3562 2823 "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
... ... @@ -3620,28 +2881,11 @@
3620 2881 "send": "0.17.1"
3621 2882 }
3622 2883 },
3623   - "set-value": {
3624   - "version": "2.0.1",
3625   - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
3626   - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
3627   - "optional": true,
3628   - "requires": {
3629   - "extend-shallow": "^2.0.1",
3630   - "is-extendable": "^0.1.1",
3631   - "is-plain-object": "^2.0.3",
3632   - "split-string": "^3.0.1"
3633   - },
3634   - "dependencies": {
3635   - "extend-shallow": {
3636   - "version": "2.0.1",
3637   - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
3638   - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
3639   - "optional": true,
3640   - "requires": {
3641   - "is-extendable": "^0.1.0"
3642   - }
3643   - }
3644   - }
  2884 + "set-blocking": {
  2885 + "version": "2.0.0",
  2886 + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
  2887 + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
  2888 + "dev": true
3645 2889 },
3646 2890 "setprototypeof": {
3647 2891 "version": "1.1.1",
... ... @@ -3672,6 +2916,60 @@
3672 2916 "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
3673 2917 "dev": true
3674 2918 },
  2919 + "should": {
  2920 + "version": "13.2.3",
  2921 + "resolved": "https://registry.npmjs.org/should/-/should-13.2.3.tgz",
  2922 + "integrity": "sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ==",
  2923 + "dev": true,
  2924 + "requires": {
  2925 + "should-equal": "^2.0.0",
  2926 + "should-format": "^3.0.3",
  2927 + "should-type": "^1.4.0",
  2928 + "should-type-adaptors": "^1.0.1",
  2929 + "should-util": "^1.0.0"
  2930 + }
  2931 + },
  2932 + "should-equal": {
  2933 + "version": "2.0.0",
  2934 + "resolved": "https://registry.npmjs.org/should-equal/-/should-equal-2.0.0.tgz",
  2935 + "integrity": "sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA==",
  2936 + "dev": true,
  2937 + "requires": {
  2938 + "should-type": "^1.4.0"
  2939 + }
  2940 + },
  2941 + "should-format": {
  2942 + "version": "3.0.3",
  2943 + "resolved": "https://registry.npmjs.org/should-format/-/should-format-3.0.3.tgz",
  2944 + "integrity": "sha1-m/yPdPo5IFxT04w01xcwPidxJPE=",
  2945 + "dev": true,
  2946 + "requires": {
  2947 + "should-type": "^1.3.0",
  2948 + "should-type-adaptors": "^1.0.1"
  2949 + }
  2950 + },
  2951 + "should-type": {
  2952 + "version": "1.4.0",
  2953 + "resolved": "https://registry.npmjs.org/should-type/-/should-type-1.4.0.tgz",
  2954 + "integrity": "sha1-B1bYzoRt/QmEOmlHcZ36DUz/XPM=",
  2955 + "dev": true
  2956 + },
  2957 + "should-type-adaptors": {
  2958 + "version": "1.1.0",
  2959 + "resolved": "https://registry.npmjs.org/should-type-adaptors/-/should-type-adaptors-1.1.0.tgz",
  2960 + "integrity": "sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA==",
  2961 + "dev": true,
  2962 + "requires": {
  2963 + "should-type": "^1.3.0",
  2964 + "should-util": "^1.0.0"
  2965 + }
  2966 + },
  2967 + "should-util": {
  2968 + "version": "1.0.1",
  2969 + "resolved": "https://registry.npmjs.org/should-util/-/should-util-1.0.1.tgz",
  2970 + "integrity": "sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g==",
  2971 + "dev": true
  2972 + },
3675 2973 "signal-exit": {
3676 2974 "version": "3.0.2",
3677 2975 "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
... ... @@ -3679,9 +2977,9 @@
3679 2977 "dev": true
3680 2978 },
3681 2979 "simple-git": {
3682   - "version": "1.124.0",
3683   - "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-1.124.0.tgz",
3684   - "integrity": "sha512-ks9mBoO4ODQy/xGLC8Cc+YDvj/hho/IKgPhi6h5LI/sA+YUdHc3v0DEoHzM29VmulubpGCxMJUSFmyXNsjNMEA==",
  2980 + "version": "1.132.0",
  2981 + "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-1.132.0.tgz",
  2982 + "integrity": "sha512-xauHm1YqCTom1sC9eOjfq3/9RKiUA9iPnxBbrY2DdL8l4ADMu0jjM5l5lphQP5YWNqAL2aXC/OeuQ76vHtW5fg==",
3685 2983 "requires": {
3686 2984 "debug": "^4.0.1"
3687 2985 }
... ... @@ -3697,231 +2995,29 @@
3697 2995 "is-arrayish": {
3698 2996 "version": "0.3.2",
3699 2997 "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
3700   - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ=="
3701   - }
3702   - }
3703   - },
3704   - "slice-ansi": {
3705   - "version": "2.1.0",
3706   - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
3707   - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
3708   - "dev": true,
3709   - "requires": {
3710   - "ansi-styles": "^3.2.0",
3711   - "astral-regex": "^1.0.0",
3712   - "is-fullwidth-code-point": "^2.0.0"
3713   - },
3714   - "dependencies": {
3715   - "is-fullwidth-code-point": {
3716   - "version": "2.0.0",
3717   - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
3718   - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
3719   - "dev": true
3720   - }
3721   - }
3722   - },
3723   - "snapdragon": {
3724   - "version": "0.8.2",
3725   - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
3726   - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
3727   - "optional": true,
3728   - "requires": {
3729   - "base": "^0.11.1",
3730   - "debug": "^2.2.0",
3731   - "define-property": "^0.2.5",
3732   - "extend-shallow": "^2.0.1",
3733   - "map-cache": "^0.2.2",
3734   - "source-map": "^0.5.6",
3735   - "source-map-resolve": "^0.5.0",
3736   - "use": "^3.1.0"
3737   - },
3738   - "dependencies": {
3739   - "debug": {
3740   - "version": "2.6.9",
3741   - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
3742   - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
3743   - "optional": true,
3744   - "requires": {
3745   - "ms": "2.0.0"
3746   - }
3747   - },
3748   - "define-property": {
3749   - "version": "0.2.5",
3750   - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
3751   - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
3752   - "optional": true,
3753   - "requires": {
3754   - "is-descriptor": "^0.1.0"
3755   - }
3756   - },
3757   - "extend-shallow": {
3758   - "version": "2.0.1",
3759   - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
3760   - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
3761   - "optional": true,
3762   - "requires": {
3763   - "is-extendable": "^0.1.0"
3764   - }
3765   - },
3766   - "ms": {
3767   - "version": "2.0.0",
3768   - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
3769   - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
3770   - "optional": true
3771   - }
3772   - }
3773   - },
3774   - "snapdragon-node": {
3775   - "version": "2.1.1",
3776   - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
3777   - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
3778   - "optional": true,
3779   - "requires": {
3780   - "define-property": "^1.0.0",
3781   - "isobject": "^3.0.0",
3782   - "snapdragon-util": "^3.0.1"
3783   - },
3784   - "dependencies": {
3785   - "define-property": {
3786   - "version": "1.0.0",
3787   - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
3788   - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
3789   - "optional": true,
3790   - "requires": {
3791   - "is-descriptor": "^1.0.0"
3792   - }
3793   - },
3794   - "is-accessor-descriptor": {
3795   - "version": "1.0.0",
3796   - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
3797   - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
3798   - "optional": true,
3799   - "requires": {
3800   - "kind-of": "^6.0.0"
3801   - }
3802   - },
3803   - "is-data-descriptor": {
3804   - "version": "1.0.0",
3805   - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
3806   - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
3807   - "optional": true,
3808   - "requires": {
3809   - "kind-of": "^6.0.0"
3810   - }
3811   - },
3812   - "is-descriptor": {
3813   - "version": "1.0.2",
3814   - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
3815   - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
3816   - "optional": true,
3817   - "requires": {
3818   - "is-accessor-descriptor": "^1.0.0",
3819   - "is-data-descriptor": "^1.0.0",
3820   - "kind-of": "^6.0.2"
3821   - }
3822   - }
3823   - }
3824   - },
3825   - "snapdragon-util": {
3826   - "version": "3.0.1",
3827   - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
3828   - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
3829   - "optional": true,
3830   - "requires": {
3831   - "kind-of": "^3.2.0"
3832   - },
3833   - "dependencies": {
3834   - "kind-of": {
3835   - "version": "3.2.2",
3836   - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
3837   - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
3838   - "optional": true,
3839   - "requires": {
3840   - "is-buffer": "^1.1.5"
3841   - }
3842   - }
3843   - }
3844   - },
3845   - "sort-asc": {
3846   - "version": "0.2.0",
3847   - "resolved": "https://registry.npmjs.org/sort-asc/-/sort-asc-0.2.0.tgz",
3848   - "integrity": "sha1-AKSelHvCXVEL/eLLuN/9qfUOsvw="
3849   - },
3850   - "sort-desc": {
3851   - "version": "0.2.0",
3852   - "resolved": "https://registry.npmjs.org/sort-desc/-/sort-desc-0.2.0.tgz",
3853   - "integrity": "sha1-KAwb2vxld4h87brR7S5BwDeXZkY="
3854   - },
3855   - "sort-object": {
3856   - "version": "3.0.2",
3857   - "resolved": "https://registry.npmjs.org/sort-object/-/sort-object-3.0.2.tgz",
3858   - "integrity": "sha1-2vK2k/YR990qIbgrgF5OrCMPdV4=",
3859   - "requires": {
3860   - "bytewise": "^1.1.0",
3861   - "get-value": "^2.0.2",
3862   - "is-extendable": "^0.1.1",
3863   - "sort-asc": "^0.2.0",
3864   - "sort-desc": "^0.2.0",
3865   - "union-value": "^0.2.3"
3866   - },
3867   - "dependencies": {
3868   - "extend-shallow": {
3869   - "version": "2.0.1",
3870   - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
3871   - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
3872   - "requires": {
3873   - "is-extendable": "^0.1.0"
3874   - }
3875   - },
3876   - "set-value": {
3877   - "version": "0.4.3",
3878   - "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz",
3879   - "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=",
3880   - "requires": {
3881   - "extend-shallow": "^2.0.1",
3882   - "is-extendable": "^0.1.1",
3883   - "is-plain-object": "^2.0.1",
3884   - "to-object-path": "^0.3.0"
3885   - }
3886   - },
3887   - "union-value": {
3888   - "version": "0.2.4",
3889   - "resolved": "https://registry.npmjs.org/union-value/-/union-value-0.2.4.tgz",
3890   - "integrity": "sha1-c3UVJ4ZnkFfns3qmdug0aPwCdPA=",
3891   - "requires": {
3892   - "arr-union": "^3.1.0",
3893   - "get-value": "^2.0.6",
3894   - "is-extendable": "^0.1.1",
3895   - "set-value": "^0.4.3"
3896   - }
  2998 + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ=="
3897 2999 }
3898 3000 }
3899 3001 },
3900   - "source-map": {
3901   - "version": "0.5.7",
3902   - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
3903   - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
3904   - "optional": true
3905   - },
3906   - "source-map-resolve": {
3907   - "version": "0.5.2",
3908   - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz",
3909   - "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==",
3910   - "optional": true,
  3002 + "slice-ansi": {
  3003 + "version": "2.1.0",
  3004 + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
  3005 + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
  3006 + "dev": true,
3911 3007 "requires": {
3912   - "atob": "^2.1.1",
3913   - "decode-uri-component": "^0.2.0",
3914   - "resolve-url": "^0.2.1",
3915   - "source-map-url": "^0.4.0",
3916   - "urix": "^0.1.0"
  3008 + "ansi-styles": "^3.2.0",
  3009 + "astral-regex": "^1.0.0",
  3010 + "is-fullwidth-code-point": "^2.0.0"
  3011 + },
  3012 + "dependencies": {
  3013 + "is-fullwidth-code-point": {
  3014 + "version": "2.0.0",
  3015 + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
  3016 + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
  3017 + "dev": true
  3018 + }
3917 3019 }
3918 3020 },
3919   - "source-map-url": {
3920   - "version": "0.4.0",
3921   - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
3922   - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
3923   - "optional": true
3924   - },
3925 3021 "spdx-correct": {
3926 3022 "version": "3.1.0",
3927 3023 "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz",
... ... @@ -3954,15 +3050,6 @@
3954 3050 "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==",
3955 3051 "dev": true
3956 3052 },
3957   - "split-string": {
3958   - "version": "3.1.0",
3959   - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
3960   - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
3961   - "optional": true,
3962   - "requires": {
3963   - "extend-shallow": "^3.0.0"
3964   - }
3965   - },
3966 3053 "sprintf-js": {
3967 3054 "version": "1.0.3",
3968 3055 "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
... ... @@ -3990,27 +3077,6 @@
3990 3077 "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz",
3991 3078 "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA="
3992 3079 },
3993   - "static-extend": {
3994   - "version": "0.1.2",
3995   - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
3996   - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
3997   - "optional": true,
3998   - "requires": {
3999   - "define-property": "^0.2.5",
4000   - "object-copy": "^0.1.0"
4001   - },
4002   - "dependencies": {
4003   - "define-property": {
4004   - "version": "0.2.5",
4005   - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
4006   - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
4007   - "optional": true,
4008   - "requires": {
4009   - "is-descriptor": "^0.1.0"
4010   - }
4011   - }
4012   - }
4013   - },
4014 3080 "statuses": {
4015 3081 "version": "1.5.0",
4016 3082 "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
... ... @@ -4027,22 +3093,66 @@
4027 3093 "integrity": "sha512-4Kcl12rNjc+6EKhY8QyDVuQTAlMWwRiNbsxnVwBUKFr7dYPQuXVrtNU4sEkjF9LHY0AY6uVbB3ktbkIH4LC+BQ=="
4028 3094 },
4029 3095 "string-width": {
4030   - "version": "4.1.0",
4031   - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.1.0.tgz",
4032   - "integrity": "sha512-NrX+1dVVh+6Y9dnQ19pR0pP4FiEIlUvdTGn8pw6CKTNq5sgib2nIhmUNT5TAmhWmvKr3WcxBcP3E8nWezuipuQ==",
  3096 + "version": "4.2.0",
  3097 + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
  3098 + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
4033 3099 "dev": true,
4034 3100 "requires": {
4035 3101 "emoji-regex": "^8.0.0",
4036 3102 "is-fullwidth-code-point": "^3.0.0",
4037   - "strip-ansi": "^5.2.0"
  3103 + "strip-ansi": "^6.0.0"
  3104 + },
  3105 + "dependencies": {
  3106 + "ansi-regex": {
  3107 + "version": "5.0.0",
  3108 + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
  3109 + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
  3110 + "dev": true
  3111 + },
  3112 + "strip-ansi": {
  3113 + "version": "6.0.0",
  3114 + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
  3115 + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
  3116 + "dev": true,
  3117 + "requires": {
  3118 + "ansi-regex": "^5.0.0"
  3119 + }
  3120 + }
  3121 + }
  3122 + },
  3123 + "string.prototype.trimleft": {
  3124 + "version": "2.1.1",
  3125 + "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz",
  3126 + "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==",
  3127 + "dev": true,
  3128 + "requires": {
  3129 + "define-properties": "^1.1.3",
  3130 + "function-bind": "^1.1.1"
  3131 + }
  3132 + },
  3133 + "string.prototype.trimright": {
  3134 + "version": "2.1.1",
  3135 + "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz",
  3136 + "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==",
  3137 + "dev": true,
  3138 + "requires": {
  3139 + "define-properties": "^1.1.3",
  3140 + "function-bind": "^1.1.1"
4038 3141 }
4039 3142 },
4040 3143 "string_decoder": {
4041   - "version": "1.1.1",
4042   - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
4043   - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
  3144 + "version": "1.3.0",
  3145 + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
  3146 + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
4044 3147 "requires": {
4045   - "safe-buffer": "~5.1.0"
  3148 + "safe-buffer": "~5.2.0"
  3149 + },
  3150 + "dependencies": {
  3151 + "safe-buffer": {
  3152 + "version": "5.2.0",
  3153 + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz",
  3154 + "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg=="
  3155 + }
4046 3156 }
4047 3157 },
4048 3158 "strip-ansi": {
... ... @@ -4076,9 +3186,9 @@
4076 3186 }
4077 3187 },
4078 3188 "table": {
4079   - "version": "5.4.5",
4080   - "resolved": "https://registry.npmjs.org/table/-/table-5.4.5.tgz",
4081   - "integrity": "sha512-oGa2Hl7CQjfoaogtrOHEJroOcYILTx7BZWLGsJIlzoWmB2zmguhNfPJZsWPKYek/MgCxfco54gEi31d1uN2hFA==",
  3189 + "version": "5.4.6",
  3190 + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
  3191 + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
4082 3192 "dev": true,
4083 3193 "requires": {
4084 3194 "ajv": "^6.10.2",
... ... @@ -4138,44 +3248,13 @@
4138 3248 "os-tmpdir": "~1.0.2"
4139 3249 }
4140 3250 },
4141   - "to-object-path": {
4142   - "version": "0.3.0",
4143   - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
4144   - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
4145   - "requires": {
4146   - "kind-of": "^3.0.2"
4147   - },
4148   - "dependencies": {
4149   - "kind-of": {
4150   - "version": "3.2.2",
4151   - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
4152   - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
4153   - "requires": {
4154   - "is-buffer": "^1.1.5"
4155   - }
4156   - }
4157   - }
4158   - },
4159   - "to-regex": {
4160   - "version": "3.0.2",
4161   - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
4162   - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
4163   - "optional": true,
4164   - "requires": {
4165   - "define-property": "^2.0.2",
4166   - "extend-shallow": "^3.0.2",
4167   - "regex-not": "^1.0.2",
4168   - "safe-regex": "^1.1.0"
4169   - }
4170   - },
4171 3251 "to-regex-range": {
4172   - "version": "2.1.1",
4173   - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
4174   - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
  3252 + "version": "5.0.1",
  3253 + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
  3254 + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
4175 3255 "optional": true,
4176 3256 "requires": {
4177   - "is-number": "^3.0.0",
4178   - "repeat-string": "^1.6.1"
  3257 + "is-number": "^7.0.0"
4179 3258 }
4180 3259 },
4181 3260 "toidentifier": {
... ... @@ -4205,9 +3284,9 @@
4205 3284 "integrity": "sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw=="
4206 3285 },
4207 3286 "tslib": {
4208   - "version": "1.10.0",
4209   - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz",
4210   - "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==",
  3287 + "version": "1.11.1",
  3288 + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz",
  3289 + "integrity": "sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==",
4211 3290 "dev": true
4212 3291 },
4213 3292 "tunnel-agent": {
... ... @@ -4233,9 +3312,9 @@
4233 3312 }
4234 3313 },
4235 3314 "type-fest": {
4236   - "version": "0.5.2",
4237   - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.5.2.tgz",
4238   - "integrity": "sha512-DWkS49EQKVX//Tbupb9TFa19c7+MK1XmzkrZUR8TAktmE/DizXoaoJV6TZ/tSIPXipqNiRI6CyAe7x69Jb6RSw==",
  3315 + "version": "0.8.1",
  3316 + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
  3317 + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
4239 3318 "dev": true
4240 3319 },
4241 3320 "type-is": {
... ... @@ -4247,19 +3326,6 @@
4247 3326 "mime-types": "~2.1.24"
4248 3327 }
4249 3328 },
4250   - "typewise": {
4251   - "version": "1.0.3",
4252   - "resolved": "https://registry.npmjs.org/typewise/-/typewise-1.0.3.tgz",
4253   - "integrity": "sha1-EGeTZUCvl5N8xdz5kiSG6fooRlE=",
4254   - "requires": {
4255   - "typewise-core": "^1.2.0"
4256   - }
4257   - },
4258   - "typewise-core": {
4259   - "version": "1.2.0",
4260   - "resolved": "https://registry.npmjs.org/typewise-core/-/typewise-core-1.2.0.tgz",
4261   - "integrity": "sha1-l+uRgFx/VdL5QXSPpQ0xXZke8ZU="
4262   - },
4263 3329 "uid-safe": {
4264 3330 "version": "2.1.5",
4265 3331 "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz",
... ... @@ -4268,18 +3334,6 @@
4268 3334 "random-bytes": "~1.0.0"
4269 3335 }
4270 3336 },
4271   - "union-value": {
4272   - "version": "1.0.1",
4273   - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
4274   - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
4275   - "optional": true,
4276   - "requires": {
4277   - "arr-union": "^3.1.0",
4278   - "get-value": "^2.0.6",
4279   - "is-extendable": "^0.1.1",
4280   - "set-value": "^2.0.1"
4281   - }
4282   - },
4283 3337 "uniqid": {
4284 3338 "version": "5.0.3",
4285 3339 "resolved": "https://registry.npmjs.org/uniqid/-/uniqid-5.0.3.tgz",
... ... @@ -4290,52 +3344,6 @@
4290 3344 "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
4291 3345 "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
4292 3346 },
4293   - "unset-value": {
4294   - "version": "1.0.0",
4295   - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
4296   - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
4297   - "optional": true,
4298   - "requires": {
4299   - "has-value": "^0.3.1",
4300   - "isobject": "^3.0.0"
4301   - },
4302   - "dependencies": {
4303   - "has-value": {
4304   - "version": "0.3.1",
4305   - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
4306   - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
4307   - "optional": true,
4308   - "requires": {
4309   - "get-value": "^2.0.3",
4310   - "has-values": "^0.1.4",
4311   - "isobject": "^2.0.0"
4312   - },
4313   - "dependencies": {
4314   - "isobject": {
4315   - "version": "2.1.0",
4316   - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
4317   - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
4318   - "optional": true,
4319   - "requires": {
4320   - "isarray": "1.0.0"
4321   - }
4322   - }
4323   - }
4324   - },
4325   - "has-values": {
4326   - "version": "0.1.4",
4327   - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
4328   - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
4329   - "optional": true
4330   - }
4331   - }
4332   - },
4333   - "upath": {
4334   - "version": "1.1.2",
4335   - "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.2.tgz",
4336   - "integrity": "sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q==",
4337   - "optional": true
4338   - },
4339 3347 "uri-js": {
4340 3348 "version": "4.2.2",
4341 3349 "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
... ... @@ -4344,18 +3352,6 @@
4344 3352 "punycode": "^2.1.0"
4345 3353 }
4346 3354 },
4347   - "urix": {
4348   - "version": "0.1.0",
4349   - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
4350   - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
4351   - "optional": true
4352   - },
4353   - "use": {
4354   - "version": "3.1.1",
4355   - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
4356   - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
4357   - "optional": true
4358   - },
4359 3355 "util-deprecate": {
4360 3356 "version": "1.0.2",
4361 3357 "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
... ... @@ -4411,10 +3407,53 @@
4411 3407 "isexe": "^2.0.0"
4412 3408 }
4413 3409 },
4414   - "window-size": {
4415   - "version": "0.1.4",
4416   - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz",
4417   - "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY="
  3410 + "which-module": {
  3411 + "version": "2.0.0",
  3412 + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
  3413 + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
  3414 + "dev": true
  3415 + },
  3416 + "wide-align": {
  3417 + "version": "1.1.3",
  3418 + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz",
  3419 + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
  3420 + "dev": true,
  3421 + "requires": {
  3422 + "string-width": "^1.0.2 || 2"
  3423 + },
  3424 + "dependencies": {
  3425 + "ansi-regex": {
  3426 + "version": "3.0.0",
  3427 + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
  3428 + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
  3429 + "dev": true
  3430 + },
  3431 + "is-fullwidth-code-point": {
  3432 + "version": "2.0.0",
  3433 + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
  3434 + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
  3435 + "dev": true
  3436 + },
  3437 + "string-width": {
  3438 + "version": "2.1.1",
  3439 + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
  3440 + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
  3441 + "dev": true,
  3442 + "requires": {
  3443 + "is-fullwidth-code-point": "^2.0.0",
  3444 + "strip-ansi": "^4.0.0"
  3445 + }
  3446 + },
  3447 + "strip-ansi": {
  3448 + "version": "4.0.0",
  3449 + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
  3450 + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
  3451 + "dev": true,
  3452 + "requires": {
  3453 + "ansi-regex": "^3.0.0"
  3454 + }
  3455 + }
  3456 + }
4418 3457 },
4419 3458 "winston": {
4420 3459 "version": "3.2.1",
... ... @@ -4430,18 +3469,6 @@
4430 3469 "stack-trace": "0.0.x",
4431 3470 "triple-beam": "^1.3.0",
4432 3471 "winston-transport": "^4.3.0"
4433   - },
4434   - "dependencies": {
4435   - "readable-stream": {
4436   - "version": "3.4.0",
4437   - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz",
4438   - "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==",
4439   - "requires": {
4440   - "inherits": "^2.0.3",
4441   - "string_decoder": "^1.1.1",
4442   - "util-deprecate": "^1.0.1"
4443   - }
4444   - }
4445 3472 }
4446 3473 },
4447 3474 "winston-circular-buffer": {
... ... @@ -4453,9 +3480,9 @@
4453 3480 }
4454 3481 },
4455 3482 "winston-compat": {
4456   - "version": "0.1.4",
4457   - "resolved": "https://registry.npmjs.org/winston-compat/-/winston-compat-0.1.4.tgz",
4458   - "integrity": "sha512-mMEfFsSm6GmkFF+f4/0UJtG4N1vSaczGmXLVJYmS/+u2zUaIPcw2ZRuwUg2TvVBjswgiraN+vNnAG8z4fRUZ4w==",
  3483 + "version": "0.1.5",
  3484 + "resolved": "https://registry.npmjs.org/winston-compat/-/winston-compat-0.1.5.tgz",
  3485 + "integrity": "sha512-EPvPcHT604AV3Ji6d3+vX8ENKIml9VSxMRnPQ+cuK/FX6f3hvPP2hxyoeeCOCFvDrJEujalfcKWlWPvAnFyS9g==",
4459 3486 "requires": {
4460 3487 "cycle": "~1.0.3",
4461 3488 "logform": "^1.6.0",
... ... @@ -4496,56 +3523,38 @@
4496 3523 "requires": {
4497 3524 "readable-stream": "^2.3.6",
4498 3525 "triple-beam": "^1.2.0"
4499   - }
4500   - },
4501   - "wordwrap": {
4502   - "version": "1.0.0",
4503   - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
4504   - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
4505   - "dev": true
4506   - },
4507   - "wrap-ansi": {
4508   - "version": "2.1.0",
4509   - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
4510   - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
4511   - "requires": {
4512   - "string-width": "^1.0.1",
4513   - "strip-ansi": "^3.0.1"
4514 3526 },
4515 3527 "dependencies": {
4516   - "ansi-regex": {
4517   - "version": "2.1.1",
4518   - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
4519   - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
4520   - },
4521   - "is-fullwidth-code-point": {
4522   - "version": "1.0.0",
4523   - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
4524   - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
4525   - "requires": {
4526   - "number-is-nan": "^1.0.0"
4527   - }
4528   - },
4529   - "string-width": {
4530   - "version": "1.0.2",
4531   - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
4532   - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
  3528 + "readable-stream": {
  3529 + "version": "2.3.7",
  3530 + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
  3531 + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
4533 3532 "requires": {
4534   - "code-point-at": "^1.0.0",
4535   - "is-fullwidth-code-point": "^1.0.0",
4536   - "strip-ansi": "^3.0.0"
  3533 + "core-util-is": "~1.0.0",
  3534 + "inherits": "~2.0.3",
  3535 + "isarray": "~1.0.0",
  3536 + "process-nextick-args": "~2.0.0",
  3537 + "safe-buffer": "~5.1.1",
  3538 + "string_decoder": "~1.1.1",
  3539 + "util-deprecate": "~1.0.1"
4537 3540 }
4538 3541 },
4539   - "strip-ansi": {
4540   - "version": "3.0.1",
4541   - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
4542   - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
  3542 + "string_decoder": {
  3543 + "version": "1.1.1",
  3544 + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
  3545 + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
4543 3546 "requires": {
4544   - "ansi-regex": "^2.0.0"
  3547 + "safe-buffer": "~5.1.0"
4545 3548 }
4546 3549 }
4547 3550 }
4548 3551 },
  3552 + "word-wrap": {
  3553 + "version": "1.2.3",
  3554 + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
  3555 + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
  3556 + "dev": true
  3557 + },
4549 3558 "wrappy": {
4550 3559 "version": "1.0.2",
4551 3560 "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
... ... @@ -4565,59 +3574,150 @@
4565 3574 "mkdirp": "^0.5.1"
4566 3575 }
4567 3576 },
4568   - "y18n": {
4569   - "version": "3.2.1",
4570   - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
4571   - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE="
4572   - },
4573 3577 "yallist": {
4574 3578 "version": "2.1.2",
4575 3579 "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
4576 3580 "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI="
4577 3581 },
4578   - "yargs": {
4579   - "version": "3.32.0",
4580   - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz",
4581   - "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=",
4582   - "requires": {
4583   - "camelcase": "^2.0.1",
4584   - "cliui": "^3.0.3",
4585   - "decamelize": "^1.1.1",
4586   - "os-locale": "^1.4.0",
4587   - "string-width": "^1.0.1",
4588   - "window-size": "^0.1.4",
4589   - "y18n": "^3.2.0"
  3582 + "yargs-parser": {
  3583 + "version": "13.1.2",
  3584 + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz",
  3585 + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==",
  3586 + "dev": true,
  3587 + "requires": {
  3588 + "camelcase": "^5.0.0",
  3589 + "decamelize": "^1.2.0"
4590 3590 },
4591 3591 "dependencies": {
4592   - "ansi-regex": {
4593   - "version": "2.1.1",
4594   - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
4595   - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
  3592 + "camelcase": {
  3593 + "version": "5.3.1",
  3594 + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
  3595 + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
  3596 + "dev": true
  3597 + }
  3598 + }
  3599 + },
  3600 + "yargs-unparser": {
  3601 + "version": "1.6.0",
  3602 + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz",
  3603 + "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==",
  3604 + "dev": true,
  3605 + "requires": {
  3606 + "flat": "^4.1.0",
  3607 + "lodash": "^4.17.15",
  3608 + "yargs": "^13.3.0"
  3609 + },
  3610 + "dependencies": {
  3611 + "cliui": {
  3612 + "version": "5.0.0",
  3613 + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
  3614 + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
  3615 + "dev": true,
  3616 + "requires": {
  3617 + "string-width": "^3.1.0",
  3618 + "strip-ansi": "^5.2.0",
  3619 + "wrap-ansi": "^5.1.0"
  3620 + }
  3621 + },
  3622 + "emoji-regex": {
  3623 + "version": "7.0.3",
  3624 + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
  3625 + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
  3626 + "dev": true
  3627 + },
  3628 + "find-up": {
  3629 + "version": "3.0.0",
  3630 + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
  3631 + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
  3632 + "dev": true,
  3633 + "requires": {
  3634 + "locate-path": "^3.0.0"
  3635 + }
4596 3636 },
4597 3637 "is-fullwidth-code-point": {
4598   - "version": "1.0.0",
4599   - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
4600   - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
  3638 + "version": "2.0.0",
  3639 + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
  3640 + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
  3641 + "dev": true
  3642 + },
  3643 + "locate-path": {
  3644 + "version": "3.0.0",
  3645 + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
  3646 + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
  3647 + "dev": true,
  3648 + "requires": {
  3649 + "p-locate": "^3.0.0",
  3650 + "path-exists": "^3.0.0"
  3651 + }
  3652 + },
  3653 + "p-limit": {
  3654 + "version": "2.2.2",
  3655 + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz",
  3656 + "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==",
  3657 + "dev": true,
  3658 + "requires": {
  3659 + "p-try": "^2.0.0"
  3660 + }
  3661 + },
  3662 + "p-locate": {
  3663 + "version": "3.0.0",
  3664 + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
  3665 + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
  3666 + "dev": true,
4601 3667 "requires": {
4602   - "number-is-nan": "^1.0.0"
  3668 + "p-limit": "^2.0.0"
4603 3669 }
4604 3670 },
  3671 + "p-try": {
  3672 + "version": "2.2.0",
  3673 + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
  3674 + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
  3675 + "dev": true
  3676 + },
4605 3677 "string-width": {
4606   - "version": "1.0.2",
4607   - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
4608   - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
  3678 + "version": "3.1.0",
  3679 + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
  3680 + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
  3681 + "dev": true,
4609 3682 "requires": {
4610   - "code-point-at": "^1.0.0",
4611   - "is-fullwidth-code-point": "^1.0.0",
4612   - "strip-ansi": "^3.0.0"
  3683 + "emoji-regex": "^7.0.1",
  3684 + "is-fullwidth-code-point": "^2.0.0",
  3685 + "strip-ansi": "^5.1.0"
4613 3686 }
4614 3687 },
4615   - "strip-ansi": {
4616   - "version": "3.0.1",
4617   - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
4618   - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
  3688 + "wrap-ansi": {
  3689 + "version": "5.1.0",
  3690 + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
  3691 + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
  3692 + "dev": true,
  3693 + "requires": {
  3694 + "ansi-styles": "^3.2.0",
  3695 + "string-width": "^3.0.0",
  3696 + "strip-ansi": "^5.0.0"
  3697 + }
  3698 + },
  3699 + "y18n": {
  3700 + "version": "4.0.0",
  3701 + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
  3702 + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
  3703 + "dev": true
  3704 + },
  3705 + "yargs": {
  3706 + "version": "13.3.2",
  3707 + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz",
  3708 + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==",
  3709 + "dev": true,
4619 3710 "requires": {
4620   - "ansi-regex": "^2.0.0"
  3711 + "cliui": "^5.0.0",
  3712 + "find-up": "^3.0.0",
  3713 + "get-caller-file": "^2.0.1",
  3714 + "require-directory": "^2.1.1",
  3715 + "require-main-filename": "^2.0.0",
  3716 + "set-blocking": "^2.0.0",
  3717 + "string-width": "^3.0.0",
  3718 + "which-module": "^2.0.0",
  3719 + "y18n": "^4.0.0",
  3720 + "yargs-parser": "^13.1.2"
4621 3721 }
4622 3722 }
4623 3723 }
... ... @@ -22,11 +22,14 @@
22 22 "author": "Adhidarma Hadiwinoto <me@adhisimon.org>",
23 23 "license": "ISC",
24 24 "devDependencies": {
25   - "eslint": "^6.1.0",
  25 + "eslint": "^6.8.0",
26 26 "eslint-config-airbnb-base": "^14.0.0",
27   - "eslint-plugin-import": "^2.18.2"
  27 + "eslint-plugin-import": "^2.18.2",
  28 + "mocha": "^7.1.1",
  29 + "should": "^13.2.3"
28 30 },
29 31 "dependencies": {
  32 + "axios": "^0.19.2",
30 33 "express": "^4.17.1",
31 34 "komodo-sdk": "git+http://gitlab.kodesumber.com/komodo/komodo-sdk.git",
32 35 "moment": "^2.24.0",
test/url-concat-qs.js
... ... @@ -0,0 +1,11 @@
  1 +/* global describe it */
  2 +require('should');
  3 +
  4 +const urlConcatQs = require('../lib/url-concat-qs');
  5 +
  6 +describe('#url-concat-qs', () => {
  7 + it('should return correct value', () => {
  8 + urlConcatQs('http://example.com', { a: 1, b: 2 }).should.equal('http://example.com?a=1&b=2');
  9 + urlConcatQs('http://example.com?c=3', { a: 1, b: 2 }).should.equal('http://example.com?c=3&a=1&b=2');
  10 + });
  11 +});