├── .gitattributes ├── .github └── workflows │ └── auto-deploy.yml ├── .gitignore ├── .whitesource ├── .yarnrc.yml ├── LICENSE ├── README.md ├── index.js ├── package-lock.json ├── package.json ├── src ├── Logger.ts ├── functions.ts ├── index.ts └── info.json ├── tsconfig.json └── yarn.lock /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /.github/workflows/auto-deploy.yml: -------------------------------------------------------------------------------- 1 | name: Production Deploy 2 | on: 3 | push: 4 | branches: 5 | - master 6 | jobs: 7 | 8 | build: 9 | name: Build 10 | runs-on: ubuntu-latest 11 | steps: 12 | - name: executing remote ssh commands using password 13 | uses: appleboy/ssh-action@master 14 | with: 15 | host: ${{ secrets.IP }} 16 | username: ${{ secrets.USER }} 17 | password: ${{ secrets.PRIVATE_KEY }} 18 | port: ${{ secrets.PORT }} 19 | script: | 20 | nvm use 14 21 | cd /opt/api-dogehouse 22 | git fetch --all 23 | git reset --hard origin/master 24 | npm install --save 25 | npm run compile 26 | pm2 restart dogehouse-api 27 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | lerna-debug.log* 8 | 9 | # Diagnostic reports (https://nodejs.org/api/report.html) 10 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 11 | 12 | # Runtime data 13 | pids 14 | *.pid 15 | *.seed 16 | *.pid.lock 17 | 18 | # Directory for instrumented libs generated by jscoverage/JSCover 19 | lib-cov 20 | 21 | # Coverage directory used by tools like istanbul 22 | coverage 23 | *.lcov 24 | 25 | # nyc test coverage 26 | .nyc_output 27 | 28 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 29 | .grunt 30 | 31 | # Bower dependency directory (https://bower.io/) 32 | bower_components 33 | 34 | # node-waf configuration 35 | .lock-wscript 36 | 37 | # Compiled binary addons (https://nodejs.org/api/addons.html) 38 | build/Release 39 | 40 | # Dependency directories 41 | node_modules/ 42 | jspm_packages/ 43 | 44 | # Snowpack dependency directory (https://snowpack.dev/) 45 | web_modules/ 46 | 47 | # TypeScript cache 48 | *.tsbuildinfo 49 | 50 | # Optional npm cache directory 51 | .npm 52 | 53 | # Optional eslint cache 54 | .eslintcache 55 | 56 | # Microbundle cache 57 | .rpt2_cache/ 58 | .rts2_cache_cjs/ 59 | .rts2_cache_es/ 60 | .rts2_cache_umd/ 61 | 62 | # Optional REPL history 63 | .node_repl_history 64 | 65 | # Output of 'npm pack' 66 | *.tgz 67 | 68 | # Yarn Integrity file 69 | .yarn-integrity 70 | 71 | # dotenv environment variables file 72 | .env 73 | .env.test 74 | 75 | # parcel-bundler cache (https://parceljs.org/) 76 | .cache 77 | .parcel-cache 78 | 79 | # Next.js build output 80 | .next 81 | out 82 | 83 | # Nuxt.js build / generate output 84 | .nuxt 85 | dist 86 | 87 | # Gatsby files 88 | .cache/ 89 | # Comment in the public line in if your project uses Gatsby and not Next.js 90 | # https://nextjs.org/blog/next-9-1#public-directory-support 91 | # public 92 | 93 | # vuepress build output 94 | .vuepress/dist 95 | 96 | # Serverless directories 97 | .serverless/ 98 | 99 | # FuseBox cache 100 | .fusebox/ 101 | 102 | # DynamoDB Local files 103 | .dynamodb/ 104 | 105 | # TernJS port file 106 | .tern-port 107 | 108 | # Stores VSCode versions used for testing VSCode extensions 109 | .vscode-test 110 | 111 | # yarn v2 112 | .yarn/cache 113 | .yarn/unplugged 114 | .yarn/build-state.yml 115 | .yarn/install-state.gz 116 | .pnp.* -------------------------------------------------------------------------------- /.whitesource: -------------------------------------------------------------------------------- 1 | { 2 | "scanSettings": { 3 | "baseBranches": [] 4 | }, 5 | "checkRunSettings": { 6 | "vulnerableCheckRunConclusionLevel": "failure", 7 | "displayMode": "diff" 8 | }, 9 | "issueSettings": { 10 | "minSeverityLevel": "LOW" 11 | } 12 | } -------------------------------------------------------------------------------- /.yarnrc.yml: -------------------------------------------------------------------------------- 1 | nodeLinker: node-modules 2 | yarnPath: ".yarn/releases/yarn-berry.cjs" 3 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 DogeGarden 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

2 | DogeGarden logo 3 |

4 |

5 | An open-source public and free REST API for reading from DogeHouse & DogeGarden. 6 |

7 |

8 | 9 | discord - users online 10 | 11 | status 12 |

13 | 14 |

15 | Contribute (soon) 16 | · 17 | Discord 18 | · 19 | Documentation 20 |

