From d9cda24c6e8da19448f776fa179f4b6d132ef7c2 Mon Sep 17 00:00:00 2001
From: Jaclyn Brothers <102431119+jaclynbrothers@users.noreply.github.com>
Date: Tue, 4 Oct 2022 13:19:11 -0700
Subject: [PATCH 1/2] Updated files and readme
---
.gitignore | 2 +
README.md | 91 +-
models/todotask.js | 16 +
package-lock.json | 2416 +++++++++++++++++++++++++++++++++++++++++
package.json | 30 +
public/img/header.png | Bin 0 -> 179246 bytes
public/main.js | 0
public/style.css | 176 +++
server.js | 90 ++
views/edit.ejs | 46 +
views/index.ejs | 52 +
11 files changed, 2897 insertions(+), 22 deletions(-)
create mode 100644 .gitignore
create mode 100644 models/todotask.js
create mode 100644 package-lock.json
create mode 100644 package.json
create mode 100644 public/img/header.png
create mode 100644 public/main.js
create mode 100644 public/style.css
create mode 100644 server.js
create mode 100644 views/edit.ejs
create mode 100644 views/index.ejs
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000000000..1dcef2d9f
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+node_modules
+.env
\ No newline at end of file
diff --git a/README.md b/README.md
index 3236aa44b..9e0a56312 100644
--- a/README.md
+++ b/README.md
@@ -1,22 +1,69 @@
-#100Devs Simple Express App Submission
-
-### Goal: Make Your Own CRUD APP and Push To Heroku
-
-### How to submit your code for review:
-
-- Fork and clone this repo
-- Create a new branch called answer
-- Checkout answer branch
-- Push to your fork
-- Issue a pull request
-- Your pull request description should contain the following:
- - (1 to 5 no 3) I completed the challenge
- - (1 to 5 no 3) I feel good about my code
- - Anything specific on which you want feedback!
-
-Example:
-```
-I completed the challenge: 5
-I feel good about my code: 4
-I'm not sure if my constructors are setup cleanly...
-```
+# BookMarks: Reading Notes
+
+This project allows the user to create, edit, save, and delete their notes for upcoming book reports and tests.
+
+**Link to project:** https://simple-bookmarks-api.herokuapp.com/
+
+## How It's Made
+
+**Tech used:** Embedded JavaScript (EJS), CSS, Node, Express, MongoDB, and deployed with Render.
+
+# Required Dependencies
+
+- `npm install`
+- Create a `.env` file and add the following as `key = value`:
+ - PORT = 8000 (can be any port example: 3000)
+ - DB_CONNECTION = `your database URI`
+- Add a .gitignore file with `.env` and `node_modules`
+
+---
+
+# Run
+
+`npm start`
+
+---
+
+BookMarks was a project I made to further practice CRUD functions, such as creating a new note, reading or refreshing the currently stored data whenever a change is made, editing notes, and deleting a note from the database.
+
+I utilized server-side JavaScript to connect the MongoDB database with the different CRUD functions and Embedded JavaScript Templating (EJS) on the client-side to render the HTML and CSS that the user sees.
+
+## Optimizations
+
+I would add user accounts with authentication, improved styling and responsiveness so the application can run across devices, and additional features for increased student engagement and learning, such as story maps or graphic organizers that they can interact with and customize.
+
+## Lessons Learned
+
+I learned how to utilize CRUD functions to interact with a database based on the user's request. I also implemented an auto refresh with a get request that redirects back the homepage or root route after a post or delete request has been made. The post and delete requests update the database and return updates to the terminal to demonstrate that the request was successful.
+
+## Credits
+
+Photo of Student from colorlib.com
+
+## Other Projects
+
+
diff --git a/models/todotask.js b/models/todotask.js
new file mode 100644
index 000000000..6e19cce48
--- /dev/null
+++ b/models/todotask.js
@@ -0,0 +1,16 @@
+const mongoose = require('mongoose');
+const todoTaskSchema = new mongoose.Schema({
+title: {
+ type: String,
+ required: true
+},
+content: {
+ type: String,
+ required: true
+},
+date: {
+ type: Date,
+ default: Date.now
+}
+})
+module.exports = mongoose.model('TodoTask',todoTaskSchema,'tasks');
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
new file mode 100644
index 000000000..9fed3cef1
--- /dev/null
+++ b/package-lock.json
@@ -0,0 +1,2416 @@
+{
+ "name": "simple-express-app-submission",
+ "version": "1.0.0",
+ "lockfileVersion": 2,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "simple-express-app-submission",
+ "version": "1.0.0",
+ "license": "ISC",
+ "dependencies": {
+ "cors": "^2.8.5",
+ "dotenv": "^16.0.2",
+ "ejs": "^3.1.8",
+ "express": "^4.18.1",
+ "mongoose": "^6.6.2"
+ },
+ "devDependencies": {
+ "nodemon": "^2.0.20"
+ }
+ },
+ "node_modules/@types/node": {
+ "version": "18.7.23",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.23.tgz",
+ "integrity": "sha512-DWNcCHolDq0ZKGizjx2DZjR/PqsYwAcYUJmfMWqtVU2MBMG5Mo+xFZrhGId5r/O5HOuMPyQEcM6KUBp5lBZZBg=="
+ },
+ "node_modules/@types/webidl-conversions": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
+ "integrity": "sha512-xTE1E+YF4aWPJJeUzaZI5DRntlkY3+BCVJi0axFptnjGmAoWxkyREIh/XMrfxVLejwQxMCfDXdICo0VLxThrog=="
+ },
+ "node_modules/@types/whatwg-url": {
+ "version": "8.2.2",
+ "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.2.tgz",
+ "integrity": "sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==",
+ "dependencies": {
+ "@types/node": "*",
+ "@types/webidl-conversions": "*"
+ }
+ },
+ "node_modules/abbrev": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
+ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
+ "dev": true
+ },
+ "node_modules/accepts": {
+ "version": "1.3.8",
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
+ "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
+ "dependencies": {
+ "mime-types": "~2.1.34",
+ "negotiator": "0.6.3"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/anymatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
+ "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
+ "dev": true,
+ "dependencies": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/array-flatten": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
+ "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg=="
+ },
+ "node_modules/async": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz",
+ "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ=="
+ },
+ "node_modules/balanced-match": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
+ },
+ "node_modules/base64-js": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
+ "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/binary-extensions": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
+ "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/body-parser": {
+ "version": "1.20.0",
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz",
+ "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==",
+ "dependencies": {
+ "bytes": "3.1.2",
+ "content-type": "~1.0.4",
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "destroy": "1.2.0",
+ "http-errors": "2.0.0",
+ "iconv-lite": "0.4.24",
+ "on-finished": "2.4.1",
+ "qs": "6.10.3",
+ "raw-body": "2.5.1",
+ "type-is": "~1.6.18",
+ "unpipe": "1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8",
+ "npm": "1.2.8000 || >= 1.4.16"
+ }
+ },
+ "node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "dev": true,
+ "dependencies": {
+ "fill-range": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/bson": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/bson/-/bson-4.7.0.tgz",
+ "integrity": "sha512-VrlEE4vuiO1WTpfof4VmaVolCVYkYTgB9iWgYNOrVlnifpME/06fhFRmONgBhClD5pFC1t9ZWqFUQEQAzY43bA==",
+ "dependencies": {
+ "buffer": "^5.6.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/buffer": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
+ "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "dependencies": {
+ "base64-js": "^1.3.1",
+ "ieee754": "^1.1.13"
+ }
+ },
+ "node_modules/bytes": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
+ "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/call-bind": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
+ "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
+ "dependencies": {
+ "function-bind": "^1.1.1",
+ "get-intrinsic": "^1.0.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/chokidar": {
+ "version": "3.5.3",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
+ "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://paulmillr.com/funding/"
+ }
+ ],
+ "dependencies": {
+ "anymatch": "~3.1.2",
+ "braces": "~3.0.2",
+ "glob-parent": "~5.1.2",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.6.0"
+ },
+ "engines": {
+ "node": ">= 8.10.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
+ "node_modules/concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
+ },
+ "node_modules/content-disposition": {
+ "version": "0.5.4",
+ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
+ "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
+ "dependencies": {
+ "safe-buffer": "5.2.1"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/content-type": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
+ "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/cookie": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
+ "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/cookie-signature": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
+ "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ=="
+ },
+ "node_modules/cors": {
+ "version": "2.8.5",
+ "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
+ "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
+ "dependencies": {
+ "object-assign": "^4",
+ "vary": "^1"
+ },
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/denque": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz",
+ "integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==",
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/depd": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
+ "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/destroy": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
+ "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
+ "engines": {
+ "node": ">= 0.8",
+ "npm": "1.2.8000 || >= 1.4.16"
+ }
+ },
+ "node_modules/dotenv": {
+ "version": "16.0.2",
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.2.tgz",
+ "integrity": "sha512-JvpYKUmzQhYoIFgK2MOnF3bciIZoItIIoryihy0rIA+H4Jy0FmgyKYAHCTN98P5ybGSJcIFbh6QKeJdtZd1qhA==",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/ee-first": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
+ },
+ "node_modules/ejs": {
+ "version": "3.1.8",
+ "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz",
+ "integrity": "sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==",
+ "dependencies": {
+ "jake": "^10.8.5"
+ },
+ "bin": {
+ "ejs": "bin/cli.js"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/encodeurl": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+ "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/escape-html": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+ "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
+ },
+ "node_modules/etag": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
+ "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/express": {
+ "version": "4.18.1",
+ "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz",
+ "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==",
+ "dependencies": {
+ "accepts": "~1.3.8",
+ "array-flatten": "1.1.1",
+ "body-parser": "1.20.0",
+ "content-disposition": "0.5.4",
+ "content-type": "~1.0.4",
+ "cookie": "0.5.0",
+ "cookie-signature": "1.0.6",
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "finalhandler": "1.2.0",
+ "fresh": "0.5.2",
+ "http-errors": "2.0.0",
+ "merge-descriptors": "1.0.1",
+ "methods": "~1.1.2",
+ "on-finished": "2.4.1",
+ "parseurl": "~1.3.3",
+ "path-to-regexp": "0.1.7",
+ "proxy-addr": "~2.0.7",
+ "qs": "6.10.3",
+ "range-parser": "~1.2.1",
+ "safe-buffer": "5.2.1",
+ "send": "0.18.0",
+ "serve-static": "1.15.0",
+ "setprototypeof": "1.2.0",
+ "statuses": "2.0.1",
+ "type-is": "~1.6.18",
+ "utils-merge": "1.0.1",
+ "vary": "~1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.10.0"
+ }
+ },
+ "node_modules/filelist": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz",
+ "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==",
+ "dependencies": {
+ "minimatch": "^5.0.1"
+ }
+ },
+ "node_modules/filelist/node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/filelist/node_modules/minimatch": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz",
+ "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/fill-range": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "dev": true,
+ "dependencies": {
+ "to-regex-range": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/finalhandler": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz",
+ "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==",
+ "dependencies": {
+ "debug": "2.6.9",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "on-finished": "2.4.1",
+ "parseurl": "~1.3.3",
+ "statuses": "2.0.1",
+ "unpipe": "~1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/forwarded": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
+ "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/fresh": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
+ "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/fsevents": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+ "dev": true,
+ "hasInstallScript": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+ }
+ },
+ "node_modules/function-bind": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
+ },
+ "node_modules/get-intrinsic": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz",
+ "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==",
+ "dependencies": {
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dev": true,
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/has": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+ "dependencies": {
+ "function-bind": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4.0"
+ }
+ },
+ "node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/has-symbols": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
+ "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/http-errors": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
+ "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
+ "dependencies": {
+ "depd": "2.0.0",
+ "inherits": "2.0.4",
+ "setprototypeof": "1.2.0",
+ "statuses": "2.0.1",
+ "toidentifier": "1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/iconv-lite": {
+ "version": "0.4.24",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "dependencies": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/ieee754": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
+ "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/ignore-by-default": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz",
+ "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==",
+ "dev": true
+ },
+ "node_modules/inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
+ },
+ "node_modules/ip": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz",
+ "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ=="
+ },
+ "node_modules/ipaddr.js": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
+ "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/is-binary-path": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+ "dev": true,
+ "dependencies": {
+ "binary-extensions": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-glob": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "dev": true,
+ "dependencies": {
+ "is-extglob": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
+ "node_modules/jake": {
+ "version": "10.8.5",
+ "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz",
+ "integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==",
+ "dependencies": {
+ "async": "^3.2.3",
+ "chalk": "^4.0.2",
+ "filelist": "^1.0.1",
+ "minimatch": "^3.0.4"
+ },
+ "bin": {
+ "jake": "bin/cli.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/kareem": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/kareem/-/kareem-2.4.1.tgz",
+ "integrity": "sha512-aJ9opVoXroQUPfovYP5kaj2lM7Jn02Gw13bL0lg9v0V7SaUc0qavPs0Eue7d2DcC3NjqI6QAUElXNsuZSeM+EA=="
+ },
+ "node_modules/media-typer": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
+ "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/memory-pager": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz",
+ "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==",
+ "optional": true
+ },
+ "node_modules/merge-descriptors": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
+ "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w=="
+ },
+ "node_modules/methods": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
+ "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mime": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
+ "bin": {
+ "mime": "cli.js"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/mime-db": {
+ "version": "1.52.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mime-types": {
+ "version": "2.1.35",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
+ "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
+ "dependencies": {
+ "mime-db": "1.52.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/mongodb": {
+ "version": "4.9.1",
+ "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.9.1.tgz",
+ "integrity": "sha512-ZhgI/qBf84fD7sI4waZBoLBNJYPQN5IOC++SBCiPiyhzpNKOxN/fi0tBHvH2dEC42HXtNEbFB0zmNz4+oVtorQ==",
+ "dependencies": {
+ "bson": "^4.7.0",
+ "denque": "^2.1.0",
+ "mongodb-connection-string-url": "^2.5.3",
+ "socks": "^2.7.0"
+ },
+ "engines": {
+ "node": ">=12.9.0"
+ },
+ "optionalDependencies": {
+ "saslprep": "^1.0.3"
+ }
+ },
+ "node_modules/mongodb-connection-string-url": {
+ "version": "2.5.3",
+ "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.5.3.tgz",
+ "integrity": "sha512-f+/WsED+xF4B74l3k9V/XkTVj5/fxFH2o5ToKXd8Iyi5UhM+sO9u0Ape17Mvl/GkZaFtM0HQnzAG5OTmhKw+tQ==",
+ "dependencies": {
+ "@types/whatwg-url": "^8.2.1",
+ "whatwg-url": "^11.0.0"
+ }
+ },
+ "node_modules/mongoose": {
+ "version": "6.6.2",
+ "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-6.6.2.tgz",
+ "integrity": "sha512-SrB0DgB1Ime/xh4Tr2yLkFKO5Aa/FrDyAo/ILGDWM5qjhZdhl7HKftiQPibwywC3rTkeU4nc2yuPYKFLBYCBWA==",
+ "dependencies": {
+ "bson": "^4.6.5",
+ "kareem": "2.4.1",
+ "mongodb": "4.9.1",
+ "mpath": "0.9.0",
+ "mquery": "4.0.3",
+ "ms": "2.1.3",
+ "sift": "16.0.0"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/mongoose"
+ }
+ },
+ "node_modules/mongoose/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
+ },
+ "node_modules/mpath": {
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/mpath/-/mpath-0.9.0.tgz",
+ "integrity": "sha512-ikJRQTk8hw5DEoFVxHG1Gn9T/xcjtdnOKIU1JTmGjZZlg9LST2mBLmcX3/ICIbgJydT2GOc15RnNy5mHmzfSew==",
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
+ "node_modules/mquery": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/mquery/-/mquery-4.0.3.tgz",
+ "integrity": "sha512-J5heI+P08I6VJ2Ky3+33IpCdAvlYGTSUjwTPxkAr8i8EoduPMBX2OY/wa3IKZIQl7MU4SbFk8ndgSKyB/cl1zA==",
+ "dependencies": {
+ "debug": "4.x"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
+ "node_modules/mquery/node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/mquery/node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ },
+ "node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
+ },
+ "node_modules/negotiator": {
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
+ "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/nodemon": {
+ "version": "2.0.20",
+ "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.20.tgz",
+ "integrity": "sha512-Km2mWHKKY5GzRg6i1j5OxOHQtuvVsgskLfigG25yTtbyfRGn/GNvIbRyOf1PSCKJ2aT/58TiuUsuOU5UToVViw==",
+ "dev": true,
+ "dependencies": {
+ "chokidar": "^3.5.2",
+ "debug": "^3.2.7",
+ "ignore-by-default": "^1.0.1",
+ "minimatch": "^3.1.2",
+ "pstree.remy": "^1.1.8",
+ "semver": "^5.7.1",
+ "simple-update-notifier": "^1.0.7",
+ "supports-color": "^5.5.0",
+ "touch": "^3.1.0",
+ "undefsafe": "^2.0.5"
+ },
+ "bin": {
+ "nodemon": "bin/nodemon.js"
+ },
+ "engines": {
+ "node": ">=8.10.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/nodemon"
+ }
+ },
+ "node_modules/nodemon/node_modules/debug": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+ "dev": true,
+ "dependencies": {
+ "ms": "^2.1.1"
+ }
+ },
+ "node_modules/nodemon/node_modules/has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/nodemon/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true
+ },
+ "node_modules/nodemon/node_modules/supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/nopt": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz",
+ "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==",
+ "dev": true,
+ "dependencies": {
+ "abbrev": "1"
+ },
+ "bin": {
+ "nopt": "bin/nopt.js"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/normalize-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-inspect": {
+ "version": "1.12.2",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz",
+ "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/on-finished": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
+ "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
+ "dependencies": {
+ "ee-first": "1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/parseurl": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
+ "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/path-to-regexp": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
+ "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ=="
+ },
+ "node_modules/picomatch": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "dev": true,
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/proxy-addr": {
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
+ "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
+ "dependencies": {
+ "forwarded": "0.2.0",
+ "ipaddr.js": "1.9.1"
+ },
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/pstree.remy": {
+ "version": "1.1.8",
+ "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz",
+ "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==",
+ "dev": true
+ },
+ "node_modules/punycode": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/qs": {
+ "version": "6.10.3",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
+ "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==",
+ "dependencies": {
+ "side-channel": "^1.0.4"
+ },
+ "engines": {
+ "node": ">=0.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/range-parser": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
+ "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/raw-body": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz",
+ "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==",
+ "dependencies": {
+ "bytes": "3.1.2",
+ "http-errors": "2.0.0",
+ "iconv-lite": "0.4.24",
+ "unpipe": "1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/readdirp": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+ "dev": true,
+ "dependencies": {
+ "picomatch": "^2.2.1"
+ },
+ "engines": {
+ "node": ">=8.10.0"
+ }
+ },
+ "node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
+ },
+ "node_modules/saslprep": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/saslprep/-/saslprep-1.0.3.tgz",
+ "integrity": "sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==",
+ "optional": true,
+ "dependencies": {
+ "sparse-bitfield": "^3.0.3"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver"
+ }
+ },
+ "node_modules/send": {
+ "version": "0.18.0",
+ "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
+ "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
+ "dependencies": {
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "destroy": "1.2.0",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "fresh": "0.5.2",
+ "http-errors": "2.0.0",
+ "mime": "1.6.0",
+ "ms": "2.1.3",
+ "on-finished": "2.4.1",
+ "range-parser": "~1.2.1",
+ "statuses": "2.0.1"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/send/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
+ },
+ "node_modules/serve-static": {
+ "version": "1.15.0",
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz",
+ "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==",
+ "dependencies": {
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "parseurl": "~1.3.3",
+ "send": "0.18.0"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/setprototypeof": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
+ "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
+ },
+ "node_modules/side-channel": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
+ "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
+ "dependencies": {
+ "call-bind": "^1.0.0",
+ "get-intrinsic": "^1.0.2",
+ "object-inspect": "^1.9.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/sift": {
+ "version": "16.0.0",
+ "resolved": "https://registry.npmjs.org/sift/-/sift-16.0.0.tgz",
+ "integrity": "sha512-ILTjdP2Mv9V1kIxWMXeMTIRbOBrqKc4JAXmFMnFq3fKeyQ2Qwa3Dw1ubcye3vR+Y6ofA0b9gNDr/y2t6eUeIzQ=="
+ },
+ "node_modules/simple-update-notifier": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.0.7.tgz",
+ "integrity": "sha512-BBKgR84BJQJm6WjWFMHgLVuo61FBDSj1z/xSFUIozqO6wO7ii0JxCqlIud7Enr/+LhlbNI0whErq96P2qHNWew==",
+ "dev": true,
+ "dependencies": {
+ "semver": "~7.0.0"
+ },
+ "engines": {
+ "node": ">=8.10.0"
+ }
+ },
+ "node_modules/simple-update-notifier/node_modules/semver": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz",
+ "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/smart-buffer": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
+ "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==",
+ "engines": {
+ "node": ">= 6.0.0",
+ "npm": ">= 3.0.0"
+ }
+ },
+ "node_modules/socks": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.0.tgz",
+ "integrity": "sha512-scnOe9y4VuiNUULJN72GrM26BNOjVsfPXI+j+98PkyEfsIXroa5ofyjT+FzGvn/xHs73U2JtoBYAVx9Hl4quSA==",
+ "dependencies": {
+ "ip": "^2.0.0",
+ "smart-buffer": "^4.2.0"
+ },
+ "engines": {
+ "node": ">= 10.13.0",
+ "npm": ">= 3.0.0"
+ }
+ },
+ "node_modules/sparse-bitfield": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz",
+ "integrity": "sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==",
+ "optional": true,
+ "dependencies": {
+ "memory-pager": "^1.0.2"
+ }
+ },
+ "node_modules/statuses": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
+ "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dev": true,
+ "dependencies": {
+ "is-number": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8.0"
+ }
+ },
+ "node_modules/toidentifier": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
+ "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
+ "engines": {
+ "node": ">=0.6"
+ }
+ },
+ "node_modules/touch": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz",
+ "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==",
+ "dev": true,
+ "dependencies": {
+ "nopt": "~1.0.10"
+ },
+ "bin": {
+ "nodetouch": "bin/nodetouch.js"
+ }
+ },
+ "node_modules/tr46": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz",
+ "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==",
+ "dependencies": {
+ "punycode": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/type-is": {
+ "version": "1.6.18",
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
+ "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
+ "dependencies": {
+ "media-typer": "0.3.0",
+ "mime-types": "~2.1.24"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/undefsafe": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz",
+ "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==",
+ "dev": true
+ },
+ "node_modules/unpipe": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
+ "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/utils-merge": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
+ "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==",
+ "engines": {
+ "node": ">= 0.4.0"
+ }
+ },
+ "node_modules/vary": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
+ "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/webidl-conversions": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
+ "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/whatwg-url": {
+ "version": "11.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz",
+ "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==",
+ "dependencies": {
+ "tr46": "^3.0.0",
+ "webidl-conversions": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ }
+ },
+ "dependencies": {
+ "@types/node": {
+ "version": "18.7.23",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.23.tgz",
+ "integrity": "sha512-DWNcCHolDq0ZKGizjx2DZjR/PqsYwAcYUJmfMWqtVU2MBMG5Mo+xFZrhGId5r/O5HOuMPyQEcM6KUBp5lBZZBg=="
+ },
+ "@types/webidl-conversions": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
+ "integrity": "sha512-xTE1E+YF4aWPJJeUzaZI5DRntlkY3+BCVJi0axFptnjGmAoWxkyREIh/XMrfxVLejwQxMCfDXdICo0VLxThrog=="
+ },
+ "@types/whatwg-url": {
+ "version": "8.2.2",
+ "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.2.tgz",
+ "integrity": "sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==",
+ "requires": {
+ "@types/node": "*",
+ "@types/webidl-conversions": "*"
+ }
+ },
+ "abbrev": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
+ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
+ "dev": true
+ },
+ "accepts": {
+ "version": "1.3.8",
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
+ "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
+ "requires": {
+ "mime-types": "~2.1.34",
+ "negotiator": "0.6.3"
+ }
+ },
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "anymatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
+ "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
+ "dev": true,
+ "requires": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ }
+ },
+ "array-flatten": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
+ "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg=="
+ },
+ "async": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz",
+ "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ=="
+ },
+ "balanced-match": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
+ },
+ "base64-js": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
+ "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
+ },
+ "binary-extensions": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
+ "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
+ "dev": true
+ },
+ "body-parser": {
+ "version": "1.20.0",
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz",
+ "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==",
+ "requires": {
+ "bytes": "3.1.2",
+ "content-type": "~1.0.4",
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "destroy": "1.2.0",
+ "http-errors": "2.0.0",
+ "iconv-lite": "0.4.24",
+ "on-finished": "2.4.1",
+ "qs": "6.10.3",
+ "raw-body": "2.5.1",
+ "type-is": "~1.6.18",
+ "unpipe": "1.0.0"
+ }
+ },
+ "brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "requires": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "dev": true,
+ "requires": {
+ "fill-range": "^7.0.1"
+ }
+ },
+ "bson": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/bson/-/bson-4.7.0.tgz",
+ "integrity": "sha512-VrlEE4vuiO1WTpfof4VmaVolCVYkYTgB9iWgYNOrVlnifpME/06fhFRmONgBhClD5pFC1t9ZWqFUQEQAzY43bA==",
+ "requires": {
+ "buffer": "^5.6.0"
+ }
+ },
+ "buffer": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
+ "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
+ "requires": {
+ "base64-js": "^1.3.1",
+ "ieee754": "^1.1.13"
+ }
+ },
+ "bytes": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
+ "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg=="
+ },
+ "call-bind": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
+ "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
+ "requires": {
+ "function-bind": "^1.1.1",
+ "get-intrinsic": "^1.0.2"
+ }
+ },
+ "chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "chokidar": {
+ "version": "3.5.3",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
+ "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
+ "dev": true,
+ "requires": {
+ "anymatch": "~3.1.2",
+ "braces": "~3.0.2",
+ "fsevents": "~2.3.2",
+ "glob-parent": "~5.1.2",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.6.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
+ },
+ "content-disposition": {
+ "version": "0.5.4",
+ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
+ "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
+ "requires": {
+ "safe-buffer": "5.2.1"
+ }
+ },
+ "content-type": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
+ "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA=="
+ },
+ "cookie": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
+ "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw=="
+ },
+ "cookie-signature": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
+ "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ=="
+ },
+ "cors": {
+ "version": "2.8.5",
+ "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
+ "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
+ "requires": {
+ "object-assign": "^4",
+ "vary": "^1"
+ }
+ },
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "denque": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz",
+ "integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw=="
+ },
+ "depd": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
+ "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw=="
+ },
+ "destroy": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
+ "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg=="
+ },
+ "dotenv": {
+ "version": "16.0.2",
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.2.tgz",
+ "integrity": "sha512-JvpYKUmzQhYoIFgK2MOnF3bciIZoItIIoryihy0rIA+H4Jy0FmgyKYAHCTN98P5ybGSJcIFbh6QKeJdtZd1qhA=="
+ },
+ "ee-first": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
+ },
+ "ejs": {
+ "version": "3.1.8",
+ "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz",
+ "integrity": "sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==",
+ "requires": {
+ "jake": "^10.8.5"
+ }
+ },
+ "encodeurl": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+ "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w=="
+ },
+ "escape-html": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+ "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
+ },
+ "etag": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
+ "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg=="
+ },
+ "express": {
+ "version": "4.18.1",
+ "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz",
+ "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==",
+ "requires": {
+ "accepts": "~1.3.8",
+ "array-flatten": "1.1.1",
+ "body-parser": "1.20.0",
+ "content-disposition": "0.5.4",
+ "content-type": "~1.0.4",
+ "cookie": "0.5.0",
+ "cookie-signature": "1.0.6",
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "finalhandler": "1.2.0",
+ "fresh": "0.5.2",
+ "http-errors": "2.0.0",
+ "merge-descriptors": "1.0.1",
+ "methods": "~1.1.2",
+ "on-finished": "2.4.1",
+ "parseurl": "~1.3.3",
+ "path-to-regexp": "0.1.7",
+ "proxy-addr": "~2.0.7",
+ "qs": "6.10.3",
+ "range-parser": "~1.2.1",
+ "safe-buffer": "5.2.1",
+ "send": "0.18.0",
+ "serve-static": "1.15.0",
+ "setprototypeof": "1.2.0",
+ "statuses": "2.0.1",
+ "type-is": "~1.6.18",
+ "utils-merge": "1.0.1",
+ "vary": "~1.1.2"
+ }
+ },
+ "filelist": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz",
+ "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==",
+ "requires": {
+ "minimatch": "^5.0.1"
+ },
+ "dependencies": {
+ "brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "requires": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "minimatch": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz",
+ "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==",
+ "requires": {
+ "brace-expansion": "^2.0.1"
+ }
+ }
+ }
+ },
+ "fill-range": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "dev": true,
+ "requires": {
+ "to-regex-range": "^5.0.1"
+ }
+ },
+ "finalhandler": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz",
+ "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==",
+ "requires": {
+ "debug": "2.6.9",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "on-finished": "2.4.1",
+ "parseurl": "~1.3.3",
+ "statuses": "2.0.1",
+ "unpipe": "~1.0.0"
+ }
+ },
+ "forwarded": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
+ "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow=="
+ },
+ "fresh": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
+ "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q=="
+ },
+ "fsevents": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+ "dev": true,
+ "optional": true
+ },
+ "function-bind": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
+ },
+ "get-intrinsic": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz",
+ "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==",
+ "requires": {
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.3"
+ }
+ },
+ "glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dev": true,
+ "requires": {
+ "is-glob": "^4.0.1"
+ }
+ },
+ "has": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+ "requires": {
+ "function-bind": "^1.1.1"
+ }
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
+ },
+ "has-symbols": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
+ "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A=="
+ },
+ "http-errors": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
+ "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
+ "requires": {
+ "depd": "2.0.0",
+ "inherits": "2.0.4",
+ "setprototypeof": "1.2.0",
+ "statuses": "2.0.1",
+ "toidentifier": "1.0.1"
+ }
+ },
+ "iconv-lite": {
+ "version": "0.4.24",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "requires": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ }
+ },
+ "ieee754": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
+ "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="
+ },
+ "ignore-by-default": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz",
+ "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==",
+ "dev": true
+ },
+ "inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
+ },
+ "ip": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz",
+ "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ=="
+ },
+ "ipaddr.js": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
+ "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g=="
+ },
+ "is-binary-path": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+ "dev": true,
+ "requires": {
+ "binary-extensions": "^2.0.0"
+ }
+ },
+ "is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+ "dev": true
+ },
+ "is-glob": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "dev": true,
+ "requires": {
+ "is-extglob": "^2.1.1"
+ }
+ },
+ "is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "dev": true
+ },
+ "jake": {
+ "version": "10.8.5",
+ "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz",
+ "integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==",
+ "requires": {
+ "async": "^3.2.3",
+ "chalk": "^4.0.2",
+ "filelist": "^1.0.1",
+ "minimatch": "^3.0.4"
+ }
+ },
+ "kareem": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/kareem/-/kareem-2.4.1.tgz",
+ "integrity": "sha512-aJ9opVoXroQUPfovYP5kaj2lM7Jn02Gw13bL0lg9v0V7SaUc0qavPs0Eue7d2DcC3NjqI6QAUElXNsuZSeM+EA=="
+ },
+ "media-typer": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
+ "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ=="
+ },
+ "memory-pager": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz",
+ "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==",
+ "optional": true
+ },
+ "merge-descriptors": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
+ "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w=="
+ },
+ "methods": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
+ "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w=="
+ },
+ "mime": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="
+ },
+ "mime-db": {
+ "version": "1.52.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="
+ },
+ "mime-types": {
+ "version": "2.1.35",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
+ "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
+ "requires": {
+ "mime-db": "1.52.0"
+ }
+ },
+ "minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ },
+ "mongodb": {
+ "version": "4.9.1",
+ "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.9.1.tgz",
+ "integrity": "sha512-ZhgI/qBf84fD7sI4waZBoLBNJYPQN5IOC++SBCiPiyhzpNKOxN/fi0tBHvH2dEC42HXtNEbFB0zmNz4+oVtorQ==",
+ "requires": {
+ "bson": "^4.7.0",
+ "denque": "^2.1.0",
+ "mongodb-connection-string-url": "^2.5.3",
+ "saslprep": "^1.0.3",
+ "socks": "^2.7.0"
+ }
+ },
+ "mongodb-connection-string-url": {
+ "version": "2.5.3",
+ "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.5.3.tgz",
+ "integrity": "sha512-f+/WsED+xF4B74l3k9V/XkTVj5/fxFH2o5ToKXd8Iyi5UhM+sO9u0Ape17Mvl/GkZaFtM0HQnzAG5OTmhKw+tQ==",
+ "requires": {
+ "@types/whatwg-url": "^8.2.1",
+ "whatwg-url": "^11.0.0"
+ }
+ },
+ "mongoose": {
+ "version": "6.6.2",
+ "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-6.6.2.tgz",
+ "integrity": "sha512-SrB0DgB1Ime/xh4Tr2yLkFKO5Aa/FrDyAo/ILGDWM5qjhZdhl7HKftiQPibwywC3rTkeU4nc2yuPYKFLBYCBWA==",
+ "requires": {
+ "bson": "^4.6.5",
+ "kareem": "2.4.1",
+ "mongodb": "4.9.1",
+ "mpath": "0.9.0",
+ "mquery": "4.0.3",
+ "ms": "2.1.3",
+ "sift": "16.0.0"
+ },
+ "dependencies": {
+ "ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
+ }
+ }
+ },
+ "mpath": {
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/mpath/-/mpath-0.9.0.tgz",
+ "integrity": "sha512-ikJRQTk8hw5DEoFVxHG1Gn9T/xcjtdnOKIU1JTmGjZZlg9LST2mBLmcX3/ICIbgJydT2GOc15RnNy5mHmzfSew=="
+ },
+ "mquery": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/mquery/-/mquery-4.0.3.tgz",
+ "integrity": "sha512-J5heI+P08I6VJ2Ky3+33IpCdAvlYGTSUjwTPxkAr8i8EoduPMBX2OY/wa3IKZIQl7MU4SbFk8ndgSKyB/cl1zA==",
+ "requires": {
+ "debug": "4.x"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ }
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
+ },
+ "negotiator": {
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
+ "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg=="
+ },
+ "nodemon": {
+ "version": "2.0.20",
+ "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.20.tgz",
+ "integrity": "sha512-Km2mWHKKY5GzRg6i1j5OxOHQtuvVsgskLfigG25yTtbyfRGn/GNvIbRyOf1PSCKJ2aT/58TiuUsuOU5UToVViw==",
+ "dev": true,
+ "requires": {
+ "chokidar": "^3.5.2",
+ "debug": "^3.2.7",
+ "ignore-by-default": "^1.0.1",
+ "minimatch": "^3.1.2",
+ "pstree.remy": "^1.1.8",
+ "semver": "^5.7.1",
+ "simple-update-notifier": "^1.0.7",
+ "supports-color": "^5.5.0",
+ "touch": "^3.1.0",
+ "undefsafe": "^2.0.5"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
+ "dev": true
+ },
+ "ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "nopt": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz",
+ "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==",
+ "dev": true,
+ "requires": {
+ "abbrev": "1"
+ }
+ },
+ "normalize-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+ "dev": true
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="
+ },
+ "object-inspect": {
+ "version": "1.12.2",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz",
+ "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ=="
+ },
+ "on-finished": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
+ "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
+ "requires": {
+ "ee-first": "1.1.1"
+ }
+ },
+ "parseurl": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
+ "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="
+ },
+ "path-to-regexp": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
+ "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ=="
+ },
+ "picomatch": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "dev": true
+ },
+ "proxy-addr": {
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
+ "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
+ "requires": {
+ "forwarded": "0.2.0",
+ "ipaddr.js": "1.9.1"
+ }
+ },
+ "pstree.remy": {
+ "version": "1.1.8",
+ "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz",
+ "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==",
+ "dev": true
+ },
+ "punycode": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
+ },
+ "qs": {
+ "version": "6.10.3",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
+ "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==",
+ "requires": {
+ "side-channel": "^1.0.4"
+ }
+ },
+ "range-parser": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
+ "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="
+ },
+ "raw-body": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz",
+ "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==",
+ "requires": {
+ "bytes": "3.1.2",
+ "http-errors": "2.0.0",
+ "iconv-lite": "0.4.24",
+ "unpipe": "1.0.0"
+ }
+ },
+ "readdirp": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+ "dev": true,
+ "requires": {
+ "picomatch": "^2.2.1"
+ }
+ },
+ "safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
+ },
+ "safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
+ },
+ "saslprep": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/saslprep/-/saslprep-1.0.3.tgz",
+ "integrity": "sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==",
+ "optional": true,
+ "requires": {
+ "sparse-bitfield": "^3.0.3"
+ }
+ },
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true
+ },
+ "send": {
+ "version": "0.18.0",
+ "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
+ "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
+ "requires": {
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "destroy": "1.2.0",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "fresh": "0.5.2",
+ "http-errors": "2.0.0",
+ "mime": "1.6.0",
+ "ms": "2.1.3",
+ "on-finished": "2.4.1",
+ "range-parser": "~1.2.1",
+ "statuses": "2.0.1"
+ },
+ "dependencies": {
+ "ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
+ }
+ }
+ },
+ "serve-static": {
+ "version": "1.15.0",
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz",
+ "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==",
+ "requires": {
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "parseurl": "~1.3.3",
+ "send": "0.18.0"
+ }
+ },
+ "setprototypeof": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
+ "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
+ },
+ "side-channel": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
+ "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
+ "requires": {
+ "call-bind": "^1.0.0",
+ "get-intrinsic": "^1.0.2",
+ "object-inspect": "^1.9.0"
+ }
+ },
+ "sift": {
+ "version": "16.0.0",
+ "resolved": "https://registry.npmjs.org/sift/-/sift-16.0.0.tgz",
+ "integrity": "sha512-ILTjdP2Mv9V1kIxWMXeMTIRbOBrqKc4JAXmFMnFq3fKeyQ2Qwa3Dw1ubcye3vR+Y6ofA0b9gNDr/y2t6eUeIzQ=="
+ },
+ "simple-update-notifier": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.0.7.tgz",
+ "integrity": "sha512-BBKgR84BJQJm6WjWFMHgLVuo61FBDSj1z/xSFUIozqO6wO7ii0JxCqlIud7Enr/+LhlbNI0whErq96P2qHNWew==",
+ "dev": true,
+ "requires": {
+ "semver": "~7.0.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz",
+ "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==",
+ "dev": true
+ }
+ }
+ },
+ "smart-buffer": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
+ "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg=="
+ },
+ "socks": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.0.tgz",
+ "integrity": "sha512-scnOe9y4VuiNUULJN72GrM26BNOjVsfPXI+j+98PkyEfsIXroa5ofyjT+FzGvn/xHs73U2JtoBYAVx9Hl4quSA==",
+ "requires": {
+ "ip": "^2.0.0",
+ "smart-buffer": "^4.2.0"
+ }
+ },
+ "sparse-bitfield": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz",
+ "integrity": "sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==",
+ "optional": true,
+ "requires": {
+ "memory-pager": "^1.0.2"
+ }
+ },
+ "statuses": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
+ "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ=="
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ },
+ "to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dev": true,
+ "requires": {
+ "is-number": "^7.0.0"
+ }
+ },
+ "toidentifier": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
+ "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA=="
+ },
+ "touch": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz",
+ "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==",
+ "dev": true,
+ "requires": {
+ "nopt": "~1.0.10"
+ }
+ },
+ "tr46": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz",
+ "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==",
+ "requires": {
+ "punycode": "^2.1.1"
+ }
+ },
+ "type-is": {
+ "version": "1.6.18",
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
+ "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
+ "requires": {
+ "media-typer": "0.3.0",
+ "mime-types": "~2.1.24"
+ }
+ },
+ "undefsafe": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz",
+ "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==",
+ "dev": true
+ },
+ "unpipe": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
+ "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ=="
+ },
+ "utils-merge": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
+ "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA=="
+ },
+ "vary": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
+ "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg=="
+ },
+ "webidl-conversions": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
+ "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g=="
+ },
+ "whatwg-url": {
+ "version": "11.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz",
+ "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==",
+ "requires": {
+ "tr46": "^3.0.0",
+ "webidl-conversions": "^7.0.0"
+ }
+ }
+ }
+}
diff --git a/package.json b/package.json
new file mode 100644
index 000000000..f094e31c7
--- /dev/null
+++ b/package.json
@@ -0,0 +1,30 @@
+{
+ "name": "simple-express-app-submission",
+ "version": "1.0.0",
+ "description": "- Fork and clone this repo\r - Create a new branch called answer\r - Checkout answer branch\r - Push to your fork\r - Issue a pull request\r - Your pull request description should contain the following:\r - (1 to 5 no 3) I completed the challenge\r - (1 to 5 no 3) I feel good about my code\r - Anything specific on which you want feedback!",
+ "main": "index.js",
+ "scripts": {
+ "start": "nodemon server.js",
+ "test": "echo \"Error: no test specified\" && exit 1"
+ },
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/jaclynbrothers/simple-express-app-submission.git"
+ },
+ "author": "",
+ "license": "ISC",
+ "bugs": {
+ "url": "https://github.com/jaclynbrothers/simple-express-app-submission/issues"
+ },
+ "homepage": "https://github.com/jaclynbrothers/simple-express-app-submission#readme",
+ "dependencies": {
+ "cors": "^2.8.5",
+ "dotenv": "^16.0.2",
+ "ejs": "^3.1.8",
+ "express": "^4.18.1",
+ "mongoose": "^6.6.2"
+ },
+ "devDependencies": {
+ "nodemon": "^2.0.20"
+ }
+}
diff --git a/public/img/header.png b/public/img/header.png
new file mode 100644
index 0000000000000000000000000000000000000000..09a3c680a3ef6664a6cd09e229e1ab7c31d91d79
GIT binary patch
literal 179246
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 |