├── .gitignore
├── README.md
├── client
├── favicon.ico
├── index.html
├── index.js
└── style.css
└── server
├── .env.example
├── index.js
├── package-lock.json
└── package.json
/.gitignore:
--------------------------------------------------------------------------------
1 | #Node.js
2 | node_modules/
3 |
4 | # Logs
5 | logs/
6 | *.log
7 |
8 | # Dependency directories
9 | pids/
10 | *.pid
11 | *.seed
12 | *.pid.lock
13 |
14 | # Environment
15 | .env
16 |
17 | # Development specific
18 | npm-debug.log*
19 | yarn-debug.log*
20 | yarn-error.log*
21 |
22 | # Build output
23 | dist/
24 | build/
25 | out/
26 |
27 | # IDE files
28 | .vscode/
29 | .idea/
30 |
31 | # Mac OS
32 | .DS_Store
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # GirlScript Summer of Code 2023 Leaderboard
2 | [LeaderBoard](https://programerr01.github.io/Leaderboard/client/) for Girlscript Summer of Code (GSSOC)
3 |
4 | ## Tasks
5 | - [x] Showing Rank with Search result
6 | - [ ] Running Cron Job for Periodic Updation of Leaderboard
7 | - [x] Loading Icon when data is being fetched
8 | ## Contributors
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/client/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/programerr01/Leaderboard/a28acbaa751c68eafc70dd2f0907649c7fbf888c/client/favicon.ico
--------------------------------------------------------------------------------
/client/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Leaderboard
6 |
7 |
8 |
9 |
10 |
11 |
12 | Leaderboard GSSOC'23
13 |
14 |
21 |
22 |
23 |
24 | Rank |
25 | Name |
26 | Score |
27 | Profile |
28 |
29 |
30 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/client/index.js:
--------------------------------------------------------------------------------
1 | var GLOBAL_DT = [];
2 | var tb = document.querySelector("#tb");
3 | const loadingContainer = document.getElementById("loading-container");
4 |
5 | var current_pointer = 0;
6 | var ind = 0;
7 | var backend_url = "https://api-leaderboard.onrender.com/getLeaderBoard";
8 | const start = async (
9 | url = "https://api-leaderboard.onrender.com/getLeaderBoard"
10 | ) => {
11 | loadingContainer.style.display = "flex";
12 | const res = await fetch(url);
13 | const json_ = await res.json();
14 | GLOBAL_DT = Object.entries(json_).sort((c, d) => -c[1].points + d[1].points);
15 | GLOBAL_DT.slice(current_pointer, current_pointer + 30).map((each) => {
16 | var entry = `
17 | ${++ind} |
18 | ${
19 | each[1]["user_name"]
20 | } |
21 | ${each[1]["points"]} |
22 |  |
25 |
26 | `;
27 | tb.innerHTML += entry;
28 | });
29 |
30 | current_pointer += 30;
31 | };
32 |
33 | document.querySelector("#load-more").addEventListener("click", () => {
34 | GLOBAL_DT.slice(current_pointer, current_pointer + 30).map((each) => {
35 | var entry = `
36 | ${++ind} |
37 | ${
38 | each[1]["user_name"]
39 | } |
40 | ${each[1]["points"]} |
41 |  |
44 |
45 | `;
46 | tb.innerHTML += entry;
47 | });
48 | current_pointer += 30;
49 | });
50 |
51 | var tb = document.querySelector("#tb");
52 | var i = 1;
53 | // for(var each in dt){
54 | // var str = `
55 | // ${i} |
56 | // ${dt[each]['user_name']} |
57 | // ${dt[each]['points']} |
58 | //  |
59 | //
60 | // `
61 | // tb.innerHTML +=str;
62 | // i+=1;
63 | // }
64 | start();
65 |
66 | let form = document.querySelector("#searchForm");
67 |
68 | form.addEventListener("submit", (e) => {
69 | e.preventDefault();
70 |
71 | // TODO: if you want to use query param approach
72 | // const urlParams = new URLSearchParams(window.location.search);
73 | // console.log(urlParams.get("search"));
74 |
75 | const input = e.target[0].value.toLowerCase();
76 |
77 | if (input !== undefined && input !== "") {
78 | const searchedData = GLOBAL_DT.filter((element) =>
79 | element[1]["user_name"].toLowerCase().includes(input)
80 | );
81 |
82 | tb.innerHTML = `
83 |
84 | Rank |
85 | Name |
86 | Score |
87 | Image |
88 |
89 | `;
90 |
91 | //Adding the search result data to rows of table
92 | for (i = 0; i < searchedData.length; i++) {
93 | let userName = searchedData[i][0];
94 | let points = searchedData[i][1].points;
95 | let rank =
96 | GLOBAL_DT.findIndex((element) =>
97 | element[0].toLowerCase().includes(userName.toLowerCase())
98 | ) + 1;
99 | let userAvatar = GLOBAL_DT[rank-1][1].user_avatar;
100 |
101 | let entry = `
102 |
103 | ${rank} |
104 | ${userName} |
105 | ${points} |
106 |  |
107 |
108 | `;
109 |
110 | tb.innerHTML += entry;
111 | }
112 | } else {
113 | window.location.reload();
114 | }
115 | });
116 |
--------------------------------------------------------------------------------
/client/style.css:
--------------------------------------------------------------------------------
1 | @import url('https://fonts.googleapis.com/css2?family=Poppins&display=swap');
2 |
3 |
4 | body{
5 | font-family: 'Poppins', sans-serif;
6 | background-color: #d4d2d2;
7 | }
8 |
9 | input:hover{
10 | filter: drop-shadow(2px 2px 2px #000);
11 | transition: .2s ease;
12 | }
13 |
14 | button:hover{
15 | transform: scale(1.1);
16 | transition: .2s ease;
17 | cursor: pointer;
18 | }
19 |
20 | table {
21 | width: 100%;
22 | border-collapse: collapse;
23 | }
24 |
25 | a{
26 | text-decoration: none;
27 | color: black;
28 | }
29 |
30 | th,
31 | td {
32 | padding: 8px;
33 | text-align: left;
34 | border-bottom: 1px solid #ddd;
35 | }
36 |
37 | th {
38 | background-color: #f2f2f2;
39 | }
40 |
41 | .leaderboard-image {
42 | max-width: 50px;
43 | max-height: 50px;
44 | }
45 |
46 | #load-more {
47 | margin-top: 20px;
48 | }
49 | #loading-container {
50 | display: flex;
51 | justify-content: center;
52 | align-items: center;
53 | height: 100vh;
54 | }
55 |
56 | .loader {
57 | border: 8px solid #f3f3f3;
58 | border-top: 8px solid #3498db;
59 | border-radius: 50%;
60 | width: 60px;
61 | height: 60px;
62 | animation: spin 2s linear infinite;
63 | }
64 |
65 | @keyframes spin {
66 | 0% {
67 | transform: rotate(0deg);
68 | }
69 | 100% {
70 | transform: rotate(360deg);
71 | }
72 | }
73 |
74 |
75 | #searchForm {
76 | max-width: 50%;
77 | margin: auto;
78 | }
79 |
80 | .form-control {
81 | width: 100%;
82 | margin: auto;
83 | padding: 0.8rem 1rem;
84 | box-shadow: 0 2px 10px rgba(0, 0, 0, 0.01);
85 | border-radius: 0.5rem;
86 | }
87 |
88 | .btn {
89 | padding: 0.5rem 1.2rem;
90 | border: none;
91 | outline: none;
92 | box-shadow: 0 2px 10px rgba(0, 0, 0, 0.01);
93 | border-radius: 0.5rem;
94 | width: 50%;
95 | margin: 0.4rem;
96 | font-size: 1rem;
97 | }
98 |
99 | .btn-container {
100 | display: flex;
101 | justify-content: center;
102 | }
103 |
104 | .btn-blue {
105 | background-color: rgb(26, 228, 255);
106 | }
107 | .btn-yellow {
108 | background-color: lightsalmon;
109 | }table {
110 | width: 100%;
111 | border-collapse: collapse;
112 | }
113 |
114 | th,
115 | td {
116 | padding: 8px;
117 | text-align: left;
118 | border-bottom: 1px solid #ddd;
119 | }
120 |
121 | th {
122 | background-color: #f2f2f2;
123 | }
124 |
125 | .leaderboard-image {
126 | max-width: 50px;
127 | max-height: 50px;
128 | }
129 |
130 | #load-more {
131 | margin-top: 20px;
132 | }
133 | #loading-container {
134 | display: flex;
135 | justify-content: center;
136 | align-items: center;
137 | height: 100vh;
138 | }
139 |
140 | .loader {
141 | border: 8px solid #f3f3f3;
142 | border-top: 8px solid #3498db;
143 | border-radius: 50%;
144 | width: 60px;
145 | height: 60px;
146 | animation: spin 2s linear infinite;
147 | }
148 |
149 | @keyframes spin {
150 | 0% {
151 | transform: rotate(0deg);
152 | }
153 | 100% {
154 | transform: rotate(360deg);
155 | }
156 | }
157 |
158 |
159 | #searchForm {
160 | max-width: 50%;
161 | margin: auto;
162 | }
163 |
164 | .form-control {
165 | width: 100%;
166 | margin: auto;
167 | padding: 0.8rem 1rem;
168 | box-shadow: 0 2px 10px rgba(0, 0, 0, 0.01);
169 | border-radius: 0.5rem;
170 | }
171 |
172 | .btn {
173 | padding: 0.5rem 1.2rem;
174 | border: none;
175 | outline: none;
176 | box-shadow: 0 2px 10px rgba(0, 0, 0, 0.01);
177 | border-radius: 0.5rem;
178 | width: 50%;
179 | margin: 0.4rem;
180 | font-size: 1rem;
181 | }
182 |
183 | .btn-blue {
184 | background-color: lightgreen;
185 | }
186 | .btn-yellow {
187 | background-color: lightsalmon;
188 | }
--------------------------------------------------------------------------------
/server/.env.example:
--------------------------------------------------------------------------------
1 | TOKENS=["github_pat_11AOSH73..............","github_pat_11AOSH73................"]
2 | PORT=80
--------------------------------------------------------------------------------
/server/index.js:
--------------------------------------------------------------------------------
1 | const express = require("express")
2 | const cors = require("cors");
3 | const request = require('sync-request');
4 | const morgan = require('morgan')
5 |
6 | require('dotenv').config()
7 |
8 | const app = express();
9 |
10 |
11 | var GLOBAL_DT = {
12 | "first_date":"2023-05-18T00:00:00Z",
13 | "repos_list":[],
14 | "leaderboard":{},
15 | "points":{"level1":10,"level2":25,"level3":45}
16 | }
17 | function sleep(ms) {
18 | return new Promise(resolve => setTimeout(resolve, ms));
19 | }
20 |
21 | app.use(cors())
22 | app.use(express.json())
23 | app.use(morgan('combined'))
24 |
25 | app.get("/", (req, res) => {
26 | res.send(JSON.stringify({"status":200,"working":true}));
27 | });
28 | //Object.entries(a).sort((c,d)=> c.points- d.points)
29 |
30 | TOKENS=JSON.parse(process.env.TOKENS)
31 | t_ind = 0;
32 | function Update_leaderBoard(){
33 | total_pages = 0;
34 | for(var each of GLOBAL_DT['repos_list']){
35 | if(total_pages > 10){
36 | console.log("chaning page");
37 | t_ind= (t_ind+1)%TOKENS.length;
38 | }
39 | var repo = each['project_link'].split("/").slice(-2).join("/");
40 | console.log('starting with ',repo);
41 |
42 | var last_date_ =false;
43 | var page_no = 1;
44 | while(!last_date_){
45 | total_pages+=1;
46 | const options = {
47 | headers: {
48 | 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36',
49 | "Authorization": "Bearer "+TOKENS[t_ind]
50 | }
51 | };
52 | var jsonData;
53 |
54 | const response = request('GET', `https://api.github.com/repos/${repo}/issues?state=closed&page=${page_no.toString()}&per_page=100`,options);
55 | if(response.statusCode == 404|| response.statusCode == 403){
56 | break;
57 | }
58 |
59 | jsonData = JSON.parse(response.getBody('utf8'));
60 |
61 |
62 | // console.log(response);
63 | // const jsonData = response.data;
64 | // console.log(jsonData);
65 | //check if issues are before starting date
66 |
67 | if(jsonData.length == 0){
68 | last_date_ = true;
69 | break;
70 | }
71 | if(new Date(jsonData[0]['created_at']) < new Date(GLOBAL_DT['first_date'])){
72 | last_date_ = true;
73 | break;
74 | }
75 | console.log("got page ",page_no,repo);
76 | for(var issue_ of jsonData){
77 | var is_valid = false;
78 | var label_points ='';
79 | for(var label of issue_['labels']){
80 | if(label['name'] ==='level1'|| label['name'] ==='level2'|| label['name'] ==='level3'){
81 | label_points = GLOBAL_DT['points'][label['name'] ]
82 | is_valid = true;
83 | break;
84 | }
85 | }
86 | if(is_valid){
87 | var users_ = []
88 | // valid if given any one of the level 1, 2 or 3
89 | if(issue_['pull_request']){
90 | if(issue_['pull_request']['merged_at']){
91 | // valid if pull request was merged
92 | user_name = issue_['user']['login'];
93 | user_avatar = issue_['user']['avatar_url'];
94 | users_.push({user_name,user_avatar})
95 | }
96 | }
97 | else if(issue_['state'] == 'closed' && issue_['state_reason'] == "completed"){
98 | //valid if issue was closed and completed and someone was assigned to it
99 | for(var user_ of issue_['assignees']){
100 | user_name = user_['login'];
101 | user_avatar = user_['avatar_url'];
102 | users_.push({user_name,user_avatar})
103 | }
104 | }
105 | for(var user of users_){
106 | if(GLOBAL_DT['leaderboard'][user['user_name']]){
107 | GLOBAL_DT['leaderboard'][user['user_name']]['points'] +=label_points
108 | }
109 | else{
110 | GLOBAL_DT['leaderboard'][user['user_name']] =user;
111 | GLOBAL_DT['leaderboard'][user['user_name']]['points'] = label_points
112 |
113 | }
114 | }
115 | }
116 |
117 | }
118 |
119 |
120 |
121 |
122 | page_no+=1;
123 | }
124 | }
125 | }
126 |
127 | function initializeRepo(){
128 | const response = request('GET', 'https://opensheet.elk.sh/1v7VqK6i_xJK4nJ6GKzoeafwrnlJR8Y5-8v0Qfsh3gqo/Shortlisted');
129 | const jsonData = JSON.parse(response.getBody('utf8'));
130 | GLOBAL_DT['repos_list'] = jsonData
131 | console.log("Repo List is fetched");
132 | }
133 |
134 |
135 | app.get("/getLeaderBoard", (req, res) => {
136 | res.send(JSON.stringify(GLOBAL_DT['leaderboard']));
137 | });
138 |
139 | app.get("/get", (req, res) => {
140 | res.send(JSON.stringify(GLOBAL_DT['repos_list']));
141 | });
142 |
143 | const port = process.env.PORT || 3000
144 |
145 | app.listen(port,() => {
146 | initializeRepo();
147 | try{
148 | Update_leaderBoard();
149 | }
150 | catch(err){
151 | console.log("error",err);
152 | }
153 | console.log(`backend running at port ${port}`);
154 | })
155 |
156 |
157 |
--------------------------------------------------------------------------------
/server/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "ggsoc_leaderboard_server",
3 | "version": "1.0.0",
4 | "lockfileVersion": 2,
5 | "requires": true,
6 | "packages": {
7 | "": {
8 | "name": "ggsoc_leaderboard_server",
9 | "version": "1.0.0",
10 | "license": "ISC",
11 | "dependencies": {
12 | "axios": "^1.4.0",
13 | "cors": "^2.8.5",
14 | "dotenv": "^16.1.1",
15 | "express": "^4.18.2",
16 | "morgan": "^1.10.0",
17 | "sync-request": "^6.1.0"
18 | }
19 | },
20 | "node_modules/@types/concat-stream": {
21 | "version": "1.6.1",
22 | "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz",
23 | "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==",
24 | "dependencies": {
25 | "@types/node": "*"
26 | }
27 | },
28 | "node_modules/@types/form-data": {
29 | "version": "0.0.33",
30 | "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz",
31 | "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==",
32 | "dependencies": {
33 | "@types/node": "*"
34 | }
35 | },
36 | "node_modules/@types/node": {
37 | "version": "10.17.60",
38 | "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz",
39 | "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw=="
40 | },
41 | "node_modules/@types/qs": {
42 | "version": "6.9.7",
43 | "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz",
44 | "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw=="
45 | },
46 | "node_modules/accepts": {
47 | "version": "1.3.8",
48 | "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
49 | "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
50 | "dependencies": {
51 | "mime-types": "~2.1.34",
52 | "negotiator": "0.6.3"
53 | },
54 | "engines": {
55 | "node": ">= 0.6"
56 | }
57 | },
58 | "node_modules/array-flatten": {
59 | "version": "1.1.1",
60 | "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
61 | "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg=="
62 | },
63 | "node_modules/asap": {
64 | "version": "2.0.6",
65 | "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
66 | "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA=="
67 | },
68 | "node_modules/asynckit": {
69 | "version": "0.4.0",
70 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
71 | "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
72 | },
73 | "node_modules/axios": {
74 | "version": "1.4.0",
75 | "resolved": "https://registry.npmjs.org/axios/-/axios-1.4.0.tgz",
76 | "integrity": "sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==",
77 | "dependencies": {
78 | "follow-redirects": "^1.15.0",
79 | "form-data": "^4.0.0",
80 | "proxy-from-env": "^1.1.0"
81 | }
82 | },
83 | "node_modules/basic-auth": {
84 | "version": "2.0.1",
85 | "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz",
86 | "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==",
87 | "dependencies": {
88 | "safe-buffer": "5.1.2"
89 | },
90 | "engines": {
91 | "node": ">= 0.8"
92 | }
93 | },
94 | "node_modules/basic-auth/node_modules/safe-buffer": {
95 | "version": "5.1.2",
96 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
97 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
98 | },
99 | "node_modules/body-parser": {
100 | "version": "1.20.1",
101 | "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz",
102 | "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==",
103 | "dependencies": {
104 | "bytes": "3.1.2",
105 | "content-type": "~1.0.4",
106 | "debug": "2.6.9",
107 | "depd": "2.0.0",
108 | "destroy": "1.2.0",
109 | "http-errors": "2.0.0",
110 | "iconv-lite": "0.4.24",
111 | "on-finished": "2.4.1",
112 | "qs": "6.11.0",
113 | "raw-body": "2.5.1",
114 | "type-is": "~1.6.18",
115 | "unpipe": "1.0.0"
116 | },
117 | "engines": {
118 | "node": ">= 0.8",
119 | "npm": "1.2.8000 || >= 1.4.16"
120 | }
121 | },
122 | "node_modules/buffer-from": {
123 | "version": "1.1.2",
124 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
125 | "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="
126 | },
127 | "node_modules/bytes": {
128 | "version": "3.1.2",
129 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
130 | "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
131 | "engines": {
132 | "node": ">= 0.8"
133 | }
134 | },
135 | "node_modules/call-bind": {
136 | "version": "1.0.2",
137 | "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
138 | "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
139 | "dependencies": {
140 | "function-bind": "^1.1.1",
141 | "get-intrinsic": "^1.0.2"
142 | },
143 | "funding": {
144 | "url": "https://github.com/sponsors/ljharb"
145 | }
146 | },
147 | "node_modules/caseless": {
148 | "version": "0.12.0",
149 | "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
150 | "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw=="
151 | },
152 | "node_modules/combined-stream": {
153 | "version": "1.0.8",
154 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
155 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
156 | "dependencies": {
157 | "delayed-stream": "~1.0.0"
158 | },
159 | "engines": {
160 | "node": ">= 0.8"
161 | }
162 | },
163 | "node_modules/concat-stream": {
164 | "version": "1.6.2",
165 | "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
166 | "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
167 | "engines": [
168 | "node >= 0.8"
169 | ],
170 | "dependencies": {
171 | "buffer-from": "^1.0.0",
172 | "inherits": "^2.0.3",
173 | "readable-stream": "^2.2.2",
174 | "typedarray": "^0.0.6"
175 | }
176 | },
177 | "node_modules/content-disposition": {
178 | "version": "0.5.4",
179 | "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
180 | "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
181 | "dependencies": {
182 | "safe-buffer": "5.2.1"
183 | },
184 | "engines": {
185 | "node": ">= 0.6"
186 | }
187 | },
188 | "node_modules/content-type": {
189 | "version": "1.0.5",
190 | "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
191 | "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
192 | "engines": {
193 | "node": ">= 0.6"
194 | }
195 | },
196 | "node_modules/cookie": {
197 | "version": "0.5.0",
198 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
199 | "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==",
200 | "engines": {
201 | "node": ">= 0.6"
202 | }
203 | },
204 | "node_modules/cookie-signature": {
205 | "version": "1.0.6",
206 | "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
207 | "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ=="
208 | },
209 | "node_modules/core-util-is": {
210 | "version": "1.0.3",
211 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
212 | "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="
213 | },
214 | "node_modules/cors": {
215 | "version": "2.8.5",
216 | "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
217 | "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
218 | "dependencies": {
219 | "object-assign": "^4",
220 | "vary": "^1"
221 | },
222 | "engines": {
223 | "node": ">= 0.10"
224 | }
225 | },
226 | "node_modules/debug": {
227 | "version": "2.6.9",
228 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
229 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
230 | "dependencies": {
231 | "ms": "2.0.0"
232 | }
233 | },
234 | "node_modules/delayed-stream": {
235 | "version": "1.0.0",
236 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
237 | "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
238 | "engines": {
239 | "node": ">=0.4.0"
240 | }
241 | },
242 | "node_modules/depd": {
243 | "version": "2.0.0",
244 | "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
245 | "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
246 | "engines": {
247 | "node": ">= 0.8"
248 | }
249 | },
250 | "node_modules/destroy": {
251 | "version": "1.2.0",
252 | "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
253 | "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
254 | "engines": {
255 | "node": ">= 0.8",
256 | "npm": "1.2.8000 || >= 1.4.16"
257 | }
258 | },
259 | "node_modules/dotenv": {
260 | "version": "16.1.1",
261 | "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.1.1.tgz",
262 | "integrity": "sha512-UGmzIqXU/4b6Vb3R1Vrfd/4vGgVlB+mO+vEixOdfRhLeppkyW2BMhuK7TL8d0el+q9c4lW9qK2wZYhNLFhXYLA==",
263 | "engines": {
264 | "node": ">=12"
265 | },
266 | "funding": {
267 | "url": "https://github.com/motdotla/dotenv?sponsor=1"
268 | }
269 | },
270 | "node_modules/ee-first": {
271 | "version": "1.1.1",
272 | "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
273 | "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
274 | },
275 | "node_modules/encodeurl": {
276 | "version": "1.0.2",
277 | "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
278 | "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
279 | "engines": {
280 | "node": ">= 0.8"
281 | }
282 | },
283 | "node_modules/escape-html": {
284 | "version": "1.0.3",
285 | "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
286 | "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
287 | },
288 | "node_modules/etag": {
289 | "version": "1.8.1",
290 | "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
291 | "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
292 | "engines": {
293 | "node": ">= 0.6"
294 | }
295 | },
296 | "node_modules/express": {
297 | "version": "4.18.2",
298 | "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz",
299 | "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==",
300 | "dependencies": {
301 | "accepts": "~1.3.8",
302 | "array-flatten": "1.1.1",
303 | "body-parser": "1.20.1",
304 | "content-disposition": "0.5.4",
305 | "content-type": "~1.0.4",
306 | "cookie": "0.5.0",
307 | "cookie-signature": "1.0.6",
308 | "debug": "2.6.9",
309 | "depd": "2.0.0",
310 | "encodeurl": "~1.0.2",
311 | "escape-html": "~1.0.3",
312 | "etag": "~1.8.1",
313 | "finalhandler": "1.2.0",
314 | "fresh": "0.5.2",
315 | "http-errors": "2.0.0",
316 | "merge-descriptors": "1.0.1",
317 | "methods": "~1.1.2",
318 | "on-finished": "2.4.1",
319 | "parseurl": "~1.3.3",
320 | "path-to-regexp": "0.1.7",
321 | "proxy-addr": "~2.0.7",
322 | "qs": "6.11.0",
323 | "range-parser": "~1.2.1",
324 | "safe-buffer": "5.2.1",
325 | "send": "0.18.0",
326 | "serve-static": "1.15.0",
327 | "setprototypeof": "1.2.0",
328 | "statuses": "2.0.1",
329 | "type-is": "~1.6.18",
330 | "utils-merge": "1.0.1",
331 | "vary": "~1.1.2"
332 | },
333 | "engines": {
334 | "node": ">= 0.10.0"
335 | }
336 | },
337 | "node_modules/finalhandler": {
338 | "version": "1.2.0",
339 | "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz",
340 | "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==",
341 | "dependencies": {
342 | "debug": "2.6.9",
343 | "encodeurl": "~1.0.2",
344 | "escape-html": "~1.0.3",
345 | "on-finished": "2.4.1",
346 | "parseurl": "~1.3.3",
347 | "statuses": "2.0.1",
348 | "unpipe": "~1.0.0"
349 | },
350 | "engines": {
351 | "node": ">= 0.8"
352 | }
353 | },
354 | "node_modules/follow-redirects": {
355 | "version": "1.15.2",
356 | "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz",
357 | "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==",
358 | "funding": [
359 | {
360 | "type": "individual",
361 | "url": "https://github.com/sponsors/RubenVerborgh"
362 | }
363 | ],
364 | "engines": {
365 | "node": ">=4.0"
366 | },
367 | "peerDependenciesMeta": {
368 | "debug": {
369 | "optional": true
370 | }
371 | }
372 | },
373 | "node_modules/form-data": {
374 | "version": "4.0.0",
375 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
376 | "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
377 | "dependencies": {
378 | "asynckit": "^0.4.0",
379 | "combined-stream": "^1.0.8",
380 | "mime-types": "^2.1.12"
381 | },
382 | "engines": {
383 | "node": ">= 6"
384 | }
385 | },
386 | "node_modules/forwarded": {
387 | "version": "0.2.0",
388 | "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
389 | "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
390 | "engines": {
391 | "node": ">= 0.6"
392 | }
393 | },
394 | "node_modules/fresh": {
395 | "version": "0.5.2",
396 | "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
397 | "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
398 | "engines": {
399 | "node": ">= 0.6"
400 | }
401 | },
402 | "node_modules/function-bind": {
403 | "version": "1.1.1",
404 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
405 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
406 | },
407 | "node_modules/get-intrinsic": {
408 | "version": "1.2.1",
409 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz",
410 | "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==",
411 | "dependencies": {
412 | "function-bind": "^1.1.1",
413 | "has": "^1.0.3",
414 | "has-proto": "^1.0.1",
415 | "has-symbols": "^1.0.3"
416 | },
417 | "funding": {
418 | "url": "https://github.com/sponsors/ljharb"
419 | }
420 | },
421 | "node_modules/get-port": {
422 | "version": "3.2.0",
423 | "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz",
424 | "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==",
425 | "engines": {
426 | "node": ">=4"
427 | }
428 | },
429 | "node_modules/has": {
430 | "version": "1.0.3",
431 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
432 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
433 | "dependencies": {
434 | "function-bind": "^1.1.1"
435 | },
436 | "engines": {
437 | "node": ">= 0.4.0"
438 | }
439 | },
440 | "node_modules/has-proto": {
441 | "version": "1.0.1",
442 | "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz",
443 | "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==",
444 | "engines": {
445 | "node": ">= 0.4"
446 | },
447 | "funding": {
448 | "url": "https://github.com/sponsors/ljharb"
449 | }
450 | },
451 | "node_modules/has-symbols": {
452 | "version": "1.0.3",
453 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
454 | "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
455 | "engines": {
456 | "node": ">= 0.4"
457 | },
458 | "funding": {
459 | "url": "https://github.com/sponsors/ljharb"
460 | }
461 | },
462 | "node_modules/http-basic": {
463 | "version": "8.1.3",
464 | "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz",
465 | "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==",
466 | "dependencies": {
467 | "caseless": "^0.12.0",
468 | "concat-stream": "^1.6.2",
469 | "http-response-object": "^3.0.1",
470 | "parse-cache-control": "^1.0.1"
471 | },
472 | "engines": {
473 | "node": ">=6.0.0"
474 | }
475 | },
476 | "node_modules/http-errors": {
477 | "version": "2.0.0",
478 | "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
479 | "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
480 | "dependencies": {
481 | "depd": "2.0.0",
482 | "inherits": "2.0.4",
483 | "setprototypeof": "1.2.0",
484 | "statuses": "2.0.1",
485 | "toidentifier": "1.0.1"
486 | },
487 | "engines": {
488 | "node": ">= 0.8"
489 | }
490 | },
491 | "node_modules/http-response-object": {
492 | "version": "3.0.2",
493 | "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz",
494 | "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==",
495 | "dependencies": {
496 | "@types/node": "^10.0.3"
497 | }
498 | },
499 | "node_modules/iconv-lite": {
500 | "version": "0.4.24",
501 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
502 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
503 | "dependencies": {
504 | "safer-buffer": ">= 2.1.2 < 3"
505 | },
506 | "engines": {
507 | "node": ">=0.10.0"
508 | }
509 | },
510 | "node_modules/inherits": {
511 | "version": "2.0.4",
512 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
513 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
514 | },
515 | "node_modules/ipaddr.js": {
516 | "version": "1.9.1",
517 | "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
518 | "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
519 | "engines": {
520 | "node": ">= 0.10"
521 | }
522 | },
523 | "node_modules/isarray": {
524 | "version": "1.0.0",
525 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
526 | "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="
527 | },
528 | "node_modules/media-typer": {
529 | "version": "0.3.0",
530 | "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
531 | "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
532 | "engines": {
533 | "node": ">= 0.6"
534 | }
535 | },
536 | "node_modules/merge-descriptors": {
537 | "version": "1.0.1",
538 | "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
539 | "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w=="
540 | },
541 | "node_modules/methods": {
542 | "version": "1.1.2",
543 | "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
544 | "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==",
545 | "engines": {
546 | "node": ">= 0.6"
547 | }
548 | },
549 | "node_modules/mime": {
550 | "version": "1.6.0",
551 | "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
552 | "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
553 | "bin": {
554 | "mime": "cli.js"
555 | },
556 | "engines": {
557 | "node": ">=4"
558 | }
559 | },
560 | "node_modules/mime-db": {
561 | "version": "1.52.0",
562 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
563 | "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
564 | "engines": {
565 | "node": ">= 0.6"
566 | }
567 | },
568 | "node_modules/mime-types": {
569 | "version": "2.1.35",
570 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
571 | "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
572 | "dependencies": {
573 | "mime-db": "1.52.0"
574 | },
575 | "engines": {
576 | "node": ">= 0.6"
577 | }
578 | },
579 | "node_modules/morgan": {
580 | "version": "1.10.0",
581 | "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.10.0.tgz",
582 | "integrity": "sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==",
583 | "dependencies": {
584 | "basic-auth": "~2.0.1",
585 | "debug": "2.6.9",
586 | "depd": "~2.0.0",
587 | "on-finished": "~2.3.0",
588 | "on-headers": "~1.0.2"
589 | },
590 | "engines": {
591 | "node": ">= 0.8.0"
592 | }
593 | },
594 | "node_modules/morgan/node_modules/on-finished": {
595 | "version": "2.3.0",
596 | "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
597 | "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==",
598 | "dependencies": {
599 | "ee-first": "1.1.1"
600 | },
601 | "engines": {
602 | "node": ">= 0.8"
603 | }
604 | },
605 | "node_modules/ms": {
606 | "version": "2.0.0",
607 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
608 | "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
609 | },
610 | "node_modules/negotiator": {
611 | "version": "0.6.3",
612 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
613 | "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
614 | "engines": {
615 | "node": ">= 0.6"
616 | }
617 | },
618 | "node_modules/object-assign": {
619 | "version": "4.1.1",
620 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
621 | "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
622 | "engines": {
623 | "node": ">=0.10.0"
624 | }
625 | },
626 | "node_modules/object-inspect": {
627 | "version": "1.12.3",
628 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz",
629 | "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==",
630 | "funding": {
631 | "url": "https://github.com/sponsors/ljharb"
632 | }
633 | },
634 | "node_modules/on-finished": {
635 | "version": "2.4.1",
636 | "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
637 | "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
638 | "dependencies": {
639 | "ee-first": "1.1.1"
640 | },
641 | "engines": {
642 | "node": ">= 0.8"
643 | }
644 | },
645 | "node_modules/on-headers": {
646 | "version": "1.0.2",
647 | "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz",
648 | "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==",
649 | "engines": {
650 | "node": ">= 0.8"
651 | }
652 | },
653 | "node_modules/parse-cache-control": {
654 | "version": "1.0.1",
655 | "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz",
656 | "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg=="
657 | },
658 | "node_modules/parseurl": {
659 | "version": "1.3.3",
660 | "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
661 | "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
662 | "engines": {
663 | "node": ">= 0.8"
664 | }
665 | },
666 | "node_modules/path-to-regexp": {
667 | "version": "0.1.7",
668 | "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
669 | "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ=="
670 | },
671 | "node_modules/process-nextick-args": {
672 | "version": "2.0.1",
673 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
674 | "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
675 | },
676 | "node_modules/promise": {
677 | "version": "8.3.0",
678 | "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz",
679 | "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==",
680 | "dependencies": {
681 | "asap": "~2.0.6"
682 | }
683 | },
684 | "node_modules/proxy-addr": {
685 | "version": "2.0.7",
686 | "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
687 | "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
688 | "dependencies": {
689 | "forwarded": "0.2.0",
690 | "ipaddr.js": "1.9.1"
691 | },
692 | "engines": {
693 | "node": ">= 0.10"
694 | }
695 | },
696 | "node_modules/proxy-from-env": {
697 | "version": "1.1.0",
698 | "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
699 | "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
700 | },
701 | "node_modules/qs": {
702 | "version": "6.11.0",
703 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
704 | "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
705 | "dependencies": {
706 | "side-channel": "^1.0.4"
707 | },
708 | "engines": {
709 | "node": ">=0.6"
710 | },
711 | "funding": {
712 | "url": "https://github.com/sponsors/ljharb"
713 | }
714 | },
715 | "node_modules/range-parser": {
716 | "version": "1.2.1",
717 | "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
718 | "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
719 | "engines": {
720 | "node": ">= 0.6"
721 | }
722 | },
723 | "node_modules/raw-body": {
724 | "version": "2.5.1",
725 | "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz",
726 | "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==",
727 | "dependencies": {
728 | "bytes": "3.1.2",
729 | "http-errors": "2.0.0",
730 | "iconv-lite": "0.4.24",
731 | "unpipe": "1.0.0"
732 | },
733 | "engines": {
734 | "node": ">= 0.8"
735 | }
736 | },
737 | "node_modules/readable-stream": {
738 | "version": "2.3.8",
739 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
740 | "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
741 | "dependencies": {
742 | "core-util-is": "~1.0.0",
743 | "inherits": "~2.0.3",
744 | "isarray": "~1.0.0",
745 | "process-nextick-args": "~2.0.0",
746 | "safe-buffer": "~5.1.1",
747 | "string_decoder": "~1.1.1",
748 | "util-deprecate": "~1.0.1"
749 | }
750 | },
751 | "node_modules/readable-stream/node_modules/safe-buffer": {
752 | "version": "5.1.2",
753 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
754 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
755 | },
756 | "node_modules/safe-buffer": {
757 | "version": "5.2.1",
758 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
759 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
760 | "funding": [
761 | {
762 | "type": "github",
763 | "url": "https://github.com/sponsors/feross"
764 | },
765 | {
766 | "type": "patreon",
767 | "url": "https://www.patreon.com/feross"
768 | },
769 | {
770 | "type": "consulting",
771 | "url": "https://feross.org/support"
772 | }
773 | ]
774 | },
775 | "node_modules/safer-buffer": {
776 | "version": "2.1.2",
777 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
778 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
779 | },
780 | "node_modules/send": {
781 | "version": "0.18.0",
782 | "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
783 | "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
784 | "dependencies": {
785 | "debug": "2.6.9",
786 | "depd": "2.0.0",
787 | "destroy": "1.2.0",
788 | "encodeurl": "~1.0.2",
789 | "escape-html": "~1.0.3",
790 | "etag": "~1.8.1",
791 | "fresh": "0.5.2",
792 | "http-errors": "2.0.0",
793 | "mime": "1.6.0",
794 | "ms": "2.1.3",
795 | "on-finished": "2.4.1",
796 | "range-parser": "~1.2.1",
797 | "statuses": "2.0.1"
798 | },
799 | "engines": {
800 | "node": ">= 0.8.0"
801 | }
802 | },
803 | "node_modules/send/node_modules/ms": {
804 | "version": "2.1.3",
805 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
806 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
807 | },
808 | "node_modules/serve-static": {
809 | "version": "1.15.0",
810 | "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz",
811 | "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==",
812 | "dependencies": {
813 | "encodeurl": "~1.0.2",
814 | "escape-html": "~1.0.3",
815 | "parseurl": "~1.3.3",
816 | "send": "0.18.0"
817 | },
818 | "engines": {
819 | "node": ">= 0.8.0"
820 | }
821 | },
822 | "node_modules/setprototypeof": {
823 | "version": "1.2.0",
824 | "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
825 | "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
826 | },
827 | "node_modules/side-channel": {
828 | "version": "1.0.4",
829 | "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
830 | "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
831 | "dependencies": {
832 | "call-bind": "^1.0.0",
833 | "get-intrinsic": "^1.0.2",
834 | "object-inspect": "^1.9.0"
835 | },
836 | "funding": {
837 | "url": "https://github.com/sponsors/ljharb"
838 | }
839 | },
840 | "node_modules/statuses": {
841 | "version": "2.0.1",
842 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
843 | "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
844 | "engines": {
845 | "node": ">= 0.8"
846 | }
847 | },
848 | "node_modules/string_decoder": {
849 | "version": "1.1.1",
850 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
851 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
852 | "dependencies": {
853 | "safe-buffer": "~5.1.0"
854 | }
855 | },
856 | "node_modules/string_decoder/node_modules/safe-buffer": {
857 | "version": "5.1.2",
858 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
859 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
860 | },
861 | "node_modules/sync-request": {
862 | "version": "6.1.0",
863 | "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz",
864 | "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==",
865 | "dependencies": {
866 | "http-response-object": "^3.0.1",
867 | "sync-rpc": "^1.2.1",
868 | "then-request": "^6.0.0"
869 | },
870 | "engines": {
871 | "node": ">=8.0.0"
872 | }
873 | },
874 | "node_modules/sync-rpc": {
875 | "version": "1.3.6",
876 | "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz",
877 | "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==",
878 | "dependencies": {
879 | "get-port": "^3.1.0"
880 | }
881 | },
882 | "node_modules/then-request": {
883 | "version": "6.0.2",
884 | "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz",
885 | "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==",
886 | "dependencies": {
887 | "@types/concat-stream": "^1.6.0",
888 | "@types/form-data": "0.0.33",
889 | "@types/node": "^8.0.0",
890 | "@types/qs": "^6.2.31",
891 | "caseless": "~0.12.0",
892 | "concat-stream": "^1.6.0",
893 | "form-data": "^2.2.0",
894 | "http-basic": "^8.1.1",
895 | "http-response-object": "^3.0.1",
896 | "promise": "^8.0.0",
897 | "qs": "^6.4.0"
898 | },
899 | "engines": {
900 | "node": ">=6.0.0"
901 | }
902 | },
903 | "node_modules/then-request/node_modules/@types/node": {
904 | "version": "8.10.66",
905 | "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz",
906 | "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw=="
907 | },
908 | "node_modules/then-request/node_modules/form-data": {
909 | "version": "2.5.1",
910 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz",
911 | "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==",
912 | "dependencies": {
913 | "asynckit": "^0.4.0",
914 | "combined-stream": "^1.0.6",
915 | "mime-types": "^2.1.12"
916 | },
917 | "engines": {
918 | "node": ">= 0.12"
919 | }
920 | },
921 | "node_modules/toidentifier": {
922 | "version": "1.0.1",
923 | "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
924 | "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
925 | "engines": {
926 | "node": ">=0.6"
927 | }
928 | },
929 | "node_modules/type-is": {
930 | "version": "1.6.18",
931 | "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
932 | "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
933 | "dependencies": {
934 | "media-typer": "0.3.0",
935 | "mime-types": "~2.1.24"
936 | },
937 | "engines": {
938 | "node": ">= 0.6"
939 | }
940 | },
941 | "node_modules/typedarray": {
942 | "version": "0.0.6",
943 | "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
944 | "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA=="
945 | },
946 | "node_modules/unpipe": {
947 | "version": "1.0.0",
948 | "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
949 | "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
950 | "engines": {
951 | "node": ">= 0.8"
952 | }
953 | },
954 | "node_modules/util-deprecate": {
955 | "version": "1.0.2",
956 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
957 | "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
958 | },
959 | "node_modules/utils-merge": {
960 | "version": "1.0.1",
961 | "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
962 | "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==",
963 | "engines": {
964 | "node": ">= 0.4.0"
965 | }
966 | },
967 | "node_modules/vary": {
968 | "version": "1.1.2",
969 | "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
970 | "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
971 | "engines": {
972 | "node": ">= 0.8"
973 | }
974 | }
975 | },
976 | "dependencies": {
977 | "@types/concat-stream": {
978 | "version": "1.6.1",
979 | "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz",
980 | "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==",
981 | "requires": {
982 | "@types/node": "*"
983 | }
984 | },
985 | "@types/form-data": {
986 | "version": "0.0.33",
987 | "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz",
988 | "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==",
989 | "requires": {
990 | "@types/node": "*"
991 | }
992 | },
993 | "@types/node": {
994 | "version": "10.17.60",
995 | "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz",
996 | "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw=="
997 | },
998 | "@types/qs": {
999 | "version": "6.9.7",
1000 | "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz",
1001 | "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw=="
1002 | },
1003 | "accepts": {
1004 | "version": "1.3.8",
1005 | "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
1006 | "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
1007 | "requires": {
1008 | "mime-types": "~2.1.34",
1009 | "negotiator": "0.6.3"
1010 | }
1011 | },
1012 | "array-flatten": {
1013 | "version": "1.1.1",
1014 | "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
1015 | "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg=="
1016 | },
1017 | "asap": {
1018 | "version": "2.0.6",
1019 | "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
1020 | "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA=="
1021 | },
1022 | "asynckit": {
1023 | "version": "0.4.0",
1024 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
1025 | "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
1026 | },
1027 | "axios": {
1028 | "version": "1.4.0",
1029 | "resolved": "https://registry.npmjs.org/axios/-/axios-1.4.0.tgz",
1030 | "integrity": "sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==",
1031 | "requires": {
1032 | "follow-redirects": "^1.15.0",
1033 | "form-data": "^4.0.0",
1034 | "proxy-from-env": "^1.1.0"
1035 | }
1036 | },
1037 | "basic-auth": {
1038 | "version": "2.0.1",
1039 | "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz",
1040 | "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==",
1041 | "requires": {
1042 | "safe-buffer": "5.1.2"
1043 | },
1044 | "dependencies": {
1045 | "safe-buffer": {
1046 | "version": "5.1.2",
1047 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
1048 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
1049 | }
1050 | }
1051 | },
1052 | "body-parser": {
1053 | "version": "1.20.1",
1054 | "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz",
1055 | "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==",
1056 | "requires": {
1057 | "bytes": "3.1.2",
1058 | "content-type": "~1.0.4",
1059 | "debug": "2.6.9",
1060 | "depd": "2.0.0",
1061 | "destroy": "1.2.0",
1062 | "http-errors": "2.0.0",
1063 | "iconv-lite": "0.4.24",
1064 | "on-finished": "2.4.1",
1065 | "qs": "6.11.0",
1066 | "raw-body": "2.5.1",
1067 | "type-is": "~1.6.18",
1068 | "unpipe": "1.0.0"
1069 | }
1070 | },
1071 | "buffer-from": {
1072 | "version": "1.1.2",
1073 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
1074 | "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="
1075 | },
1076 | "bytes": {
1077 | "version": "3.1.2",
1078 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
1079 | "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg=="
1080 | },
1081 | "call-bind": {
1082 | "version": "1.0.2",
1083 | "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
1084 | "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
1085 | "requires": {
1086 | "function-bind": "^1.1.1",
1087 | "get-intrinsic": "^1.0.2"
1088 | }
1089 | },
1090 | "caseless": {
1091 | "version": "0.12.0",
1092 | "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
1093 | "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw=="
1094 | },
1095 | "combined-stream": {
1096 | "version": "1.0.8",
1097 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
1098 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
1099 | "requires": {
1100 | "delayed-stream": "~1.0.0"
1101 | }
1102 | },
1103 | "concat-stream": {
1104 | "version": "1.6.2",
1105 | "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
1106 | "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
1107 | "requires": {
1108 | "buffer-from": "^1.0.0",
1109 | "inherits": "^2.0.3",
1110 | "readable-stream": "^2.2.2",
1111 | "typedarray": "^0.0.6"
1112 | }
1113 | },
1114 | "content-disposition": {
1115 | "version": "0.5.4",
1116 | "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
1117 | "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
1118 | "requires": {
1119 | "safe-buffer": "5.2.1"
1120 | }
1121 | },
1122 | "content-type": {
1123 | "version": "1.0.5",
1124 | "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
1125 | "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA=="
1126 | },
1127 | "cookie": {
1128 | "version": "0.5.0",
1129 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
1130 | "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw=="
1131 | },
1132 | "cookie-signature": {
1133 | "version": "1.0.6",
1134 | "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
1135 | "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ=="
1136 | },
1137 | "core-util-is": {
1138 | "version": "1.0.3",
1139 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
1140 | "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="
1141 | },
1142 | "cors": {
1143 | "version": "2.8.5",
1144 | "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
1145 | "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
1146 | "requires": {
1147 | "object-assign": "^4",
1148 | "vary": "^1"
1149 | }
1150 | },
1151 | "debug": {
1152 | "version": "2.6.9",
1153 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
1154 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
1155 | "requires": {
1156 | "ms": "2.0.0"
1157 | }
1158 | },
1159 | "delayed-stream": {
1160 | "version": "1.0.0",
1161 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
1162 | "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="
1163 | },
1164 | "depd": {
1165 | "version": "2.0.0",
1166 | "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
1167 | "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw=="
1168 | },
1169 | "destroy": {
1170 | "version": "1.2.0",
1171 | "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
1172 | "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg=="
1173 | },
1174 | "dotenv": {
1175 | "version": "16.1.1",
1176 | "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.1.1.tgz",
1177 | "integrity": "sha512-UGmzIqXU/4b6Vb3R1Vrfd/4vGgVlB+mO+vEixOdfRhLeppkyW2BMhuK7TL8d0el+q9c4lW9qK2wZYhNLFhXYLA=="
1178 | },
1179 | "ee-first": {
1180 | "version": "1.1.1",
1181 | "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
1182 | "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
1183 | },
1184 | "encodeurl": {
1185 | "version": "1.0.2",
1186 | "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
1187 | "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w=="
1188 | },
1189 | "escape-html": {
1190 | "version": "1.0.3",
1191 | "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
1192 | "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
1193 | },
1194 | "etag": {
1195 | "version": "1.8.1",
1196 | "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
1197 | "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg=="
1198 | },
1199 | "express": {
1200 | "version": "4.18.2",
1201 | "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz",
1202 | "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==",
1203 | "requires": {
1204 | "accepts": "~1.3.8",
1205 | "array-flatten": "1.1.1",
1206 | "body-parser": "1.20.1",
1207 | "content-disposition": "0.5.4",
1208 | "content-type": "~1.0.4",
1209 | "cookie": "0.5.0",
1210 | "cookie-signature": "1.0.6",
1211 | "debug": "2.6.9",
1212 | "depd": "2.0.0",
1213 | "encodeurl": "~1.0.2",
1214 | "escape-html": "~1.0.3",
1215 | "etag": "~1.8.1",
1216 | "finalhandler": "1.2.0",
1217 | "fresh": "0.5.2",
1218 | "http-errors": "2.0.0",
1219 | "merge-descriptors": "1.0.1",
1220 | "methods": "~1.1.2",
1221 | "on-finished": "2.4.1",
1222 | "parseurl": "~1.3.3",
1223 | "path-to-regexp": "0.1.7",
1224 | "proxy-addr": "~2.0.7",
1225 | "qs": "6.11.0",
1226 | "range-parser": "~1.2.1",
1227 | "safe-buffer": "5.2.1",
1228 | "send": "0.18.0",
1229 | "serve-static": "1.15.0",
1230 | "setprototypeof": "1.2.0",
1231 | "statuses": "2.0.1",
1232 | "type-is": "~1.6.18",
1233 | "utils-merge": "1.0.1",
1234 | "vary": "~1.1.2"
1235 | }
1236 | },
1237 | "finalhandler": {
1238 | "version": "1.2.0",
1239 | "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz",
1240 | "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==",
1241 | "requires": {
1242 | "debug": "2.6.9",
1243 | "encodeurl": "~1.0.2",
1244 | "escape-html": "~1.0.3",
1245 | "on-finished": "2.4.1",
1246 | "parseurl": "~1.3.3",
1247 | "statuses": "2.0.1",
1248 | "unpipe": "~1.0.0"
1249 | }
1250 | },
1251 | "follow-redirects": {
1252 | "version": "1.15.2",
1253 | "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz",
1254 | "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA=="
1255 | },
1256 | "form-data": {
1257 | "version": "4.0.0",
1258 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
1259 | "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
1260 | "requires": {
1261 | "asynckit": "^0.4.0",
1262 | "combined-stream": "^1.0.8",
1263 | "mime-types": "^2.1.12"
1264 | }
1265 | },
1266 | "forwarded": {
1267 | "version": "0.2.0",
1268 | "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
1269 | "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow=="
1270 | },
1271 | "fresh": {
1272 | "version": "0.5.2",
1273 | "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
1274 | "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q=="
1275 | },
1276 | "function-bind": {
1277 | "version": "1.1.1",
1278 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
1279 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
1280 | },
1281 | "get-intrinsic": {
1282 | "version": "1.2.1",
1283 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz",
1284 | "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==",
1285 | "requires": {
1286 | "function-bind": "^1.1.1",
1287 | "has": "^1.0.3",
1288 | "has-proto": "^1.0.1",
1289 | "has-symbols": "^1.0.3"
1290 | }
1291 | },
1292 | "get-port": {
1293 | "version": "3.2.0",
1294 | "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz",
1295 | "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg=="
1296 | },
1297 | "has": {
1298 | "version": "1.0.3",
1299 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
1300 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
1301 | "requires": {
1302 | "function-bind": "^1.1.1"
1303 | }
1304 | },
1305 | "has-proto": {
1306 | "version": "1.0.1",
1307 | "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz",
1308 | "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg=="
1309 | },
1310 | "has-symbols": {
1311 | "version": "1.0.3",
1312 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
1313 | "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A=="
1314 | },
1315 | "http-basic": {
1316 | "version": "8.1.3",
1317 | "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz",
1318 | "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==",
1319 | "requires": {
1320 | "caseless": "^0.12.0",
1321 | "concat-stream": "^1.6.2",
1322 | "http-response-object": "^3.0.1",
1323 | "parse-cache-control": "^1.0.1"
1324 | }
1325 | },
1326 | "http-errors": {
1327 | "version": "2.0.0",
1328 | "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
1329 | "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
1330 | "requires": {
1331 | "depd": "2.0.0",
1332 | "inherits": "2.0.4",
1333 | "setprototypeof": "1.2.0",
1334 | "statuses": "2.0.1",
1335 | "toidentifier": "1.0.1"
1336 | }
1337 | },
1338 | "http-response-object": {
1339 | "version": "3.0.2",
1340 | "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz",
1341 | "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==",
1342 | "requires": {
1343 | "@types/node": "^10.0.3"
1344 | }
1345 | },
1346 | "iconv-lite": {
1347 | "version": "0.4.24",
1348 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
1349 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
1350 | "requires": {
1351 | "safer-buffer": ">= 2.1.2 < 3"
1352 | }
1353 | },
1354 | "inherits": {
1355 | "version": "2.0.4",
1356 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
1357 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
1358 | },
1359 | "ipaddr.js": {
1360 | "version": "1.9.1",
1361 | "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
1362 | "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g=="
1363 | },
1364 | "isarray": {
1365 | "version": "1.0.0",
1366 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
1367 | "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="
1368 | },
1369 | "media-typer": {
1370 | "version": "0.3.0",
1371 | "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
1372 | "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ=="
1373 | },
1374 | "merge-descriptors": {
1375 | "version": "1.0.1",
1376 | "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
1377 | "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w=="
1378 | },
1379 | "methods": {
1380 | "version": "1.1.2",
1381 | "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
1382 | "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w=="
1383 | },
1384 | "mime": {
1385 | "version": "1.6.0",
1386 | "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
1387 | "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="
1388 | },
1389 | "mime-db": {
1390 | "version": "1.52.0",
1391 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
1392 | "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="
1393 | },
1394 | "mime-types": {
1395 | "version": "2.1.35",
1396 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
1397 | "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
1398 | "requires": {
1399 | "mime-db": "1.52.0"
1400 | }
1401 | },
1402 | "morgan": {
1403 | "version": "1.10.0",
1404 | "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.10.0.tgz",
1405 | "integrity": "sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==",
1406 | "requires": {
1407 | "basic-auth": "~2.0.1",
1408 | "debug": "2.6.9",
1409 | "depd": "~2.0.0",
1410 | "on-finished": "~2.3.0",
1411 | "on-headers": "~1.0.2"
1412 | },
1413 | "dependencies": {
1414 | "on-finished": {
1415 | "version": "2.3.0",
1416 | "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
1417 | "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==",
1418 | "requires": {
1419 | "ee-first": "1.1.1"
1420 | }
1421 | }
1422 | }
1423 | },
1424 | "ms": {
1425 | "version": "2.0.0",
1426 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
1427 | "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
1428 | },
1429 | "negotiator": {
1430 | "version": "0.6.3",
1431 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
1432 | "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg=="
1433 | },
1434 | "object-assign": {
1435 | "version": "4.1.1",
1436 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
1437 | "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="
1438 | },
1439 | "object-inspect": {
1440 | "version": "1.12.3",
1441 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz",
1442 | "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g=="
1443 | },
1444 | "on-finished": {
1445 | "version": "2.4.1",
1446 | "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
1447 | "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
1448 | "requires": {
1449 | "ee-first": "1.1.1"
1450 | }
1451 | },
1452 | "on-headers": {
1453 | "version": "1.0.2",
1454 | "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz",
1455 | "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA=="
1456 | },
1457 | "parse-cache-control": {
1458 | "version": "1.0.1",
1459 | "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz",
1460 | "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg=="
1461 | },
1462 | "parseurl": {
1463 | "version": "1.3.3",
1464 | "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
1465 | "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="
1466 | },
1467 | "path-to-regexp": {
1468 | "version": "0.1.7",
1469 | "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
1470 | "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ=="
1471 | },
1472 | "process-nextick-args": {
1473 | "version": "2.0.1",
1474 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
1475 | "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
1476 | },
1477 | "promise": {
1478 | "version": "8.3.0",
1479 | "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz",
1480 | "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==",
1481 | "requires": {
1482 | "asap": "~2.0.6"
1483 | }
1484 | },
1485 | "proxy-addr": {
1486 | "version": "2.0.7",
1487 | "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
1488 | "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
1489 | "requires": {
1490 | "forwarded": "0.2.0",
1491 | "ipaddr.js": "1.9.1"
1492 | }
1493 | },
1494 | "proxy-from-env": {
1495 | "version": "1.1.0",
1496 | "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
1497 | "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
1498 | },
1499 | "qs": {
1500 | "version": "6.11.0",
1501 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
1502 | "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
1503 | "requires": {
1504 | "side-channel": "^1.0.4"
1505 | }
1506 | },
1507 | "range-parser": {
1508 | "version": "1.2.1",
1509 | "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
1510 | "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="
1511 | },
1512 | "raw-body": {
1513 | "version": "2.5.1",
1514 | "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz",
1515 | "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==",
1516 | "requires": {
1517 | "bytes": "3.1.2",
1518 | "http-errors": "2.0.0",
1519 | "iconv-lite": "0.4.24",
1520 | "unpipe": "1.0.0"
1521 | }
1522 | },
1523 | "readable-stream": {
1524 | "version": "2.3.8",
1525 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
1526 | "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
1527 | "requires": {
1528 | "core-util-is": "~1.0.0",
1529 | "inherits": "~2.0.3",
1530 | "isarray": "~1.0.0",
1531 | "process-nextick-args": "~2.0.0",
1532 | "safe-buffer": "~5.1.1",
1533 | "string_decoder": "~1.1.1",
1534 | "util-deprecate": "~1.0.1"
1535 | },
1536 | "dependencies": {
1537 | "safe-buffer": {
1538 | "version": "5.1.2",
1539 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
1540 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
1541 | }
1542 | }
1543 | },
1544 | "safe-buffer": {
1545 | "version": "5.2.1",
1546 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
1547 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
1548 | },
1549 | "safer-buffer": {
1550 | "version": "2.1.2",
1551 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
1552 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
1553 | },
1554 | "send": {
1555 | "version": "0.18.0",
1556 | "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
1557 | "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
1558 | "requires": {
1559 | "debug": "2.6.9",
1560 | "depd": "2.0.0",
1561 | "destroy": "1.2.0",
1562 | "encodeurl": "~1.0.2",
1563 | "escape-html": "~1.0.3",
1564 | "etag": "~1.8.1",
1565 | "fresh": "0.5.2",
1566 | "http-errors": "2.0.0",
1567 | "mime": "1.6.0",
1568 | "ms": "2.1.3",
1569 | "on-finished": "2.4.1",
1570 | "range-parser": "~1.2.1",
1571 | "statuses": "2.0.1"
1572 | },
1573 | "dependencies": {
1574 | "ms": {
1575 | "version": "2.1.3",
1576 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
1577 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
1578 | }
1579 | }
1580 | },
1581 | "serve-static": {
1582 | "version": "1.15.0",
1583 | "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz",
1584 | "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==",
1585 | "requires": {
1586 | "encodeurl": "~1.0.2",
1587 | "escape-html": "~1.0.3",
1588 | "parseurl": "~1.3.3",
1589 | "send": "0.18.0"
1590 | }
1591 | },
1592 | "setprototypeof": {
1593 | "version": "1.2.0",
1594 | "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
1595 | "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
1596 | },
1597 | "side-channel": {
1598 | "version": "1.0.4",
1599 | "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
1600 | "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
1601 | "requires": {
1602 | "call-bind": "^1.0.0",
1603 | "get-intrinsic": "^1.0.2",
1604 | "object-inspect": "^1.9.0"
1605 | }
1606 | },
1607 | "statuses": {
1608 | "version": "2.0.1",
1609 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
1610 | "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ=="
1611 | },
1612 | "string_decoder": {
1613 | "version": "1.1.1",
1614 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
1615 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
1616 | "requires": {
1617 | "safe-buffer": "~5.1.0"
1618 | },
1619 | "dependencies": {
1620 | "safe-buffer": {
1621 | "version": "5.1.2",
1622 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
1623 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
1624 | }
1625 | }
1626 | },
1627 | "sync-request": {
1628 | "version": "6.1.0",
1629 | "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz",
1630 | "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==",
1631 | "requires": {
1632 | "http-response-object": "^3.0.1",
1633 | "sync-rpc": "^1.2.1",
1634 | "then-request": "^6.0.0"
1635 | }
1636 | },
1637 | "sync-rpc": {
1638 | "version": "1.3.6",
1639 | "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz",
1640 | "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==",
1641 | "requires": {
1642 | "get-port": "^3.1.0"
1643 | }
1644 | },
1645 | "then-request": {
1646 | "version": "6.0.2",
1647 | "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz",
1648 | "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==",
1649 | "requires": {
1650 | "@types/concat-stream": "^1.6.0",
1651 | "@types/form-data": "0.0.33",
1652 | "@types/node": "^8.0.0",
1653 | "@types/qs": "^6.2.31",
1654 | "caseless": "~0.12.0",
1655 | "concat-stream": "^1.6.0",
1656 | "form-data": "^2.2.0",
1657 | "http-basic": "^8.1.1",
1658 | "http-response-object": "^3.0.1",
1659 | "promise": "^8.0.0",
1660 | "qs": "^6.4.0"
1661 | },
1662 | "dependencies": {
1663 | "@types/node": {
1664 | "version": "8.10.66",
1665 | "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz",
1666 | "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw=="
1667 | },
1668 | "form-data": {
1669 | "version": "2.5.1",
1670 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz",
1671 | "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==",
1672 | "requires": {
1673 | "asynckit": "^0.4.0",
1674 | "combined-stream": "^1.0.6",
1675 | "mime-types": "^2.1.12"
1676 | }
1677 | }
1678 | }
1679 | },
1680 | "toidentifier": {
1681 | "version": "1.0.1",
1682 | "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
1683 | "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA=="
1684 | },
1685 | "type-is": {
1686 | "version": "1.6.18",
1687 | "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
1688 | "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
1689 | "requires": {
1690 | "media-typer": "0.3.0",
1691 | "mime-types": "~2.1.24"
1692 | }
1693 | },
1694 | "typedarray": {
1695 | "version": "0.0.6",
1696 | "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
1697 | "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA=="
1698 | },
1699 | "unpipe": {
1700 | "version": "1.0.0",
1701 | "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
1702 | "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ=="
1703 | },
1704 | "util-deprecate": {
1705 | "version": "1.0.2",
1706 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
1707 | "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
1708 | },
1709 | "utils-merge": {
1710 | "version": "1.0.1",
1711 | "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
1712 | "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA=="
1713 | },
1714 | "vary": {
1715 | "version": "1.1.2",
1716 | "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
1717 | "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg=="
1718 | }
1719 | }
1720 | }
1721 |
--------------------------------------------------------------------------------
/server/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "ggsoc_leaderboard_server",
3 | "version": "1.0.0",
4 | "description": "backednd for ggsoc_leaderboard",
5 | "main": "index.js",
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | },
9 | "author": "",
10 | "license": "ISC",
11 | "dependencies": {
12 | "axios": "^1.4.0",
13 | "cors": "^2.8.5",
14 | "dotenv": "^16.1.1",
15 | "express": "^4.18.2",
16 | "morgan": "^1.10.0",
17 | "sync-request": "^6.1.0"
18 | }
19 | }
20 |
--------------------------------------------------------------------------------