21 | 22 | --- 23 | 24 | ## Documentation 25 | - All routes, versions, endpoints, etc. Can be found on our Documentation 26 | 27 | ## Installation 28 | 29 | - You can use the publicly hosted api: https://api.dogegarden.net 30 | 31 | 1. Clone and npm i 32 | 2. Fill out example.env and rename to .env 33 | 3. Start index.js 34 | 35 | ## Credits 36 | Thank you to Abalon#2525/https://github.com/alon-abadi for the awesome graphics! 37 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | require('dotenv').config(); 2 | const client = new (require('./src/classes/App')); 3 | const Logger = require('./src/util/Logger'); 4 | 5 | (async function () { 6 | await client.registerRoutes(); 7 | await client.listen(() => { 8 | Logger.info(`Express serving on port ${process.env.PORT}`); 9 | }, true); 10 | })(); -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "dogehouse-api", 3 | "version": "2.0.1", 4 | "support": "https://discord.gg/pPaXCRrVrh", 5 | "description": "A Public API to interact with DogeHouse", 6 | "main": "index.js", 7 | "scripts": { 8 | "compile": "tsc", 9 | "watch": "tsc -w", 10 | "start": "tsc && node ./dist/index.js" 11 | }, 12 | "keywords": [], 13 | "author": "", 14 | "license": "ISC", 15 | "dependencies": { 16 | "@dogehouse/kebab": "^0.2.8", 17 | "@types/chalk": "^2.2.0", 18 | "axios": "^0.21.1", 19 | "chalk": "^4.1.1", 20 | "cors": "^2.8.5", 21 | "dateformat": "^4.5.1", 22 | "dotenv": "^8.2.0", 23 | "express": "^4.17.1", 24 | "monk": "^7.3.4", 25 | "morgan": "^1.10.0", 26 | "socket.io": "^4.0.1", 27 | "util": "^0.12.3" 28 | }, 29 | "devDependencies": { 30 | "@types/axios": "^0.14.0", 31 | "@types/dotenv": "^8.2.0", 32 | "@types/express": "^4.17.11", 33 | "@types/morgan": "^1.9.2", 34 | "@types/node": "^15.0.1", 35 | "typescript": "^4.2.4" 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/Logger.ts: -------------------------------------------------------------------------------- 1 | import chalk from 'chalk'; 2 | import dateFormat from 'dateformat'; 3 | import util from 'util'; 4 | 5 | 6 | export class Logger { 7 | static get prefix() { 8 | return chalk.gray(dateFormat(Date.now(), 'ddd HH:MM:ss:l')) 9 | } 10 | 11 | static formatInput(args) { 12 | return args.map((arg) => arg instanceof Object ? util.inspect(arg) : arg) 13 | } 14 | 15 | static info(...args) { 16 | args = this.formatInput(args) 17 | console.log(this.prefix + ' ' + chalk.green('[INFO]') + ' ' + args.join(' ')) 18 | } 19 | 20 | static error(...args) { 21 | args = this.formatInput(args) 22 | console.log(this.prefix + ' ' + chalk.red('[ERROR]') + ' ' + args.join(' ')) 23 | } 24 | 25 | static route(...args) { 26 | args = this.formatInput(args) 27 | console.log(this.prefix + ' ' + chalk.blue('[ROUTE]') + ' ' + args.join(' ')) 28 | } 29 | 30 | static API(...args) { 31 | args = this.formatInput(args) 32 | console.log(this.prefix + ' ' + chalk.cyan('[API]') + ' ' + args.join(' ')) 33 | } 34 | 35 | } 36 | -------------------------------------------------------------------------------- /src/functions.ts: -------------------------------------------------------------------------------- 1 | import monk from 'monk'; 2 | import { Logger } from './Logger'; 3 | import dotenv from 'dotenv'; 4 | dotenv.config(); 5 | const db = monk(process.env.MONGO_URL!); 6 | 7 | export class Calls { 8 | 9 | static async deleteBot(socket_id) { 10 | const collection = db.get('bots') 11 | return (await collection.findOneAndDelete({ socket_id: socket_id })) 12 | } 13 | 14 | static async formatBots() { 15 | const collection = db.get('bots') 16 | return (await collection.remove({ })) 17 | } 18 | 19 | static async transmitBot(bot_id, data_object) { 20 | const collection = db.get('bots') 21 | let bot = await collection.findOne({ "bot.uuid": bot_id }) 22 | Logger.info('>> SEARCHING BOT', bot_id) 23 | 24 | if (bot === null) { 25 | Logger.info('>> INSERTING BOT', bot_id) 26 | return (await collection.insert(data_object)) 27 | } else { 28 | Logger.info('>> UPDATING BOT', bot_id) 29 | return (await collection.update({ "bot.uuid": bot_id }, { $set: data_object })) 30 | } 31 | } 32 | 33 | static async getAllBots() { 34 | const collection = db.get('bots') 35 | return (await collection.find({})) 36 | } 37 | 38 | static async getAllBotsLength() { 39 | const collection = db.get('bots') 40 | return (await collection.count()) 41 | } 42 | 43 | static async getBotBySocket(id) { 44 | const collection = db.get('bots') 45 | return (await collection.findOne({ socket_id: id })) 46 | } 47 | 48 | // static async getBotByUUID(uuid) { 49 | // const collection = db.get('bots') 50 | // return (await collection.findOne({ uuid: uuid })) 51 | // } 52 | 53 | // static async getBotByUsername(username) { 54 | // const collection = db.get('bots') 55 | // return (await collection.findOne({ username: username })) 56 | // } 57 | } 58 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | import { Logger } from "./Logger"; 2 | // import { Calls } from "./functions"; 3 | import { raw, wrap, Wrapper, tokensToString, stringToToken, http } from "@dogehouse/kebab"; 4 | import logger from 'morgan'; 5 | import express from 'express'; 6 | import dotenv from 'dotenv'; 7 | import path from 'path'; 8 | import cors from 'cors'; 9 | import axios from 'axios'; 10 | import info from './info.json' 11 | const fs = require('fs').promises; 12 | const dogesvg = "" 13 | const premidsvg = ' ' 14 | import { Calls } from './functions' 15 | dotenv.config(); 16 | 17 | let wrapper: Wrapper; 18 | try { 19 | raw.connect( 20 | process.env.DOGEHOUSE_TOKEN!, 21 | process.env.DOGEHOUSE_REFRESH_TOKEN!, 22 | { 23 | onConnectionTaken: () => { 24 | console.error("\nAnother client has taken the connection"); 25 | process.exit(); 26 | } 27 | } 28 | ).then((c) => { 29 | wrapper = wrap(c); 30 | }) 31 | } catch (error) { 32 | if (error.code === 4001) console.error("invalid token!"); 33 | console.error(error) 34 | } 35 | 36 | const app = express(); 37 | const port = process.env.PORT!; 38 | const server = require('http').createServer(app); 39 | const io = require('socket.io')(server, { transports: ['websocket'], serveClient: false, path: '/socket' }); 40 | 41 | server.listen(7080); 42 | 43 | io.on('connection', (socket) => { 44 | Logger.info('Socket Client Connected', io.sockets.sockets.size) 45 | 46 | socket.on('disconnect', async () => { 47 | await Calls.deleteBot(socket.id) 48 | Logger.info('Socket Client Disconnected', io.sockets.sockets.size) 49 | }); 50 | 51 | socket.on('init', async function () { 52 | Logger.info('Socket Client Init', io.sockets.sockets.size,) 53 | }) 54 | 55 | socket.on('transmit', async function (received) { 56 | if (!received.bot) return 57 | if (!received.bot.uuid) return 58 | if (!received.bot.username) return 59 | let new_data = { 60 | socket_id: socket.id, 61 | bot: { uuid: received.bot.uuid, username: received.bot.username || 'A Default Doge', avatar: received.bot.avatarURL || 'https://cdn.discordapp.com/attachments/824724836936187974/824936185734234132/orangeDiscordIcon.png'}, 62 | room: { uuid: received.room.uuid, name: received.room.name || 'No Room', listening: received.room.listening || 0, users: received.room.users || [] } 63 | 64 | } 65 | await Calls.transmitBot(received.bot.uuid, new_data) 66 | Logger.info('Socket Client Transmit', socket.id, received.bot.uuid, received.bot.username) 67 | 68 | }); 69 | 70 | socket.on('error', (err) => { 71 | Logger.error('Socket Error', socket.id, err) 72 | }); 73 | }); 74 | 75 | app.use(cors({ 76 | origin: "*" 77 | })) 78 | 79 | app.use(logger(':remote-addr >> :method :url :status :res[content-length] - :response-time ms')); 80 | 81 | app.get('/v1/shields', async (req, res) => { 82 | try { 83 | let rooms = (await wrapper.query.getTopPublicRooms()).rooms; 84 | 85 | return res.send({ 86 | schemaVersion: 1, 87 | label: "DogeHouse", 88 | message: rooms.map(it => it.numPeopleInside).reduce((a, b) => a + b, 0) + " online", 89 | logoSvg: dogesvg, 90 | color: "green" 91 | }) 92 | } catch (err) { 93 | return(res.send({ 94 | schemaVersion: 1, 95 | label: "DogeHouse", 96 | isError: true, 97 | message: err, 98 | logoSvg: dogesvg, 99 | color: "orange" 100 | })) 101 | } 102 | }); 103 | 104 | app.get('/v1/shields/users', async (req, res) => { 105 | try { 106 | let rooms = (await wrapper.query.getTopPublicRooms()).rooms; 107 | 108 | return res.send({ 109 | schemaVersion: 1, 110 | label: "DogeHouse", 111 | message: rooms.map(it => it.numPeopleInside).reduce((a, b) => a + b, 0) + " online", 112 | logoSvg: dogesvg, 113 | color: "green" 114 | }) 115 | } catch (err) { 116 | return(res.send({ 117 | schemaVersion: 1, 118 | label: "DogeHouse", 119 | isError: true, 120 | message: err, 121 | logoSvg: dogesvg, 122 | color: "orange" 123 | })) 124 | } 125 | }); 126 | 127 | app.get('/v1/popularRooms', async (req, res) => { 128 | try { 129 | return res.json(await wrapper.query.getTopPublicRooms()) 130 | } catch(err) { 131 | return(res.send({"Error": err})) 132 | } 133 | }); 134 | 135 | app.get('/v1/bots', async (req, res) => { 136 | try { 137 | return res.json(await Calls.getAllBots()) 138 | } catch(err) { 139 | return(res.send({"Error": err})) 140 | } 141 | }); 142 | 143 | app.get('/v1/scheduledRooms', async (req, res) => { 144 | try { 145 | return res.json(await wrapper.query.getScheduledRooms()) 146 | } catch(err) { 147 | return(res.send({"Error": err})) 148 | } 149 | }); 150 | 151 | app.get('/v1/statistics', async (req, res) => { 152 | try { 153 | let bots_length = await Calls.getAllBotsLength() 154 | let rooms = (await wrapper.query.getTopPublicRooms()).rooms; 155 | let scheduledRooms = (await wrapper.query.getScheduledRooms()).scheduledRooms; 156 | let benStats = (await axios.get("https://api.dogehouse.tv/stats")).data; 157 | return res.send({ 158 | totalRooms: rooms.length, 159 | totalScheduledRooms: scheduledRooms.length, 160 | totalRegistered: benStats.numUsers, 161 | activeInLastTwoDays: benStats.activeInLastTwoDays, 162 | totalOnline: rooms.map(it => it.numPeopleInside).reduce((a, b) => a + b, 0), 163 | totalBotsOnline: io.sockets.sockets.size, 164 | totalBotsSendingTelemetry: bots_length 165 | }) 166 | } catch (err) { 167 | return(res.send({"Error": err})) 168 | } 169 | }); 170 | 171 | app.get('/v1/search/:query', async (req, res) => { 172 | return res.json(await wrapper.query.search(`${(req.query.type == "room") ? '' : '@'}${req.params.query}`)); 173 | }); 174 | 175 | app.get('/v1/user/:id', async (req, res) => { 176 | return res.json(await wrapper.query.getUserProfile(req.params.id)); 177 | }); 178 | 179 | app.get('/v1', (req, res) => { 180 | return res.json({ 181 | name: info.name, 182 | support: info.support, 183 | version: info.version 184 | }) 185 | }); 186 | 187 | app.get('/', (req, res) => { 188 | return res.json({ 189 | name: info.name, 190 | support: info.support, 191 | version: info.version 192 | }) 193 | }); 194 | 195 | app.use((req, res) => { 196 | return res.sendStatus(404) 197 | }); 198 | 199 | app.listen( port, () => { 200 | Logger.route( `Running on ${ port }` ); 201 | } ); 202 | -------------------------------------------------------------------------------- /src/info.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "dogehouse-api", 3 | "support": "https://discord.gg/pPaXCRrVrh", 4 | "version": "1.4.2" 5 | } -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "outDir": "./dist", 4 | "target": "es5", 5 | "lib": [ 6 | "dom", 7 | "dom.iterable", 8 | "esnext" 9 | ], 10 | "allowJs": true, 11 | "skipLibCheck": true, 12 | "baseUrl": ".", 13 | "esModuleInterop": true, 14 | "allowSyntheticDefaultImports": true, 15 | "strict": true, 16 | "forceConsistentCasingInFileNames": true, 17 | "module": "commonjs", 18 | "moduleResolution": "node", 19 | "resolveJsonModule": true, 20 | "isolatedModules": true, 21 | "jsx": "preserve", 22 | "noImplicitAny": false 23 | }, 24 | "include": [ 25 | "src/**/*" 26 | ] 27 | } 28 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@dogehouse/kebab@^0.2.8": 6 | "integrity" "sha512-3jVs8vO0K7+U3+6okiTrKcb3XNq//BjVvywqEw47/Jd3p0cIpQu2U/2SKuxctrc7TFvqKfkuojk2mFuZxY2BKw==" 7 | "resolved" "https://registry.npmjs.org/@dogehouse/kebab/-/kebab-0.2.8.tgz" 8 | "version" "0.2.8" 9 | dependencies: 10 | "@types/uuid" "^8.3.0" 11 | "@types/ws" "^7.4.1" 12 | "isomorphic-unfetch" "^3.1.0" 13 | "isomorphic-ws" "^4.0.1" 14 | "mediasoup-client" "^3.6.29" 15 | "reconnecting-websocket" "^4.4.0" 16 | "uuid" "^8.3.2" 17 | "ws" "^7.4.4" 18 | 19 | "@types/axios@^0.14.0": 20 | "integrity" "sha1-7CMA++fX3d1+udOr+HmZlkyvzkY=" 21 | "resolved" "https://registry.npmjs.org/@types/axios/-/axios-0.14.0.tgz" 22 | "version" "0.14.0" 23 | dependencies: 24 | "axios" "*" 25 | 26 | "@types/body-parser@*": 27 | "integrity" "sha512-W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ==" 28 | "resolved" "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.0.tgz" 29 | "version" "1.19.0" 30 | dependencies: 31 | "@types/connect" "*" 32 | "@types/node" "*" 33 | 34 | "@types/bson@*": 35 | "integrity" "sha512-mVRvYnTOZJz3ccpxhr3wgxVmSeiYinW+zlzQz3SXWaJmD1DuL05Jeq7nKw3SnbKmbleW5qrLG5vdyWe/A9sXhw==" 36 | "resolved" "https://registry.npmjs.org/@types/bson/-/bson-4.0.3.tgz" 37 | "version" "4.0.3" 38 | dependencies: 39 | "@types/node" "*" 40 | 41 | "@types/chalk@^2.2.0": 42 | "integrity" "sha512-1zzPV9FDe1I/WHhRkf9SNgqtRJWZqrBWgu7JGveuHmmyR9CnAPCie2N/x+iHrgnpYBIcCJWHBoMRv2TRWktsvw==" 43 | "resolved" "https://registry.npmjs.org/@types/chalk/-/chalk-2.2.0.tgz" 44 | "version" "2.2.0" 45 | dependencies: 46 | "chalk" "*" 47 | 48 | "@types/component-emitter@^1.2.10": 49 | "integrity" "sha512-bsjleuRKWmGqajMerkzox19aGbscQX5rmmvvXl3wlIp5gMG1HgkiwPxsN5p070fBDKTNSPgojVbuY1+HWMbFhg==" 50 | "resolved" "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.10.tgz" 51 | "version" "1.2.10" 52 | 53 | "@types/connect@*": 54 | "integrity" "sha512-ePPA/JuI+X0vb+gSWlPKOY0NdNAie/rPUqX2GUPpbZwiKTkSPhjXWuee47E4MtE54QVzGCQMQkAL6JhV2E1+cQ==" 55 | "resolved" "https://registry.npmjs.org/@types/connect/-/connect-3.4.34.tgz" 56 | "version" "3.4.34" 57 | dependencies: 58 | "@types/node" "*" 59 | 60 | "@types/cookie@^0.4.0": 61 | "integrity" "sha512-y7mImlc/rNkvCRmg8gC3/lj87S7pTUIJ6QGjwHR9WQJcFs+ZMTOaoPrkdFA/YdbuqVEmEbb5RdhVxMkAcgOnpg==" 62 | "resolved" "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.0.tgz" 63 | "version" "0.4.0" 64 | 65 | "@types/cors@^2.8.8": 66 | "integrity" "sha512-C7srjHiVG3Ey1nR6d511dtDkCEjxuN9W1HWAEjGq8kpcwmNM6JJkpC0xvabM7BXTG2wDq8Eu33iH9aQKa7IvLQ==" 67 | "resolved" "https://registry.npmjs.org/@types/cors/-/cors-2.8.10.tgz" 68 | "version" "2.8.10" 69 | 70 | "@types/debug@^4.1.5": 71 | "integrity" "sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ==" 72 | "resolved" "https://registry.npmjs.org/@types/debug/-/debug-4.1.5.tgz" 73 | "version" "4.1.5" 74 | 75 | "@types/dotenv@^8.2.0": 76 | "integrity" "sha512-ylSC9GhfRH7m1EUXBXofhgx4lUWmFeQDINW5oLuS+gxWdfUeW4zJdeVTYVkexEW+e2VUvlZR2kGnGGipAWR7kw==" 77 | "resolved" "https://registry.npmjs.org/@types/dotenv/-/dotenv-8.2.0.tgz" 78 | "version" "8.2.0" 79 | dependencies: 80 | "dotenv" "*" 81 | 82 | "@types/events@^3.0.0": 83 | "integrity" "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==" 84 | "resolved" "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz" 85 | "version" "3.0.0" 86 | 87 | "@types/express-serve-static-core@^4.17.18": 88 | "integrity" "sha512-DJOSHzX7pCiSElWaGR8kCprwibCB/3yW6vcT8VG3P0SJjnv19gnWG/AZMfM60Xj/YJIp/YCaDHyvzsFVeniARA==" 89 | "resolved" "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.19.tgz" 90 | "version" "4.17.19" 91 | dependencies: 92 | "@types/node" "*" 93 | "@types/qs" "*" 94 | "@types/range-parser" "*" 95 | 96 | "@types/express@^4.17.11": 97 | "integrity" "sha512-no+R6rW60JEc59977wIxreQVsIEOAYwgCqldrA/vkpCnbD7MqTefO97lmoBe4WE0F156bC4uLSP1XHDOySnChg==" 98 | "resolved" "https://registry.npmjs.org/@types/express/-/express-4.17.11.tgz" 99 | "version" "4.17.11" 100 | dependencies: 101 | "@types/body-parser" "*" 102 | "@types/express-serve-static-core" "^4.17.18" 103 | "@types/qs" "*" 104 | "@types/serve-static" "*" 105 | 106 | "@types/mime@^1": 107 | "integrity" "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==" 108 | "resolved" "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz" 109 | "version" "1.3.2" 110 | 111 | "@types/mongodb@^3.5.25": 112 | "integrity" "sha512-49aEzQD5VdHPxyd5dRyQdqEveAg9LanwrH8RQipnMuulwzKmODXIZRp0umtxi1eBUfEusRkoy8AVOMr+kVuFog==" 113 | "resolved" "https://registry.npmjs.org/@types/mongodb/-/mongodb-3.6.12.tgz" 114 | "version" "3.6.12" 115 | dependencies: 116 | "@types/bson" "*" 117 | "@types/node" "*" 118 | 119 | "@types/morgan@^1.9.2": 120 | "integrity" "sha512-edtGMEdit146JwwIeyQeHHg9yID4WSolQPxpEorHmN3KuytuCHyn2ELNr5Uxy8SerniFbbkmgKMrGM933am5BQ==" 121 | "resolved" "https://registry.npmjs.org/@types/morgan/-/morgan-1.9.2.tgz" 122 | "version" "1.9.2" 123 | dependencies: 124 | "@types/node" "*" 125 | 126 | "@types/node@*", "@types/node@^15.0.1", "@types/node@>=10.0.0": 127 | "integrity" "sha512-TMkXt0Ck1y0KKsGr9gJtWGjttxlZnnvDtphxUOSd0bfaR6Q1jle+sPvrzNR1urqYTWMinoKvjKfXUGsumaO1PA==" 128 | "resolved" "https://registry.npmjs.org/@types/node/-/node-15.0.1.tgz" 129 | "version" "15.0.1" 130 | 131 | "@types/qs@*": 132 | "integrity" "sha512-0/HnwIfW4ki2D8L8c9GVcG5I72s9jP5GSLVF0VIXDW00kmIpA6O33G7a8n59Tmh7Nz0WUC3rSb7PTY/sdW2JzA==" 133 | "resolved" "https://registry.npmjs.org/@types/qs/-/qs-6.9.6.tgz" 134 | "version" "6.9.6" 135 | 136 | "@types/range-parser@*": 137 | "integrity" "sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA==" 138 | "resolved" "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.3.tgz" 139 | "version" "1.2.3" 140 | 141 | "@types/serve-static@*": 142 | "integrity" "sha512-ZFqF6qa48XsPdjXV5Gsz0Zqmux2PerNd3a/ktL45mHpa19cuMi/cL8tcxdAx497yRh+QtYPuofjT9oWw9P7nkA==" 143 | "resolved" "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.9.tgz" 144 | "version" "1.13.9" 145 | dependencies: 146 | "@types/mime" "^1" 147 | "@types/node" "*" 148 | 149 | "@types/uuid@^8.3.0": 150 | "integrity" "sha512-eQ9qFW/fhfGJF8WKHGEHZEyVWfZxrT+6CLIJGBcZPfxUh/+BnEj+UCGYMlr9qZuX/2AltsvwrGqp0LhEW8D0zQ==" 151 | "resolved" "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.0.tgz" 152 | "version" "8.3.0" 153 | 154 | "@types/ws@^7.4.1": 155 | "integrity" "sha512-PbeN0Eydl7LQl4OIav29YmkO2LxbVuz3nZD/kb19lOS+wLgIkRbWMNmU/QQR7ABpOJ7D7xDOU8co7iohObewrw==" 156 | "resolved" "https://registry.npmjs.org/@types/ws/-/ws-7.4.2.tgz" 157 | "version" "7.4.2" 158 | dependencies: 159 | "@types/node" "*" 160 | 161 | "accepts@~1.3.4", "accepts@~1.3.7": 162 | "integrity" "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==" 163 | "resolved" "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz" 164 | "version" "1.3.7" 165 | dependencies: 166 | "mime-types" "~2.1.24" 167 | "negotiator" "0.6.2" 168 | 169 | "ansi-styles@^4.1.0": 170 | "integrity" "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==" 171 | "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" 172 | "version" "4.3.0" 173 | dependencies: 174 | "color-convert" "^2.0.1" 175 | 176 | "array-filter@^1.0.0": 177 | "integrity" "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=" 178 | "resolved" "https://registry.npmjs.org/array-filter/-/array-filter-1.0.0.tgz" 179 | "version" "1.0.0" 180 | 181 | "array-flatten@1.1.1": 182 | "integrity" "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" 183 | "resolved" "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz" 184 | "version" "1.1.1" 185 | 186 | "available-typed-arrays@^1.0.2": 187 | "integrity" "sha512-XWX3OX8Onv97LMk/ftVyBibpGwY5a8SmuxZPzeOxqmuEqUCOM9ZE+uIaD1VNJ5QnvU2UQusvmKbuM1FR8QWGfQ==" 188 | "resolved" "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.2.tgz" 189 | "version" "1.0.2" 190 | dependencies: 191 | "array-filter" "^1.0.0" 192 | 193 | "awaitqueue@^2.3.3": 194 | "integrity" "sha512-RbzQg6VtPUtyErm55iuQLTrBJ2uihy5BKBOEkyBwv67xm5Fn2o/j+Bz+a5BmfSoe2oZ5dcz9Z3fExS8pL+LLhw==" 195 | "resolved" "https://registry.npmjs.org/awaitqueue/-/awaitqueue-2.3.3.tgz" 196 | "version" "2.3.3" 197 | 198 | "axios@*", "axios@^0.21.1": 199 | "integrity" "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==" 200 | "resolved" "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz" 201 | "version" "0.21.1" 202 | dependencies: 203 | "follow-redirects" "^1.10.0" 204 | 205 | "base64-arraybuffer@0.1.4": 206 | "integrity" "sha1-mBjHngWbE1X5fgQooBfIOOkLqBI=" 207 | "resolved" "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz" 208 | "version" "0.1.4" 209 | 210 | "base64id@~2.0.0", "base64id@2.0.0": 211 | "integrity" "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==" 212 | "resolved" "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz" 213 | "version" "2.0.0" 214 | 215 | "basic-auth@~2.0.1": 216 | "integrity" "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==" 217 | "resolved" "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz" 218 | "version" "2.0.1" 219 | dependencies: 220 | "safe-buffer" "5.1.2" 221 | 222 | "bl@^2.2.1": 223 | "integrity" "sha512-6Pesp1w0DEX1N550i/uGV/TqucVL4AM/pgThFSN/Qq9si1/DF9aIHs1BxD8V/QU0HoeHO6cQRTAuYnLPKq1e4g==" 224 | "resolved" "https://registry.npmjs.org/bl/-/bl-2.2.1.tgz" 225 | "version" "2.2.1" 226 | dependencies: 227 | "readable-stream" "^2.3.5" 228 | "safe-buffer" "^5.1.1" 229 | 230 | "body-parser@1.19.0": 231 | "integrity" "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==" 232 | "resolved" "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz" 233 | "version" "1.19.0" 234 | dependencies: 235 | "bytes" "3.1.0" 236 | "content-type" "~1.0.4" 237 | "debug" "2.6.9" 238 | "depd" "~1.1.2" 239 | "http-errors" "1.7.2" 240 | "iconv-lite" "0.4.24" 241 | "on-finished" "~2.3.0" 242 | "qs" "6.7.0" 243 | "raw-body" "2.4.0" 244 | "type-is" "~1.6.17" 245 | 246 | "bowser@^2.11.0": 247 | "integrity" "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==" 248 | "resolved" "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz" 249 | "version" "2.11.0" 250 | 251 | "bson@^1.1.4": 252 | "integrity" "sha512-EvVNVeGo4tHxwi8L6bPj3y3itEvStdwvvlojVxxbyYfoaxJ6keLgrTuKdyfEAszFK+H3olzBuafE0yoh0D1gdg==" 253 | "resolved" "https://registry.npmjs.org/bson/-/bson-1.1.6.tgz" 254 | "version" "1.1.6" 255 | 256 | "bytes@3.1.0": 257 | "integrity" "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" 258 | "resolved" "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz" 259 | "version" "3.1.0" 260 | 261 | "call-bind@^1.0.0", "call-bind@^1.0.2": 262 | "integrity" "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==" 263 | "resolved" "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz" 264 | "version" "1.0.2" 265 | dependencies: 266 | "function-bind" "^1.1.1" 267 | "get-intrinsic" "^1.0.2" 268 | 269 | "chalk@*", "chalk@^4.1.1": 270 | "integrity" "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==" 271 | "resolved" "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz" 272 | "version" "4.1.1" 273 | dependencies: 274 | "ansi-styles" "^4.1.0" 275 | "supports-color" "^7.1.0" 276 | 277 | "color-convert@^2.0.1": 278 | "integrity" "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==" 279 | "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" 280 | "version" "2.0.1" 281 | dependencies: 282 | "color-name" "~1.1.4" 283 | 284 | "color-name@~1.1.4": 285 | "integrity" "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" 286 | "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" 287 | "version" "1.1.4" 288 | 289 | "component-emitter@~1.3.0": 290 | "integrity" "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" 291 | "resolved" "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz" 292 | "version" "1.3.0" 293 | 294 | "content-disposition@0.5.3": 295 | "integrity" "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==" 296 | "resolved" "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz" 297 | "version" "0.5.3" 298 | dependencies: 299 | "safe-buffer" "5.1.2" 300 | 301 | "content-type@~1.0.4": 302 | "integrity" "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" 303 | "resolved" "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz" 304 | "version" "1.0.4" 305 | 306 | "cookie-signature@1.0.6": 307 | "integrity" "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" 308 | "resolved" "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" 309 | "version" "1.0.6" 310 | 311 | "cookie@~0.4.1": 312 | "integrity" "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==" 313 | "resolved" "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz" 314 | "version" "0.4.1" 315 | 316 | "cookie@0.4.0": 317 | "integrity" "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" 318 | "resolved" "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz" 319 | "version" "0.4.0" 320 | 321 | "core-util-is@~1.0.0": 322 | "integrity" "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" 323 | "resolved" "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" 324 | "version" "1.0.2" 325 | 326 | "cors@^2.8.5", "cors@~2.8.5": 327 | "integrity" "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==" 328 | "resolved" "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz" 329 | "version" "2.8.5" 330 | dependencies: 331 | "object-assign" "^4" 332 | "vary" "^1" 333 | 334 | "dateformat@^4.5.1": 335 | "integrity" "sha512-OD0TZ+B7yP7ZgpJf5K2DIbj3FZvFvxgFUuaqA/V5zTjAtAAXZ1E8bktHxmAGs4x5b7PflqA9LeQ84Og7wYtF7Q==" 336 | "resolved" "https://registry.npmjs.org/dateformat/-/dateformat-4.5.1.tgz" 337 | "version" "4.5.1" 338 | 339 | "debug@*", "debug@2.6.9": 340 | "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" 341 | "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" 342 | "version" "2.6.9" 343 | dependencies: 344 | "ms" "2.0.0" 345 | 346 | "debug@^4.1.1": 347 | "integrity" "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==" 348 | "resolved" "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz" 349 | "version" "4.3.1" 350 | dependencies: 351 | "ms" "2.1.2" 352 | 353 | "debug@^4.3.1": 354 | "integrity" "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==" 355 | "resolved" "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz" 356 | "version" "4.3.1" 357 | dependencies: 358 | "ms" "2.1.2" 359 | 360 | "debug@~4.3.1": 361 | "integrity" "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==" 362 | "resolved" "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz" 363 | "version" "4.3.1" 364 | dependencies: 365 | "ms" "2.1.2" 366 | 367 | "define-properties@^1.1.3": 368 | "integrity" "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==" 369 | "resolved" "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz" 370 | "version" "1.1.3" 371 | dependencies: 372 | "object-keys" "^1.0.12" 373 | 374 | "denque@^1.4.1": 375 | "integrity" "sha512-CYiCSgIF1p6EUByQPlGkKnP1M9g0ZV3qMIrqMqZqdwazygIA/YP2vrbcyl1h/WppKJTdl1F85cXIle+394iDAQ==" 376 | "resolved" "https://registry.npmjs.org/denque/-/denque-1.5.0.tgz" 377 | "version" "1.5.0" 378 | 379 | "depd@~1.1.2": 380 | "integrity" "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" 381 | "resolved" "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz" 382 | "version" "1.1.2" 383 | 384 | "depd@~2.0.0": 385 | "integrity" "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" 386 | "resolved" "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" 387 | "version" "2.0.0" 388 | 389 | "destroy@~1.0.4": 390 | "integrity" "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" 391 | "resolved" "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz" 392 | "version" "1.0.4" 393 | 394 | "dotenv@*", "dotenv@^8.2.0": 395 | "integrity" "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==" 396 | "resolved" "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz" 397 | "version" "8.2.0" 398 | 399 | "ee-first@1.1.1": 400 | "integrity" "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" 401 | "resolved" "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" 402 | "version" "1.1.1" 403 | 404 | "encodeurl@~1.0.2": 405 | "integrity" "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" 406 | "resolved" "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz" 407 | "version" "1.0.2" 408 | 409 | "engine.io-parser@~4.0.0": 410 | "integrity" "sha512-sHfEQv6nmtJrq6TKuIz5kyEKH/qSdK56H/A+7DnAuUPWosnIZAS2NHNcPLmyjtY3cGS/MqJdZbUjW97JU72iYg==" 411 | "resolved" "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-4.0.2.tgz" 412 | "version" "4.0.2" 413 | dependencies: 414 | "base64-arraybuffer" "0.1.4" 415 | 416 | "engine.io@~5.0.0": 417 | "integrity" "sha512-BATIdDV3H1SrE9/u2BAotvsmjJg0t1P4+vGedImSs1lkFAtQdvk4Ev1y4LDiPF7BPWgXWEG+NDY+nLvW3UrMWw==" 418 | "resolved" "https://registry.npmjs.org/engine.io/-/engine.io-5.0.0.tgz" 419 | "version" "5.0.0" 420 | dependencies: 421 | "accepts" "~1.3.4" 422 | "base64id" "2.0.0" 423 | "cookie" "~0.4.1" 424 | "cors" "~2.8.5" 425 | "debug" "~4.3.1" 426 | "engine.io-parser" "~4.0.0" 427 | "ws" "~7.4.2" 428 | 429 | "es-abstract@^1.18.0-next.1", "es-abstract@^1.18.0-next.2": 430 | "integrity" "sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw==" 431 | "resolved" "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0.tgz" 432 | "version" "1.18.0" 433 | dependencies: 434 | "call-bind" "^1.0.2" 435 | "es-to-primitive" "^1.2.1" 436 | "function-bind" "^1.1.1" 437 | "get-intrinsic" "^1.1.1" 438 | "has" "^1.0.3" 439 | "has-symbols" "^1.0.2" 440 | "is-callable" "^1.2.3" 441 | "is-negative-zero" "^2.0.1" 442 | "is-regex" "^1.1.2" 443 | "is-string" "^1.0.5" 444 | "object-inspect" "^1.9.0" 445 | "object-keys" "^1.1.1" 446 | "object.assign" "^4.1.2" 447 | "string.prototype.trimend" "^1.0.4" 448 | "string.prototype.trimstart" "^1.0.4" 449 | "unbox-primitive" "^1.0.0" 450 | 451 | "es-to-primitive@^1.2.1": 452 | "integrity" "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==" 453 | "resolved" "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" 454 | "version" "1.2.1" 455 | dependencies: 456 | "is-callable" "^1.1.4" 457 | "is-date-object" "^1.0.1" 458 | "is-symbol" "^1.0.2" 459 | 460 | "escape-html@~1.0.3": 461 | "integrity" "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" 462 | "resolved" "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" 463 | "version" "1.0.3" 464 | 465 | "etag@~1.8.1": 466 | "integrity" "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" 467 | "resolved" "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz" 468 | "version" "1.8.1" 469 | 470 | "events@^3.3.0": 471 | "integrity" "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" 472 | "resolved" "https://registry.npmjs.org/events/-/events-3.3.0.tgz" 473 | "version" "3.3.0" 474 | 475 | "express@^4.17.1": 476 | "integrity" "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==" 477 | "resolved" "https://registry.npmjs.org/express/-/express-4.17.1.tgz" 478 | "version" "4.17.1" 479 | dependencies: 480 | "accepts" "~1.3.7" 481 | "array-flatten" "1.1.1" 482 | "body-parser" "1.19.0" 483 | "content-disposition" "0.5.3" 484 | "content-type" "~1.0.4" 485 | "cookie" "0.4.0" 486 | "cookie-signature" "1.0.6" 487 | "debug" "2.6.9" 488 | "depd" "~1.1.2" 489 | "encodeurl" "~1.0.2" 490 | "escape-html" "~1.0.3" 491 | "etag" "~1.8.1" 492 | "finalhandler" "~1.1.2" 493 | "fresh" "0.5.2" 494 | "merge-descriptors" "1.0.1" 495 | "methods" "~1.1.2" 496 | "on-finished" "~2.3.0" 497 | "parseurl" "~1.3.3" 498 | "path-to-regexp" "0.1.7" 499 | "proxy-addr" "~2.0.5" 500 | "qs" "6.7.0" 501 | "range-parser" "~1.2.1" 502 | "safe-buffer" "5.1.2" 503 | "send" "0.17.1" 504 | "serve-static" "1.14.1" 505 | "setprototypeof" "1.1.1" 506 | "statuses" "~1.5.0" 507 | "type-is" "~1.6.18" 508 | "utils-merge" "1.0.1" 509 | "vary" "~1.1.2" 510 | 511 | "finalhandler@~1.1.2": 512 | "integrity" "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==" 513 | "resolved" "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz" 514 | "version" "1.1.2" 515 | dependencies: 516 | "debug" "2.6.9" 517 | "encodeurl" "~1.0.2" 518 | "escape-html" "~1.0.3" 519 | "on-finished" "~2.3.0" 520 | "parseurl" "~1.3.3" 521 | "statuses" "~1.5.0" 522 | "unpipe" "~1.0.0" 523 | 524 | "follow-redirects@^1.10.0": 525 | "integrity" "sha512-0vRwd7RKQBTt+mgu87mtYeofLFZpTas2S9zY+jIeuLJMNvudIgF52nr19q40HOwH5RrhWIPuj9puybzSJiRrVg==" 526 | "resolved" "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.0.tgz" 527 | "version" "1.14.0" 528 | 529 | "foreach@^2.0.5": 530 | "integrity" "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" 531 | "resolved" "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz" 532 | "version" "2.0.5" 533 | 534 | "forwarded@~0.1.2": 535 | "integrity" "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" 536 | "resolved" "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz" 537 | "version" "0.1.2" 538 | 539 | "fresh@0.5.2": 540 | "integrity" "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" 541 | "resolved" "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz" 542 | "version" "0.5.2" 543 | 544 | "function-bind@^1.1.1": 545 | "integrity" "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" 546 | "resolved" "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" 547 | "version" "1.1.1" 548 | 549 | "get-intrinsic@^1.0.2", "get-intrinsic@^1.1.1": 550 | "integrity" "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==" 551 | "resolved" "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz" 552 | "version" "1.1.1" 553 | dependencies: 554 | "function-bind" "^1.1.1" 555 | "has" "^1.0.3" 556 | "has-symbols" "^1.0.1" 557 | 558 | "h264-profile-level-id@^1.0.1": 559 | "integrity" "sha512-D3Rln/jKNjKDW5ZTJTK3niSoOGE+pFqPvRHHVgQN3G7umcn/zWGPUo8Q8VpDj16x3hKz++zVviRNRmXu5cpN+Q==" 560 | "resolved" "https://registry.npmjs.org/h264-profile-level-id/-/h264-profile-level-id-1.0.1.tgz" 561 | "version" "1.0.1" 562 | dependencies: 563 | "debug" "^4.1.1" 564 | 565 | "has-bigints@^1.0.1": 566 | "integrity" "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==" 567 | "resolved" "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz" 568 | "version" "1.0.1" 569 | 570 | "has-flag@^4.0.0": 571 | "integrity" "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" 572 | "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" 573 | "version" "4.0.0" 574 | 575 | "has-symbols@^1.0.1", "has-symbols@^1.0.2": 576 | "integrity" "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==" 577 | "resolved" "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz" 578 | "version" "1.0.2" 579 | 580 | "has@^1.0.3": 581 | "integrity" "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==" 582 | "resolved" "https://registry.npmjs.org/has/-/has-1.0.3.tgz" 583 | "version" "1.0.3" 584 | dependencies: 585 | "function-bind" "^1.1.1" 586 | 587 | "http-errors@~1.7.2", "http-errors@1.7.2": 588 | "integrity" "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==" 589 | "resolved" "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz" 590 | "version" "1.7.2" 591 | dependencies: 592 | "depd" "~1.1.2" 593 | "inherits" "2.0.3" 594 | "setprototypeof" "1.1.1" 595 | "statuses" ">= 1.5.0 < 2" 596 | "toidentifier" "1.0.0" 597 | 598 | "iconv-lite@0.4.24": 599 | "integrity" "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==" 600 | "resolved" "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" 601 | "version" "0.4.24" 602 | dependencies: 603 | "safer-buffer" ">= 2.1.2 < 3" 604 | 605 | "inherits@^2.0.3", "inherits@~2.0.3", "inherits@2.0.3": 606 | "integrity" "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" 607 | "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" 608 | "version" "2.0.3" 609 | 610 | "ipaddr.js@1.9.1": 611 | "integrity" "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" 612 | "resolved" "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz" 613 | "version" "1.9.1" 614 | 615 | "is-arguments@^1.0.4": 616 | "integrity" "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==" 617 | "resolved" "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz" 618 | "version" "1.1.0" 619 | dependencies: 620 | "call-bind" "^1.0.0" 621 | 622 | "is-bigint@^1.0.1": 623 | "integrity" "sha512-J0ELF4yHFxHy0cmSxZuheDOz2luOdVvqjwmEcj8H/L1JHeuEDSDbeRP+Dk9kFVk5RTFzbucJ2Kb9F7ixY2QaCg==" 624 | "resolved" "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.1.tgz" 625 | "version" "1.0.1" 626 | 627 | "is-boolean-object@^1.1.0": 628 | "integrity" "sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA==" 629 | "resolved" "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.0.tgz" 630 | "version" "1.1.0" 631 | dependencies: 632 | "call-bind" "^1.0.0" 633 | 634 | "is-callable@^1.1.4", "is-callable@^1.2.3": 635 | "integrity" "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==" 636 | "resolved" "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz" 637 | "version" "1.2.3" 638 | 639 | "is-date-object@^1.0.1": 640 | "integrity" "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==" 641 | "resolved" "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz" 642 | "version" "1.0.2" 643 | 644 | "is-generator-function@^1.0.7": 645 | "integrity" "sha512-2Omr/twNtufVZFr1GhxjOMFPAj2sjc/dKaIqBhvo4qciXfJmITGH6ZGd8eZYNHza8t1y0e01AuqRhJwfWp26WQ==" 646 | "resolved" "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.8.tgz" 647 | "version" "1.0.8" 648 | 649 | "is-negative-zero@^2.0.1": 650 | "integrity" "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==" 651 | "resolved" "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz" 652 | "version" "2.0.1" 653 | 654 | "is-number-object@^1.0.4": 655 | "integrity" "sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw==" 656 | "resolved" "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.4.tgz" 657 | "version" "1.0.4" 658 | 659 | "is-regex@^1.1.2": 660 | "integrity" "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==" 661 | "resolved" "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz" 662 | "version" "1.1.2" 663 | dependencies: 664 | "call-bind" "^1.0.2" 665 | "has-symbols" "^1.0.1" 666 | 667 | "is-string@^1.0.5": 668 | "integrity" "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==" 669 | "resolved" "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz" 670 | "version" "1.0.5" 671 | 672 | "is-symbol@^1.0.2", "is-symbol@^1.0.3": 673 | "integrity" "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==" 674 | "resolved" "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz" 675 | "version" "1.0.3" 676 | dependencies: 677 | "has-symbols" "^1.0.1" 678 | 679 | "is-typed-array@^1.1.3": 680 | "integrity" "sha512-S+GRDgJlR3PyEbsX/Fobd9cqpZBuvUS+8asRqYDMLCb2qMzt1oz5m5oxQCxOgUDxiWsOVNi4yaF+/uvdlHlYug==" 681 | "resolved" "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.5.tgz" 682 | "version" "1.1.5" 683 | dependencies: 684 | "available-typed-arrays" "^1.0.2" 685 | "call-bind" "^1.0.2" 686 | "es-abstract" "^1.18.0-next.2" 687 | "foreach" "^2.0.5" 688 | "has-symbols" "^1.0.1" 689 | 690 | "isarray@~1.0.0": 691 | "integrity" "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" 692 | "resolved" "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" 693 | "version" "1.0.0" 694 | 695 | "isomorphic-unfetch@^3.1.0": 696 | "integrity" "sha512-geDJjpoZ8N0kWexiwkX8F9NkTsXhetLPVbZFQ+JTW239QNOwvB0gniuR1Wc6f0AMTn7/mFGyXvHTifrCp/GH8Q==" 697 | "resolved" "https://registry.npmjs.org/isomorphic-unfetch/-/isomorphic-unfetch-3.1.0.tgz" 698 | "version" "3.1.0" 699 | dependencies: 700 | "node-fetch" "^2.6.1" 701 | "unfetch" "^4.2.0" 702 | 703 | "isomorphic-ws@^4.0.1": 704 | "integrity" "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==" 705 | "resolved" "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz" 706 | "version" "4.0.1" 707 | 708 | "media-typer@0.3.0": 709 | "integrity" "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" 710 | "resolved" "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" 711 | "version" "0.3.0" 712 | 713 | "mediasoup-client@^3.6.29": 714 | "integrity" "sha512-ll8koVsracUQVdvxR0HRE7cfamkDf4YOlzFjI3YE8d/rfhFiPNcI5X7sEP59VU1PZqOu65Gg56ZR8IrYZpIZBQ==" 715 | "resolved" "https://registry.npmjs.org/mediasoup-client/-/mediasoup-client-3.6.30.tgz" 716 | "version" "3.6.30" 717 | dependencies: 718 | "@types/debug" "^4.1.5" 719 | "@types/events" "^3.0.0" 720 | "awaitqueue" "^2.3.3" 721 | "bowser" "^2.11.0" 722 | "debug" "^4.3.1" 723 | "events" "^3.3.0" 724 | "h264-profile-level-id" "^1.0.1" 725 | "sdp-transform" "^2.14.1" 726 | "supports-color" "^8.1.1" 727 | 728 | "memory-pager@^1.0.2": 729 | "integrity" "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==" 730 | "resolved" "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz" 731 | "version" "1.5.0" 732 | 733 | "merge-descriptors@1.0.1": 734 | "integrity" "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" 735 | "resolved" "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz" 736 | "version" "1.0.1" 737 | 738 | "methods@~1.1.2": 739 | "integrity" "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" 740 | "resolved" "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz" 741 | "version" "1.1.2" 742 | 743 | "mime-db@1.47.0": 744 | "integrity" "sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==" 745 | "resolved" "https://registry.npmjs.org/mime-db/-/mime-db-1.47.0.tgz" 746 | "version" "1.47.0" 747 | 748 | "mime-types@~2.1.24": 749 | "integrity" "sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==" 750 | "resolved" "https://registry.npmjs.org/mime-types/-/mime-types-2.1.30.tgz" 751 | "version" "2.1.30" 752 | dependencies: 753 | "mime-db" "1.47.0" 754 | 755 | "mime@1.6.0": 756 | "integrity" "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" 757 | "resolved" "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" 758 | "version" "1.6.0" 759 | 760 | "mongodb@^3.2.3": 761 | "integrity" "sha512-WlirMiuV1UPbej5JeCMqE93JRfZ/ZzqE7nJTwP85XzjAF4rRSeq2bGCb1cjfoHLOF06+HxADaPGqT0g3SbVT1w==" 762 | "resolved" "https://registry.npmjs.org/mongodb/-/mongodb-3.6.6.tgz" 763 | "version" "3.6.6" 764 | dependencies: 765 | "bl" "^2.2.1" 766 | "bson" "^1.1.4" 767 | "denque" "^1.4.1" 768 | "optional-require" "^1.0.2" 769 | "safe-buffer" "^5.1.2" 770 | optionalDependencies: 771 | "saslprep" "^1.0.0" 772 | 773 | "monk-middleware-cast-ids@^0.2.1": 774 | "integrity" "sha1-QMQOWmyzPM7cKJIglDJ17ohhxSk=" 775 | "resolved" "https://registry.npmjs.org/monk-middleware-cast-ids/-/monk-middleware-cast-ids-0.2.1.tgz" 776 | "version" "0.2.1" 777 | 778 | "monk-middleware-fields@^0.2.0": 779 | "integrity" "sha1-/2N6819ZSIecyyvhWpE2CRG+psE=" 780 | "resolved" "https://registry.npmjs.org/monk-middleware-fields/-/monk-middleware-fields-0.2.0.tgz" 781 | "version" "0.2.0" 782 | 783 | "monk-middleware-handle-callback@^0.2.0": 784 | "integrity" "sha512-5hBynb7asZ2uw9XVze7C3XH0zXT51yFDvYydk/5HnWWzh2NLglDSiKDcX0yLKPHzFgiq+5Z4Laq5fFVnFsmm8w==" 785 | "resolved" "https://registry.npmjs.org/monk-middleware-handle-callback/-/monk-middleware-handle-callback-0.2.2.tgz" 786 | "version" "0.2.2" 787 | 788 | "monk-middleware-options@^0.2.1": 789 | "integrity" "sha1-WNrhxRjUZjbr3/UG+t/Hc7tEKIY=" 790 | "resolved" "https://registry.npmjs.org/monk-middleware-options/-/monk-middleware-options-0.2.1.tgz" 791 | "version" "0.2.1" 792 | 793 | "monk-middleware-query@^0.2.0": 794 | "integrity" "sha1-qSbGd9SlYgxiFRsKVtDAwVFnWHQ=" 795 | "resolved" "https://registry.npmjs.org/monk-middleware-query/-/monk-middleware-query-0.2.0.tgz" 796 | "version" "0.2.0" 797 | 798 | "monk-middleware-wait-for-connection@^0.2.0": 799 | "integrity" "sha1-MSlY0w5Yi1fQl1TdfJe0hDMWg1o=" 800 | "resolved" "https://registry.npmjs.org/monk-middleware-wait-for-connection/-/monk-middleware-wait-for-connection-0.2.0.tgz" 801 | "version" "0.2.0" 802 | 803 | "monk@^7.3.4": 804 | "integrity" "sha512-PkPNiElwroVyKQj01usyziOvwiKYBUVSq7YU1FB4KFr0J3v0GeXW0TebYsLR4u33WB8JGqPiAcuzDspfdujqQg==" 805 | "resolved" "https://registry.npmjs.org/monk/-/monk-7.3.4.tgz" 806 | "version" "7.3.4" 807 | dependencies: 808 | "@types/mongodb" "^3.5.25" 809 | "debug" "*" 810 | "mongodb" "^3.2.3" 811 | "monk-middleware-cast-ids" "^0.2.1" 812 | "monk-middleware-fields" "^0.2.0" 813 | "monk-middleware-handle-callback" "^0.2.0" 814 | "monk-middleware-options" "^0.2.1" 815 | "monk-middleware-query" "^0.2.0" 816 | "monk-middleware-wait-for-connection" "^0.2.0" 817 | "object-assign" "^4.1.1" 818 | 819 | "morgan@^1.10.0": 820 | "integrity" "sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==" 821 | "resolved" "https://registry.npmjs.org/morgan/-/morgan-1.10.0.tgz" 822 | "version" "1.10.0" 823 | dependencies: 824 | "basic-auth" "~2.0.1" 825 | "debug" "2.6.9" 826 | "depd" "~2.0.0" 827 | "on-finished" "~2.3.0" 828 | "on-headers" "~1.0.2" 829 | 830 | "ms@2.0.0": 831 | "integrity" "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" 832 | "resolved" "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" 833 | "version" "2.0.0" 834 | 835 | "ms@2.1.1": 836 | "integrity" "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" 837 | "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz" 838 | "version" "2.1.1" 839 | 840 | "ms@2.1.2": 841 | "integrity" "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" 842 | "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" 843 | "version" "2.1.2" 844 | 845 | "negotiator@0.6.2": 846 | "integrity" "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" 847 | "resolved" "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz" 848 | "version" "0.6.2" 849 | 850 | "node-fetch@^2.6.1": 851 | "integrity" "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" 852 | "resolved" "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz" 853 | "version" "2.6.1" 854 | 855 | "object-assign@^4", "object-assign@^4.1.1": 856 | "integrity" "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" 857 | "resolved" "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" 858 | "version" "4.1.1" 859 | 860 | "object-inspect@^1.9.0": 861 | "integrity" "sha512-gz58rdPpadwztRrPjZE9DZLOABUpTGdcANUgOwBFO1C+HZZhePoP83M65WGDmbpwFYJSWqavbl4SgDn4k8RYTA==" 862 | "resolved" "https://registry.npmjs.org/object-inspect/-/object-inspect-1.10.2.tgz" 863 | "version" "1.10.2" 864 | 865 | "object-keys@^1.0.12", "object-keys@^1.1.1": 866 | "integrity" "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" 867 | "resolved" "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" 868 | "version" "1.1.1" 869 | 870 | "object.assign@^4.1.2": 871 | "integrity" "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==" 872 | "resolved" "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz" 873 | "version" "4.1.2" 874 | dependencies: 875 | "call-bind" "^1.0.0" 876 | "define-properties" "^1.1.3" 877 | "has-symbols" "^1.0.1" 878 | "object-keys" "^1.1.1" 879 | 880 | "on-finished@~2.3.0": 881 | "integrity" "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=" 882 | "resolved" "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz" 883 | "version" "2.3.0" 884 | dependencies: 885 | "ee-first" "1.1.1" 886 | 887 | "on-headers@~1.0.2": 888 | "integrity" "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" 889 | "resolved" "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz" 890 | "version" "1.0.2" 891 | 892 | "optional-require@^1.0.2": 893 | "integrity" "sha512-RV2Zp2MY2aeYK5G+B/Sps8lW5NHAzE5QClbFP15j+PWmP+T9PxlJXBOOLoSAdgwFvS4t0aMR4vpedMkbHfh0nA==" 894 | "resolved" "https://registry.npmjs.org/optional-require/-/optional-require-1.0.3.tgz" 895 | "version" "1.0.3" 896 | 897 | "parseurl@~1.3.3": 898 | "integrity" "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" 899 | "resolved" "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz" 900 | "version" "1.3.3" 901 | 902 | "path-to-regexp@0.1.7": 903 | "integrity" "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" 904 | "resolved" "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz" 905 | "version" "0.1.7" 906 | 907 | "process-nextick-args@~2.0.0": 908 | "integrity" "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" 909 | "resolved" "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" 910 | "version" "2.0.1" 911 | 912 | "proxy-addr@~2.0.5": 913 | "integrity" "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==" 914 | "resolved" "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz" 915 | "version" "2.0.6" 916 | dependencies: 917 | "forwarded" "~0.1.2" 918 | "ipaddr.js" "1.9.1" 919 | 920 | "qs@6.7.0": 921 | "integrity" "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" 922 | "resolved" "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz" 923 | "version" "6.7.0" 924 | 925 | "range-parser@~1.2.1": 926 | "integrity" "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" 927 | "resolved" "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" 928 | "version" "1.2.1" 929 | 930 | "raw-body@2.4.0": 931 | "integrity" "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==" 932 | "resolved" "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz" 933 | "version" "2.4.0" 934 | dependencies: 935 | "bytes" "3.1.0" 936 | "http-errors" "1.7.2" 937 | "iconv-lite" "0.4.24" 938 | "unpipe" "1.0.0" 939 | 940 | "readable-stream@^2.3.5": 941 | "integrity" "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==" 942 | "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz" 943 | "version" "2.3.7" 944 | dependencies: 945 | "core-util-is" "~1.0.0" 946 | "inherits" "~2.0.3" 947 | "isarray" "~1.0.0" 948 | "process-nextick-args" "~2.0.0" 949 | "safe-buffer" "~5.1.1" 950 | "string_decoder" "~1.1.1" 951 | "util-deprecate" "~1.0.1" 952 | 953 | "reconnecting-websocket@^4.4.0": 954 | "integrity" "sha512-D2E33ceRPga0NvTDhJmphEgJ7FUYF0v4lr1ki0csq06OdlxKfugGzN0dSkxM/NfqCxYELK4KcaTOUOjTV6Dcng==" 955 | "resolved" "https://registry.npmjs.org/reconnecting-websocket/-/reconnecting-websocket-4.4.0.tgz" 956 | "version" "4.4.0" 957 | 958 | "safe-buffer@^5.1.1", "safe-buffer@^5.1.2", "safe-buffer@~5.1.0", "safe-buffer@~5.1.1", "safe-buffer@5.1.2": 959 | "integrity" "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" 960 | "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" 961 | "version" "5.1.2" 962 | 963 | "safer-buffer@>= 2.1.2 < 3": 964 | "integrity" "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" 965 | "resolved" "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" 966 | "version" "2.1.2" 967 | 968 | "saslprep@^1.0.0": 969 | "integrity" "sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==" 970 | "resolved" "https://registry.npmjs.org/saslprep/-/saslprep-1.0.3.tgz" 971 | "version" "1.0.3" 972 | dependencies: 973 | "sparse-bitfield" "^3.0.3" 974 | 975 | "sdp-transform@^2.14.1": 976 | "integrity" "sha512-RjZyX3nVwJyCuTo5tGPx+PZWkDMCg7oOLpSlhjDdZfwUoNqG1mM8nyj31IGHyaPWXhjbP7cdK3qZ2bmkJ1GzRw==" 977 | "resolved" "https://registry.npmjs.org/sdp-transform/-/sdp-transform-2.14.1.tgz" 978 | "version" "2.14.1" 979 | 980 | "send@0.17.1": 981 | "integrity" "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==" 982 | "resolved" "https://registry.npmjs.org/send/-/send-0.17.1.tgz" 983 | "version" "0.17.1" 984 | dependencies: 985 | "debug" "2.6.9" 986 | "depd" "~1.1.2" 987 | "destroy" "~1.0.4" 988 | "encodeurl" "~1.0.2" 989 | "escape-html" "~1.0.3" 990 | "etag" "~1.8.1" 991 | "fresh" "0.5.2" 992 | "http-errors" "~1.7.2" 993 | "mime" "1.6.0" 994 | "ms" "2.1.1" 995 | "on-finished" "~2.3.0" 996 | "range-parser" "~1.2.1" 997 | "statuses" "~1.5.0" 998 | 999 | "serve-static@1.14.1": 1000 | "integrity" "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==" 1001 | "resolved" "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz" 1002 | "version" "1.14.1" 1003 | dependencies: 1004 | "encodeurl" "~1.0.2" 1005 | "escape-html" "~1.0.3" 1006 | "parseurl" "~1.3.3" 1007 | "send" "0.17.1" 1008 | 1009 | "setprototypeof@1.1.1": 1010 | "integrity" "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" 1011 | "resolved" "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz" 1012 | "version" "1.1.1" 1013 | 1014 | "socket.io-adapter@~2.2.0": 1015 | "integrity" "sha512-rG49L+FwaVEwuAdeBRq49M97YI3ElVabJPzvHT9S6a2CWhDKnjSFasvwAwSYPRhQzfn4NtDIbCaGYgOCOU/rlg==" 1016 | "resolved" "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.2.0.tgz" 1017 | "version" "2.2.0" 1018 | 1019 | "socket.io-parser@~4.0.3": 1020 | "integrity" "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==" 1021 | "resolved" "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz" 1022 | "version" "4.0.4" 1023 | dependencies: 1024 | "@types/component-emitter" "^1.2.10" 1025 | "component-emitter" "~1.3.0" 1026 | "debug" "~4.3.1" 1027 | 1028 | "socket.io@^4.0.1": 1029 | "integrity" "sha512-g8eZB9lV0f4X4gndG0k7YZAywOg1VxYgCUspS4V+sDqsgI/duqd0AW84pKkbGj/wQwxrqrEq+VZrspRfTbHTAQ==" 1030 | "resolved" "https://registry.npmjs.org/socket.io/-/socket.io-4.0.1.tgz" 1031 | "version" "4.0.1" 1032 | dependencies: 1033 | "@types/cookie" "^0.4.0" 1034 | "@types/cors" "^2.8.8" 1035 | "@types/node" ">=10.0.0" 1036 | "accepts" "~1.3.4" 1037 | "base64id" "~2.0.0" 1038 | "debug" "~4.3.1" 1039 | "engine.io" "~5.0.0" 1040 | "socket.io-adapter" "~2.2.0" 1041 | "socket.io-parser" "~4.0.3" 1042 | 1043 | "sparse-bitfield@^3.0.3": 1044 | "integrity" "sha1-/0rm5oZWBWuks+eSqzM004JzyhE=" 1045 | "resolved" "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz" 1046 | "version" "3.0.3" 1047 | dependencies: 1048 | "memory-pager" "^1.0.2" 1049 | 1050 | "statuses@>= 1.5.0 < 2", "statuses@~1.5.0": 1051 | "integrity" "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" 1052 | "resolved" "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz" 1053 | "version" "1.5.0" 1054 | 1055 | "string_decoder@~1.1.1": 1056 | "integrity" "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==" 1057 | "resolved" "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" 1058 | "version" "1.1.1" 1059 | dependencies: 1060 | "safe-buffer" "~5.1.0" 1061 | 1062 | "string.prototype.trimend@^1.0.4": 1063 | "integrity" "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==" 1064 | "resolved" "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz" 1065 | "version" "1.0.4" 1066 | dependencies: 1067 | "call-bind" "^1.0.2" 1068 | "define-properties" "^1.1.3" 1069 | 1070 | "string.prototype.trimstart@^1.0.4": 1071 | "integrity" "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==" 1072 | "resolved" "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz" 1073 | "version" "1.0.4" 1074 | dependencies: 1075 | "call-bind" "^1.0.2" 1076 | "define-properties" "^1.1.3" 1077 | 1078 | "supports-color@^7.1.0": 1079 | "integrity" "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==" 1080 | "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" 1081 | "version" "7.2.0" 1082 | dependencies: 1083 | "has-flag" "^4.0.0" 1084 | 1085 | "supports-color@^8.1.1": 1086 | "integrity" "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==" 1087 | "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" 1088 | "version" "8.1.1" 1089 | dependencies: 1090 | "has-flag" "^4.0.0" 1091 | 1092 | "toidentifier@1.0.0": 1093 | "integrity" "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" 1094 | "resolved" "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz" 1095 | "version" "1.0.0" 1096 | 1097 | "type-is@~1.6.17", "type-is@~1.6.18": 1098 | "integrity" "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==" 1099 | "resolved" "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz" 1100 | "version" "1.6.18" 1101 | dependencies: 1102 | "media-typer" "0.3.0" 1103 | "mime-types" "~2.1.24" 1104 | 1105 | "typescript@^4.2.4": 1106 | "integrity" "sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg==" 1107 | "resolved" "https://registry.npmjs.org/typescript/-/typescript-4.2.4.tgz" 1108 | "version" "4.2.4" 1109 | 1110 | "unbox-primitive@^1.0.0": 1111 | "integrity" "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==" 1112 | "resolved" "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz" 1113 | "version" "1.0.1" 1114 | dependencies: 1115 | "function-bind" "^1.1.1" 1116 | "has-bigints" "^1.0.1" 1117 | "has-symbols" "^1.0.2" 1118 | "which-boxed-primitive" "^1.0.2" 1119 | 1120 | "unfetch@^4.2.0": 1121 | "integrity" "sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA==" 1122 | "resolved" "https://registry.npmjs.org/unfetch/-/unfetch-4.2.0.tgz" 1123 | "version" "4.2.0" 1124 | 1125 | "unpipe@~1.0.0", "unpipe@1.0.0": 1126 | "integrity" "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" 1127 | "resolved" "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" 1128 | "version" "1.0.0" 1129 | 1130 | "util-deprecate@~1.0.1": 1131 | "integrity" "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" 1132 | "resolved" "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" 1133 | "version" "1.0.2" 1134 | 1135 | "util@^0.12.3": 1136 | "integrity" "sha512-I8XkoQwE+fPQEhy9v012V+TSdH2kp9ts29i20TaaDUXsg7x/onePbhFJUExBfv/2ay1ZOp/Vsm3nDlmnFGSAog==" 1137 | "resolved" "https://registry.npmjs.org/util/-/util-0.12.3.tgz" 1138 | "version" "0.12.3" 1139 | dependencies: 1140 | "inherits" "^2.0.3" 1141 | "is-arguments" "^1.0.4" 1142 | "is-generator-function" "^1.0.7" 1143 | "is-typed-array" "^1.1.3" 1144 | "safe-buffer" "^5.1.2" 1145 | "which-typed-array" "^1.1.2" 1146 | 1147 | "utils-merge@1.0.1": 1148 | "integrity" "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" 1149 | "resolved" "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz" 1150 | "version" "1.0.1" 1151 | 1152 | "uuid@^8.3.2": 1153 | "integrity" "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" 1154 | "resolved" "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" 1155 | "version" "8.3.2" 1156 | 1157 | "vary@^1", "vary@~1.1.2": 1158 | "integrity" "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" 1159 | "resolved" "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz" 1160 | "version" "1.1.2" 1161 | 1162 | "which-boxed-primitive@^1.0.2": 1163 | "integrity" "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==" 1164 | "resolved" "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz" 1165 | "version" "1.0.2" 1166 | dependencies: 1167 | "is-bigint" "^1.0.1" 1168 | "is-boolean-object" "^1.1.0" 1169 | "is-number-object" "^1.0.4" 1170 | "is-string" "^1.0.5" 1171 | "is-symbol" "^1.0.3" 1172 | 1173 | "which-typed-array@^1.1.2": 1174 | "integrity" "sha512-49E0SpUe90cjpoc7BOJwyPHRqSAd12c10Qm2amdEZrJPCY2NDxaW01zHITrem+rnETY3dwrbH3UUrUwagfCYDA==" 1175 | "resolved" "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.4.tgz" 1176 | "version" "1.1.4" 1177 | dependencies: 1178 | "available-typed-arrays" "^1.0.2" 1179 | "call-bind" "^1.0.0" 1180 | "es-abstract" "^1.18.0-next.1" 1181 | "foreach" "^2.0.5" 1182 | "function-bind" "^1.1.1" 1183 | "has-symbols" "^1.0.1" 1184 | "is-typed-array" "^1.1.3" 1185 | 1186 | "ws@*", "ws@^7.4.4", "ws@~7.4.2": 1187 | "integrity" "sha512-xzyu3hFvomRfXKH8vOFMU3OguG6oOvhXMo3xsGy3xWExqaM2dxBbVxuD99O7m3ZUFMvvscsZDqxfgMaRr/Nr1g==" 1188 | "resolved" "https://registry.npmjs.org/ws/-/ws-7.4.5.tgz" 1189 | "version" "7.4.5" 1190 | --------------------------------------------------------------------------------