From ce1c073fef5ac6f0e523f1d60186224b6a6b3b98 Mon Sep 17 00:00:00 2001 From: Thord Setsaas Date: Sun, 5 Mar 2023 15:22:32 +0100 Subject: [PATCH 01/34] Initial work on tournament preset --- public/images/bracket_last16.svg | 407 ++++++++++++++++++ routes/lib/bracket_generator.js | 102 +++-- routes/tournaments.js | 4 +- .../set-score-form.component.js | 40 ++ .../set-score-form/set-score-form.marko | 46 ++ .../tournament-admin.component.js | 11 +- .../tournament-admin/tournament-admin.marko | 75 +--- .../tournament-player-matches.marko | 7 +- .../tournament/tournament.component.js | 12 +- .../components/tournament/tournament.marko | 12 +- 10 files changed, 617 insertions(+), 99 deletions(-) create mode 100644 public/images/bracket_last16.svg create mode 100644 src/pages/tournament-admin/components/set-score-form/set-score-form.component.js create mode 100644 src/pages/tournament-admin/components/set-score-form/set-score-form.marko diff --git a/public/images/bracket_last16.svg b/public/images/bracket_last16.svg new file mode 100644 index 00000000..3f9959f3 --- /dev/null +++ b/public/images/bracket_last16.svg @@ -0,0 +1,407 @@ + + + + + + Match #1 + + + + G1-P1 + + + + 0 + + + + G2-P8 + + + + 0 + + + + + + Match #2 + + + + G1-P5 + + + + 0 + + + + G2-P4 + + + + 0 + + + + + + Match #3 + + + + G1-P3 + + + + 0 + + + + G2-P6 + + + + 0 + + + + + + Match #4 + + + + G2-P2 + + + + 0 + + + + G1-P7 + + + + 0 + + + + + + Match #5 + + + + G1-P2 + + + + 0 + + + + G2-P7 + + + + 0 + + + + + + Match #6 + + + + G1-P6 + + + + 0 + + + + G2-P3 + + + + 0 + + + + + + Match #7 + + + + G1-P4 + + + + 0 + + + + G2-P5 + + + + 0 + + + + + + Match #8 + + + + G1-P8 + + + + 0 + + + + G2-P1 + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Quarter Finals #1 + + + + M1-W + + + + 0 + + + + M2-W + + + + 0 + + + + + + Quarter Finals #2 + + + + M3-W + + + + 0 + + + + M4-W + + + + 0 + + + + + + Quarter Finals #3 + + + + M5-W + + + + 0 + + + + M6-W + + + + 0 + + + + + + Quarter Finals #4 + + + + M7-W + + + + 0 + + + + M8-W + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + Semi Finals #1 + + + + QF1-W + + + + 0 + + + + QF2-W + + + + 0 + + + + + + Semi Finals #2 + + + + QF3-W + + + + 0 + + + + QF4-W + + + + 0 + + + + + + + + + + + + + + + + Grand Final + + + + SF1-W + + + + 0 + + + + SF2-W + + + + 0 + + + \ No newline at end of file diff --git a/routes/lib/bracket_generator.js b/routes/lib/bracket_generator.js index d1a6513d..254708ec 100644 --- a/routes/lib/bracket_generator.js +++ b/routes/lib/bracket_generator.js @@ -1,40 +1,39 @@ -var debug = require('debug')('kcapp:bracket_generator'); +const debug = require('debug')('kcapp:bracket_generator'); -var _ = require('underscore'); -var fs = require('fs'); -var DOMParser = require('xmldom').DOMParser; -var XMLSerializer = require('xmldom').XMLSerializer; +const _ = require('underscore'); +const fs = require('fs'); +const DOMParser = require('xmldom').DOMParser; +const XMLSerializer = require('xmldom').XMLSerializer; exports.generateNew = function (metadata, matches, players, current, callback) { try { - var bracketConference = fs.readFileSync('public/images/bracket_conference.svg', 'utf-8'); - var bracket = fs.readFileSync('public/images/bracket.svg', 'utf-8'); + const bracketConference = fs.readFileSync('public/images/bracket_conference.svg', 'utf-8'); + const bracket = fs.readFileSync('public/images/bracket.svg', 'utf-8'); - var groupedMetadata = _.groupBy(metadata, (obj) => obj.tournament_group.id); - var matchesMap = {}; + const groupedMetadata = _.groupBy(metadata, (obj) => obj.tournament_group.id); + const matchesMap = {}; for (var key in matches) { _.extend(matchesMap, _.object(_.map(matches[key], function (match) { return [match.id, match] }))); } - var brackets = {}; - for (var group in groupedMetadata) { - var doc = _.clone(new DOMParser().parseFromString(bracket, 'text/xml')); + const brackets = {}; + for (let group in groupedMetadata) { + let doc = _.clone(new DOMParser().parseFromString(bracket, 'text/xml')); if (group == 13) { doc = _.clone(new DOMParser().parseFromString(bracketConference, 'text/xml')); } - var matchMetadatas = groupedMetadata[group]; - - for (var i = 0; i < matchMetadatas.length; i++) { - var matchMetadata = matchMetadatas[i]; - var match = matchesMap[matchMetadata.match_id]; + const matchMetadatas = groupedMetadata[group]; + for (let i = 0; i < matchMetadatas.length; i++) { + const matchMetadata = matchMetadatas[i]; + const match = matchesMap[matchMetadata.match_id]; - var wins = 0; + let wins = 0; if (match.legs_won) { wins = _.countBy(match.legs_won); } - var prefix = matchMetadata.match_displayname.toLowerCase().replace(/ /g, "_"); + let prefix = matchMetadata.match_displayname.toLowerCase().replace(/ /g, "_"); - var preliminaryFinal = doc.getElementById("prelimination_final_show"); + let preliminaryFinal = doc.getElementById("prelimination_final_show"); if (group == 12) { preliminaryFinal.setAttribute("opacity", "1.0"); } else { @@ -43,17 +42,17 @@ exports.generateNew = function (metadata, matches, players, current, callback) { } } - var home = matchMetadata.player_home; - var away = matchMetadata.player_away; - var winsHome = wins[home] ? "" + wins[home] : match.is_finished ? "0" : ""; - var winsAway = wins[away] ? "" + wins[away] : match.is_finished ? "0" : ""; + const home = matchMetadata.player_home; + const away = matchMetadata.player_away; + const winsHome = wins[home] ? "" + wins[home] : match.is_finished ? "0" : ""; + const winsAway = wins[away] ? "" + wins[away] : match.is_finished ? "0" : ""; doc.getElementById(prefix + "_player_home").childNodes[0].data = players[home].first_name; doc.getElementById(prefix + "_player_away").childNodes[0].data = players[away].first_name; doc.getElementById(prefix + "_player_home_score").childNodes[0].data = winsHome; doc.getElementById(prefix + "_player_away_score").childNodes[0].data = winsAway; - var currentMatch = doc.getElementById(prefix + "_current_match"); + let currentMatch = doc.getElementById(prefix + "_current_match"); if (current === matchMetadata.match_displayname) { currentMatch.setAttribute("opacity", "1.0"); } else { @@ -68,6 +67,59 @@ exports.generateNew = function (metadata, matches, players, current, callback) { } } +exports.generateLast16 = function (metadata, matches, players, current, callback) { + try { + const bracket = fs.readFileSync('public/images/bracket_last16.svg', 'utf-8'); + const groupedMetadata = _.groupBy(metadata, (obj) => obj.tournament_group.id); + const matchesMap = {}; + for (let key in matches) { + _.extend(matchesMap, _.object(_.map(matches[key], (match) => [match.id, match] ))); + } + + const brackets = {}; + for (let group in groupedMetadata) { + let doc = _.clone(new DOMParser().parseFromString(bracket, 'text/xml')); + + const matchMetadatas = groupedMetadata[group]; + //// Check if two players in this group have the same name, and if so extend their names with last name + //const participants = matchMetadatas + // .map(metadata => { + // const home = players[metadata.player_home]; + // const away = players[metadata.player_away]; + // return [ { id: home.id, name: `${home.first_name} ${home.last_name}`}, + // { id: away.id, name: `${away.first_name} ${away.last_name}`} ]; + //}).flat(); + //console.log([...new Set(participants)]); + + + for (let i = 0; i < matchMetadatas.length; i++) { + const matchMetadata = matchMetadatas[i]; + const match = matchesMap[matchMetadata.match_id]; + + let wins = 0; + if (match.legs_won) { + wins = _.countBy(match.legs_won); + } + const prefix = matchMetadata.match_displayname.toLowerCase().replace(/ /g, "_"); + const home = matchMetadata.player_home; + const away = matchMetadata.player_away; + const winsHome = wins[home] ? "" + wins[home] : match.is_finished ? "0" : ""; + const winsAway = wins[away] ? "" + wins[away] : match.is_finished ? "0" : ""; + const homeName = players[home].is_placeholder ? (match.is_bye ? "bye" : "") : players[home].name; + const awayName = players[away].is_placeholder ? (match.is_bye ? "bye" : "") : players[away].name; + doc.getElementById(`${prefix}_player_home`).childNodes[0].data = homeName; + doc.getElementById(`${prefix}_player_away`).childNodes[0].data = awayName; + doc.getElementById(`${prefix}_player_home_score`).childNodes[0].data = winsHome; + doc.getElementById(`${prefix}_player_away_score`).childNodes[0].data = winsAway; + } + brackets[group] = new XMLSerializer().serializeToString(doc); + } + callback(undefined, brackets); + } catch (error) { + callback(error, null); + } +} + exports.generate = function (metadata, matches, players, current, callback) { fs.readFile('public/images/bracket.svg', 'utf-8', function (err, data) { if (err) { diff --git a/routes/tournaments.js b/routes/tournaments.js index 8f3afe9e..660b8766 100644 --- a/routes/tournaments.js +++ b/routes/tournaments.js @@ -242,7 +242,7 @@ router.get('/:id', function (req, res, next) { axios.get(`${req.app.locals.kcapp.api}/tournament/${tournament.playoffs_tournament_id}/matches`), axios.get(`${req.app.locals.kcapp.api}/tournament/${tournament.playoffs_tournament_id}/metadata`) ]).then(axios.spread((matchesResponse, metadataResponse) => { - bracket.generateNew(metadataResponse.data, matchesResponse.data, players, '', (err, brackets) => { + bracket.generateLast16(metadataResponse.data, matchesResponse.data, players, '', (err, brackets) => { res.marko(tournamentTemplate, { brackets: brackets, tournament: tournament, @@ -257,7 +257,7 @@ router.get('/:id', function (req, res, next) { next(error); }); } else { - bracket.generateNew(metadata, matches, players, '', (err, brackets) => { + bracket.generateLast16(metadata, matches, players, '', (err, brackets) => { res.marko(tournamentTemplate, { brackets: brackets, tournament: tournament, diff --git a/src/pages/tournament-admin/components/set-score-form/set-score-form.component.js b/src/pages/tournament-admin/components/set-score-form/set-score-form.component.js new file mode 100644 index 00000000..de1013e2 --- /dev/null +++ b/src/pages/tournament-admin/components/set-score-form/set-score-form.component.js @@ -0,0 +1,40 @@ +const axios = require('axios'); + +module.exports = { + onCreate(input) { + this.state = { + homePlayerId: 0, + homeScore: 0, + awayPlayerId: 0, + awayScore: 0 + } + }, + setMatch(match) { + this.state.homePlayerId = match.players[0]; + this.state.homeScore = 0; + this.state.awayPlayerId = match.players[1]; + this.state.awayScore = 0; + }, + homeScoreChange(event) { + this.state.homeScore = event.target.value; + }, + awayScoreChange(event) { + this.state.awayScore = event.target.value; + }, + addPlayer(event) { + const body = { + winner_id: this.state.homePlayerId, + winner_score: this.state.homeScore, + looser_id: this.state.awayPlayerId, + looser_score: this.state.awayScore + }; + + axios.put(`${window.location.origin}/tournaments/${this.state.id}`, body) + .then(response => { + location.href = 'players'; + }).catch(error => { + console.log(error); + }); + event.preventDefault(); + } +} \ No newline at end of file diff --git a/src/pages/tournament-admin/components/set-score-form/set-score-form.marko b/src/pages/tournament-admin/components/set-score-form/set-score-form.marko new file mode 100644 index 00000000..2a28a349 --- /dev/null +++ b/src/pages/tournament-admin/components/set-score-form/set-score-form.marko @@ -0,0 +1,46 @@ + diff --git a/src/pages/tournament-admin/components/tournament-admin/tournament-admin.component.js b/src/pages/tournament-admin/components/tournament-admin/tournament-admin.component.js index 51769bce..b51be207 100644 --- a/src/pages/tournament-admin/components/tournament-admin/tournament-admin.component.js +++ b/src/pages/tournament-admin/components/tournament-admin/tournament-admin.component.js @@ -2,13 +2,18 @@ var moment = require("moment"); module.exports = { onCreate(input) { - for (var i = 0; i < input.metadata.length; i++) { - var metadata = input.metadata[i]; - var match = input.matches[metadata.match_id]; + for (let i = 0; i < input.metadata.length; i++) { + let metadata = input.metadata[i]; + let match = input.matches[metadata.match_id]; match.start_time = moment(match.created_at).format('YYYY-MM-DD HH:mm'); } this.state = { matches: input.matches } + }, + onEditScore(event, element) { + const matchId = parseInt(element.attributes['data-match-id'].value); + const match = this.state.matches[matchId]; + this.getComponent('set-score-modal').setMatch(match); } } diff --git a/src/pages/tournament-admin/components/tournament-admin/tournament-admin.marko b/src/pages/tournament-admin/components/tournament-admin/tournament-admin.marko index 6d9b780d..1c079b3d 100644 --- a/src/pages/tournament-admin/components/tournament-admin/tournament-admin.marko +++ b/src/pages/tournament-admin/components/tournament-admin/tournament-admin.marko @@ -5,10 +5,7 @@ - Match ID - - - Mode + Order Players @@ -16,43 +13,28 @@ Group - - Order - Displayname - Winner Outcome - - - Winner Outcome Match - - - Winner Outcome Home - - - Looser Outcome + Mode - Looser Outcome Match + Scores - Looser Outcome Home + - $ var match = input.matches[metadata.match_id]; + $ let match = input.matches[metadata.match_id]; - -
${match.id}
- @@ -66,45 +48,29 @@
${metadata.tournament_group.name}
- - - - - - - - - - - - - +
+ + +
- + + @@ -117,4 +83,5 @@

${input.groups[id].name}

$!{bracket} - \ No newline at end of file + + \ No newline at end of file diff --git a/src/pages/tournament-player-matches/components/tournament-player-matches/tournament-player-matches.marko b/src/pages/tournament-player-matches/components/tournament-player-matches/tournament-player-matches.marko index 4217ef99..1f3e0d9a 100644 --- a/src/pages/tournament-player-matches/components/tournament-player-matches/tournament-player-matches.marko +++ b/src/pages/tournament-player-matches/components/tournament-player-matches/tournament-player-matches.marko @@ -1,9 +1,8 @@ -$ var tournament = input.tournament.name; -$ var group = input.matches[0].tournament.tournament_group_name; - +$ let tournament = input.tournament.name; +$ let group = input.matches[0].tournament.tournament_group_name; $ { - var buttons = [ { name: "Matches", href: ``}, + let buttons = [ { name: "Matches", href: ``}, { name: "Player", href: `/players/${input.player.id}/statistics`}, { name: "Tournament", href: `/tournaments/${input.tournament.id}`} ]; } diff --git a/src/pages/tournament/components/tournament/tournament.component.js b/src/pages/tournament/components/tournament/tournament.component.js index b15e119e..4ffd40c0 100644 --- a/src/pages/tournament/components/tournament/tournament.component.js +++ b/src/pages/tournament/components/tournament/tournament.component.js @@ -2,8 +2,18 @@ const _ = require("underscore"); module.exports = { onCreate(input) { + const matches = {}; + const unplayed = {}; + + for (const key in input.matches) { + const m = input.matches[key]; + matches[key] = m.filter(match => !match.is_bye); + unplayed[key] = m.filter(match => !match.is_finished || match.is_bye); + } this.state = { - hasStatistics: !_.isEmpty(input.statistics.best_three_dart_avg) + hasStatistics: !_.isEmpty(input.statistics.best_three_dart_avg), + matches: matches, + unplayed: unplayed } }, diff --git a/src/pages/tournament/components/tournament/tournament.marko b/src/pages/tournament/components/tournament/tournament.marko index b83ff830..55e77711 100644 --- a/src/pages/tournament/components/tournament/tournament.marko +++ b/src/pages/tournament/components/tournament/tournament.marko @@ -42,18 +42,10 @@ $ {
- +
- $ const unplayed = []; - $ for (let i = 0; i < input.matches[id].length; i++) { - var match = input.matches[id][i]; - if (match.is_finished) { - continue; - } - unplayed.push(match); - } - +
From 08b674ec7d9df725502eb7ae9a3561c0c57a0ef3 Mon Sep 17 00:00:00 2001 From: Thord Setsaas Date: Fri, 30 Jun 2023 11:28:09 +0200 Subject: [PATCH 02/34] Initial files for next version --- CHANGELOG.md | 4 ++++ package.json | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 70716f56..8d74d34f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,9 @@ A preview of major changes can be found in the Wiki ([Latest Changes](https://github.com/kcapp/frontend/wiki/Latest_Changes)) +## [2.7.0] - TBD + + ## [2.6.0] - 2023-06-30 #### Feature - New query parameter `officeId=` for `/obs` view, to only forward on matches in a given office @@ -190,6 +193,7 @@ A preview of major changes can be found in the Wiki ([Latest Changes](https://gi - Multiple score entry methods - Including [Unicorn Smartboard](https://github.com/kcapp/smartboard) +[2.7.0]: https://github.com/kcapp/frontend/compare/v2.6.0...develop [2.6.0]: https://github.com/kcapp/frontend/compare/v2.5.0...v2.6.0 [2.5.0]: https://github.com/kcapp/frontend/compare/v2.4.0...v2.5.0 [2.4.0]: https://github.com/kcapp/frontend/compare/v2.3.0...v2.4.0 diff --git a/package.json b/package.json index 24f3f390..5588b7fc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "kcapp", - "version": "2.6.0", + "version": "2.7.0", "private": true, "scripts": { "dev": "browser-refresh ./bin/www", From 782a7cbd73f88b3bba78c1265010bdbc8945f9fc Mon Sep 17 00:00:00 2001 From: Thord Setsaas Date: Fri, 30 Jun 2023 11:40:37 +0200 Subject: [PATCH 03/34] Updated dependencies to newer versions --- .browser-refresh-ignore | 3 +- CHANGELOG.md | 4 +- Dockerfile | 4 +- package-lock.json | 6596 ++++++++++++++++----------------------- package.json | 36 +- 5 files changed, 2683 insertions(+), 3960 deletions(-) diff --git a/.browser-refresh-ignore b/.browser-refresh-ignore index 7e43b3a7..e84048a4 100644 --- a/.browser-refresh-ignore +++ b/.browser-refresh-ignore @@ -7,4 +7,5 @@ static/ log/ CHANGELOG.md README.md -Dockerfile \ No newline at end of file +Dockerfile +package-lock.json \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 8d74d34f..76bd4d78 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,9 @@ A preview of major changes can be found in the Wiki ([Latest Changes](https://github.com/kcapp/frontend/wiki/Latest_Changes)) ## [2.7.0] - TBD - +#### Changed +- Updated to use `Node.js v18` +- Updated dependencies to newer versions ## [2.6.0] - 2023-06-30 #### Feature diff --git a/Dockerfile b/Dockerfile index 107bf301..e0b30839 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # Create our build image -FROM node:14-alpine AS BUILD_IMAGE +FROM node:18-alpine AS BUILD_IMAGE # Add git and curl RUN apk update && apk add --no-cache git curl @@ -15,7 +15,7 @@ RUN npm install --only=production COPY . . # Create actual image -FROM node:14-alpine +FROM node:18-alpine WORKDIR /usr/src/kcapp diff --git a/package-lock.json b/package-lock.json index aac975d1..923e0552 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,101 +1,114 @@ { "name": "kcapp", - "version": "2.5.0", + "version": "2.7.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "kcapp", - "version": "2.5.0", + "version": "2.7.0", "dependencies": { - "@lasso/marko-taglib": "^2.0.3", - "@marko/compiler": "^5.15.4", - "@marko/express": "^1.0.0", + "@lasso/marko-taglib": "^2.0.5", + "@marko/compiler": "^5.30.1", + "@marko/express": "^2.1.0", "alertifyjs": "^1.13.1", "axios": "^0.21.2", - "body-parser": "^1.19.0", + "body-parser": "^1.20.2", "bottleneck": "^2.18.0", "browser-refresh": "^1.7.3", - "browser-refresh-taglib": "^1.1.0", - "chart.js": "^3.5.1", + "browser-refresh-taglib": "^1.2.1", + "chart.js": "^3.9.1", "compression": "^1.7.4", - "cookie-parser": "^1.4.5", + "cookie-parser": "^1.4.6", "debug": "^4.3.2", - "dissolve": "^0.3.3", - "express": "^5.0.0-alpha.8", - "kcapp-bot": "github:kcapp/bot#9acc46ba79a00f41f75d06b61336df7e1aa93aed", + "dissolve": "^0.2.1", + "express": "^4.18.2", + "kcapp-bot": "github:kcapp/bot#f6e02174c98c0e3eb6ae02291d4aea6c0688b46f", "kcapp-sio-client": "github:kcapp/kcapp-sio-client", - "lasso": "^3.4.3", - "lasso-less": "^4.0.1", - "lasso-marko": "^3.1.0", - "less-middleware": "^3.1.0", - "marko": "^5.15.5", + "lasso": "^4.0.3", + "lasso-less": "^4.0.2", + "lasso-marko": "^3.2.1", + "less-middleware": "^2.2.1", + "marko": "^5.28.1", "mobile-detect": "^1.4.5", - "moment": "^2.29.1", + "moment": "^2.29.4", "morgan": "^1.10.0", - "rotating-file-stream": "^2.1.5", + "rotating-file-stream": "^3.1.0", "serve-favicon": "^2.5.0", "socket.io": "^4.2.0", "socket.io-client": "^4.2.0", - "underscore": "^1.13.1", - "uuid": "^8.3.2", + "underscore": "^1.13.6", + "uuid": "^9.0.0", "xmldom": "^0.6.0" }, "devDependencies": { "cross-env": "^7.0.3" } }, + "node_modules/@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/@babel/code-frame": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", - "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", "dependencies": { - "@babel/highlight": "^7.14.5" + "@babel/highlight": "^7.18.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/compat-data": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz", - "integrity": "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.0.tgz", + "integrity": "sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.0.tgz", - "integrity": "sha512-tXtmTminrze5HEUPn/a0JtOzzfp0nk+UEXQ/tqIJo3WDGypl/2OFQEMll/zSFU8f/lfmfLXvTaORHF3cfXIQMw==", - "dependencies": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.0", - "@babel/helper-compilation-targets": "^7.15.0", - "@babel/helper-module-transforms": "^7.15.0", - "@babel/helpers": "^7.14.8", - "@babel/parser": "^7.15.0", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.15.0", - "@babel/types": "^7.15.0", + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.3.tgz", + "integrity": "sha512-qIJONzoa/qiHghnm0l1n4i/6IIziDpzqc36FBs4pzMhDUraHqponwJLiAKm1hGLP3OSB/TVNz6rMwVGpwxxySw==", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.21.3", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-module-transforms": "^7.21.2", + "@babel/helpers": "^7.21.0", + "@babel/parser": "^7.21.3", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.3", + "@babel/types": "^7.21.3", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", - "semver": "^6.3.0", - "source-map": "^0.5.0" + "json5": "^2.2.2", + "semver": "^6.3.0" }, "engines": { "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" } }, "node_modules/@babel/core/node_modules/convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dependencies": { - "safe-buffer": "~5.1.1" - } + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" }, "node_modules/@babel/core/node_modules/semver": { "version": "6.3.0", @@ -106,30 +119,59 @@ } }, "node_modules/@babel/generator": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.0.tgz", - "integrity": "sha512-eKl4XdMrbpYvuB505KTta4AV9g+wWzmVBW69tX0H2NwKVKd2YJbKgyK6M8j/rgLbmHOYJn6rUklV677nOyJrEQ==", + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.3.tgz", + "integrity": "sha512-QS3iR1GYC/YGUnW7IdggFeN5c1poPUurnGttOV/bZgPGV+izC/D8HnD6DLwod0fsatNyVn1G3EVWMYIF0nHbeA==", "dependencies": { - "@babel/types": "^7.15.0", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" + "@babel/types": "^7.21.3", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.0.tgz", - "integrity": "sha512-h+/9t0ncd4jfZ8wsdAsoIxSa61qhBYlycXiHWqJaQBCXAhDCMbPRSMTGnZIkkmt1u4ag+UQmuqcILwqKzZ4N2A==", + "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", "dependencies": { - "@babel/compat-data": "^7.15.0", - "@babel/helper-validator-option": "^7.14.5", - "browserslist": "^4.16.6", + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", + "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz", + "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==", + "dependencies": { + "@babel/compat-data": "^7.20.5", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", "semver": "^6.3.0" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, "node_modules/@babel/helper-compilation-targets/node_modules/semver": { @@ -140,171 +182,209 @@ "semver": "bin/semver.js" } }, - "node_modules/@babel/helper-function-name": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz", - "integrity": "sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==", + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.21.0.tgz", + "integrity": "sha512-Q8wNiMIdwsv5la5SPxNYzzkPnjgC0Sy0i7jLkVOCdllu/xcVNkr3TeZzbHBJrj+XXRqzX5uCyCoV9eu6xUG7KQ==", "dependencies": { - "@babel/helper-get-function-arity": "^7.14.5", - "@babel/template": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-member-expression-to-functions": "^7.21.0", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-replace-supers": "^7.20.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/helper-split-export-declaration": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/helper-get-function-arity": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz", - "integrity": "sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==", + "node_modules/@babel/helper-function-name": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", + "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", "dependencies": { - "@babel/types": "^7.14.5" + "@babel/template": "^7.20.7", + "@babel/types": "^7.21.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-hoist-variables": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz", - "integrity": "sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", "dependencies": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.18.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.0.tgz", - "integrity": "sha512-Jq8H8U2kYiafuj2xMTPQwkTBnEEdGKpT35lJEQsRRjnG0LW3neucsaMWLgKcwu3OHKNeYugfw+Z20BXBSEs2Lg==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.21.0.tgz", + "integrity": "sha512-Muu8cdZwNN6mRRNG6lAYErJ5X3bRevgYR2O8wN0yn7jJSnGDu6eG59RfT29JHxGUovyfrh6Pj0XzmR7drNVL3Q==", "dependencies": { - "@babel/types": "^7.15.0" + "@babel/types": "^7.21.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz", - "integrity": "sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", "dependencies": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.18.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.0.tgz", - "integrity": "sha512-RkGiW5Rer7fpXv9m1B3iHIFDZdItnO2/BLfWVW/9q7+KqQSDY5kUfQEbzdXM1MVhJGcugKV7kRrNVzNxmk7NBg==", + "version": "7.21.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz", + "integrity": "sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==", "dependencies": { - "@babel/helper-module-imports": "^7.14.5", - "@babel/helper-replace-supers": "^7.15.0", - "@babel/helper-simple-access": "^7.14.8", - "@babel/helper-split-export-declaration": "^7.14.5", - "@babel/helper-validator-identifier": "^7.14.9", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.15.0", - "@babel/types": "^7.15.0" + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.20.2", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.2", + "@babel/types": "^7.21.2" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz", - "integrity": "sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", + "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", "dependencies": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.18.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", - "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", + "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.0.tgz", - "integrity": "sha512-6O+eWrhx+HEra/uJnifCwhwMd6Bp5+ZfZeJwbqUTuqkhIT6YcRhiZCOOFChRypOIe0cV46kFrRBlm+t5vHCEaA==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz", + "integrity": "sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==", "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.15.0", - "@babel/helper-optimise-call-expression": "^7.14.5", - "@babel/traverse": "^7.15.0", - "@babel/types": "^7.15.0" + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-member-expression-to-functions": "^7.20.7", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.7", + "@babel/types": "^7.20.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-simple-access": { - "version": "7.14.8", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.14.8.tgz", - "integrity": "sha512-TrFN4RHh9gnWEU+s7JloIho2T76GPwRHhdzOWLqTrMnlas8T9O7ec+oEDNsRXndOmru9ymH9DFrEOxpzPoSbdg==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", + "dependencies": { + "@babel/types": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", + "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", "dependencies": { - "@babel/types": "^7.14.8" + "@babel/types": "^7.20.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-split-export-declaration": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz", - "integrity": "sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", "dependencies": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.18.6" }, "engines": { "node": ">=6.9.0" } }, + "node_modules/@babel/helper-string-parser": { + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.14.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz", - "integrity": "sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", - "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", + "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.15.3", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.3.tgz", - "integrity": "sha512-HwJiz52XaS96lX+28Tnbu31VeFSQJGOeKHJeaEPQlTl7PnlhFElWPj8tUXtqFIzeN86XxXoBr+WFAyK2PPVz6g==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.0.tgz", + "integrity": "sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==", "dependencies": { - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.15.0", - "@babel/types": "^7.15.0" + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.0", + "@babel/types": "^7.21.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", - "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", "dependencies": { - "@babel/helper-validator-identifier": "^7.14.5", + "@babel/helper-validator-identifier": "^7.18.6", "chalk": "^2.0.0", "js-tokens": "^4.0.0" }, @@ -353,9 +433,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.15.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.3.tgz", - "integrity": "sha512-O0L6v/HvqbdJawj0iBEfVQMc3/6WP+AeOsovsIgBFyJaG+W2w7eqvZB7puddATmWuARlm1SX7DwxJ/JJUnDpEA==", + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.3.tgz", + "integrity": "sha512-lobG0d7aOfQRXh8AyklEAgZGvA4FShxo6xQbUrrT/cNBPUdIDojlokwJsQyCC/eKia7ifqM0yP+2DRZ4WKw2RQ==", "bin": { "parser": "bin/babel-parser.js" }, @@ -363,61 +443,90 @@ "node": ">=6.0.0" } }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz", + "integrity": "sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.15.0.tgz", - "integrity": "sha512-3H/R9s8cXcOGE8kgMlmjYYC9nqr5ELiPkJn4q0mypBrjhYQoc+5/Maq69vV4xRPWnkzZuwJPf5rArxpB/35Cig==", + "version": "7.21.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.2.tgz", + "integrity": "sha512-Cln+Yy04Gxua7iPdj6nOV96smLGjpElir5YwzF0LBPKoPlLDNJePNlrGGaybAJkd0zKRnOVXOgizSqPYMNYkzA==", "dependencies": { - "@babel/helper-module-transforms": "^7.15.0", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-simple-access": "^7.14.8", - "babel-plugin-dynamic-import-node": "^2.3.3" + "@babel/helper-module-transforms": "^7.21.2", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-simple-access": "^7.20.2" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/runtime": { - "version": "7.15.3", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.3.tgz", - "integrity": "sha512-OvwMLqNXkCXSz1kSm58sEsNuhqOx/fKpnUnKnFB5v8uDda5bLNEHNgKPvhDN6IU0LDcnHQ90LlJ0Q6jnyBSIBA==", + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.21.3.tgz", + "integrity": "sha512-RQxPz6Iqt8T0uw/WsJNReuBpWpBqs/n7mNo18sKLoTbMp+UrEekhH+pKSVC7gWz+DNjo9gryfV8YzCiT45RgMw==", "dependencies": { - "regenerator-runtime": "^0.13.4" + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.21.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-typescript": "^7.20.0" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/runtime/node_modules/regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" + "node_modules/@babel/runtime": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz", + "integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==", + "dependencies": { + "regenerator-runtime": "^0.13.11" + }, + "engines": { + "node": ">=6.9.0" + } }, "node_modules/@babel/template": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz", - "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", "dependencies": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.0.tgz", - "integrity": "sha512-392d8BN0C9eVxVWd8H6x9WfipgVH5IaIoLp23334Sc1vbKKWINnvwRpb4us0xtPaCumlwbTtIYNA0Dv/32sVFw==", - "dependencies": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.0", - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-hoist-variables": "^7.14.5", - "@babel/helper-split-export-declaration": "^7.14.5", - "@babel/parser": "^7.15.0", - "@babel/types": "^7.15.0", + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.3.tgz", + "integrity": "sha512-XLyopNeaTancVitYZe2MlUEvgKb6YVVPXzofHgqHijCImG33b/uTurMS488ht/Hbsb2XK3U2BnSTxKVNGV3nGQ==", + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.21.3", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.21.3", + "@babel/types": "^7.21.3", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -426,36 +535,107 @@ } }, "node_modules/@babel/types": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.0.tgz", - "integrity": "sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ==", + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.3.tgz", + "integrity": "sha512-sBGdETxC+/M4o/zKC0sl6sjWv62WFR/uzxrJ6uYyMLZOUlPnwzw0tKgVHOXxaAd5l2g8pEDM5RZ495GPQI77kg==", "dependencies": { - "@babel/helper-validator-identifier": "^7.14.9", + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", "to-fast-properties": "^2.0.0" }, "engines": { "node": ">=6.9.0" } }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dependencies": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", + "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/source-map/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "dependencies": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, "node_modules/@lasso/marko-taglib": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@lasso/marko-taglib/-/marko-taglib-2.0.3.tgz", - "integrity": "sha512-XcnU7piLu+8uMinqaBJ/LCssE5XrqN6+1OgaK1jwqSNiCqmaJylt8GDQG9rNxUccWQ7KLc2XJ/DydB0qomxZdg==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@lasso/marko-taglib/-/marko-taglib-2.0.5.tgz", + "integrity": "sha512-2TQeMHTwb0M7Ag5ACl+Jo2bI8p95r8AVrI5RPDG9UB1TneCtlR1/NFnGaL56dTQzLN1/6zM59mHqmPwoMq0iTQ==", "dependencies": { "async": "^0.9.2", "lasso-resolve-from": "^1.2.0", "raptor-async": "^1.1.3", "raptor-logging": "^1.1.3", "raptor-util": "^1.1.2" + }, + "peerDependencies": { + "lasso": "^3 || ^4", + "lasso-marko": ">=3.0.1", + "marko": ">=4.7.0 || ^5" } }, "node_modules/@marko/babel-utils": { - "version": "5.15.4", - "resolved": "https://registry.npmjs.org/@marko/babel-utils/-/babel-utils-5.15.4.tgz", - "integrity": "sha512-WChoFX0JZfkgQkrvBIMZ3hoImzMIZIQfmw7SA0tXsTxwQTZO2kdVJaiPPHA+zbkG0YZcqpRw3WO7F4RpsumIMw==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@marko/babel-utils/-/babel-utils-6.1.0.tgz", + "integrity": "sha512-LOZ6nuaRSUse3ZqA22nkFX8PjLTghb9/S4Rugds7RH7L7VWdXhDMXdpVdKAZKh33kB/oRNOKxl3BMf5wx5UbgA==", "dependencies": { - "@babel/runtime": "^7.13.10", - "jsesc": "^3.0.2" + "@babel/runtime": "^7.16.0", + "jsesc": "^3.0.2", + "relative-import-path": "^1.0.0" } }, "node_modules/@marko/babel-utils/node_modules/jsesc": { @@ -470,26 +650,27 @@ } }, "node_modules/@marko/compiler": { - "version": "5.15.4", - "resolved": "https://registry.npmjs.org/@marko/compiler/-/compiler-5.15.4.tgz", - "integrity": "sha512-Tvxcrj4osUcabLDIob0Hjfr3a8Z8SRUTDZhjdu2NncB+LFQtlzjIWJG7dG315GsK/QRCr0xK4UDyBVmbvOL7HQ==", - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@babel/core": "^7.13.10", - "@babel/generator": "^7.13.9", - "@babel/parser": "^7.13.11", - "@babel/plugin-transform-modules-commonjs": "^7.13.8", - "@babel/runtime": "^7.13.10", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.0", - "@marko/babel-utils": "^5.15.4", + "version": "5.30.1", + "resolved": "https://registry.npmjs.org/@marko/compiler/-/compiler-5.30.1.tgz", + "integrity": "sha512-jTn1yKHNqa+enIxznGrzPLD516sjmVq+bTSUITPBgZB/qLQjyOujXZze2nWX3HPzdZ/nYMM/hDt8sPRNISlsTQ==", + "dependencies": { + "@babel/code-frame": "^7.16.0", + "@babel/core": "^7.16.0", + "@babel/generator": "^7.16.0", + "@babel/parser": "^7.16.0", + "@babel/plugin-syntax-typescript": "^7.16.0", + "@babel/plugin-transform-modules-commonjs": "^7.16.0", + "@babel/plugin-transform-typescript": "^7.16.0", + "@babel/runtime": "^7.16.0", + "@babel/traverse": "^7.16.0", + "@babel/types": "^7.16.0", + "@marko/babel-utils": "^6.1.0", "complain": "^1.6.0", - "enhanced-resolve": "5.7.0", "he": "^1.2.0", - "htmljs-parser": "^2.10.0", + "htmljs-parser": "^5.4.3", "jsesc": "^3.0.2", + "kleur": "^4.1.5", "lasso-package-root": "^1.0.1", - "property-handlers": "^1.1.1", "raptor-regexp": "^1.0.1", "raptor-util": "^3.2.0", "resolve-from": "^5.0.0", @@ -498,14 +679,6 @@ "strip-json-comments": "^3.1.1" } }, - "node_modules/@marko/compiler/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "engines": { - "node": ">=8" - } - }, "node_modules/@marko/compiler/node_modules/jsesc": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", @@ -541,29 +714,29 @@ "node": ">=8" } }, - "node_modules/@marko/compiler/node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "engines": { - "node": ">=8" - } - }, "node_modules/@marko/express": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@marko/express/-/express-1.0.0.tgz", - "integrity": "sha512-EwMBmNJBAQcfOS+StLf1V46nV7LRAvBU3qZBogaYuXYST9gVWrFxfHZiJm0HZ3DTR3r07ZVBFG+QzA8KxRPbOA==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@marko/express/-/express-2.1.0.tgz", + "integrity": "sha512-foUlj6AfkiIpMcWNGCgKcLULbYUtiP7M0gStjsMxEX8x9rGFQq4IC38iFIJJmokNkkDgs1lMRLsMB4RckBpwCw==", + "peerDependencies": { + "express": "^4 || ^5", + "marko": "^4 || ^5" + } }, "node_modules/@marko/translator-default": { - "version": "5.15.5", - "resolved": "https://registry.npmjs.org/@marko/translator-default/-/translator-default-5.15.5.tgz", - "integrity": "sha512-PVx0keN+4ISem5vewbsqYyXevLZ5FQYz4XvC1bFTLaIxo73yx/s2fxU2gWTfGSMIDEPS7hiVxwxx94NtWyhUgw==", + "version": "5.28.1", + "resolved": "https://registry.npmjs.org/@marko/translator-default/-/translator-default-5.28.1.tgz", + "integrity": "sha512-7WflqmsrIHizD2wcVWjQE8/mtoxLCLyr2knlh8iG1njH82fH0bLhpsGIE8EhKaxwIAvjaf7BU9QjpRRaudRPsA==", "dependencies": { - "@babel/runtime": "^7.13.10", - "@marko/babel-utils": "^5.15.4", + "@babel/runtime": "^7.16.0", + "@marko/babel-utils": "^6.1.0", "escape-string-regexp": "^4.0.0", - "magic-string": "^0.25.7", + "magic-string": "^0.27.0", "self-closing-tags": "^1.0.1" + }, + "peerDependencies": { + "@marko/compiler": "^5.16.1", + "marko": "^5.17.2" } }, "node_modules/@marko/translator-default/node_modules/escape-string-regexp": { @@ -572,8 +745,16 @@ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@socket.io/component-emitter": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", + "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==" + }, "node_modules/@types/component-emitter": { "version": "1.2.10", "resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.10.tgz", @@ -585,22 +766,25 @@ "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==" }, "node_modules/@types/cors": { - "version": "2.8.12", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz", - "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==" + "version": "2.8.13", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.13.tgz", + "integrity": "sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==", + "dependencies": { + "@types/node": "*" + } }, "node_modules/@types/node": { - "version": "16.7.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.6.tgz", - "integrity": "sha512-VESVNFoa/ahYA62xnLBjo5ur6gPsgEE5cNRy8SrdnkZ2nwJSW0kJ4ufbFr2zuU9ALtHM8juY53VcRoTA7htXSg==" + "version": "18.15.11", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz", + "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==" }, "node_modules/accepts": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", - "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "dependencies": { - "mime-types": "~2.1.18", - "negotiator": "0.6.1" + "mime-types": "~2.1.34", + "negotiator": "0.6.3" }, "engines": { "node": ">= 0.6" @@ -620,7 +804,10 @@ "node_modules/acorn-jsx": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==" + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } }, "node_modules/acorn-node": { "version": "1.8.2", @@ -643,19 +830,7 @@ "node_modules/after": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", - "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=" - }, - "node_modules/ajv": { - "version": "6.5.5", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.5.tgz", - "integrity": "sha512-7q7gtRQDJSyuEHjuVgHoUa2VuemFiCMrfQc9Tc08XTAc4Zj/5U1buQJ0HU6i7fKjXU09SVgSmxa4sLvuvS8Iyg==", - "optional": true, - "dependencies": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } + "integrity": "sha512-QbJ0NTQ/I9DI3uSJA4cbexiwQeRAfjPScqIbSjUDd9TOrcg6pTkdgziesOqxBMBzit8vFCTwrP27t13vFOORRA==" }, "node_modules/alertifyjs": { "version": "1.13.1", @@ -663,19 +838,11 @@ "integrity": "sha512-CckZE2dZDsEEXglOXKxT00vUDV5A6udZom+bn1XHdIWlbSFZgYq7UXCBlwkShhIH3Li/1VxLmr55GOQFQ12WSg==" }, "node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, "node_modules/anymatch": { @@ -732,7 +899,7 @@ "node_modules/array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" }, "node_modules/array-unique": { "version": "0.2.1", @@ -750,18 +917,9 @@ "node_modules/asap": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", "optional": true }, - "node_modules/asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "optional": true, - "dependencies": { - "safer-buffer": "~2.1.0" - } - }, "node_modules/asn1.js": { "version": "4.10.1", "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", @@ -780,15 +938,6 @@ "util": "0.10.3" } }, - "node_modules/assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "optional": true, - "engines": { - "node": ">=0.8" - } - }, "node_modules/assert/node_modules/inherits": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", @@ -844,12 +993,6 @@ "node": ">=0.4.x" } }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "optional": true - }, "node_modules/atob": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", @@ -861,47 +1004,25 @@ "node": ">= 4.5.0" } }, - "node_modules/aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "optional": true, + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", "engines": { - "node": "*" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/aws4": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", - "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", - "optional": true - }, "node_modules/axios": { - "version": "0.21.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.2.tgz", - "integrity": "sha512-87otirqUw3e8CzHTMO+/9kh/FSgXt/eVDvipijwDtEuwbkySWZ9SBm6VEubmJ/kLKEoLQV/POhxXFb66bfekfg==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", "dependencies": { "follow-redirects": "^1.14.0" } }, - "node_modules/babel-code-frame": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", - "dependencies": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" - } - }, - "node_modules/babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "dependencies": { - "object.assign": "^4.1.0" - } - }, "node_modules/backo2": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", @@ -1000,9 +1121,23 @@ } }, "node_modules/base64-js": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", - "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==" + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, "node_modules/base64id": { "version": "2.0.0", @@ -1028,15 +1163,6 @@ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, - "node_modules/bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "optional": true, - "dependencies": { - "tweetnacl": "^0.14.3" - } - }, "node_modules/binary-extensions": { "version": "1.12.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.12.0.tgz", @@ -1045,38 +1171,6 @@ "node": ">=0.10.0" } }, - "node_modules/bl": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-0.7.0.tgz", - "integrity": "sha1-P7BnBgKsKHjrdw3CA58YNr5irls=", - "dependencies": { - "readable-stream": "~1.0.2" - }, - "peerDependencies": { - "stream-browserify": "*" - } - }, - "node_modules/bl/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "node_modules/bl/node_modules/readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/bl/node_modules/string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - }, "node_modules/blob": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz", @@ -1088,29 +1182,32 @@ "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" }, "node_modules/body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", "dependencies": { - "bytes": "3.1.0", - "content-type": "~1.0.4", + "bytes": "3.1.2", + "content-type": "~1.0.5", "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.7.2", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" }, "engines": { - "node": ">= 0.8" + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, "node_modules/body-parser/node_modules/bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "engines": { "node": ">= 0.8" } @@ -1123,71 +1220,15 @@ "ms": "2.0.0" } }, - "node_modules/body-parser/node_modules/http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/body-parser/node_modules/mime-db": { - "version": "1.43.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz", - "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/body-parser/node_modules/mime-types": { - "version": "2.1.26", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz", - "integrity": "sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==", - "dependencies": { - "mime-db": "1.43.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/body-parser/node_modules/qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/body-parser/node_modules/setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" - }, - "node_modules/body-parser/node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/body-parser/node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "node_modules/body-parser/node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" + "ee-first": "1.1.1" }, "engines": { - "node": ">= 0.6" + "node": ">= 0.8" } }, "node_modules/bottleneck": { @@ -1207,7 +1248,7 @@ "node_modules/braces": { "version": "1.8.5", "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "integrity": "sha512-xU7bpz2ytJl1bH9cgIurjpg/n8Gohy9GTw81heDYLJQ4RU60dlyJsa+atVF2pI0yMMvKxI9HkKwjePCj5XI1hw==", "dependencies": { "expand-range": "^1.8.1", "preserve": "^0.2.0", @@ -1267,25 +1308,17 @@ "integrity": "sha1-jl/4R1/h1UHSroH3oa6gWuIaYhc=" }, "node_modules/browser-refresh-taglib": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/browser-refresh-taglib/-/browser-refresh-taglib-1.1.0.tgz", - "integrity": "sha1-8zGLt6vR9ZeVQzq8fBuKo+JCYPE=", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/browser-refresh-taglib/-/browser-refresh-taglib-1.2.1.tgz", + "integrity": "sha512-ctRMJnDyniLskk06hkJu3jZgxXUcFwlm49hSEKn40qdKlgP66P3D7hjLbbWGW7NYEKOvjjf7ojqWg8imjy37gQ==", "dependencies": { "raptor-dust": "^1" } }, - "node_modules/browser-refresh/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, "node_modules/browser-refresh/node_modules/engine.io": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.5.0.tgz", - "integrity": "sha512-21HlvPUKaitDGE4GXNtQ7PLP0Sz4aWLddMPw2VTyFz1FVZqu/kZsJUO8WNpKuE/OCL7nkfRaOui2ZCJloGznGA==", + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.6.1.tgz", + "integrity": "sha512-dfs8EVg/i7QjFsXxn7cCRQ+Wai1G1TlEvHhdYEi80fxn5R1vZ2K661O6v/rezj1FP234SZ14r9CmJke99iYDGg==", "dependencies": { "accepts": "~1.3.4", "base64id": "2.0.0", @@ -1299,9 +1332,9 @@ } }, "node_modules/browser-refresh/node_modules/engine.io-client": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.5.2.tgz", - "integrity": "sha512-QEqIp+gJ/kMHeUun7f5Vv3bteRHppHH/FMBQX/esFj/fuYfjyUKWGMo3VCvIP/V8bE9KcjHmRZrhIz2Z9oNsDA==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.5.3.tgz", + "integrity": "sha512-qsgyc/CEhJ6cgMUwxRRtOndGVhIu5hpL5tR4umSpmX/MvkFoIxUTM7oFMDQumHNzlNLwSVy6qhstFPoWTf7dOw==", "dependencies": { "component-emitter": "~1.3.0", "component-inherit": "0.0.3", @@ -1337,9 +1370,9 @@ } }, "node_modules/browser-refresh/node_modules/engine.io/node_modules/cookie": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", - "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", "engines": { "node": ">= 0.6" } @@ -1348,6 +1381,7 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", "dependencies": { "ms": "^2.1.1" } @@ -1357,125 +1391,16 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, - "node_modules/browser-refresh/node_modules/express": { - "version": "4.16.4", - "resolved": "https://registry.npmjs.org/express/-/express-4.16.4.tgz", - "integrity": "sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg==", - "dependencies": { - "accepts": "~1.3.5", - "array-flatten": "1.1.1", - "body-parser": "1.18.3", - "content-disposition": "0.5.2", - "content-type": "~1.0.4", - "cookie": "0.3.1", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.1.1", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.4", - "qs": "6.5.2", - "range-parser": "~1.2.0", - "safe-buffer": "5.1.2", - "send": "0.16.2", - "serve-static": "1.13.2", - "setprototypeof": "1.1.0", - "statuses": "~1.4.0", - "type-is": "~1.6.16", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/browser-refresh/node_modules/express/node_modules/body-parser": { - "version": "1.18.3", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz", - "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=", - "dependencies": { - "bytes": "3.0.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "~1.6.3", - "iconv-lite": "0.4.23", - "on-finished": "~2.3.0", - "qs": "6.5.2", - "raw-body": "2.3.3", - "type-is": "~1.6.16" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/browser-refresh/node_modules/http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/browser-refresh/node_modules/iconv-lite": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", - "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/browser-refresh/node_modules/raw-body": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz", - "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==", - "dependencies": { - "bytes": "3.0.0", - "http-errors": "1.6.3", - "iconv-lite": "0.4.23", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/browser-refresh/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/browser-refresh/node_modules/setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" - }, "node_modules/browser-refresh/node_modules/socket.io": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.4.1.tgz", - "integrity": "sha512-Si18v0mMXGAqLqCVpTxBa8MGqriHGQh8ccEOhmsmNS3thNCGBwO8WGrwMibANsWtQQ5NStdZwHqZR3naJVFc3w==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.5.0.tgz", + "integrity": "sha512-gGunfS0od3VpwDBpGwVkzSZx6Aqo9uOcf1afJj2cKnKFAoyl16fvhpsUhmUFd4Ldbvl5JvRQed6eQw6oQp6n8w==", "dependencies": { "debug": "~4.1.0", - "engine.io": "~3.5.0", + "engine.io": "~3.6.0", "has-binary2": "~1.0.2", "socket.io-adapter": "~1.1.0", - "socket.io-client": "2.4.0", + "socket.io-client": "2.5.0", "socket.io-parser": "~3.4.0" } }, @@ -1485,9 +1410,9 @@ "integrity": "sha512-WzZRUj1kUjrTIrUKpZLEzFZ1OLj5FwLlAFQs9kuZJzJi5DKdU7FsWc36SNmA8iDOtwBQyT8FkrriRM8vXLYz8g==" }, "node_modules/browser-refresh/node_modules/socket.io-client": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.4.0.tgz", - "integrity": "sha512-M6xhnKQHuuZd4Ba9vltCLT9oa+YvTsP8j9NcEiLElfIg8KeYPyhWOes6x4t+LTAC8enQbE/995AdTem2uNyKKQ==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.5.0.tgz", + "integrity": "sha512-lOO9clmdgssDykiOmVQQitwBAF3I6mYcQAo7hQ7AM6Ny5X7fp8hIJ3HcQs3Rjz4SoggoxA1OgrQyY8EgTbcPYw==", "dependencies": { "backo2": "1.0.2", "component-bind": "1.0.0", @@ -1511,9 +1436,9 @@ } }, "node_modules/browser-refresh/node_modules/socket.io-client/node_modules/socket.io-parser": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.2.tgz", - "integrity": "sha512-FJvDBuOALxdCI9qwRrO/Rfp9yfndRtc1jSgVgV8FDraihmSP/MLGD5PEuJrNfjALvcQ+vMDM/33AWOYP/JSjDg==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.3.tgz", + "integrity": "sha512-qOg87q1PMWWTeO01768Yh9ogn7chB9zkKtQnya41Y355S0UmpXgpcrFwAgjYJxu9BdKug5r5e9YtVSeWhKBUZg==", "dependencies": { "component-emitter": "~1.3.0", "debug": "~3.1.0", @@ -1521,13 +1446,16 @@ } }, "node_modules/browser-refresh/node_modules/socket.io-parser": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.4.1.tgz", - "integrity": "sha512-11hMgzL+WCLWf1uFtHSNvliI++tcRUWdoeYuwIl+Axvwy9z2gQM+7nJyN3STj1tLj5JyIUH8/gpDGxzAlDdi0A==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.4.2.tgz", + "integrity": "sha512-QFZBaZDNqZXeemwejc7D39jrq2eGK/qZuVDiMPKzZK1hLlNvjGilGt4ckfQZeVX4dGmuPzCytN9ZW1nQlEWjgA==", "dependencies": { "component-emitter": "1.2.1", "debug": "~4.1.0", "isarray": "2.0.1" + }, + "engines": { + "node": ">=10.0.0" } }, "node_modules/browser-refresh/node_modules/socket.io-parser/node_modules/component-emitter": { @@ -1727,15 +1655,24 @@ "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" }, "node_modules/browserslist": { - "version": "4.16.8", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.8.tgz", - "integrity": "sha512-sc2m9ohR/49sWEbPj14ZSSZqp+kbi16aLao42Hmn3Z8FpjuMaq2xCA2l4zl9ITfyzvnvyE0hcg62YkIGKxgaNQ==", + "version": "4.21.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", + "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], "dependencies": { - "caniuse-lite": "^1.0.30001251", - "colorette": "^1.3.0", - "electron-to-chromium": "^1.3.811", - "escalade": "^3.1.1", - "node-releases": "^1.1.75" + "caniuse-lite": "^1.0.30001449", + "electron-to-chromium": "^1.4.284", + "node-releases": "^2.0.8", + "update-browserslist-db": "^1.0.10" }, "bin": { "browserslist": "cli.js" @@ -1804,9 +1741,9 @@ } }, "node_modules/cached-path-relative": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.2.tgz", - "integrity": "sha512-5r2GqsoEb4qMTTN9J+WzXfjov+hjxT+j3u5K+kIVNIwAd99DLCJE9pBIMP1qVeybV6JiijL385Oz0DcYxfbOIg==" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.1.0.tgz", + "integrity": "sha512-WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA==" }, "node_modules/call-bind": { "version": "1.0.2", @@ -1815,6 +1752,9 @@ "dependencies": { "function-bind": "^1.1.1", "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/callbackify": { @@ -1831,9 +1771,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001446", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001446.tgz", - "integrity": "sha512-fEoga4PrImGcwUUGEol/PoFCSBnSkA9drgdkxXkJLsUBOnJ8rs3zDv6ApqYXGQFOyMPsjh79naWhF4DAxbF8rw==", + "version": "1.0.30001473", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001473.tgz", + "integrity": "sha512-ewDad7+D2vlyy+E4UJuVfiBsU69IL+8oVmTuZnH5Q6CIUbxNfI50uVpRHbUPDD6SUaN2o0Lh4DhTrvLG/Tn1yg==", "funding": [ { "type": "opencollective", @@ -1842,15 +1782,13 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ] }, - "node_modules/caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "optional": true - }, "node_modules/chai": { "version": "3.5.0", "resolved": "http://registry.npmjs.org/chai/-/chai-3.5.0.tgz", @@ -1864,38 +1802,16 @@ "node": ">= 0.4.0" } }, - "node_modules/chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/char-props": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/char-props/-/char-props-0.1.5.tgz", - "integrity": "sha1-W5UvniDqIc0Iyn/hNaEPb+kcEJ4=", - "engines": { - "node": ">= 0.6.0" - } - }, "node_modules/chart.js": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-3.5.1.tgz", - "integrity": "sha512-m5kzt72I1WQ9LILwQC4syla/LD/N413RYv2Dx2nnTkRS9iv/ey1xLTt0DnPc/eWV4zI+BgEgDYBIzbQhZHc/PQ==" + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-3.9.1.tgz", + "integrity": "sha512-Ro2JbLmvg83gXF5F4sniaQ+lTbSv18E+TIf2cOeiH1Iqd2PGFOtem+DUufMZsCJwFE7ywPOpfXFBwRTGq7dh6w==" }, "node_modules/chokidar": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", - "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", + "integrity": "sha512-mk8fAWcRUOxY7btlLtitj3A45jOwSAxH4tOFOoEGbVsl6cL6pPMWUy7dwZ/canfj3QEdP6FHSnf/l1c6/WkzVg==", + "deprecated": "Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.", "dependencies": { "anymatch": "^1.3.0", "async-each": "^1.0.0", @@ -1953,14 +1869,14 @@ } }, "node_modules/clean-css": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", - "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.2.tgz", + "integrity": "sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==", "dependencies": { "source-map": "~0.6.0" }, "engines": { - "node": ">= 4.0" + "node": ">= 10.0" } }, "node_modules/clean-css/node_modules/source-map": { @@ -1971,14 +1887,6 @@ "node": ">=0.10.0" } }, - "node_modules/clone": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", - "engines": { - "node": ">=0.8" - } - }, "node_modules/collection-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", @@ -1999,15 +1907,10 @@ "color-name": "1.1.3" } }, - "node_modules/color-convert/node_modules/color-name": { + "node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/colorette": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.3.0.tgz", - "integrity": "sha512-ecORCqbSFP7Wm8Y6lyqMJjexBQqXSF7SSeaTyGGphogUjBlFP9m9o08wy86HL2uB7fMTxtOUzLMk7ogKcxMg1w==" + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, "node_modules/colors": { "version": "0.6.2", @@ -2028,18 +1931,6 @@ "source-map": "~0.5.3" } }, - "node_modules/combined-stream": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", - "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", - "optional": true, - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", @@ -2056,7 +1947,7 @@ "node_modules/component-bind": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", - "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=" + "integrity": "sha512-WZveuKPeKAG9qY+FkYDeADzdHyTYdIboXS59ixDeRJL5ZhxpqUnxSOwop4FQjMsiYm3/Or8cegVbpAHNA7pHxw==" }, "node_modules/component-emitter": { "version": "1.3.0", @@ -2066,7 +1957,7 @@ "node_modules/component-inherit": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", - "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=" + "integrity": "sha512-w+LhYREhatpVqTESyGFg3NlP6Iu0kEKUHETY9GoZP/pQyW4mHFZuFWRUCIqVPZ36ueVLtoOEZaAqbCF2RDndaA==" }, "node_modules/compressible": { "version": "2.0.17", @@ -2079,14 +1970,6 @@ "node": ">= 0.6" } }, - "node_modules/compressible/node_modules/mime-db": { - "version": "1.41.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.41.0.tgz", - "integrity": "sha512-B5gxBI+2K431XW8C2rcc/lhppbuji67nf9v39eH8pkWoZDxnAL0PxdpH32KYRScniF8qDHBDlI+ipgg5WrCUYw==", - "engines": { - "node": ">= 0.6" - } - }, "node_modules/compression": { "version": "1.7.4", "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", @@ -2112,14 +1995,6 @@ "ms": "2.0.0" } }, - "node_modules/compression/node_modules/on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/compression/node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -2155,17 +2030,39 @@ "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" }, "node_modules/content-disposition": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", - "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=", + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dependencies": { + "safe-buffer": "5.2.1" + }, "engines": { "node": ">= 0.6" } }, + "node_modules/content-disposition/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, "node_modules/content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha1-4TjMdeBAxyexlm/l5fjJruJW/js=", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", "engines": { "node": ">= 0.6" } @@ -2176,33 +2073,25 @@ "integrity": "sha1-SCnId+n+SbMWHzvzZziI4gRpmGA=" }, "node_modules/cookie": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", - "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", "engines": { "node": ">= 0.6" } }, "node_modules/cookie-parser": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.5.tgz", - "integrity": "sha512-f13bPUj/gG/5mDr+xLmSxxDsB9DQiTIfhJS/sqjrmfAWiAN+x2O4i/XguTL9yDZ+/IFDanJ+5x7hC4CXT9Tdzw==", + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.6.tgz", + "integrity": "sha512-z3IzaNjdwUC2olLIB5/ITd0/setiaFMLYiZJle7xg5Fe9KWAceil7xszYfHHBtDFYLSgJduS2Ty0P1uJdPDJeA==", "dependencies": { - "cookie": "0.4.0", + "cookie": "0.4.1", "cookie-signature": "1.0.6" }, "engines": { "node": ">= 0.8.0" } }, - "node_modules/cookie-parser/node_modules/cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", - "engines": { - "node": ">= 0.6" - } - }, "node_modules/cookie-signature": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", @@ -2328,23 +2217,16 @@ "node": "*" } }, + "node_modules/csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" + }, "node_modules/dash-ast": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/dash-ast/-/dash-ast-1.0.0.tgz", "integrity": "sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA==" }, - "node_modules/dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "optional": true, - "dependencies": { - "assert-plus": "^1.0.0" - }, - "engines": { - "node": ">=0.10" - } - }, "node_modules/debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", @@ -2375,9 +2257,9 @@ } }, "node_modules/decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", "engines": { "node": ">=0.10" } @@ -2401,20 +2283,19 @@ "node": "*" } }, - "node_modules/deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" - }, "node_modules/define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", "dependencies": { - "object-keys": "^1.0.12" + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/define-property": { @@ -2485,21 +2366,12 @@ "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=" }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "optional": true, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "engines": { - "node": ">= 0.6" + "node": ">= 0.8" } }, "node_modules/deps-sort": { @@ -2526,9 +2398,13 @@ } }, "node_modules/destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } }, "node_modules/detective": { "version": "5.2.0", @@ -2546,11 +2422,6 @@ "node": ">=0.8.0" } }, - "node_modules/detective/node_modules/minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" - }, "node_modules/diffie-hellman": { "version": "5.0.3", "resolved": "http://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", @@ -2562,38 +2433,13 @@ } }, "node_modules/dissolve": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/dissolve/-/dissolve-0.3.3.tgz", - "integrity": "sha1-uX7x/ymJx4nOz7AxB+F0EfqL5uU=", - "dependencies": { - "bl": "^0.7.0", - "readable-stream": "^1.0.26" - }, - "engines": { - "node": "~0.10.0" - } - }, - "node_modules/dissolve/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "node_modules/dissolve/node_modules/readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/dissolve/-/dissolve-0.2.1.tgz", + "integrity": "sha512-ja+e+v+wqqkvE8q7pyF0ulGZywLwKI7s+RNHh0+aMuuz626VcG+BiVsYyLEkmCbGjUzYVSclFL8N+Gb4dOLmbg==", "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" + "steez": "~0.4.2" } }, - "node_modules/dissolve/node_modules/string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - }, "node_modules/domain-browser": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", @@ -2611,25 +2457,15 @@ "readable-stream": "^2.0.2" } }, - "node_modules/ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "optional": true, - "dependencies": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" }, "node_modules/electron-to-chromium": { - "version": "1.3.822", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.822.tgz", - "integrity": "sha512-k7jG5oYYHxF4jx6PcqwHX3JVME/OjzolqOZiIogi9xtsfsmTjTdie4x88OakYFPEa8euciTgCCzvVNwvmjHb1Q==" + "version": "1.4.346", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.346.tgz", + "integrity": "sha512-9ZpKQD8hyWAoYf5bccm2qpaWogAGxb833DVC0arHo9nIbiAMh+aAKHZWABR2P9sK4a3zoCq7eXg8tylqPAnuNw==" }, "node_modules/elliptic": { "version": "6.5.4", @@ -2659,17 +2495,20 @@ } }, "node_modules/engine.io": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-5.2.0.tgz", - "integrity": "sha512-d1DexkQx87IFr1FLuV+0f5kAm1Hk1uOVijLOb+D1sDO2QMb7YjE02VHtZtxo7xIXMgcWLb+vl3HRT0rI9tr4jQ==", + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.4.2.tgz", + "integrity": "sha512-FKn/3oMiJjrOEOeUub2WCox6JhxBXq/Zn3fZOMCBxKnNYtsdKjxhl7yR3fZhM9PV+rdE75SU5SYMc+2PGzo+Tg==", "dependencies": { + "@types/cookie": "^0.4.1", + "@types/cors": "^2.8.12", + "@types/node": ">=10.0.0", "accepts": "~1.3.4", "base64id": "2.0.0", "cookie": "~0.4.1", "cors": "~2.8.5", "debug": "~4.3.1", - "engine.io-parser": "~4.0.0", - "ws": "~7.4.2" + "engine.io-parser": "~5.0.3", + "ws": "~8.11.0" }, "engines": { "node": ">=10.0.0" @@ -2703,24 +2542,32 @@ "node": ">=8.0.0" } }, - "node_modules/engine.io/node_modules/cookie": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", - "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", + "node_modules/engine.io/node_modules/engine.io-parser": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.6.tgz", + "integrity": "sha512-tjuoZDMAdEhVnSFleYPCtdL2GXwVTGtNjoeJd9IhIG3C1xs9uwxqRNEu5WpnDZCaozwVlK/nuQhpodhXSIMaxw==", "engines": { - "node": ">= 0.6" + "node": ">=10.0.0" } }, - "node_modules/enhanced-resolve": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.7.0.tgz", - "integrity": "sha512-6njwt/NsZFUKhM6j9U8hzVyD4E4r0x7NQzhTCbcWOJ0IQjNSAoalWmb0AE51Wn+fwan5qVESWi7t2ToBxs9vrw==", - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, + "node_modules/engine.io/node_modules/ws": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", + "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", "engines": { - "node": ">=10.13.0" + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } } }, "node_modules/errno": { @@ -2743,6 +2590,11 @@ "stackframe": "^1.1.0" } }, + "node_modules/es6-object-assign": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es6-object-assign/-/es6-object-assign-1.1.0.tgz", + "integrity": "sha512-MEl9uirslVwqQU369iHNWZXsI8yaZYGg/D65aOgZkeyFJwHYSxilf7rQzXKI7DdDuBPrBXbfk3sl9hJhmd5AUw==" + }, "node_modules/escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", @@ -2764,85 +2616,52 @@ "node": ">=0.8.0" } }, - "node_modules/escodegen": { - "version": "1.14.3", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", - "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", - "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=4.0" - }, - "optionalDependencies": { - "source-map": "~0.6.1" - } - }, - "node_modules/escodegen/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz", + "integrity": "sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==", "engines": { - "node": ">=4" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "version": "9.5.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.1.tgz", + "integrity": "sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==", "dependencies": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.0" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "node_modules/espree/node_modules/acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" + "acorn": "bin/acorn" }, "engines": { - "node": ">=4" + "node": ">=0.4.0" } }, "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "engines": { "node": ">=4.0" } }, - "node_modules/esutils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/etag": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", @@ -2899,38 +2718,38 @@ } }, "node_modules/express": { - "version": "5.0.0-alpha.8", - "resolved": "https://registry.npmjs.org/express/-/express-5.0.0-alpha.8.tgz", - "integrity": "sha512-PL8wTLgaNOiq7GpXt187/yWHkrNSfbr4H0yy+V0fpqJt5wpUzBi9DprAkwGKBFOqWHylJ8EyPy34V5u9YArfng==", - "dependencies": { - "accepts": "~1.3.7", - "array-flatten": "2.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.4.0", + "cookie": "0.5.0", "cookie-signature": "1.0.6", - "debug": "3.1.0", - "depd": "~1.1.2", + "debug": "2.6.9", + "depd": "2.0.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "~1.1.2", + "finalhandler": "1.2.0", "fresh": "0.5.2", + "http-errors": "2.0.0", "merge-descriptors": "1.0.1", "methods": "~1.1.2", - "on-finished": "~2.3.0", + "on-finished": "2.4.1", "parseurl": "~1.3.3", - "path-is-absolute": "1.0.1", - "proxy-addr": "~2.0.5", - "qs": "6.7.0", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", "range-parser": "~1.2.1", - "router": "2.0.0-alpha.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", - "statuses": "~1.5.0", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" @@ -2939,68 +2758,46 @@ "node": ">= 0.10.0" } }, - "node_modules/express/node_modules/accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "node_modules/express/node_modules/body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", "dependencies": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" }, "engines": { - "node": ">= 0.6" + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/express/node_modules/array-flatten": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.1.tgz", - "integrity": "sha1-Qmu52oQJDBg42BLIFQryCoMx4pY=" - }, - "node_modules/express/node_modules/content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", - "dependencies": { - "safe-buffer": "5.1.2" - }, + "node_modules/express/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "engines": { - "node": ">= 0.6" + "node": ">= 0.8" } }, "node_modules/express/node_modules/cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", "engines": { "node": ">= 0.6" } }, "node_modules/express/node_modules/debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/express/node_modules/finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/express/node_modules/finalhandler/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", @@ -3008,179 +2805,49 @@ "ms": "2.0.0" } }, - "node_modules/express/node_modules/http-errors": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", - "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.4", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/express/node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "node_modules/express/node_modules/mime-db": { - "version": "1.44.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", - "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/express/node_modules/mime-types": { - "version": "2.1.27", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", - "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", + "node_modules/express/node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "dependencies": { - "mime-db": "1.44.0" + "ee-first": "1.1.1" }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/express/node_modules/negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/express/node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", "engines": { "node": ">= 0.8" } }, - "node_modules/express/node_modules/proxy-addr": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", - "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", + "node_modules/express/node_modules/raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", "dependencies": { - "forwarded": "~0.1.2", - "ipaddr.js": "1.9.1" + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" }, "engines": { - "node": ">= 0.10" - } - }, - "node_modules/express/node_modules/qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/express/node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "engines": { - "node": ">= 0.6" + "node": ">= 0.8" } }, "node_modules/express/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/express/node_modules/send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", - "dependencies": { - "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "~1.7.2", - "mime": "1.6.0", - "ms": "2.1.1", - "on-finished": "~2.3.0", - "range-parser": "~1.2.1", - "statuses": "~1.5.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/express/node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/express/node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/express/node_modules/send/node_modules/ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" - }, - "node_modules/express/node_modules/serve-static": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", - "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/express/node_modules/setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" - }, - "node_modules/express/node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/express/node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "optional": true + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, "node_modules/extend-shallow": { "version": "3.0.2", @@ -3216,32 +2883,6 @@ "node": ">=0.10.0" } }, - "node_modules/extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "engines": [ - "node >=0.6.0" - ], - "optional": true - }, - "node_modules/fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "optional": true - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", - "optional": true - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" - }, "node_modules/fast-safe-stringify": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz", @@ -3271,16 +2912,16 @@ } }, "node_modules/finalhandler": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", - "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", "dependencies": { "debug": "2.6.9", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "statuses": "~1.4.0", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", "unpipe": "~1.0.0" }, "engines": { @@ -3295,10 +2936,21 @@ "ms": "2.0.0" } }, + "node_modules/finalhandler/node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/follow-redirects": { - "version": "1.14.9", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", - "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", "funding": [ { "type": "individual", @@ -3314,6 +2966,14 @@ } } }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dependencies": { + "is-callable": "^1.1.3" + } + }, "node_modules/for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", @@ -3333,33 +2993,10 @@ "node": ">=0.10.0" } }, - "node_modules/forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "optional": true, - "engines": { - "node": "*" - } - }, - "node_modules/form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "optional": true, - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 0.12" - } - }, "node_modules/forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", "engines": { "node": ">= 0.6" } @@ -3474,16 +3111,12 @@ }, "node_modules/fsevents/node_modules/abbrev": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", "inBundle": true, "license": "ISC", "optional": true }, "node_modules/fsevents/node_modules/ansi-regex": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "inBundle": true, "license": "MIT", "optional": true, @@ -3493,16 +3126,12 @@ }, "node_modules/fsevents/node_modules/aproba": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", "inBundle": true, "license": "ISC", "optional": true }, "node_modules/fsevents/node_modules/are-we-there-yet": { "version": "1.1.5", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", - "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", "inBundle": true, "license": "ISC", "optional": true, @@ -3513,16 +3142,12 @@ }, "node_modules/fsevents/node_modules/balanced-match": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "inBundle": true, "license": "MIT", "optional": true }, "node_modules/fsevents/node_modules/brace-expansion": { "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "inBundle": true, "license": "MIT", "optional": true, @@ -3533,16 +3158,12 @@ }, "node_modules/fsevents/node_modules/chownr": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", "inBundle": true, "license": "ISC", "optional": true }, "node_modules/fsevents/node_modules/code-point-at": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", "inBundle": true, "license": "MIT", "optional": true, @@ -3552,32 +3173,24 @@ }, "node_modules/fsevents/node_modules/concat-map": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "inBundle": true, "license": "MIT", "optional": true }, "node_modules/fsevents/node_modules/console-control-strings": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", "inBundle": true, "license": "ISC", "optional": true }, "node_modules/fsevents/node_modules/core-util-is": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "inBundle": true, "license": "MIT", "optional": true }, "node_modules/fsevents/node_modules/debug": { "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "inBundle": true, "license": "MIT", "optional": true, @@ -3587,8 +3200,6 @@ }, "node_modules/fsevents/node_modules/deep-extend": { "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", "inBundle": true, "license": "MIT", "optional": true, @@ -3598,16 +3209,12 @@ }, "node_modules/fsevents/node_modules/delegates": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", "inBundle": true, "license": "MIT", "optional": true }, "node_modules/fsevents/node_modules/detect-libc": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", "inBundle": true, "license": "Apache-2.0", "optional": true, @@ -3620,8 +3227,6 @@ }, "node_modules/fsevents/node_modules/fs-minipass": { "version": "1.2.7", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", - "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", "inBundle": true, "license": "ISC", "optional": true, @@ -3631,16 +3236,12 @@ }, "node_modules/fsevents/node_modules/fs.realpath": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "inBundle": true, "license": "ISC", "optional": true }, "node_modules/fsevents/node_modules/gauge": { "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", "inBundle": true, "license": "ISC", "optional": true, @@ -3657,8 +3258,6 @@ }, "node_modules/fsevents/node_modules/glob": { "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "inBundle": true, "license": "ISC", "optional": true, @@ -3679,16 +3278,12 @@ }, "node_modules/fsevents/node_modules/has-unicode": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", "inBundle": true, "license": "ISC", "optional": true }, "node_modules/fsevents/node_modules/iconv-lite": { "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "inBundle": true, "license": "MIT", "optional": true, @@ -3701,8 +3296,6 @@ }, "node_modules/fsevents/node_modules/ignore-walk": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz", - "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==", "inBundle": true, "license": "ISC", "optional": true, @@ -3712,8 +3305,6 @@ }, "node_modules/fsevents/node_modules/inflight": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "inBundle": true, "license": "ISC", "optional": true, @@ -3724,16 +3315,12 @@ }, "node_modules/fsevents/node_modules/inherits": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "inBundle": true, "license": "ISC", "optional": true }, "node_modules/fsevents/node_modules/ini": { "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", "inBundle": true, "license": "ISC", "optional": true, @@ -3743,8 +3330,6 @@ }, "node_modules/fsevents/node_modules/is-fullwidth-code-point": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "inBundle": true, "license": "MIT", "optional": true, @@ -3757,16 +3342,12 @@ }, "node_modules/fsevents/node_modules/isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "inBundle": true, "license": "MIT", "optional": true }, "node_modules/fsevents/node_modules/minimatch": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "inBundle": true, "license": "ISC", "optional": true, @@ -3779,16 +3360,12 @@ }, "node_modules/fsevents/node_modules/minimist": { "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "inBundle": true, "license": "MIT", "optional": true }, "node_modules/fsevents/node_modules/minipass": { "version": "2.9.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", - "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", "inBundle": true, "license": "ISC", "optional": true, @@ -3799,8 +3376,6 @@ }, "node_modules/fsevents/node_modules/minizlib": { "version": "1.3.3", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", - "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", "inBundle": true, "license": "MIT", "optional": true, @@ -3810,8 +3385,6 @@ }, "node_modules/fsevents/node_modules/mkdirp": { "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz", - "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==", "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)", "inBundle": true, "license": "MIT", @@ -3825,16 +3398,12 @@ }, "node_modules/fsevents/node_modules/ms": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "inBundle": true, "license": "MIT", "optional": true }, "node_modules/fsevents/node_modules/needle": { "version": "2.3.3", - "resolved": "https://registry.npmjs.org/needle/-/needle-2.3.3.tgz", - "integrity": "sha512-EkY0GeSq87rWp1hoq/sH/wnTWgFVhYlnIkbJ0YJFfRgEFlz2RraCjBpFQ+vrEgEdp0ThfyHADmkChEhcb7PKyw==", "inBundle": true, "license": "MIT", "optional": true, @@ -3852,8 +3421,6 @@ }, "node_modules/fsevents/node_modules/node-pre-gyp": { "version": "0.14.0", - "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.14.0.tgz", - "integrity": "sha512-+CvDC7ZttU/sSt9rFjix/P05iS43qHCOOGzcr3Ry99bXG7VX953+vFyEuph/tfqoYu8dttBkE86JSKBO2OzcxA==", "inBundle": true, "license": "BSD-3-Clause", "optional": true, @@ -3875,8 +3442,6 @@ }, "node_modules/fsevents/node_modules/nopt": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", - "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", "inBundle": true, "license": "ISC", "optional": true, @@ -3890,8 +3455,6 @@ }, "node_modules/fsevents/node_modules/npm-bundled": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz", - "integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==", "inBundle": true, "license": "ISC", "optional": true, @@ -3901,16 +3464,12 @@ }, "node_modules/fsevents/node_modules/npm-normalize-package-bin": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", - "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", "inBundle": true, "license": "ISC", "optional": true }, "node_modules/fsevents/node_modules/npm-packlist": { "version": "1.4.8", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz", - "integrity": "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==", "inBundle": true, "license": "ISC", "optional": true, @@ -3922,8 +3481,6 @@ }, "node_modules/fsevents/node_modules/npmlog": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "inBundle": true, "license": "ISC", "optional": true, @@ -3936,8 +3493,6 @@ }, "node_modules/fsevents/node_modules/number-is-nan": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", "inBundle": true, "license": "MIT", "optional": true, @@ -3947,8 +3502,6 @@ }, "node_modules/fsevents/node_modules/object-assign": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "inBundle": true, "license": "MIT", "optional": true, @@ -3958,8 +3511,6 @@ }, "node_modules/fsevents/node_modules/once": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "inBundle": true, "license": "ISC", "optional": true, @@ -3969,8 +3520,6 @@ }, "node_modules/fsevents/node_modules/os-homedir": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", "inBundle": true, "license": "MIT", "optional": true, @@ -3980,8 +3529,6 @@ }, "node_modules/fsevents/node_modules/os-tmpdir": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "inBundle": true, "license": "MIT", "optional": true, @@ -3991,8 +3538,6 @@ }, "node_modules/fsevents/node_modules/osenv": { "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", "inBundle": true, "license": "ISC", "optional": true, @@ -4003,8 +3548,6 @@ }, "node_modules/fsevents/node_modules/path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "inBundle": true, "license": "MIT", "optional": true, @@ -4014,16 +3557,12 @@ }, "node_modules/fsevents/node_modules/process-nextick-args": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "inBundle": true, "license": "MIT", "optional": true }, "node_modules/fsevents/node_modules/rc": { "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "inBundle": true, "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", "optional": true, @@ -4039,8 +3578,6 @@ }, "node_modules/fsevents/node_modules/readable-stream": { "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "inBundle": true, "license": "MIT", "optional": true, @@ -4056,8 +3593,6 @@ }, "node_modules/fsevents/node_modules/rimraf": { "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "inBundle": true, "license": "ISC", "optional": true, @@ -4070,32 +3605,24 @@ }, "node_modules/fsevents/node_modules/safe-buffer": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "inBundle": true, "license": "MIT", "optional": true }, "node_modules/fsevents/node_modules/safer-buffer": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "inBundle": true, "license": "MIT", "optional": true }, "node_modules/fsevents/node_modules/sax": { "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", "inBundle": true, "license": "ISC", "optional": true }, "node_modules/fsevents/node_modules/semver": { "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "inBundle": true, "license": "ISC", "optional": true, @@ -4105,24 +3632,18 @@ }, "node_modules/fsevents/node_modules/set-blocking": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "inBundle": true, "license": "ISC", "optional": true }, "node_modules/fsevents/node_modules/signal-exit": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "inBundle": true, "license": "ISC", "optional": true }, "node_modules/fsevents/node_modules/string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "inBundle": true, "license": "MIT", "optional": true, @@ -4132,8 +3653,6 @@ }, "node_modules/fsevents/node_modules/string-width": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "inBundle": true, "license": "MIT", "optional": true, @@ -4148,8 +3667,6 @@ }, "node_modules/fsevents/node_modules/strip-ansi": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "inBundle": true, "license": "MIT", "optional": true, @@ -4162,8 +3679,6 @@ }, "node_modules/fsevents/node_modules/strip-json-comments": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", "inBundle": true, "license": "MIT", "optional": true, @@ -4173,8 +3688,6 @@ }, "node_modules/fsevents/node_modules/tar": { "version": "4.4.13", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz", - "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", "inBundle": true, "license": "ISC", "optional": true, @@ -4193,16 +3706,12 @@ }, "node_modules/fsevents/node_modules/util-deprecate": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "inBundle": true, "license": "MIT", "optional": true }, "node_modules/fsevents/node_modules/wide-align": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", "inBundle": true, "license": "ISC", "optional": true, @@ -4212,16 +3721,12 @@ }, "node_modules/fsevents/node_modules/wrappy": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "inBundle": true, "license": "ISC", "optional": true }, "node_modules/fsevents/node_modules/yallist": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "inBundle": true, "license": "ISC", "optional": true @@ -4245,13 +3750,16 @@ "integrity": "sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==" }, "node_modules/get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", + "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", "dependencies": { "function-bind": "^1.1.1", "has": "^1.0.3", - "has-symbols": "^1.0.1" + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/get-value": { @@ -4262,15 +3770,6 @@ "node": ">=0.10.0" } }, - "node_modules/getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "optional": true, - "dependencies": { - "assert-plus": "^1.0.0" - } - }, "node_modules/glob": { "version": "7.1.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", @@ -4290,7 +3789,7 @@ "node_modules/glob-base": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", - "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "integrity": "sha512-ab1S1g1EbO7YzauaJLkgLp7DZVAqj9M/dvKlTt8DkXA2tiOIcSMrlVI2J1RZyB5iJVccEscjGn+kpOG9788MHA==", "dependencies": { "glob-parent": "^2.0.0", "is-glob": "^2.0.0" @@ -4302,7 +3801,7 @@ "node_modules/glob-parent": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "integrity": "sha512-JDYOvfxio/t42HKdxkAYaCiBN7oYiuxykOxKxdaUW5Qn0zaYN3gRQWolrwdnf0shM9/EP0ebuuTmyoXNr1cC5w==", "dependencies": { "is-glob": "^2.0.0" } @@ -4315,33 +3814,22 @@ "node": ">=4" } }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/graceful-fs": { "version": "4.2.8", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==" }, - "node_modules/har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "optional": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/har-validator": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", - "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", - "optional": true, - "dependencies": { - "ajv": "^6.5.5", - "har-schema": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", @@ -4353,17 +3841,6 @@ "node": ">= 0.4.0" } }, - "node_modules/has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/has-binary2": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz", @@ -4380,17 +3857,45 @@ "node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "engines": { "node": ">=4" } }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dependencies": { + "has-symbols": "^1.0.2" + }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/has-value": { @@ -4507,50 +4012,29 @@ } }, "node_modules/htmljs-parser": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/htmljs-parser/-/htmljs-parser-2.10.0.tgz", - "integrity": "sha512-HxGvSIIHpnC8WsVqZ/OAxPsgh8xIL7d0eb24TG/WwjxCbzjuxiJm6g8NHAlfFDYq4H9Q/kztAlUxQ/plS/IZfw==", - "dependencies": { - "char-props": "^0.1.5", - "complain": "^1.0.0" - } + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/htmljs-parser/-/htmljs-parser-5.4.3.tgz", + "integrity": "sha512-wTTit/jM0Mzw8seIEH6XD/kTgluU86j7g5CNsQ3hGYvjYrMiSxahENuIBtk5cc+Wb9U0BT6ghFHURJ5pJj3j5Q==" }, "node_modules/http-errors": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz", - "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dependencies": { - "depd": "1.1.1", - "inherits": "2.0.3", - "setprototypeof": "1.0.3", - "statuses": ">= 1.3.1 < 2" + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" }, "engines": { - "node": ">= 0.6" - } - }, - "node_modules/http-errors/node_modules/depd": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", - "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=", - "engines": { - "node": ">= 0.6" + "node": ">= 0.8" } }, - "node_modules/http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "optional": true, - "dependencies": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - }, - "engines": { - "node": ">=0.8", - "npm": ">=1.3.7" - } + "node_modules/http-errors/node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "node_modules/https-browserify": { "version": "1.0.0", @@ -4569,9 +4053,23 @@ } }, "node_modules/ieee754": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz", - "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==" + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, "node_modules/ignoring-watcher": { "version": "1.1.0", @@ -4597,7 +4095,7 @@ "node_modules/indexof": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=" + "integrity": "sha512-i0G7hLJ1z0DE8dsqJa2rycj9dBmNKgXBvotXtZYXakU9oivfB9Uj2ZBC27qqef2U58/ZLwalxa1X/RDCdkHtVg==" }, "node_modules/inflight": { "version": "1.0.6", @@ -4680,6 +4178,21 @@ "node": ">=0.10.0" } }, + "node_modules/is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-binary-path": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", @@ -4696,6 +4209,17 @@ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=" }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-data-descriptor": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", @@ -4763,6 +4287,20 @@ "node": ">=0.10.0" } }, + "node_modules/is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-glob": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", @@ -4774,6 +4312,21 @@ "node": ">=0.10.0" } }, + "node_modules/is-nan": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz", + "integrity": "sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==", + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-number": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", @@ -4831,11 +4384,23 @@ "node": ">=0.10.0" } }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "optional": true + "node_modules/is-typed-array": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/is-unc-path": { "version": "0.1.2", @@ -4896,23 +4461,6 @@ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, - "node_modules/isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "optional": true - }, - "node_modules/js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" - }, - "node_modules/jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "optional": true - }, "node_modules/jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", @@ -4924,18 +4472,6 @@ "node": ">=4" } }, - "node_modules/json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "optional": true - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "optional": true - }, "node_modules/json-stable-stringify": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz", @@ -4944,19 +4480,10 @@ "jsonify": "~0.0.0" } }, - "node_modules/json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "optional": true - }, "node_modules/json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "dependencies": { - "minimist": "^1.2.5" - }, + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "bin": { "json5": "lib/cli.js" }, @@ -5001,25 +4528,10 @@ "node": "*" } }, - "node_modules/jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "engines": [ - "node >=0.6.0" - ], - "optional": true, - "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, "node_modules/kcapp-bot": { "version": "0.0.1", - "resolved": "git+ssh://git@github.com/kcapp/bot.git#9acc46ba79a00f41f75d06b61336df7e1aa93aed", - "integrity": "sha512-u7Md54Qc19WXQyvoRQjLbvjtHqPnDbqVnlh56uy0TRdPbhko6b3k/YnU5PnXFWJTK8PQ8bhrW+nOiXCzjefzCQ==", + "resolved": "git+ssh://git@github.com/kcapp/bot.git#f6e02174c98c0e3eb6ae02291d4aea6c0688b46f", + "integrity": "sha512-Q9PaPY1AP+DuEuZ4yLxyMf1GrwrtGV6WoapWGU+Fss97bAc0bMksv69SBs6k5tyWX3TQ0DycInJhOk/uv5vAkw==", "dependencies": { "axios": "^0.26.1", "debug": "^4.3.4", @@ -5054,6 +4566,14 @@ "node": ">=0.10.0" } }, + "node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "engines": { + "node": ">=6" + } + }, "node_modules/labeled-stream-splicer": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.2.tgz", @@ -5064,59 +4584,50 @@ } }, "node_modules/lasso": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/lasso/-/lasso-3.4.3.tgz", - "integrity": "sha512-j5tBbO6bp5JKCZBNVGjnM95ZMo86+OoGqDDpfQYj+h29T5j1To5okgJG1ErZXWvi2Qi9PnswpDyAsXG8YUzQNQ==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/lasso/-/lasso-4.0.3.tgz", + "integrity": "sha512-hWGW2pp7SDI6/IZONcFVWzORx7JeGa4SKHbOMz3ZVwDOogPs1Xh6fX18TjXiAsW4uuQWkGgELHp6YEP64y0grg==", "dependencies": { + "@babel/code-frame": "^7.18.6", "app-root-dir": "^1.0.2", - "assert": "^1.4.1", - "babel-code-frame": "^6.26.0", + "assert": "^2.0.0", "browser-refresh-client": "^1.1.4", - "buffer": "^5.1.0", - "clean-css": "^4.1.11", - "clone": "^2.1.1", - "complain": "^1.2.0", - "escodegen": "^1.10.0", - "espree": "^7.3.0", - "estraverse": "^4.2.0", - "events": "^3.0.0", - "glob": "^7.1.2", - "image-size": "^0.6.3", + "buffer": "^6.0.3", + "clean-css": "^5.3.1", + "complain": "^1.6.0", + "espree": "^9.4.0", + "estraverse": "^5.3.0", + "events": "^3.3.0", + "glob": "^8.0.3", + "image-size": "^1.0.2", "lasso-caching-fs": "^1.0.2", "lasso-loader": "^3.0.2", - "lasso-modules-client": "^2.0.5", + "lasso-modules-client": "^2.0.7", "lasso-package-root": "^1.0.1", "lasso-resolve-from": "^1.2.0", - "mime": "^2.3.1", - "mkdirp": "^0.5.1", - "path-browserify": "1.0.0", - "pify": "^3.0.0", + "mime": "^3.0.0", + "mkdirp": "^1.0.4", + "path-browserify": "1.0.1", "process": "^0.11.10", "property-handlers": "^1.1.1", "raptor-async": "^1.1.3", "raptor-cache": "^2.0.4", - "raptor-css-parser": "^1.1.5", - "raptor-detect": "^1.0.1", + "raptor-css-parser": "^1.1.6", "raptor-logging": "^1.1.3", - "raptor-objects": "^1.0.2", - "raptor-polyfill": "^1.0.2", - "raptor-promises": "^1.0.3", "raptor-regexp": "^1.0.1", - "raptor-strings": "^1.0.2", "raptor-util": "^3.2.0", "resolve-from": "^4.0.0", - "semver": "^5.5.0", - "send": "^0.16.2", - "stream-browserify": "^2.0.1", - "string_decoder": "^1.1.1", - "strip-json-comments": "^2.0.1", - "terser": "^3.17.0", + "send": "^0.18.0", + "stream-browserify": "^3.0.0", + "string_decoder": "^1.3.0", + "strip-json-comments": "^3.1.1", + "terser": "^5.15.0", "through": "^2.3.8", "url": "^0.11.0", - "util": "^0.11.0" + "util": "^0.12.4" }, "engines": { - "node": ">=6" + "node": ">=16" } }, "node_modules/lasso-caching-fs": { @@ -5128,9 +4639,9 @@ } }, "node_modules/lasso-less": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lasso-less/-/lasso-less-4.0.1.tgz", - "integrity": "sha512-Awoyc1+w5wftpaccyLGFgT0qEoywKu85uVtpk2V4RlwPE2YPASwrlV3wydxM662l+6dMzQb5E6Bjf74XivEgkw==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/lasso-less/-/lasso-less-4.0.2.tgz", + "integrity": "sha512-jdsRx2jW3kBw+qofYQut84fcV/qeelkzpZJ+6T0S17OjFB0j2dwaFR3JBBznqg99lV0Ghx2vbOL9qlXP20qCOg==", "dependencies": { "async": "^2.6.0", "lasso-package-root": "^1.0.1", @@ -5142,9 +4653,9 @@ } }, "node_modules/lasso-less/node_modules/async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", "dependencies": { "lodash": "^4.17.14" } @@ -5167,11 +4678,15 @@ } }, "node_modules/lasso-marko": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/lasso-marko/-/lasso-marko-3.1.0.tgz", - "integrity": "sha512-Ug7YhP8+YM227YWOlJTRQ+UsQiUrPrtmgLeaG7xA5pFeFblAGUiVrIHyoueUvlrCvpp58wUcUC0Pm12dnqquSw==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/lasso-marko/-/lasso-marko-3.2.1.tgz", + "integrity": "sha512-4QAHN1OByK9NWy/8SVgiAShkJPslVtVAjikXbMrnq9XjphRtTm2Lbez3t6olbG3ag+X0Roxx6pus6+YKmc8aPA==", "dependencies": { "callbackify": "^1.1.0" + }, + "peerDependencies": { + "lasso": "^2.11.9 || >=3", + "marko": "^3.4.5 || ^4 || ^5" } }, "node_modules/lasso-modules-client": { @@ -5202,46 +4717,149 @@ "resolve-from": "^2.0.0" } }, + "node_modules/lasso/node_modules/assert": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-2.0.0.tgz", + "integrity": "sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A==", + "dependencies": { + "es6-object-assign": "^1.1.0", + "is-nan": "^1.2.1", + "object-is": "^1.0.1", + "util": "^0.12.0" + } + }, + "node_modules/lasso/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/lasso/node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, "node_modules/lasso/node_modules/events": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", - "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "engines": { "node": ">=0.8.x" } }, + "node_modules/lasso/node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/lasso/node_modules/image-size": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.6.3.tgz", - "integrity": "sha512-47xSUiQioGaB96nqtp5/q55m0aBQSQdyIloMOc/x+QVTDZLNmXE892IIDrJ0hM1A5vcNUDD5tDffkSP5lCaIIA==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.0.2.tgz", + "integrity": "sha512-xfOoWjceHntRb3qFCrh5ZFORYH8XCdYpASltMhZ/Q0KZiOwjdE/Yl2QCiWdwD+lygV5bMCvauzgu5PxBX/Yerg==", + "dependencies": { + "queue": "6.0.2" + }, "bin": { "image-size": "bin/image-size.js" }, "engines": { - "node": ">=4.0" + "node": ">=14.0.0" } }, + "node_modules/lasso/node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, "node_modules/lasso/node_modules/mime": { - "version": "2.4.6", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz", - "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", + "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", "bin": { "mime": "cli.js" }, "engines": { - "node": ">=4.0.0" + "node": ">=10.0.0" + } + }, + "node_modules/lasso/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/lasso/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" } }, "node_modules/lasso/node_modules/path-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.0.tgz", - "integrity": "sha512-Hkavx/nY4/plImrZPHRk2CL9vpOymZLgEbMNX1U0bjcBL7QN9wODxyx0yaMZURSQaUtSEvDrfAvxa9oPb0at9g==" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==" }, "node_modules/lasso/node_modules/raptor-util": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/raptor-util/-/raptor-util-3.2.0.tgz", "integrity": "sha1-I7DIA8jxrIocrmfZpjiLSRYcl1g=" }, + "node_modules/lasso/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/lasso/node_modules/resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", @@ -5250,12 +4868,25 @@ "node": ">=4" } }, + "node_modules/lasso/node_modules/stream-browserify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz", + "integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==", + "dependencies": { + "inherits": "~2.0.4", + "readable-stream": "^3.5.0" + } + }, "node_modules/lasso/node_modules/util": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", + "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", "dependencies": { - "inherits": "2.0.3" + "inherits": "^2.0.3", + "is-arguments": "^1.0.4", + "is-generator-function": "^1.0.7", + "is-typed-array": "^1.1.3", + "which-typed-array": "^1.1.2" } }, "node_modules/less": { @@ -5284,49 +4915,36 @@ } }, "node_modules/less-middleware": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/less-middleware/-/less-middleware-3.1.0.tgz", - "integrity": "sha512-1FcTlNE73AVTNwcBykDbCnDPgKZT4VuCZxtlst/i4nB93Y/NsVQsZopK78zfDcT/2lsjBa5xZI8g4SFUhJqsJg==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/less-middleware/-/less-middleware-2.2.1.tgz", + "integrity": "sha512-1fDsyifwRGObMmqaZhkTDAmVnvgpZmdf6ZTSCbVv9vt+xhlzOz5TDNlLCbITsusEB3d0OKOEadwN9ic3PyOWCg==", "dependencies": { - "less": "~3.9.0", + "less": "~2.7.1", "mkdirp": "~0.5.1", - "node.extend": "~2.0.2" + "node.extend": "~2.0.0" }, "engines": { - "node": ">=4" + "node": ">= 0.7.1" } }, "node_modules/less-middleware/node_modules/less": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/less/-/less-3.9.0.tgz", - "integrity": "sha512-31CmtPEZraNUtuUREYjSqRkeETFdyEHSEPAGq4erDlUXtda7pzNmctdljdIagSb589d/qXGWiiP31R5JVf+v0w==", - "dependencies": { - "clone": "^2.1.2", - "graceful-fs": "^4.1.2", - "mime": "^1.4.1", - "mkdirp": "^0.5.0" - }, + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/less/-/less-2.7.1.tgz", + "integrity": "sha512-C7dSI8hOBbZ7qmnpjMFjpwWRs6bVcrJsRmap7onnTy4N14ye6KtB7UY0ZqY1ejHf/3a2JxzVYAd+yulIRdT1nw==", "bin": { "lessc": "bin/lessc" }, "engines": { - "node": ">=4" + "node": ">=0.12" }, "optionalDependencies": { "errno": "^0.1.1", + "graceful-fs": "^4.1.2", "image-size": "~0.5.0", + "mime": "^1.2.11", + "mkdirp": "^0.5.0", "promise": "^7.1.1", - "request": "^2.83.0", - "source-map": "~0.6.0" - } - }, - "node_modules/less-middleware/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "optional": true, - "engines": { - "node": ">=0.10.0" + "source-map": "^0.5.3" } }, "node_modules/less/node_modules/make-dir": { @@ -5360,18 +4978,6 @@ "node": ">=0.10.0" } }, - "node_modules/levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/listener-tracker": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/listener-tracker/-/listener-tracker-2.0.0.tgz", @@ -5387,12 +4993,23 @@ "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz", "integrity": "sha1-LcvSwofLwKVcxCMovQxzYVDVPj8=" }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dependencies": { + "yallist": "^3.0.2" + } + }, "node_modules/magic-string": { - "version": "0.25.7", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", - "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", + "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", "dependencies": { - "sourcemap-codec": "^1.4.4" + "@jridgewell/sourcemap-codec": "^1.4.13" + }, + "engines": { + "node": ">=12" } }, "node_modules/map-cache": { @@ -5415,16 +5032,17 @@ } }, "node_modules/marko": { - "version": "5.15.5", - "resolved": "https://registry.npmjs.org/marko/-/marko-5.15.5.tgz", - "integrity": "sha512-HEViLJUGOSLNqraCFOE98dUBdp5sHb7S4kU7YlobLeiRaqVjxX3bw3yWHvc2Q8/7NAmXNkq8eJTv4Q8sd92mTA==", + "version": "5.28.1", + "resolved": "https://registry.npmjs.org/marko/-/marko-5.28.1.tgz", + "integrity": "sha512-qdVb1RXyOslbewxgxZ8Sfig68xEIb/F0tj8AwqGrUz/jgmvuq3/l5pXQC8xK4m7dTd/6U7EM0+kmR13TXtepyA==", "dependencies": { - "@marko/compiler": "^5.15.4", - "@marko/translator-default": "^5.15.5", + "@marko/compiler": "^5.30.1", + "@marko/translator-default": "^5.28.1", "app-module-path": "^2.2.0", "argly": "^1.2.0", "browser-refresh-client": "1.1.4", "complain": "^1.6.0", + "csstype": "^3.1.2", "events-light": "^1.0.5", "listener-tracker": "^2.0.0", "minimatch": "^3.0.4", @@ -5494,7 +5112,7 @@ "node_modules/micromatch": { "version": "2.3.11", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "integrity": "sha512-LnU2XFEk9xxSJ6rfgAry/ty5qwUTyHYOBU0g4R6tIw5ljwgGIBmiKhRWLw5NpMOnrgUNcDJ4WMp8rl3sYVHLNA==", "dependencies": { "arr-diff": "^2.0.0", "array-unique": "^0.2.1", @@ -5538,19 +5156,19 @@ } }, "node_modules/mime-db": { - "version": "1.33.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", - "integrity": "sha1-o0kgUKXLm2NFBUHjnZeI0icng9s=", + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "engines": { "node": ">= 0.6" } }, "node_modules/mime-types": { - "version": "2.1.18", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", - "integrity": "sha1-bzI/YKg9ERRvgx/xH9ZuL+VQO7g=", + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dependencies": { - "mime-db": "~1.33.0" + "mime-db": "1.52.0" }, "engines": { "node": ">= 0.6" @@ -5567,9 +5185,9 @@ "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" }, "node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -5578,9 +5196,12 @@ } }, "node_modules/minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/mixin-deep": { "version": "1.3.2", @@ -5655,9 +5276,9 @@ } }, "node_modules/moment": { - "version": "2.29.1", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", - "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==", + "version": "2.29.4", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz", + "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==", "engines": { "node": "*" } @@ -5685,14 +5306,6 @@ "ms": "2.0.0" } }, - "node_modules/morgan/node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -5784,17 +5397,17 @@ "optional": true }, "node_modules/negotiator": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", - "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", "engines": { "node": ">= 0.6" } }, "node_modules/node-releases": { - "version": "1.1.75", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.75.tgz", - "integrity": "sha512-Qe5OUajvqrqDSy6wrWFmMwfJ0jVgwiw4T3KqmbTcZ62qW0gQkheXYhcFM1+lOVcGUoRxcEcfyvFMAnDgaF1VWw==" + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", + "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==" }, "node_modules/node.extend": { "version": "2.0.2", @@ -5819,19 +5432,10 @@ "node": ">=0.10.0" } }, - "node_modules/oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "optional": true, - "engines": { - "node": "*" - } - }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "engines": { "node": ">=0.10.0" } @@ -5860,6 +5464,29 @@ "node": ">=0.10.0" } }, + "node_modules/object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", @@ -5887,20 +5514,6 @@ "node": ">=0.10.0" } }, - "node_modules/object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/object.omit": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", @@ -5970,22 +5583,6 @@ "node": ">=4" } }, - "node_modules/optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dependencies": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/os-browserify": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", @@ -6020,7 +5617,7 @@ "node_modules/parse-glob": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", - "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "integrity": "sha512-FC5TeK0AwXzq3tUBFtH74naWkPQCEWs4K+xMxWZBlKDWu0bVHXGZa+KKqxKidd7xwhdZ19ZNuF2uO1M/r196HA==", "dependencies": { "glob-base": "^0.3.0", "is-dotfile": "^1.0.0", @@ -6050,9 +5647,9 @@ "integrity": "sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow==" }, "node_modules/parseurl": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", - "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", "engines": { "node": ">= 0.8" } @@ -6103,7 +5700,7 @@ "node_modules/path-to-regexp": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" }, "node_modules/pbkdf2": { "version": "3.0.17", @@ -6120,19 +5717,10 @@ "node": ">=0.12" } }, - "node_modules/performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "optional": true - }, - "node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "engines": { - "node": ">=4" - } + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" }, "node_modules/posix-character-classes": { "version": "0.1.1", @@ -6142,14 +5730,6 @@ "node": ">=0.10.0" } }, - "node_modules/prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/preserve": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", @@ -6186,37 +5766,23 @@ "integrity": "sha1-yyDTIqq32U//rCj0bJGGvVlHtLQ=" }, "node_modules/proxy-addr": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz", - "integrity": "sha1-7PxzO/Iv+Mb0B/onUye5q2fki5M=", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", "dependencies": { - "forwarded": "~0.1.2", - "ipaddr.js": "1.8.0" + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" }, "engines": { "node": ">= 0.10" } }, - "node_modules/proxy-addr/node_modules/ipaddr.js": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz", - "integrity": "sha1-6qM9bd16zo9/b+DJygRA5wZzix4=", - "engines": { - "node": ">= 0.10" - } - }, "node_modules/prr": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", "optional": true }, - "node_modules/psl": { - "version": "1.1.29", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz", - "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==", - "optional": true - }, "node_modules/public-encrypt": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", @@ -6235,30 +5801,27 @@ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==" }, - "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "optional": true, - "engines": { - "node": ">=6" - } - }, "node_modules/q": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", "engines": { "node": ">=0.6.0", "teleport": ">=0.2.0" } }, "node_modules/qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dependencies": { + "side-channel": "^1.0.4" + }, "engines": { "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/querystring": { @@ -6277,6 +5840,14 @@ "node": ">=0.4.x" } }, + "node_modules/queue": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", + "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", + "dependencies": { + "inherits": "~2.0.3" + } + }, "node_modules/randomatic": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", @@ -6324,9 +5895,9 @@ } }, "node_modules/range-parser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", "engines": { "node": ">= 0.6" } @@ -6370,19 +5941,14 @@ } }, "node_modules/raptor-css-parser": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/raptor-css-parser/-/raptor-css-parser-1.1.5.tgz", - "integrity": "sha1-HeAY2WEhyNwfHDRoZUmv9xZJ0Dc=", + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/raptor-css-parser/-/raptor-css-parser-1.1.6.tgz", + "integrity": "sha512-gNZOA/sRB6hmW6sfZGF/vPxinzpZHRawt/xfM5l9Ufd5VFA2SOnwZbyY6ZoUagRQqaYIRfMvXsmZtaIV8e700g==", "dependencies": { "raptor-async": "^1.0.0", "raptor-promises": "^1.0.1" } }, - "node_modules/raptor-detect": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/raptor-detect/-/raptor-detect-1.0.1.tgz", - "integrity": "sha1-ClTGOQVu9m39Ur45RfoizG0UZvM=" - }, "node_modules/raptor-dust": { "version": "1.1.12", "resolved": "https://registry.npmjs.org/raptor-dust/-/raptor-dust-1.1.12.tgz", @@ -6401,14 +5967,6 @@ "raptor-stacktraces": "^1.0.0" } }, - "node_modules/raptor-objects": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/raptor-objects/-/raptor-objects-1.0.2.tgz", - "integrity": "sha1-mQ3ONgQTsHni5K8RTy5zRKcc7hE=", - "dependencies": { - "raptor-util": "^1.0.0" - } - }, "node_modules/raptor-polyfill": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/raptor-polyfill/-/raptor-polyfill-1.1.0.tgz", @@ -6417,7 +5975,7 @@ "node_modules/raptor-promises": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/raptor-promises/-/raptor-promises-1.0.3.tgz", - "integrity": "sha1-1XaxEOBCNlT3/fFyHijULk3DwOs=", + "integrity": "sha512-N+Xy1RUi6ydlP8yjUZCsNmyvrTPM8GtQVkfrLEnhwjEpKTK3ObzPoOT43jvuihIAQGT52npZU/GtNee985lW5Q==", "dependencies": { "q": "^1.0.1", "raptor-util": "^1.0.0" @@ -6433,26 +5991,18 @@ "resolved": "https://registry.npmjs.org/raptor-stacktraces/-/raptor-stacktraces-1.0.1.tgz", "integrity": "sha1-f5+ycafdza4pHGprFd3v+8wAinY=" }, - "node_modules/raptor-strings": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/raptor-strings/-/raptor-strings-1.0.2.tgz", - "integrity": "sha1-ks4ssBU6/pBHDYA5oCVbTPM6tfw=", - "dependencies": { - "raptor-polyfill": "^1.0.1" - } - }, "node_modules/raptor-util": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/raptor-util/-/raptor-util-1.1.2.tgz", "integrity": "sha1-8u6AdqmuPq4uZWcuRqIgB0+i3/M=" }, "node_modules/raw-body": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", - "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", "dependencies": { - "bytes": "3.1.0", - "http-errors": "1.7.2", + "bytes": "3.1.2", + "http-errors": "2.0.0", "iconv-lite": "0.4.24", "unpipe": "1.0.0" }, @@ -6461,41 +6011,13 @@ } }, "node_modules/raw-body/node_modules/bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "engines": { "node": ">= 0.8" } }, - "node_modules/raw-body/node_modules/http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/raw-body/node_modules/setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" - }, - "node_modules/raw-body/node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "engines": { - "node": ">= 0.6" - } - }, "node_modules/read-only-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz", @@ -6864,6 +6386,11 @@ "node": ">=0.10.0" } }, + "node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + }, "node_modules/regex-cache": { "version": "0.4.4", "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", @@ -6887,6 +6414,11 @@ "node": ">=0.10.0" } }, + "node_modules/relative-import-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/relative-import-path/-/relative-import-path-1.0.0.tgz", + "integrity": "sha512-ZvbtoduKQmD4PZeJPfH6Ql21qUWhaMxiHkIsH+FUnZqKDwNIXBtGg5zRZyHWomiGYk8n5+KMBPK7Mi4D0XWfNg==" + }, "node_modules/remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", @@ -6908,73 +6440,6 @@ "node": ">=0.10" } }, - "node_modules/request": { - "version": "2.88.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", - "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", - "optional": true, - "dependencies": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.0", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.4.3", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/request/node_modules/mime-db": { - "version": "1.37.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz", - "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==", - "optional": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/request/node_modules/mime-types": { - "version": "2.1.21", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz", - "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", - "optional": true, - "dependencies": { - "mime-db": "~1.37.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/request/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "optional": true - }, - "node_modules/request/node_modules/uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", - "optional": true, - "bin": { - "uuid": "bin/uuid" - } - }, "node_modules/resolve": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", @@ -7014,48 +6479,16 @@ } }, "node_modules/rotating-file-stream": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/rotating-file-stream/-/rotating-file-stream-2.1.5.tgz", - "integrity": "sha512-wnYazkT8oD5HXTj44WhB030aKo74OyICrPz/QKCUah59QD7Np4OhdoTC0WNZfhMx1ClsZp4lYMlAdof+DIkZ1Q==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/rotating-file-stream/-/rotating-file-stream-3.1.0.tgz", + "integrity": "sha512-TkMF6cP1/QDcon9D71mjxHoflNuznNOrY5JJQfuxkKklZRmoow/lWBLNxXVjb6KcjAU8BDCV145buLgOx9Px1Q==", "engines": { - "node": ">=10.0" - } - }, - "node_modules/router": { - "version": "2.0.0-alpha.1", - "resolved": "https://registry.npmjs.org/router/-/router-2.0.0-alpha.1.tgz", - "integrity": "sha512-fz/T/qLkJM6RTtbqGqA1+uZ88ejqJoPyKeJAeXPYjebA7HzV/UyflH4gXWqW/Y6SERnp4kDwNARjqy6se3PcOw==", - "dependencies": { - "array-flatten": "2.1.1", - "debug": "3.1.0", - "methods": "~1.1.2", - "parseurl": "~1.3.2", - "path-to-regexp": "0.1.7", - "setprototypeof": "1.1.0", - "utils-merge": "1.0.1" + "node": ">=14.0" }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/router/node_modules/array-flatten": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.1.tgz", - "integrity": "sha1-Qmu52oQJDBg42BLIFQryCoMx4pY=" - }, - "node_modules/router/node_modules/debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dependencies": { - "ms": "2.0.0" + "funding": { + "url": "https://www.blockchain.com/btc/address/12p1p5q7sK75tPyuesZmssiMYr4TKzpSCN" } }, - "node_modules/router/node_modules/setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" - }, "node_modules/safe-buffer": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", @@ -7092,28 +6525,29 @@ "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "optional": true, "bin": { "semver": "bin/semver" } }, "node_modules/send": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", - "integrity": "sha1-bsyh4PjBVtFBWXVZhI32RzCmu8E=", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", "dependencies": { "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", + "depd": "2.0.0", + "destroy": "1.2.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "~1.6.2", - "mime": "1.4.1", - "ms": "2.0.0", - "on-finished": "~2.3.0", - "range-parser": "~1.2.0", - "statuses": "~1.4.0" + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" }, "engines": { "node": ">= 0.8.0" @@ -7122,17 +6556,30 @@ "node_modules/send/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dependencies": { "ms": "2.0.0" } }, - "node_modules/send/node_modules/mime": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", - "integrity": "sha1-Eh+evEnjdm8xGnbh+hyAA8SwOqY=", - "bin": { - "mime": "cli.js" + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/send/node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" } }, "node_modules/serve-favicon": { @@ -7156,14 +6603,14 @@ "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" }, "node_modules/serve-static": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", - "integrity": "sha1-CV6Ecv1bRiN9tQzkhqQ/S4bGzsE=", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", "dependencies": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", - "parseurl": "~1.3.2", - "send": "0.16.2" + "parseurl": "~1.3.3", + "send": "0.18.0" }, "engines": { "node": ">= 0.8.0" @@ -7195,9 +6642,9 @@ } }, "node_modules/setprototypeof": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", - "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" }, "node_modules/sha.js": { "version": "2.4.11", @@ -7250,9 +6697,25 @@ } }, "node_modules/shell-quote": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", - "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==" + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.0.tgz", + "integrity": "sha512-QHsz8GgQIGKlRi24yFc6a6lN69Idnx634w49ay6+jA5yFh7a1UY+4Rp6HPx/L/1zcEDPEij8cIsiqR6bQsE5VQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/simple-concat": { "version": "1.0.0", @@ -7394,29 +6857,49 @@ } }, "node_modules/socket.io": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.2.0.tgz", - "integrity": "sha512-sjlGfMmnaWvTRVxGRGWyhd9ctpg4APxWAxu85O/SxekkxHhfxmePWZbaYCkeX5QQX0z1YEnKOlNt6w82E4Nzug==", + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.6.1.tgz", + "integrity": "sha512-KMcaAi4l/8+xEjkRICl6ak8ySoxsYG+gG6/XfRCPJPQ/haCRIJBTL4wIl8YCsmtaBovcAXGLOShyVWQ/FG8GZA==", "dependencies": { - "@types/cookie": "^0.4.1", - "@types/cors": "^2.8.12", - "@types/node": ">=10.0.0", "accepts": "~1.3.4", "base64id": "~2.0.0", "debug": "~4.3.2", - "engine.io": "~5.2.0", - "socket.io-adapter": "~2.3.2", - "socket.io-parser": "~4.0.4" + "engine.io": "~6.4.1", + "socket.io-adapter": "~2.5.2", + "socket.io-parser": "~4.2.1" }, "engines": { "node": ">=10.0.0" } }, - "node_modules/socket.io-adapter": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.3.2.tgz", - "integrity": "sha512-PBZpxUPYjmoogY0aoaTmo1643JelsaS1CiAwNjRVdrI0X9Seuc19Y2Wife8k88avW6haG8cznvwbubAZwH4Mtg==" - }, + "node_modules/socket.io-adapter": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.2.tgz", + "integrity": "sha512-87C3LO/NOMc+eMcpcxUBebGjkpMDkNBS9tf7KJqcDsmL936EChtVva71Dw2q4tQcuVC+hAUy4an2NO/sYXmwRA==", + "dependencies": { + "ws": "~8.11.0" + } + }, + "node_modules/socket.io-adapter/node_modules/ws": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", + "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, "node_modules/socket.io-client": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.2.0.tgz", @@ -7435,9 +6918,9 @@ } }, "node_modules/socket.io-parser": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz", - "integrity": "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.5.tgz", + "integrity": "sha512-sNjbT9dX63nqUFIOv95tTVm6elyIU4RvB1m8dOeZt+IgWwcWklFDOdmGcfo3zSiRsnR/3pJkjY5lfoGqEe4Eig==", "dependencies": { "@types/component-emitter": "^1.2.10", "component-emitter": "~1.3.0", @@ -7447,6 +6930,18 @@ "node": ">=10.0.0" } }, + "node_modules/socket.io/node_modules/socket.io-parser": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.2.tgz", + "integrity": "sha512-DJtziuKypFkMMHCm2uIshOYC7QaylbtzQwiMYDuCKy3OPkjLzu4B2vAhTlqipRHHzrI0NJeBAizTK7X+6m1jVw==", + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, "node_modules/source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", @@ -7468,9 +6963,9 @@ } }, "node_modules/source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -7489,11 +6984,6 @@ "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" }, - "node_modules/sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" - }, "node_modules/split-string": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", @@ -7505,26 +6995,6 @@ "node": ">=0.10.0" } }, - "node_modules/sshpk": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.15.2.tgz", - "integrity": "sha512-Ra/OXQtuh0/enyl4ETZAfTaeksa6BXks5ZcjpSUNrjBr0DvrJKX+1fsKDPpT9TBXgHAFsa4510aNVgI8g/+SzA==", - "optional": true, - "dependencies": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/stackframe": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.1.0.tgz", @@ -7554,13 +7024,18 @@ } }, "node_modules/statuses": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "engines": { - "node": ">= 0.6" + "node": ">= 0.8" } }, + "node_modules/steez": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/steez/-/steez-0.4.2.tgz", + "integrity": "sha512-eWKdF3W7iWCrY71Pgrv2BABApvYajo6aWzo276n8KZfzkOtKB5mNqq2Uuj55W3Yy2TCrPSLDgkIBk+9BEEVO0Q==" + }, "node_modules/stream-browserify": { "version": "2.0.1", "resolved": "http://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", @@ -7613,30 +7088,41 @@ } }, "node_modules/string_decoder": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.2.0.tgz", - "integrity": "sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dependencies": { - "safe-buffer": "~5.1.0" + "safe-buffer": "~5.2.0" } }, - "node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } + "node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, "node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "engines": { - "node": ">=0.10.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/subarg": { @@ -7647,19 +7133,6 @@ "minimist": "^1.1.0" } }, - "node_modules/subarg/node_modules/minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" - }, - "node_modules/supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/syntax-error": { "version": "1.4.0", "resolved": "http://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz", @@ -7668,36 +7141,32 @@ "acorn-node": "^1.2.0" } }, - "node_modules/tapable": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz", - "integrity": "sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==", - "engines": { - "node": ">=6" - } - }, "node_modules/terser": { - "version": "3.17.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-3.17.0.tgz", - "integrity": "sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==", + "version": "5.16.8", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.8.tgz", + "integrity": "sha512-QI5g1E/ef7d+PsDifb+a6nnVgC4F22Bg6T0xrBrz6iloVB4PUkkunp6V8nzoOOZJIzjWVdAGqCdlKlhLq/TbIA==", "dependencies": { - "commander": "^2.19.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.10" + "@jridgewell/source-map": "^0.3.2", + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" }, "bin": { - "terser": "bin/uglifyjs" + "terser": "bin/terser" }, "engines": { - "node": ">=6.0.0" + "node": ">=10" } }, - "node_modules/terser/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/terser/node_modules/acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "bin": { + "acorn": "bin/acorn" + }, "engines": { - "node": ">=0.10.0" + "node": ">=0.4.0" } }, "node_modules/through": { @@ -7728,12 +7197,12 @@ "node_modules/to-array": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", - "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=" + "integrity": "sha512-LhVdShQD/4Mk4zXNroIQZJC+Ap3zgLcDuwEdcmLv9CCO73NWockQDwyUnW/m8VX/EElfL6FcYx7EeutN4HJA6A==" }, "node_modules/to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", "engines": { "node": ">=4" } @@ -7787,32 +7256,13 @@ } }, "node_modules/toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "engines": { "node": ">=0.6" } }, - "node_modules/tough-cookie": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", - "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", - "optional": true, - "dependencies": { - "psl": "^1.1.24", - "punycode": "^1.4.1" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/tough-cookie/node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "optional": true - }, "node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", @@ -7823,35 +7273,6 @@ "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==" }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "optional": true, - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "optional": true - }, - "node_modules/type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dependencies": { - "prelude-ls": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/type-detect": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-1.0.0.tgz", @@ -7861,12 +7282,12 @@ } }, "node_modules/type-is": { - "version": "1.6.16", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", - "integrity": "sha1-+JzjQVQcZysl7nrjxz3uOyvlAZQ=", + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "dependencies": { "media-typer": "0.3.0", - "mime-types": "~2.1.18" + "mime-types": "~2.1.24" }, "engines": { "node": ">= 0.6" @@ -7909,9 +7330,9 @@ } }, "node_modules/underscore": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.1.tgz", - "integrity": "sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g==" + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz", + "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==" }, "node_modules/union-value": { "version": "1.0.1", @@ -7992,13 +7413,29 @@ "node": ">=0.10.0" } }, - "node_modules/uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "optional": true, + "node_modules/update-browserslist-db": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], "dependencies": { - "punycode": "^2.1.0" + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist-lint": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" } }, "node_modules/urix": { @@ -8050,9 +7487,9 @@ } }, "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", + "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==", "bin": { "uuid": "dist/bin/uuid" } @@ -8065,29 +7502,6 @@ "node": ">= 0.8" } }, - "node_modules/verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "engines": [ - "node >=0.6.0" - ], - "optional": true, - "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "node_modules/verror/node_modules/assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "optional": true, - "engines": { - "node": ">=0.8" - } - }, "node_modules/vm-browserify": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", @@ -8113,12 +7527,23 @@ "node": ">= 8" } }, - "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "node_modules/which-typed-array": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.10" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/wrappy": { @@ -8158,6 +7583,11 @@ "node": ">=0.4" } }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, "node_modules/yeast": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", @@ -8165,48 +7595,54 @@ } }, "dependencies": { + "@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "requires": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, "@babel/code-frame": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", - "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", "requires": { - "@babel/highlight": "^7.14.5" + "@babel/highlight": "^7.18.6" } }, "@babel/compat-data": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz", - "integrity": "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==" + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.0.tgz", + "integrity": "sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g==" }, "@babel/core": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.0.tgz", - "integrity": "sha512-tXtmTminrze5HEUPn/a0JtOzzfp0nk+UEXQ/tqIJo3WDGypl/2OFQEMll/zSFU8f/lfmfLXvTaORHF3cfXIQMw==", - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.0", - "@babel/helper-compilation-targets": "^7.15.0", - "@babel/helper-module-transforms": "^7.15.0", - "@babel/helpers": "^7.14.8", - "@babel/parser": "^7.15.0", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.15.0", - "@babel/types": "^7.15.0", + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.3.tgz", + "integrity": "sha512-qIJONzoa/qiHghnm0l1n4i/6IIziDpzqc36FBs4pzMhDUraHqponwJLiAKm1hGLP3OSB/TVNz6rMwVGpwxxySw==", + "requires": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.21.3", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-module-transforms": "^7.21.2", + "@babel/helpers": "^7.21.0", + "@babel/parser": "^7.21.3", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.3", + "@babel/types": "^7.21.3", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", - "semver": "^6.3.0", - "source-map": "^0.5.0" + "json5": "^2.2.2", + "semver": "^6.3.0" }, "dependencies": { "convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "requires": { - "safe-buffer": "~5.1.1" - } + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" }, "semver": { "version": "6.3.0", @@ -8216,23 +7652,45 @@ } }, "@babel/generator": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.0.tgz", - "integrity": "sha512-eKl4XdMrbpYvuB505KTta4AV9g+wWzmVBW69tX0H2NwKVKd2YJbKgyK6M8j/rgLbmHOYJn6rUklV677nOyJrEQ==", + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.3.tgz", + "integrity": "sha512-QS3iR1GYC/YGUnW7IdggFeN5c1poPUurnGttOV/bZgPGV+izC/D8HnD6DLwod0fsatNyVn1G3EVWMYIF0nHbeA==", "requires": { - "@babel/types": "^7.15.0", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" + "@babel/types": "^7.21.3", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "dependencies": { + "@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + } } }, - "@babel/helper-compilation-targets": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.0.tgz", - "integrity": "sha512-h+/9t0ncd4jfZ8wsdAsoIxSa61qhBYlycXiHWqJaQBCXAhDCMbPRSMTGnZIkkmt1u4ag+UQmuqcILwqKzZ4N2A==", + "@babel/helper-annotate-as-pure": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", + "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", "requires": { - "@babel/compat-data": "^7.15.0", - "@babel/helper-validator-option": "^7.14.5", - "browserslist": "^4.16.6", + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz", + "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==", + "requires": { + "@babel/compat-data": "^7.20.5", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", "semver": "^6.3.0" }, "dependencies": { @@ -8243,129 +7701,155 @@ } } }, - "@babel/helper-function-name": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz", - "integrity": "sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==", + "@babel/helper-create-class-features-plugin": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.21.0.tgz", + "integrity": "sha512-Q8wNiMIdwsv5la5SPxNYzzkPnjgC0Sy0i7jLkVOCdllu/xcVNkr3TeZzbHBJrj+XXRqzX5uCyCoV9eu6xUG7KQ==", "requires": { - "@babel/helper-get-function-arity": "^7.14.5", - "@babel/template": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-member-expression-to-functions": "^7.21.0", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-replace-supers": "^7.20.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/helper-split-export-declaration": "^7.18.6" } }, - "@babel/helper-get-function-arity": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz", - "integrity": "sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==", + "@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==" + }, + "@babel/helper-function-name": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", + "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", "requires": { - "@babel/types": "^7.14.5" + "@babel/template": "^7.20.7", + "@babel/types": "^7.21.0" } }, "@babel/helper-hoist-variables": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz", - "integrity": "sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", "requires": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.18.6" } }, "@babel/helper-member-expression-to-functions": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.0.tgz", - "integrity": "sha512-Jq8H8U2kYiafuj2xMTPQwkTBnEEdGKpT35lJEQsRRjnG0LW3neucsaMWLgKcwu3OHKNeYugfw+Z20BXBSEs2Lg==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.21.0.tgz", + "integrity": "sha512-Muu8cdZwNN6mRRNG6lAYErJ5X3bRevgYR2O8wN0yn7jJSnGDu6eG59RfT29JHxGUovyfrh6Pj0XzmR7drNVL3Q==", "requires": { - "@babel/types": "^7.15.0" + "@babel/types": "^7.21.0" } }, "@babel/helper-module-imports": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz", - "integrity": "sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", "requires": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.18.6" } }, "@babel/helper-module-transforms": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.0.tgz", - "integrity": "sha512-RkGiW5Rer7fpXv9m1B3iHIFDZdItnO2/BLfWVW/9q7+KqQSDY5kUfQEbzdXM1MVhJGcugKV7kRrNVzNxmk7NBg==", + "version": "7.21.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz", + "integrity": "sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==", "requires": { - "@babel/helper-module-imports": "^7.14.5", - "@babel/helper-replace-supers": "^7.15.0", - "@babel/helper-simple-access": "^7.14.8", - "@babel/helper-split-export-declaration": "^7.14.5", - "@babel/helper-validator-identifier": "^7.14.9", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.15.0", - "@babel/types": "^7.15.0" + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.20.2", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.2", + "@babel/types": "^7.21.2" } }, "@babel/helper-optimise-call-expression": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz", - "integrity": "sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", + "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", "requires": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.18.6" } }, "@babel/helper-plugin-utils": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", - "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==" + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", + "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==" }, "@babel/helper-replace-supers": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.0.tgz", - "integrity": "sha512-6O+eWrhx+HEra/uJnifCwhwMd6Bp5+ZfZeJwbqUTuqkhIT6YcRhiZCOOFChRypOIe0cV46kFrRBlm+t5vHCEaA==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz", + "integrity": "sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==", "requires": { - "@babel/helper-member-expression-to-functions": "^7.15.0", - "@babel/helper-optimise-call-expression": "^7.14.5", - "@babel/traverse": "^7.15.0", - "@babel/types": "^7.15.0" + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-member-expression-to-functions": "^7.20.7", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.7", + "@babel/types": "^7.20.7" } }, "@babel/helper-simple-access": { - "version": "7.14.8", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.14.8.tgz", - "integrity": "sha512-TrFN4RHh9gnWEU+s7JloIho2T76GPwRHhdzOWLqTrMnlas8T9O7ec+oEDNsRXndOmru9ymH9DFrEOxpzPoSbdg==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", + "requires": { + "@babel/types": "^7.20.2" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", + "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", "requires": { - "@babel/types": "^7.14.8" + "@babel/types": "^7.20.0" } }, "@babel/helper-split-export-declaration": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz", - "integrity": "sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", "requires": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.18.6" } }, + "@babel/helper-string-parser": { + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==" + }, "@babel/helper-validator-identifier": { - "version": "7.14.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz", - "integrity": "sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==" + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" }, "@babel/helper-validator-option": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", - "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==" + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", + "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==" }, "@babel/helpers": { - "version": "7.15.3", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.3.tgz", - "integrity": "sha512-HwJiz52XaS96lX+28Tnbu31VeFSQJGOeKHJeaEPQlTl7PnlhFElWPj8tUXtqFIzeN86XxXoBr+WFAyK2PPVz6g==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.0.tgz", + "integrity": "sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==", "requires": { - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.15.0", - "@babel/types": "^7.15.0" + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.0", + "@babel/types": "^7.21.0" } }, "@babel/highlight": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", - "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", "requires": { - "@babel/helper-validator-identifier": "^7.14.5", + "@babel/helper-validator-identifier": "^7.18.6", "chalk": "^2.0.0", "js-tokens": "^4.0.0" }, @@ -8404,75 +7888,142 @@ } }, "@babel/parser": { - "version": "7.15.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.3.tgz", - "integrity": "sha512-O0L6v/HvqbdJawj0iBEfVQMc3/6WP+AeOsovsIgBFyJaG+W2w7eqvZB7puddATmWuARlm1SX7DwxJ/JJUnDpEA==" + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.3.tgz", + "integrity": "sha512-lobG0d7aOfQRXh8AyklEAgZGvA4FShxo6xQbUrrT/cNBPUdIDojlokwJsQyCC/eKia7ifqM0yP+2DRZ4WKw2RQ==" + }, + "@babel/plugin-syntax-typescript": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz", + "integrity": "sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.19.0" + } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.15.0.tgz", - "integrity": "sha512-3H/R9s8cXcOGE8kgMlmjYYC9nqr5ELiPkJn4q0mypBrjhYQoc+5/Maq69vV4xRPWnkzZuwJPf5rArxpB/35Cig==", + "version": "7.21.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.2.tgz", + "integrity": "sha512-Cln+Yy04Gxua7iPdj6nOV96smLGjpElir5YwzF0LBPKoPlLDNJePNlrGGaybAJkd0zKRnOVXOgizSqPYMNYkzA==", "requires": { - "@babel/helper-module-transforms": "^7.15.0", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-simple-access": "^7.14.8", - "babel-plugin-dynamic-import-node": "^2.3.3" + "@babel/helper-module-transforms": "^7.21.2", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-simple-access": "^7.20.2" + } + }, + "@babel/plugin-transform-typescript": { + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.21.3.tgz", + "integrity": "sha512-RQxPz6Iqt8T0uw/WsJNReuBpWpBqs/n7mNo18sKLoTbMp+UrEekhH+pKSVC7gWz+DNjo9gryfV8YzCiT45RgMw==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.21.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-typescript": "^7.20.0" } }, "@babel/runtime": { - "version": "7.15.3", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.3.tgz", - "integrity": "sha512-OvwMLqNXkCXSz1kSm58sEsNuhqOx/fKpnUnKnFB5v8uDda5bLNEHNgKPvhDN6IU0LDcnHQ90LlJ0Q6jnyBSIBA==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz", + "integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==", "requires": { - "regenerator-runtime": "^0.13.4" - }, - "dependencies": { - "regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" - } + "regenerator-runtime": "^0.13.11" } }, "@babel/template": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz", - "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" } }, "@babel/traverse": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.0.tgz", - "integrity": "sha512-392d8BN0C9eVxVWd8H6x9WfipgVH5IaIoLp23334Sc1vbKKWINnvwRpb4us0xtPaCumlwbTtIYNA0Dv/32sVFw==", - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.0", - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-hoist-variables": "^7.14.5", - "@babel/helper-split-export-declaration": "^7.14.5", - "@babel/parser": "^7.15.0", - "@babel/types": "^7.15.0", + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.3.tgz", + "integrity": "sha512-XLyopNeaTancVitYZe2MlUEvgKb6YVVPXzofHgqHijCImG33b/uTurMS488ht/Hbsb2XK3U2BnSTxKVNGV3nGQ==", + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.21.3", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.21.3", + "@babel/types": "^7.21.3", "debug": "^4.1.0", "globals": "^11.1.0" } }, "@babel/types": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.0.tgz", - "integrity": "sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ==", + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.3.tgz", + "integrity": "sha512-sBGdETxC+/M4o/zKC0sl6sjWv62WFR/uzxrJ6uYyMLZOUlPnwzw0tKgVHOXxaAd5l2g8pEDM5RZ495GPQI77kg==", "requires": { - "@babel/helper-validator-identifier": "^7.14.9", + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", "to-fast-properties": "^2.0.0" } }, + "@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "requires": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==" + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" + }, + "@jridgewell/source-map": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", + "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "dependencies": { + "@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + } + } + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" + }, + "@jridgewell/trace-mapping": { + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "requires": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, "@lasso/marko-taglib": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@lasso/marko-taglib/-/marko-taglib-2.0.3.tgz", - "integrity": "sha512-XcnU7piLu+8uMinqaBJ/LCssE5XrqN6+1OgaK1jwqSNiCqmaJylt8GDQG9rNxUccWQ7KLc2XJ/DydB0qomxZdg==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@lasso/marko-taglib/-/marko-taglib-2.0.5.tgz", + "integrity": "sha512-2TQeMHTwb0M7Ag5ACl+Jo2bI8p95r8AVrI5RPDG9UB1TneCtlR1/NFnGaL56dTQzLN1/6zM59mHqmPwoMq0iTQ==", "requires": { "async": "^0.9.2", "lasso-resolve-from": "^1.2.0", @@ -8482,12 +8033,13 @@ } }, "@marko/babel-utils": { - "version": "5.15.4", - "resolved": "https://registry.npmjs.org/@marko/babel-utils/-/babel-utils-5.15.4.tgz", - "integrity": "sha512-WChoFX0JZfkgQkrvBIMZ3hoImzMIZIQfmw7SA0tXsTxwQTZO2kdVJaiPPHA+zbkG0YZcqpRw3WO7F4RpsumIMw==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@marko/babel-utils/-/babel-utils-6.1.0.tgz", + "integrity": "sha512-LOZ6nuaRSUse3ZqA22nkFX8PjLTghb9/S4Rugds7RH7L7VWdXhDMXdpVdKAZKh33kB/oRNOKxl3BMf5wx5UbgA==", "requires": { - "@babel/runtime": "^7.13.10", - "jsesc": "^3.0.2" + "@babel/runtime": "^7.16.0", + "jsesc": "^3.0.2", + "relative-import-path": "^1.0.0" }, "dependencies": { "jsesc": { @@ -8498,26 +8050,27 @@ } }, "@marko/compiler": { - "version": "5.15.4", - "resolved": "https://registry.npmjs.org/@marko/compiler/-/compiler-5.15.4.tgz", - "integrity": "sha512-Tvxcrj4osUcabLDIob0Hjfr3a8Z8SRUTDZhjdu2NncB+LFQtlzjIWJG7dG315GsK/QRCr0xK4UDyBVmbvOL7HQ==", - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/core": "^7.13.10", - "@babel/generator": "^7.13.9", - "@babel/parser": "^7.13.11", - "@babel/plugin-transform-modules-commonjs": "^7.13.8", - "@babel/runtime": "^7.13.10", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.0", - "@marko/babel-utils": "^5.15.4", + "version": "5.30.1", + "resolved": "https://registry.npmjs.org/@marko/compiler/-/compiler-5.30.1.tgz", + "integrity": "sha512-jTn1yKHNqa+enIxznGrzPLD516sjmVq+bTSUITPBgZB/qLQjyOujXZze2nWX3HPzdZ/nYMM/hDt8sPRNISlsTQ==", + "requires": { + "@babel/code-frame": "^7.16.0", + "@babel/core": "^7.16.0", + "@babel/generator": "^7.16.0", + "@babel/parser": "^7.16.0", + "@babel/plugin-syntax-typescript": "^7.16.0", + "@babel/plugin-transform-modules-commonjs": "^7.16.0", + "@babel/plugin-transform-typescript": "^7.16.0", + "@babel/runtime": "^7.16.0", + "@babel/traverse": "^7.16.0", + "@babel/types": "^7.16.0", + "@marko/babel-utils": "^6.1.0", "complain": "^1.6.0", - "enhanced-resolve": "5.7.0", "he": "^1.2.0", - "htmljs-parser": "^2.10.0", + "htmljs-parser": "^5.4.3", "jsesc": "^3.0.2", + "kleur": "^4.1.5", "lasso-package-root": "^1.0.1", - "property-handlers": "^1.1.1", "raptor-regexp": "^1.0.1", "raptor-util": "^3.2.0", "resolve-from": "^5.0.0", @@ -8526,11 +8079,6 @@ "strip-json-comments": "^3.1.1" }, "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" - }, "jsesc": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", @@ -8553,28 +8101,24 @@ "requires": { "ansi-regex": "^5.0.0" } - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" } } }, "@marko/express": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@marko/express/-/express-1.0.0.tgz", - "integrity": "sha512-EwMBmNJBAQcfOS+StLf1V46nV7LRAvBU3qZBogaYuXYST9gVWrFxfHZiJm0HZ3DTR3r07ZVBFG+QzA8KxRPbOA==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@marko/express/-/express-2.1.0.tgz", + "integrity": "sha512-foUlj6AfkiIpMcWNGCgKcLULbYUtiP7M0gStjsMxEX8x9rGFQq4IC38iFIJJmokNkkDgs1lMRLsMB4RckBpwCw==", + "requires": {} }, "@marko/translator-default": { - "version": "5.15.5", - "resolved": "https://registry.npmjs.org/@marko/translator-default/-/translator-default-5.15.5.tgz", - "integrity": "sha512-PVx0keN+4ISem5vewbsqYyXevLZ5FQYz4XvC1bFTLaIxo73yx/s2fxU2gWTfGSMIDEPS7hiVxwxx94NtWyhUgw==", + "version": "5.28.1", + "resolved": "https://registry.npmjs.org/@marko/translator-default/-/translator-default-5.28.1.tgz", + "integrity": "sha512-7WflqmsrIHizD2wcVWjQE8/mtoxLCLyr2knlh8iG1njH82fH0bLhpsGIE8EhKaxwIAvjaf7BU9QjpRRaudRPsA==", "requires": { - "@babel/runtime": "^7.13.10", - "@marko/babel-utils": "^5.15.4", + "@babel/runtime": "^7.16.0", + "@marko/babel-utils": "^6.1.0", "escape-string-regexp": "^4.0.0", - "magic-string": "^0.25.7", + "magic-string": "^0.27.0", "self-closing-tags": "^1.0.1" }, "dependencies": { @@ -8585,6 +8129,11 @@ } } }, + "@socket.io/component-emitter": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", + "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==" + }, "@types/component-emitter": { "version": "1.2.10", "resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.10.tgz", @@ -8596,22 +8145,25 @@ "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==" }, "@types/cors": { - "version": "2.8.12", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz", - "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==" + "version": "2.8.13", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.13.tgz", + "integrity": "sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==", + "requires": { + "@types/node": "*" + } }, "@types/node": { - "version": "16.7.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.6.tgz", - "integrity": "sha512-VESVNFoa/ahYA62xnLBjo5ur6gPsgEE5cNRy8SrdnkZ2nwJSW0kJ4ufbFr2zuU9ALtHM8juY53VcRoTA7htXSg==" + "version": "18.15.11", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz", + "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==" }, "accepts": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", - "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "requires": { - "mime-types": "~2.1.18", - "negotiator": "0.6.1" + "mime-types": "~2.1.34", + "negotiator": "0.6.3" } }, "acorn": { @@ -8622,7 +8174,8 @@ "acorn-jsx": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==" + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "requires": {} }, "acorn-node": { "version": "1.8.2", @@ -8642,19 +8195,7 @@ "after": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", - "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=" - }, - "ajv": { - "version": "6.5.5", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.5.tgz", - "integrity": "sha512-7q7gtRQDJSyuEHjuVgHoUa2VuemFiCMrfQc9Tc08XTAc4Zj/5U1buQJ0HU6i7fKjXU09SVgSmxa4sLvuvS8Iyg==", - "optional": true, - "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } + "integrity": "sha512-QbJ0NTQ/I9DI3uSJA4cbexiwQeRAfjPScqIbSjUDd9TOrcg6pTkdgziesOqxBMBzit8vFCTwrP27t13vFOORRA==" }, "alertifyjs": { "version": "1.13.1", @@ -8662,14 +8203,9 @@ "integrity": "sha512-CckZE2dZDsEEXglOXKxT00vUDV5A6udZom+bn1XHdIWlbSFZgYq7UXCBlwkShhIH3Li/1VxLmr55GOQFQ12WSg==" }, "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" }, "anymatch": { "version": "1.3.2", @@ -8716,7 +8252,7 @@ "array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" }, "array-unique": { "version": "0.2.1", @@ -8731,18 +8267,9 @@ "asap": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", "optional": true }, - "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "optional": true, - "requires": { - "safer-buffer": "~2.1.0" - } - }, "asn1.js": { "version": "4.10.1", "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", @@ -8776,12 +8303,6 @@ } } }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "optional": true - }, "assertion-error": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", @@ -8817,55 +8338,24 @@ } } }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "optional": true - }, "atob": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "optional": true - }, - "aws4": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", - "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", - "optional": true + "available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" }, "axios": { - "version": "0.21.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.2.tgz", - "integrity": "sha512-87otirqUw3e8CzHTMO+/9kh/FSgXt/eVDvipijwDtEuwbkySWZ9SBm6VEubmJ/kLKEoLQV/POhxXFb66bfekfg==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", "requires": { "follow-redirects": "^1.14.0" } }, - "babel-code-frame": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", - "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" - } - }, - "babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "requires": { - "object.assign": "^4.1.0" - } - }, "backo2": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", @@ -8942,9 +8432,9 @@ "integrity": "sha1-mBjHngWbE1X5fgQooBfIOOkLqBI=" }, "base64-js": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", - "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==" + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" }, "base64id": { "version": "2.0.0", @@ -8966,51 +8456,11 @@ } } }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "optional": true, - "requires": { - "tweetnacl": "^0.14.3" - } - }, "binary-extensions": { "version": "1.12.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.12.0.tgz", "integrity": "sha512-DYWGk01lDcxeS/K9IHPGWfT8PsJmbXRtRd2Sx72Tnb8pcYZQFF1oSDb8hJtS1vhp212q1Rzi5dUf9+nq0o9UIg==" }, - "bl": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-0.7.0.tgz", - "integrity": "sha1-P7BnBgKsKHjrdw3CA58YNr5irls=", - "requires": { - "readable-stream": "~1.0.2" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - } - } - }, "blob": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz", @@ -9022,26 +8472,28 @@ "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" }, "body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", "requires": { - "bytes": "3.1.0", - "content-type": "~1.0.4", + "bytes": "3.1.2", + "content-type": "~1.0.5", "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.7.2", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" }, "dependencies": { "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" }, "debug": { "version": "2.6.9", @@ -9051,53 +8503,12 @@ "ms": "2.0.0" } }, - "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - } - }, - "mime-db": { - "version": "1.43.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz", - "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==" - }, - "mime-types": { - "version": "2.1.26", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz", - "integrity": "sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==", - "requires": { - "mime-db": "1.43.0" - } - }, - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" - }, - "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" - }, - "type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" + "ee-first": "1.1.1" } } } @@ -9119,7 +8530,7 @@ "braces": { "version": "1.8.5", "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "integrity": "sha512-xU7bpz2ytJl1bH9cgIurjpg/n8Gohy9GTw81heDYLJQ4RU60dlyJsa+atVF2pI0yMMvKxI9HkKwjePCj5XI1hw==", "requires": { "expand-range": "^1.8.1", "preserve": "^0.2.0", @@ -9164,18 +8575,10 @@ "socket.io": "^2.1.1" }, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, "engine.io": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.5.0.tgz", - "integrity": "sha512-21HlvPUKaitDGE4GXNtQ7PLP0Sz4aWLddMPw2VTyFz1FVZqu/kZsJUO8WNpKuE/OCL7nkfRaOui2ZCJloGznGA==", + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.6.1.tgz", + "integrity": "sha512-dfs8EVg/i7QjFsXxn7cCRQ+Wai1G1TlEvHhdYEi80fxn5R1vZ2K661O6v/rezj1FP234SZ14r9CmJke99iYDGg==", "requires": { "accepts": "~1.3.4", "base64id": "2.0.0", @@ -9186,9 +8589,9 @@ }, "dependencies": { "cookie": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", - "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==" + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==" }, "debug": { "version": "4.1.1", @@ -9206,9 +8609,9 @@ } }, "engine.io-client": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.5.2.tgz", - "integrity": "sha512-QEqIp+gJ/kMHeUun7f5Vv3bteRHppHH/FMBQX/esFj/fuYfjyUKWGMo3VCvIP/V8bE9KcjHmRZrhIz2Z9oNsDA==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.5.3.tgz", + "integrity": "sha512-qsgyc/CEhJ6cgMUwxRRtOndGVhIu5hpL5tR4umSpmX/MvkFoIxUTM7oFMDQumHNzlNLwSVy6qhstFPoWTf7dOw==", "requires": { "component-emitter": "~1.3.0", "component-inherit": "0.0.3", @@ -9245,112 +8648,16 @@ "has-binary2": "~1.0.2" } }, - "express": { - "version": "4.16.4", - "resolved": "https://registry.npmjs.org/express/-/express-4.16.4.tgz", - "integrity": "sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg==", - "requires": { - "accepts": "~1.3.5", - "array-flatten": "1.1.1", - "body-parser": "1.18.3", - "content-disposition": "0.5.2", - "content-type": "~1.0.4", - "cookie": "0.3.1", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.1.1", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.4", - "qs": "6.5.2", - "range-parser": "~1.2.0", - "safe-buffer": "5.1.2", - "send": "0.16.2", - "serve-static": "1.13.2", - "setprototypeof": "1.1.0", - "statuses": "~1.4.0", - "type-is": "~1.6.16", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "dependencies": { - "body-parser": { - "version": "1.18.3", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz", - "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=", - "requires": { - "bytes": "3.0.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "~1.6.3", - "iconv-lite": "0.4.23", - "on-finished": "~2.3.0", - "qs": "6.5.2", - "raw-body": "2.3.3", - "type-is": "~1.6.16" - } - } - } - }, - "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - } - }, - "iconv-lite": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", - "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "raw-body": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz", - "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==", - "requires": { - "bytes": "3.0.0", - "http-errors": "1.6.3", - "iconv-lite": "0.4.23", - "unpipe": "1.0.0" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" - }, "socket.io": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.4.1.tgz", - "integrity": "sha512-Si18v0mMXGAqLqCVpTxBa8MGqriHGQh8ccEOhmsmNS3thNCGBwO8WGrwMibANsWtQQ5NStdZwHqZR3naJVFc3w==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.5.0.tgz", + "integrity": "sha512-gGunfS0od3VpwDBpGwVkzSZx6Aqo9uOcf1afJj2cKnKFAoyl16fvhpsUhmUFd4Ldbvl5JvRQed6eQw6oQp6n8w==", "requires": { "debug": "~4.1.0", - "engine.io": "~3.5.0", + "engine.io": "~3.6.0", "has-binary2": "~1.0.2", "socket.io-adapter": "~1.1.0", - "socket.io-client": "2.4.0", + "socket.io-client": "2.5.0", "socket.io-parser": "~3.4.0" }, "dependencies": { @@ -9375,9 +8682,9 @@ "integrity": "sha512-WzZRUj1kUjrTIrUKpZLEzFZ1OLj5FwLlAFQs9kuZJzJi5DKdU7FsWc36SNmA8iDOtwBQyT8FkrriRM8vXLYz8g==" }, "socket.io-client": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.4.0.tgz", - "integrity": "sha512-M6xhnKQHuuZd4Ba9vltCLT9oa+YvTsP8j9NcEiLElfIg8KeYPyhWOes6x4t+LTAC8enQbE/995AdTem2uNyKKQ==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.5.0.tgz", + "integrity": "sha512-lOO9clmdgssDykiOmVQQitwBAF3I6mYcQAo7hQ7AM6Ny5X7fp8hIJ3HcQs3Rjz4SoggoxA1OgrQyY8EgTbcPYw==", "requires": { "backo2": "1.0.2", "component-bind": "1.0.0", @@ -9401,9 +8708,9 @@ } }, "socket.io-parser": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.2.tgz", - "integrity": "sha512-FJvDBuOALxdCI9qwRrO/Rfp9yfndRtc1jSgVgV8FDraihmSP/MLGD5PEuJrNfjALvcQ+vMDM/33AWOYP/JSjDg==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.3.tgz", + "integrity": "sha512-qOg87q1PMWWTeO01768Yh9ogn7chB9zkKtQnya41Y355S0UmpXgpcrFwAgjYJxu9BdKug5r5e9YtVSeWhKBUZg==", "requires": { "component-emitter": "~1.3.0", "debug": "~3.1.0", @@ -9413,9 +8720,9 @@ } }, "socket.io-parser": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.4.1.tgz", - "integrity": "sha512-11hMgzL+WCLWf1uFtHSNvliI++tcRUWdoeYuwIl+Axvwy9z2gQM+7nJyN3STj1tLj5JyIUH8/gpDGxzAlDdi0A==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.4.2.tgz", + "integrity": "sha512-QFZBaZDNqZXeemwejc7D39jrq2eGK/qZuVDiMPKzZK1hLlNvjGilGt4ckfQZeVX4dGmuPzCytN9ZW1nQlEWjgA==", "requires": { "component-emitter": "1.2.1", "debug": "~4.1.0", @@ -9455,9 +8762,9 @@ "integrity": "sha1-jl/4R1/h1UHSroH3oa6gWuIaYhc=" }, "browser-refresh-taglib": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/browser-refresh-taglib/-/browser-refresh-taglib-1.1.0.tgz", - "integrity": "sha1-8zGLt6vR9ZeVQzq8fBuKo+JCYPE=", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/browser-refresh-taglib/-/browser-refresh-taglib-1.2.1.tgz", + "integrity": "sha512-ctRMJnDyniLskk06hkJu3jZgxXUcFwlm49hSEKn40qdKlgP66P3D7hjLbbWGW7NYEKOvjjf7ojqWg8imjy37gQ==", "requires": { "raptor-dust": "^1" } @@ -9617,15 +8924,14 @@ } }, "browserslist": { - "version": "4.16.8", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.8.tgz", - "integrity": "sha512-sc2m9ohR/49sWEbPj14ZSSZqp+kbi16aLao42Hmn3Z8FpjuMaq2xCA2l4zl9ITfyzvnvyE0hcg62YkIGKxgaNQ==", + "version": "4.21.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", + "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", "requires": { - "caniuse-lite": "^1.0.30001251", - "colorette": "^1.3.0", - "electron-to-chromium": "^1.3.811", - "escalade": "^3.1.1", - "node-releases": "^1.1.75" + "caniuse-lite": "^1.0.30001449", + "electron-to-chromium": "^1.4.284", + "node-releases": "^2.0.8", + "update-browserslist-db": "^1.0.10" } }, "buffer": { @@ -9681,9 +8987,9 @@ } }, "cached-path-relative": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.2.tgz", - "integrity": "sha512-5r2GqsoEb4qMTTN9J+WzXfjov+hjxT+j3u5K+kIVNIwAd99DLCJE9pBIMP1qVeybV6JiijL385Oz0DcYxfbOIg==" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.1.0.tgz", + "integrity": "sha512-WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA==" }, "call-bind": { "version": "1.0.2", @@ -9705,15 +9011,9 @@ "integrity": "sha512-0vdNRFXn5q+dtOqjfFtmtlI9N2eVZ7LMyEV2iKC5mEEFvSg/69Ml6b/WU2qF8W1nLRa0wiSrDT3Y5jOHZCwKPQ==" }, "caniuse-lite": { - "version": "1.0.30001446", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001446.tgz", - "integrity": "sha512-fEoga4PrImGcwUUGEol/PoFCSBnSkA9drgdkxXkJLsUBOnJ8rs3zDv6ApqYXGQFOyMPsjh79naWhF4DAxbF8rw==" - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "optional": true + "version": "1.0.30001473", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001473.tgz", + "integrity": "sha512-ewDad7+D2vlyy+E4UJuVfiBsU69IL+8oVmTuZnH5Q6CIUbxNfI50uVpRHbUPDD6SUaN2o0Lh4DhTrvLG/Tn1yg==" }, "chai": { "version": "3.5.0", @@ -9725,32 +9025,15 @@ "type-detect": "^1.0.0" } }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "char-props": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/char-props/-/char-props-0.1.5.tgz", - "integrity": "sha1-W5UvniDqIc0Iyn/hNaEPb+kcEJ4=" - }, "chart.js": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-3.5.1.tgz", - "integrity": "sha512-m5kzt72I1WQ9LILwQC4syla/LD/N413RYv2Dx2nnTkRS9iv/ey1xLTt0DnPc/eWV4zI+BgEgDYBIzbQhZHc/PQ==" + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-3.9.1.tgz", + "integrity": "sha512-Ro2JbLmvg83gXF5F4sniaQ+lTbSv18E+TIf2cOeiH1Iqd2PGFOtem+DUufMZsCJwFE7ywPOpfXFBwRTGq7dh6w==" }, "chokidar": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", - "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", + "integrity": "sha512-mk8fAWcRUOxY7btlLtitj3A45jOwSAxH4tOFOoEGbVsl6cL6pPMWUy7dwZ/canfj3QEdP6FHSnf/l1c6/WkzVg==", "requires": { "anymatch": "^1.3.0", "async-each": "^1.0.0", @@ -9799,9 +9082,9 @@ } }, "clean-css": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", - "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.2.tgz", + "integrity": "sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==", "requires": { "source-map": "~0.6.0" }, @@ -9813,11 +9096,6 @@ } } }, - "clone": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=" - }, "collection-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", @@ -9833,19 +9111,12 @@ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "requires": { "color-name": "1.1.3" - }, - "dependencies": { - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - } } }, - "colorette": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.3.0.tgz", - "integrity": "sha512-ecORCqbSFP7Wm8Y6lyqMJjexBQqXSF7SSeaTyGGphogUjBlFP9m9o08wy86HL2uB7fMTxtOUzLMk7ogKcxMg1w==" + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, "colors": { "version": "0.6.2", @@ -9863,15 +9134,6 @@ "source-map": "~0.5.3" } }, - "combined-stream": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", - "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", - "optional": true, - "requires": { - "delayed-stream": "~1.0.0" - } - }, "commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", @@ -9888,7 +9150,7 @@ "component-bind": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", - "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=" + "integrity": "sha512-WZveuKPeKAG9qY+FkYDeADzdHyTYdIboXS59ixDeRJL5ZhxpqUnxSOwop4FQjMsiYm3/Or8cegVbpAHNA7pHxw==" }, "component-emitter": { "version": "1.3.0", @@ -9898,7 +9160,7 @@ "component-inherit": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", - "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=" + "integrity": "sha512-w+LhYREhatpVqTESyGFg3NlP6Iu0kEKUHETY9GoZP/pQyW4mHFZuFWRUCIqVPZ36ueVLtoOEZaAqbCF2RDndaA==" }, "compressible": { "version": "2.0.17", @@ -9906,13 +9168,6 @@ "integrity": "sha512-BGHeLCK1GV7j1bSmQQAi26X+GgWcTjLr/0tzSvMCl3LH1w1IJ4PFSPoV5316b30cneTziC+B1a+3OjoSUcQYmw==", "requires": { "mime-db": ">= 1.40.0 < 2" - }, - "dependencies": { - "mime-db": { - "version": "1.41.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.41.0.tgz", - "integrity": "sha512-B5gxBI+2K431XW8C2rcc/lhppbuji67nf9v39eH8pkWoZDxnAL0PxdpH32KYRScniF8qDHBDlI+ipgg5WrCUYw==" - } } }, "compression": { @@ -9937,11 +9192,6 @@ "ms": "2.0.0" } }, - "on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" - }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -9976,14 +9226,24 @@ "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" }, "content-disposition": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", - "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=" + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "requires": { + "safe-buffer": "5.2.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + } + } }, "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha1-4TjMdeBAxyexlm/l5fjJruJW/js=" + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==" }, "convert-source-map": { "version": "1.1.3", @@ -9991,24 +9251,17 @@ "integrity": "sha1-SCnId+n+SbMWHzvzZziI4gRpmGA=" }, "cookie": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", - "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==" }, "cookie-parser": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.5.tgz", - "integrity": "sha512-f13bPUj/gG/5mDr+xLmSxxDsB9DQiTIfhJS/sqjrmfAWiAN+x2O4i/XguTL9yDZ+/IFDanJ+5x7hC4CXT9Tdzw==", + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.6.tgz", + "integrity": "sha512-z3IzaNjdwUC2olLIB5/ITd0/setiaFMLYiZJle7xg5Fe9KWAceil7xszYfHHBtDFYLSgJduS2Ty0P1uJdPDJeA==", "requires": { - "cookie": "0.4.0", + "cookie": "0.4.1", "cookie-signature": "1.0.6" - }, - "dependencies": { - "cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" - } } }, "cookie-signature": { @@ -10115,20 +9368,16 @@ "randomfill": "^1.0.3" } }, + "csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" + }, "dash-ast": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/dash-ast/-/dash-ast-1.0.0.tgz", "integrity": "sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA==" }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "optional": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, "debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", @@ -10153,9 +9402,9 @@ } }, "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==" }, "deep-eql": { "version": "0.1.3", @@ -10172,17 +9421,13 @@ } } }, - "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" - }, "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", "requires": { - "object-keys": "^1.0.12" + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" } }, "define-property": { @@ -10237,16 +9482,10 @@ "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=" }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "optional": true - }, "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" }, "deps-sort": { "version": "2.0.1", @@ -10269,9 +9508,9 @@ } }, "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" }, "detective": { "version": "5.2.0", @@ -10281,13 +9520,6 @@ "acorn-node": "^1.6.1", "defined": "^1.0.0", "minimist": "^1.1.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" - } } }, "diffie-hellman": { @@ -10301,35 +9533,11 @@ } }, "dissolve": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/dissolve/-/dissolve-0.3.3.tgz", - "integrity": "sha1-uX7x/ymJx4nOz7AxB+F0EfqL5uU=", + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/dissolve/-/dissolve-0.2.1.tgz", + "integrity": "sha512-ja+e+v+wqqkvE8q7pyF0ulGZywLwKI7s+RNHh0+aMuuz626VcG+BiVsYyLEkmCbGjUzYVSclFL8N+Gb4dOLmbg==", "requires": { - "bl": "^0.7.0", - "readable-stream": "^1.0.26" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - } + "steez": "~0.4.2" } }, "domain-browser": { @@ -10345,25 +9553,15 @@ "readable-stream": "^2.0.2" } }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "optional": true, - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" }, "electron-to-chromium": { - "version": "1.3.822", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.822.tgz", - "integrity": "sha512-k7jG5oYYHxF4jx6PcqwHX3JVME/OjzolqOZiIogi9xtsfsmTjTdie4x88OakYFPEa8euciTgCCzvVNwvmjHb1Q==" + "version": "1.4.346", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.346.tgz", + "integrity": "sha512-9ZpKQD8hyWAoYf5bccm2qpaWogAGxb833DVC0arHo9nIbiAMh+aAKHZWABR2P9sK4a3zoCq7eXg8tylqPAnuNw==" }, "elliptic": { "version": "6.5.4", @@ -10392,23 +9590,32 @@ "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" }, "engine.io": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-5.2.0.tgz", - "integrity": "sha512-d1DexkQx87IFr1FLuV+0f5kAm1Hk1uOVijLOb+D1sDO2QMb7YjE02VHtZtxo7xIXMgcWLb+vl3HRT0rI9tr4jQ==", + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.4.2.tgz", + "integrity": "sha512-FKn/3oMiJjrOEOeUub2WCox6JhxBXq/Zn3fZOMCBxKnNYtsdKjxhl7yR3fZhM9PV+rdE75SU5SYMc+2PGzo+Tg==", "requires": { + "@types/cookie": "^0.4.1", + "@types/cors": "^2.8.12", + "@types/node": ">=10.0.0", "accepts": "~1.3.4", "base64id": "2.0.0", "cookie": "~0.4.1", "cors": "~2.8.5", "debug": "~4.3.1", - "engine.io-parser": "~4.0.0", - "ws": "~7.4.2" + "engine.io-parser": "~5.0.3", + "ws": "~8.11.0" }, "dependencies": { - "cookie": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", - "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==" + "engine.io-parser": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.6.tgz", + "integrity": "sha512-tjuoZDMAdEhVnSFleYPCtdL2GXwVTGtNjoeJd9IhIG3C1xs9uwxqRNEu5WpnDZCaozwVlK/nuQhpodhXSIMaxw==" + }, + "ws": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", + "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", + "requires": {} } } }, @@ -10437,15 +9644,6 @@ "base64-arraybuffer": "0.1.4" } }, - "enhanced-resolve": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.7.0.tgz", - "integrity": "sha512-6njwt/NsZFUKhM6j9U8hzVyD4E4r0x7NQzhTCbcWOJ0IQjNSAoalWmb0AE51Wn+fwan5qVESWi7t2ToBxs9vrw==", - "requires": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - } - }, "errno": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", @@ -10463,6 +9661,11 @@ "stackframe": "^1.1.0" } }, + "es6-object-assign": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es6-object-assign/-/es6-object-assign-1.1.0.tgz", + "integrity": "sha512-MEl9uirslVwqQU369iHNWZXsI8yaZYGg/D65aOgZkeyFJwHYSxilf7rQzXKI7DdDuBPrBXbfk3sl9hJhmd5AUw==" + }, "escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", @@ -10478,55 +9681,32 @@ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, - "escodegen": { - "version": "1.14.3", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", - "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", - "requires": { - "esprima": "^4.0.1", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "optional": true - } - } - }, "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==" + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz", + "integrity": "sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==" }, "espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "version": "9.5.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.1.tgz", + "integrity": "sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==", "requires": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.0" + }, + "dependencies": { + "acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==" + } } }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - }, "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" - }, - "esutils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=" + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" }, "etag": { "version": "1.8.1", @@ -10572,246 +9752,106 @@ } }, "express": { - "version": "5.0.0-alpha.8", - "resolved": "https://registry.npmjs.org/express/-/express-5.0.0-alpha.8.tgz", - "integrity": "sha512-PL8wTLgaNOiq7GpXt187/yWHkrNSfbr4H0yy+V0fpqJt5wpUzBi9DprAkwGKBFOqWHylJ8EyPy34V5u9YArfng==", - "requires": { - "accepts": "~1.3.7", - "array-flatten": "2.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "requires": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.4.0", + "cookie": "0.5.0", "cookie-signature": "1.0.6", - "debug": "3.1.0", - "depd": "~1.1.2", + "debug": "2.6.9", + "depd": "2.0.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "~1.1.2", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "path-is-absolute": "1.0.1", - "proxy-addr": "~2.0.5", - "qs": "6.7.0", - "range-parser": "~1.2.1", - "router": "2.0.0-alpha.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", - "statuses": "~1.5.0", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "dependencies": { - "accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", - "requires": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" - } - }, - "array-flatten": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.1.tgz", - "integrity": "sha1-Qmu52oQJDBg42BLIFQryCoMx4pY=" - }, - "content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", - "requires": { - "safe-buffer": "5.1.2" - } - }, - "cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" - }, - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } - }, - "finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - } - } - }, - "http-errors": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", - "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.4", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "mime-db": { - "version": "1.44.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", - "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==" - }, - "mime-types": { - "version": "2.1.27", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", - "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", "requires": { - "mime-db": "1.44.0" + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" } }, - "negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + "cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" }, - "proxy-addr": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", - "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "requires": { - "forwarded": "~0.1.2", - "ipaddr.js": "1.9.1" + "ms": "2.0.0" } }, - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" - }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "requires": { - "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "~1.7.2", - "mime": "1.6.0", - "ms": "2.1.1", - "on-finished": "~2.3.0", - "range-parser": "~1.2.1", - "statuses": "~1.5.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" - } + "ee-first": "1.1.1" } }, - "serve-static": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.1" + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" } }, - "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" - }, - "type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - } + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" } } }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "optional": true - }, "extend-shallow": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", @@ -10839,29 +9879,6 @@ "is-extglob": "^1.0.0" } }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "optional": true - }, - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "optional": true - }, - "fast-json-stable-stringify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", - "optional": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" - }, "fast-safe-stringify": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz", @@ -10885,16 +9902,16 @@ } }, "finalhandler": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", - "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", "requires": { "debug": "2.6.9", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "statuses": "~1.4.0", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", "unpipe": "~1.0.0" }, "dependencies": { @@ -10905,13 +9922,29 @@ "requires": { "ms": "2.0.0" } + }, + "on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "requires": { + "ee-first": "1.1.1" + } } } }, "follow-redirects": { - "version": "1.14.9", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", - "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==" + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" + }, + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "requires": { + "is-callable": "^1.1.3" + } }, "for-in": { "version": "1.0.2", @@ -10926,27 +9959,10 @@ "for-in": "^1.0.1" } }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "optional": true - }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "optional": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, "forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" }, "fragment-cache": { "version": "0.2.1", @@ -10977,29 +9993,21 @@ "dependencies": { "abbrev": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", "bundled": true, "optional": true }, "ansi-regex": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "bundled": true, "optional": true }, "aproba": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", "bundled": true, "optional": true }, "are-we-there-yet": { "version": "1.1.5", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", - "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", "bundled": true, "optional": true, "requires": { @@ -11009,15 +10017,11 @@ }, "balanced-match": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "bundled": true, "optional": true }, "brace-expansion": { "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "bundled": true, "optional": true, "requires": { @@ -11027,43 +10031,31 @@ }, "chownr": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", "bundled": true, "optional": true }, "code-point-at": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", "bundled": true, "optional": true }, "concat-map": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "bundled": true, "optional": true }, "console-control-strings": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", "bundled": true, "optional": true }, "core-util-is": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "bundled": true, "optional": true }, "debug": { "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "bundled": true, "optional": true, "requires": { @@ -11072,29 +10064,21 @@ }, "deep-extend": { "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", "bundled": true, "optional": true }, "delegates": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", "bundled": true, "optional": true }, "detect-libc": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", "bundled": true, "optional": true }, "fs-minipass": { "version": "1.2.7", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", - "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", "bundled": true, "optional": true, "requires": { @@ -11103,15 +10087,11 @@ }, "fs.realpath": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "bundled": true, "optional": true }, "gauge": { "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", "bundled": true, "optional": true, "requires": { @@ -11127,8 +10107,6 @@ }, "glob": { "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "bundled": true, "optional": true, "requires": { @@ -11142,15 +10120,11 @@ }, "has-unicode": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", "bundled": true, "optional": true }, "iconv-lite": { "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "bundled": true, "optional": true, "requires": { @@ -11159,8 +10133,6 @@ }, "ignore-walk": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz", - "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==", "bundled": true, "optional": true, "requires": { @@ -11169,8 +10141,6 @@ }, "inflight": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "bundled": true, "optional": true, "requires": { @@ -11180,22 +10150,16 @@ }, "inherits": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "bundled": true, "optional": true }, "ini": { "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", "bundled": true, "optional": true }, "is-fullwidth-code-point": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "bundled": true, "optional": true, "requires": { @@ -11204,15 +10168,11 @@ }, "isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "bundled": true, "optional": true }, "minimatch": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "bundled": true, "optional": true, "requires": { @@ -11221,15 +10181,11 @@ }, "minimist": { "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "bundled": true, "optional": true }, "minipass": { "version": "2.9.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", - "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", "bundled": true, "optional": true, "requires": { @@ -11239,8 +10195,6 @@ }, "minizlib": { "version": "1.3.3", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", - "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", "bundled": true, "optional": true, "requires": { @@ -11249,8 +10203,6 @@ }, "mkdirp": { "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz", - "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==", "bundled": true, "optional": true, "requires": { @@ -11259,15 +10211,11 @@ }, "ms": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "bundled": true, "optional": true }, "needle": { "version": "2.3.3", - "resolved": "https://registry.npmjs.org/needle/-/needle-2.3.3.tgz", - "integrity": "sha512-EkY0GeSq87rWp1hoq/sH/wnTWgFVhYlnIkbJ0YJFfRgEFlz2RraCjBpFQ+vrEgEdp0ThfyHADmkChEhcb7PKyw==", "bundled": true, "optional": true, "requires": { @@ -11278,8 +10226,6 @@ }, "node-pre-gyp": { "version": "0.14.0", - "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.14.0.tgz", - "integrity": "sha512-+CvDC7ZttU/sSt9rFjix/P05iS43qHCOOGzcr3Ry99bXG7VX953+vFyEuph/tfqoYu8dttBkE86JSKBO2OzcxA==", "bundled": true, "optional": true, "requires": { @@ -11297,8 +10243,6 @@ }, "nopt": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", - "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", "bundled": true, "optional": true, "requires": { @@ -11308,8 +10252,6 @@ }, "npm-bundled": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz", - "integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==", "bundled": true, "optional": true, "requires": { @@ -11318,15 +10260,11 @@ }, "npm-normalize-package-bin": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", - "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", "bundled": true, "optional": true }, "npm-packlist": { "version": "1.4.8", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz", - "integrity": "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==", "bundled": true, "optional": true, "requires": { @@ -11337,8 +10275,6 @@ }, "npmlog": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "bundled": true, "optional": true, "requires": { @@ -11350,22 +10286,16 @@ }, "number-is-nan": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", "bundled": true, "optional": true }, "object-assign": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "bundled": true, "optional": true }, "once": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "bundled": true, "optional": true, "requires": { @@ -11374,22 +10304,16 @@ }, "os-homedir": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", "bundled": true, "optional": true }, "os-tmpdir": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "bundled": true, "optional": true }, "osenv": { "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", "bundled": true, "optional": true, "requires": { @@ -11399,22 +10323,16 @@ }, "path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "bundled": true, "optional": true }, "process-nextick-args": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "bundled": true, "optional": true }, "rc": { "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "bundled": true, "optional": true, "requires": { @@ -11426,8 +10344,6 @@ }, "readable-stream": { "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "bundled": true, "optional": true, "requires": { @@ -11442,8 +10358,6 @@ }, "rimraf": { "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "bundled": true, "optional": true, "requires": { @@ -11452,50 +10366,36 @@ }, "safe-buffer": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "bundled": true, "optional": true }, "safer-buffer": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "bundled": true, "optional": true }, "sax": { "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", "bundled": true, "optional": true }, "semver": { "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "bundled": true, "optional": true }, "set-blocking": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "bundled": true, "optional": true }, "signal-exit": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "bundled": true, "optional": true }, "string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "bundled": true, "optional": true, "requires": { @@ -11504,8 +10404,6 @@ }, "string-width": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "bundled": true, "optional": true, "requires": { @@ -11516,8 +10414,6 @@ }, "strip-ansi": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "bundled": true, "optional": true, "requires": { @@ -11526,15 +10422,11 @@ }, "strip-json-comments": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", "bundled": true, "optional": true }, "tar": { "version": "4.4.13", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz", - "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", "bundled": true, "optional": true, "requires": { @@ -11549,15 +10441,11 @@ }, "util-deprecate": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "bundled": true, "optional": true }, "wide-align": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", "bundled": true, "optional": true, "requires": { @@ -11566,15 +10454,11 @@ }, "wrappy": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "bundled": true, "optional": true }, "yallist": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "bundled": true, "optional": true } @@ -11596,13 +10480,13 @@ "integrity": "sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==" }, "get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", + "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", "requires": { "function-bind": "^1.1.1", "has": "^1.0.3", - "has-symbols": "^1.0.1" + "has-symbols": "^1.0.3" } }, "get-value": { @@ -11610,15 +10494,6 @@ "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "optional": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, "glob": { "version": "7.1.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", @@ -11635,7 +10510,7 @@ "glob-base": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", - "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "integrity": "sha512-ab1S1g1EbO7YzauaJLkgLp7DZVAqj9M/dvKlTt8DkXA2tiOIcSMrlVI2J1RZyB5iJVccEscjGn+kpOG9788MHA==", "requires": { "glob-parent": "^2.0.0", "is-glob": "^2.0.0" @@ -11644,7 +10519,7 @@ "glob-parent": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "integrity": "sha512-JDYOvfxio/t42HKdxkAYaCiBN7oYiuxykOxKxdaUW5Qn0zaYN3gRQWolrwdnf0shM9/EP0ebuuTmyoXNr1cC5w==", "requires": { "is-glob": "^2.0.0" } @@ -11654,27 +10529,19 @@ "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" }, + "gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "requires": { + "get-intrinsic": "^1.1.3" + } + }, "graceful-fs": { "version": "4.2.8", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==" }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "optional": true - }, - "har-validator": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", - "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", - "optional": true, - "requires": { - "ajv": "^6.5.5", - "har-schema": "^2.0.0" - } - }, "has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", @@ -11683,14 +10550,6 @@ "function-bind": "^1.1.1" } }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "requires": { - "ansi-regex": "^2.0.0" - } - }, "has-binary2": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz", @@ -11707,12 +10566,28 @@ "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "requires": { + "get-intrinsic": "^1.1.1" + } }, "has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "requires": { + "has-symbols": "^1.0.2" + } }, "has-value": { "version": "1.0.0", @@ -11807,43 +10682,29 @@ "integrity": "sha1-OgPtwiFLyjtmQko+eVk0lQnLA1E=" }, "htmljs-parser": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/htmljs-parser/-/htmljs-parser-2.10.0.tgz", - "integrity": "sha512-HxGvSIIHpnC8WsVqZ/OAxPsgh8xIL7d0eb24TG/WwjxCbzjuxiJm6g8NHAlfFDYq4H9Q/kztAlUxQ/plS/IZfw==", - "requires": { - "char-props": "^0.1.5", - "complain": "^1.0.0" - } + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/htmljs-parser/-/htmljs-parser-5.4.3.tgz", + "integrity": "sha512-wTTit/jM0Mzw8seIEH6XD/kTgluU86j7g5CNsQ3hGYvjYrMiSxahENuIBtk5cc+Wb9U0BT6ghFHURJ5pJj3j5Q==" }, "http-errors": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz", - "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "requires": { - "depd": "1.1.1", - "inherits": "2.0.3", - "setprototypeof": "1.0.3", - "statuses": ">= 1.3.1 < 2" + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" }, "dependencies": { - "depd": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", - "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=" + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" } } }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "optional": true, - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, "https-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", @@ -11858,9 +10719,9 @@ } }, "ieee754": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz", - "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==" + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" }, "ignoring-watcher": { "version": "1.1.0", @@ -11880,7 +10741,7 @@ "indexof": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=" + "integrity": "sha512-i0G7hLJ1z0DE8dsqJa2rycj9dBmNKgXBvotXtZYXakU9oivfB9Uj2ZBC27qqef2U58/ZLwalxa1X/RDCdkHtVg==" }, "inflight": { "version": "1.0.6", @@ -11948,6 +10809,15 @@ "kind-of": "^3.0.2" } }, + "is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, "is-binary-path": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", @@ -11961,6 +10831,11 @@ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=" }, + "is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" + }, "is-data-descriptor": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", @@ -12009,6 +10884,14 @@ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" }, + "is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, "is-glob": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", @@ -12017,6 +10900,15 @@ "is-extglob": "^1.0.0" } }, + "is-nan": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz", + "integrity": "sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==", + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + } + }, "is-number": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", @@ -12058,11 +10950,17 @@ "is-unc-path": "^0.1.1" } }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "optional": true + "is-typed-array": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + } }, "is-unc-path": { "version": "0.1.2", @@ -12113,40 +11011,11 @@ } } }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "optional": true - }, - "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "optional": true - }, "jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "optional": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "optional": true - }, "json-stable-stringify": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz", @@ -12155,19 +11024,10 @@ "jsonify": "~0.0.0" } }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "optional": true - }, "json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "requires": { - "minimist": "^1.2.5" - } + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" }, "jsonify": { "version": "0.0.0", @@ -12193,22 +11053,10 @@ "through": ">=2.2.7 <3" } }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "optional": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, "kcapp-bot": { - "version": "git+ssh://git@github.com/kcapp/bot.git#9acc46ba79a00f41f75d06b61336df7e1aa93aed", - "integrity": "sha512-u7Md54Qc19WXQyvoRQjLbvjtHqPnDbqVnlh56uy0TRdPbhko6b3k/YnU5PnXFWJTK8PQ8bhrW+nOiXCzjefzCQ==", - "from": "kcapp-bot@github:kcapp/bot#9acc46ba79a00f41f75d06b61336df7e1aa93aed", + "version": "git+ssh://git@github.com/kcapp/bot.git#f6e02174c98c0e3eb6ae02291d4aea6c0688b46f", + "integrity": "sha512-Q9PaPY1AP+DuEuZ4yLxyMf1GrwrtGV6WoapWGU+Fss97bAc0bMksv69SBs6k5tyWX3TQ0DycInJhOk/uv5vAkw==", + "from": "kcapp-bot@github:kcapp/bot#f6e02174c98c0e3eb6ae02291d4aea6c0688b46f", "requires": { "axios": "^0.26.1", "debug": "^4.3.4", @@ -12242,6 +11090,11 @@ "is-buffer": "^1.1.5" } }, + "kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==" + }, "labeled-stream-splicer": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.2.tgz", @@ -12252,94 +11105,169 @@ } }, "lasso": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/lasso/-/lasso-3.4.3.tgz", - "integrity": "sha512-j5tBbO6bp5JKCZBNVGjnM95ZMo86+OoGqDDpfQYj+h29T5j1To5okgJG1ErZXWvi2Qi9PnswpDyAsXG8YUzQNQ==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/lasso/-/lasso-4.0.3.tgz", + "integrity": "sha512-hWGW2pp7SDI6/IZONcFVWzORx7JeGa4SKHbOMz3ZVwDOogPs1Xh6fX18TjXiAsW4uuQWkGgELHp6YEP64y0grg==", "requires": { + "@babel/code-frame": "^7.18.6", "app-root-dir": "^1.0.2", - "assert": "^1.4.1", - "babel-code-frame": "^6.26.0", + "assert": "^2.0.0", "browser-refresh-client": "^1.1.4", - "buffer": "^5.1.0", - "clean-css": "^4.1.11", - "clone": "^2.1.1", - "complain": "^1.2.0", - "escodegen": "^1.10.0", - "espree": "^7.3.0", - "estraverse": "^4.2.0", - "events": "^3.0.0", - "glob": "^7.1.2", - "image-size": "^0.6.3", + "buffer": "^6.0.3", + "clean-css": "^5.3.1", + "complain": "^1.6.0", + "espree": "^9.4.0", + "estraverse": "^5.3.0", + "events": "^3.3.0", + "glob": "^8.0.3", + "image-size": "^1.0.2", "lasso-caching-fs": "^1.0.2", "lasso-loader": "^3.0.2", - "lasso-modules-client": "^2.0.5", + "lasso-modules-client": "^2.0.7", "lasso-package-root": "^1.0.1", "lasso-resolve-from": "^1.2.0", - "mime": "^2.3.1", - "mkdirp": "^0.5.1", - "path-browserify": "1.0.0", - "pify": "^3.0.0", + "mime": "^3.0.0", + "mkdirp": "^1.0.4", + "path-browserify": "1.0.1", "process": "^0.11.10", "property-handlers": "^1.1.1", "raptor-async": "^1.1.3", "raptor-cache": "^2.0.4", - "raptor-css-parser": "^1.1.5", - "raptor-detect": "^1.0.1", + "raptor-css-parser": "^1.1.6", "raptor-logging": "^1.1.3", - "raptor-objects": "^1.0.2", - "raptor-polyfill": "^1.0.2", - "raptor-promises": "^1.0.3", "raptor-regexp": "^1.0.1", - "raptor-strings": "^1.0.2", "raptor-util": "^3.2.0", "resolve-from": "^4.0.0", - "semver": "^5.5.0", - "send": "^0.16.2", - "stream-browserify": "^2.0.1", - "string_decoder": "^1.1.1", - "strip-json-comments": "^2.0.1", - "terser": "^3.17.0", + "send": "^0.18.0", + "stream-browserify": "^3.0.0", + "string_decoder": "^1.3.0", + "strip-json-comments": "^3.1.1", + "terser": "^5.15.0", "through": "^2.3.8", "url": "^0.11.0", - "util": "^0.11.0" + "util": "^0.12.4" }, "dependencies": { + "assert": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-2.0.0.tgz", + "integrity": "sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A==", + "requires": { + "es6-object-assign": "^1.1.0", + "is-nan": "^1.2.1", + "object-is": "^1.0.1", + "util": "^0.12.0" + } + }, + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "requires": { + "balanced-match": "^1.0.0" + } + }, + "buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, "events": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", - "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==" + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" + }, + "glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + } }, "image-size": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.6.3.tgz", - "integrity": "sha512-47xSUiQioGaB96nqtp5/q55m0aBQSQdyIloMOc/x+QVTDZLNmXE892IIDrJ0hM1A5vcNUDD5tDffkSP5lCaIIA==" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.0.2.tgz", + "integrity": "sha512-xfOoWjceHntRb3qFCrh5ZFORYH8XCdYpASltMhZ/Q0KZiOwjdE/Yl2QCiWdwD+lygV5bMCvauzgu5PxBX/Yerg==", + "requires": { + "queue": "6.0.2" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "mime": { - "version": "2.4.6", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz", - "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", + "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==" + }, + "minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" }, "path-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.0.tgz", - "integrity": "sha512-Hkavx/nY4/plImrZPHRk2CL9vpOymZLgEbMNX1U0bjcBL7QN9wODxyx0yaMZURSQaUtSEvDrfAvxa9oPb0at9g==" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==" }, "raptor-util": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/raptor-util/-/raptor-util-3.2.0.tgz", "integrity": "sha1-I7DIA8jxrIocrmfZpjiLSRYcl1g=" }, + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, "resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" }, + "stream-browserify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz", + "integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==", + "requires": { + "inherits": "~2.0.4", + "readable-stream": "^3.5.0" + } + }, "util": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", + "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", "requires": { - "inherits": "2.0.3" + "inherits": "^2.0.3", + "is-arguments": "^1.0.4", + "is-generator-function": "^1.0.7", + "is-typed-array": "^1.1.3", + "which-typed-array": "^1.1.2" } } } @@ -12353,9 +11281,9 @@ } }, "lasso-less": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lasso-less/-/lasso-less-4.0.1.tgz", - "integrity": "sha512-Awoyc1+w5wftpaccyLGFgT0qEoywKu85uVtpk2V4RlwPE2YPASwrlV3wydxM662l+6dMzQb5E6Bjf74XivEgkw==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/lasso-less/-/lasso-less-4.0.2.tgz", + "integrity": "sha512-jdsRx2jW3kBw+qofYQut84fcV/qeelkzpZJ+6T0S17OjFB0j2dwaFR3JBBznqg99lV0Ghx2vbOL9qlXP20qCOg==", "requires": { "async": "^2.6.0", "lasso-package-root": "^1.0.1", @@ -12367,9 +11295,9 @@ }, "dependencies": { "async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", "requires": { "lodash": "^4.17.14" } @@ -12393,9 +11321,9 @@ } }, "lasso-marko": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/lasso-marko/-/lasso-marko-3.1.0.tgz", - "integrity": "sha512-Ug7YhP8+YM227YWOlJTRQ+UsQiUrPrtmgLeaG7xA5pFeFblAGUiVrIHyoueUvlrCvpp58wUcUC0Pm12dnqquSw==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/lasso-marko/-/lasso-marko-3.2.1.tgz", + "integrity": "sha512-4QAHN1OByK9NWy/8SVgiAShkJPslVtVAjikXbMrnq9XjphRtTm2Lbez3t6olbG3ag+X0Roxx6pus6+YKmc8aPA==", "requires": { "callbackify": "^1.1.0" } @@ -12470,48 +11398,31 @@ } }, "less-middleware": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/less-middleware/-/less-middleware-3.1.0.tgz", - "integrity": "sha512-1FcTlNE73AVTNwcBykDbCnDPgKZT4VuCZxtlst/i4nB93Y/NsVQsZopK78zfDcT/2lsjBa5xZI8g4SFUhJqsJg==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/less-middleware/-/less-middleware-2.2.1.tgz", + "integrity": "sha512-1fDsyifwRGObMmqaZhkTDAmVnvgpZmdf6ZTSCbVv9vt+xhlzOz5TDNlLCbITsusEB3d0OKOEadwN9ic3PyOWCg==", "requires": { - "less": "~3.9.0", + "less": "~2.7.1", "mkdirp": "~0.5.1", - "node.extend": "~2.0.2" + "node.extend": "~2.0.0" }, "dependencies": { "less": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/less/-/less-3.9.0.tgz", - "integrity": "sha512-31CmtPEZraNUtuUREYjSqRkeETFdyEHSEPAGq4erDlUXtda7pzNmctdljdIagSb589d/qXGWiiP31R5JVf+v0w==", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/less/-/less-2.7.1.tgz", + "integrity": "sha512-C7dSI8hOBbZ7qmnpjMFjpwWRs6bVcrJsRmap7onnTy4N14ye6KtB7UY0ZqY1ejHf/3a2JxzVYAd+yulIRdT1nw==", "requires": { - "clone": "^2.1.2", "errno": "^0.1.1", "graceful-fs": "^4.1.2", "image-size": "~0.5.0", - "mime": "^1.4.1", + "mime": "^1.2.11", "mkdirp": "^0.5.0", "promise": "^7.1.1", - "request": "^2.83.0", - "source-map": "~0.6.0" + "source-map": "^0.5.3" } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "optional": true } } }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, "listener-tracker": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/listener-tracker/-/listener-tracker-2.0.0.tgz", @@ -12527,12 +11438,20 @@ "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz", "integrity": "sha1-LcvSwofLwKVcxCMovQxzYVDVPj8=" }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "requires": { + "yallist": "^3.0.2" + } + }, "magic-string": { - "version": "0.25.7", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", - "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", + "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", "requires": { - "sourcemap-codec": "^1.4.4" + "@jridgewell/sourcemap-codec": "^1.4.13" } }, "map-cache": { @@ -12549,16 +11468,17 @@ } }, "marko": { - "version": "5.15.5", - "resolved": "https://registry.npmjs.org/marko/-/marko-5.15.5.tgz", - "integrity": "sha512-HEViLJUGOSLNqraCFOE98dUBdp5sHb7S4kU7YlobLeiRaqVjxX3bw3yWHvc2Q8/7NAmXNkq8eJTv4Q8sd92mTA==", + "version": "5.28.1", + "resolved": "https://registry.npmjs.org/marko/-/marko-5.28.1.tgz", + "integrity": "sha512-qdVb1RXyOslbewxgxZ8Sfig68xEIb/F0tj8AwqGrUz/jgmvuq3/l5pXQC8xK4m7dTd/6U7EM0+kmR13TXtepyA==", "requires": { - "@marko/compiler": "^5.15.4", - "@marko/translator-default": "^5.15.5", + "@marko/compiler": "^5.30.1", + "@marko/translator-default": "^5.28.1", "app-module-path": "^2.2.0", "argly": "^1.2.0", "browser-refresh-client": "1.1.4", "complain": "^1.6.0", + "csstype": "^3.1.2", "events-light": "^1.0.5", "listener-tracker": "^2.0.0", "minimatch": "^3.0.4", @@ -12620,7 +11540,7 @@ "micromatch": { "version": "2.3.11", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "integrity": "sha512-LnU2XFEk9xxSJ6rfgAry/ty5qwUTyHYOBU0g4R6tIw5ljwgGIBmiKhRWLw5NpMOnrgUNcDJ4WMp8rl3sYVHLNA==", "requires": { "arr-diff": "^2.0.0", "array-unique": "^0.2.1", @@ -12652,16 +11572,16 @@ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" }, "mime-db": { - "version": "1.33.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", - "integrity": "sha1-o0kgUKXLm2NFBUHjnZeI0icng9s=" + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" }, "mime-types": { - "version": "2.1.18", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", - "integrity": "sha1-bzI/YKg9ERRvgx/xH9ZuL+VQO7g=", + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "requires": { - "mime-db": "~1.33.0" + "mime-db": "1.52.0" } }, "minimalistic-assert": { @@ -12675,17 +11595,17 @@ "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" }, "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "requires": { "brace-expansion": "^1.1.7" } }, "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" }, "mixin-deep": { "version": "1.3.2", @@ -12747,9 +11667,9 @@ } }, "moment": { - "version": "2.29.1", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", - "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==" + "version": "2.29.4", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz", + "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==" }, "morgan": { "version": "1.10.0", @@ -12770,11 +11690,6 @@ "requires": { "ms": "2.0.0" } - }, - "depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" } } }, @@ -12852,14 +11767,14 @@ } }, "negotiator": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", - "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=" + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" }, "node-releases": { - "version": "1.1.75", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.75.tgz", - "integrity": "sha512-Qe5OUajvqrqDSy6wrWFmMwfJ0jVgwiw4T3KqmbTcZ62qW0gQkheXYhcFM1+lOVcGUoRxcEcfyvFMAnDgaF1VWw==" + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", + "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==" }, "node.extend": { "version": "2.0.2", @@ -12878,16 +11793,10 @@ "remove-trailing-separator": "^1.0.1" } }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "optional": true - }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" }, "object-copy": { "version": "0.1.0", @@ -12909,6 +11818,20 @@ } } }, + "object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" + }, + "object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, "object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", @@ -12929,17 +11852,6 @@ } } }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - }, "object.omit": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", @@ -12993,19 +11905,6 @@ "is-wsl": "^1.1.0" } }, - "optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - } - }, "os-browserify": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", @@ -13040,7 +11939,7 @@ "parse-glob": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", - "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "integrity": "sha512-FC5TeK0AwXzq3tUBFtH74naWkPQCEWs4K+xMxWZBlKDWu0bVHXGZa+KKqxKidd7xwhdZ19ZNuF2uO1M/r196HA==", "requires": { "glob-base": "^0.3.0", "is-dotfile": "^1.0.0", @@ -13064,9 +11963,9 @@ "integrity": "sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow==" }, "parseurl": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", - "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=" + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" }, "pascalcase": { "version": "0.1.1", @@ -13102,7 +12001,7 @@ "path-to-regexp": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" }, "pbkdf2": { "version": "3.0.17", @@ -13116,27 +12015,16 @@ "sha.js": "^2.4.8" } }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "optional": true - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" }, "posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" - }, "preserve": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", @@ -13167,19 +12055,12 @@ "integrity": "sha1-yyDTIqq32U//rCj0bJGGvVlHtLQ=" }, "proxy-addr": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz", - "integrity": "sha1-7PxzO/Iv+Mb0B/onUye5q2fki5M=", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", "requires": { - "forwarded": "~0.1.2", - "ipaddr.js": "1.8.0" - }, - "dependencies": { - "ipaddr.js": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz", - "integrity": "sha1-6qM9bd16zo9/b+DJygRA5wZzix4=" - } + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" } }, "prr": { @@ -13188,12 +12069,6 @@ "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", "optional": true }, - "psl": { - "version": "1.1.29", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz", - "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==", - "optional": true - }, "public-encrypt": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", @@ -13214,21 +12089,18 @@ } } }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "optional": true - }, "q": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==" }, "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "requires": { + "side-channel": "^1.0.4" + } }, "querystring": { "version": "0.2.0", @@ -13240,6 +12112,14 @@ "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" }, + "queue": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", + "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", + "requires": { + "inherits": "~2.0.3" + } + }, "randomatic": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", @@ -13280,9 +12160,9 @@ } }, "range-parser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=" + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" }, "raptor-args": { "version": "1.0.3", @@ -13320,19 +12200,14 @@ } }, "raptor-css-parser": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/raptor-css-parser/-/raptor-css-parser-1.1.5.tgz", - "integrity": "sha1-HeAY2WEhyNwfHDRoZUmv9xZJ0Dc=", + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/raptor-css-parser/-/raptor-css-parser-1.1.6.tgz", + "integrity": "sha512-gNZOA/sRB6hmW6sfZGF/vPxinzpZHRawt/xfM5l9Ufd5VFA2SOnwZbyY6ZoUagRQqaYIRfMvXsmZtaIV8e700g==", "requires": { "raptor-async": "^1.0.0", "raptor-promises": "^1.0.1" } }, - "raptor-detect": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/raptor-detect/-/raptor-detect-1.0.1.tgz", - "integrity": "sha1-ClTGOQVu9m39Ur45RfoizG0UZvM=" - }, "raptor-dust": { "version": "1.1.12", "resolved": "https://registry.npmjs.org/raptor-dust/-/raptor-dust-1.1.12.tgz", @@ -13351,14 +12226,6 @@ "raptor-stacktraces": "^1.0.0" } }, - "raptor-objects": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/raptor-objects/-/raptor-objects-1.0.2.tgz", - "integrity": "sha1-mQ3ONgQTsHni5K8RTy5zRKcc7hE=", - "requires": { - "raptor-util": "^1.0.0" - } - }, "raptor-polyfill": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/raptor-polyfill/-/raptor-polyfill-1.1.0.tgz", @@ -13367,7 +12234,7 @@ "raptor-promises": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/raptor-promises/-/raptor-promises-1.0.3.tgz", - "integrity": "sha1-1XaxEOBCNlT3/fFyHijULk3DwOs=", + "integrity": "sha512-N+Xy1RUi6ydlP8yjUZCsNmyvrTPM8GtQVkfrLEnhwjEpKTK3ObzPoOT43jvuihIAQGT52npZU/GtNee985lW5Q==", "requires": { "q": "^1.0.1", "raptor-util": "^1.0.0" @@ -13383,56 +12250,26 @@ "resolved": "https://registry.npmjs.org/raptor-stacktraces/-/raptor-stacktraces-1.0.1.tgz", "integrity": "sha1-f5+ycafdza4pHGprFd3v+8wAinY=" }, - "raptor-strings": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/raptor-strings/-/raptor-strings-1.0.2.tgz", - "integrity": "sha1-ks4ssBU6/pBHDYA5oCVbTPM6tfw=", - "requires": { - "raptor-polyfill": "^1.0.1" - } - }, "raptor-util": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/raptor-util/-/raptor-util-1.1.2.tgz", "integrity": "sha1-8u6AdqmuPq4uZWcuRqIgB0+i3/M=" }, "raw-body": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", - "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", "requires": { - "bytes": "3.1.0", - "http-errors": "1.7.2", + "bytes": "3.1.2", + "http-errors": "2.0.0", "iconv-lite": "0.4.24", "unpipe": "1.0.0" }, "dependencies": { "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" - }, - "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - } - }, - "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" } } }, @@ -13741,6 +12578,11 @@ } } }, + "regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + }, "regex-cache": { "version": "0.4.4", "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", @@ -13758,6 +12600,11 @@ "safe-regex": "^1.1.0" } }, + "relative-import-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/relative-import-path/-/relative-import-path-1.0.0.tgz", + "integrity": "sha512-ZvbtoduKQmD4PZeJPfH6Ql21qUWhaMxiHkIsH+FUnZqKDwNIXBtGg5zRZyHWomiGYk8n5+KMBPK7Mi4D0XWfNg==" + }, "remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", @@ -13773,63 +12620,6 @@ "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" }, - "request": { - "version": "2.88.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", - "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", - "optional": true, - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.0", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.4.3", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "dependencies": { - "mime-db": { - "version": "1.37.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz", - "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==", - "optional": true - }, - "mime-types": { - "version": "2.1.21", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz", - "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", - "optional": true, - "requires": { - "mime-db": "~1.37.0" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "optional": true - }, - "uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", - "optional": true - } - } - }, "resolve": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", @@ -13863,43 +12653,9 @@ } }, "rotating-file-stream": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/rotating-file-stream/-/rotating-file-stream-2.1.5.tgz", - "integrity": "sha512-wnYazkT8oD5HXTj44WhB030aKo74OyICrPz/QKCUah59QD7Np4OhdoTC0WNZfhMx1ClsZp4lYMlAdof+DIkZ1Q==" - }, - "router": { - "version": "2.0.0-alpha.1", - "resolved": "https://registry.npmjs.org/router/-/router-2.0.0-alpha.1.tgz", - "integrity": "sha512-fz/T/qLkJM6RTtbqGqA1+uZ88ejqJoPyKeJAeXPYjebA7HzV/UyflH4gXWqW/Y6SERnp4kDwNARjqy6se3PcOw==", - "requires": { - "array-flatten": "2.1.1", - "debug": "3.1.0", - "methods": "~1.1.2", - "parseurl": "~1.3.2", - "path-to-regexp": "0.1.7", - "setprototypeof": "1.1.0", - "utils-merge": "1.0.1" - }, - "dependencies": { - "array-flatten": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.1.tgz", - "integrity": "sha1-Qmu52oQJDBg42BLIFQryCoMx4pY=" - }, - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" - } - } + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/rotating-file-stream/-/rotating-file-stream-3.1.0.tgz", + "integrity": "sha512-TkMF6cP1/QDcon9D71mjxHoflNuznNOrY5JJQfuxkKklZRmoow/lWBLNxXVjb6KcjAU8BDCV145buLgOx9Px1Q==" }, "safe-buffer": { "version": "5.1.1", @@ -13933,40 +12689,56 @@ "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "optional": true }, "send": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", - "integrity": "sha1-bsyh4PjBVtFBWXVZhI32RzCmu8E=", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", "requires": { "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", + "depd": "2.0.0", + "destroy": "1.2.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "~1.6.2", - "mime": "1.4.1", - "ms": "2.0.0", - "on-finished": "~2.3.0", - "range-parser": "~1.2.0", - "statuses": "~1.4.0" + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" }, "dependencies": { "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "requires": { "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } } }, - "mime": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", - "integrity": "sha1-Eh+evEnjdm8xGnbh+hyAA8SwOqY=" + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "requires": { + "ee-first": "1.1.1" + } } } }, @@ -13990,14 +12762,14 @@ } }, "serve-static": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", - "integrity": "sha1-CV6Ecv1bRiN9tQzkhqQ/S4bGzsE=", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", "requires": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", - "parseurl": "~1.3.2", - "send": "0.16.2" + "parseurl": "~1.3.3", + "send": "0.18.0" } }, "set-value": { @@ -14022,9 +12794,9 @@ } }, "setprototypeof": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", - "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" }, "sha.js": { "version": "2.4.11", @@ -14068,9 +12840,19 @@ "dev": true }, "shell-quote": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", - "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==" + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.0.tgz", + "integrity": "sha512-QHsz8GgQIGKlRi24yFc6a6lN69Idnx634w49ay6+jA5yFh7a1UY+4Rp6HPx/L/1zcEDPEij8cIsiqR6bQsE5VQ==" + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } }, "simple-concat": { "version": "1.0.0", @@ -14183,25 +12965,44 @@ } }, "socket.io": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.2.0.tgz", - "integrity": "sha512-sjlGfMmnaWvTRVxGRGWyhd9ctpg4APxWAxu85O/SxekkxHhfxmePWZbaYCkeX5QQX0z1YEnKOlNt6w82E4Nzug==", + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.6.1.tgz", + "integrity": "sha512-KMcaAi4l/8+xEjkRICl6ak8ySoxsYG+gG6/XfRCPJPQ/haCRIJBTL4wIl8YCsmtaBovcAXGLOShyVWQ/FG8GZA==", "requires": { - "@types/cookie": "^0.4.1", - "@types/cors": "^2.8.12", - "@types/node": ">=10.0.0", "accepts": "~1.3.4", "base64id": "~2.0.0", "debug": "~4.3.2", - "engine.io": "~5.2.0", - "socket.io-adapter": "~2.3.2", - "socket.io-parser": "~4.0.4" + "engine.io": "~6.4.1", + "socket.io-adapter": "~2.5.2", + "socket.io-parser": "~4.2.1" + }, + "dependencies": { + "socket.io-parser": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.2.tgz", + "integrity": "sha512-DJtziuKypFkMMHCm2uIshOYC7QaylbtzQwiMYDuCKy3OPkjLzu4B2vAhTlqipRHHzrI0NJeBAizTK7X+6m1jVw==", + "requires": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1" + } + } } }, "socket.io-adapter": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.3.2.tgz", - "integrity": "sha512-PBZpxUPYjmoogY0aoaTmo1643JelsaS1CiAwNjRVdrI0X9Seuc19Y2Wife8k88avW6haG8cznvwbubAZwH4Mtg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.2.tgz", + "integrity": "sha512-87C3LO/NOMc+eMcpcxUBebGjkpMDkNBS9tf7KJqcDsmL936EChtVva71Dw2q4tQcuVC+hAUy4an2NO/sYXmwRA==", + "requires": { + "ws": "~8.11.0" + }, + "dependencies": { + "ws": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", + "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", + "requires": {} + } + } }, "socket.io-client": { "version": "4.2.0", @@ -14218,9 +13019,9 @@ } }, "socket.io-parser": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz", - "integrity": "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.5.tgz", + "integrity": "sha512-sNjbT9dX63nqUFIOv95tTVm6elyIU4RvB1m8dOeZt+IgWwcWklFDOdmGcfo3zSiRsnR/3pJkjY5lfoGqEe4Eig==", "requires": { "@types/component-emitter": "^1.2.10", "component-emitter": "~1.3.0", @@ -14245,9 +13046,9 @@ } }, "source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -14265,11 +13066,6 @@ "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" }, - "sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" - }, "split-string": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", @@ -14278,23 +13074,6 @@ "extend-shallow": "^3.0.0" } }, - "sshpk": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.15.2.tgz", - "integrity": "sha512-Ra/OXQtuh0/enyl4ETZAfTaeksa6BXks5ZcjpSUNrjBr0DvrJKX+1fsKDPpT9TBXgHAFsa4510aNVgI8g/+SzA==", - "optional": true, - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - } - }, "stackframe": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.1.0.tgz", @@ -14320,9 +13099,14 @@ } }, "statuses": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" + }, + "steez": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/steez/-/steez-0.4.2.tgz", + "integrity": "sha512-eWKdF3W7iWCrY71Pgrv2BABApvYajo6aWzo276n8KZfzkOtKB5mNqq2Uuj55W3Yy2TCrPSLDgkIBk+9BEEVO0Q==" }, "stream-browserify": { "version": "2.0.1", @@ -14375,25 +13159,24 @@ } }, "string_decoder": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.2.0.tgz", - "integrity": "sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w==", - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "requires": { - "ansi-regex": "^2.0.0" + "safe-buffer": "~5.2.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + } } }, "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" }, "subarg": { "version": "1.0.0", @@ -14401,20 +13184,8 @@ "integrity": "sha1-9izxdYHplrSPyWVpn1TAauJouNI=", "requires": { "minimist": "^1.1.0" - }, - "dependencies": { - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" - } } }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" - }, "syntax-error": { "version": "1.4.0", "resolved": "http://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz", @@ -14423,25 +13194,21 @@ "acorn-node": "^1.2.0" } }, - "tapable": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz", - "integrity": "sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==" - }, "terser": { - "version": "3.17.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-3.17.0.tgz", - "integrity": "sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==", + "version": "5.16.8", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.8.tgz", + "integrity": "sha512-QI5g1E/ef7d+PsDifb+a6nnVgC4F22Bg6T0xrBrz6iloVB4PUkkunp6V8nzoOOZJIzjWVdAGqCdlKlhLq/TbIA==", "requires": { - "commander": "^2.19.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.10" + "@jridgewell/source-map": "^0.3.2", + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" }, "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + "acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==" } } }, @@ -14470,12 +13237,12 @@ "to-array": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", - "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=" + "integrity": "sha512-LhVdShQD/4Mk4zXNroIQZJC+Ap3zgLcDuwEdcmLv9CCO73NWockQDwyUnW/m8VX/EElfL6FcYx7EeutN4HJA6A==" }, "to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" }, "to-object-path": { "version": "0.3.0", @@ -14516,27 +13283,9 @@ } }, "toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" - }, - "tough-cookie": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", - "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", - "optional": true, - "requires": { - "psl": "^1.1.24", - "punycode": "^1.4.1" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "optional": true - } - } + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" }, "tslib": { "version": "1.14.1", @@ -14548,41 +13297,18 @@ "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==" }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "optional": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "optional": true - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "requires": { - "prelude-ls": "~1.1.2" - } - }, "type-detect": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-1.0.0.tgz", "integrity": "sha1-diIXzAbbJY7EiQihKY6LlRIejqI=" }, "type-is": { - "version": "1.6.16", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", - "integrity": "sha1-+JzjQVQcZysl7nrjxz3uOyvlAZQ=", + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "requires": { "media-typer": "0.3.0", - "mime-types": "~2.1.18" + "mime-types": "~2.1.24" } }, "typedarray": { @@ -14613,9 +13339,9 @@ } }, "underscore": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.1.tgz", - "integrity": "sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g==" + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz", + "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==" }, "union-value": { "version": "1.0.1", @@ -14679,13 +13405,13 @@ } } }, - "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "optional": true, + "update-browserslist-db": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", "requires": { - "punycode": "^2.1.0" + "escalade": "^3.1.1", + "picocolors": "^1.0.0" } }, "urix": { @@ -14733,34 +13459,15 @@ "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" }, "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", + "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==" }, "vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "optional": true, - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "optional": true - } - } - }, "vm-browserify": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", @@ -14780,10 +13487,18 @@ "isexe": "^2.0.0" } }, - "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" + "which-typed-array": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.10" + } }, "wrappy": { "version": "1.0.2", @@ -14810,6 +13525,11 @@ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, "yeast": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", diff --git a/package.json b/package.json index 5588b7fc..7494fb7f 100644 --- a/package.json +++ b/package.json @@ -9,37 +9,37 @@ "start": "node ./bin/www" }, "dependencies": { - "@lasso/marko-taglib": "^2.0.3", - "@marko/compiler": "^5.15.4", - "@marko/express": "^1.0.0", + "@lasso/marko-taglib": "^2.0.5", + "@marko/compiler": "^5.30.1", + "@marko/express": "^2.1.0", "alertifyjs": "^1.13.1", "axios": "^0.21.2", - "body-parser": "^1.19.0", + "body-parser": "^1.20.2", "bottleneck": "^2.18.0", "browser-refresh": "^1.7.3", - "browser-refresh-taglib": "^1.1.0", - "chart.js": "^3.5.1", + "browser-refresh-taglib": "^1.2.1", + "chart.js": "^3.9.1", "compression": "^1.7.4", - "cookie-parser": "^1.4.5", + "cookie-parser": "^1.4.6", "debug": "^4.3.2", - "dissolve": "^0.3.3", - "express": "^5.0.0-alpha.8", + "dissolve": "^0.2.1", + "express": "^4.18.2", "kcapp-bot": "github:kcapp/bot#f6e02174c98c0e3eb6ae02291d4aea6c0688b46f", "kcapp-sio-client": "github:kcapp/kcapp-sio-client", - "lasso": "^3.4.3", - "lasso-less": "^4.0.1", - "lasso-marko": "^3.1.0", - "less-middleware": "^3.1.0", - "marko": "^5.15.5", + "lasso": "^4.0.3", + "lasso-less": "^4.0.2", + "lasso-marko": "^3.2.1", + "less-middleware": "^2.2.1", + "marko": "^5.28.1", "mobile-detect": "^1.4.5", - "moment": "^2.29.1", + "moment": "^2.29.4", "morgan": "^1.10.0", - "rotating-file-stream": "^2.1.5", + "rotating-file-stream": "^3.1.0", "serve-favicon": "^2.5.0", "socket.io": "^4.2.0", "socket.io-client": "^4.2.0", - "underscore": "^1.13.1", - "uuid": "^8.3.2", + "underscore": "^1.13.6", + "uuid": "^9.0.0", "xmldom": "^0.6.0" }, "devDependencies": { From e9256ebcb4091c1fab26fabdbdf04459edf5ee1d Mon Sep 17 00:00:00 2001 From: Thord Setsaas Date: Sun, 2 Jul 2023 10:48:13 +0200 Subject: [PATCH 04/34] Improved leg reload via socket.io --- CHANGELOG.md | 3 + routes/legs.js | 3 +- src/pages/leg/components/leg/leg.component.js | 78 ++++++++++++------- 3 files changed, 56 insertions(+), 28 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 76bd4d78..b7080676 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,9 @@ A preview of major changes can be found in the Wiki ([Latest Changes](https://github.com/kcapp/frontend/wiki/Latest_Changes)) ## [2.7.0] - TBD +#### Feature +- Automatically start next leg without needing to reload the page to improve load time, and get back to throwing quicker + #### Changed - Updated to use `Node.js v18` - Updated dependencies to newer versions diff --git a/routes/legs.js b/routes/legs.js index df692fcc..b7ff7060 100644 --- a/routes/legs.js +++ b/routes/legs.js @@ -211,7 +211,8 @@ function renderLegView(req, res, next, isExperimental, isController) { leg_players: legPlayers, global_statistics: globalStatistics.data, experimental: isExperimental, - controller: isController + controller: isController, + locals: req.app.locals }); }).catch(error => { debug(`Error when getting match: ${error}`); diff --git a/src/pages/leg/components/leg/leg.component.js b/src/pages/leg/components/leg/leg.component.js index 3d7f9ae5..a474ef20 100644 --- a/src/pages/leg/components/leg/leg.component.js +++ b/src/pages/leg/components/leg/leg.component.js @@ -37,38 +37,14 @@ module.exports = { }, onMount() { + console.log(this.input.locals); document.addEventListener("keydown", _.debounce(function(e) { // Some Android tablets do a weird thing where they emit mulitple events, so debounce it here, // to ensure we only send a single one this.onKeyDown(e); }.bind(this), 10), false); - // Setup socket endpoints - const socket = io.connect(`${window.location.origin}/legs/${this.state.leg.id}`); - socket.on('score_update', this.onScoreUpdate.bind(this)); - socket.on('possible_throw', this.onPossibleThrowEvent.bind(this)); - socket.on('say', this.onSay.bind(this)); - socket.on('announce', io.onAnnounce.bind(this)); - socket.on('leg_finished', (data) => { - socket.on('say_finish', () => { - // Wait for announcement to finish before moving on - const match = data.match; - const isController = localStorage.get('controller'); - if (match.is_finished) { - if (isController) { - // If this is a controller, forward back to start page - location.href = '/controller'; - } else { - location.href = `${window.location.origin}/matches/${match.id}/result`; - } - } else { - const base = `${window.location.origin}/legs/${match.current_leg_id}`; - location.href = isController ? `${base}/controller` : `${base}`; - } - }); - }); - socket.on('error', this.onError.bind(this)); - this.state.socket = socket; + this.state.socket = this.setupSio(this.state.leg.id); this.state.audioAnnouncer = new Audio(); // If this is an official match, which has not had any darts thrown, and was not updated in the last two minutes @@ -80,7 +56,7 @@ module.exports = { if (this.input.leg.visits.length === 0) { const currentPlayer = this.input.players[this.input.leg.current_player_id]; setTimeout(() => { - socket.emit('announce', { leg_num: this.input.match.current_leg_num, player: currentPlayer, type: 'match_start' }); + this.state.socket.emit('announce', { leg_num: this.input.match.current_leg_num, player: currentPlayer, type: 'match_start' }); }, 900); } } @@ -98,6 +74,54 @@ module.exports = { }); }, + setupSio(legId) { + const socket = io.connect(`${window.location.origin}/legs/${legId}`); + socket.on('score_update', this.onScoreUpdate.bind(this)); + socket.on('possible_throw', this.onPossibleThrowEvent.bind(this)); + socket.on('say', this.onSay.bind(this)); + socket.on('announce', io.onAnnounce.bind(this)); + socket.on('leg_finished', (data) => { + let match = data.match; + + socket.once('say_finish', () => { + const isController = localStorage.get('controller'); + if (match.is_finished) { + location.href = isController ? '/controller' : `${window.location.origin}/matches/${match.id}/result`; + } else { + axios.all([ + axios.get(`${window.location.protocol}//${window.location.hostname}${this.input.locals.kcapp.api_path}/leg/${match.current_leg_id}`), + axios.get(`${window.location.protocol}//${window.location.hostname}${this.input.locals.kcapp.api_path}/leg/${match.current_leg_id}/players`) + ]).then(axios.spread((legData, playersData) => { + const leg = legData.data; + const players = playersData.data; + + this.state.leg = leg; + this.state.players = players; + + this.state.socket.disconnect(); + this.state.socket = this.setupSio(leg.id); + + // Reset all player scorecards + const scorecards = this.getComponents('players'); + scorecards.forEach(scorecard => scorecard.reset()); + + const currentPlayer = this.input.players[leg.current_player_id]; + this.state.announcedStart = false; + this.state.socket.emit('announce', { leg_num: match.current_leg_num, player: currentPlayer, type: 'match_start' }); + + // Update the URL of current page, so that if a refresh is triggered we go to the current leg, and not the finished one + window.history.pushState(`leg${leg.id}`, "", `/legs/${leg.id}`); + })).catch(error => { + alert("error"); + console.log(JSON.stringify(error)); + }); + } + }); + }); + socket.on('error', this.onError.bind(this)); + return socket; + }, + onAnnounce(data) { io.announce(data, this); }, From 2285d4b81fe8f7a983208c574ec9c3f9c0702002 Mon Sep 17 00:00:00 2001 From: Thord Setsaas Date: Sun, 2 Jul 2023 11:16:46 +0200 Subject: [PATCH 05/34] Make next leg start without needing a say_finish event --- src/pages/leg/components/leg/leg.component.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/pages/leg/components/leg/leg.component.js b/src/pages/leg/components/leg/leg.component.js index a474ef20..c462e4f6 100644 --- a/src/pages/leg/components/leg/leg.component.js +++ b/src/pages/leg/components/leg/leg.component.js @@ -83,7 +83,15 @@ module.exports = { socket.on('leg_finished', (data) => { let match = data.match; + // Sometimes the say_finish event isn't sent (Browser isn't play audio, iOS, etc), + // which prevents us from moving to the next leg, so create a global timeout here as well + const sayWait = setTimeout(nextLeg.bind(this), 6000); socket.once('say_finish', () => { + clearTimeout(sayWait); + nextLeg.bind(this)(); + }); + + function nextLeg() { const isController = localStorage.get('controller'); if (match.is_finished) { location.href = isController ? '/controller' : `${window.location.origin}/matches/${match.id}/result`; @@ -116,7 +124,7 @@ module.exports = { console.log(JSON.stringify(error)); }); } - }); + } }); socket.on('error', this.onError.bind(this)); return socket; From ff536f97764a521117fa950d214e1c3043215d25 Mon Sep 17 00:00:00 2001 From: Thord Setsaas Date: Sun, 2 Jul 2023 16:06:27 +0200 Subject: [PATCH 06/34] Fixed leg reload without page reload for all game types --- .../scorecard/components/cricket.js | 56 +++++++++---------- src/components/scorecard/components/gotcha.js | 4 +- .../scorecard/components/knockout.js | 2 +- src/components/scorecard/components/scam.js | 6 +- .../scorecard/components/shootout.js | 4 +- .../scorecard/scorecard.component.js | 1 - src/components/scorecard/scorecard.marko | 2 +- .../tic-tac-toe-board.component.js | 18 +++--- src/pages/leg/components/leg/leg.component.js | 6 +- 9 files changed, 51 insertions(+), 48 deletions(-) diff --git a/src/components/scorecard/components/cricket.js b/src/components/scorecard/components/cricket.js index 5d40f26b..ebd44269 100644 --- a/src/components/scorecard/components/cricket.js +++ b/src/components/scorecard/components/cricket.js @@ -1,21 +1,21 @@ -var DARTS = [ 20, 19, 18, 17, 16, 15, 25 ]; +const DARTS = [ 20, 19, 18, 17, 16, 15, 25 ]; exports.DARTS = DARTS; exports.removeLast = function(dart, external) { - var score = dart.getScore(); - var hits = this.state.player.hits[score] ? this.state.player.hits[score].total : 0; + let score = dart.getScore(); + let hits = this.state.player.hits[score] ? this.state.player.hits[score].total : 0; if (DARTS.includes(score)) { if (this.state.player.hits[score].total) { this.state.player.hits[score].total -= dart.getMultiplier(); } - var multiplier = this.state.player.hits[score].total < 3 ? hits - dart.getMultiplier() : hits - this.state.player.hits[score].total; - var points = score * multiplier; + let multiplier = this.state.player.hits[score].total < 3 ? hits - dart.getMultiplier() : hits - this.state.player.hits[score].total; + let points = score * multiplier; if (hits > 3) { - var players = this.state.players; - for (var i = 0; i < players.length; i++) { - var player = players[i]; + const players = this.input.players; + for (let i = 0; i < players.length; i++) { + let player = players[i]; if (player.player_id == this.state.player.player_id) { continue; } @@ -34,18 +34,18 @@ exports.removeLast = function(dart, external) { exports.isCheckout = (current, players) => { // Check if current player has closed all numbers - var closed = true; - var currentPlayer = {}; - for (var i = 0; i < players.length; i++) { - var player = players[i]; + let closed = true; + let currentPlayer = {}; + for (let i = 0; i < players.length; i++) { + let player = players[i]; if (player.player_id == current.player_id) { currentPlayer = player; break; } } - for (var i = 0; i < DARTS.length; i++) { - var score = DARTS[i]; + for (let i = 0; i < DARTS.length; i++) { + let score = DARTS[i]; if (!currentPlayer.hits[score] || currentPlayer.hits[score].total < 3) { closed = false; @@ -56,9 +56,9 @@ exports.isCheckout = (current, players) => { if (closed) { // What is the lowest score? - var lowest = Number.MAX_VALUE; - for (var i = 0; i < players.length; i++) { - var player = players[i]; + let lowest = Number.MAX_VALUE; + for (let i = 0; i < players.length; i++) { + let player = players[i]; if (player.current_score < lowest) { lowest = player.current_score; @@ -73,19 +73,19 @@ exports.isCheckout = (current, players) => { } exports.confirmThrow = function (external) { - var submitting = false; + let submitting = false; - var dart = this.getCurrentDart(); + let dart = this.getCurrentDart(); if (dart.getValue() === 0) { this.setDart(0, 1); } this.state.currentDart++; this.state.isSubmitted = true; - var score = dart.getScore(); - var isCheckout = false; + let score = dart.getScore(); + let isCheckout = false; if (DARTS.includes(score)) { - var hits = this.state.player.hits[score]; + let hits = this.state.player.hits[score]; if (hits) { hits = hits.total; this.state.player.hits[score].total += dart.getMultiplier(); @@ -93,13 +93,13 @@ exports.confirmThrow = function (external) { this.state.player.hits[score] = { total: dart.getMultiplier() } ; hits = 0; } - var multiplier = hits < 3 ? this.state.player.hits[score].total - 3 : this.state.player.hits[score].total - hits; - var points = score * multiplier; + let multiplier = hits < 3 ? this.state.player.hits[score].total - 3 : this.state.player.hits[score].total - hits; + let points = score * multiplier; if (this.state.player.hits[score].total > 3) { - var players = this.state.players; - for (var i = 0; i < players.length; i++) { - var player = players[i]; + const players = this.input.players; + for (let i = 0; i < players.length; i++) { + let player = players[i]; if (player.player_id == this.state.player.player_id) { continue; } @@ -110,7 +110,7 @@ exports.confirmThrow = function (external) { } } } - isCheckout = module.exports.isCheckout(this.state.player, this.state.players); + isCheckout = module.exports.isCheckout(this.state.player, this.input.players); if (isCheckout) { submitting = true; } diff --git a/src/components/scorecard/components/gotcha.js b/src/components/scorecard/components/gotcha.js index 8da59cd7..a37fbc9a 100644 --- a/src/components/scorecard/components/gotcha.js +++ b/src/components/scorecard/components/gotcha.js @@ -5,7 +5,7 @@ exports.removeLast = function(dart, external) { this.emit('score-change', this.state.player.current_score, this.state.player.player_id); // Reset other players back to their old score - const players = this.state.players; + const players = this.input.players; for (let i = 0; i < players.length; i++) { const player = players[i]; if (player.player_id === this.state.player.player_id) { @@ -47,7 +47,7 @@ exports.confirmThrow = function (external) { this.state.isSubmitted = true; this.state.player.current_score += dart.getValue(); - const players = this.state.players; + const players = this.input.players; for (let i = 0; i < players.length; i++) { const player = players[i]; if (player.player_id === this.state.player.player_id) { diff --git a/src/components/scorecard/components/knockout.js b/src/components/scorecard/components/knockout.js index 67676fed..8735fd3f 100644 --- a/src/components/scorecard/components/knockout.js +++ b/src/components/scorecard/components/knockout.js @@ -55,7 +55,7 @@ exports.confirmThrow = function (external) { this.emit('score-change', scored, this.state.player.player_id); - const isCheckout = module.exports.isCheckout(this.state.players); + const isCheckout = module.exports.isCheckout(this.input.players); if (isCheckout) { submitting = true; } diff --git a/src/components/scorecard/components/scam.js b/src/components/scorecard/components/scam.js index ff6fa42d..cc6465f6 100644 --- a/src/components/scorecard/components/scam.js +++ b/src/components/scorecard/components/scam.js @@ -4,7 +4,7 @@ exports.removeLast = function(dart, external) { if (player.is_stopper && dart.getMultiplier() === 1) { player.hits[dart.getScore()]['1'] -= 1; } else if (player.is_scorer) { - let stopper = getStopper(this.state.players); + let stopper = getStopper(this.input.players); if (!stopper.hits[dart.getScore()]) { let score = dart.getValue(); player.current_score -= score; @@ -62,7 +62,7 @@ exports.confirmThrow = function (external) { } } } else if (player.is_scorer) { - let stopper = getStopper(this.state.players); + let stopper = getStopper(this.input.players); // Only allow hits if other player has not stopped the number if (!stopper.hits[dart.getScore()] || !stopper.hits[dart.getScore()]['1']) { let score = dart.getValue(); @@ -72,7 +72,7 @@ exports.confirmThrow = function (external) { allClosed = false; } - const isCheckout = module.exports.isCheckout(player, this.state.players); + const isCheckout = module.exports.isCheckout(player, this.input.players); if (isCheckout) { submitting = true; } diff --git a/src/components/scorecard/components/shootout.js b/src/components/scorecard/components/shootout.js index eeabe258..451ffd5f 100644 --- a/src/components/scorecard/components/shootout.js +++ b/src/components/scorecard/components/shootout.js @@ -11,7 +11,7 @@ exports.removeLast = function(dart, external) { } } -exports.isCheckout = function(leg, currentDart, players, player) { +exports.isCheckout = function(leg, currentDart, players) { let visits = leg.visits.length; if (currentDart > 3) { visits++; @@ -49,7 +49,7 @@ exports.confirmThrow = function (external) { this.state.player.current_score += scored; this.state.player.darts_thrown++; this.emit('score-change', -scored, this.state.player.player_id); - const isCheckout = module.exports.isCheckout(this.state.leg, this.state.currentDart, this.state.players, this.state.player); + const isCheckout = module.exports.isCheckout(this.state.leg, this.state.currentDart, this.input.players); if (isCheckout) { submitting = true; alertify.confirm('Leg will be finished.', diff --git a/src/components/scorecard/scorecard.component.js b/src/components/scorecard/scorecard.component.js index 88c3a83f..e547b21f 100644 --- a/src/components/scorecard/scorecard.component.js +++ b/src/components/scorecard/scorecard.component.js @@ -25,7 +25,6 @@ module.exports = { const player = input.player; this.state = { uuid: input.uuid, - players: input.players, leg: input.leg, player: player, type: input.type, diff --git a/src/components/scorecard/scorecard.marko b/src/components/scorecard/scorecard.marko index 4bc33752..6508fa41 100755 --- a/src/components/scorecard/scorecard.marko +++ b/src/components/scorecard/scorecard.marko @@ -213,7 +213,7 @@ $ const cricket = require("./components/cricket"); - + ${player.player.first_name} diff --git a/src/components/tic-tac-toe-board/tic-tac-toe-board.component.js b/src/components/tic-tac-toe-board/tic-tac-toe-board.component.js index dfddb60d..7e3d7906 100644 --- a/src/components/tic-tac-toe-board/tic-tac-toe-board.component.js +++ b/src/components/tic-tac-toe-board/tic-tac-toe-board.component.js @@ -1,4 +1,4 @@ -var _ = require("underscore"); +const _ = require("underscore"); module.exports = { onCreate(input) { @@ -8,9 +8,9 @@ module.exports = { this.updateBoard(); }, updateState(params) { - var closed = []; - for (var i = 0; i < params.numbers.length; i++) { - var num = params.numbers[i]; + const closed = []; + for (let i = 0; i < params.numbers.length; i++) { + const num = params.numbers[i]; if (params.hits[num]) { closed.push(i); } @@ -26,13 +26,13 @@ module.exports = { this.updateBoard(); }, updateBoard(score = 0, multiplier = 1, isUndo = false) { - var cells = this.getComponents("tic-tac-toe-cell"); - for (var i = 0; i < cells.length; i++) { - var cell = cells[i]; - var num = this.state.parameters.numbers[i]; + const cells = this.getComponents("tic-tac-toe-cell"); + for (let i = 0; i < cells.length; i++) { + const cell = cells[i]; + let num = this.state.parameters.numbers[i]; if (!this.state.closed.includes(i)) { - var scored = score * multiplier; + const scored = score * multiplier; num = isUndo ? num + scored : num - scored; cell.updateValue(num, multiplier); } diff --git a/src/pages/leg/components/leg/leg.component.js b/src/pages/leg/components/leg/leg.component.js index c462e4f6..0522a9c8 100644 --- a/src/pages/leg/components/leg/leg.component.js +++ b/src/pages/leg/components/leg/leg.component.js @@ -113,6 +113,10 @@ module.exports = { const scorecards = this.getComponents('players'); scorecards.forEach(scorecard => scorecard.reset()); + if (this.state.matchType == types.TIC_TAC_TOE) { + this.getComponent("tic-tac-toe-board").resetBoard(leg.parameters); + } + const currentPlayer = this.input.players[leg.current_player_id]; this.state.announcedStart = false; this.state.socket.emit('announce', { leg_num: match.current_leg_num, player: currentPlayer, type: 'match_start' }); @@ -120,7 +124,7 @@ module.exports = { // Update the URL of current page, so that if a refresh is triggered we go to the current leg, and not the finished one window.history.pushState(`leg${leg.id}`, "", `/legs/${leg.id}`); })).catch(error => { - alert("error"); + alert(`Error when refreshing leg, please reload the page`); console.log(JSON.stringify(error)); }); } From 557ecfdef51d5a73ea12bc14ca4f63d92ba48dce Mon Sep 17 00:00:00 2001 From: Thord Setsaas Date: Mon, 3 Jul 2023 14:24:45 +0200 Subject: [PATCH 07/34] Correctly update match type between legs incase it switches --- src/components/scorecard/scorecard.component.js | 3 ++- src/pages/leg/components/leg/leg.component.js | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/components/scorecard/scorecard.component.js b/src/components/scorecard/scorecard.component.js index e547b21f..ddfee02f 100644 --- a/src/components/scorecard/scorecard.component.js +++ b/src/components/scorecard/scorecard.component.js @@ -27,7 +27,7 @@ module.exports = { uuid: input.uuid, leg: input.leg, player: player, - type: input.type, + type: input.leg.leg_type.id, isCurrentPlayer: player.is_current_player, submitClass: null, totalScore: 0, @@ -48,6 +48,7 @@ module.exports = { this.state.isCurrentPlayer = input.player.is_current_player; this.state.player = input.player; this.state.leg = input.leg; + this.state.type = input.leg.leg_type.id; }, reset() { diff --git a/src/pages/leg/components/leg/leg.component.js b/src/pages/leg/components/leg/leg.component.js index 0522a9c8..fcbb8044 100644 --- a/src/pages/leg/components/leg/leg.component.js +++ b/src/pages/leg/components/leg/leg.component.js @@ -116,6 +116,8 @@ module.exports = { if (this.state.matchType == types.TIC_TAC_TOE) { this.getComponent("tic-tac-toe-board").resetBoard(leg.parameters); } + // MatchType might have changed, so make sure we update it + this.state.matchType = leg.leg_type.id || match.match_type.id; const currentPlayer = this.input.players[leg.current_player_id]; this.state.announcedStart = false; From d460664a93c1d3438c1056c23a0ba4e7d75669d0 Mon Sep 17 00:00:00 2001 From: Thord Setsaas Date: Mon, 3 Jul 2023 15:38:24 +0200 Subject: [PATCH 08/34] Remove loading of global statistics on leg load as it's not needed --- routes/legs.js | 6 ++---- src/pages/leg/components/leg/leg.component.js | 1 - src/pages/leg/leg-template.marko | 2 -- 3 files changed, 2 insertions(+), 7 deletions(-) diff --git a/routes/legs.js b/routes/legs.js index b7ff7060..668bc834 100644 --- a/routes/legs.js +++ b/routes/legs.js @@ -189,9 +189,8 @@ function renderLegView(req, res, next, isExperimental, isController) { axios.all([ axios.get(`${req.app.locals.kcapp.api}/player`), axios.get(`${req.app.locals.kcapp.api}/leg/${req.params.id}`), - axios.get(`${req.app.locals.kcapp.api}/leg/${req.params.id}/players`), - axios.get(`${req.app.locals.kcapp.api}/statistics/global`) - ]).then(axios.spread((players, legResponse, legPlayers, globalStatistics) => { + axios.get(`${req.app.locals.kcapp.api}/leg/${req.params.id}/players`) + ]).then(axios.spread((players, legResponse, legPlayers) => { const leg = legResponse.data; axios.get(`${req.app.locals.kcapp.api}/match/${leg.match_id}`) .then(response => { @@ -209,7 +208,6 @@ function renderLegView(req, res, next, isExperimental, isController) { players: players.data, match: match, leg_players: legPlayers, - global_statistics: globalStatistics.data, experimental: isExperimental, controller: isController, locals: req.app.locals diff --git a/src/pages/leg/components/leg/leg.component.js b/src/pages/leg/components/leg/leg.component.js index fcbb8044..a1be47e9 100644 --- a/src/pages/leg/components/leg/leg.component.js +++ b/src/pages/leg/components/leg/leg.component.js @@ -24,7 +24,6 @@ module.exports = { roundNumber: input.leg.round, venueConfig: venue && venue.config ? venue.config : {}, submitting: false, - globalStatistics: input.global_statistics, matchType: input.leg.leg_type.id || input.match.match_type.id, socket: {}, audioAnnouncer: undefined, diff --git a/src/pages/leg/leg-template.marko b/src/pages/leg/leg-template.marko index 5298e247..12efec3e 100644 --- a/src/pages/leg/leg-template.marko +++ b/src/pages/leg/leg-template.marko @@ -8,7 +8,6 @@ import Layout from "../layout.marko" match=input.match players=input.players leg_players=input.leg_players - global_statistics=input.global_statistics locals=input.locals experimental=input.experimental buttons_only=true/> @@ -21,7 +20,6 @@ import Layout from "../layout.marko" match=input.match players=input.players leg_players=input.leg_players - global_statistics=input.global_statistics locals=input.locals experimental=input.experimental/> From 7b7ea535f0705bf0ababc06e0f7e792e825d111d Mon Sep 17 00:00:00 2001 From: Thord Setsaas Date: Mon, 3 Jul 2023 15:56:40 +0200 Subject: [PATCH 09/34] Correctly check if player is bot when next leg starts --- src/components/scorecard/scorecard.component.js | 1 - src/pages/leg/components/leg/leg.component.js | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/components/scorecard/scorecard.component.js b/src/components/scorecard/scorecard.component.js index ddfee02f..5f610b2d 100644 --- a/src/components/scorecard/scorecard.component.js +++ b/src/components/scorecard/scorecard.component.js @@ -34,7 +34,6 @@ module.exports = { currentDart: 1, isSubmitted: true, isBusted: false, - isBot: player.player.is_bot, isSpectate: input.spectate } }, diff --git a/src/pages/leg/components/leg/leg.component.js b/src/pages/leg/components/leg/leg.component.js index a1be47e9..f0e14754 100644 --- a/src/pages/leg/components/leg/leg.component.js +++ b/src/pages/leg/components/leg/leg.component.js @@ -438,7 +438,7 @@ module.exports = { return; } const component = this.findActive(this.getComponents('players')); - if (component.state.isBot) { + if (component.state.player.player.is_bot) { // Don't allow adding darts for bot return; } From 245a8dbcdd8ae19c6c48fae230a43450dfff25aa Mon Sep 17 00:00:00 2001 From: Thord Setsaas Date: Mon, 3 Jul 2023 15:58:48 +0200 Subject: [PATCH 10/34] Updated to latest Bot --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7494fb7f..4c25bedf 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ "debug": "^4.3.2", "dissolve": "^0.2.1", "express": "^4.18.2", - "kcapp-bot": "github:kcapp/bot#f6e02174c98c0e3eb6ae02291d4aea6c0688b46f", + "kcapp-bot": "github:kcapp/bot#17b3aaa46b3a95481ad7d9760aadaba3f1f2f54d", "kcapp-sio-client": "github:kcapp/kcapp-sio-client", "lasso": "^4.0.3", "lasso-less": "^4.0.2", From f11b4d910e9360c5d1b596cdd4df1ba0eb9c7a97 Mon Sep 17 00:00:00 2001 From: Thord Setsaas Date: Mon, 3 Jul 2023 16:40:32 +0200 Subject: [PATCH 11/34] Updated to latest Bot --- package-lock.json | 12 ++++++------ package.json | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/package-lock.json b/package-lock.json index 923e0552..c001cc34 100644 --- a/package-lock.json +++ b/package-lock.json @@ -23,7 +23,7 @@ "debug": "^4.3.2", "dissolve": "^0.2.1", "express": "^4.18.2", - "kcapp-bot": "github:kcapp/bot#f6e02174c98c0e3eb6ae02291d4aea6c0688b46f", + "kcapp-bot": "github:kcapp/bot#bf4fd3503cbc5e05e8193c52f58daa520803f4e1", "kcapp-sio-client": "github:kcapp/kcapp-sio-client", "lasso": "^4.0.3", "lasso-less": "^4.0.2", @@ -4530,8 +4530,8 @@ }, "node_modules/kcapp-bot": { "version": "0.0.1", - "resolved": "git+ssh://git@github.com/kcapp/bot.git#f6e02174c98c0e3eb6ae02291d4aea6c0688b46f", - "integrity": "sha512-Q9PaPY1AP+DuEuZ4yLxyMf1GrwrtGV6WoapWGU+Fss97bAc0bMksv69SBs6k5tyWX3TQ0DycInJhOk/uv5vAkw==", + "resolved": "git+ssh://git@github.com/kcapp/bot.git#bf4fd3503cbc5e05e8193c52f58daa520803f4e1", + "integrity": "sha512-/LhCzv1I3O3/Qz5Z+A3oGiJyGlLUo4wHyVTjgb3OlfuyjniJdC6vW7VTqZSyjONBOtLck8PPBcEFdPau3sBulA==", "dependencies": { "axios": "^0.26.1", "debug": "^4.3.4", @@ -11054,9 +11054,9 @@ } }, "kcapp-bot": { - "version": "git+ssh://git@github.com/kcapp/bot.git#f6e02174c98c0e3eb6ae02291d4aea6c0688b46f", - "integrity": "sha512-Q9PaPY1AP+DuEuZ4yLxyMf1GrwrtGV6WoapWGU+Fss97bAc0bMksv69SBs6k5tyWX3TQ0DycInJhOk/uv5vAkw==", - "from": "kcapp-bot@github:kcapp/bot#f6e02174c98c0e3eb6ae02291d4aea6c0688b46f", + "version": "git+ssh://git@github.com/kcapp/bot.git#bf4fd3503cbc5e05e8193c52f58daa520803f4e1", + "integrity": "sha512-/LhCzv1I3O3/Qz5Z+A3oGiJyGlLUo4wHyVTjgb3OlfuyjniJdC6vW7VTqZSyjONBOtLck8PPBcEFdPau3sBulA==", + "from": "kcapp-bot@github:kcapp/bot#bf4fd3503cbc5e05e8193c52f58daa520803f4e1", "requires": { "axios": "^0.26.1", "debug": "^4.3.4", diff --git a/package.json b/package.json index 4c25bedf..ee1b6bb9 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ "debug": "^4.3.2", "dissolve": "^0.2.1", "express": "^4.18.2", - "kcapp-bot": "github:kcapp/bot#17b3aaa46b3a95481ad7d9760aadaba3f1f2f54d", + "kcapp-bot": "github:kcapp/bot#bf4fd3503cbc5e05e8193c52f58daa520803f4e1", "kcapp-sio-client": "github:kcapp/kcapp-sio-client", "lasso": "^4.0.3", "lasso-less": "^4.0.2", From 257e987571b116fd7762d81e7044d944919a51bd Mon Sep 17 00:00:00 2001 From: Thord Setsaas Date: Wed, 5 Jul 2023 08:43:25 +0200 Subject: [PATCH 12/34] Forward clients to main page after 2 minutes --- CHANGELOG.md | 1 + src/pages/leg/components/leg/leg.component.js | 2 +- .../components/match-result/match-result.component.js | 8 ++++++++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b7080676..153d7b2d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ A preview of major changes can be found in the Wiki ([Latest Changes](https://gi ## [2.7.0] - TBD #### Feature - Automatically start next leg without needing to reload the page to improve load time, and get back to throwing quicker +- Forward clients back to main page from match result after 2 minutes #### Changed - Updated to use `Node.js v18` diff --git a/src/pages/leg/components/leg/leg.component.js b/src/pages/leg/components/leg/leg.component.js index f0e14754..de9df6fc 100644 --- a/src/pages/leg/components/leg/leg.component.js +++ b/src/pages/leg/components/leg/leg.component.js @@ -93,7 +93,7 @@ module.exports = { function nextLeg() { const isController = localStorage.get('controller'); if (match.is_finished) { - location.href = isController ? '/controller' : `${window.location.origin}/matches/${match.id}/result`; + location.href = isController ? '/controller' : `${window.location.origin}/matches/${match.id}/result?finished=true`; } else { axios.all([ axios.get(`${window.location.protocol}//${window.location.hostname}${this.input.locals.kcapp.api_path}/leg/${match.current_leg_id}`), diff --git a/src/pages/match-result/components/match-result/match-result.component.js b/src/pages/match-result/components/match-result/match-result.component.js index cfbbf9ed..ee226216 100644 --- a/src/pages/match-result/components/match-result/match-result.component.js +++ b/src/pages/match-result/components/match-result/match-result.component.js @@ -21,6 +21,14 @@ module.exports = { }, onMount() { document.addEventListener("keydown", this.onKeyDown.bind(this), false); + + const finishedParam = new URLSearchParams(window.location.search).get('finished'); + if (finishedParam) { + // Move back to index page after 2 minutes + setTimeout(() => { + location.href = '/'; + }, 120*1000); + } }, onKeyDown(e) { switch (e.key) { From e6e3f37e93be9641e1e055409b9a618b2f169ce6 Mon Sep 17 00:00:00 2001 From: Thord Setsaas Date: Thu, 6 Jul 2023 16:23:34 +0200 Subject: [PATCH 13/34] Fixed cancelling of wrong leg --- .../leg-result/leg-result.component.js | 4 +-- .../leg-header/leg-header.component.js | 3 +- .../components/leg-header/leg-header.marko | 4 +-- .../tab-checkouts/tab-checkouts.marko | 12 +++++++ .../components/tab-elo/tab-elo.component.js | 31 +++++++++---------- .../components/player/player.component.js | 4 +-- 6 files changed, 34 insertions(+), 24 deletions(-) diff --git a/src/pages/leg-result/components/leg-result/leg-result.component.js b/src/pages/leg-result/components/leg-result/leg-result.component.js index 12d4396a..92b6fdd7 100644 --- a/src/pages/leg-result/components/leg-result/leg-result.component.js +++ b/src/pages/leg-result/components/leg-result/leg-result.component.js @@ -134,8 +134,8 @@ module.exports = { }, hover: { mode: 'nearest', intersect: true }, scales: { - xAxes: [{ display: true, scaleLabel: { display: true, labelString: 'Round' } }], - yAxes: [{ display: true, scaleLabel: { display: true, labelString: 'Scores' } }] + x: { display: true, scaleLabel: { display: true, labelString: 'Round' } }, + y: { display: true, scaleLabel: { display: true, labelString: 'Scores' } } }, elements: { line: { tension: 0 } } } diff --git a/src/pages/leg/components/leg-header/leg-header.component.js b/src/pages/leg/components/leg-header/leg-header.component.js index f9004dcb..85516744 100644 --- a/src/pages/leg/components/leg-header/leg-header.component.js +++ b/src/pages/leg/components/leg-header/leg-header.component.js @@ -4,7 +4,6 @@ const alertify = require("../../../../util/alertify"); module.exports = { onCreate(input) { this.state = { - leg: input.leg, isOfficial: input.match.tournament_id !== null, buttonInputEnabled: input.buttonsEnabled, compactMode: false, @@ -60,7 +59,7 @@ module.exports = { cancelLeg(event) { alertify.confirm('Leg will be cancelled.', () => { - axios.delete(`${window.location.origin}/legs/${this.state.leg.id}/cancel`) + axios.delete(`${window.location.origin}/legs/${this.input.leg.id}/cancel`) .then(response => { location.href = '/matches'; }).catch(error => { diff --git a/src/pages/leg/components/leg-header/leg-header.marko b/src/pages/leg/components/leg-header/leg-header.marko index 70505ded..5ad4a933 100644 --- a/src/pages/leg/components/leg-header/leg-header.marko +++ b/src/pages/leg/components/leg-header/leg-header.marko @@ -4,8 +4,8 @@ $ var types = require('../../../../components/scorecard/components/match_types')
Leg (${input.leg.leg_type.name})
${input.match.match_mode.short_name}
/R${input.leg.round}
- -
/${state.leg.parameters.outshot_type.short_name}
+ +
/${input.leg.parameters.outshot_type.short_name}
diff --git a/src/pages/player/components/player/components/tab-checkouts/tab-checkouts.marko b/src/pages/player/components/player/components/tab-checkouts/tab-checkouts.marko index 4e863e9b..ceef664d 100644 --- a/src/pages/player/components/player/components/tab-checkouts/tab-checkouts.marko +++ b/src/pages/player/components/player/components/tab-checkouts/tab-checkouts.marko @@ -1,3 +1,15 @@ + + + + +
+
+
Checkouts Completed
+
+
${input.checkouts.filter(checkout => checkout.completed).length} / 162
+
+
+
diff --git a/src/pages/player/components/player/components/tab-elo/tab-elo.component.js b/src/pages/player/components/player/components/tab-elo/tab-elo.component.js index 4906b27d..da49eb38 100644 --- a/src/pages/player/components/player/components/tab-elo/tab-elo.component.js +++ b/src/pages/player/components/player/components/tab-elo/tab-elo.component.js @@ -4,29 +4,26 @@ module.exports = { onCreate(input) { this.state = { changelog: [], - currentPage: 1, totalPages: 1, itemsPerPage: 15, chart: null } }, onMount() { - this.updateChangelog(0, this.state.itemsPerPage); + this.updateChangelog(0, this.state.itemsPerPage, true); document.write('`) $(function () { $('.table-matches-list').DataTable({ @@ -32,15 +44,18 @@ module.exports = { } }); if (window.location.hash != "") { - if (window.location.hash === '#matches') { + const tabId = window.location.hash; + if (tabId === '#matches') { $('.tournament-group-matches').click(); - } else if (window.location.hash === '#unplayed') { + } else if (tabId === '#unplayed') { $('.tournament-group-unplayed-matches').click(); } else { - $('a[href="' + window.location.hash + '"]').click(); + $(`a[href="${tabId}"]`).click(); } } }); + }, + onShowModal(matchId) { + this.getComponent('set-score-modal').setMatch(matchId); } - } \ No newline at end of file diff --git a/src/pages/tournament/components/tournament/tournament.marko b/src/pages/tournament/components/tournament/tournament.marko index 55e77711..67a6772c 100644 --- a/src/pages/tournament/components/tournament/tournament.marko +++ b/src/pages/tournament/components/tournament/tournament.marko @@ -1,15 +1,15 @@ $ { - var tabs = [{ name: "Season", href: "season" }]; + let tabs = [{ name: "Season", href: "season" }]; if (state.hasStatistics) { tabs.push({ name: "Statistics", href: "statistics" }); } - tabs.push({ name: "Bracket", href: "playoffs" }); + tabs.push({ name: "Bracket", href: "bracket" }); if (input.tournament.standings) { tabs.push({ name: "Final Standings", href: "standings" }); } } $ { - var buttons = []; + let buttons = []; if (input.tournament.playoffs_tournament_id) { buttons.push({ name: "Playoffs", href: `/tournaments/${input.tournament.playoffs_tournament_id}`}); } @@ -20,6 +20,9 @@ $ {
+ + +
${group[0].tournament_group.name}
@@ -41,11 +44,17 @@ $ {
+ $ { + let columns = ["start_time", "status", "players", "results", "options"]; + if (input.tournament.manual_admin) { + columns.push("admin"); + } + }
- +
- +
@@ -151,7 +160,7 @@ $ {
-
+
$!{bracket} @@ -185,3 +194,4 @@ $ {
+ \ No newline at end of file diff --git a/src/pages/tournament/components/tournament/tournament.style.less b/src/pages/tournament/components/tournament/tournament.style.less index eb2e32e4..66021f50 100644 --- a/src/pages/tournament/components/tournament/tournament.style.less +++ b/src/pages/tournament/components/tournament/tournament.style.less @@ -111,4 +111,8 @@ img { margin-top: -16px; } +} + +.editable { + cursor: pointer; } \ No newline at end of file diff --git a/src/pages/tournaments-admin/components/tournaments-admin/tournaments-admin.component.js b/src/pages/tournaments-admin/components/tournaments-admin/tournaments-admin.component.js index 24b952c1..d7251611 100644 --- a/src/pages/tournaments-admin/components/tournaments-admin/tournaments-admin.component.js +++ b/src/pages/tournaments-admin/components/tournaments-admin/tournaments-admin.component.js @@ -24,7 +24,7 @@ module.exports = { players: input.players, matches: matches, venues: input.venues, - tournamentPreset: 1, + tournamentPreset: input.presets[0].id, playersAvailable: input.players, selected: { group1: [], diff --git a/src/pages/tournaments-admin/components/tournaments-admin/tournaments-admin.marko b/src/pages/tournaments-admin/components/tournaments-admin/tournaments-admin.marko index 0630b8c2..44684c3a 100644 --- a/src/pages/tournaments-admin/components/tournaments-admin/tournaments-admin.marko +++ b/src/pages/tournaments-admin/components/tournaments-admin/tournaments-admin.marko @@ -27,7 +27,7 @@

Tournament Preset

diff --git a/src/pages/tournaments/components/options-panel/options-panel.marko b/src/pages/tournaments/components/options-panel/options-panel.marko new file mode 100644 index 00000000..78608568 --- /dev/null +++ b/src/pages/tournaments/components/options-panel/options-panel.marko @@ -0,0 +1,10 @@ +
+ + Options +
+
+ +
diff --git a/src/pages/tournaments/components/tournaments/tournaments.marko b/src/pages/tournaments/components/tournaments/tournaments.marko index a24b3844..bd63d924 100644 --- a/src/pages/tournaments/components/tournaments/tournaments.marko +++ b/src/pages/tournaments/components/tournaments/tournaments.marko @@ -1,4 +1,5 @@ +
From 493e433d418116307f9d4a26394866e455ce156d Mon Sep 17 00:00:00 2001 From: Thord Setsaas Date: Sun, 13 Aug 2023 13:45:51 +0200 Subject: [PATCH 22/34] Continued work on tournament presets --- public/images/bracket_last16.svg | 600 +++++++++--------- routes/lib/bracket_generator.js | 8 + routes/tournaments.js | 3 +- .../tournament-admin.component.js | 2 +- .../set-score-form.component.js | 16 +- .../tournaments-admin.component.js | 2 +- 6 files changed, 326 insertions(+), 305 deletions(-) diff --git a/public/images/bracket_last16.svg b/public/images/bracket_last16.svg index 4ff1d9de..347ebcc2 100644 --- a/public/images/bracket_last16.svg +++ b/public/images/bracket_last16.svg @@ -1,329 +1,333 @@ - - - - Match #1 - - - - G1-P1 - - - - 0 - - - - G2-P8 - - - - 0 - - - - - - Match #2 - - - - G1-P5 - - - - 0 - - - - G2-P4 - - - - 0 - - - - - - Match #3 - - - - G1-P3 - - - - 0 - - - - G2-P6 - - - - 0 - - - - - - Match #4 - - - - G2-P2 - - - - 0 - - - - G1-P7 - - - - 0 - - - - - - Match #5 - - - - G1-P2 - - - - 0 - - - - G2-P7 - - - - 0 - - - - - - Match #6 - - - - G1-P6 - - - - 0 - - - - G2-P3 - - - - 0 - - - - - - Match #7 - - - - G1-P4 - - - - 0 - - - - G2-P5 - - - - 0 - - - - - - Match #8 - - - - G1-P8 - - - - 0 - - - - G2-P1 - - - - 0 - - - - - - - +
- + From 7e53583dc9313a8fbaa8e2585c4021af20e227bd Mon Sep 17 00:00:00 2001 From: Thord Setsaas Date: Sun, 13 Aug 2023 14:12:00 +0200 Subject: [PATCH 25/34] Correctly handle if there are no presets --- .../tournaments-admin.component.js | 2 +- .../tournaments-admin/tournaments-admin.marko | 139 ++++++++++-------- 2 files changed, 76 insertions(+), 65 deletions(-) diff --git a/src/pages/tournaments-admin/components/tournaments-admin/tournaments-admin.component.js b/src/pages/tournaments-admin/components/tournaments-admin/tournaments-admin.component.js index e24793a0..bc17e342 100644 --- a/src/pages/tournaments-admin/components/tournaments-admin/tournaments-admin.component.js +++ b/src/pages/tournaments-admin/components/tournaments-admin/tournaments-admin.component.js @@ -24,7 +24,7 @@ module.exports = { players: input.players, matches: matches, venues: input.venues, - tournamentPreset: input.presets[0].id, + tournamentPreset: input.presets[0] ? input.presets[0].id : -1, playersAvailable: input.players, selected: { group1: [], diff --git a/src/pages/tournaments-admin/components/tournaments-admin/tournaments-admin.marko b/src/pages/tournaments-admin/components/tournaments-admin/tournaments-admin.marko index 44684c3a..5b9bfec3 100644 --- a/src/pages/tournaments-admin/components/tournaments-admin/tournaments-admin.marko +++ b/src/pages/tournaments-admin/components/tournaments-admin/tournaments-admin.marko @@ -12,80 +12,91 @@
-
-
- - Settings -
-
-

Office

- -

Tournament Preset

- + +
+
+ + Settings +
+
+

Office

+ +

Tournament Preset

+ -
-
-

Group 1

-
- - Players -
-
-
- - - +
+
+

Group 1

+
+ + Players
-
-
- - Select players -
-
-
- - - +
+
+ + + +
-
-
-
-

Group 2

-
- - Players -
-
-
- - - +
+ + Select players +
+
+
+ + + +
-
- - Select players -
-
-
- - - +
+

Group 2

+
+ + Players +
+
+
+ + + +
+
+
+ + Select players +
+
+
+ + + +
+
-
-
+ + +
+ + No Presets +
+
+
To generated tournaments, first create a preset
+
+
From 262bd939f7a947b3b1ad5e151d13d4163c82ec42 Mon Sep 17 00:00:00 2001 From: Thord Setsaas Date: Thu, 17 Aug 2023 08:23:38 +0200 Subject: [PATCH 26/34] Some fixes and improvements to tournament presets --- routes/lib/bracket_generator.js | 16 ++++++++++++++-- routes/tournaments.js | 4 ++-- .../all-buttons-input/all-buttons-input.marko | 4 ++-- src/pages/leg/components/leg/leg.component.js | 1 + src/pages/leg/components/leg/leg.marko | 2 +- .../tournament/tournament.component.js | 2 +- .../tournaments-admin.component.js | 12 +++++++++--- .../tournaments-admin/tournaments-admin.marko | 8 ++++---- 8 files changed, 34 insertions(+), 15 deletions(-) diff --git a/routes/lib/bracket_generator.js b/routes/lib/bracket_generator.js index 810d2a7d..3eae1c96 100644 --- a/routes/lib/bracket_generator.js +++ b/routes/lib/bracket_generator.js @@ -112,8 +112,20 @@ exports.generateLast16 = function (metadata, matches, players, current, callback const away = matchMetadata.player_away; const winsHome = wins[home] ? "" + wins[home] : match.is_finished ? "0" : ""; const winsAway = wins[away] ? "" + wins[away] : match.is_finished ? "0" : ""; - const homeName = players[home].is_placeholder ? (match.is_bye ? "bye" : "") : `${players[home].first_name} ${players[home].last_name.substring(0, 1)}`; - const awayName = players[away].is_placeholder ? (match.is_bye ? "bye" : "") : `${players[away].first_name} ${players[away].last_name.substring(0, 1)}`; + + const getPlayerName = (player) => { + if (player.is_placeholder) { + if (match.is_bye) { + return "bye"; // Match is a bye + } else { + return ""; // Player not decided yet + } + } + return `${player.first_name} ${player.last_name ? player.last_name.substring(0, 1) : ''}` + }; + + const homeName = getPlayerName(players[home]); + const awayName = getPlayerName(players[away]); doc.getElementById(`${prefix}_player_home`).childNodes[0].data = homeName; doc.getElementById(`${prefix}_player_away`).childNodes[0].data = awayName; doc.getElementById(`${prefix}_player_home_score`).childNodes[0].data = winsHome; diff --git a/routes/tournaments.js b/routes/tournaments.js index cb5e9349..e0948906 100644 --- a/routes/tournaments.js +++ b/routes/tournaments.js @@ -208,14 +208,14 @@ router.post('/admin/generate', function (req, res, next) { const player = body.group1[i]; players.push({ player_id: player.id, - tournament_group_id: preset.group1_tournament_group_id.id + tournament_group_id: preset.group1_tournament_group.id }); } for (let i = 0; i < body.group2.length; i++) { const player = body.group2[i]; players.push({ player_id: player.id, - tournament_group_id: preset.group2_tournament_group_id.id + tournament_group_id: preset.group2_tournament_group.id }); } diff --git a/src/pages/leg/components/button-input-table/components/all-buttons-input/all-buttons-input.marko b/src/pages/leg/components/button-input-table/components/all-buttons-input/all-buttons-input.marko index f50982b0..8f1a66d4 100644 --- a/src/pages/leg/components/button-input-table/components/all-buttons-input/all-buttons-input.marko +++ b/src/pages/leg/components/button-input-table/components/all-buttons-input/all-buttons-input.marko @@ -9,7 +9,7 @@
@@ -19,7 +19,7 @@ + + $ let badge = state.badges[j + (4*i)] + + + + + + +
- +
- + diff --git a/src/pages/leg/components/leg/leg.component.js b/src/pages/leg/components/leg/leg.component.js index da1d3fe9..05019ae0 100644 --- a/src/pages/leg/components/leg/leg.component.js +++ b/src/pages/leg/components/leg/leg.component.js @@ -108,6 +108,7 @@ module.exports = { this.state.leg = leg; this.state.players = players; + this.input.match = match; this.state.socket.disconnect(); this.state.socket = this.setupSio(leg.id); diff --git a/src/pages/leg/components/leg/leg.marko b/src/pages/leg/components/leg/leg.marko index a5142b33..3d63c23d 100644 --- a/src/pages/leg/components/leg/leg.marko +++ b/src/pages/leg/components/leg/leg.marko @@ -52,7 +52,7 @@ $ const types = require('../../../../components/scorecard/components/match_types - + diff --git a/src/pages/tournament/components/tournament/tournament.component.js b/src/pages/tournament/components/tournament/tournament.component.js index 68298cfc..5546b29d 100644 --- a/src/pages/tournament/components/tournament/tournament.component.js +++ b/src/pages/tournament/components/tournament/tournament.component.js @@ -8,7 +8,7 @@ module.exports = { for (const key in input.matches) { const m = input.matches[key]; matches[key] = m.filter(match => !match.is_bye); - unplayed[key] = m.filter(match => !match.is_finished || match.is_bye); + unplayed[key] = m.filter(match => !match.is_finished); } const matchesMap = Object.values(input.matches).flat().reduce((acc, match) => { acc[match.id] = match; diff --git a/src/pages/tournaments-admin/components/tournaments-admin/tournaments-admin.component.js b/src/pages/tournaments-admin/components/tournaments-admin/tournaments-admin.component.js index bc17e342..4ea1a24f 100644 --- a/src/pages/tournaments-admin/components/tournaments-admin/tournaments-admin.component.js +++ b/src/pages/tournaments-admin/components/tournaments-admin/tournaments-admin.component.js @@ -1,6 +1,7 @@ const _ = require("underscore"); const moment = require('moment'); const axios = require('axios'); +const alertify = require("../../../../util/alertify"); module.exports = { onCreate(input) { @@ -24,7 +25,7 @@ module.exports = { players: input.players, matches: matches, venues: input.venues, - tournamentPreset: input.presets[0] ? input.presets[0].id : -1, + tournamentPreset: input.presets[0] ? input.presets[0] : undefined, playersAvailable: input.players, selected: { group1: [], @@ -37,6 +38,11 @@ module.exports = { }, addPlayer(group, event, selected) { + if (this.state.selected[group].length >= 8) { + alertify.notify(`Max 8 players per group`, 'warning'); + return; + } + const player = selected.input.player; this.state.playersAvailable = _.reject(this.state.playersAvailable, (el) => el.id === player.id ); @@ -57,7 +63,7 @@ module.exports = { this.setStateDirty('playersAvailable'); }, onPresetChange(event) { - this.state.tournamentPreset = event.target.value; + this.state.tournamentPreset = _.find(this.input.presets, (preset) => preset.id === parseInt(event.target.value)); }, tournamentNameChange(event) { @@ -208,7 +214,7 @@ module.exports = { }, generateTournament() { const body = { - preset_id: this.state.tournamentPreset, + preset_id: this.state.tournamentPreset.id, office_id: this.state.office, group1: this.state.selected.group1, group2: this.state.selected.group2 diff --git a/src/pages/tournaments-admin/components/tournaments-admin/tournaments-admin.marko b/src/pages/tournaments-admin/components/tournaments-admin/tournaments-admin.marko index 5b9bfec3..41a875b3 100644 --- a/src/pages/tournaments-admin/components/tournaments-admin/tournaments-admin.marko +++ b/src/pages/tournaments-admin/components/tournaments-admin/tournaments-admin.marko @@ -28,13 +28,13 @@

Tournament Preset

-

Group 1

+

${input.groups[state.tournamentPreset.group1_tournament_group.id].name}

Players @@ -59,7 +59,7 @@
-

Group 2

+

${input.groups[state.tournamentPreset.group2_tournament_group.id].name}

Players @@ -94,7 +94,7 @@ No Presets
-
To generated tournaments, first create a preset
+
To generate tournaments, first create a preset
From 27faa229fd9908cd5e94def8fc41ebcc32b45b38 Mon Sep 17 00:00:00 2001 From: Thord Setsaas Date: Sat, 26 Aug 2023 20:55:52 +0200 Subject: [PATCH 27/34] Initial work on badges --- public/images/badges/100-1.svg | 110 ++ public/images/badges/100-10.svg | 102 ++ public/images/badges/100-100.svg | 101 + public/images/badges/100-50.svg | 95 + public/images/badges/140-1.svg | 102 ++ public/images/badges/140-10.svg | 102 ++ public/images/badges/140-100.svg | 101 + public/images/badges/140-50.svg | 95 + public/images/badges/180-1.svg | 117 ++ public/images/badges/180-10.svg | 91 + public/images/badges/badge_higherscore.svg | 35 - public/images/badges/badge_highscore.svg | 86 - public/images/badges/badge_kcappbacker.svg | 1619 ----------------- public/images/badges/badge_themaximum.svg | 35 - public/images/badges/big_fish.svg | 83 + public/images/badges/bot_beater_easy.svg | 106 ++ public/images/badges/bot_beater_hard.svg | 116 ++ public/images/badges/bot_beater_medium.svg | 111 ++ public/images/badges/bullseye.svg | 120 ++ public/images/badges/double_double.svg | 117 ++ public/images/badges/double_trouble.svg | 117 ++ public/images/badges/getting_crowded.svg | 84 + public/images/badges/globetrotter.svg | 140 ++ public/images/badges/happy_birthday.svg | 79 + public/images/badges/hardly_working.svg | 86 + public/images/badges/hidden.svg | 79 + public/images/badges/its_official.svg | 101 + public/images/badges/kcapp_developer.svg | 86 + public/images/badges/kcapp_supporter.svg | 85 + public/images/badges/mad_house.svg | 76 + public/images/badges/merry_christmas.svg | 136 ++ public/images/badges/party_of_two.svg | 108 ++ public/images/badges/quickie.svg | 84 + public/images/badges/quicky.svg | 84 + public/images/badges/say_my_name.svg | 89 + public/images/badges/tournament_1st.svg | 102 ++ public/images/badges/tournament_2nd.svg | 102 ++ public/images/badges/tournament_3rd.svg | 102 ++ public/images/badges/triple_double.svg | 139 ++ public/images/badges/weekly_player.svg | 86 + public/images/badges/work_from_home.svg | 82 + .../components/badge/badge.component.js | 13 - .../tab-badges/components/badge/badge.marko | 9 +- .../components/badge/badge.style.less | 2 +- .../tab-badges/tab-badges.component.js | 1 - .../components/tab-badges/tab-badges.marko | 21 +- .../tab-badges/tab-badges.style.less | 2 +- .../components/player/player.style.less | 1 + .../players-table/players-table.marko | 2 +- .../players-table/players-table.style.less | 2 +- 50 files changed, 3739 insertions(+), 1805 deletions(-) create mode 100644 public/images/badges/100-1.svg create mode 100644 public/images/badges/100-10.svg create mode 100644 public/images/badges/100-100.svg create mode 100644 public/images/badges/100-50.svg create mode 100644 public/images/badges/140-1.svg create mode 100644 public/images/badges/140-10.svg create mode 100644 public/images/badges/140-100.svg create mode 100644 public/images/badges/140-50.svg create mode 100644 public/images/badges/180-1.svg create mode 100644 public/images/badges/180-10.svg delete mode 100644 public/images/badges/badge_higherscore.svg delete mode 100644 public/images/badges/badge_highscore.svg delete mode 100644 public/images/badges/badge_kcappbacker.svg delete mode 100644 public/images/badges/badge_themaximum.svg create mode 100644 public/images/badges/big_fish.svg create mode 100644 public/images/badges/bot_beater_easy.svg create mode 100644 public/images/badges/bot_beater_hard.svg create mode 100644 public/images/badges/bot_beater_medium.svg create mode 100644 public/images/badges/bullseye.svg create mode 100644 public/images/badges/double_double.svg create mode 100644 public/images/badges/double_trouble.svg create mode 100644 public/images/badges/getting_crowded.svg create mode 100644 public/images/badges/globetrotter.svg create mode 100644 public/images/badges/happy_birthday.svg create mode 100644 public/images/badges/hardly_working.svg create mode 100644 public/images/badges/hidden.svg create mode 100644 public/images/badges/its_official.svg create mode 100644 public/images/badges/kcapp_developer.svg create mode 100644 public/images/badges/kcapp_supporter.svg create mode 100644 public/images/badges/mad_house.svg create mode 100644 public/images/badges/merry_christmas.svg create mode 100644 public/images/badges/party_of_two.svg create mode 100644 public/images/badges/quickie.svg create mode 100644 public/images/badges/quicky.svg create mode 100644 public/images/badges/say_my_name.svg create mode 100644 public/images/badges/tournament_1st.svg create mode 100644 public/images/badges/tournament_2nd.svg create mode 100644 public/images/badges/tournament_3rd.svg create mode 100644 public/images/badges/triple_double.svg create mode 100644 public/images/badges/weekly_player.svg create mode 100644 public/images/badges/work_from_home.svg diff --git a/public/images/badges/100-1.svg b/public/images/badges/100-1.svg new file mode 100644 index 00000000..76117c58 --- /dev/null +++ b/public/images/badges/100-1.svg @@ -0,0 +1,110 @@ + + + +100+ diff --git a/public/images/badges/100-10.svg b/public/images/badges/100-10.svg new file mode 100644 index 00000000..4a8aab7d --- /dev/null +++ b/public/images/badges/100-10.svg @@ -0,0 +1,102 @@ + + + + + + + + + + + 100 + + + + diff --git a/public/images/badges/100-100.svg b/public/images/badges/100-100.svg new file mode 100644 index 00000000..78fd5e50 --- /dev/null +++ b/public/images/badges/100-100.svg @@ -0,0 +1,101 @@ + + + + + + + + + + 100 + + + + + + diff --git a/public/images/badges/100-50.svg b/public/images/badges/100-50.svg new file mode 100644 index 00000000..b119ef53 --- /dev/null +++ b/public/images/badges/100-50.svg @@ -0,0 +1,95 @@ + + + + + + + + + + 100 + + + + + diff --git a/public/images/badges/140-1.svg b/public/images/badges/140-1.svg new file mode 100644 index 00000000..40ccc6fa --- /dev/null +++ b/public/images/badges/140-1.svg @@ -0,0 +1,102 @@ + + + +140+ diff --git a/public/images/badges/140-10.svg b/public/images/badges/140-10.svg new file mode 100644 index 00000000..f06a8657 --- /dev/null +++ b/public/images/badges/140-10.svg @@ -0,0 +1,102 @@ + + + + + + + + + + + 140 + + + + diff --git a/public/images/badges/140-100.svg b/public/images/badges/140-100.svg new file mode 100644 index 00000000..d7e1f243 --- /dev/null +++ b/public/images/badges/140-100.svg @@ -0,0 +1,101 @@ + + + + + + + + + + 140 + + + + + + diff --git a/public/images/badges/140-50.svg b/public/images/badges/140-50.svg new file mode 100644 index 00000000..8f6a2835 --- /dev/null +++ b/public/images/badges/140-50.svg @@ -0,0 +1,95 @@ + + + + + + + + + + 140 + + + + + diff --git a/public/images/badges/180-1.svg b/public/images/badges/180-1.svg new file mode 100644 index 00000000..d7b949ec --- /dev/null +++ b/public/images/badges/180-1.svg @@ -0,0 +1,117 @@ + + + +180 diff --git a/public/images/badges/180-10.svg b/public/images/badges/180-10.svg new file mode 100644 index 00000000..fdcb67c1 --- /dev/null +++ b/public/images/badges/180-10.svg @@ -0,0 +1,91 @@ + + + + + + + + + + 180 + + + diff --git a/public/images/badges/badge_higherscore.svg b/public/images/badges/badge_higherscore.svg deleted file mode 100644 index a43c021f..00000000 --- a/public/images/badges/badge_higherscore.svg +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - -
140+
-
- - - - - - - - - - -
Higher Score
-
- - - - - - - - - -
diff --git a/public/images/badges/badge_highscore.svg b/public/images/badges/badge_highscore.svg deleted file mode 100644 index 3099d41f..00000000 --- a/public/images/badges/badge_highscore.svg +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
100+
-
- -
High Score
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
\ No newline at end of file diff --git a/public/images/badges/badge_kcappbacker.svg b/public/images/badges/badge_kcappbacker.svg deleted file mode 100644 index 86c28d7f..00000000 --- a/public/images/badges/badge_kcappbacker.svg +++ /dev/null @@ -1,1619 +0,0 @@ - - - - - - -
- - - - - - - - - - -
kcapp backer
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/public/images/badges/badge_themaximum.svg b/public/images/badges/badge_themaximum.svg deleted file mode 100644 index 1c4e850e..00000000 --- a/public/images/badges/badge_themaximum.svg +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - -
180
-
- - - - - - - - - - -
The Maximum
-
- - - - - - - - - -
diff --git a/public/images/badges/big_fish.svg b/public/images/badges/big_fish.svg new file mode 100644 index 00000000..8ac0c7dc --- /dev/null +++ b/public/images/badges/big_fish.svg @@ -0,0 +1,83 @@ + + + + diff --git a/public/images/badges/bot_beater_easy.svg b/public/images/badges/bot_beater_easy.svg new file mode 100644 index 00000000..d82faa2f --- /dev/null +++ b/public/images/badges/bot_beater_easy.svg @@ -0,0 +1,106 @@ + + + + diff --git a/public/images/badges/bot_beater_hard.svg b/public/images/badges/bot_beater_hard.svg new file mode 100644 index 00000000..d38abe26 --- /dev/null +++ b/public/images/badges/bot_beater_hard.svg @@ -0,0 +1,116 @@ + + + + diff --git a/public/images/badges/bot_beater_medium.svg b/public/images/badges/bot_beater_medium.svg new file mode 100644 index 00000000..802ab45e --- /dev/null +++ b/public/images/badges/bot_beater_medium.svg @@ -0,0 +1,111 @@ + + + + diff --git a/public/images/badges/bullseye.svg b/public/images/badges/bullseye.svg new file mode 100644 index 00000000..622455cd --- /dev/null +++ b/public/images/badges/bullseye.svg @@ -0,0 +1,120 @@ + + + + diff --git a/public/images/badges/double_double.svg b/public/images/badges/double_double.svg new file mode 100644 index 00000000..7f5b729d --- /dev/null +++ b/public/images/badges/double_double.svg @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/public/images/badges/double_trouble.svg b/public/images/badges/double_trouble.svg new file mode 100644 index 00000000..7f5b729d --- /dev/null +++ b/public/images/badges/double_trouble.svg @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/public/images/badges/getting_crowded.svg b/public/images/badges/getting_crowded.svg new file mode 100644 index 00000000..10379e97 --- /dev/null +++ b/public/images/badges/getting_crowded.svg @@ -0,0 +1,84 @@ + + + + diff --git a/public/images/badges/globetrotter.svg b/public/images/badges/globetrotter.svg new file mode 100644 index 00000000..2e764171 --- /dev/null +++ b/public/images/badges/globetrotter.svg @@ -0,0 +1,140 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/images/badges/happy_birthday.svg b/public/images/badges/happy_birthday.svg new file mode 100644 index 00000000..2409deac --- /dev/null +++ b/public/images/badges/happy_birthday.svg @@ -0,0 +1,79 @@ + + + + diff --git a/public/images/badges/hardly_working.svg b/public/images/badges/hardly_working.svg new file mode 100644 index 00000000..1f149427 --- /dev/null +++ b/public/images/badges/hardly_working.svg @@ -0,0 +1,86 @@ + + + + diff --git a/public/images/badges/hidden.svg b/public/images/badges/hidden.svg new file mode 100644 index 00000000..022a0150 --- /dev/null +++ b/public/images/badges/hidden.svg @@ -0,0 +1,79 @@ + + + + diff --git a/public/images/badges/its_official.svg b/public/images/badges/its_official.svg new file mode 100644 index 00000000..2067c1ce --- /dev/null +++ b/public/images/badges/its_official.svg @@ -0,0 +1,101 @@ + + + + diff --git a/public/images/badges/kcapp_developer.svg b/public/images/badges/kcapp_developer.svg new file mode 100644 index 00000000..cd46a575 --- /dev/null +++ b/public/images/badges/kcapp_developer.svg @@ -0,0 +1,86 @@ + + + + diff --git a/public/images/badges/kcapp_supporter.svg b/public/images/badges/kcapp_supporter.svg new file mode 100644 index 00000000..6dd0d438 --- /dev/null +++ b/public/images/badges/kcapp_supporter.svg @@ -0,0 +1,85 @@ + + + + + + + + + + + + + + + + diff --git a/public/images/badges/mad_house.svg b/public/images/badges/mad_house.svg new file mode 100644 index 00000000..6c7a9a6c --- /dev/null +++ b/public/images/badges/mad_house.svg @@ -0,0 +1,76 @@ + + + + diff --git a/public/images/badges/merry_christmas.svg b/public/images/badges/merry_christmas.svg new file mode 100644 index 00000000..fd8403ba --- /dev/null +++ b/public/images/badges/merry_christmas.svg @@ -0,0 +1,136 @@ + + + + + + + + + + + + + + + + diff --git a/public/images/badges/party_of_two.svg b/public/images/badges/party_of_two.svg new file mode 100644 index 00000000..f909647a --- /dev/null +++ b/public/images/badges/party_of_two.svg @@ -0,0 +1,108 @@ + + + + diff --git a/public/images/badges/quickie.svg b/public/images/badges/quickie.svg new file mode 100644 index 00000000..58de4119 --- /dev/null +++ b/public/images/badges/quickie.svg @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + diff --git a/public/images/badges/quicky.svg b/public/images/badges/quicky.svg new file mode 100644 index 00000000..58de4119 --- /dev/null +++ b/public/images/badges/quicky.svg @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + diff --git a/public/images/badges/say_my_name.svg b/public/images/badges/say_my_name.svg new file mode 100644 index 00000000..74b32dfd --- /dev/null +++ b/public/images/badges/say_my_name.svg @@ -0,0 +1,89 @@ + + + + diff --git a/public/images/badges/tournament_1st.svg b/public/images/badges/tournament_1st.svg new file mode 100644 index 00000000..bbdc1fae --- /dev/null +++ b/public/images/badges/tournament_1st.svg @@ -0,0 +1,102 @@ + + + +1 diff --git a/public/images/badges/tournament_2nd.svg b/public/images/badges/tournament_2nd.svg new file mode 100644 index 00000000..6793566f --- /dev/null +++ b/public/images/badges/tournament_2nd.svg @@ -0,0 +1,102 @@ + + + +2 diff --git a/public/images/badges/tournament_3rd.svg b/public/images/badges/tournament_3rd.svg new file mode 100644 index 00000000..e390925a --- /dev/null +++ b/public/images/badges/tournament_3rd.svg @@ -0,0 +1,102 @@ + + + +3 diff --git a/public/images/badges/triple_double.svg b/public/images/badges/triple_double.svg new file mode 100644 index 00000000..aca9d381 --- /dev/null +++ b/public/images/badges/triple_double.svg @@ -0,0 +1,139 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/images/badges/weekly_player.svg b/public/images/badges/weekly_player.svg new file mode 100644 index 00000000..5bd3a808 --- /dev/null +++ b/public/images/badges/weekly_player.svg @@ -0,0 +1,86 @@ + + + + diff --git a/public/images/badges/work_from_home.svg b/public/images/badges/work_from_home.svg new file mode 100644 index 00000000..96e39929 --- /dev/null +++ b/public/images/badges/work_from_home.svg @@ -0,0 +1,82 @@ + + + + diff --git a/src/pages/player/components/player/components/tab-badges/components/badge/badge.component.js b/src/pages/player/components/player/components/tab-badges/components/badge/badge.component.js index 62a1e5c6..5154b8bb 100644 --- a/src/pages/player/components/player/components/tab-badges/components/badge/badge.component.js +++ b/src/pages/player/components/player/components/tab-badges/components/badge/badge.component.js @@ -3,18 +3,5 @@ module.exports = { this.state = { id: input.image.substring(input.image.lastIndexOf('/') + 1, input.image.lastIndexOf('.')) } - }, - onMount() { - if (this.state.id === 'badge_highscore') { - for (let i = 2; i < 8; i++) { - setTimeout(() => { - const svg = document.getElementById(this.state.id).getSVGDocument(); - for (let j = 2; j < 8; j++) { - svg.getElementById(`level${j}`).style.visibility = 'hidden'; - } - svg.getElementById(`level${i}`).style.visibility = 'visible'; - }, 2000 + (i * 1000)); - } - } } } \ No newline at end of file diff --git a/src/pages/player/components/player/components/tab-badges/components/badge/badge.marko b/src/pages/player/components/player/components/tab-badges/components/badge/badge.marko index f132a191..70184e6f 100644 --- a/src/pages/player/components/player/components/tab-badges/components/badge/badge.marko +++ b/src/pages/player/components/player/components/tab-badges/components/badge/badge.marko @@ -1,8 +1,9 @@ $ let aquired = input.aquired; -
- -
${input.name}
-
+
+ $ let clazz = aquired ? '' : 'not-aquired'; + +
${input.name}
+

${input.description}

\ No newline at end of file diff --git a/src/pages/player/components/player/components/tab-badges/components/badge/badge.style.less b/src/pages/player/components/player/components/tab-badges/components/badge/badge.style.less index 871b462c..48ea50c2 100644 --- a/src/pages/player/components/player/components/tab-badges/components/badge/badge.style.less +++ b/src/pages/player/components/player/components/tab-badges/components/badge/badge.style.less @@ -9,7 +9,7 @@ } .badge-name { - font-size: 2em !important; + font-size: 1.4em !important; text-align: center; } .badge-description { diff --git a/src/pages/player/components/player/components/tab-badges/tab-badges.component.js b/src/pages/player/components/player/components/tab-badges/tab-badges.component.js index 74b2e85e..74755052 100644 --- a/src/pages/player/components/player/components/tab-badges/tab-badges.component.js +++ b/src/pages/player/components/player/components/tab-badges/tab-badges.component.js @@ -5,7 +5,6 @@ module.exports = { input.player_badges.map(badge => badgeMap[badge.badge.id].aquired = true); const badges = Object.values(badgeMap); - badges.pop(); this.state = { badges: badges } diff --git a/src/pages/player/components/player/components/tab-badges/tab-badges.marko b/src/pages/player/components/player/components/tab-badges/tab-badges.marko index 4bd1f54f..b84459bc 100644 --- a/src/pages/player/components/player/components/tab-badges/tab-badges.marko +++ b/src/pages/player/components/player/components/tab-badges/tab-badges.marko @@ -1,9 +1,14 @@ - - - - - -
- -
\ No newline at end of file + +
+ +
diff --git a/src/pages/player/components/player/components/tab-badges/tab-badges.style.less b/src/pages/player/components/player/components/tab-badges/tab-badges.style.less index 2d0b0ef8..9911ae90 100644 --- a/src/pages/player/components/player/components/tab-badges/tab-badges.style.less +++ b/src/pages/player/components/player/components/tab-badges/tab-badges.style.less @@ -4,6 +4,6 @@ } .not-aquired { - opacity: 30%; + opacity: 15%; } diff --git a/src/pages/player/components/player/player.style.less b/src/pages/player/components/player/player.style.less index a3043fa8..23c4786d 100644 --- a/src/pages/player/components/player/player.style.less +++ b/src/pages/player/components/player/player.style.less @@ -10,6 +10,7 @@ .player-profile-menu { .float-left; width: 200px; + min-width: 170px; height: 100%; margin-right: 10px; div:last-child { diff --git a/src/pages/players/components/players-table/players-table.marko b/src/pages/players/components/players-table/players-table.marko index 6eb0d5ce..492a9b29 100644 --- a/src/pages/players/components/players-table/players-table.marko +++ b/src/pages/players/components/players-table/players-table.marko @@ -25,7 +25,7 @@ $ var displayName = player.first_name + (player.nickname ? ' "' + player.nickname + '"' : "") + (player.last_name ? " " + player.last_name : ""); - ${displayName} + ${displayName} ${input.offices[player.office_id].name} ${player.matches_played} diff --git a/src/pages/players/components/players-table/players-table.style.less b/src/pages/players/components/players-table/players-table.style.less index d7302b5d..8fec6e16 100644 --- a/src/pages/players/components/players-table/players-table.style.less +++ b/src/pages/players/components/players-table/players-table.style.less @@ -49,5 +49,5 @@ table { } .badge-thumbnail:hover { - transform: scale(5); + transform: scale(2); } \ No newline at end of file From 96ea37ccbcf0f1e48a1aa0bf689c98b17408aaaa Mon Sep 17 00:00:00 2001 From: Thord Setsaas Date: Tue, 29 Aug 2023 21:43:39 +0200 Subject: [PATCH 28/34] Added option to add player to tournament --- routes/tournaments.js | 19 +++++++++- .../add-player-form.component.js | 34 +++++++++++++++++ .../add-player-form/add-player-form.marko | 38 +++++++++++++++++++ .../options-panel/options-panel.marko | 8 +++- .../tournament/tournament.component.js | 8 +++- .../components/tournament/tournament.marko | 3 +- 6 files changed, 105 insertions(+), 5 deletions(-) create mode 100644 src/pages/tournament/components/tournament/components/add-player-form/add-player-form.component.js create mode 100644 src/pages/tournament/components/tournament/components/add-player-form/add-player-form.marko diff --git a/routes/tournaments.js b/routes/tournaments.js index e0948906..81060360 100644 --- a/routes/tournaments.js +++ b/routes/tournaments.js @@ -11,6 +11,7 @@ const _ = require('underscore'); const bracket = require('./lib/bracket_generator'); const moment = require('moment'); +const types = require('../src/components/scorecard/components/match_types'); const template = require('marko'); const tournamentTemplate = template.load(require.resolve('../src/pages/tournament/tournament-template.marko')); const tournamentsTemplate = template.load(require.resolve('../src/pages/tournaments/tournaments-template.marko')); @@ -178,7 +179,8 @@ router.post('/admin', function (req, res, next) { }, players: [match[3].id, match[4].id], legs: [{ - starting_score: group.score + starting_score: group.score, + parameters: { outshot_type: { id: types.OUTSHOT_DOUBLE } } }], tournament_id: tournament.id, office_id: req.body.office_id @@ -268,6 +270,21 @@ router.post('/admin/groups', function (req, res, next) { }); }); +/* Add a player to tournament */ +router.post('/:id/player', function (req, res, next) { + axios.post(`${req.app.locals.kcapp.api}/tournament/${req.params.id}/player`, req.body) + .then(response => { + const matches = response.data; + for (const match of matches) { + this.socketHandler.setupLegsNamespace(match.current_leg_id); + } + res.end(); + }).catch(error => { + debug(`Error when adding player to tournament: ${error}`); + next(error); + }); +}); + /* Get tournament with the given ID */ router.get('/:id', function (req, res, next) { diff --git a/src/pages/tournament/components/tournament/components/add-player-form/add-player-form.component.js b/src/pages/tournament/components/tournament/components/add-player-form/add-player-form.component.js new file mode 100644 index 00000000..13f7ab09 --- /dev/null +++ b/src/pages/tournament/components/tournament/components/add-player-form/add-player-form.component.js @@ -0,0 +1,34 @@ +const axios = require('axios'); +const _ = require('underscore'); + +module.exports = { + onCreate(input) { + const existingPlayers = Object.values(input.overview).flat().map(player => player.player_id); + const players = _.sortBy(input.players, 'name') + .filter(player => player.office_id === input.officeId) + .filter(player => !existingPlayers.includes(player.id)) + .filter(player => !player.is_placeholder) + .filter(player => !player.is_bot); + this.state = { + players: players, + playerID: players[0].id, + groupID: input.groups[0].id + } + }, + onPlayerChange(event) { + this.state.playerID = parseInt(event.target.value); + }, + onGroupChange(event) { + this.state.groupID = parseInt(event.target.value); + }, + addPlayer(event) { + const body = { tournament_group_id: this.state.groupID, player_id: this.state.playerID }; + axios.post(`${window.location.origin}/tournaments/${this.input.tournamentId}/player`, body) + .then(response => { + location.reload(); + }).catch(error => { + console.log(error); + }); + event.preventDefault(); + } +} \ No newline at end of file diff --git a/src/pages/tournament/components/tournament/components/add-player-form/add-player-form.marko b/src/pages/tournament/components/tournament/components/add-player-form/add-player-form.marko new file mode 100644 index 00000000..83787eba --- /dev/null +++ b/src/pages/tournament/components/tournament/components/add-player-form/add-player-form.marko @@ -0,0 +1,38 @@ + \ No newline at end of file diff --git a/src/pages/tournament/components/tournament/components/options-panel/options-panel.marko b/src/pages/tournament/components/tournament/components/options-panel/options-panel.marko index f441d39c..bf0ba67f 100644 --- a/src/pages/tournament/components/tournament/components/options-panel/options-panel.marko +++ b/src/pages/tournament/components/tournament/components/options-panel/options-panel.marko @@ -3,8 +3,12 @@ Options
- + +
diff --git a/src/pages/tournament/components/tournament/tournament.component.js b/src/pages/tournament/components/tournament/tournament.component.js index 5546b29d..3f33876b 100644 --- a/src/pages/tournament/components/tournament/tournament.component.js +++ b/src/pages/tournament/components/tournament/tournament.component.js @@ -10,6 +10,11 @@ module.exports = { matches[key] = m.filter(match => !match.is_bye); unplayed[key] = m.filter(match => !match.is_finished); } + const groups = new Set(); + for (const key in input.overview) { + const g = input.overview[key]; + groups.add(g[0].tournament_group); + } const matchesMap = Object.values(input.matches).flat().reduce((acc, match) => { acc[match.id] = match; return acc; @@ -18,7 +23,8 @@ module.exports = { hasStatistics: !_.isEmpty(input.statistics.best_three_dart_avg), matches: matches, matchesMap: matchesMap, - unplayed: unplayed + unplayed: unplayed, + groups: Array.from(groups) } }, diff --git a/src/pages/tournament/components/tournament/tournament.marko b/src/pages/tournament/components/tournament/tournament.marko index cefc7377..aa3df2fa 100644 --- a/src/pages/tournament/components/tournament/tournament.marko +++ b/src/pages/tournament/components/tournament/tournament.marko @@ -194,4 +194,5 @@ $ {
- \ No newline at end of file + + \ No newline at end of file From a82b0d55e5aa6db7d5bfcf2af36646f2ad3a11f5 Mon Sep 17 00:00:00 2001 From: Thord Setsaas Date: Sun, 3 Sep 2023 14:46:00 +0200 Subject: [PATCH 29/34] Some improvements to tournament generation --- routes/tournaments.js | 5 +- .../tournament/tournament.component.js | 7 + .../components/tournament/tournament.marko | 16 +- .../tournament/tournament-template.marko | 3 +- .../create-tournament-tab.component.js | 176 ++++++++++++++ .../create-tournament-tab.marko | 107 +++++++++ .../add-player/add-player.component.js | 11 + .../components/add-player/add-player.marko | 38 +++ .../generate-tournament-tab.component.js | 96 ++++++++ .../generate-tournament-tab.marko | 63 +++++ .../tournaments-admin.component.js | 223 ------------------ .../tournaments-admin/tournaments-admin.marko | 199 +--------------- 12 files changed, 516 insertions(+), 428 deletions(-) create mode 100644 src/pages/tournaments-admin/components/tournaments-admin/components/create-tournament-tab/create-tournament-tab.component.js create mode 100644 src/pages/tournaments-admin/components/tournaments-admin/components/create-tournament-tab/create-tournament-tab.marko create mode 100644 src/pages/tournaments-admin/components/tournaments-admin/components/generate-tournament-tab/components/add-player/add-player.component.js create mode 100644 src/pages/tournaments-admin/components/tournaments-admin/components/generate-tournament-tab/components/add-player/add-player.marko create mode 100644 src/pages/tournaments-admin/components/tournaments-admin/components/generate-tournament-tab/generate-tournament-tab.component.js create mode 100644 src/pages/tournaments-admin/components/tournaments-admin/components/generate-tournament-tab/generate-tournament-tab.marko diff --git a/routes/tournaments.js b/routes/tournaments.js index 81060360..bbf1e6f4 100644 --- a/routes/tournaments.js +++ b/routes/tournaments.js @@ -285,7 +285,6 @@ router.post('/:id/player', function (req, res, next) { }); }); - /* Get tournament with the given ID */ router.get('/:id', function (req, res, next) { axios.all([ @@ -322,13 +321,15 @@ router.get('/:id', function (req, res, next) { axios.get(`${req.app.locals.kcapp.api}/tournament/${tournament.playoffs_tournament_id}/matches`), axios.get(`${req.app.locals.kcapp.api}/tournament/${tournament.playoffs_tournament_id}/metadata`) ]).then(axios.spread((matchesResponse, metadataResponse) => { - bracket.generate(tournament, metadataResponse.data, matchesResponse.data, players, '', (err, brackets) => { + const playoffsMatches = matchesResponse.data; + bracket.generate(tournament, metadataResponse.data, playoffsMatches, players, '', (err, brackets) => { res.marko(tournamentTemplate, { brackets: brackets, tournament: tournament, overview: overview, players: players, matches: matches, + playoffs_matches: playoffsMatches, statistics: statistics }); }); diff --git a/src/pages/tournament/components/tournament/tournament.component.js b/src/pages/tournament/components/tournament/tournament.component.js index 3f33876b..94899f2a 100644 --- a/src/pages/tournament/components/tournament/tournament.component.js +++ b/src/pages/tournament/components/tournament/tournament.component.js @@ -19,6 +19,13 @@ module.exports = { acc[match.id] = match; return acc; }, {}); + // Add all playoffs matches + if (input.playoffsMatches) { + Object.assign(matchesMap, Object.values(input.playoffsMatches).flat().reduce((acc, match) => { + acc[match.id] = match; + return acc; + }, {})); + } this.state = { hasStatistics: !_.isEmpty(input.statistics.best_three_dart_avg), matches: matches, diff --git a/src/pages/tournament/components/tournament/tournament.marko b/src/pages/tournament/components/tournament/tournament.marko index aa3df2fa..b565935c 100644 --- a/src/pages/tournament/components/tournament/tournament.marko +++ b/src/pages/tournament/components/tournament/tournament.marko @@ -3,7 +3,9 @@ $ { if (state.hasStatistics) { tabs.push({ name: "Statistics", href: "statistics" }); } - tabs.push({ name: "Bracket", href: "bracket" }); + if(Object.keys(input.brackets).length !== 0) { + tabs.push({ name: "Bracket", href: "bracket" }); + } if (input.tournament.standings) { tabs.push({ name: "Final Standings", href: "standings" }); } @@ -160,11 +162,13 @@ $ { -
- - $!{bracket} - -
+ +
+ + $!{bracket} + +
+
diff --git a/src/pages/tournament/tournament-template.marko b/src/pages/tournament/tournament-template.marko index 0f24d1dd..e0cf2d67 100644 --- a/src/pages/tournament/tournament-template.marko +++ b/src/pages/tournament/tournament-template.marko @@ -2,6 +2,7 @@ import Layout from "../layout.marko" <${Layout}> <@body> - + diff --git a/src/pages/tournaments-admin/components/tournaments-admin/components/create-tournament-tab/create-tournament-tab.component.js b/src/pages/tournaments-admin/components/tournaments-admin/components/create-tournament-tab/create-tournament-tab.component.js new file mode 100644 index 00000000..e728a5fa --- /dev/null +++ b/src/pages/tournaments-admin/components/tournaments-admin/components/create-tournament-tab/create-tournament-tab.component.js @@ -0,0 +1,176 @@ +const _ = require("underscore"); +const moment = require('moment'); +const axios = require('axios'); + +module.exports = { + onCreate(input) { + const matches = []; + for (let i = 0; i < 1; i++) { + const match = []; + for (let j = 0; j < 5; j++) { + match.push({ value: "", valid: false }); + } + matches.push(match); + } + + this.state = { + tournamentName: "", + shortName: "", + start: moment().format("YYYY-MM-DDT16:00:00"), + end: moment().format("YYYY-MM-DDT21:00:00"), + office: Object.values(input.offices)[0].id, + venue: 1, + groups: [{ id: 1, score: 301, mode: 1, type: 1 }], + players: input.players, + matches: matches, + venues: input.venues + } + }, + onMount() { + this.officeChange({ target: { value: this.state.office } }); + }, + tournamentNameChange(event) { + this.state.tournamentName = event.target.value; + }, + shortNameChange(event) { + this.state.shortName = event.target.value; + }, + startDateChange(event) { + this.state.start = event.target.value; + }, + endDateChange(event) { + this.state.end = event.target.value; + }, + officeChange(event) { + this.state.office = parseInt(event.target.value); + this.state.venues = _.reject(this.input.venues, (venue) => { + return venue.office_id != this.state.office ; + }); + this.setStateDirty("venues"); + if (this.state.venues.length > 0) { + this.venueChange({ target: { value: this.state.venues[0].id } }); + } else { + this.venueChange({ target: { value: -1 } }); + } + this.state.playersAvailable = _.reject(this.input.players, (player) => player.office_id !== this.state.office ); + this.setStateDirty('playersAvailable'); + }, + venueChange(event) { + this.state.venue = parseInt(event.target.value); + }, + groupChange(event) { + this.state.groups[event.target.attributes.idx.value].id = parseInt(event.target.value); + this.setStateDirty("groups"); + }, + scoreChange(event) { + this.state.groups[event.target.attributes.idx.value].score = parseInt(event.target.value); + this.setStateDirty("groups"); + }, + typeChange(event) { + this.state.groups[event.target.attributes.idx.value].type = parseInt(event.target.value); + this.setStateDirty("groups"); + }, + modeChange(event) { + this.state.groups[event.target.attributes.idx.value].mode = parseInt(event.target.value); + this.setStateDirty("groups"); + }, + addGroup() { + this.state.groups.push({ id: 1, score: 301, mode: 1, type: 1 }); + this.setStateDirty("groups"); + }, + removeGroup() { + if (this.state.groups.length > 1) { + this.state.groups.splice(-1, 1); + } + this.setStateDirty("groups"); + }, + onPaste(e) { + let clipboardData; + + e.stopPropagation(); + e.preventDefault(); + + clipboardData = e.clipboardData || window.clipboardData; + const text = clipboardData.getData('Text'); + + const lines = text.split(/\n/); + const matches = []; + for (let i = 0; i < lines.length; i++) { + const match = []; + for (let j = 0; j < 5; j++) { + match.push({ value: "", valid: false }); + } + matches.push(match); + } + console.log(matches) + for (let i = 0; i < lines.length; i++) { + const line = lines[i]; + + const fields = line.split(/,|\t/); + for (let j = 0; j < fields.length; j++) { + const field = fields[j]; + matches[i][j].value = field; + } + } + this.state.matches = matches; + this.setStateDirty("matches"); + + this.validate(); + }, + validate() { + this.state.shortName = this.state.shortName.substring(0, 4); + const matches = this.state.matches; + + for (let i = 0; i < matches.length; i++) { + let match = matches[i]; + + const date = moment(match[0].value); + if (date.isValid()) { + match[0].valid = true; + } + + const time = /[0-9][0-9]:[0-9][0-9]/.test(match[1].value); + if (time) { + match[1].valid = true; + } + + const group = _.filter(this.input.groups, (group) => { return group.name == match[2].value; }); + if (group.length === 1) { + match[2].id = group[0].id; + match[2].valid = true; + } + + const home = _.filter(this.state.players, (player) => { return player.name == match[3].value; }); + if (home.length === 1) { + match[3].id = home[0].id; + match[3].valid = true; + } + + const away = _.filter(this.state.players, (player) => { return player.name == match[4].value.trim(); }); + if (away.length === 1) { + match[4].id = away[0].id; + match[4].valid = true; + } + } + this.setStateDirty("matches"); + }, + createTournament() { + const body = { + name: this.state.tournamentName, + short_name: this.state.shortName, + start: moment(this.state.start).format("yyyy-MM-hhTHH:mm:ssZ"), + end: moment(this.state.end).format("yyyy-MM-hhTHH:mm:ssZ"), + office_id: this.state.office, + venue_id: this.state.venue, + groups: this.state.groups, + matches: this.state.matches + } + axios.post(window.location.origin + '/tournaments/admin', body) + .then(response => { + location.href = window.location.origin + '/tournaments'; + }).catch(error => { + alert("Unable to create tournament. See log for details"); + console.log(error); + }); + } +} \ No newline at end of file diff --git a/src/pages/tournaments-admin/components/tournaments-admin/components/create-tournament-tab/create-tournament-tab.marko b/src/pages/tournaments-admin/components/tournaments-admin/components/create-tournament-tab/create-tournament-tab.marko new file mode 100644 index 00000000..ffa1e558 --- /dev/null +++ b/src/pages/tournaments-admin/components/tournaments-admin/components/create-tournament-tab/create-tournament-tab.marko @@ -0,0 +1,107 @@ +
+
+
+ + Settings +
+
+

Name

+ +

Short Name

+ +

Start

+ +

End

+ +

Office

+ +

Venue

+ +
+
+

Groups

+ + + + + + + + + + + + + + + + + + + +
NameStarting ScoreTypeMode
+ + + + + + +
+ + +

Matches

+ + + + + + + + + + + + + + + + + + + + + +
DateTimeGroupHome PlayerAway Player
+ + + + + + + + + +
+ + +
\ No newline at end of file diff --git a/src/pages/tournaments-admin/components/tournaments-admin/components/generate-tournament-tab/components/add-player/add-player.component.js b/src/pages/tournaments-admin/components/tournaments-admin/components/generate-tournament-tab/components/add-player/add-player.component.js new file mode 100644 index 00000000..6ad93874 --- /dev/null +++ b/src/pages/tournaments-admin/components/tournaments-admin/components/generate-tournament-tab/components/add-player/add-player.component.js @@ -0,0 +1,11 @@ +module.exports = { + addPlayer(event, selected) { + this.emit('add-player', selected.input.player); + }, + removePlayer(event, selected) { + this.emit('remove-player', selected.input.player); + }, + removeGroup(event) { + this.emit('remove-group'); + } +} \ No newline at end of file diff --git a/src/pages/tournaments-admin/components/tournaments-admin/components/generate-tournament-tab/components/add-player/add-player.marko b/src/pages/tournaments-admin/components/tournaments-admin/components/generate-tournament-tab/components/add-player/add-player.marko new file mode 100644 index 00000000..bc83092f --- /dev/null +++ b/src/pages/tournaments-admin/components/tournaments-admin/components/generate-tournament-tab/components/add-player/add-player.marko @@ -0,0 +1,38 @@ +$ const types = require('../../../../../../../../components/scorecard/components/match_types') +
+ +

${input.name}

+ + +
+ + +
+
+
+ + Players +
+
+
+ + + +
+
+
+ + Select players +
+
+
+ + + +
+
+
\ No newline at end of file diff --git a/src/pages/tournaments-admin/components/tournaments-admin/components/generate-tournament-tab/generate-tournament-tab.component.js b/src/pages/tournaments-admin/components/tournaments-admin/components/generate-tournament-tab/generate-tournament-tab.component.js new file mode 100644 index 00000000..a37d0cb1 --- /dev/null +++ b/src/pages/tournaments-admin/components/tournaments-admin/components/generate-tournament-tab/generate-tournament-tab.component.js @@ -0,0 +1,96 @@ +const _ = require("underscore"); +const moment = require('moment'); +const axios = require('axios'); +const alertify = require("../../../../../../util/alertify"); + +module.exports = { + onCreate(input) { + const matches = []; + for (let i = 0; i < 1; i++) { + const match = []; + for (let j = 0; j < 5; j++) { + match.push({ value: "", valid: false }); + } + matches.push(match); + } + const preset = input.presets[0]; + const groupsAvailable = Object.values(input.groups).filter(group => group.id !== preset.group1_tournament_group.id && group.id !== preset.group2_tournament_group.id); + this.state = { + office: Object.values(input.offices)[0].id, + players: input.players, + matches: matches, + venues: input.venues, + tournamentPreset: preset ? preset : undefined, + playersAvailable: input.players, + groupsAvailable: groupsAvailable, + selected: { + group1: [], + group2: [] + } + } + }, + onMount() { + this.onOfficeChange({ target: { value: this.state.office } }); + }, + + onAddPlayer(group, player) { + if (this.state.selected[group].length >= 8) { + alertify.notify(`Max 8 players per group`, 'warning'); + return; + } + this.state.playersAvailable = _.reject(this.state.playersAvailable, (el) => el.id === player.id ); + this.setStateDirty('playersAvailable'); + + this.state.selected[group].push(player); + this.setStateDirty(`selected[${group}]`); + }, + + onRemovePlayer(group, player) { + this.state.selected[group] = _.reject(this.state.selected[group], (el) => el.id === player.id ); + this.setStateDirty(`selected[${group}]`); + + this.state.playersAvailable.push(player); + this.state.playersAvailable = _.sortBy(this.state.playersAvailable, "name"); + this.setStateDirty('playersAvailable'); + }, + onAddGroup() { + const numGroups = Object.keys(this.state.selected).length; + if (numGroups >= 4) { + alertify.notify(`Only 4 groups are supported`, 'warning'); + return; + } + if (numGroups === 2) { + this.state.selected.group3 = []; + } else if (numGroups === 3) { + this.state.selected.group4 = []; + } + this.setStateDirty('selected'); + }, + onRemoveGroup(group) { + delete this.state.selected[group]; + this.setStateDirty('selected'); + }, + onPresetChange(event) { + this.state.tournamentPreset = _.find(this.input.presets, (preset) => preset.id === parseInt(event.target.value)); + }, + onOfficeChange(event) { + this.state.office = parseInt(event.target.value); + this.state.playersAvailable = _.reject(this.input.players, (player) => player.office_id !== this.state.office ); + this.setStateDirty('playersAvailable'); + }, + generateTournament() { + const body = { + preset_id: this.state.tournamentPreset.id, + office_id: this.state.office, + group1: this.state.selected.group1, + group2: this.state.selected.group2 + } + axios.post(window.location.origin + '/tournaments/admin/generate', body) + .then(response => { + location.href = `/tournaments/${response.data.id}`; + }).catch(error => { + alert("Unable to generate tournament. See log for details"); + console.log(error); + }); + } +} \ No newline at end of file diff --git a/src/pages/tournaments-admin/components/tournaments-admin/components/generate-tournament-tab/generate-tournament-tab.marko b/src/pages/tournaments-admin/components/tournaments-admin/components/generate-tournament-tab/generate-tournament-tab.marko new file mode 100644 index 00000000..9fa26279 --- /dev/null +++ b/src/pages/tournaments-admin/components/tournaments-admin/components/generate-tournament-tab/generate-tournament-tab.marko @@ -0,0 +1,63 @@ +
+ +
+
+ + Settings +
+
+

Office

+ +

Tournament Preset

+ + +
+ + + +
+
+ 2)> + + + 3)> + + +
+ + +
+
+ + +
+ + No Presets +
+
+
To generate tournaments, first create a preset
+
+
+
\ No newline at end of file diff --git a/src/pages/tournaments-admin/components/tournaments-admin/tournaments-admin.component.js b/src/pages/tournaments-admin/components/tournaments-admin/tournaments-admin.component.js index 4ea1a24f..e6920958 100644 --- a/src/pages/tournaments-admin/components/tournaments-admin/tournaments-admin.component.js +++ b/src/pages/tournaments-admin/components/tournaments-admin/tournaments-admin.component.js @@ -1,230 +1,7 @@ -const _ = require("underscore"); -const moment = require('moment'); -const axios = require('axios'); -const alertify = require("../../../../util/alertify"); - module.exports = { onCreate(input) { - var matches = []; - for (var i = 0; i < 1; i++) { - var match = []; - for (var j = 0; j < 5; j++) { - match.push({ value: "", valid: false }); - } - matches.push(match); - } - this.state = { - tournamentName: "", - shortName: "", - start: moment().format("YYYY-MM-DDT16:00:00"), - end: moment().format("YYYY-MM-DDT21:00:00"), - office: 1, - venue: 1, - groups: [{ id: 1, score: 301, mode: 1, type: 1 }], - players: input.players, - matches: matches, - venues: input.venues, - tournamentPreset: input.presets[0] ? input.presets[0] : undefined, - playersAvailable: input.players, - selected: { - group1: [], - group2: [] - } - } - }, - onMount() { - this.officeChange({ target: { value: this.state.office } }); - }, - - addPlayer(group, event, selected) { - if (this.state.selected[group].length >= 8) { - alertify.notify(`Max 8 players per group`, 'warning'); - return; - } - - const player = selected.input.player; - - this.state.playersAvailable = _.reject(this.state.playersAvailable, (el) => el.id === player.id ); - this.setStateDirty('playersAvailable'); - - this.state.selected[group].push(player); - this.setStateDirty(`selected[${group}]`); - }, - - removePlayer(group, event, selected) { - const player = selected.input.player; - - this.state.selected[group] = _.reject(this.state.selected[group], (el) => el.id === player.id ); - this.setStateDirty(`selected[${group}]`); - - this.state.playersAvailable.push(player); - this.state.playersAvailable = _.sortBy(this.state.playersAvailable, "name"); - this.setStateDirty('playersAvailable'); - }, - onPresetChange(event) { - this.state.tournamentPreset = _.find(this.input.presets, (preset) => preset.id === parseInt(event.target.value)); - }, - - tournamentNameChange(event) { - this.state.tournamentName = event.target.value; - }, - shortNameChange(event) { - this.state.shortName = event.target.value; - }, - startDateChange(event) { - this.state.start = event.target.value; - }, - endDateChange(event) { - this.state.end = event.target.value; - }, - officeChange(event) { - this.state.office = parseInt(event.target.value); - this.state.venues = _.reject(this.input.venues, (venue) => { - return venue.office_id != this.state.office ; - }); - this.setStateDirty("venues"); - if (this.state.venues.length > 0) { - this.venueChange({ target: { value: this.state.venues[0].id } }); - } else { - this.venueChange({ target: { value: -1 } }); - } - this.state.playersAvailable = _.reject(this.input.players, (player) => player.office_id !== this.state.office ); - this.setStateDirty('playersAvailable'); - }, - venueChange(event) { - this.state.venue = parseInt(event.target.value); - }, - groupChange(event) { - this.state.groups[event.target.attributes.idx.value].id = parseInt(event.target.value); - this.setStateDirty("groups"); - }, - scoreChange(event) { - this.state.groups[event.target.attributes.idx.value].score = parseInt(event.target.value); - this.setStateDirty("groups"); - }, - typeChange(event) { - this.state.groups[event.target.attributes.idx.value].type = parseInt(event.target.value); - console.log(this.input.types) - console.log(this.state.groups[0]); - this.setStateDirty("groups"); - }, - modeChange(event) { - this.state.groups[event.target.attributes.idx.value].mode = parseInt(event.target.value); - this.setStateDirty("groups"); - }, - addGroup() { - this.state.groups.push({ id: 1, score: 301, mode: 1, type: 1 }); - this.setStateDirty("groups"); - }, - removeGroup() { - if (this.state.groups.length > 1) { - this.state.groups.splice(-1, 1); - } - this.setStateDirty("groups"); - }, - onPaste(e) { - let clipboardData; - e.stopPropagation(); - e.preventDefault(); - - clipboardData = e.clipboardData || window.clipboardData; - const text = clipboardData.getData('Text'); - - const lines = text.split(/\n/); - const matches = []; - for (let i = 0; i < lines.length; i++) { - const match = []; - for (let j = 0; j < 5; j++) { - match.push({ value: "", valid: false }); - } - matches.push(match); - } - console.log(matches) - for (let i = 0; i < lines.length; i++) { - const line = lines[i]; - - const fields = line.split(/,|\t/); - for (let j = 0; j < fields.length; j++) { - const field = fields[j]; - matches[i][j].value = field; - } - } - this.state.matches = matches; - this.setStateDirty("matches"); - - this.validate(); - }, - validate() { - this.state.shortName = this.state.shortName.substring(0, 4); - const matches = this.state.matches; - - for (let i = 0; i < matches.length; i++) { - let match = matches[i]; - - const date = moment(match[0].value); - if (date.isValid()) { - match[0].valid = true; - } - - const time = /[0-9][0-9]:[0-9][0-9]/.test(match[1].value); - if (time) { - match[1].valid = true; - } - - const group = _.filter(this.input.groups, (group) => { return group.name == match[2].value; }); - if (group.length === 1) { - match[2].id = group[0].id; - match[2].valid = true; - } - - const home = _.filter(this.state.players, (player) => { return player.name == match[3].value; }); - if (home.length === 1) { - match[3].id = home[0].id; - match[3].valid = true; - } - - const away = _.filter(this.state.players, (player) => { return player.name == match[4].value.trim(); }); - if (away.length === 1) { - match[4].id = away[0].id; - match[4].valid = true; - } - } - this.setStateDirty("matches"); - }, - createTournament() { - const body = { - name: this.state.tournamentName, - short_name: this.state.shortName, - start: moment(this.state.start).format("yyyy-MM-hhTHH:mm:ssZ"), - end: moment(this.state.end).format("yyyy-MM-hhTHH:mm:ssZ"), - office_id: this.state.office, - venue_id: this.state.venue, - groups: this.state.groups, - matches: this.state.matches - } - axios.post(window.location.origin + '/tournaments/admin', body) - .then(response => { - location.href = window.location.origin + '/tournaments'; - }).catch(error => { - alert("Unable to create tournament. See log for details"); - console.log(error); - }); - }, - generateTournament() { - const body = { - preset_id: this.state.tournamentPreset.id, - office_id: this.state.office, - group1: this.state.selected.group1, - group2: this.state.selected.group2 } - axios.post(window.location.origin + '/tournaments/admin/generate', body) - .then(response => { - location.href = `/tournaments/${response.data.id}`; - }).catch(error => { - alert("Unable to generate tournament. See log for details"); - console.log(error); - }); } } \ No newline at end of file diff --git a/src/pages/tournaments-admin/components/tournaments-admin/tournaments-admin.marko b/src/pages/tournaments-admin/components/tournaments-admin/tournaments-admin.marko index 41a875b3..7312429a 100644 --- a/src/pages/tournaments-admin/components/tournaments-admin/tournaments-admin.marko +++ b/src/pages/tournaments-admin/components/tournaments-admin/tournaments-admin.marko @@ -1,6 +1,6 @@
- +
@@ -11,201 +11,8 @@
-
- -
-
- - Settings -
-
-

Office

- -

Tournament Preset

- - -
-
-

${input.groups[state.tournamentPreset.group1_tournament_group.id].name}

-
- - Players -
-
-
- - - -
-
-
- - Select players -
-
-
- - - -
-
-
-
-

${input.groups[state.tournamentPreset.group2_tournament_group.id].name}

-
- - Players -
-
-
- - - -
-
-
- - Select players -
-
-
- - - -
-
-
-
- -
-
- - -
- - No Presets -
-
-
To generate tournaments, first create a preset
-
-
-
-
-
-
- - Settings -
-
-

Name

- -

Short Name

- -

Start

- -

End

- -

Office

- -

Venue

- -
-
-

Groups

- - - - - - - - - - - - - - - - - - - -
NameStarting ScoreTypeMode
- - - - - - -
- - -

Matches

- - - - - - - - - - - - - - - - - - - - - -
DateTimeGroupHome PlayerAway Player
- - - - - - - - - -
- - -
+ +
- \ No newline at end of file From 200edbad591bd88d38bb38b4a28b47dcece22387 Mon Sep 17 00:00:00 2001 From: Thord Setsaas Date: Sun, 3 Sep 2023 20:20:39 +0200 Subject: [PATCH 30/34] Setup namespaces for generated matches --- routes/tournaments.js | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/routes/tournaments.js b/routes/tournaments.js index bbf1e6f4..9f072b31 100644 --- a/routes/tournaments.js +++ b/routes/tournaments.js @@ -235,7 +235,17 @@ router.post('/admin/generate', function (req, res, next) { axios.post(`${req.app.locals.kcapp.api}/tournament/generate`, tournamentBody) .then(response => { const tournament = response.data; - res.send(tournament); + axios.get(`${req.app.locals.kcapp.api}/tournament/${tournament.id}/matches`) + .then(response => { + const matches = Object.values(response.data).flat(); + for (const match of matches) { + this.socketHandler.setupLegsNamespace(match.current_leg_id); + } + res.send(tournament); + }).catch(error => { + debug(`Error when generating new tournament: ${error}`); + next(error); + }); }).catch(error => { debug(`Error when generating new tournament: ${error}`); next(error); @@ -251,7 +261,19 @@ router.post('/admin/generate/playoffs/:id', function (req, res, next) { axios.post(`${req.app.locals.kcapp.api}/tournament/generate/playoffs/${req.params.id}`) .then(response => { const tournament = response.data; - res.send(tournament); + axios.get(`${req.app.locals.kcapp.api}/tournament/${tournament.id}/matches`) + .then(response => { + const matches = Object.values(response.data).flat(); + for (const match of matches) { + if (!match.is_finished) { + this.socketHandler.setupLegsNamespace(match.current_leg_id); + } + } + res.send(tournament); + }).catch(error => { + debug(`Error when generating playoffs tournament: ${error}`); + next(error); + }); }).catch(error => { debug(`Error when generating playoffs tournament: ${error}`); next(error); From 2c01053bfe0e204c0b40c5526393ec4883c15521 Mon Sep 17 00:00:00 2001 From: Thord Setsaas Date: Tue, 5 Sep 2023 20:09:20 +0200 Subject: [PATCH 31/34] Don't show admin buttons on finished tournaments --- src/pages/tournament/components/tournament/tournament.marko | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/tournament/components/tournament/tournament.marko b/src/pages/tournament/components/tournament/tournament.marko index b565935c..14166eea 100644 --- a/src/pages/tournament/components/tournament/tournament.marko +++ b/src/pages/tournament/components/tournament/tournament.marko @@ -22,7 +22,7 @@ $ {
- + From 276524fae53b52b324372bfdd51378eb4aad2d1d Mon Sep 17 00:00:00 2001 From: Thord Setsaas Date: Tue, 12 Sep 2023 18:28:30 +0200 Subject: [PATCH 32/34] Initial version of badges --- CHANGELOG.md | 7 +- app.js | 1 + public/images/badges/100-10.svg | 102 ---- public/images/badges/100-100.svg | 101 ---- public/images/badges/100-2.svg | 122 ++++ public/images/badges/100-3.svg | 115 ++++ public/images/badges/100-4.svg | 120 ++++ public/images/badges/100-50.svg | 95 ---- public/images/badges/140-10.svg | 102 ---- public/images/badges/140-100.svg | 101 ---- public/images/badges/140-2.svg | 114 ++++ .../badges/{hardly_working.svg => 140-3.svg} | 53 +- public/images/badges/140-4.svg | 112 ++++ public/images/badges/140-50.svg | 95 ---- public/images/badges/180-10.svg | 91 --- public/images/badges/180-2.svg | 129 +++++ public/images/badges/180-3.svg | 122 ++++ public/images/badges/180-4.svg | 127 +++++ public/images/badges/Impersonator.svg | 90 +++ public/images/badges/close_to_perfect.svg | 167 ++++++ public/images/badges/double_trouble.svg | 117 ---- .../{weekly_player.svg => easy_as_123.svg} | 37 +- public/images/badges/globetrotter.svg | 140 ----- public/images/badges/happy_birthday.svg | 79 --- public/images/badges/happy_newyear.svg | 527 ++++++++++++++++++ public/images/badges/party_of_two.svg | 108 ---- public/images/badges/quickie.svg | 84 --- public/images/badges/quicky.svg | 84 --- public/images/badges/the_frank.svg | 89 +++ .../{work_from_home.svg => untouchable.svg} | 36 +- routes/players.js | 10 +- routes/tournaments.js | 3 +- .../matches-table/matches-table.marko | 8 +- .../components/badge/badge.component.js | 2 +- .../tab-badges/components/badge/badge.marko | 33 +- .../tab-badges/tab-badges.component.js | 12 +- .../components/tab-badges/tab-badges.marko | 4 +- .../tab-badges/tab-badges.style.less | 7 +- .../player/components/player/player.marko | 2 +- src/pages/player/player-template.marko | 1 + .../players-table/players-table.marko | 2 +- .../players-table/players-table.style.less | 13 - .../components/tournament/tournament.marko | 4 +- .../generate-tournament-tab.component.js | 2 +- .../components/tournaments/tournaments.marko | 4 +- .../tournaments/tournaments-template.marko | 2 +- 46 files changed, 1986 insertions(+), 1390 deletions(-) delete mode 100644 public/images/badges/100-10.svg delete mode 100644 public/images/badges/100-100.svg create mode 100644 public/images/badges/100-2.svg create mode 100644 public/images/badges/100-3.svg create mode 100644 public/images/badges/100-4.svg delete mode 100644 public/images/badges/100-50.svg delete mode 100644 public/images/badges/140-10.svg delete mode 100644 public/images/badges/140-100.svg create mode 100644 public/images/badges/140-2.svg rename public/images/badges/{hardly_working.svg => 140-3.svg} (57%) create mode 100644 public/images/badges/140-4.svg delete mode 100644 public/images/badges/140-50.svg delete mode 100644 public/images/badges/180-10.svg create mode 100644 public/images/badges/180-2.svg create mode 100644 public/images/badges/180-3.svg create mode 100644 public/images/badges/180-4.svg create mode 100644 public/images/badges/Impersonator.svg create mode 100644 public/images/badges/close_to_perfect.svg delete mode 100644 public/images/badges/double_trouble.svg rename public/images/badges/{weekly_player.svg => easy_as_123.svg} (58%) delete mode 100644 public/images/badges/globetrotter.svg delete mode 100644 public/images/badges/happy_birthday.svg create mode 100644 public/images/badges/happy_newyear.svg delete mode 100644 public/images/badges/party_of_two.svg delete mode 100644 public/images/badges/quickie.svg delete mode 100644 public/images/badges/quicky.svg create mode 100644 public/images/badges/the_frank.svg rename public/images/badges/{work_from_home.svg => untouchable.svg} (54%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 98f7c1f9..23b38cb2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,6 @@ A preview of major changes can be found in the Wiki ([Latest Changes](https://gi ## [2.7.0] - TBD #### Feature -- Support for Tournament Presets - Automatically start next leg without needing to reload the page to improve load time, and get back to throwing quicker - Forward clients back to main page from match result after 2 minutes - New "Explore" tab on player statistics, to explore darts thrown @@ -16,6 +15,7 @@ A preview of major changes can be found in the Wiki ([Latest Changes](https://gi ## [2.6.0] - 2023-06-30 #### Feature +- Support for Tournament Presets - New query parameter `officeId=` for `/obs` view, to only forward on matches in a given office - Practice against `first time`, `very easy`, `challenging` and `mvg` bots - New button for swapping order if button input is enabled @@ -29,12 +29,7 @@ A preview of major changes can be found in the Wiki ([Latest Changes](https://gi - Bug where vocal announcement for Cricket would say "No score" instead of marks ## [2.5.0] - 2023-03-10 - -======= -## [2.5.0] - TBD ->>>>>>> feature/tournament_preset #### Feature -- Support for Tournament Presets - Support multiple legs for Practice matches - Player options to disable automatic score deduction per dart, and to show/hide checkout guide - Allow undoing of visits when playing against kcapp-bot diff --git a/app.js b/app.js index 5639d9b7..1c13e05c 100644 --- a/app.js +++ b/app.js @@ -44,6 +44,7 @@ app.io = io; app.locals.kcapp = {}; app.locals.kcapp.api = process.env.KCAPP_API || 'http://localhost:8001'; app.locals.kcapp.api_path = process.env.KCAPP_API_PATH || ':8001'; +app.locals.kcapp.local_admin = process.env.KCAPP_LOCAL_ADMIN ? process.env.KCAPP_LOCAL_ADMIN === "true" : true; // Create all routes const socketHandler = require('./routes/lib/socketio_handler')(io, app); diff --git a/public/images/badges/100-10.svg b/public/images/badges/100-10.svg deleted file mode 100644 index 4a8aab7d..00000000 --- a/public/images/badges/100-10.svg +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - - - - - 100 - + - - diff --git a/public/images/badges/100-100.svg b/public/images/badges/100-100.svg deleted file mode 100644 index 78fd5e50..00000000 --- a/public/images/badges/100-100.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - 100 - - - + - - diff --git a/public/images/badges/100-2.svg b/public/images/badges/100-2.svg new file mode 100644 index 00000000..6cd995aa --- /dev/null +++ b/public/images/badges/100-2.svg @@ -0,0 +1,122 @@ + + + +100+ diff --git a/public/images/badges/100-3.svg b/public/images/badges/100-3.svg new file mode 100644 index 00000000..af6394df --- /dev/null +++ b/public/images/badges/100-3.svg @@ -0,0 +1,115 @@ + + + +100+ diff --git a/public/images/badges/100-4.svg b/public/images/badges/100-4.svg new file mode 100644 index 00000000..9a3be513 --- /dev/null +++ b/public/images/badges/100-4.svg @@ -0,0 +1,120 @@ + + + +100+ diff --git a/public/images/badges/100-50.svg b/public/images/badges/100-50.svg deleted file mode 100644 index b119ef53..00000000 --- a/public/images/badges/100-50.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - 100 - - + - - diff --git a/public/images/badges/140-10.svg b/public/images/badges/140-10.svg deleted file mode 100644 index f06a8657..00000000 --- a/public/images/badges/140-10.svg +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - - - - - 140 - + - - diff --git a/public/images/badges/140-100.svg b/public/images/badges/140-100.svg deleted file mode 100644 index d7e1f243..00000000 --- a/public/images/badges/140-100.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - 140 - - - + - - diff --git a/public/images/badges/140-2.svg b/public/images/badges/140-2.svg new file mode 100644 index 00000000..1acdde7c --- /dev/null +++ b/public/images/badges/140-2.svg @@ -0,0 +1,114 @@ + + + +140+ diff --git a/public/images/badges/hardly_working.svg b/public/images/badges/140-3.svg similarity index 57% rename from public/images/badges/hardly_working.svg rename to public/images/badges/140-3.svg index 1f149427..b1905916 100644 --- a/public/images/badges/hardly_working.svg +++ b/public/images/badges/140-3.svg @@ -8,7 +8,7 @@ version="1.1" id="svg5" inkscape:version="1.3 (0e150ed, 2023-07-21)" - sodipodi:docname="hardly_working.svg" + sodipodi:docname="140-3.svg" xml:space="preserve" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" @@ -25,11 +25,11 @@ inkscape:document-units="mm" showgrid="false" inkscape:zoom="0.56271015" - inkscape:cx="729.50523" - inkscape:cy="518.02869" - inkscape:window-width="2048" - inkscape:window-height="1020" - inkscape:window-x="0" + inkscape:cx="730.39379" + inkscape:cy="518.91724" + inkscape:window-width="1920" + inkscape:window-height="1027" + inkscape:window-x="1512" inkscape:window-y="25" inkscape:window-maximized="0" inkscape:current-layer="layer1" /> diff --git a/public/images/badges/140-50.svg b/public/images/badges/140-50.svg deleted file mode 100644 index 8f6a2835..00000000 --- a/public/images/badges/140-50.svg +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - 140 - - + - - diff --git a/public/images/badges/180-10.svg b/public/images/badges/180-10.svg deleted file mode 100644 index fdcb67c1..00000000 --- a/public/images/badges/180-10.svg +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - - - - 180 - - - diff --git a/public/images/badges/180-2.svg b/public/images/badges/180-2.svg new file mode 100644 index 00000000..5c56823b --- /dev/null +++ b/public/images/badges/180-2.svg @@ -0,0 +1,129 @@ + + + +180 diff --git a/public/images/badges/180-3.svg b/public/images/badges/180-3.svg new file mode 100644 index 00000000..899b502a --- /dev/null +++ b/public/images/badges/180-3.svg @@ -0,0 +1,122 @@ + + + +180 diff --git a/public/images/badges/180-4.svg b/public/images/badges/180-4.svg new file mode 100644 index 00000000..0ebc1a71 --- /dev/null +++ b/public/images/badges/180-4.svg @@ -0,0 +1,127 @@ + + + +180 diff --git a/public/images/badges/Impersonator.svg b/public/images/badges/Impersonator.svg new file mode 100644 index 00000000..9b8ff4ea --- /dev/null +++ b/public/images/badges/Impersonator.svg @@ -0,0 +1,90 @@ + + + + diff --git a/public/images/badges/close_to_perfect.svg b/public/images/badges/close_to_perfect.svg new file mode 100644 index 00000000..5762ead3 --- /dev/null +++ b/public/images/badges/close_to_perfect.svg @@ -0,0 +1,167 @@ + + + + diff --git a/public/images/badges/double_trouble.svg b/public/images/badges/double_trouble.svg deleted file mode 100644 index 7f5b729d..00000000 --- a/public/images/badges/double_trouble.svg +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/public/images/badges/weekly_player.svg b/public/images/badges/easy_as_123.svg similarity index 58% rename from public/images/badges/weekly_player.svg rename to public/images/badges/easy_as_123.svg index 5bd3a808..3b71730e 100644 --- a/public/images/badges/weekly_player.svg +++ b/public/images/badges/easy_as_123.svg @@ -8,7 +8,7 @@ version="1.1" id="svg5" inkscape:version="1.3 (0e150ed, 2023-07-21)" - sodipodi:docname="weekly_player.svg" + sodipodi:docname="_template.svg" xml:space="preserve" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" @@ -24,9 +24,9 @@ inkscape:deskcolor="#d1d1d1" inkscape:document-units="mm" showgrid="false" - inkscape:zoom="0.56271015" - inkscape:cx="729.50523" - inkscape:cy="518.02869" + inkscape:zoom="0.5" + inkscape:cx="728" + inkscape:cy="519" inkscape:window-width="2048" inkscape:window-height="1020" inkscape:window-x="0" @@ -38,7 +38,7 @@ inkscape:groupmode="layer" id="layer1"> + id="style1-3"> .st0{fill:#000000;} diff --git a/public/images/badges/globetrotter.svg b/public/images/badges/globetrotter.svg deleted file mode 100644 index 2e764171..00000000 --- a/public/images/badges/globetrotter.svg +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/public/images/badges/happy_birthday.svg b/public/images/badges/happy_birthday.svg deleted file mode 100644 index 2409deac..00000000 --- a/public/images/badges/happy_birthday.svg +++ /dev/null @@ -1,79 +0,0 @@ - - - - diff --git a/public/images/badges/happy_newyear.svg b/public/images/badges/happy_newyear.svg new file mode 100644 index 00000000..b1d808f5 --- /dev/null +++ b/public/images/badges/happy_newyear.svg @@ -0,0 +1,527 @@ + + + + diff --git a/public/images/badges/party_of_two.svg b/public/images/badges/party_of_two.svg deleted file mode 100644 index f909647a..00000000 --- a/public/images/badges/party_of_two.svg +++ /dev/null @@ -1,108 +0,0 @@ - - - - diff --git a/public/images/badges/quickie.svg b/public/images/badges/quickie.svg deleted file mode 100644 index 58de4119..00000000 --- a/public/images/badges/quickie.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - diff --git a/public/images/badges/quicky.svg b/public/images/badges/quicky.svg deleted file mode 100644 index 58de4119..00000000 --- a/public/images/badges/quicky.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - diff --git a/public/images/badges/the_frank.svg b/public/images/badges/the_frank.svg new file mode 100644 index 00000000..79c6f11a --- /dev/null +++ b/public/images/badges/the_frank.svg @@ -0,0 +1,89 @@ + + + + diff --git a/public/images/badges/work_from_home.svg b/public/images/badges/untouchable.svg similarity index 54% rename from public/images/badges/work_from_home.svg rename to public/images/badges/untouchable.svg index 96e39929..31260504 100644 --- a/public/images/badges/work_from_home.svg +++ b/public/images/badges/untouchable.svg @@ -8,7 +8,7 @@ version="1.1" id="svg5" inkscape:version="1.3 (0e150ed, 2023-07-21)" - sodipodi:docname="work_from_home.svg" + sodipodi:docname="_template.svg" xml:space="preserve" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" @@ -24,21 +24,21 @@ inkscape:deskcolor="#d1d1d1" inkscape:document-units="mm" showgrid="false" - inkscape:zoom="0.56271015" - inkscape:cx="730.39379" - inkscape:cy="478.93218" + inkscape:zoom="0.5" + inkscape:cx="897" + inkscape:cy="519" inkscape:window-width="2048" inkscape:window-height="1020" inkscape:window-x="0" inkscape:window-y="25" - inkscape:window-maximized="1" + inkscape:window-maximized="0" inkscape:current-layer="layer1" /> + id="style1-5"> .st0{fill:#000000;} diff --git a/routes/players.js b/routes/players.js index 471cd25f..6856d44b 100644 --- a/routes/players.js +++ b/routes/players.js @@ -51,7 +51,7 @@ router.put('/:id', function (req, res, next) { /* Get specific statistics for a given player */ router.get('/:id/statistics', function (req, res, next) { - var playerId = req.params.id; + const playerId = req.params.id; axios.all([ axios.get(`${req.app.locals.kcapp.api}/player`), axios.get(`${req.app.locals.kcapp.api}/player/${playerId}`), @@ -61,8 +61,9 @@ router.get('/:id/statistics', function (req, res, next) { axios.get(`${req.app.locals.kcapp.api}/player/${playerId}/checkouts`), axios.get(`${req.app.locals.kcapp.api}/player/${playerId}/tournament`), axios.get(`${req.app.locals.kcapp.api}/player/${playerId}/badges`), - axios.get(`${req.app.locals.kcapp.api}/badge`) - ]).then(axios.spread((players, player, statistics, previous, progression, checkouts, tournament, playerBadges, badges) => { + axios.get(`${req.app.locals.kcapp.api}/badge`), + axios.get(`${req.app.locals.kcapp.api}/tournament`) + ]).then(axios.spread((players, player, statistics, previous, progression, checkouts, playerTournament, playerBadges, badges, tournaments) => { res.marko(playerTemplate, { players: players.data, player: player.data, @@ -70,9 +71,10 @@ router.get('/:id/statistics', function (req, res, next) { previous_statistics: previous.data, progression: progression.data, checkouts: checkouts.data, - tournament_standings: tournament.data, + tournament_standings: playerTournament.data, player_badges: playerBadges.data, badges: badges.data, + tournaments: tournaments.data, locals: req.app.locals }); })).catch(error => { diff --git a/routes/tournaments.js b/routes/tournaments.js index 9f072b31..b1654141 100644 --- a/routes/tournaments.js +++ b/routes/tournaments.js @@ -29,7 +29,8 @@ router.get('/', function (req, res, next) { ]).then(axios.spread((tournaments, offices) => { res.marko(tournamentsTemplate, { tournaments: tournaments.data, - offices: offices.data + offices: offices.data, + locals: req.app.locals }); })).catch(error => { debug(`Error when getting data for tournament ${error}`); diff --git a/src/components/matches-table/matches-table.marko b/src/components/matches-table/matches-table.marko index 8bebc347..c244ac63 100644 --- a/src/components/matches-table/matches-table.marko +++ b/src/components/matches-table/matches-table.marko @@ -51,9 +51,11 @@ $ var columns = state.columns; - - - + + + + +
diff --git a/src/pages/player/components/player/components/tab-badges/components/badge/badge.component.js b/src/pages/player/components/player/components/tab-badges/components/badge/badge.component.js index 5154b8bb..78ee205f 100644 --- a/src/pages/player/components/player/components/tab-badges/components/badge/badge.component.js +++ b/src/pages/player/components/player/components/tab-badges/components/badge/badge.component.js @@ -1,7 +1,7 @@ module.exports = { onCreate(input) { this.state = { - id: input.image.substring(input.image.lastIndexOf('/') + 1, input.image.lastIndexOf('.')) + id: input.badge.filename.substring(0, input.badge.filename.lastIndexOf('.')) } } } \ No newline at end of file diff --git a/src/pages/player/components/player/components/tab-badges/components/badge/badge.marko b/src/pages/player/components/player/components/tab-badges/components/badge/badge.marko index 70184e6f..cafd5764 100644 --- a/src/pages/player/components/player/components/tab-badges/components/badge/badge.marko +++ b/src/pages/player/components/player/components/tab-badges/components/badge/badge.marko @@ -1,9 +1,28 @@ -$ let aquired = input.aquired; -
- $ let clazz = aquired ? '' : 'not-aquired'; - -
${input.name}
-
-

${input.description}

+$ let badge = input.badge; +$ let acquired = badge.acquired; +
+ $ let clazz = acquired ? '' : 'not-acquired'; + $ let src = badge.level ? `${badge.filename.substring(0, badge.filename.indexOf('-'))}-${badge.level}.svg` : badge.filename; + +
${badge.name} ${badge.level ? `(Level ${badge.level})` : ''}
+
+

${badge.description}

+
+
+ + Acquired: + + Leg ${badge.leg_id} + + + Match ${badge.match_id} + + + ${badge.tournament.name} + + + + +
\ No newline at end of file diff --git a/src/pages/player/components/player/components/tab-badges/tab-badges.component.js b/src/pages/player/components/player/components/tab-badges/tab-badges.component.js index 74755052..90e2669c 100644 --- a/src/pages/player/components/player/components/tab-badges/tab-badges.component.js +++ b/src/pages/player/components/player/components/tab-badges/tab-badges.component.js @@ -1,8 +1,18 @@ +const moment = require('moment'); + module.exports = { onCreate(input) { const badgeMap = {}; input.badges.map(badge => badgeMap[badge.id] = badge); - input.player_badges.map(badge => badgeMap[badge.badge.id].aquired = true); + input.player_badges.map(badge => { + badge.acquired = true; + badge.created_at = moment(badge.created_at).format("YYYY-MM-DD HH:mm:ss"); + if (badge.tournament_id) { + const tournament = input.tournaments.find(tournament => tournament.id === badge.tournament_id); + badge.tournament = tournament; + } + badgeMap[badge.badge.id] = { ...badgeMap[badge.badge.id], ...badge }; + }); const badges = Object.values(badgeMap); this.state = { diff --git a/src/pages/player/components/player/components/tab-badges/tab-badges.marko b/src/pages/player/components/player/components/tab-badges/tab-badges.marko index b84459bc..47c0496b 100644 --- a/src/pages/player/components/player/components/tab-badges/tab-badges.marko +++ b/src/pages/player/components/player/components/tab-badges/tab-badges.marko @@ -1,11 +1,11 @@ - + $ let badge = state.badges[j + (4*i)] diff --git a/src/pages/player/components/player/components/tab-badges/tab-badges.style.less b/src/pages/player/components/player/components/tab-badges/tab-badges.style.less index 9911ae90..e9729289 100644 --- a/src/pages/player/components/player/components/tab-badges/tab-badges.style.less +++ b/src/pages/player/components/player/components/tab-badges/tab-badges.style.less @@ -3,7 +3,10 @@ margin: auto; } -.not-aquired { - opacity: 15%; +.not-acquired { + opacity: 20%; } +.acquired-link { + font-weight: 400; +} \ No newline at end of file diff --git a/src/pages/player/components/player/player.marko b/src/pages/player/components/player/player.marko index b38617cb..4727f9a2 100644 --- a/src/pages/player/components/player/player.marko +++ b/src/pages/player/components/player/player.marko @@ -53,7 +53,7 @@
- +
diff --git a/src/pages/player/player-template.marko b/src/pages/player/player-template.marko index 4ecf7b52..0d306f81 100644 --- a/src/pages/player/player-template.marko +++ b/src/pages/player/player-template.marko @@ -12,6 +12,7 @@ import Layout from "../layout.marko" tournament_standings=input.tournament_standings player_badges=input.player_badges badges=input.badges + tournaments=input.tournaments locals=input.locals/> diff --git a/src/pages/players/components/players-table/players-table.marko b/src/pages/players/components/players-table/players-table.marko index 492a9b29..813a3a16 100644 --- a/src/pages/players/components/players-table/players-table.marko +++ b/src/pages/players/components/players-table/players-table.marko @@ -25,7 +25,7 @@
diff --git a/src/pages/players/components/players-table/players-table.style.less b/src/pages/players/components/players-table/players-table.style.less index 8fec6e16..7c9a6c3b 100644 --- a/src/pages/players/components/players-table/players-table.style.less +++ b/src/pages/players/components/players-table/players-table.style.less @@ -37,17 +37,4 @@ table { .badge { font-weight: 300; } -} - -.badge-thumbnail { - top:-50px; - left:-35px; - z-index:999; - -webkit-transition-property: all; - -webkit-transition-duration: 0.3s; - -webkit-transition-timing-function: ease; -} - -.badge-thumbnail:hover { - transform: scale(2); } \ No newline at end of file diff --git a/src/pages/tournament/components/tournament/tournament.marko b/src/pages/tournament/components/tournament/tournament.marko index b565935c..066fde2d 100644 --- a/src/pages/tournament/components/tournament/tournament.marko +++ b/src/pages/tournament/components/tournament/tournament.marko @@ -3,7 +3,7 @@ $ { if (state.hasStatistics) { tabs.push({ name: "Statistics", href: "statistics" }); } - if(Object.keys(input.brackets).length !== 0) { + if(input.brackets && Object.keys(input.brackets).length !== 0) { tabs.push({ name: "Bracket", href: "bracket" }); } if (input.tournament.standings) { @@ -162,7 +162,7 @@ $ { - +
$!{bracket} diff --git a/src/pages/tournaments-admin/components/tournaments-admin/components/generate-tournament-tab/generate-tournament-tab.component.js b/src/pages/tournaments-admin/components/tournaments-admin/components/generate-tournament-tab/generate-tournament-tab.component.js index a37d0cb1..ff74adb1 100644 --- a/src/pages/tournaments-admin/components/tournaments-admin/components/generate-tournament-tab/generate-tournament-tab.component.js +++ b/src/pages/tournaments-admin/components/tournaments-admin/components/generate-tournament-tab/generate-tournament-tab.component.js @@ -14,7 +14,7 @@ module.exports = { matches.push(match); } const preset = input.presets[0]; - const groupsAvailable = Object.values(input.groups).filter(group => group.id !== preset.group1_tournament_group.id && group.id !== preset.group2_tournament_group.id); + const groupsAvailable = preset ? Object.values(input.groups).filter(group => group.id !== preset.group1_tournament_group.id && group.id !== preset.group2_tournament_group.id) : []; this.state = { office: Object.values(input.offices)[0].id, players: input.players, diff --git a/src/pages/tournaments/components/tournaments/tournaments.marko b/src/pages/tournaments/components/tournaments/tournaments.marko index bd63d924..014c35c8 100644 --- a/src/pages/tournaments/components/tournaments/tournaments.marko +++ b/src/pages/tournaments/components/tournaments/tournaments.marko @@ -1,5 +1,7 @@ - + + +
diff --git a/src/pages/tournaments/tournaments-template.marko b/src/pages/tournaments/tournaments-template.marko index 7736ee76..d665495f 100644 --- a/src/pages/tournaments/tournaments-template.marko +++ b/src/pages/tournaments/tournaments-template.marko @@ -2,6 +2,6 @@ import Layout from "../layout.marko" <${Layout}> <@body> - + From 4da76a67d25177c3be59caa6b02f0f329a870ff2 Mon Sep 17 00:00:00 2001 From: Thord Setsaas Date: Tue, 12 Sep 2023 18:31:33 +0200 Subject: [PATCH 33/34] Prepare for release of v2.7.0 --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 23b38cb2..bad55d31 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,7 @@ # Changelog A preview of major changes can be found in the Wiki ([Latest Changes](https://github.com/kcapp/frontend/wiki/Latest_Changes)) -## [2.7.0] - TBD +## [2.7.0] - 2023-09-12 #### Feature - Automatically start next leg without needing to reload the page to improve load time, and get back to throwing quicker - Forward clients back to main page from match result after 2 minutes @@ -201,7 +201,7 @@ A preview of major changes can be found in the Wiki ([Latest Changes](https://gi - Multiple score entry methods - Including [Unicorn Smartboard](https://github.com/kcapp/smartboard) -[2.7.0]: https://github.com/kcapp/frontend/compare/v2.6.0...develop +[2.7.0]: https://github.com/kcapp/frontend/compare/v2.6.0...v2.7.0 [2.6.0]: https://github.com/kcapp/frontend/compare/v2.5.0...v2.6.0 [2.5.0]: https://github.com/kcapp/frontend/compare/v2.4.0...v2.5.0 [2.4.0]: https://github.com/kcapp/frontend/compare/v2.3.0...v2.4.0 From c8f522fbc88565c929f673b332305d03f363da95 Mon Sep 17 00:00:00 2001 From: Thord Setsaas Date: Tue, 12 Sep 2023 22:21:03 +0200 Subject: [PATCH 34/34] Fixed missing font on some badges --- public/images/badges/100-1.svg | 31 ++++++++--------- public/images/badges/100-2.svg | 21 ++++++------ public/images/badges/100-3.svg | 21 ++++++------ public/images/badges/100-4.svg | 29 ++++++++-------- public/images/badges/140-1.svg | 23 ++++++------- public/images/badges/140-2.svg | 23 ++++++------- public/images/badges/140-3.svg | 23 ++++++------- public/images/badges/140-4.svg | 23 ++++++------- public/images/badges/180-1.svg | 34 ++++++------------- public/images/badges/180-2.svg | 24 ++++--------- public/images/badges/180-3.svg | 24 ++++--------- public/images/badges/180-4.svg | 24 ++++--------- .../{Impersonator.svg => impersonator.svg} | 0 13 files changed, 122 insertions(+), 178 deletions(-) rename public/images/badges/{Impersonator.svg => impersonator.svg} (100%) diff --git a/public/images/badges/100-1.svg b/public/images/badges/100-1.svg index 76117c58..109bfc19 100644 --- a/public/images/badges/100-1.svg +++ b/public/images/badges/100-1.svg @@ -26,13 +26,13 @@ showgrid="false" inkscape:zoom="0.56271015" inkscape:cx="729.50523" - inkscape:cy="518.02869" - inkscape:window-width="2048" - inkscape:window-height="1020" + inkscape:cy="518.91724" + inkscape:window-width="1512" + inkscape:window-height="839" inkscape:window-x="0" - inkscape:window-y="25" + inkscape:window-y="38" inkscape:window-maximized="0" - inkscape:current-layer="layer1" />100+
- +
$ var displayName = player.first_name + (player.nickname ? ' "' + player.nickname + '"' : "") + (player.last_name ? " " + player.last_name : ""); - ${displayName} + ${displayName} ${input.offices[player.office_id].name} ${player.matches_played}