.
675 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 | Tickets Bot
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
An easy to use Tickets bot made with Discord.js and MongoDB
12 |
13 | ## Requirements
14 | - Discord.js v13 (`npm install discord.js@latest`)
15 | - `application.commands` scope enabled for your bot in Developer Portal (For Slash Cmds)
16 | - NodeJS v16.6 or higher
17 | - Basic knowledge of JavaScript or Discord.js
18 |
19 | ## Getting Started
20 | #### Create a fork:
21 | - [Click Here](https://github.com/Simpleboy353/Tickets-Bot) or open your terminal and type `git clone https://github.com/Simpleboy353/Tickets-Bot.git`
22 |
23 | #### Installing all the neccessary dependencies
24 | - `npm install`
25 |
26 | #### Configuration
27 | - Fill the required values in the `config.json` file
28 | ```json
29 | {
30 | "ownerID": "bot owner's id",
31 | "token": "bot token",
32 | "dburl": "mongo db url"
33 | }
34 | ```
35 | - Enter your ID in the `ownerID` field
36 | - Enter your bot token in `token` field
37 | - Enter the MongoDB url in `dburl` field
38 |
39 | #### Starting the bot
40 | ###### Do any one:
41 | - `npm start`
42 | - `node .`
43 | - `node index.js`
44 |
45 | ### Every fork and star is appreciated!
46 |
--------------------------------------------------------------------------------
/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "ownerID": "",
3 | "token": "",
4 | "dburl": ""
5 | }
--------------------------------------------------------------------------------
/events/interactionCreate.js:
--------------------------------------------------------------------------------
1 | const { ownerID } = require("../config.json")
2 |
3 | module.exports = async(interaction, client) => {
4 |
5 | if (!interaction.isCommand()) return;
6 |
7 | const command = client.slash.get(interaction.commandName);
8 | if (!command) return interaction.reply({ content: 'an Error' });
9 |
10 | if (command.ownerOnly === true) {
11 | if (!interaction.member.id == ownerID) {
12 | return interaction.reply("This command can only be used by the bot owner!")
13 | }
14 | }
15 |
16 | if (command.userPerms) {
17 | if (!client.guilds.cache.get(interaction.guild.id).members.cache.get(interaction.member.id).permissions.has(command.userPerms || [])) {
18 | if (command.noUserPermsMessage) {
19 | return interaction.reply(command.noUserPermsMessage)
20 | } else if (!command.noUserPermsMessage) {
21 | return interaction.reply(`You need the \`${command.userPerms}\` permission to use this command!`)
22 | }
23 | }
24 | }
25 |
26 | if (command.botPerms) {
27 | if (!client.guilds.cache.get(interaction.guild.id).members.cache.get(client.user.id).permissions.has(command.botPerms || [])) {
28 | if (command.noBotPermsMessage) {
29 | return interaction.reply(command.noBotPermsMessage)
30 | } else if (!command.noBotPermsMessage) {
31 | return interaction.reply(`I need the \`${command.userPerms}\` permission to execute this command!`)
32 | }
33 | }
34 | }
35 |
36 | const args = [];
37 |
38 | for (let option of interaction.options.data) {
39 | if (option.type === 'SUB_COMMAND') {
40 | if (option.name) args.push(option.name);
41 | option.options?.forEach(x => {
42 | if (x.value) args.push(x.value);
43 | });
44 | } else if (option.value) args.push(option.value);
45 | }
46 |
47 | try {
48 | command.run(client, interaction, args)
49 | } catch (e) {
50 | interaction.reply({ content: e.message });
51 | }
52 | }
--------------------------------------------------------------------------------
/events/messageReactionAdd.js:
--------------------------------------------------------------------------------
1 | const ticketChannelData = require('../models/channel');
2 | const createTicket = require('../exports/createTicket');
3 | const guildModel = require('../models/guild');
4 | const ticketModel = require('../models/ticket');
5 | const fetchAll = require('discord-fetch-all');
6 | const fs = require('fs');
7 | const { MessageEmbed } = require('discord.js');
8 |
9 | module.exports = async(reaction, user, client) => {
10 | const { message } = reaction;
11 | const IdData = await ticketChannelData.findOne({
12 | ticketGuildID: message.guild.id
13 | }).catch(err => console.log(err))
14 |
15 | const ticketchannel = IdData.ticketChannelID
16 |
17 | var guildDoc = await guildModel.findOne({
18 | guildID: message.guild.id
19 | });
20 |
21 | if (!guildDoc) {
22 | guildDoc = new guildModel({
23 | guildID: message.guild.id,
24 | ticketCount: 0
25 | });
26 |
27 | await guildDoc.save();
28 | }
29 |
30 | const ticketDoc = await ticketModel.findOne({
31 | guildID: message.guild.id,
32 | userID: user.id
33 | });
34 |
35 | if (message.channel.id == ticketchannel && reaction.emoji.name == '🎫') {
36 | reaction.users.remove(user).catch(console.error);
37 | if (ticketDoc) {
38 | const channel = message.guild
39 | .channels.cache.get(ticketDoc.ticketID);
40 |
41 | if (!channel) {
42 | await ticketDoc.deleteOne();
43 | createTicket(message, user, guildDoc);
44 | console.log("New Ticket Created!")
45 | }
46 | } else {
47 | createTicket(message, user, guildDoc);
48 | console.log("New Ticket Created!")
49 | }
50 | } else if (message.id == (ticketDoc ? ticketDoc.msgID : null)) {
51 | if (reaction.emoji.name == '🔒') {
52 | reaction.users.remove(user).catch(console.error);
53 |
54 | const closeEmbed = new MessageEmbed()
55 | .setColor("YELLOW")
56 | .setDescription(`Ticket closed by ${user}`)
57 |
58 | if (!ticketDoc.ticketStatus) {
59 | message.channel.send({
60 | embeds: [closeEmbed]
61 | });
62 |
63 | message.channel.permissionOverwrites.edit(
64 | client.users.cache.get(ticketDoc.userID), {
65 | SEND_MESSAGES: false,
66 | VIEW_CHANNEL: false
67 | }
68 | );
69 |
70 | const closingEmbed = new MessageEmbed()
71 | .setColor("RED")
72 | .setDescription(`📰 Ticket Transcript \n🔓 Reopen Ticket \n⛔ Close Ticket`)
73 | const msg = await message.channel.send({
74 | embeds: [closingEmbed]
75 | });
76 |
77 | await msg.react('📰');
78 | await msg.react('🔓');
79 | await msg.react('⛔');
80 |
81 | ticketDoc.msgPannelID = msg.id;
82 | ticketDoc.ticketStatus = true;
83 |
84 | await ticketDoc.save();
85 | }
86 | }
87 | } else if (message.id == (ticketDoc ? ticketDoc.msgPannelID : null)) {
88 | if (reaction.emoji.name == '📰') {
89 | const msgsArray = await fetchAll.messages(message.channel, {
90 | reverseArray: true
91 | });
92 |
93 | const content = msgsArray.map(m => `${m.author.tag} - ${m.embeds.length ? m.embeds[0].description : m.content}`);
94 |
95 | fs.writeFileSync('transcript.txt', content.join('\n'));
96 |
97 | message.channel.send({ files: [{ attachment: "transcript.txt", name: "transcript.txt" }] });
98 | } else if (reaction.emoji.name == '🔓') {
99 | message.channel.permissionOverwrites.edit(
100 | client.users.cache.get(ticketDoc.userID), {
101 | SEND_MESSAGES: true,
102 | VIEW_CHANNEL: true
103 | }
104 | );
105 |
106 | const msg = await message.channel
107 | .messages.fetch(ticketDoc.msgPannelID);
108 |
109 | msg.delete();
110 |
111 | ticketDoc.msgPannelID = null;
112 | ticketDoc.ticketStatus = false;
113 |
114 | await ticketDoc.save();
115 |
116 | const openEmbed = new MessageEmbed()
117 | .setColor("GREEN")
118 | .setDescription(`Ticket opened by ${user}`)
119 | message.channel.send({
120 | embeds: [openEmbed]
121 | });
122 | } else if (reaction.emoji.name == '⛔') {
123 | message.channel.delete();
124 | await ticketDoc.deleteOne();
125 | }
126 | }
127 | };
--------------------------------------------------------------------------------
/events/ready.js:
--------------------------------------------------------------------------------
1 | const { connect } = require('mongoose');
2 | const { dburl } = require('../config.json');
3 |
4 | module.exports = (client) => { // eslint-disable-line no-unused-vars
5 | console.log('Yo. This is ready!');
6 | connect(dburl, {
7 | useNewUrlParser: true,
8 | useUnifiedTopology: true,
9 | useFindAndModify: false,
10 | }).then(console.log('Connected to MongoDB'));
11 | };
--------------------------------------------------------------------------------
/exports/checkValid.js:
--------------------------------------------------------------------------------
1 | const { ownerID, token, dburl } = require("../config.json")
2 |
3 | function checkValid() {
4 | if (!ownerID) {
5 | throw ReferenceError("[OWNER_ID_MISSING] Couldn't find the Owner ID")
6 | }
7 | if (!token) {
8 | throw ReferenceError("[BOT_TOKEN_MISSING] Couldn't find the Bot Token")
9 | }
10 | if (!dburl) {
11 | throw ReferenceError("[CONNECTION_URL_MISSING] Couldn't find the MongoDB Connection URL")
12 | }
13 | }
14 |
15 | module.exports = {
16 | checkValid,
17 | }
--------------------------------------------------------------------------------
/exports/createTicket.js:
--------------------------------------------------------------------------------
1 | const ticketModel = require('../models/ticket');
2 | const { MessageEmbed } = require("discord.js")
3 |
4 | module.exports = async(message, user, guildDoc) => {
5 | const ticketData = require('../models/channel')
6 | const IdData = await ticketData.findOne({
7 | ticketGuildID: message.guild.id
8 | }).catch(err => console.log(err))
9 |
10 | guildDoc.ticketCount += 1;
11 |
12 | await guildDoc.save();
13 |
14 | const ticketChannel = await message.guild
15 | .channels.create(`ticket-${guildDoc.ticketCount}`, {
16 | permissionOverwrites: [{
17 | allow: ['VIEW_CHANNEL', 'SEND_MESSAGES'],
18 | id: user.id
19 | },
20 | {
21 | deny: ['VIEW_CHANNEL', 'SEND_MESSAGES'],
22 | id: message.guild.id
23 | }
24 | ]
25 | });
26 | const embed = new MessageEmbed()
27 | .setColor('BLUE')
28 | .setDescription('React with 🔒 to close this ticket.')
29 |
30 | const msg = await ticketChannel.send({ embeds: [embed] });
31 |
32 | msg.react('🔒');
33 |
34 | const ticketDoc = new ticketModel({
35 | guildID: message.guild.id,
36 | userID: user.id,
37 | ticketID: ticketChannel.id,
38 | ticketStatus: false,
39 | msgID: msg.id
40 | });
41 |
42 | await ticketDoc.save();
43 | };
--------------------------------------------------------------------------------
/handler/loadEvents.js:
--------------------------------------------------------------------------------
1 | const { Client } = require("discord.js")
2 | const clientEvent = (event) => require(`../events/${event}`)
3 |
4 | /**
5 | * Loads the used by the client
6 | * @param {Client} client
7 | */
8 | function loadEvents(client) {
9 | client.on("ready", () => clientEvent("ready")(client));
10 | client.on("interactionCreate", (m) => clientEvent("interactionCreate")(m, client));
11 | client.on("messageReactionAdd", (m, n) => clientEvent("messageReactionAdd")(m, n, client));
12 | }
13 |
14 | module.exports = {
15 | loadEvents
16 | };
--------------------------------------------------------------------------------
/handler/loadSlashCommands.js:
--------------------------------------------------------------------------------
1 | const { Client } = require("discord.js")
2 | /**
3 | * Loads all the slash commands available for the client
4 | * @param {Client} client
5 | */
6 |
7 | function loadSlashCommands(client) {
8 | const fs = require("fs");
9 | const ascii = require("ascii-table");
10 |
11 | let slash = []
12 |
13 | const table = new ascii().setHeading(" Slash Commands", "Load Status");
14 |
15 | const commandFolders = fs.readdirSync("./slashCommands");
16 | for (const folder of commandFolders) {
17 | const commandFiles = fs
18 | .readdirSync(`./slashCommands/${folder}`)
19 | .filter((file) => file.endsWith(".js"));
20 | for (const file of commandFiles) {
21 | const command = require(`../slashCommands/${folder}/${file}`);
22 | if (command.name) {
23 | client.slash.set(command.name, command);
24 | slash.push(command)
25 | table.addRow(file, "✔️");
26 | } else {
27 | table.addRow(
28 | file,
29 | "❌ => Missing a help.name or help.name is not in string"
30 | );
31 | continue;
32 | }
33 | }
34 | console.log(table.toString());
35 | }
36 | client.on("ready", async() => {
37 | await client.application.commands.set(slash)
38 | })
39 | }
40 |
41 | module.exports = {
42 | loadSlashCommands,
43 | };
--------------------------------------------------------------------------------
/index.js:
--------------------------------------------------------------------------------
1 | const { Client, MessageEmbed, Intents, Collection } = require('discord.js');
2 | const { token } = require('./config.json')
3 | const { loadEvents } = require("./handler/loadEvents")
4 | const { loadSlashCommands } = require("./handler/loadSlashCommands")
5 | const { checkValid } = require("./exports/checkValid")
6 | const client = new Client({
7 | partials: ['MESSAGE', 'CHANNEL', 'REACTION' ],
8 | allowedMentions: { parse: ["users", "roles"] },
9 | intents: [
10 | Intents.FLAGS.GUILDS,
11 | Intents.FLAGS.GUILD_MESSAGES,
12 | Intents.FLAGS.GUILD_MEMBERS,
13 | Intents.FLAGS.GUILD_MESSAGE_REACTIONS,
14 | Intents.FLAGS.GUILD_WEBHOOKS,
15 | Intents.FLAGS.GUILD_INVITES,
16 | Intents.FLAGS.GUILD_PRESENCES,
17 | ],
18 | });
19 | client.slash = new Collection()
20 | loadEvents(client);
21 | loadSlashCommands(client);
22 | checkValid();
23 |
24 | process.on("uncaughtException", (err) => {
25 | console.log("Uncaught Exception: " + err);
26 | });
27 |
28 | process.on("unhandledRejection", (reason, promise) => {
29 | console.log(
30 | "[FATAL] Possibly Unhandled Rejection at: Promise ",
31 | promise,
32 | " reason: ",
33 | reason.message
34 | );
35 | });
36 |
37 | client.login(token);
--------------------------------------------------------------------------------
/models/channel.js:
--------------------------------------------------------------------------------
1 | const mongoose = require('mongoose')
2 |
3 | const channelSchema = new mongoose.Schema({
4 | ticketGuildID: String,
5 | ticketChannelID: String,
6 | });
7 |
8 | const channelModel = module.exports = new mongoose.model('channels', channelSchema)
--------------------------------------------------------------------------------
/models/guild.js:
--------------------------------------------------------------------------------
1 | const { Schema, model } = require('mongoose');
2 |
3 | const guild = Schema({
4 | guildID: String,
5 | ticketCount: Number
6 | });
7 |
8 | module.exports = model('guild', guild);
--------------------------------------------------------------------------------
/models/ticket.js:
--------------------------------------------------------------------------------
1 | const { Schema, model } = require('mongoose');
2 |
3 | const ticket = Schema({
4 | guildID: String,
5 | userID: String,
6 | ticketID: String,
7 | ticketStatus: Boolean,
8 | msgID: String,
9 | msgPannelID: String
10 | });
11 |
12 | module.exports = model('ticket', ticket);
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "ticket-bot",
3 | "version": "1.0.0",
4 | "lockfileVersion": 2,
5 | "requires": true,
6 | "packages": {
7 | "": {
8 | "name": "ticket-bot",
9 | "version": "1.0.0",
10 | "license": "GPL-3.0",
11 | "dependencies": {
12 | "ascii-table": "^0.0.9",
13 | "discord-fetch-all": "^3.0.2",
14 | "discord.js": "^13.3.0",
15 | "fs": "^0.0.1-security",
16 | "mongoose": "^5.10.5"
17 | },
18 | "devDependencies": {
19 | "eslint": "^7.9.0"
20 | }
21 | },
22 | "node_modules/@babel/code-frame": {
23 | "version": "7.10.4",
24 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
25 | "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
26 | "dev": true,
27 | "dependencies": {
28 | "@babel/highlight": "^7.10.4"
29 | }
30 | },
31 | "node_modules/@babel/helper-validator-identifier": {
32 | "version": "7.10.4",
33 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
34 | "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
35 | "dev": true
36 | },
37 | "node_modules/@babel/highlight": {
38 | "version": "7.10.4",
39 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
40 | "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
41 | "dev": true,
42 | "dependencies": {
43 | "@babel/helper-validator-identifier": "^7.10.4",
44 | "chalk": "^2.0.0",
45 | "js-tokens": "^4.0.0"
46 | }
47 | },
48 | "node_modules/@babel/highlight/node_modules/chalk": {
49 | "version": "2.4.2",
50 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
51 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
52 | "dev": true,
53 | "dependencies": {
54 | "ansi-styles": "^3.2.1",
55 | "escape-string-regexp": "^1.0.5",
56 | "supports-color": "^5.3.0"
57 | },
58 | "engines": {
59 | "node": ">=4"
60 | }
61 | },
62 | "node_modules/@discordjs/builders": {
63 | "version": "0.8.1",
64 | "resolved": "https://registry.npmjs.org/@discordjs/builders/-/builders-0.8.1.tgz",
65 | "integrity": "sha512-kYJMvZ/BjRD1/6G2t1pQop2yoJNUmYvvKeG4mOBUCHFmfb7WIeBFmN/eSiP3cVSfRx3lbNiyxkdd5JzhjQnGbg==",
66 | "dependencies": {
67 | "@sindresorhus/is": "^4.2.0",
68 | "discord-api-types": "^0.24.0",
69 | "ow": "^0.28.1",
70 | "ts-mixer": "^6.0.0",
71 | "tslib": "^2.3.1"
72 | },
73 | "engines": {
74 | "node": ">=16.0.0",
75 | "npm": ">=7.0.0"
76 | }
77 | },
78 | "node_modules/@discordjs/collection": {
79 | "version": "0.1.6",
80 | "resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-0.1.6.tgz",
81 | "integrity": "sha512-utRNxnd9kSS2qhyivo9lMlt5qgAUasH2gb7BEOn6p0efFh24gjGomHzWKMAPn2hEReOPQZCJaRKoURwRotKucQ=="
82 | },
83 | "node_modules/@discordjs/form-data": {
84 | "version": "3.0.1",
85 | "resolved": "https://registry.npmjs.org/@discordjs/form-data/-/form-data-3.0.1.tgz",
86 | "integrity": "sha512-ZfFsbgEXW71Rw/6EtBdrP5VxBJy4dthyC0tpQKGKmYFImlmmrykO14Za+BiIVduwjte0jXEBlhSKf0MWbFp9Eg==",
87 | "dependencies": {
88 | "asynckit": "^0.4.0",
89 | "combined-stream": "^1.0.8",
90 | "mime-types": "^2.1.12"
91 | },
92 | "engines": {
93 | "node": ">= 6"
94 | }
95 | },
96 | "node_modules/@eslint/eslintrc": {
97 | "version": "0.1.3",
98 | "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.1.3.tgz",
99 | "integrity": "sha512-4YVwPkANLeNtRjMekzux1ci8hIaH5eGKktGqR0d3LWsKNn5B2X/1Z6Trxy7jQXl9EBGE6Yj02O+t09FMeRllaA==",
100 | "dev": true,
101 | "dependencies": {
102 | "ajv": "^6.12.4",
103 | "debug": "^4.1.1",
104 | "espree": "^7.3.0",
105 | "globals": "^12.1.0",
106 | "ignore": "^4.0.6",
107 | "import-fresh": "^3.2.1",
108 | "js-yaml": "^3.13.1",
109 | "lodash": "^4.17.19",
110 | "minimatch": "^3.0.4",
111 | "strip-json-comments": "^3.1.1"
112 | },
113 | "engines": {
114 | "node": "^10.12.0 || >=12.0.0"
115 | }
116 | },
117 | "node_modules/@eslint/eslintrc/node_modules/debug": {
118 | "version": "4.1.1",
119 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
120 | "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
121 | "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)",
122 | "dev": true,
123 | "dependencies": {
124 | "ms": "^2.1.1"
125 | }
126 | },
127 | "node_modules/@sapphire/async-queue": {
128 | "version": "1.1.8",
129 | "resolved": "https://registry.npmjs.org/@sapphire/async-queue/-/async-queue-1.1.8.tgz",
130 | "integrity": "sha512-Oi4EEi8vOne8RM1tCdQ3kYAtl/J6ztak3Th6wwGFqA2SVNJtedw196LjsLX0bK8Li8cwaljbFf08N+0zeqhkWQ==",
131 | "engines": {
132 | "node": ">=v14.0.0",
133 | "npm": ">=7.0.0"
134 | }
135 | },
136 | "node_modules/@sindresorhus/is": {
137 | "version": "4.2.0",
138 | "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.2.0.tgz",
139 | "integrity": "sha512-VkE3KLBmJwcCaVARtQpfuKcKv8gcBmUubrfHGF84dXuuW6jgsRYxPtzcIhPyK9WAPpRt2/xY6zkD9MnRaJzSyw==",
140 | "engines": {
141 | "node": ">=10"
142 | },
143 | "funding": {
144 | "url": "https://github.com/sindresorhus/is?sponsor=1"
145 | }
146 | },
147 | "node_modules/@types/bson": {
148 | "version": "4.0.3",
149 | "resolved": "https://registry.npmjs.org/@types/bson/-/bson-4.0.3.tgz",
150 | "integrity": "sha512-mVRvYnTOZJz3ccpxhr3wgxVmSeiYinW+zlzQz3SXWaJmD1DuL05Jeq7nKw3SnbKmbleW5qrLG5vdyWe/A9sXhw==",
151 | "dependencies": {
152 | "@types/node": "*"
153 | }
154 | },
155 | "node_modules/@types/color-name": {
156 | "version": "1.1.1",
157 | "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz",
158 | "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==",
159 | "dev": true
160 | },
161 | "node_modules/@types/mongodb": {
162 | "version": "3.6.18",
163 | "resolved": "https://registry.npmjs.org/@types/mongodb/-/mongodb-3.6.18.tgz",
164 | "integrity": "sha512-JSVFt9p0rTfZ4EgzXmVHUB3ue00xe3CRbQho8nXfImzEDDM4O7I3po1bwbWl/EIbLENxUreZxqLOc8lvcnLVPA==",
165 | "dependencies": {
166 | "@types/bson": "*",
167 | "@types/node": "*"
168 | }
169 | },
170 | "node_modules/@types/node": {
171 | "version": "15.12.4",
172 | "resolved": "https://registry.npmjs.org/@types/node/-/node-15.12.4.tgz",
173 | "integrity": "sha512-zrNj1+yqYF4WskCMOHwN+w9iuD12+dGm0rQ35HLl9/Ouuq52cEtd0CH9qMgrdNmi5ejC1/V7vKEXYubB+65DkA=="
174 | },
175 | "node_modules/@types/node-fetch": {
176 | "version": "2.5.12",
177 | "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.12.tgz",
178 | "integrity": "sha512-MKgC4dlq4kKNa/mYrwpKfzQMB5X3ee5U6fSprkKpToBqBmX4nFZL9cW5jl6sWn+xpRJ7ypWh2yyqqr8UUCstSw==",
179 | "dependencies": {
180 | "@types/node": "*",
181 | "form-data": "^3.0.0"
182 | }
183 | },
184 | "node_modules/@types/ws": {
185 | "version": "8.2.0",
186 | "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.2.0.tgz",
187 | "integrity": "sha512-cyeefcUCgJlEk+hk2h3N+MqKKsPViQgF5boi9TTHSK+PoR9KWBb/C5ccPcDyAqgsbAYHTwulch725DV84+pSpg==",
188 | "dependencies": {
189 | "@types/node": "*"
190 | }
191 | },
192 | "node_modules/abort-controller": {
193 | "version": "3.0.0",
194 | "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz",
195 | "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==",
196 | "dependencies": {
197 | "event-target-shim": "^5.0.0"
198 | },
199 | "engines": {
200 | "node": ">=6.5"
201 | }
202 | },
203 | "node_modules/acorn": {
204 | "version": "7.4.0",
205 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.0.tgz",
206 | "integrity": "sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w==",
207 | "dev": true,
208 | "bin": {
209 | "acorn": "bin/acorn"
210 | },
211 | "engines": {
212 | "node": ">=0.4.0"
213 | }
214 | },
215 | "node_modules/acorn-jsx": {
216 | "version": "5.3.1",
217 | "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz",
218 | "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==",
219 | "dev": true,
220 | "peerDependencies": {
221 | "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
222 | }
223 | },
224 | "node_modules/ajv": {
225 | "version": "6.12.5",
226 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.5.tgz",
227 | "integrity": "sha512-lRF8RORchjpKG50/WFf8xmg7sgCLFiYNNnqdKflk63whMQcWR5ngGjiSXkL9bjxy6B2npOK2HSMN49jEBMSkag==",
228 | "dev": true,
229 | "dependencies": {
230 | "fast-deep-equal": "^3.1.1",
231 | "fast-json-stable-stringify": "^2.0.0",
232 | "json-schema-traverse": "^0.4.1",
233 | "uri-js": "^4.2.2"
234 | },
235 | "funding": {
236 | "type": "github",
237 | "url": "https://github.com/sponsors/epoberezkin"
238 | }
239 | },
240 | "node_modules/ansi-colors": {
241 | "version": "4.1.1",
242 | "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
243 | "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
244 | "dev": true,
245 | "engines": {
246 | "node": ">=6"
247 | }
248 | },
249 | "node_modules/ansi-regex": {
250 | "version": "5.0.0",
251 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
252 | "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
253 | "dev": true,
254 | "engines": {
255 | "node": ">=8"
256 | }
257 | },
258 | "node_modules/ansi-styles": {
259 | "version": "3.2.1",
260 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
261 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
262 | "dev": true,
263 | "dependencies": {
264 | "color-convert": "^1.9.0"
265 | },
266 | "engines": {
267 | "node": ">=4"
268 | }
269 | },
270 | "node_modules/argparse": {
271 | "version": "1.0.10",
272 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
273 | "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
274 | "dev": true,
275 | "dependencies": {
276 | "sprintf-js": "~1.0.2"
277 | }
278 | },
279 | "node_modules/ascii-table": {
280 | "version": "0.0.9",
281 | "resolved": "https://registry.npmjs.org/ascii-table/-/ascii-table-0.0.9.tgz",
282 | "integrity": "sha1-BqZgTWpV1L9BqaR9mHLXp42jHnM="
283 | },
284 | "node_modules/astral-regex": {
285 | "version": "1.0.0",
286 | "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
287 | "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
288 | "dev": true,
289 | "engines": {
290 | "node": ">=4"
291 | }
292 | },
293 | "node_modules/asynckit": {
294 | "version": "0.4.0",
295 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
296 | "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
297 | },
298 | "node_modules/balanced-match": {
299 | "version": "1.0.0",
300 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
301 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
302 | "dev": true
303 | },
304 | "node_modules/bl": {
305 | "version": "2.2.1",
306 | "resolved": "https://registry.npmjs.org/bl/-/bl-2.2.1.tgz",
307 | "integrity": "sha512-6Pesp1w0DEX1N550i/uGV/TqucVL4AM/pgThFSN/Qq9si1/DF9aIHs1BxD8V/QU0HoeHO6cQRTAuYnLPKq1e4g==",
308 | "dependencies": {
309 | "readable-stream": "^2.3.5",
310 | "safe-buffer": "^5.1.1"
311 | }
312 | },
313 | "node_modules/bluebird": {
314 | "version": "3.5.1",
315 | "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz",
316 | "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA=="
317 | },
318 | "node_modules/brace-expansion": {
319 | "version": "1.1.11",
320 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
321 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
322 | "dev": true,
323 | "dependencies": {
324 | "balanced-match": "^1.0.0",
325 | "concat-map": "0.0.1"
326 | }
327 | },
328 | "node_modules/bson": {
329 | "version": "1.1.6",
330 | "resolved": "https://registry.npmjs.org/bson/-/bson-1.1.6.tgz",
331 | "integrity": "sha512-EvVNVeGo4tHxwi8L6bPj3y3itEvStdwvvlojVxxbyYfoaxJ6keLgrTuKdyfEAszFK+H3olzBuafE0yoh0D1gdg==",
332 | "engines": {
333 | "node": ">=0.6.19"
334 | }
335 | },
336 | "node_modules/callsites": {
337 | "version": "3.1.0",
338 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
339 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
340 | "engines": {
341 | "node": ">=6"
342 | }
343 | },
344 | "node_modules/chalk": {
345 | "version": "4.1.0",
346 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
347 | "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
348 | "dev": true,
349 | "dependencies": {
350 | "ansi-styles": "^4.1.0",
351 | "supports-color": "^7.1.0"
352 | },
353 | "engines": {
354 | "node": ">=10"
355 | },
356 | "funding": {
357 | "url": "https://github.com/chalk/chalk?sponsor=1"
358 | }
359 | },
360 | "node_modules/chalk/node_modules/ansi-styles": {
361 | "version": "4.2.1",
362 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
363 | "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
364 | "dev": true,
365 | "dependencies": {
366 | "@types/color-name": "^1.1.1",
367 | "color-convert": "^2.0.1"
368 | },
369 | "engines": {
370 | "node": ">=8"
371 | },
372 | "funding": {
373 | "url": "https://github.com/chalk/ansi-styles?sponsor=1"
374 | }
375 | },
376 | "node_modules/chalk/node_modules/color-convert": {
377 | "version": "2.0.1",
378 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
379 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
380 | "dev": true,
381 | "dependencies": {
382 | "color-name": "~1.1.4"
383 | },
384 | "engines": {
385 | "node": ">=7.0.0"
386 | }
387 | },
388 | "node_modules/chalk/node_modules/color-name": {
389 | "version": "1.1.4",
390 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
391 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
392 | "dev": true
393 | },
394 | "node_modules/chalk/node_modules/has-flag": {
395 | "version": "4.0.0",
396 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
397 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
398 | "dev": true,
399 | "engines": {
400 | "node": ">=8"
401 | }
402 | },
403 | "node_modules/chalk/node_modules/supports-color": {
404 | "version": "7.2.0",
405 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
406 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
407 | "dev": true,
408 | "dependencies": {
409 | "has-flag": "^4.0.0"
410 | },
411 | "engines": {
412 | "node": ">=8"
413 | }
414 | },
415 | "node_modules/color-convert": {
416 | "version": "1.9.3",
417 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
418 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
419 | "dev": true,
420 | "dependencies": {
421 | "color-name": "1.1.3"
422 | }
423 | },
424 | "node_modules/color-name": {
425 | "version": "1.1.3",
426 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
427 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
428 | "dev": true
429 | },
430 | "node_modules/combined-stream": {
431 | "version": "1.0.8",
432 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
433 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
434 | "dependencies": {
435 | "delayed-stream": "~1.0.0"
436 | },
437 | "engines": {
438 | "node": ">= 0.8"
439 | }
440 | },
441 | "node_modules/concat-map": {
442 | "version": "0.0.1",
443 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
444 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
445 | "dev": true
446 | },
447 | "node_modules/core-util-is": {
448 | "version": "1.0.2",
449 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
450 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
451 | },
452 | "node_modules/cross-spawn": {
453 | "version": "7.0.3",
454 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
455 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
456 | "dev": true,
457 | "dependencies": {
458 | "path-key": "^3.1.0",
459 | "shebang-command": "^2.0.0",
460 | "which": "^2.0.1"
461 | },
462 | "engines": {
463 | "node": ">= 8"
464 | }
465 | },
466 | "node_modules/debug": {
467 | "version": "3.1.0",
468 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
469 | "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
470 | "dependencies": {
471 | "ms": "2.0.0"
472 | }
473 | },
474 | "node_modules/debug/node_modules/ms": {
475 | "version": "2.0.0",
476 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
477 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
478 | },
479 | "node_modules/deep-is": {
480 | "version": "0.1.3",
481 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
482 | "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
483 | "dev": true
484 | },
485 | "node_modules/delayed-stream": {
486 | "version": "1.0.0",
487 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
488 | "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
489 | "engines": {
490 | "node": ">=0.4.0"
491 | }
492 | },
493 | "node_modules/denque": {
494 | "version": "1.5.0",
495 | "resolved": "https://registry.npmjs.org/denque/-/denque-1.5.0.tgz",
496 | "integrity": "sha512-CYiCSgIF1p6EUByQPlGkKnP1M9g0ZV3qMIrqMqZqdwazygIA/YP2vrbcyl1h/WppKJTdl1F85cXIle+394iDAQ==",
497 | "engines": {
498 | "node": ">=0.10"
499 | }
500 | },
501 | "node_modules/discord-api-types": {
502 | "version": "0.24.0",
503 | "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.24.0.tgz",
504 | "integrity": "sha512-X0uA2a92cRjowUEXpLZIHWl4jiX1NsUpDhcEOpa1/hpO1vkaokgZ8kkPtPih9hHth5UVQ3mHBu/PpB4qjyfJ4A==",
505 | "engines": {
506 | "node": ">=12"
507 | }
508 | },
509 | "node_modules/discord-fetch-all": {
510 | "version": "3.0.2",
511 | "resolved": "https://registry.npmjs.org/discord-fetch-all/-/discord-fetch-all-3.0.2.tgz",
512 | "integrity": "sha512-O/25ReQgWGqv0AJ3dtf94BPdvfPx4QwXP1LoTms9st6xWiIvwSEjatcxji39/n0pDZr2BKNOfEW0zFVfELoKuA==",
513 | "dependencies": {
514 | "discord.js": "^12.4.1"
515 | }
516 | },
517 | "node_modules/discord-fetch-all/node_modules/discord.js": {
518 | "version": "12.5.3",
519 | "resolved": "https://registry.npmjs.org/discord.js/-/discord.js-12.5.3.tgz",
520 | "integrity": "sha512-D3nkOa/pCkNyn6jLZnAiJApw2N9XrIsXUAdThf01i7yrEuqUmDGc7/CexVWwEcgbQR97XQ+mcnqJpmJ/92B4Aw==",
521 | "deprecated": "no longer supported",
522 | "dependencies": {
523 | "@discordjs/collection": "^0.1.6",
524 | "@discordjs/form-data": "^3.0.1",
525 | "abort-controller": "^3.0.0",
526 | "node-fetch": "^2.6.1",
527 | "prism-media": "^1.2.9",
528 | "setimmediate": "^1.0.5",
529 | "tweetnacl": "^1.0.3",
530 | "ws": "^7.4.4"
531 | },
532 | "engines": {
533 | "node": ">=12.0.0"
534 | }
535 | },
536 | "node_modules/discord-fetch-all/node_modules/prism-media": {
537 | "version": "1.3.1",
538 | "resolved": "https://registry.npmjs.org/prism-media/-/prism-media-1.3.1.tgz",
539 | "integrity": "sha512-nyYAa3KB4qteJIqdguKmwxTJgy55xxUtkJ3uRnOvO5jO+frci+9zpRXw6QZVcfDeva3S654fU9+26P2OSTzjHw==",
540 | "peerDependencies": {
541 | "@discordjs/opus": "^0.5.0",
542 | "ffmpeg-static": "^4.2.7 || ^3.0.0 || ^2.4.0",
543 | "node-opus": "^0.3.3",
544 | "opusscript": "^0.0.8"
545 | },
546 | "peerDependenciesMeta": {
547 | "@discordjs/opus": {
548 | "optional": true
549 | },
550 | "ffmpeg-static": {
551 | "optional": true
552 | },
553 | "node-opus": {
554 | "optional": true
555 | },
556 | "opusscript": {
557 | "optional": true
558 | }
559 | }
560 | },
561 | "node_modules/discord-fetch-all/node_modules/ws": {
562 | "version": "7.5.0",
563 | "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.0.tgz",
564 | "integrity": "sha512-6ezXvzOZupqKj4jUqbQ9tXuJNo+BR2gU8fFRk3XCP3e0G6WT414u5ELe6Y0vtp7kmSJ3F7YWObSNr1ESsgi4vw==",
565 | "engines": {
566 | "node": ">=8.3.0"
567 | },
568 | "peerDependencies": {
569 | "bufferutil": "^4.0.1",
570 | "utf-8-validate": "^5.0.2"
571 | },
572 | "peerDependenciesMeta": {
573 | "bufferutil": {
574 | "optional": true
575 | },
576 | "utf-8-validate": {
577 | "optional": true
578 | }
579 | }
580 | },
581 | "node_modules/discord.js": {
582 | "version": "13.3.0",
583 | "resolved": "https://registry.npmjs.org/discord.js/-/discord.js-13.3.0.tgz",
584 | "integrity": "sha512-kZcDVrQRTuzjRx99/Xl9HF1Kt7xNkiN4Gwvk1hNmLRAn+7Syzw9XTkQZdOPXLpijhbTNsZcdAaMxgvTmtyNdyA==",
585 | "dependencies": {
586 | "@discordjs/builders": "^0.8.1",
587 | "@discordjs/collection": "^0.3.2",
588 | "@discordjs/form-data": "^3.0.1",
589 | "@sapphire/async-queue": "^1.1.8",
590 | "@types/node-fetch": "^2.5.12",
591 | "@types/ws": "^8.2.0",
592 | "discord-api-types": "^0.24.0",
593 | "node-fetch": "^2.6.1",
594 | "ws": "^8.2.3"
595 | },
596 | "engines": {
597 | "node": ">=16.6.0",
598 | "npm": ">=7.0.0"
599 | }
600 | },
601 | "node_modules/discord.js/node_modules/@discordjs/collection": {
602 | "version": "0.3.2",
603 | "resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-0.3.2.tgz",
604 | "integrity": "sha512-dMjLl60b2DMqObbH1MQZKePgWhsNe49XkKBZ0W5Acl5uVV43SN414i2QfZwRI7dXAqIn8pEWD2+XXQFn9KWxqg==",
605 | "engines": {
606 | "node": ">=16.0.0",
607 | "npm": ">=7.0.0"
608 | }
609 | },
610 | "node_modules/doctrine": {
611 | "version": "3.0.0",
612 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
613 | "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
614 | "dev": true,
615 | "dependencies": {
616 | "esutils": "^2.0.2"
617 | },
618 | "engines": {
619 | "node": ">=6.0.0"
620 | }
621 | },
622 | "node_modules/dot-prop": {
623 | "version": "6.0.1",
624 | "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz",
625 | "integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==",
626 | "dependencies": {
627 | "is-obj": "^2.0.0"
628 | },
629 | "engines": {
630 | "node": ">=10"
631 | },
632 | "funding": {
633 | "url": "https://github.com/sponsors/sindresorhus"
634 | }
635 | },
636 | "node_modules/emoji-regex": {
637 | "version": "7.0.3",
638 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
639 | "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
640 | "dev": true
641 | },
642 | "node_modules/enquirer": {
643 | "version": "2.3.6",
644 | "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
645 | "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==",
646 | "dev": true,
647 | "dependencies": {
648 | "ansi-colors": "^4.1.1"
649 | },
650 | "engines": {
651 | "node": ">=8.6"
652 | }
653 | },
654 | "node_modules/escape-string-regexp": {
655 | "version": "1.0.5",
656 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
657 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
658 | "dev": true,
659 | "engines": {
660 | "node": ">=0.8.0"
661 | }
662 | },
663 | "node_modules/eslint": {
664 | "version": "7.9.0",
665 | "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.9.0.tgz",
666 | "integrity": "sha512-V6QyhX21+uXp4T+3nrNfI3hQNBDa/P8ga7LoQOenwrlEFXrEnUEE+ok1dMtaS3b6rmLXhT1TkTIsG75HMLbknA==",
667 | "dev": true,
668 | "dependencies": {
669 | "@babel/code-frame": "^7.0.0",
670 | "@eslint/eslintrc": "^0.1.3",
671 | "ajv": "^6.10.0",
672 | "chalk": "^4.0.0",
673 | "cross-spawn": "^7.0.2",
674 | "debug": "^4.0.1",
675 | "doctrine": "^3.0.0",
676 | "enquirer": "^2.3.5",
677 | "eslint-scope": "^5.1.0",
678 | "eslint-utils": "^2.1.0",
679 | "eslint-visitor-keys": "^1.3.0",
680 | "espree": "^7.3.0",
681 | "esquery": "^1.2.0",
682 | "esutils": "^2.0.2",
683 | "file-entry-cache": "^5.0.1",
684 | "functional-red-black-tree": "^1.0.1",
685 | "glob-parent": "^5.0.0",
686 | "globals": "^12.1.0",
687 | "ignore": "^4.0.6",
688 | "import-fresh": "^3.0.0",
689 | "imurmurhash": "^0.1.4",
690 | "is-glob": "^4.0.0",
691 | "js-yaml": "^3.13.1",
692 | "json-stable-stringify-without-jsonify": "^1.0.1",
693 | "levn": "^0.4.1",
694 | "lodash": "^4.17.19",
695 | "minimatch": "^3.0.4",
696 | "natural-compare": "^1.4.0",
697 | "optionator": "^0.9.1",
698 | "progress": "^2.0.0",
699 | "regexpp": "^3.1.0",
700 | "semver": "^7.2.1",
701 | "strip-ansi": "^6.0.0",
702 | "strip-json-comments": "^3.1.0",
703 | "table": "^5.2.3",
704 | "text-table": "^0.2.0",
705 | "v8-compile-cache": "^2.0.3"
706 | },
707 | "bin": {
708 | "eslint": "bin/eslint.js"
709 | },
710 | "engines": {
711 | "node": "^10.12.0 || >=12.0.0"
712 | },
713 | "funding": {
714 | "url": "https://opencollective.com/eslint"
715 | }
716 | },
717 | "node_modules/eslint-scope": {
718 | "version": "5.1.1",
719 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
720 | "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
721 | "dev": true,
722 | "dependencies": {
723 | "esrecurse": "^4.3.0",
724 | "estraverse": "^4.1.1"
725 | },
726 | "engines": {
727 | "node": ">=8.0.0"
728 | }
729 | },
730 | "node_modules/eslint-utils": {
731 | "version": "2.1.0",
732 | "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz",
733 | "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==",
734 | "dev": true,
735 | "dependencies": {
736 | "eslint-visitor-keys": "^1.1.0"
737 | },
738 | "engines": {
739 | "node": ">=6"
740 | },
741 | "funding": {
742 | "url": "https://github.com/sponsors/mysticatea"
743 | }
744 | },
745 | "node_modules/eslint-visitor-keys": {
746 | "version": "1.3.0",
747 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
748 | "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
749 | "dev": true,
750 | "engines": {
751 | "node": ">=4"
752 | }
753 | },
754 | "node_modules/eslint/node_modules/debug": {
755 | "version": "4.1.1",
756 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
757 | "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
758 | "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)",
759 | "dev": true,
760 | "dependencies": {
761 | "ms": "^2.1.1"
762 | }
763 | },
764 | "node_modules/eslint/node_modules/semver": {
765 | "version": "7.3.2",
766 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
767 | "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==",
768 | "dev": true,
769 | "bin": {
770 | "semver": "bin/semver.js"
771 | },
772 | "engines": {
773 | "node": ">=10"
774 | }
775 | },
776 | "node_modules/espree": {
777 | "version": "7.3.0",
778 | "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.0.tgz",
779 | "integrity": "sha512-dksIWsvKCixn1yrEXO8UosNSxaDoSYpq9reEjZSbHLpT5hpaCAKTLBwq0RHtLrIr+c0ByiYzWT8KTMRzoRCNlw==",
780 | "dev": true,
781 | "dependencies": {
782 | "acorn": "^7.4.0",
783 | "acorn-jsx": "^5.2.0",
784 | "eslint-visitor-keys": "^1.3.0"
785 | },
786 | "engines": {
787 | "node": "^10.12.0 || >=12.0.0"
788 | }
789 | },
790 | "node_modules/esprima": {
791 | "version": "4.0.1",
792 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
793 | "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
794 | "dev": true,
795 | "bin": {
796 | "esparse": "bin/esparse.js",
797 | "esvalidate": "bin/esvalidate.js"
798 | },
799 | "engines": {
800 | "node": ">=4"
801 | }
802 | },
803 | "node_modules/esquery": {
804 | "version": "1.3.1",
805 | "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz",
806 | "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==",
807 | "dev": true,
808 | "dependencies": {
809 | "estraverse": "^5.1.0"
810 | },
811 | "engines": {
812 | "node": ">=0.10"
813 | }
814 | },
815 | "node_modules/esquery/node_modules/estraverse": {
816 | "version": "5.2.0",
817 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz",
818 | "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==",
819 | "dev": true,
820 | "engines": {
821 | "node": ">=4.0"
822 | }
823 | },
824 | "node_modules/esrecurse": {
825 | "version": "4.3.0",
826 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
827 | "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
828 | "dev": true,
829 | "dependencies": {
830 | "estraverse": "^5.2.0"
831 | },
832 | "engines": {
833 | "node": ">=4.0"
834 | }
835 | },
836 | "node_modules/esrecurse/node_modules/estraverse": {
837 | "version": "5.2.0",
838 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz",
839 | "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==",
840 | "dev": true,
841 | "engines": {
842 | "node": ">=4.0"
843 | }
844 | },
845 | "node_modules/estraverse": {
846 | "version": "4.3.0",
847 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
848 | "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
849 | "dev": true,
850 | "engines": {
851 | "node": ">=4.0"
852 | }
853 | },
854 | "node_modules/esutils": {
855 | "version": "2.0.3",
856 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
857 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
858 | "dev": true,
859 | "engines": {
860 | "node": ">=0.10.0"
861 | }
862 | },
863 | "node_modules/event-target-shim": {
864 | "version": "5.0.1",
865 | "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz",
866 | "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==",
867 | "engines": {
868 | "node": ">=6"
869 | }
870 | },
871 | "node_modules/fast-deep-equal": {
872 | "version": "3.1.3",
873 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
874 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
875 | "dev": true
876 | },
877 | "node_modules/fast-json-stable-stringify": {
878 | "version": "2.1.0",
879 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
880 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
881 | "dev": true
882 | },
883 | "node_modules/fast-levenshtein": {
884 | "version": "2.0.6",
885 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
886 | "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
887 | "dev": true
888 | },
889 | "node_modules/file-entry-cache": {
890 | "version": "5.0.1",
891 | "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz",
892 | "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==",
893 | "dev": true,
894 | "dependencies": {
895 | "flat-cache": "^2.0.1"
896 | },
897 | "engines": {
898 | "node": ">=4"
899 | }
900 | },
901 | "node_modules/flat-cache": {
902 | "version": "2.0.1",
903 | "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz",
904 | "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==",
905 | "dev": true,
906 | "dependencies": {
907 | "flatted": "^2.0.0",
908 | "rimraf": "2.6.3",
909 | "write": "1.0.3"
910 | },
911 | "engines": {
912 | "node": ">=4"
913 | }
914 | },
915 | "node_modules/flatted": {
916 | "version": "2.0.2",
917 | "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz",
918 | "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==",
919 | "dev": true
920 | },
921 | "node_modules/form-data": {
922 | "version": "3.0.1",
923 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz",
924 | "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==",
925 | "dependencies": {
926 | "asynckit": "^0.4.0",
927 | "combined-stream": "^1.0.8",
928 | "mime-types": "^2.1.12"
929 | },
930 | "engines": {
931 | "node": ">= 6"
932 | }
933 | },
934 | "node_modules/fs": {
935 | "version": "0.0.1-security",
936 | "resolved": "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz",
937 | "integrity": "sha1-invTcYa23d84E/I4WLV+yq9eQdQ="
938 | },
939 | "node_modules/fs.realpath": {
940 | "version": "1.0.0",
941 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
942 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
943 | "dev": true
944 | },
945 | "node_modules/functional-red-black-tree": {
946 | "version": "1.0.1",
947 | "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
948 | "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
949 | "dev": true
950 | },
951 | "node_modules/glob": {
952 | "version": "7.1.6",
953 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
954 | "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
955 | "dev": true,
956 | "dependencies": {
957 | "fs.realpath": "^1.0.0",
958 | "inflight": "^1.0.4",
959 | "inherits": "2",
960 | "minimatch": "^3.0.4",
961 | "once": "^1.3.0",
962 | "path-is-absolute": "^1.0.0"
963 | },
964 | "engines": {
965 | "node": "*"
966 | },
967 | "funding": {
968 | "url": "https://github.com/sponsors/isaacs"
969 | }
970 | },
971 | "node_modules/glob-parent": {
972 | "version": "5.1.2",
973 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
974 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
975 | "dev": true,
976 | "dependencies": {
977 | "is-glob": "^4.0.1"
978 | },
979 | "engines": {
980 | "node": ">= 6"
981 | }
982 | },
983 | "node_modules/globals": {
984 | "version": "12.4.0",
985 | "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz",
986 | "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==",
987 | "dev": true,
988 | "dependencies": {
989 | "type-fest": "^0.8.1"
990 | },
991 | "engines": {
992 | "node": ">=8"
993 | },
994 | "funding": {
995 | "url": "https://github.com/sponsors/sindresorhus"
996 | }
997 | },
998 | "node_modules/has-flag": {
999 | "version": "3.0.0",
1000 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
1001 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
1002 | "dev": true,
1003 | "engines": {
1004 | "node": ">=4"
1005 | }
1006 | },
1007 | "node_modules/ignore": {
1008 | "version": "4.0.6",
1009 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
1010 | "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
1011 | "dev": true,
1012 | "engines": {
1013 | "node": ">= 4"
1014 | }
1015 | },
1016 | "node_modules/import-fresh": {
1017 | "version": "3.2.1",
1018 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz",
1019 | "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==",
1020 | "dev": true,
1021 | "dependencies": {
1022 | "parent-module": "^1.0.0",
1023 | "resolve-from": "^4.0.0"
1024 | },
1025 | "engines": {
1026 | "node": ">=6"
1027 | }
1028 | },
1029 | "node_modules/import-fresh/node_modules/resolve-from": {
1030 | "version": "4.0.0",
1031 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
1032 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
1033 | "dev": true,
1034 | "engines": {
1035 | "node": ">=4"
1036 | }
1037 | },
1038 | "node_modules/imurmurhash": {
1039 | "version": "0.1.4",
1040 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
1041 | "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
1042 | "dev": true,
1043 | "engines": {
1044 | "node": ">=0.8.19"
1045 | }
1046 | },
1047 | "node_modules/inflight": {
1048 | "version": "1.0.6",
1049 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
1050 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
1051 | "dev": true,
1052 | "dependencies": {
1053 | "once": "^1.3.0",
1054 | "wrappy": "1"
1055 | }
1056 | },
1057 | "node_modules/inherits": {
1058 | "version": "2.0.4",
1059 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
1060 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
1061 | },
1062 | "node_modules/is-extglob": {
1063 | "version": "2.1.1",
1064 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
1065 | "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
1066 | "dev": true,
1067 | "engines": {
1068 | "node": ">=0.10.0"
1069 | }
1070 | },
1071 | "node_modules/is-fullwidth-code-point": {
1072 | "version": "2.0.0",
1073 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
1074 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
1075 | "dev": true,
1076 | "engines": {
1077 | "node": ">=4"
1078 | }
1079 | },
1080 | "node_modules/is-glob": {
1081 | "version": "4.0.1",
1082 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
1083 | "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
1084 | "dev": true,
1085 | "dependencies": {
1086 | "is-extglob": "^2.1.1"
1087 | },
1088 | "engines": {
1089 | "node": ">=0.10.0"
1090 | }
1091 | },
1092 | "node_modules/is-obj": {
1093 | "version": "2.0.0",
1094 | "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz",
1095 | "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==",
1096 | "engines": {
1097 | "node": ">=8"
1098 | }
1099 | },
1100 | "node_modules/isarray": {
1101 | "version": "1.0.0",
1102 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
1103 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
1104 | },
1105 | "node_modules/isexe": {
1106 | "version": "2.0.0",
1107 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
1108 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
1109 | "dev": true
1110 | },
1111 | "node_modules/js-tokens": {
1112 | "version": "4.0.0",
1113 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
1114 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
1115 | "dev": true
1116 | },
1117 | "node_modules/js-yaml": {
1118 | "version": "3.14.0",
1119 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz",
1120 | "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==",
1121 | "dev": true,
1122 | "dependencies": {
1123 | "argparse": "^1.0.7",
1124 | "esprima": "^4.0.0"
1125 | },
1126 | "bin": {
1127 | "js-yaml": "bin/js-yaml.js"
1128 | }
1129 | },
1130 | "node_modules/json-schema-traverse": {
1131 | "version": "0.4.1",
1132 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
1133 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
1134 | "dev": true
1135 | },
1136 | "node_modules/json-stable-stringify-without-jsonify": {
1137 | "version": "1.0.1",
1138 | "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
1139 | "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
1140 | "dev": true
1141 | },
1142 | "node_modules/kareem": {
1143 | "version": "2.3.2",
1144 | "resolved": "https://registry.npmjs.org/kareem/-/kareem-2.3.2.tgz",
1145 | "integrity": "sha512-STHz9P7X2L4Kwn72fA4rGyqyXdmrMSdxqHx9IXon/FXluXieaFA6KJ2upcHAHxQPQ0LeM/OjLrhFxifHewOALQ=="
1146 | },
1147 | "node_modules/levn": {
1148 | "version": "0.4.1",
1149 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
1150 | "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
1151 | "dev": true,
1152 | "dependencies": {
1153 | "prelude-ls": "^1.2.1",
1154 | "type-check": "~0.4.0"
1155 | },
1156 | "engines": {
1157 | "node": ">= 0.8.0"
1158 | }
1159 | },
1160 | "node_modules/lodash": {
1161 | "version": "4.17.21",
1162 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
1163 | "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
1164 | "dev": true
1165 | },
1166 | "node_modules/lodash.isequal": {
1167 | "version": "4.5.0",
1168 | "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
1169 | "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA="
1170 | },
1171 | "node_modules/memory-pager": {
1172 | "version": "1.5.0",
1173 | "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz",
1174 | "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==",
1175 | "optional": true
1176 | },
1177 | "node_modules/mime-db": {
1178 | "version": "1.44.0",
1179 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz",
1180 | "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==",
1181 | "engines": {
1182 | "node": ">= 0.6"
1183 | }
1184 | },
1185 | "node_modules/mime-types": {
1186 | "version": "2.1.27",
1187 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz",
1188 | "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==",
1189 | "dependencies": {
1190 | "mime-db": "1.44.0"
1191 | },
1192 | "engines": {
1193 | "node": ">= 0.6"
1194 | }
1195 | },
1196 | "node_modules/minimatch": {
1197 | "version": "3.0.4",
1198 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
1199 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
1200 | "dev": true,
1201 | "dependencies": {
1202 | "brace-expansion": "^1.1.7"
1203 | },
1204 | "engines": {
1205 | "node": "*"
1206 | }
1207 | },
1208 | "node_modules/minimist": {
1209 | "version": "1.2.5",
1210 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
1211 | "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
1212 | "dev": true
1213 | },
1214 | "node_modules/mkdirp": {
1215 | "version": "0.5.5",
1216 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
1217 | "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
1218 | "dev": true,
1219 | "dependencies": {
1220 | "minimist": "^1.2.5"
1221 | },
1222 | "bin": {
1223 | "mkdirp": "bin/cmd.js"
1224 | }
1225 | },
1226 | "node_modules/mongodb": {
1227 | "version": "3.6.8",
1228 | "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.6.8.tgz",
1229 | "integrity": "sha512-sDjJvI73WjON1vapcbyBD3Ao9/VN3TKYY8/QX9EPbs22KaCSrQ5rXo5ZZd44tWJ3wl3FlnrFZ+KyUtNH6+1ZPQ==",
1230 | "dependencies": {
1231 | "bl": "^2.2.1",
1232 | "bson": "^1.1.4",
1233 | "denque": "^1.4.1",
1234 | "optional-require": "^1.0.3",
1235 | "safe-buffer": "^5.1.2"
1236 | },
1237 | "engines": {
1238 | "node": ">=4"
1239 | },
1240 | "optionalDependencies": {
1241 | "saslprep": "^1.0.0"
1242 | },
1243 | "peerDependenciesMeta": {
1244 | "aws4": {
1245 | "optional": true
1246 | },
1247 | "bson-ext": {
1248 | "optional": true
1249 | },
1250 | "kerberos": {
1251 | "optional": true
1252 | },
1253 | "mongodb-client-encryption": {
1254 | "optional": true
1255 | },
1256 | "mongodb-extjson": {
1257 | "optional": true
1258 | },
1259 | "snappy": {
1260 | "optional": true
1261 | }
1262 | }
1263 | },
1264 | "node_modules/mongoose": {
1265 | "version": "5.12.11",
1266 | "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.12.11.tgz",
1267 | "integrity": "sha512-16TVqYhHQdZNR8RTis/8iiTPy+nJPq0UhKyBFTucLLU3PWcDLY2gAGv6aOk0LygTNhEfgNnENgUUHhjVqTuh8w==",
1268 | "dependencies": {
1269 | "@types/mongodb": "^3.5.27",
1270 | "bson": "^1.1.4",
1271 | "kareem": "2.3.2",
1272 | "mongodb": "3.6.8",
1273 | "mongoose-legacy-pluralize": "1.0.2",
1274 | "mpath": "0.8.3",
1275 | "mquery": "3.2.5",
1276 | "ms": "2.1.2",
1277 | "regexp-clone": "1.0.0",
1278 | "safe-buffer": "5.2.1",
1279 | "sift": "13.5.2",
1280 | "sliced": "1.0.1"
1281 | },
1282 | "engines": {
1283 | "node": ">=4.0.0"
1284 | },
1285 | "funding": {
1286 | "type": "opencollective",
1287 | "url": "https://opencollective.com/mongoose"
1288 | }
1289 | },
1290 | "node_modules/mongoose-legacy-pluralize": {
1291 | "version": "1.0.2",
1292 | "resolved": "https://registry.npmjs.org/mongoose-legacy-pluralize/-/mongoose-legacy-pluralize-1.0.2.tgz",
1293 | "integrity": "sha512-Yo/7qQU4/EyIS8YDFSeenIvXxZN+ld7YdV9LqFVQJzTLye8unujAWPZ4NWKfFA+RNjh+wvTWKY9Z3E5XM6ZZiQ==",
1294 | "peerDependencies": {
1295 | "mongoose": "*"
1296 | }
1297 | },
1298 | "node_modules/mpath": {
1299 | "version": "0.8.3",
1300 | "resolved": "https://registry.npmjs.org/mpath/-/mpath-0.8.3.tgz",
1301 | "integrity": "sha512-eb9rRvhDltXVNL6Fxd2zM9D4vKBxjVVQNLNijlj7uoXUy19zNDsIif5zR+pWmPCWNKwAtqyo4JveQm4nfD5+eA==",
1302 | "engines": {
1303 | "node": ">=4.0.0"
1304 | }
1305 | },
1306 | "node_modules/mquery": {
1307 | "version": "3.2.5",
1308 | "resolved": "https://registry.npmjs.org/mquery/-/mquery-3.2.5.tgz",
1309 | "integrity": "sha512-VjOKHHgU84wij7IUoZzFRU07IAxd5kWJaDmyUzQlbjHjyoeK5TNeeo8ZsFDtTYnSgpW6n/nMNIHvE3u8Lbrf4A==",
1310 | "dependencies": {
1311 | "bluebird": "3.5.1",
1312 | "debug": "3.1.0",
1313 | "regexp-clone": "^1.0.0",
1314 | "safe-buffer": "5.1.2",
1315 | "sliced": "1.0.1"
1316 | },
1317 | "engines": {
1318 | "node": ">=4.0.0"
1319 | }
1320 | },
1321 | "node_modules/mquery/node_modules/safe-buffer": {
1322 | "version": "5.1.2",
1323 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
1324 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
1325 | },
1326 | "node_modules/ms": {
1327 | "version": "2.1.2",
1328 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
1329 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
1330 | },
1331 | "node_modules/natural-compare": {
1332 | "version": "1.4.0",
1333 | "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
1334 | "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
1335 | "dev": true
1336 | },
1337 | "node_modules/node-fetch": {
1338 | "version": "2.6.1",
1339 | "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
1340 | "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==",
1341 | "engines": {
1342 | "node": "4.x || >=6.0.0"
1343 | }
1344 | },
1345 | "node_modules/once": {
1346 | "version": "1.4.0",
1347 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
1348 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
1349 | "dev": true,
1350 | "dependencies": {
1351 | "wrappy": "1"
1352 | }
1353 | },
1354 | "node_modules/optional-require": {
1355 | "version": "1.0.3",
1356 | "resolved": "https://registry.npmjs.org/optional-require/-/optional-require-1.0.3.tgz",
1357 | "integrity": "sha512-RV2Zp2MY2aeYK5G+B/Sps8lW5NHAzE5QClbFP15j+PWmP+T9PxlJXBOOLoSAdgwFvS4t0aMR4vpedMkbHfh0nA==",
1358 | "engines": {
1359 | "node": ">=4"
1360 | }
1361 | },
1362 | "node_modules/optionator": {
1363 | "version": "0.9.1",
1364 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
1365 | "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
1366 | "dev": true,
1367 | "dependencies": {
1368 | "deep-is": "^0.1.3",
1369 | "fast-levenshtein": "^2.0.6",
1370 | "levn": "^0.4.1",
1371 | "prelude-ls": "^1.2.1",
1372 | "type-check": "^0.4.0",
1373 | "word-wrap": "^1.2.3"
1374 | },
1375 | "engines": {
1376 | "node": ">= 0.8.0"
1377 | }
1378 | },
1379 | "node_modules/ow": {
1380 | "version": "0.28.1",
1381 | "resolved": "https://registry.npmjs.org/ow/-/ow-0.28.1.tgz",
1382 | "integrity": "sha512-1EZTywPZeUKac9gD7q8np3Aj+V54kvfIcjNEVNDSbG2Ys5xA5foW2HquvMMqgyWGLqIFMlc0Iq/HmyMHqN48sA==",
1383 | "dependencies": {
1384 | "@sindresorhus/is": "^4.2.0",
1385 | "callsites": "^3.1.0",
1386 | "dot-prop": "^6.0.1",
1387 | "lodash.isequal": "^4.5.0",
1388 | "type-fest": "^2.3.4",
1389 | "vali-date": "^1.0.0"
1390 | },
1391 | "engines": {
1392 | "node": ">=12"
1393 | },
1394 | "funding": {
1395 | "url": "https://github.com/sponsors/sindresorhus"
1396 | }
1397 | },
1398 | "node_modules/ow/node_modules/type-fest": {
1399 | "version": "2.5.2",
1400 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.5.2.tgz",
1401 | "integrity": "sha512-WMbytmAs5PUTqwGJRE+WoRrD2S0bYFtHX8k4Y/1l18CG5kqA3keJud9pPQ/r30FE9n8XRFCXF9BbccHIZzRYJw==",
1402 | "engines": {
1403 | "node": ">=12.20"
1404 | },
1405 | "funding": {
1406 | "url": "https://github.com/sponsors/sindresorhus"
1407 | }
1408 | },
1409 | "node_modules/parent-module": {
1410 | "version": "1.0.1",
1411 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
1412 | "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
1413 | "dev": true,
1414 | "dependencies": {
1415 | "callsites": "^3.0.0"
1416 | },
1417 | "engines": {
1418 | "node": ">=6"
1419 | }
1420 | },
1421 | "node_modules/path-is-absolute": {
1422 | "version": "1.0.1",
1423 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
1424 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
1425 | "dev": true,
1426 | "engines": {
1427 | "node": ">=0.10.0"
1428 | }
1429 | },
1430 | "node_modules/path-key": {
1431 | "version": "3.1.1",
1432 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
1433 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
1434 | "dev": true,
1435 | "engines": {
1436 | "node": ">=8"
1437 | }
1438 | },
1439 | "node_modules/prelude-ls": {
1440 | "version": "1.2.1",
1441 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
1442 | "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
1443 | "dev": true,
1444 | "engines": {
1445 | "node": ">= 0.8.0"
1446 | }
1447 | },
1448 | "node_modules/process-nextick-args": {
1449 | "version": "2.0.1",
1450 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
1451 | "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
1452 | },
1453 | "node_modules/progress": {
1454 | "version": "2.0.3",
1455 | "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
1456 | "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
1457 | "dev": true,
1458 | "engines": {
1459 | "node": ">=0.4.0"
1460 | }
1461 | },
1462 | "node_modules/punycode": {
1463 | "version": "2.1.1",
1464 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
1465 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
1466 | "dev": true,
1467 | "engines": {
1468 | "node": ">=6"
1469 | }
1470 | },
1471 | "node_modules/readable-stream": {
1472 | "version": "2.3.7",
1473 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
1474 | "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
1475 | "dependencies": {
1476 | "core-util-is": "~1.0.0",
1477 | "inherits": "~2.0.3",
1478 | "isarray": "~1.0.0",
1479 | "process-nextick-args": "~2.0.0",
1480 | "safe-buffer": "~5.1.1",
1481 | "string_decoder": "~1.1.1",
1482 | "util-deprecate": "~1.0.1"
1483 | }
1484 | },
1485 | "node_modules/readable-stream/node_modules/safe-buffer": {
1486 | "version": "5.1.2",
1487 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
1488 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
1489 | },
1490 | "node_modules/regexp-clone": {
1491 | "version": "1.0.0",
1492 | "resolved": "https://registry.npmjs.org/regexp-clone/-/regexp-clone-1.0.0.tgz",
1493 | "integrity": "sha512-TuAasHQNamyyJ2hb97IuBEif4qBHGjPHBS64sZwytpLEqtBQ1gPJTnOaQ6qmpET16cK14kkjbazl6+p0RRv0yw=="
1494 | },
1495 | "node_modules/regexpp": {
1496 | "version": "3.1.0",
1497 | "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz",
1498 | "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==",
1499 | "dev": true,
1500 | "engines": {
1501 | "node": ">=8"
1502 | },
1503 | "funding": {
1504 | "url": "https://github.com/sponsors/mysticatea"
1505 | }
1506 | },
1507 | "node_modules/rimraf": {
1508 | "version": "2.6.3",
1509 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
1510 | "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
1511 | "dev": true,
1512 | "dependencies": {
1513 | "glob": "^7.1.3"
1514 | },
1515 | "bin": {
1516 | "rimraf": "bin.js"
1517 | }
1518 | },
1519 | "node_modules/safe-buffer": {
1520 | "version": "5.2.1",
1521 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
1522 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
1523 | "funding": [
1524 | {
1525 | "type": "github",
1526 | "url": "https://github.com/sponsors/feross"
1527 | },
1528 | {
1529 | "type": "patreon",
1530 | "url": "https://www.patreon.com/feross"
1531 | },
1532 | {
1533 | "type": "consulting",
1534 | "url": "https://feross.org/support"
1535 | }
1536 | ]
1537 | },
1538 | "node_modules/saslprep": {
1539 | "version": "1.0.3",
1540 | "resolved": "https://registry.npmjs.org/saslprep/-/saslprep-1.0.3.tgz",
1541 | "integrity": "sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==",
1542 | "optional": true,
1543 | "dependencies": {
1544 | "sparse-bitfield": "^3.0.3"
1545 | },
1546 | "engines": {
1547 | "node": ">=6"
1548 | }
1549 | },
1550 | "node_modules/setimmediate": {
1551 | "version": "1.0.5",
1552 | "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
1553 | "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU="
1554 | },
1555 | "node_modules/shebang-command": {
1556 | "version": "2.0.0",
1557 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
1558 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
1559 | "dev": true,
1560 | "dependencies": {
1561 | "shebang-regex": "^3.0.0"
1562 | },
1563 | "engines": {
1564 | "node": ">=8"
1565 | }
1566 | },
1567 | "node_modules/shebang-regex": {
1568 | "version": "3.0.0",
1569 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
1570 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
1571 | "dev": true,
1572 | "engines": {
1573 | "node": ">=8"
1574 | }
1575 | },
1576 | "node_modules/sift": {
1577 | "version": "13.5.2",
1578 | "resolved": "https://registry.npmjs.org/sift/-/sift-13.5.2.tgz",
1579 | "integrity": "sha512-+gxdEOMA2J+AI+fVsCqeNn7Tgx3M9ZN9jdi95939l1IJ8cZsqS8sqpJyOkic2SJk+1+98Uwryt/gL6XDaV+UZA=="
1580 | },
1581 | "node_modules/slice-ansi": {
1582 | "version": "2.1.0",
1583 | "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
1584 | "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
1585 | "dev": true,
1586 | "dependencies": {
1587 | "ansi-styles": "^3.2.0",
1588 | "astral-regex": "^1.0.0",
1589 | "is-fullwidth-code-point": "^2.0.0"
1590 | },
1591 | "engines": {
1592 | "node": ">=6"
1593 | }
1594 | },
1595 | "node_modules/sliced": {
1596 | "version": "1.0.1",
1597 | "resolved": "https://registry.npmjs.org/sliced/-/sliced-1.0.1.tgz",
1598 | "integrity": "sha1-CzpmK10Ewxd7GSa+qCsD+Dei70E="
1599 | },
1600 | "node_modules/sparse-bitfield": {
1601 | "version": "3.0.3",
1602 | "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz",
1603 | "integrity": "sha1-/0rm5oZWBWuks+eSqzM004JzyhE=",
1604 | "optional": true,
1605 | "dependencies": {
1606 | "memory-pager": "^1.0.2"
1607 | }
1608 | },
1609 | "node_modules/sprintf-js": {
1610 | "version": "1.0.3",
1611 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
1612 | "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
1613 | "dev": true
1614 | },
1615 | "node_modules/string_decoder": {
1616 | "version": "1.1.1",
1617 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
1618 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
1619 | "dependencies": {
1620 | "safe-buffer": "~5.1.0"
1621 | }
1622 | },
1623 | "node_modules/string_decoder/node_modules/safe-buffer": {
1624 | "version": "5.1.2",
1625 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
1626 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
1627 | },
1628 | "node_modules/string-width": {
1629 | "version": "3.1.0",
1630 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
1631 | "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
1632 | "dev": true,
1633 | "dependencies": {
1634 | "emoji-regex": "^7.0.1",
1635 | "is-fullwidth-code-point": "^2.0.0",
1636 | "strip-ansi": "^5.1.0"
1637 | },
1638 | "engines": {
1639 | "node": ">=6"
1640 | }
1641 | },
1642 | "node_modules/string-width/node_modules/ansi-regex": {
1643 | "version": "4.1.0",
1644 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
1645 | "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
1646 | "dev": true,
1647 | "engines": {
1648 | "node": ">=6"
1649 | }
1650 | },
1651 | "node_modules/string-width/node_modules/strip-ansi": {
1652 | "version": "5.2.0",
1653 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
1654 | "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
1655 | "dev": true,
1656 | "dependencies": {
1657 | "ansi-regex": "^4.1.0"
1658 | },
1659 | "engines": {
1660 | "node": ">=6"
1661 | }
1662 | },
1663 | "node_modules/strip-ansi": {
1664 | "version": "6.0.0",
1665 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
1666 | "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
1667 | "dev": true,
1668 | "dependencies": {
1669 | "ansi-regex": "^5.0.0"
1670 | },
1671 | "engines": {
1672 | "node": ">=8"
1673 | }
1674 | },
1675 | "node_modules/strip-json-comments": {
1676 | "version": "3.1.1",
1677 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
1678 | "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
1679 | "dev": true,
1680 | "engines": {
1681 | "node": ">=8"
1682 | },
1683 | "funding": {
1684 | "url": "https://github.com/sponsors/sindresorhus"
1685 | }
1686 | },
1687 | "node_modules/supports-color": {
1688 | "version": "5.5.0",
1689 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
1690 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
1691 | "dev": true,
1692 | "dependencies": {
1693 | "has-flag": "^3.0.0"
1694 | },
1695 | "engines": {
1696 | "node": ">=4"
1697 | }
1698 | },
1699 | "node_modules/table": {
1700 | "version": "5.4.6",
1701 | "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
1702 | "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
1703 | "dev": true,
1704 | "dependencies": {
1705 | "ajv": "^6.10.2",
1706 | "lodash": "^4.17.14",
1707 | "slice-ansi": "^2.1.0",
1708 | "string-width": "^3.0.0"
1709 | },
1710 | "engines": {
1711 | "node": ">=6.0.0"
1712 | }
1713 | },
1714 | "node_modules/text-table": {
1715 | "version": "0.2.0",
1716 | "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
1717 | "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
1718 | "dev": true
1719 | },
1720 | "node_modules/ts-mixer": {
1721 | "version": "6.0.0",
1722 | "resolved": "https://registry.npmjs.org/ts-mixer/-/ts-mixer-6.0.0.tgz",
1723 | "integrity": "sha512-nXIb1fvdY5CBSrDIblLn73NW0qRDk5yJ0Sk1qPBF560OdJfQp9jhl+0tzcY09OZ9U+6GpeoI9RjwoIKFIoB9MQ=="
1724 | },
1725 | "node_modules/tslib": {
1726 | "version": "2.3.1",
1727 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
1728 | "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw=="
1729 | },
1730 | "node_modules/tweetnacl": {
1731 | "version": "1.0.3",
1732 | "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz",
1733 | "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw=="
1734 | },
1735 | "node_modules/type-check": {
1736 | "version": "0.4.0",
1737 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
1738 | "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
1739 | "dev": true,
1740 | "dependencies": {
1741 | "prelude-ls": "^1.2.1"
1742 | },
1743 | "engines": {
1744 | "node": ">= 0.8.0"
1745 | }
1746 | },
1747 | "node_modules/type-fest": {
1748 | "version": "0.8.1",
1749 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
1750 | "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
1751 | "dev": true,
1752 | "engines": {
1753 | "node": ">=8"
1754 | }
1755 | },
1756 | "node_modules/uri-js": {
1757 | "version": "4.4.0",
1758 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz",
1759 | "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==",
1760 | "dev": true,
1761 | "dependencies": {
1762 | "punycode": "^2.1.0"
1763 | }
1764 | },
1765 | "node_modules/util-deprecate": {
1766 | "version": "1.0.2",
1767 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
1768 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
1769 | },
1770 | "node_modules/v8-compile-cache": {
1771 | "version": "2.1.1",
1772 | "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz",
1773 | "integrity": "sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ==",
1774 | "dev": true
1775 | },
1776 | "node_modules/vali-date": {
1777 | "version": "1.0.0",
1778 | "resolved": "https://registry.npmjs.org/vali-date/-/vali-date-1.0.0.tgz",
1779 | "integrity": "sha1-G5BKWWCfsyjvB4E4Qgk09rhnCaY=",
1780 | "engines": {
1781 | "node": ">=0.10.0"
1782 | }
1783 | },
1784 | "node_modules/which": {
1785 | "version": "2.0.2",
1786 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
1787 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
1788 | "dev": true,
1789 | "dependencies": {
1790 | "isexe": "^2.0.0"
1791 | },
1792 | "bin": {
1793 | "node-which": "bin/node-which"
1794 | },
1795 | "engines": {
1796 | "node": ">= 8"
1797 | }
1798 | },
1799 | "node_modules/word-wrap": {
1800 | "version": "1.2.3",
1801 | "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
1802 | "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
1803 | "dev": true,
1804 | "engines": {
1805 | "node": ">=0.10.0"
1806 | }
1807 | },
1808 | "node_modules/wrappy": {
1809 | "version": "1.0.2",
1810 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
1811 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
1812 | "dev": true
1813 | },
1814 | "node_modules/write": {
1815 | "version": "1.0.3",
1816 | "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz",
1817 | "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==",
1818 | "dev": true,
1819 | "dependencies": {
1820 | "mkdirp": "^0.5.1"
1821 | },
1822 | "engines": {
1823 | "node": ">=4"
1824 | }
1825 | },
1826 | "node_modules/ws": {
1827 | "version": "8.2.3",
1828 | "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz",
1829 | "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==",
1830 | "engines": {
1831 | "node": ">=10.0.0"
1832 | },
1833 | "peerDependencies": {
1834 | "bufferutil": "^4.0.1",
1835 | "utf-8-validate": "^5.0.2"
1836 | },
1837 | "peerDependenciesMeta": {
1838 | "bufferutil": {
1839 | "optional": true
1840 | },
1841 | "utf-8-validate": {
1842 | "optional": true
1843 | }
1844 | }
1845 | }
1846 | },
1847 | "dependencies": {
1848 | "@babel/code-frame": {
1849 | "version": "7.10.4",
1850 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
1851 | "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
1852 | "dev": true,
1853 | "requires": {
1854 | "@babel/highlight": "^7.10.4"
1855 | }
1856 | },
1857 | "@babel/helper-validator-identifier": {
1858 | "version": "7.10.4",
1859 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
1860 | "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
1861 | "dev": true
1862 | },
1863 | "@babel/highlight": {
1864 | "version": "7.10.4",
1865 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
1866 | "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
1867 | "dev": true,
1868 | "requires": {
1869 | "@babel/helper-validator-identifier": "^7.10.4",
1870 | "chalk": "^2.0.0",
1871 | "js-tokens": "^4.0.0"
1872 | },
1873 | "dependencies": {
1874 | "chalk": {
1875 | "version": "2.4.2",
1876 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
1877 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
1878 | "dev": true,
1879 | "requires": {
1880 | "ansi-styles": "^3.2.1",
1881 | "escape-string-regexp": "^1.0.5",
1882 | "supports-color": "^5.3.0"
1883 | }
1884 | }
1885 | }
1886 | },
1887 | "@discordjs/builders": {
1888 | "version": "0.8.1",
1889 | "resolved": "https://registry.npmjs.org/@discordjs/builders/-/builders-0.8.1.tgz",
1890 | "integrity": "sha512-kYJMvZ/BjRD1/6G2t1pQop2yoJNUmYvvKeG4mOBUCHFmfb7WIeBFmN/eSiP3cVSfRx3lbNiyxkdd5JzhjQnGbg==",
1891 | "requires": {
1892 | "@sindresorhus/is": "^4.2.0",
1893 | "discord-api-types": "^0.24.0",
1894 | "ow": "^0.28.1",
1895 | "ts-mixer": "^6.0.0",
1896 | "tslib": "^2.3.1"
1897 | }
1898 | },
1899 | "@discordjs/collection": {
1900 | "version": "0.1.6",
1901 | "resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-0.1.6.tgz",
1902 | "integrity": "sha512-utRNxnd9kSS2qhyivo9lMlt5qgAUasH2gb7BEOn6p0efFh24gjGomHzWKMAPn2hEReOPQZCJaRKoURwRotKucQ=="
1903 | },
1904 | "@discordjs/form-data": {
1905 | "version": "3.0.1",
1906 | "resolved": "https://registry.npmjs.org/@discordjs/form-data/-/form-data-3.0.1.tgz",
1907 | "integrity": "sha512-ZfFsbgEXW71Rw/6EtBdrP5VxBJy4dthyC0tpQKGKmYFImlmmrykO14Za+BiIVduwjte0jXEBlhSKf0MWbFp9Eg==",
1908 | "requires": {
1909 | "asynckit": "^0.4.0",
1910 | "combined-stream": "^1.0.8",
1911 | "mime-types": "^2.1.12"
1912 | }
1913 | },
1914 | "@eslint/eslintrc": {
1915 | "version": "0.1.3",
1916 | "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.1.3.tgz",
1917 | "integrity": "sha512-4YVwPkANLeNtRjMekzux1ci8hIaH5eGKktGqR0d3LWsKNn5B2X/1Z6Trxy7jQXl9EBGE6Yj02O+t09FMeRllaA==",
1918 | "dev": true,
1919 | "requires": {
1920 | "ajv": "^6.12.4",
1921 | "debug": "^4.1.1",
1922 | "espree": "^7.3.0",
1923 | "globals": "^12.1.0",
1924 | "ignore": "^4.0.6",
1925 | "import-fresh": "^3.2.1",
1926 | "js-yaml": "^3.13.1",
1927 | "lodash": "^4.17.19",
1928 | "minimatch": "^3.0.4",
1929 | "strip-json-comments": "^3.1.1"
1930 | },
1931 | "dependencies": {
1932 | "debug": {
1933 | "version": "4.1.1",
1934 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
1935 | "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
1936 | "dev": true,
1937 | "requires": {
1938 | "ms": "^2.1.1"
1939 | }
1940 | }
1941 | }
1942 | },
1943 | "@sapphire/async-queue": {
1944 | "version": "1.1.8",
1945 | "resolved": "https://registry.npmjs.org/@sapphire/async-queue/-/async-queue-1.1.8.tgz",
1946 | "integrity": "sha512-Oi4EEi8vOne8RM1tCdQ3kYAtl/J6ztak3Th6wwGFqA2SVNJtedw196LjsLX0bK8Li8cwaljbFf08N+0zeqhkWQ=="
1947 | },
1948 | "@sindresorhus/is": {
1949 | "version": "4.2.0",
1950 | "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.2.0.tgz",
1951 | "integrity": "sha512-VkE3KLBmJwcCaVARtQpfuKcKv8gcBmUubrfHGF84dXuuW6jgsRYxPtzcIhPyK9WAPpRt2/xY6zkD9MnRaJzSyw=="
1952 | },
1953 | "@types/bson": {
1954 | "version": "4.0.3",
1955 | "resolved": "https://registry.npmjs.org/@types/bson/-/bson-4.0.3.tgz",
1956 | "integrity": "sha512-mVRvYnTOZJz3ccpxhr3wgxVmSeiYinW+zlzQz3SXWaJmD1DuL05Jeq7nKw3SnbKmbleW5qrLG5vdyWe/A9sXhw==",
1957 | "requires": {
1958 | "@types/node": "*"
1959 | }
1960 | },
1961 | "@types/color-name": {
1962 | "version": "1.1.1",
1963 | "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz",
1964 | "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==",
1965 | "dev": true
1966 | },
1967 | "@types/mongodb": {
1968 | "version": "3.6.18",
1969 | "resolved": "https://registry.npmjs.org/@types/mongodb/-/mongodb-3.6.18.tgz",
1970 | "integrity": "sha512-JSVFt9p0rTfZ4EgzXmVHUB3ue00xe3CRbQho8nXfImzEDDM4O7I3po1bwbWl/EIbLENxUreZxqLOc8lvcnLVPA==",
1971 | "requires": {
1972 | "@types/bson": "*",
1973 | "@types/node": "*"
1974 | }
1975 | },
1976 | "@types/node": {
1977 | "version": "15.12.4",
1978 | "resolved": "https://registry.npmjs.org/@types/node/-/node-15.12.4.tgz",
1979 | "integrity": "sha512-zrNj1+yqYF4WskCMOHwN+w9iuD12+dGm0rQ35HLl9/Ouuq52cEtd0CH9qMgrdNmi5ejC1/V7vKEXYubB+65DkA=="
1980 | },
1981 | "@types/node-fetch": {
1982 | "version": "2.5.12",
1983 | "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.12.tgz",
1984 | "integrity": "sha512-MKgC4dlq4kKNa/mYrwpKfzQMB5X3ee5U6fSprkKpToBqBmX4nFZL9cW5jl6sWn+xpRJ7ypWh2yyqqr8UUCstSw==",
1985 | "requires": {
1986 | "@types/node": "*",
1987 | "form-data": "^3.0.0"
1988 | }
1989 | },
1990 | "@types/ws": {
1991 | "version": "8.2.0",
1992 | "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.2.0.tgz",
1993 | "integrity": "sha512-cyeefcUCgJlEk+hk2h3N+MqKKsPViQgF5boi9TTHSK+PoR9KWBb/C5ccPcDyAqgsbAYHTwulch725DV84+pSpg==",
1994 | "requires": {
1995 | "@types/node": "*"
1996 | }
1997 | },
1998 | "abort-controller": {
1999 | "version": "3.0.0",
2000 | "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz",
2001 | "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==",
2002 | "requires": {
2003 | "event-target-shim": "^5.0.0"
2004 | }
2005 | },
2006 | "acorn": {
2007 | "version": "7.4.0",
2008 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.0.tgz",
2009 | "integrity": "sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w==",
2010 | "dev": true
2011 | },
2012 | "acorn-jsx": {
2013 | "version": "5.3.1",
2014 | "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz",
2015 | "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==",
2016 | "dev": true,
2017 | "requires": {}
2018 | },
2019 | "ajv": {
2020 | "version": "6.12.5",
2021 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.5.tgz",
2022 | "integrity": "sha512-lRF8RORchjpKG50/WFf8xmg7sgCLFiYNNnqdKflk63whMQcWR5ngGjiSXkL9bjxy6B2npOK2HSMN49jEBMSkag==",
2023 | "dev": true,
2024 | "requires": {
2025 | "fast-deep-equal": "^3.1.1",
2026 | "fast-json-stable-stringify": "^2.0.0",
2027 | "json-schema-traverse": "^0.4.1",
2028 | "uri-js": "^4.2.2"
2029 | }
2030 | },
2031 | "ansi-colors": {
2032 | "version": "4.1.1",
2033 | "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
2034 | "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
2035 | "dev": true
2036 | },
2037 | "ansi-regex": {
2038 | "version": "5.0.0",
2039 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
2040 | "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
2041 | "dev": true
2042 | },
2043 | "ansi-styles": {
2044 | "version": "3.2.1",
2045 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
2046 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
2047 | "dev": true,
2048 | "requires": {
2049 | "color-convert": "^1.9.0"
2050 | }
2051 | },
2052 | "argparse": {
2053 | "version": "1.0.10",
2054 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
2055 | "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
2056 | "dev": true,
2057 | "requires": {
2058 | "sprintf-js": "~1.0.2"
2059 | }
2060 | },
2061 | "ascii-table": {
2062 | "version": "0.0.9",
2063 | "resolved": "https://registry.npmjs.org/ascii-table/-/ascii-table-0.0.9.tgz",
2064 | "integrity": "sha1-BqZgTWpV1L9BqaR9mHLXp42jHnM="
2065 | },
2066 | "astral-regex": {
2067 | "version": "1.0.0",
2068 | "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
2069 | "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
2070 | "dev": true
2071 | },
2072 | "asynckit": {
2073 | "version": "0.4.0",
2074 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
2075 | "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
2076 | },
2077 | "balanced-match": {
2078 | "version": "1.0.0",
2079 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
2080 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
2081 | "dev": true
2082 | },
2083 | "bl": {
2084 | "version": "2.2.1",
2085 | "resolved": "https://registry.npmjs.org/bl/-/bl-2.2.1.tgz",
2086 | "integrity": "sha512-6Pesp1w0DEX1N550i/uGV/TqucVL4AM/pgThFSN/Qq9si1/DF9aIHs1BxD8V/QU0HoeHO6cQRTAuYnLPKq1e4g==",
2087 | "requires": {
2088 | "readable-stream": "^2.3.5",
2089 | "safe-buffer": "^5.1.1"
2090 | }
2091 | },
2092 | "bluebird": {
2093 | "version": "3.5.1",
2094 | "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz",
2095 | "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA=="
2096 | },
2097 | "brace-expansion": {
2098 | "version": "1.1.11",
2099 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
2100 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
2101 | "dev": true,
2102 | "requires": {
2103 | "balanced-match": "^1.0.0",
2104 | "concat-map": "0.0.1"
2105 | }
2106 | },
2107 | "bson": {
2108 | "version": "1.1.6",
2109 | "resolved": "https://registry.npmjs.org/bson/-/bson-1.1.6.tgz",
2110 | "integrity": "sha512-EvVNVeGo4tHxwi8L6bPj3y3itEvStdwvvlojVxxbyYfoaxJ6keLgrTuKdyfEAszFK+H3olzBuafE0yoh0D1gdg=="
2111 | },
2112 | "callsites": {
2113 | "version": "3.1.0",
2114 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
2115 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="
2116 | },
2117 | "chalk": {
2118 | "version": "4.1.0",
2119 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
2120 | "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
2121 | "dev": true,
2122 | "requires": {
2123 | "ansi-styles": "^4.1.0",
2124 | "supports-color": "^7.1.0"
2125 | },
2126 | "dependencies": {
2127 | "ansi-styles": {
2128 | "version": "4.2.1",
2129 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
2130 | "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
2131 | "dev": true,
2132 | "requires": {
2133 | "@types/color-name": "^1.1.1",
2134 | "color-convert": "^2.0.1"
2135 | }
2136 | },
2137 | "color-convert": {
2138 | "version": "2.0.1",
2139 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
2140 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
2141 | "dev": true,
2142 | "requires": {
2143 | "color-name": "~1.1.4"
2144 | }
2145 | },
2146 | "color-name": {
2147 | "version": "1.1.4",
2148 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
2149 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
2150 | "dev": true
2151 | },
2152 | "has-flag": {
2153 | "version": "4.0.0",
2154 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
2155 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
2156 | "dev": true
2157 | },
2158 | "supports-color": {
2159 | "version": "7.2.0",
2160 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
2161 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
2162 | "dev": true,
2163 | "requires": {
2164 | "has-flag": "^4.0.0"
2165 | }
2166 | }
2167 | }
2168 | },
2169 | "color-convert": {
2170 | "version": "1.9.3",
2171 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
2172 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
2173 | "dev": true,
2174 | "requires": {
2175 | "color-name": "1.1.3"
2176 | }
2177 | },
2178 | "color-name": {
2179 | "version": "1.1.3",
2180 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
2181 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
2182 | "dev": true
2183 | },
2184 | "combined-stream": {
2185 | "version": "1.0.8",
2186 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
2187 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
2188 | "requires": {
2189 | "delayed-stream": "~1.0.0"
2190 | }
2191 | },
2192 | "concat-map": {
2193 | "version": "0.0.1",
2194 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
2195 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
2196 | "dev": true
2197 | },
2198 | "core-util-is": {
2199 | "version": "1.0.2",
2200 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
2201 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
2202 | },
2203 | "cross-spawn": {
2204 | "version": "7.0.3",
2205 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
2206 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
2207 | "dev": true,
2208 | "requires": {
2209 | "path-key": "^3.1.0",
2210 | "shebang-command": "^2.0.0",
2211 | "which": "^2.0.1"
2212 | }
2213 | },
2214 | "debug": {
2215 | "version": "3.1.0",
2216 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
2217 | "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
2218 | "requires": {
2219 | "ms": "2.0.0"
2220 | },
2221 | "dependencies": {
2222 | "ms": {
2223 | "version": "2.0.0",
2224 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
2225 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
2226 | }
2227 | }
2228 | },
2229 | "deep-is": {
2230 | "version": "0.1.3",
2231 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
2232 | "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
2233 | "dev": true
2234 | },
2235 | "delayed-stream": {
2236 | "version": "1.0.0",
2237 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
2238 | "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
2239 | },
2240 | "denque": {
2241 | "version": "1.5.0",
2242 | "resolved": "https://registry.npmjs.org/denque/-/denque-1.5.0.tgz",
2243 | "integrity": "sha512-CYiCSgIF1p6EUByQPlGkKnP1M9g0ZV3qMIrqMqZqdwazygIA/YP2vrbcyl1h/WppKJTdl1F85cXIle+394iDAQ=="
2244 | },
2245 | "discord-api-types": {
2246 | "version": "0.24.0",
2247 | "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.24.0.tgz",
2248 | "integrity": "sha512-X0uA2a92cRjowUEXpLZIHWl4jiX1NsUpDhcEOpa1/hpO1vkaokgZ8kkPtPih9hHth5UVQ3mHBu/PpB4qjyfJ4A=="
2249 | },
2250 | "discord-fetch-all": {
2251 | "version": "3.0.2",
2252 | "resolved": "https://registry.npmjs.org/discord-fetch-all/-/discord-fetch-all-3.0.2.tgz",
2253 | "integrity": "sha512-O/25ReQgWGqv0AJ3dtf94BPdvfPx4QwXP1LoTms9st6xWiIvwSEjatcxji39/n0pDZr2BKNOfEW0zFVfELoKuA==",
2254 | "requires": {
2255 | "discord.js": "^12.4.1"
2256 | },
2257 | "dependencies": {
2258 | "discord.js": {
2259 | "version": "12.5.3",
2260 | "resolved": "https://registry.npmjs.org/discord.js/-/discord.js-12.5.3.tgz",
2261 | "integrity": "sha512-D3nkOa/pCkNyn6jLZnAiJApw2N9XrIsXUAdThf01i7yrEuqUmDGc7/CexVWwEcgbQR97XQ+mcnqJpmJ/92B4Aw==",
2262 | "requires": {
2263 | "@discordjs/collection": "^0.1.6",
2264 | "@discordjs/form-data": "^3.0.1",
2265 | "abort-controller": "^3.0.0",
2266 | "node-fetch": "^2.6.1",
2267 | "prism-media": "^1.2.9",
2268 | "setimmediate": "^1.0.5",
2269 | "tweetnacl": "^1.0.3",
2270 | "ws": "^7.4.4"
2271 | }
2272 | },
2273 | "prism-media": {
2274 | "version": "1.3.1",
2275 | "resolved": "https://registry.npmjs.org/prism-media/-/prism-media-1.3.1.tgz",
2276 | "integrity": "sha512-nyYAa3KB4qteJIqdguKmwxTJgy55xxUtkJ3uRnOvO5jO+frci+9zpRXw6QZVcfDeva3S654fU9+26P2OSTzjHw==",
2277 | "requires": {}
2278 | },
2279 | "ws": {
2280 | "version": "7.5.0",
2281 | "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.0.tgz",
2282 | "integrity": "sha512-6ezXvzOZupqKj4jUqbQ9tXuJNo+BR2gU8fFRk3XCP3e0G6WT414u5ELe6Y0vtp7kmSJ3F7YWObSNr1ESsgi4vw==",
2283 | "requires": {}
2284 | }
2285 | }
2286 | },
2287 | "discord.js": {
2288 | "version": "13.3.0",
2289 | "resolved": "https://registry.npmjs.org/discord.js/-/discord.js-13.3.0.tgz",
2290 | "integrity": "sha512-kZcDVrQRTuzjRx99/Xl9HF1Kt7xNkiN4Gwvk1hNmLRAn+7Syzw9XTkQZdOPXLpijhbTNsZcdAaMxgvTmtyNdyA==",
2291 | "requires": {
2292 | "@discordjs/builders": "^0.8.1",
2293 | "@discordjs/collection": "^0.3.2",
2294 | "@discordjs/form-data": "^3.0.1",
2295 | "@sapphire/async-queue": "^1.1.8",
2296 | "@types/node-fetch": "^2.5.12",
2297 | "@types/ws": "^8.2.0",
2298 | "discord-api-types": "^0.24.0",
2299 | "node-fetch": "^2.6.1",
2300 | "ws": "^8.2.3"
2301 | },
2302 | "dependencies": {
2303 | "@discordjs/collection": {
2304 | "version": "0.3.2",
2305 | "resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-0.3.2.tgz",
2306 | "integrity": "sha512-dMjLl60b2DMqObbH1MQZKePgWhsNe49XkKBZ0W5Acl5uVV43SN414i2QfZwRI7dXAqIn8pEWD2+XXQFn9KWxqg=="
2307 | }
2308 | }
2309 | },
2310 | "doctrine": {
2311 | "version": "3.0.0",
2312 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
2313 | "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
2314 | "dev": true,
2315 | "requires": {
2316 | "esutils": "^2.0.2"
2317 | }
2318 | },
2319 | "dot-prop": {
2320 | "version": "6.0.1",
2321 | "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz",
2322 | "integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==",
2323 | "requires": {
2324 | "is-obj": "^2.0.0"
2325 | }
2326 | },
2327 | "emoji-regex": {
2328 | "version": "7.0.3",
2329 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
2330 | "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
2331 | "dev": true
2332 | },
2333 | "enquirer": {
2334 | "version": "2.3.6",
2335 | "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
2336 | "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==",
2337 | "dev": true,
2338 | "requires": {
2339 | "ansi-colors": "^4.1.1"
2340 | }
2341 | },
2342 | "escape-string-regexp": {
2343 | "version": "1.0.5",
2344 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
2345 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
2346 | "dev": true
2347 | },
2348 | "eslint": {
2349 | "version": "7.9.0",
2350 | "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.9.0.tgz",
2351 | "integrity": "sha512-V6QyhX21+uXp4T+3nrNfI3hQNBDa/P8ga7LoQOenwrlEFXrEnUEE+ok1dMtaS3b6rmLXhT1TkTIsG75HMLbknA==",
2352 | "dev": true,
2353 | "requires": {
2354 | "@babel/code-frame": "^7.0.0",
2355 | "@eslint/eslintrc": "^0.1.3",
2356 | "ajv": "^6.10.0",
2357 | "chalk": "^4.0.0",
2358 | "cross-spawn": "^7.0.2",
2359 | "debug": "^4.0.1",
2360 | "doctrine": "^3.0.0",
2361 | "enquirer": "^2.3.5",
2362 | "eslint-scope": "^5.1.0",
2363 | "eslint-utils": "^2.1.0",
2364 | "eslint-visitor-keys": "^1.3.0",
2365 | "espree": "^7.3.0",
2366 | "esquery": "^1.2.0",
2367 | "esutils": "^2.0.2",
2368 | "file-entry-cache": "^5.0.1",
2369 | "functional-red-black-tree": "^1.0.1",
2370 | "glob-parent": "^5.0.0",
2371 | "globals": "^12.1.0",
2372 | "ignore": "^4.0.6",
2373 | "import-fresh": "^3.0.0",
2374 | "imurmurhash": "^0.1.4",
2375 | "is-glob": "^4.0.0",
2376 | "js-yaml": "^3.13.1",
2377 | "json-stable-stringify-without-jsonify": "^1.0.1",
2378 | "levn": "^0.4.1",
2379 | "lodash": "^4.17.19",
2380 | "minimatch": "^3.0.4",
2381 | "natural-compare": "^1.4.0",
2382 | "optionator": "^0.9.1",
2383 | "progress": "^2.0.0",
2384 | "regexpp": "^3.1.0",
2385 | "semver": "^7.2.1",
2386 | "strip-ansi": "^6.0.0",
2387 | "strip-json-comments": "^3.1.0",
2388 | "table": "^5.2.3",
2389 | "text-table": "^0.2.0",
2390 | "v8-compile-cache": "^2.0.3"
2391 | },
2392 | "dependencies": {
2393 | "debug": {
2394 | "version": "4.1.1",
2395 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
2396 | "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
2397 | "dev": true,
2398 | "requires": {
2399 | "ms": "^2.1.1"
2400 | }
2401 | },
2402 | "semver": {
2403 | "version": "7.3.2",
2404 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
2405 | "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==",
2406 | "dev": true
2407 | }
2408 | }
2409 | },
2410 | "eslint-scope": {
2411 | "version": "5.1.1",
2412 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
2413 | "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
2414 | "dev": true,
2415 | "requires": {
2416 | "esrecurse": "^4.3.0",
2417 | "estraverse": "^4.1.1"
2418 | }
2419 | },
2420 | "eslint-utils": {
2421 | "version": "2.1.0",
2422 | "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz",
2423 | "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==",
2424 | "dev": true,
2425 | "requires": {
2426 | "eslint-visitor-keys": "^1.1.0"
2427 | }
2428 | },
2429 | "eslint-visitor-keys": {
2430 | "version": "1.3.0",
2431 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
2432 | "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
2433 | "dev": true
2434 | },
2435 | "espree": {
2436 | "version": "7.3.0",
2437 | "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.0.tgz",
2438 | "integrity": "sha512-dksIWsvKCixn1yrEXO8UosNSxaDoSYpq9reEjZSbHLpT5hpaCAKTLBwq0RHtLrIr+c0ByiYzWT8KTMRzoRCNlw==",
2439 | "dev": true,
2440 | "requires": {
2441 | "acorn": "^7.4.0",
2442 | "acorn-jsx": "^5.2.0",
2443 | "eslint-visitor-keys": "^1.3.0"
2444 | }
2445 | },
2446 | "esprima": {
2447 | "version": "4.0.1",
2448 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
2449 | "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
2450 | "dev": true
2451 | },
2452 | "esquery": {
2453 | "version": "1.3.1",
2454 | "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz",
2455 | "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==",
2456 | "dev": true,
2457 | "requires": {
2458 | "estraverse": "^5.1.0"
2459 | },
2460 | "dependencies": {
2461 | "estraverse": {
2462 | "version": "5.2.0",
2463 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz",
2464 | "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==",
2465 | "dev": true
2466 | }
2467 | }
2468 | },
2469 | "esrecurse": {
2470 | "version": "4.3.0",
2471 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
2472 | "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
2473 | "dev": true,
2474 | "requires": {
2475 | "estraverse": "^5.2.0"
2476 | },
2477 | "dependencies": {
2478 | "estraverse": {
2479 | "version": "5.2.0",
2480 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz",
2481 | "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==",
2482 | "dev": true
2483 | }
2484 | }
2485 | },
2486 | "estraverse": {
2487 | "version": "4.3.0",
2488 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
2489 | "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
2490 | "dev": true
2491 | },
2492 | "esutils": {
2493 | "version": "2.0.3",
2494 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
2495 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
2496 | "dev": true
2497 | },
2498 | "event-target-shim": {
2499 | "version": "5.0.1",
2500 | "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz",
2501 | "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ=="
2502 | },
2503 | "fast-deep-equal": {
2504 | "version": "3.1.3",
2505 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
2506 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
2507 | "dev": true
2508 | },
2509 | "fast-json-stable-stringify": {
2510 | "version": "2.1.0",
2511 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
2512 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
2513 | "dev": true
2514 | },
2515 | "fast-levenshtein": {
2516 | "version": "2.0.6",
2517 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
2518 | "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
2519 | "dev": true
2520 | },
2521 | "file-entry-cache": {
2522 | "version": "5.0.1",
2523 | "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz",
2524 | "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==",
2525 | "dev": true,
2526 | "requires": {
2527 | "flat-cache": "^2.0.1"
2528 | }
2529 | },
2530 | "flat-cache": {
2531 | "version": "2.0.1",
2532 | "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz",
2533 | "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==",
2534 | "dev": true,
2535 | "requires": {
2536 | "flatted": "^2.0.0",
2537 | "rimraf": "2.6.3",
2538 | "write": "1.0.3"
2539 | }
2540 | },
2541 | "flatted": {
2542 | "version": "2.0.2",
2543 | "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz",
2544 | "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==",
2545 | "dev": true
2546 | },
2547 | "form-data": {
2548 | "version": "3.0.1",
2549 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz",
2550 | "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==",
2551 | "requires": {
2552 | "asynckit": "^0.4.0",
2553 | "combined-stream": "^1.0.8",
2554 | "mime-types": "^2.1.12"
2555 | }
2556 | },
2557 | "fs": {
2558 | "version": "0.0.1-security",
2559 | "resolved": "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz",
2560 | "integrity": "sha1-invTcYa23d84E/I4WLV+yq9eQdQ="
2561 | },
2562 | "fs.realpath": {
2563 | "version": "1.0.0",
2564 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
2565 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
2566 | "dev": true
2567 | },
2568 | "functional-red-black-tree": {
2569 | "version": "1.0.1",
2570 | "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
2571 | "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
2572 | "dev": true
2573 | },
2574 | "glob": {
2575 | "version": "7.1.6",
2576 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
2577 | "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
2578 | "dev": true,
2579 | "requires": {
2580 | "fs.realpath": "^1.0.0",
2581 | "inflight": "^1.0.4",
2582 | "inherits": "2",
2583 | "minimatch": "^3.0.4",
2584 | "once": "^1.3.0",
2585 | "path-is-absolute": "^1.0.0"
2586 | }
2587 | },
2588 | "glob-parent": {
2589 | "version": "5.1.2",
2590 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
2591 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
2592 | "dev": true,
2593 | "requires": {
2594 | "is-glob": "^4.0.1"
2595 | }
2596 | },
2597 | "globals": {
2598 | "version": "12.4.0",
2599 | "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz",
2600 | "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==",
2601 | "dev": true,
2602 | "requires": {
2603 | "type-fest": "^0.8.1"
2604 | }
2605 | },
2606 | "has-flag": {
2607 | "version": "3.0.0",
2608 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
2609 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
2610 | "dev": true
2611 | },
2612 | "ignore": {
2613 | "version": "4.0.6",
2614 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
2615 | "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
2616 | "dev": true
2617 | },
2618 | "import-fresh": {
2619 | "version": "3.2.1",
2620 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz",
2621 | "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==",
2622 | "dev": true,
2623 | "requires": {
2624 | "parent-module": "^1.0.0",
2625 | "resolve-from": "^4.0.0"
2626 | },
2627 | "dependencies": {
2628 | "resolve-from": {
2629 | "version": "4.0.0",
2630 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
2631 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
2632 | "dev": true
2633 | }
2634 | }
2635 | },
2636 | "imurmurhash": {
2637 | "version": "0.1.4",
2638 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
2639 | "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
2640 | "dev": true
2641 | },
2642 | "inflight": {
2643 | "version": "1.0.6",
2644 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
2645 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
2646 | "dev": true,
2647 | "requires": {
2648 | "once": "^1.3.0",
2649 | "wrappy": "1"
2650 | }
2651 | },
2652 | "inherits": {
2653 | "version": "2.0.4",
2654 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
2655 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
2656 | },
2657 | "is-extglob": {
2658 | "version": "2.1.1",
2659 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
2660 | "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
2661 | "dev": true
2662 | },
2663 | "is-fullwidth-code-point": {
2664 | "version": "2.0.0",
2665 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
2666 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
2667 | "dev": true
2668 | },
2669 | "is-glob": {
2670 | "version": "4.0.1",
2671 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
2672 | "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
2673 | "dev": true,
2674 | "requires": {
2675 | "is-extglob": "^2.1.1"
2676 | }
2677 | },
2678 | "is-obj": {
2679 | "version": "2.0.0",
2680 | "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz",
2681 | "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w=="
2682 | },
2683 | "isarray": {
2684 | "version": "1.0.0",
2685 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
2686 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
2687 | },
2688 | "isexe": {
2689 | "version": "2.0.0",
2690 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
2691 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
2692 | "dev": true
2693 | },
2694 | "js-tokens": {
2695 | "version": "4.0.0",
2696 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
2697 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
2698 | "dev": true
2699 | },
2700 | "js-yaml": {
2701 | "version": "3.14.0",
2702 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz",
2703 | "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==",
2704 | "dev": true,
2705 | "requires": {
2706 | "argparse": "^1.0.7",
2707 | "esprima": "^4.0.0"
2708 | }
2709 | },
2710 | "json-schema-traverse": {
2711 | "version": "0.4.1",
2712 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
2713 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
2714 | "dev": true
2715 | },
2716 | "json-stable-stringify-without-jsonify": {
2717 | "version": "1.0.1",
2718 | "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
2719 | "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
2720 | "dev": true
2721 | },
2722 | "kareem": {
2723 | "version": "2.3.2",
2724 | "resolved": "https://registry.npmjs.org/kareem/-/kareem-2.3.2.tgz",
2725 | "integrity": "sha512-STHz9P7X2L4Kwn72fA4rGyqyXdmrMSdxqHx9IXon/FXluXieaFA6KJ2upcHAHxQPQ0LeM/OjLrhFxifHewOALQ=="
2726 | },
2727 | "levn": {
2728 | "version": "0.4.1",
2729 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
2730 | "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
2731 | "dev": true,
2732 | "requires": {
2733 | "prelude-ls": "^1.2.1",
2734 | "type-check": "~0.4.0"
2735 | }
2736 | },
2737 | "lodash": {
2738 | "version": "4.17.21",
2739 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
2740 | "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
2741 | "dev": true
2742 | },
2743 | "lodash.isequal": {
2744 | "version": "4.5.0",
2745 | "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
2746 | "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA="
2747 | },
2748 | "memory-pager": {
2749 | "version": "1.5.0",
2750 | "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz",
2751 | "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==",
2752 | "optional": true
2753 | },
2754 | "mime-db": {
2755 | "version": "1.44.0",
2756 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz",
2757 | "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg=="
2758 | },
2759 | "mime-types": {
2760 | "version": "2.1.27",
2761 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz",
2762 | "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==",
2763 | "requires": {
2764 | "mime-db": "1.44.0"
2765 | }
2766 | },
2767 | "minimatch": {
2768 | "version": "3.0.4",
2769 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
2770 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
2771 | "dev": true,
2772 | "requires": {
2773 | "brace-expansion": "^1.1.7"
2774 | }
2775 | },
2776 | "minimist": {
2777 | "version": "1.2.5",
2778 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
2779 | "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
2780 | "dev": true
2781 | },
2782 | "mkdirp": {
2783 | "version": "0.5.5",
2784 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
2785 | "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
2786 | "dev": true,
2787 | "requires": {
2788 | "minimist": "^1.2.5"
2789 | }
2790 | },
2791 | "mongodb": {
2792 | "version": "3.6.8",
2793 | "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.6.8.tgz",
2794 | "integrity": "sha512-sDjJvI73WjON1vapcbyBD3Ao9/VN3TKYY8/QX9EPbs22KaCSrQ5rXo5ZZd44tWJ3wl3FlnrFZ+KyUtNH6+1ZPQ==",
2795 | "requires": {
2796 | "bl": "^2.2.1",
2797 | "bson": "^1.1.4",
2798 | "denque": "^1.4.1",
2799 | "optional-require": "^1.0.3",
2800 | "safe-buffer": "^5.1.2",
2801 | "saslprep": "^1.0.0"
2802 | }
2803 | },
2804 | "mongoose": {
2805 | "version": "5.12.11",
2806 | "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.12.11.tgz",
2807 | "integrity": "sha512-16TVqYhHQdZNR8RTis/8iiTPy+nJPq0UhKyBFTucLLU3PWcDLY2gAGv6aOk0LygTNhEfgNnENgUUHhjVqTuh8w==",
2808 | "requires": {
2809 | "@types/mongodb": "^3.5.27",
2810 | "bson": "^1.1.4",
2811 | "kareem": "2.3.2",
2812 | "mongodb": "3.6.8",
2813 | "mongoose-legacy-pluralize": "1.0.2",
2814 | "mpath": "0.8.3",
2815 | "mquery": "3.2.5",
2816 | "ms": "2.1.2",
2817 | "regexp-clone": "1.0.0",
2818 | "safe-buffer": "5.2.1",
2819 | "sift": "13.5.2",
2820 | "sliced": "1.0.1"
2821 | }
2822 | },
2823 | "mongoose-legacy-pluralize": {
2824 | "version": "1.0.2",
2825 | "resolved": "https://registry.npmjs.org/mongoose-legacy-pluralize/-/mongoose-legacy-pluralize-1.0.2.tgz",
2826 | "integrity": "sha512-Yo/7qQU4/EyIS8YDFSeenIvXxZN+ld7YdV9LqFVQJzTLye8unujAWPZ4NWKfFA+RNjh+wvTWKY9Z3E5XM6ZZiQ==",
2827 | "requires": {}
2828 | },
2829 | "mpath": {
2830 | "version": "0.8.3",
2831 | "resolved": "https://registry.npmjs.org/mpath/-/mpath-0.8.3.tgz",
2832 | "integrity": "sha512-eb9rRvhDltXVNL6Fxd2zM9D4vKBxjVVQNLNijlj7uoXUy19zNDsIif5zR+pWmPCWNKwAtqyo4JveQm4nfD5+eA=="
2833 | },
2834 | "mquery": {
2835 | "version": "3.2.5",
2836 | "resolved": "https://registry.npmjs.org/mquery/-/mquery-3.2.5.tgz",
2837 | "integrity": "sha512-VjOKHHgU84wij7IUoZzFRU07IAxd5kWJaDmyUzQlbjHjyoeK5TNeeo8ZsFDtTYnSgpW6n/nMNIHvE3u8Lbrf4A==",
2838 | "requires": {
2839 | "bluebird": "3.5.1",
2840 | "debug": "3.1.0",
2841 | "regexp-clone": "^1.0.0",
2842 | "safe-buffer": "5.1.2",
2843 | "sliced": "1.0.1"
2844 | },
2845 | "dependencies": {
2846 | "safe-buffer": {
2847 | "version": "5.1.2",
2848 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
2849 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
2850 | }
2851 | }
2852 | },
2853 | "ms": {
2854 | "version": "2.1.2",
2855 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
2856 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
2857 | },
2858 | "natural-compare": {
2859 | "version": "1.4.0",
2860 | "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
2861 | "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
2862 | "dev": true
2863 | },
2864 | "node-fetch": {
2865 | "version": "2.6.1",
2866 | "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
2867 | "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw=="
2868 | },
2869 | "once": {
2870 | "version": "1.4.0",
2871 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
2872 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
2873 | "dev": true,
2874 | "requires": {
2875 | "wrappy": "1"
2876 | }
2877 | },
2878 | "optional-require": {
2879 | "version": "1.0.3",
2880 | "resolved": "https://registry.npmjs.org/optional-require/-/optional-require-1.0.3.tgz",
2881 | "integrity": "sha512-RV2Zp2MY2aeYK5G+B/Sps8lW5NHAzE5QClbFP15j+PWmP+T9PxlJXBOOLoSAdgwFvS4t0aMR4vpedMkbHfh0nA=="
2882 | },
2883 | "optionator": {
2884 | "version": "0.9.1",
2885 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
2886 | "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
2887 | "dev": true,
2888 | "requires": {
2889 | "deep-is": "^0.1.3",
2890 | "fast-levenshtein": "^2.0.6",
2891 | "levn": "^0.4.1",
2892 | "prelude-ls": "^1.2.1",
2893 | "type-check": "^0.4.0",
2894 | "word-wrap": "^1.2.3"
2895 | }
2896 | },
2897 | "ow": {
2898 | "version": "0.28.1",
2899 | "resolved": "https://registry.npmjs.org/ow/-/ow-0.28.1.tgz",
2900 | "integrity": "sha512-1EZTywPZeUKac9gD7q8np3Aj+V54kvfIcjNEVNDSbG2Ys5xA5foW2HquvMMqgyWGLqIFMlc0Iq/HmyMHqN48sA==",
2901 | "requires": {
2902 | "@sindresorhus/is": "^4.2.0",
2903 | "callsites": "^3.1.0",
2904 | "dot-prop": "^6.0.1",
2905 | "lodash.isequal": "^4.5.0",
2906 | "type-fest": "^2.3.4",
2907 | "vali-date": "^1.0.0"
2908 | },
2909 | "dependencies": {
2910 | "type-fest": {
2911 | "version": "2.5.2",
2912 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.5.2.tgz",
2913 | "integrity": "sha512-WMbytmAs5PUTqwGJRE+WoRrD2S0bYFtHX8k4Y/1l18CG5kqA3keJud9pPQ/r30FE9n8XRFCXF9BbccHIZzRYJw=="
2914 | }
2915 | }
2916 | },
2917 | "parent-module": {
2918 | "version": "1.0.1",
2919 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
2920 | "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
2921 | "dev": true,
2922 | "requires": {
2923 | "callsites": "^3.0.0"
2924 | }
2925 | },
2926 | "path-is-absolute": {
2927 | "version": "1.0.1",
2928 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
2929 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
2930 | "dev": true
2931 | },
2932 | "path-key": {
2933 | "version": "3.1.1",
2934 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
2935 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
2936 | "dev": true
2937 | },
2938 | "prelude-ls": {
2939 | "version": "1.2.1",
2940 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
2941 | "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
2942 | "dev": true
2943 | },
2944 | "process-nextick-args": {
2945 | "version": "2.0.1",
2946 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
2947 | "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
2948 | },
2949 | "progress": {
2950 | "version": "2.0.3",
2951 | "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
2952 | "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
2953 | "dev": true
2954 | },
2955 | "punycode": {
2956 | "version": "2.1.1",
2957 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
2958 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
2959 | "dev": true
2960 | },
2961 | "readable-stream": {
2962 | "version": "2.3.7",
2963 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
2964 | "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
2965 | "requires": {
2966 | "core-util-is": "~1.0.0",
2967 | "inherits": "~2.0.3",
2968 | "isarray": "~1.0.0",
2969 | "process-nextick-args": "~2.0.0",
2970 | "safe-buffer": "~5.1.1",
2971 | "string_decoder": "~1.1.1",
2972 | "util-deprecate": "~1.0.1"
2973 | },
2974 | "dependencies": {
2975 | "safe-buffer": {
2976 | "version": "5.1.2",
2977 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
2978 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
2979 | }
2980 | }
2981 | },
2982 | "regexp-clone": {
2983 | "version": "1.0.0",
2984 | "resolved": "https://registry.npmjs.org/regexp-clone/-/regexp-clone-1.0.0.tgz",
2985 | "integrity": "sha512-TuAasHQNamyyJ2hb97IuBEif4qBHGjPHBS64sZwytpLEqtBQ1gPJTnOaQ6qmpET16cK14kkjbazl6+p0RRv0yw=="
2986 | },
2987 | "regexpp": {
2988 | "version": "3.1.0",
2989 | "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz",
2990 | "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==",
2991 | "dev": true
2992 | },
2993 | "rimraf": {
2994 | "version": "2.6.3",
2995 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
2996 | "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
2997 | "dev": true,
2998 | "requires": {
2999 | "glob": "^7.1.3"
3000 | }
3001 | },
3002 | "safe-buffer": {
3003 | "version": "5.2.1",
3004 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
3005 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
3006 | },
3007 | "saslprep": {
3008 | "version": "1.0.3",
3009 | "resolved": "https://registry.npmjs.org/saslprep/-/saslprep-1.0.3.tgz",
3010 | "integrity": "sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==",
3011 | "optional": true,
3012 | "requires": {
3013 | "sparse-bitfield": "^3.0.3"
3014 | }
3015 | },
3016 | "setimmediate": {
3017 | "version": "1.0.5",
3018 | "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
3019 | "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU="
3020 | },
3021 | "shebang-command": {
3022 | "version": "2.0.0",
3023 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
3024 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
3025 | "dev": true,
3026 | "requires": {
3027 | "shebang-regex": "^3.0.0"
3028 | }
3029 | },
3030 | "shebang-regex": {
3031 | "version": "3.0.0",
3032 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
3033 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
3034 | "dev": true
3035 | },
3036 | "sift": {
3037 | "version": "13.5.2",
3038 | "resolved": "https://registry.npmjs.org/sift/-/sift-13.5.2.tgz",
3039 | "integrity": "sha512-+gxdEOMA2J+AI+fVsCqeNn7Tgx3M9ZN9jdi95939l1IJ8cZsqS8sqpJyOkic2SJk+1+98Uwryt/gL6XDaV+UZA=="
3040 | },
3041 | "slice-ansi": {
3042 | "version": "2.1.0",
3043 | "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
3044 | "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
3045 | "dev": true,
3046 | "requires": {
3047 | "ansi-styles": "^3.2.0",
3048 | "astral-regex": "^1.0.0",
3049 | "is-fullwidth-code-point": "^2.0.0"
3050 | }
3051 | },
3052 | "sliced": {
3053 | "version": "1.0.1",
3054 | "resolved": "https://registry.npmjs.org/sliced/-/sliced-1.0.1.tgz",
3055 | "integrity": "sha1-CzpmK10Ewxd7GSa+qCsD+Dei70E="
3056 | },
3057 | "sparse-bitfield": {
3058 | "version": "3.0.3",
3059 | "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz",
3060 | "integrity": "sha1-/0rm5oZWBWuks+eSqzM004JzyhE=",
3061 | "optional": true,
3062 | "requires": {
3063 | "memory-pager": "^1.0.2"
3064 | }
3065 | },
3066 | "sprintf-js": {
3067 | "version": "1.0.3",
3068 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
3069 | "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
3070 | "dev": true
3071 | },
3072 | "string_decoder": {
3073 | "version": "1.1.1",
3074 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
3075 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
3076 | "requires": {
3077 | "safe-buffer": "~5.1.0"
3078 | },
3079 | "dependencies": {
3080 | "safe-buffer": {
3081 | "version": "5.1.2",
3082 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
3083 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
3084 | }
3085 | }
3086 | },
3087 | "string-width": {
3088 | "version": "3.1.0",
3089 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
3090 | "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
3091 | "dev": true,
3092 | "requires": {
3093 | "emoji-regex": "^7.0.1",
3094 | "is-fullwidth-code-point": "^2.0.0",
3095 | "strip-ansi": "^5.1.0"
3096 | },
3097 | "dependencies": {
3098 | "ansi-regex": {
3099 | "version": "4.1.0",
3100 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
3101 | "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
3102 | "dev": true
3103 | },
3104 | "strip-ansi": {
3105 | "version": "5.2.0",
3106 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
3107 | "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
3108 | "dev": true,
3109 | "requires": {
3110 | "ansi-regex": "^4.1.0"
3111 | }
3112 | }
3113 | }
3114 | },
3115 | "strip-ansi": {
3116 | "version": "6.0.0",
3117 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
3118 | "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
3119 | "dev": true,
3120 | "requires": {
3121 | "ansi-regex": "^5.0.0"
3122 | }
3123 | },
3124 | "strip-json-comments": {
3125 | "version": "3.1.1",
3126 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
3127 | "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
3128 | "dev": true
3129 | },
3130 | "supports-color": {
3131 | "version": "5.5.0",
3132 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
3133 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
3134 | "dev": true,
3135 | "requires": {
3136 | "has-flag": "^3.0.0"
3137 | }
3138 | },
3139 | "table": {
3140 | "version": "5.4.6",
3141 | "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
3142 | "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
3143 | "dev": true,
3144 | "requires": {
3145 | "ajv": "^6.10.2",
3146 | "lodash": "^4.17.14",
3147 | "slice-ansi": "^2.1.0",
3148 | "string-width": "^3.0.0"
3149 | }
3150 | },
3151 | "text-table": {
3152 | "version": "0.2.0",
3153 | "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
3154 | "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
3155 | "dev": true
3156 | },
3157 | "ts-mixer": {
3158 | "version": "6.0.0",
3159 | "resolved": "https://registry.npmjs.org/ts-mixer/-/ts-mixer-6.0.0.tgz",
3160 | "integrity": "sha512-nXIb1fvdY5CBSrDIblLn73NW0qRDk5yJ0Sk1qPBF560OdJfQp9jhl+0tzcY09OZ9U+6GpeoI9RjwoIKFIoB9MQ=="
3161 | },
3162 | "tslib": {
3163 | "version": "2.3.1",
3164 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
3165 | "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw=="
3166 | },
3167 | "tweetnacl": {
3168 | "version": "1.0.3",
3169 | "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz",
3170 | "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw=="
3171 | },
3172 | "type-check": {
3173 | "version": "0.4.0",
3174 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
3175 | "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
3176 | "dev": true,
3177 | "requires": {
3178 | "prelude-ls": "^1.2.1"
3179 | }
3180 | },
3181 | "type-fest": {
3182 | "version": "0.8.1",
3183 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
3184 | "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
3185 | "dev": true
3186 | },
3187 | "uri-js": {
3188 | "version": "4.4.0",
3189 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz",
3190 | "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==",
3191 | "dev": true,
3192 | "requires": {
3193 | "punycode": "^2.1.0"
3194 | }
3195 | },
3196 | "util-deprecate": {
3197 | "version": "1.0.2",
3198 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
3199 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
3200 | },
3201 | "v8-compile-cache": {
3202 | "version": "2.1.1",
3203 | "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz",
3204 | "integrity": "sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ==",
3205 | "dev": true
3206 | },
3207 | "vali-date": {
3208 | "version": "1.0.0",
3209 | "resolved": "https://registry.npmjs.org/vali-date/-/vali-date-1.0.0.tgz",
3210 | "integrity": "sha1-G5BKWWCfsyjvB4E4Qgk09rhnCaY="
3211 | },
3212 | "which": {
3213 | "version": "2.0.2",
3214 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
3215 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
3216 | "dev": true,
3217 | "requires": {
3218 | "isexe": "^2.0.0"
3219 | }
3220 | },
3221 | "word-wrap": {
3222 | "version": "1.2.3",
3223 | "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
3224 | "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
3225 | "dev": true
3226 | },
3227 | "wrappy": {
3228 | "version": "1.0.2",
3229 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
3230 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
3231 | "dev": true
3232 | },
3233 | "write": {
3234 | "version": "1.0.3",
3235 | "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz",
3236 | "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==",
3237 | "dev": true,
3238 | "requires": {
3239 | "mkdirp": "^0.5.1"
3240 | }
3241 | },
3242 | "ws": {
3243 | "version": "8.2.3",
3244 | "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz",
3245 | "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==",
3246 | "requires": {}
3247 | }
3248 | }
3249 | }
3250 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "ticket-bot",
3 | "version": "1.0.0",
4 | "description": "Open source ticket bot using discord.js v13.",
5 | "main": "index.js",
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1",
8 | "dev": "nodemon index.js",
9 | "start": "node index.js"
10 | },
11 | "repository": {
12 | "type": "git",
13 | "url": "https://github.com/Simpleboy353/Tickets-Bot.git"
14 | },
15 | "keywords": [
16 | "discord",
17 | "ticket bot"
18 | ],
19 | "author": "Coltz",
20 | "license": "GPL-3.0",
21 | "bugs": {
22 | "url": "https://github.com/Simpleboy353/Tickets-Bot/issues"
23 | },
24 | "homepage": "https://github.com/Simpleboy353/Tickets-Bot#readme",
25 | "dependencies": {
26 | "ascii-table": "^0.0.9",
27 | "discord-fetch-all": "^3.0.2",
28 | "discord.js": "^13.3.0",
29 | "fs": "^0.0.1-security",
30 | "mongoose": "^5.10.5"
31 | },
32 | "devDependencies": {
33 | "eslint": "^7.9.0"
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/slashCommands/Owner/eval.js:
--------------------------------------------------------------------------------
1 | const { MessageEmbed } = require("discord.js");
2 |
3 | module.exports = {
4 | name: "eval",
5 | description: "Run a whole fuckin' code with this!",
6 | options: [
7 | {
8 | name: "code",
9 | description: "The code to evaluate",
10 | type: "STRING",
11 | required: true
12 | }
13 | ],
14 | ownerOnly: true,
15 | run: async(client, interaction, args) => {
16 | try {
17 | const code = await interaction.options.getString("code")
18 | let evaled = eval(code);
19 |
20 | if (typeof evaled !== "string")
21 | evaled = require("util").inspect(evaled);
22 |
23 | let embed = new MessageEmbed()
24 | .setAuthor("Eval")
25 | .setColor("GREEN")
26 | .addField("Input", `\`\`\`js\n${code}\n\`\`\``)
27 | .addField("Output", `\`\`\`js\n${evaled}\n\`\`\``)
28 |
29 | interaction.reply({ embeds: [embed] }).catch(console.error);
30 | } catch (err) {
31 | interaction.followUp(`\`ERROR\` \`\`\`xl\n${err}\n\`\`\``);
32 | }
33 | }
34 | }
--------------------------------------------------------------------------------
/slashCommands/Tickets/ticket.js:
--------------------------------------------------------------------------------
1 | const { MessageEmbed } = require('discord.js');
2 | const channelData = require("../../models/channel")
3 |
4 | module.exports = {
5 | name: "ticket",
6 | description: "Setup or stop the tickets system in your server!",
7 | options: [{
8 | name: "setup",
9 | description: "Setp the tickets system for your server!",
10 | type: "SUB_COMMAND",
11 | options: [{
12 | name: "channel",
13 | description: "Set the channel for the tickets!",
14 | type: "CHANNEL",
15 | required: true,
16 | }, ],
17 | },
18 | {
19 | name: "stop",
20 | description: "Stop the tickets system for your server!",
21 | type: "SUB_COMMAND",
22 | },
23 | ],
24 | botPerms: ["EMBED_LINKS", "ADD_REACTIONS"],
25 | userPerms: ['ADMINISTRATOR'],
26 | run: async(client, interaction, args) => {
27 | if (interaction.options.getSubcommand() === "setup") {
28 | const channel = await interaction.options.getChannel("channel");
29 | const data = await channelData.findOne({
30 | ticketGuildID: interaction.guild.id,
31 | })
32 |
33 | if (data) {
34 | return interaction.reply({ content: "Ticket system is already enabled for your server!", ephemeral: true })
35 | } else if (!data) {
36 | let newData = new channelData({
37 | ticketGuildID: interaction.guild.id,
38 | ticketChannelID: channel.id,
39 | });
40 | await newData.save();
41 |
42 | let embed = new MessageEmbed()
43 | .setTitle('Support')
44 | .setDescription('React here to create a ticket!')
45 | .setColor('BLURPLE')
46 |
47 | channel.send({ embeds: [embed] }).then(async(msg) => {
48 | msg.react("🎫")
49 | })
50 |
51 | return interaction.reply({ content: "Ticket system has been enabled for your server!" })
52 | }
53 | } else if (interaction.options.getSubcommand() === "stop") {
54 |
55 | const data = await channelData.findOne({
56 | ticketGuildID: interaction.guild.id
57 | }).catch(console.error)
58 |
59 | if (data) {
60 | await channelData.findOneAndRemove({
61 | ticketGuildID: interaction.guild.id
62 | });
63 |
64 | return interaction.reply({ content: "Ticket system has been disabled for your server!", ephemeral: true })
65 | } else if (!data) {
66 | return interaction.reply({ content: "Ticket system isn't enabled for your server!", ephemeral: true })
67 | }
68 | }
69 | }
70 | }
--------------------------------------------------------------------------------