diff --git a/README.md b/README.md
index 1651d8d99..0acf9a99e 100644
Binary files a/README.md and b/README.md differ
diff --git a/_helpers/db.js b/_helpers/db.js
new file mode 100644
index 000000000..b3f32c07c
--- /dev/null
+++ b/_helpers/db.js
@@ -0,0 +1,34 @@
+const mongoose = require("mongoose");
+const environment = require("../environment");
+const defaultUserSetting = require("../models/defaultUserSetting");
+
+mongoose.Promise = global.Promise;
+
+mongoose
+ .connect(environment.mongoDbConnectionString, {useNewUrlParser: true})
+ .then(() => {
+ console.log("DB connected");
+ })
+ .catch((err) => {
+ console.log(err);
+ });
+
+module.exports = {
+ members: require("../models/member.model"),
+ admin: require("../models/admin.model"),
+ role: require("../models/role.model"),
+ otp: require("../models/otp.model"),
+ payment: require("../models/payment"),
+ feedback: require("../models/feedback.model"),
+ packages: require("../models/packages.model"),
+ upis: require("../models/upi"),
+ wallet: require("../models/wallet"),
+ withdraw: require("../models/withdraw.model"),
+ game: require("../models/game.model"),
+ game2: require("../models/game2.model"),
+ game1F: require("../models/game1F.model"),
+ game2F: require("../models/game2F.model"),
+ profit: require("../models/profit"),
+ orderId: require("../models/orderId.model"),
+ subscription: require("../models/subscribedUser"),
+};
diff --git a/_helpers/error-handler.js b/_helpers/error-handler.js
new file mode 100644
index 000000000..5e48bee72
--- /dev/null
+++ b/_helpers/error-handler.js
@@ -0,0 +1,21 @@
+module.exports = errorHandler;
+
+function errorHandler(err, req, res, next) {
+ if (typeof (err) === 'string') {
+ // custom application error
+ return res.status(400).json({ message: err });
+ }
+
+ if (err.name === 'ValidationError') {
+ // mongoose validation error
+ return res.status(400).json({ message: err.message });
+ }
+
+ if (err.name === 'UnauthorizedError') {
+ // jwt authentication error
+ return res.status(401).json({ message: 'Invalid Token' });
+ }
+
+ // default to 500 server error
+ return res.status(500).json({ message: err.message });
+}
\ No newline at end of file
diff --git a/_helpers/helperMethods.js b/_helpers/helperMethods.js
new file mode 100644
index 000000000..9dd2b58cd
--- /dev/null
+++ b/_helpers/helperMethods.js
@@ -0,0 +1,88 @@
+
+function fn_filter(query) {
+ query = JSON.parse(query);
+ // let filter;
+ // if(query.filterValue!=undefined||query.filterkey!=undefined){
+ // var filterkey=JSON.stringify(query.filterkey);
+ // var filterValue=JSON.stringify(query.filterValue);
+ // let obj={
+ // filterkey,
+ // filterValue
+ // }
+ // delete query.filterValue; delete query.filterkey;
+ // filter=JSON.parse(`{${obj.filterkey}:${obj.filterValue}}`)
+ // }
+ // filter=Object.assign(filter,query);
+
+
+ let filter = {};
+ for (let i = 0; i < query.length; i++) {
+ if (query[i].filterValue != undefined || query[i].filterkey != undefined) {
+ var filterkey = query[i].filterkey;
+ var filterValue = query[i].filterValue;
+ let obj = {
+ filterkey,
+ filterValue
+ }
+ delete query[i].filterValue; delete query[i].filterkey;
+ // console.log("for Loop",filter);
+ filter[obj.filterkey] = obj.filterValue;
+ }
+ }
+ let where = [];
+ for (let [col, data] of Object.entries(filter)) {
+ //console.log("col",`${col}: ${data}`);
+ for (let [operator, value] of Object.entries(data)) {
+ //console.log("Oprator",`${operator}: ${value}`);
+ switch (operator) {
+ case 'eq': {
+ //where.push({ [col]: new RegExp('/^' + value + '/i') }) //exact match case insensitive, i represents insensitive
+ //where.push({ [col]: { $regex: '/' + value + '/' } })
+ where.push({ [col]: new RegExp('^' + value + '') })
+ break;
+ }
+ case 'ne': {
+ where.push({ [col]: { $regex: value } })
+ break;
+ }
+ case 'contains': {
+ where.push({ [col]: new RegExp(value, "i") })// "like"
+ break;
+ }
+ case 'beginsWith': {
+ where.push({ [col]: new RegExp('/^O /' + value + '') })
+ //where.push({ col: { $regex: /^O /, $options: 'm' } })
+ break;
+ }
+ case 'ge': {
+ where.push({ [col]: { $gte: value } })
+ break;
+ }
+ case 'gt': {
+ where.push({ [col]: { $gt: value } })
+ break;
+ }
+ case 'lt': {
+ where.push({ [col]: { $lt: value } })
+ break;
+ }
+ case 'lte': {
+ where.push({ [col]: { $lte: value } })
+ break;
+ }
+ case 'between': {
+ where.push({ [col]: { $gte: value[0], $lte: value[1] } })
+ break;
+ }
+ default:
+ break;
+ }
+ }
+ }
+
+ return where;
+}
+
+module.exports = {
+ fn_filter
+}
\ No newline at end of file
diff --git a/_helpers/jwt.js b/_helpers/jwt.js
new file mode 100644
index 000000000..1a90e0b55
--- /dev/null
+++ b/_helpers/jwt.js
@@ -0,0 +1,30 @@
+const expressJwt = require('express-jwt');
+//const config = require('config.json');
+//const userService = require('../users/user.service');
+
+module.exports = jwt;
+
+function jwt() {
+ const secret = 'SOME SECRET VALUE';// config.secret;
+ return expressJwt({ secret, isRevoked }).unless({
+ path: [
+ // public routes that don't require authentication
+ '/users/authenticate',
+ '/users/register'
+ ]
+ });
+}
+
+async function isRevoked(req, payload, done) {
+ // const user = await userService.getById(payload.sub);
+
+ // // revoke token if user no longer exists
+ // if (!user) {
+ // return done(null, true);
+ // }
+
+
+ return done(null, true);
+
+ //done();
+};
\ No newline at end of file
diff --git a/_helpers/sms.js b/_helpers/sms.js
new file mode 100644
index 000000000..7247cffd1
--- /dev/null
+++ b/_helpers/sms.js
@@ -0,0 +1,45 @@
+var request = require("request");
+const db = require("../_helpers/db");
+const express = require("express");
+
+
+
+function SendOtp(mobile) {
+
+
+ const OTP = Math.floor(000000 + Math.random() * 999999);
+ console.log(OTP)
+
+ var options = {
+ method: "GET",
+ url: "https://api.authkey.io/request",
+ qs: {
+ authkey: "14f46e8842e516f7",
+ sms: `Use ${OTP} as your OTP to access your {#company#}, OTP is confidential and valid for {#time#}`,
+ mobile:`${mobile}`,
+ sender: "AUTHKY",
+ template: "Authkey otp message"
+
+ },
+
+
+ };
+ console.log(options)
+
+ request(options, function (error, response, body) {
+ if (error) {
+ console.log("error sms");
+ console.log(error);
+ }
+
+ console.log(body);
+
+
+ });
+
+ //2. save mobilenumber and otp in smslog table
+}
+
+module.exports = {
+ SendOtp,
+};
diff --git a/controllers/admin.controller.js b/controllers/admin.controller.js
new file mode 100644
index 000000000..b1d854569
--- /dev/null
+++ b/controllers/admin.controller.js
@@ -0,0 +1,80 @@
+const express = require("express");
+const router = express.Router();
+const adminService = require("../service/admin.service");
+
+router.get("/:id", read);
+router.get("/", readAll);
+router.post("/deleted", deletedMember);
+router.post("/", add);
+router.put("/:id", update);
+router.put("/update/:id", update1);
+router.delete("/:id", remove);
+router.get("/user/:_id", readByUser);
+router.post("/user1/:_id", readByUser1);
+router.get("/user2/:_id", readByUser2);
+
+function readByUser(req, res, next) {
+ adminService
+ .readByUser(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function readByUser2(req, res, next) {
+ adminService
+ .readByUser2(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function readByUser1(req, res, next) {
+ adminService
+ .readByUser1(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+
+function add(req, res, next) {
+ console.log(req.body);
+ adminService
+ .add(req, res)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function update(req, res, next) {
+ adminService
+ .update(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function update1(req, res, next) {
+ adminService
+ .update1(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function remove(req, res, next) {
+ adminService
+ .remove(req, res, next)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+
+function read(req, res, next) {
+ adminService
+ .read(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function readAll(req, res, next) {
+ adminService
+ .readAll(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function deletedMember(req, res, next) {
+ adminService
+ .deletedMember(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+
+module.exports = router;
diff --git a/controllers/defaultUserSetting.controller.js b/controllers/defaultUserSetting.controller.js
new file mode 100644
index 000000000..14bbfb3a0
--- /dev/null
+++ b/controllers/defaultUserSetting.controller.js
@@ -0,0 +1,51 @@
+const express = require("express");
+const router = express.Router();
+const defaultUserSettingService = require("../service/defaultUserSetting.service");
+
+router.get("/:id", read);
+router.get("/", readAll);
+router.get("/state/:stateId", readByState);
+router.post("/", add);
+router.put("/:id", update);
+router.delete("/:id", remove);
+
+function add(req, res, next) {
+ console.log(req.body)
+ defaultUserSettingService
+ .add(req,res)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+ }
+ function update(req, res, next) {
+ defaultUserSettingService
+ .update(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+ }
+ function remove(req, res, next) {
+ defaultUserSettingService
+ .remove(req,res,next)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+ }
+
+ function read(req, res, next) {
+ defaultUserSettingService
+ .read(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+ }
+ function readAll(req, res, next) {
+ defaultUserSettingService
+ .readAll(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+ }
+ function readByState(req, res, next) {
+ defaultUserSettingService
+ .readByState(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+ }
+
+ module.exports = router;
\ No newline at end of file
diff --git a/controllers/emailRoutes.js b/controllers/emailRoutes.js
new file mode 100644
index 000000000..f9886ea24
--- /dev/null
+++ b/controllers/emailRoutes.js
@@ -0,0 +1,23 @@
+const express = require("express");
+const router = express.Router();
+
+const sendEmail1 = require("../service/sendEmail");
+
+router.post("/sendEmail", send);
+router.get("/", readAll);
+
+function send(req, res, next) {
+ console.log(req.body)
+ sendEmail1
+ .sendEmail(req,res)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+ }
+ function readAll(req, res, next) {
+ sendEmail1
+ .readAll(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+ }
+
+module.exports = router;
diff --git a/controllers/feedback.controller.js b/controllers/feedback.controller.js
new file mode 100644
index 000000000..73182f159
--- /dev/null
+++ b/controllers/feedback.controller.js
@@ -0,0 +1,44 @@
+const express = require("express");
+const router = express.Router();
+const feedback = require("../service/feedback.service");
+
+router.get("/:id", read);
+router.get("/", readAll);
+
+router.post("/", add);
+router.delete("/:id", remove);
+
+
+
+
+
+function add(req, res, next) {
+ console.log(req.body)
+ feedback
+ .add(req,res)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+
+function remove(req, res, next) {
+ feedback
+ .remove(req,res,next)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+
+function read(req, res, next) {
+ feedback
+ .read(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function readAll(req, res, next) {
+ feedback
+ .readAll(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+
+
+module.exports = router;
diff --git a/controllers/game.controller.js b/controllers/game.controller.js
new file mode 100644
index 000000000..2fcf87494
--- /dev/null
+++ b/controllers/game.controller.js
@@ -0,0 +1,126 @@
+const express = require("express");
+const router = express.Router();
+const gameService = require("../service/game.service");
+
+router.get("/:id", read);
+router.get("/runing/:Userid", readRuningGame);
+router.get("/runing1/:Userid", readRuningGame1);
+router.get("/runing2/:Userid", readRuningGame2);
+router.get("/runing3/:Userid", readRuningGame3);
+router.get("/runing4/:Userid", readRuningGame4);
+router.get("/runing5/:Userid", readRuningGame5);
+router.get("/", readAll);
+router.post("/cancel", readAllCancle);
+router.post("/success", readAllSuccess);
+router.post("/user/status", readByUser);
+router.post("/", add);
+router.put("/:id", update);
+router.delete("/:id", remove);
+router.post("/report", successGameReport);
+router.post("/report2", cancelGameReport);
+
+
+function readByUser(req, res, next) {
+ gameService
+ .readByUser(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+
+
+
+function add(req, res, next) {
+ console.log(req.body)
+ gameService
+ .add(req,res)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function update(req, res, next) {
+ gameService
+ .update(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function remove(req, res, next) {
+ gameService
+ .remove(req,res,next)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+
+function read(req, res, next) {
+ gameService
+ .read(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function readRuningGame(req, res, next) {
+ gameService
+ .readRuningGame(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function readRuningGame1(req, res, next) {
+ gameService
+ .readRuningGame1(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function readRuningGame2(req, res, next) {
+ gameService
+ .readRuningGame2(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function readRuningGame3(req, res, next) {
+ gameService
+ .readRuningGame3(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function readRuningGame4(req, res, next) {
+ gameService
+ .readRuningGame4(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function readRuningGame5(req, res, next) {
+ gameService
+ .readRuningGame5(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function readAll(req, res, next) {
+ gameService
+ .readAll(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function readAllCancle(req, res, next) {
+ gameService
+ .readAllCancle(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function readAllSuccess(req, res, next) {
+ gameService
+ .readAllSuccess(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function successGameReport(req, res, next) {
+ gameService
+ .successGameReport(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function cancelGameReport(req, res, next) {
+ gameService
+ .cancelGameReport(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+
+
+module.exports = router;
diff --git a/controllers/game1F.controller.js b/controllers/game1F.controller.js
new file mode 100644
index 000000000..08b8f5d11
--- /dev/null
+++ b/controllers/game1F.controller.js
@@ -0,0 +1,74 @@
+const express = require("express");
+const router = express.Router();
+const gameService = require("../service/game1F.service");
+
+router.get("/:id", read);
+router.get("/", readAll);
+router.post("/cancel", readAllCancle);
+router.post("/cancel1", readAllCancle1);
+router.post("/success", readAllSuccess);
+router.post("/", add);
+router.put("/:id", update);
+router.delete("/:id", remove);
+router.post("/report", unsolvedGame);
+
+
+function add(req, res, next) {
+ console.log(req.body)
+ gameService
+ .add(req,res)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function update(req, res, next) {
+ gameService
+ .update(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function remove(req, res, next) {
+ gameService
+ .remove(req,res,next)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+
+function read(req, res, next) {
+ gameService
+ .read(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function readAll(req, res, next) {
+ gameService
+ .readAll(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function readAllCancle(req, res, next) {
+ gameService
+ .readAllCancle(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function readAllCancle1(req, res, next) {
+ gameService
+ .readAllCancle1(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function readAllSuccess(req, res, next) {
+ gameService
+ .readAllSuccess(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function unsolvedGame(req, res, next) {
+ gameService
+ .unsolvedGame(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+
+
+module.exports = router;
diff --git a/controllers/game2.controller.js b/controllers/game2.controller.js
new file mode 100644
index 000000000..960e33fa3
--- /dev/null
+++ b/controllers/game2.controller.js
@@ -0,0 +1,124 @@
+const express = require("express");
+const router = express.Router();
+const gameService = require("../service/game2.service");
+
+router.get("/:id", read);
+router.get("/runing/:Userid", readRuningGame);
+router.get("/runing1/:Userid", readRuningGame1);
+router.get("/runing2/:Userid", readRuningGame2);
+router.get("/runing3/:Userid", readRuningGame3);
+router.get("/runing4/:Userid", readRuningGame4);
+router.get("/runing5/:Userid", readRuningGame5);
+router.get("/", readAll);
+router.post("/cancel", readAllCancle);
+router.post("/success", readAllSuccess);
+router.post("/user/status", readByUser);
+router.post("/", add);
+router.put("/:id", update);
+router.delete("/:id", remove);
+router.post("/report", successGameReport);
+router.post("/report2", cancelGameReport);
+
+function readByUser(req, res, next) {
+ gameService
+ .readByUser(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+
+
+
+function add(req, res, next) {
+ console.log(req.body)
+ gameService
+ .add(req,res)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function update(req, res, next) {
+ gameService
+ .update(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function remove(req, res, next) {
+ gameService
+ .remove(req,res,next)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+
+function read(req, res, next) {
+ gameService
+ .read(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function readRuningGame(req, res, next) {
+ gameService
+ .readRuningGame(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function readRuningGame1(req, res, next) {
+ gameService
+ .readRuningGame1(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function readRuningGame2(req, res, next) {
+ gameService
+ .readRuningGame2(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function readRuningGame3(req, res, next) {
+ gameService
+ .readRuningGame3(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function readRuningGame4(req, res, next) {
+ gameService
+ .readRuningGame4(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function readRuningGame5(req, res, next) {
+ gameService
+ .readRuningGame5(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function readAll(req, res, next) {
+ gameService
+ .readAll(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function readAllCancle(req, res, next) {
+ gameService
+ .readAllCancle(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function readAllSuccess(req, res, next) {
+ gameService
+ .readAllSuccess(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function successGameReport(req, res, next) {
+ gameService
+ .successGameReport(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function cancelGameReport(req, res, next) {
+ gameService
+ .cancelGameReport(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+
+module.exports = router;
diff --git a/controllers/game2F.controller.js b/controllers/game2F.controller.js
new file mode 100644
index 000000000..e538b45a7
--- /dev/null
+++ b/controllers/game2F.controller.js
@@ -0,0 +1,74 @@
+const express = require("express");
+const router = express.Router();
+const gameService = require("../service/game2F.service");
+
+router.get("/:id", read);
+router.get("/", readAll);
+router.post("/cancel", readAllCancle);
+router.post("/cancel1", readAllCancle1);
+router.post("/success", readAllSuccess);
+router.post("/", add);
+router.put("/:id", update);
+router.delete("/:id", remove);
+router.post("/report", unsolvedGame);
+
+
+function add(req, res, next) {
+ console.log(req.body)
+ gameService
+ .add(req,res)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function update(req, res, next) {
+ gameService
+ .update(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function remove(req, res, next) {
+ gameService
+ .remove(req,res,next)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+
+function read(req, res, next) {
+ gameService
+ .read(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function readAll(req, res, next) {
+ gameService
+ .readAll(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function readAllCancle(req, res, next) {
+ gameService
+ .readAllCancle(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function readAllCancle1(req, res, next) {
+ gameService
+ .readAllCancle1(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function readAllSuccess(req, res, next) {
+ gameService
+ .readAllSuccess(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function unsolvedGame(req, res, next) {
+ gameService
+ .unsolvedGame(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+
+
+module.exports = router;
diff --git a/controllers/login.controller.js b/controllers/login.controller.js
new file mode 100644
index 000000000..e6dc8beb2
--- /dev/null
+++ b/controllers/login.controller.js
@@ -0,0 +1,20 @@
+const express = require("express");
+const loginService = require("../service/login.service");
+const router = express.Router();
+
+router.post("/", validate);
+router.post("/mobile", readByMobile);
+
+function validate(req, res, next) {
+ loginService
+ .validate(req,res)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function readByMobile(req, res, next) {
+ loginService
+ .readByMobile(req,res)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+module.exports = router;
diff --git a/controllers/masterLogin.controller.js b/controllers/masterLogin.controller.js
new file mode 100644
index 000000000..702572952
--- /dev/null
+++ b/controllers/masterLogin.controller.js
@@ -0,0 +1,20 @@
+const express = require("express");
+const masterLoginService = require("../service/masterLogin.service");
+const router = express.Router();
+
+router.post("/", validate);
+router.post("/mobile", readByMobile);
+
+function validate(req, res, next) {
+ masterLoginService
+ .validate(req,res)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function readByMobile(req, res, next) {
+ masterLoginService
+ .readByMobile(req,res)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+module.exports = router;
diff --git a/controllers/masterimport.controller.js b/controllers/masterimport.controller.js
new file mode 100644
index 000000000..2bdc3eb48
--- /dev/null
+++ b/controllers/masterimport.controller.js
@@ -0,0 +1,24 @@
+const express = require("express");
+const router = express.Router();
+const masterImportService = require("../service/masterimport.service");
+
+
+router.post("/", add);
+router.post("/citeis", citeis);
+
+
+function add(req, res, next) {
+ masterImportService
+ .bulkStateSave(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function citeis(req, res, next) {
+ masterImportService
+ .bulkCitySave(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+
+
+module.exports = router;
diff --git a/controllers/member.controller.js b/controllers/member.controller.js
new file mode 100644
index 000000000..0d7d9d15e
--- /dev/null
+++ b/controllers/member.controller.js
@@ -0,0 +1,94 @@
+const express = require("express");
+const router = express.Router();
+const memberService = require("../service/member.service");
+
+router.get("/:id", read);
+router.get("/", readAll);
+router.post("/deleted", deletedMember);
+router.post("/", add);
+router.put("/:id", update);
+router.put("/update/:id", update1);
+router.delete("/:id", remove);
+router.get("/user/:_id", readByUser);
+router.post("/user1/:_id", readByUser1);
+router.get("/user2/:_id", readByUser2);
+router.post("/report", userCountReport);
+router.post("/refral", readByReferalCode);
+
+function readByUser(req, res, next) {
+ memberService
+ .readByUser(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function readByUser2(req, res, next) {
+ memberService
+ .readByUser2(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function readByUser1(req, res, next) {
+ memberService
+ .readByUser1(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+
+function add(req, res, next) {
+ console.log(req.body);
+ memberService
+ .add(req, res)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function update(req, res, next) {
+ memberService
+ .update(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function update1(req, res, next) {
+ memberService
+ .update1(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function remove(req, res, next) {
+ memberService
+ .remove(req, res, next)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+
+function read(req, res, next) {
+ memberService
+ .read(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function readAll(req, res, next) {
+ memberService
+ .readAll(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function deletedMember(req, res, next) {
+ memberService
+ .deletedMember(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function userCountReport(req, res, next) {
+ memberService
+ .userCountReport(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function readByReferalCode(req, res, next) {
+ memberService
+ .readByReferalCode(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+
+module.exports = router;
diff --git a/controllers/mobileSms.controller.js b/controllers/mobileSms.controller.js
new file mode 100644
index 000000000..6261adb54
--- /dev/null
+++ b/controllers/mobileSms.controller.js
@@ -0,0 +1,23 @@
+const express = require("express");
+const router = express.Router();
+
+const sendEmail1 = require("../service/mobileSms");
+
+router.post("/send", send);
+router.get("/", readAll);
+
+function send(req, res, next) {
+ console.log(req.body)
+ sendEmail1
+ .sendEmail(req,res)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+ }
+ function readAll(req, res, next) {
+ sendEmail1
+ .readAll(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+ }
+
+module.exports = router;
diff --git a/controllers/orderId.controller.js b/controllers/orderId.controller.js
new file mode 100644
index 000000000..0e65a79cc
--- /dev/null
+++ b/controllers/orderId.controller.js
@@ -0,0 +1,41 @@
+const express = require("express");
+const router = express.Router();
+const orderIdService = require("../service/orderId.service");
+
+router.get("/:id", read);
+router.get("/", readAll);
+router.post("/", add);
+router.put("/:id", update);
+
+
+function add(req, res, next) {
+ console.log(req.body)
+ orderIdService
+ .add(req,res)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function update(req, res, next) {
+ orderIdService
+ .update(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+
+
+function read(req, res, next) {
+ orderIdService
+ .read(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function readAll(req, res, next) {
+ orderIdService
+ .readAll(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+
+
+
+module.exports = router;
diff --git a/controllers/packages.controller.js b/controllers/packages.controller.js
new file mode 100644
index 000000000..c8b0ef768
--- /dev/null
+++ b/controllers/packages.controller.js
@@ -0,0 +1,45 @@
+const express = require("express");
+const router = express.Router();
+const packageService = require("../service/packages.services");
+
+router.get("/:id", read);
+router.get("/", readAll);
+router.post("/", add);
+router.put("/:id", update);
+router.delete("/:id", remove);
+
+function add(req, res, next) {
+ console.log(req.body)
+ packageService
+ .add(req,res)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function update(req, res, next) {
+ packageService
+ .update(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function remove(req, res, next) {
+ packageService
+ .remove(req,res,next)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+
+function read(req, res, next) {
+ packageService
+ .read(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function readAll(req, res, next) {
+ packageService
+ .readAll(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+
+
+module.exports = router;
diff --git a/controllers/payment.controller.js b/controllers/payment.controller.js
new file mode 100644
index 000000000..2d4d9dc84
--- /dev/null
+++ b/controllers/payment.controller.js
@@ -0,0 +1,67 @@
+const express = require("express");
+const router = express.Router();
+const paymentService = require("../service/payment.service");
+
+router.get("/:id", read);
+router.get("/", readAll);
+router.get("/user/:userid", readByUser);
+router.post("/", add);
+router.put("/:id", update);
+router.delete("/:id", remove);
+router.post("/report", reachargeReport);
+router.post("/report2", reachargeReport2);
+
+
+function readByUser(req, res, next) {
+ paymentService
+ .readByUser(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function add(req, res, next) {
+ console.log(req.body)
+ paymentService
+ .add(req,res)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function update(req, res, next) {
+ paymentService
+ .update(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function remove(req, res, next) {
+ paymentService
+ .remove(req,res,next)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+
+function read(req, res, next) {
+ paymentService
+ .read(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function readAll(req, res, next) {
+ paymentService
+ .readAll(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function reachargeReport(req, res, next) {
+ paymentService
+ .reachargeReport(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function reachargeReport2(req, res, next) {
+ paymentService
+ .reachargeReport2(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+
+
+module.exports = router;
diff --git a/controllers/profit.controller.js b/controllers/profit.controller.js
new file mode 100644
index 000000000..cff326e7a
--- /dev/null
+++ b/controllers/profit.controller.js
@@ -0,0 +1,48 @@
+const express = require("express");
+const router = express.Router();
+const profitService = require("../service/profit.service");
+
+router.get("/:id", read);
+router.get("/", readAll);
+router.post("/", add);
+router.put("/:id", update);
+router.post("/report", profitReport);
+
+
+
+function add(req, res, next) {
+ console.log(req.body)
+ profitService
+ .add(req,res)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function update(req, res, next) {
+ profitService
+ .update(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+
+
+function read(req, res, next) {
+ profitService
+ .read(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function readAll(req, res, next) {
+ profitService
+ .readAll(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+
+function profitReport(req, res, next) {
+ profitService
+ .profitReport(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+
+module.exports = router;
diff --git a/controllers/role.controller.js b/controllers/role.controller.js
new file mode 100644
index 000000000..d699e4fef
--- /dev/null
+++ b/controllers/role.controller.js
@@ -0,0 +1,53 @@
+const express = require("express");
+const router = express.Router();
+const roleService = require("../service/role.service");
+
+router.get("/:id", read);
+router.get("/", readAll);
+router.get("/state/:stateId", readByState);
+router.post("/", add);
+router.put("/:id", update);
+router.delete("/:id", remove);
+
+
+
+function add(req, res, next) {
+ console.log(req.body)
+ roleService
+ .add(req,res)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function update(req, res, next) {
+ roleService
+ .update(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function remove(req, res, next) {
+ roleService
+ .remove(req,res,next)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+
+function read(req, res, next) {
+ roleService
+ .read(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function readAll(req, res, next) {
+ roleService
+ .readAll(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function readByState(req, res, next) {
+ roleService
+ .readByState(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+
+module.exports = router;
diff --git a/controllers/sendNotification.controller.js b/controllers/sendNotification.controller.js
new file mode 100644
index 000000000..2cb323133
--- /dev/null
+++ b/controllers/sendNotification.controller.js
@@ -0,0 +1,21 @@
+const express = require("express");
+const router = express.Router();
+const subscriptionService = require("../service/sendNotification.service");
+
+
+router.post("/", send);
+
+
+
+
+
+function send(req, res, next) {
+ console.log(req.body)
+ subscriptionService
+ .send(req,res)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+
+
+module.exports = router;
diff --git a/controllers/subscriptions.controller.js b/controllers/subscriptions.controller.js
new file mode 100644
index 000000000..46c4d3d3b
--- /dev/null
+++ b/controllers/subscriptions.controller.js
@@ -0,0 +1,48 @@
+const express = require("express");
+const router = express.Router();
+const subscriptionService = require("../service/subscribedUser.service");
+
+router.get("/:id", read);
+router.get("/", readAll);
+router.post("/active/", readByState);
+router.post("/", add);
+
+router.delete("/:id", remove);
+
+
+
+function add(req, res, next) {
+ console.log(req.body)
+ subscriptionService
+ .add(req,res)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+
+function remove(req, res, next) {
+ subscriptionService
+ .remove(req,res,next)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+
+function read(req, res, next) {
+ subscriptionService
+ .read(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function readAll(req, res, next) {
+ subscriptionService
+ .readAll(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function readByState(req, res, next) {
+ subscriptionService
+ .readByState(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+
+module.exports = router;
diff --git a/controllers/upi.controller.js b/controllers/upi.controller.js
new file mode 100644
index 000000000..cf60d7da4
--- /dev/null
+++ b/controllers/upi.controller.js
@@ -0,0 +1,53 @@
+const express = require("express");
+const router = express.Router();
+const upiService = require("../service/upi.service");
+
+router.get("/:id", read);
+router.get("/", readAll);
+router.post("/active/", readByState);
+router.post("/", add);
+router.put("/:id", update);
+router.delete("/:id", remove);
+
+
+
+function add(req, res, next) {
+ console.log(req.body)
+ upiService
+ .add(req,res)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function update(req, res, next) {
+ upiService
+ .update(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function remove(req, res, next) {
+ upiService
+ .remove(req,res,next)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+
+function read(req, res, next) {
+ upiService
+ .read(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function readAll(req, res, next) {
+ upiService
+ .readAll(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function readByState(req, res, next) {
+ upiService
+ .readByState(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+
+module.exports = router;
diff --git a/controllers/wallet.controller.js b/controllers/wallet.controller.js
new file mode 100644
index 000000000..25ef19564
--- /dev/null
+++ b/controllers/wallet.controller.js
@@ -0,0 +1,41 @@
+const express = require("express");
+const router = express.Router();
+const walletService = require("../service/wallet.service");
+
+router.get("/:id", read);
+router.get("/", readAll);
+router.post("/", add);
+router.put("/:id", update);
+
+
+
+function add(req, res, next) {
+ console.log(req.body)
+ walletService
+ .add(req,res)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function update(req, res, next) {
+ walletService
+ .update(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+
+
+function read(req, res, next) {
+ walletService
+ .read(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function readAll(req, res, next) {
+ walletService
+ .readAll(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+
+
+module.exports = router;
diff --git a/controllers/withdraw.controller.js b/controllers/withdraw.controller.js
new file mode 100644
index 000000000..20d4fad42
--- /dev/null
+++ b/controllers/withdraw.controller.js
@@ -0,0 +1,61 @@
+const express = require("express");
+const router = express.Router();
+const withdrawService = require("../service/withdraw.service");
+
+router.get("/:id", read);
+router.get("/", readAll);
+router.get("/user/:userid", readByUser);
+router.post("/", add);
+router.put("/:id", update);
+router.post("/report", reachargeReport);
+router.post("/report2", reachargeReport2);
+
+
+function readByUser(req, res, next) {
+ withdrawService
+ .readByUser(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function add(req, res, next) {
+ console.log(req.body)
+ withdrawService
+ .add(req,res)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function update(req, res, next) {
+ withdrawService
+ .update(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+
+
+function read(req, res, next) {
+ withdrawService
+ .read(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function readAll(req, res, next) {
+ withdrawService
+ .readAll(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function reachargeReport(req, res, next) {
+ withdrawService
+ .reachargeReport(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+function reachargeReport2(req, res, next) {
+ withdrawService
+ .reachargeReport2(req)
+ .then((data) => res.send(data))
+ .catch((err) => next(err));
+}
+
+
+module.exports = router;
diff --git a/copyserver.js b/copyserver.js
new file mode 100644
index 000000000..2b4bd722b
--- /dev/null
+++ b/copyserver.js
@@ -0,0 +1,66 @@
+const express = require('express')
+const cors = require('cors')
+const bodyParser = require('body-parser')
+const errorHandler = require('./_helpers/error-handler')
+const environment = require('./environment')
+const PORT = process.env.PORT || 6001
+const swaggerUi = require('swagger-ui-express');
+const swaggerDocument = require('./swagger.json');
+
+const app = express()
+
+app.use('/api-docs', swaggerUi.serve);
+app.get('/api-docs', swaggerUi.setup(swaggerDocument));
+
+app.use(bodyParser.urlencoded({ extended: false }))
+app.use(bodyParser.json())
+app.use(cors({
+ origin: '*'
+}));
+app.get('/', (req, res) => {
+ console.log('Welcome to NODE API (Port: ' + PORT + ' , Environment: ' + environment.env + ')')
+ res.send('Welcome to NODE API (Port: ' + PORT + ' , Environment: ' + environment.env + ')')
+})
+
+
+app.use('/member', require('./controllers/member.controller'))
+app.use('/admin', require('./controllers/admin.controller'))
+app.use('/login', require('./controllers/login.controller'))
+app.use('/masterLogin', require('./controllers/masterLogin.controller'))
+app.use('/role', require('./controllers/role.controller'))
+app.use('/email', require('./controllers/emailRoutes'))
+app.use('/upi', require('./controllers/upi.controller'))
+app.use('/wallet', require('./controllers/wallet.controller'))
+app.use('/withdraw', require('./controllers/withdraw.controller'))
+app.use('/payment', require('./controllers/payment.controller'))
+app.use('/game', require('./controllers/game.controller'))
+app.use('/game2', require('./controllers/game2.controller'))
+app.use('/sms', require('./controllers/mobileSms.controller'))
+app.use('/feedback', require('./controllers/feedback.controller'))
+app.use('/packages', require('./controllers/packages.controller'))
+app.use('/game1F', require('./controllers/game1F.controller'))
+app.use('/game2F', require('./controllers/game2F.controller'))
+app.use('/profit', require('./controllers/profit.controller'))
+app.use('/orderId', require('./controllers/orderId.controller'))
+
+
+
+app.use('/roomeCode', require('./service/roomCode'))
+
+
+
+
+
+
+app.use('/upload', require('./fileUpload'))
+
+
+
+app.use('/masterimport', require('./controllers/masterimport.controller'))
+
+
+app.use(errorHandler)
+
+app.listen(PORT, () => {
+ console.log(`Server started on port ${PORT} , Environment: ${environment.env}`)
+})
diff --git a/email.js b/email.js
new file mode 100644
index 000000000..4cd96f766
--- /dev/null
+++ b/email.js
@@ -0,0 +1,24 @@
+var nodemailer = require('nodemailer');
+
+var transporter = nodemailer.createTransport({
+ service: 'gmail',
+ auth: {
+ user: 'orbotsoftwares@gmail.com',
+ pass: 'orbot@1212'
+ }
+});
+
+var mailOptions = {
+ from: 'orbotsoftwares@gmail.com',
+ to: 'ashfakshikh@gmail.com',
+ subject: 'Sending Email using Node.js',
+ text: 'That was easy!'
+};
+
+transporter.sendMail(mailOptions, function(error, info){
+ if (error) {
+ console.log(error);
+ } else {
+ console.log('Email sent: ' + info.response);
+ }
+});
\ No newline at end of file
diff --git a/env.sample b/env.sample
deleted file mode 100644
index fafbde598..000000000
--- a/env.sample
+++ /dev/null
@@ -1,2 +0,0 @@
-CYCLIC_DB=some-long-app-nameCyclicDB
-BUCKET=cyclic-some-long-app-name-id-direction-1
diff --git a/environment.js b/environment.js
new file mode 100644
index 000000000..0e21cf831
--- /dev/null
+++ b/environment.js
@@ -0,0 +1,12 @@
+const dev = {
+ env: process.env.NODE_ENV,
+//mongoDbConnectionString: "mongodb://127.0.0.1:27017/realludoking",
+mongoDbConnectionString: "mongodb+srv://orbot:orbot@1212@cluster0.grnzrng.mongodb.net/realludoclub",
+//mongoDbConnectionString: "mongodb+srv://orbot:orbot@1212@cluster0.grnzrng.mongodb.net/ludokingjaipur",
+}
+
+
+const environment = dev
+
+
+module.exports = environment
diff --git a/fileUpload.js b/fileUpload.js
new file mode 100644
index 000000000..037476208
--- /dev/null
+++ b/fileUpload.js
@@ -0,0 +1,41 @@
+const express = require("express");
+const db = require("./_helpers/db");
+const multer = require('multer');
+const router = express.Router();
+
+const dbRole = db.role;
+var filePath ;
+// Set up Multer storage
+const storage = multer.diskStorage({
+ destination: (req, file, cb) => {
+ // Define the destination directory where files will be saved
+ cb(null, 'uploads/');
+ },
+ filename: (req, file, cb) => {
+ // Define the filename for the saved file
+ filePath = file.fieldname + '-' + Date.now() + '-' + file.originalname
+ cb(null, filePath);
+
+ },
+
+
+}
+);
+
+// Create Multer instance with the configured storage
+const upload = multer({ storage: storage });
+router.post('/', upload.single('file'), (req, res) => {
+ var data ={
+ data: filePath, responseCode: 1, responseMessage: "success"
+ }
+ res.send(data);
+ console.log(filePath)
+ })
+ router.get(`/:filename`, (req, res) => {
+ console.log("hii")
+ const filename = req.params.filename;
+ console.log(`${__dirname}/uploads/${filename}`)
+ res.sendFile(`${__dirname}/uploads/${filename}`);
+ });
+
+module.exports = router
diff --git a/ind.js b/ind.js
new file mode 100644
index 000000000..d695e584d
--- /dev/null
+++ b/ind.js
@@ -0,0 +1,19 @@
+const axios = require('axios');
+
+const options = {
+ method: 'GET',
+ url: 'https://ludo-king-room-code-api.p.rapidapi.com/global/checkroom',
+ params: {code: 'roomcode'},
+ headers: {
+ 'X-RapidAPI-Key': '679a1295edmsh06a539c0ebb34d3p1bf229jsnf3d26418d766',
+ 'X-RapidAPI-Host': 'ludo-king-room-code-api.p.rapidapi.com'
+ }
+};
+
+try {
+ const response = axios.request(options);
+ console.log("response.data");
+ console.log(response.data);
+} catch (error) {
+ //console.error("error",error);
+}
\ No newline at end of file
diff --git a/index.js b/index.js
deleted file mode 100644
index 75bad146a..000000000
--- a/index.js
+++ /dev/null
@@ -1,72 +0,0 @@
-const express = require('express')
-const app = express()
-const db = require('@cyclic.sh/dynamodb')
-
-app.use(express.json())
-app.use(express.urlencoded({ extended: true }))
-
-// #############################################################################
-// This configures static hosting for files in /public that have the extensions
-// listed in the array.
-// var options = {
-// dotfiles: 'ignore',
-// etag: false,
-// extensions: ['htm', 'html','css','js','ico','jpg','jpeg','png','svg'],
-// index: ['index.html'],
-// maxAge: '1m',
-// redirect: false
-// }
-// app.use(express.static('public', options))
-// #############################################################################
-
-// Create or Update an item
-app.post('/:col/:key', async (req, res) => {
- console.log(req.body)
-
- const col = req.params.col
- const key = req.params.key
- console.log(`from collection: ${col} delete key: ${key} with params ${JSON.stringify(req.params)}`)
- const item = await db.collection(col).set(key, req.body)
- console.log(JSON.stringify(item, null, 2))
- res.json(item).end()
-})
-
-// Delete an item
-app.delete('/:col/:key', async (req, res) => {
- const col = req.params.col
- const key = req.params.key
- console.log(`from collection: ${col} delete key: ${key} with params ${JSON.stringify(req.params)}`)
- const item = await db.collection(col).delete(key)
- console.log(JSON.stringify(item, null, 2))
- res.json(item).end()
-})
-
-// Get a single item
-app.get('/:col/:key', async (req, res) => {
- const col = req.params.col
- const key = req.params.key
- console.log(`from collection: ${col} get key: ${key} with params ${JSON.stringify(req.params)}`)
- const item = await db.collection(col).get(key)
- console.log(JSON.stringify(item, null, 2))
- res.json(item).end()
-})
-
-// Get a full listing
-app.get('/:col', async (req, res) => {
- const col = req.params.col
- console.log(`list collection: ${col} with params: ${JSON.stringify(req.params)}`)
- const items = await db.collection(col).list()
- console.log(JSON.stringify(items, null, 2))
- res.json(items).end()
-})
-
-// Catch all handler for all other request.
-app.use('*', (req, res) => {
- res.json({ msg: 'no route handler found' }).end()
-})
-
-// Start the server
-const port = process.env.PORT || 3000
-app.listen(port, () => {
- console.log(`index.js listening on ${port}`)
-})
diff --git a/lightsail-cmd b/lightsail-cmd
new file mode 100644
index 000000000..f97e3efe2
--- /dev/null
+++ b/lightsail-cmd
@@ -0,0 +1,17 @@
+
+
+cat vhost.conf
+cp vhost.conf /opt/bitnami/apache/conf/vhosts/
+cd /opt/bitnami/apache/conf/
+ls
+tail httpd.conf
+apachectl configtest
+sudo /opt/bitnami/ctlscript.sh restart apache
+apachectl -S
+
+
+
+sudo /opt/bitnami/bncert-tool
+
+ls /opt/bitnami/apache/conf/
+
diff --git a/models/admin.model.js b/models/admin.model.js
new file mode 100644
index 000000000..6c366a881
--- /dev/null
+++ b/models/admin.model.js
@@ -0,0 +1,29 @@
+const mongoose = require("mongoose");
+const Schema = mongoose.Schema;
+const autoIncrementModelID = require("./counterModel");
+
+const Admin = new Schema({
+ id: { type: Number, unique: true, min: 1 },
+ name: {
+ type: String,
+ required: true,
+ max: [127, "Max Length is 127 characters"],
+ },
+ mobile: { type: String, unique: true, max: [10] },
+ email: { type: String },
+ registerDate: { type: Date },
+ password: { type: String },
+ isDeleted: { type: Boolean },
+
+ role: { type: String },
+});
+
+Admin.pre("save", function (next) {
+ if (!this.isNew) {
+ next();
+ return;
+ }
+ autoIncrementModelID("admin", this, next);
+});
+
+module.exports = mongoose.model("admin", Admin);
diff --git a/models/counterModel.js b/models/counterModel.js
new file mode 100644
index 000000000..8ddb6644e
--- /dev/null
+++ b/models/counterModel.js
@@ -0,0 +1,29 @@
+var mongoose = require("mongoose");
+var Schema = mongoose.Schema;
+
+const counterSchema = new Schema({
+ _id: { type: String, required: true },
+ seq: { type: Number, default: 0 },
+});
+
+counterSchema.index({ _id: 1, seq: 1 }, { unique: true });
+
+const counterModel = mongoose.model("counter", counterSchema);
+
+const autoIncrementModelID = function (modelName, doc, next) {
+ counterModel.findByIdAndUpdate(
+ // ** Method call begins **
+ modelName, // The ID to find for in counters model
+ { $inc: { seq: 1 } }, // The update
+ { new: true, upsert: true }, // The options
+ function (error, counter) {
+ // The callback
+ if (error) return next(error);
+
+ doc.id = counter.seq;
+ next();
+ }
+ ); // ** Method call ends **
+};
+
+module.exports = autoIncrementModelID;
diff --git a/models/defaultUserSetting.js b/models/defaultUserSetting.js
new file mode 100644
index 000000000..dcaff4328
--- /dev/null
+++ b/models/defaultUserSetting.js
@@ -0,0 +1,24 @@
+const mongoose = require("mongoose");
+const Schema = mongoose.Schema;
+const autoIncrementModelID = require("./counterModel");
+
+const DefaultUserSetting = new Schema({
+ id: { type: String, unique: true, min: 1 },
+ companyId: { type: Schema.Types.ObjectId, ref: 'company' },
+ userId: { type: Number, required: true },
+ snf: { type: Number },
+ fat: { type: Number },
+ dateFormate: { type: String },
+ showCompanyName: { type: String },
+ showUserName: { type: String },
+});
+
+DefaultUserSetting.pre("save", function (next) {
+ if (!this.isNew) {
+ next();
+ return;
+ }
+ autoIncrementModelID("DefaultUserSetting", this, next);
+});
+
+module.exports = mongoose.model("DefaultUserSetting", DefaultUserSetting);
diff --git a/models/feedback.model.js b/models/feedback.model.js
new file mode 100644
index 000000000..499492ee1
--- /dev/null
+++ b/models/feedback.model.js
@@ -0,0 +1,25 @@
+const mongoose = require("mongoose");
+const Schema = mongoose.Schema;
+const autoIncrementModelID = require("./counterModel");
+
+const Feedback = new Schema({
+ id: { type: Number, unique: true, min: 1 },
+ message: {
+ type: String,
+ required: true,
+ max: [127, "Max Length is 127 characters"],
+ },
+ messageDate: { type: Date },
+
+ memberId: { type: Schema.Types.ObjectId, ref: 'members' },
+});
+
+Feedback.pre("save", function (next) {
+ if (!this.isNew) {
+ next();
+ return;
+ }
+ autoIncrementModelID("feedback", this, next);
+});
+
+module.exports = mongoose.model("feedback", Feedback);
diff --git a/models/game.model.js b/models/game.model.js
new file mode 100644
index 000000000..8907508ab
--- /dev/null
+++ b/models/game.model.js
@@ -0,0 +1,31 @@
+const mongoose = require("mongoose");
+const Schema = mongoose.Schema;
+const autoIncrementModelID = require("./counterModel");
+
+const Game = new Schema({
+ id: { type: String, unique: true, min: 1 },
+ gameDate: { type: Date },
+ gameJoinedDate: { type: Date },
+ player1: { type: Schema.Types.ObjectId, ref: "members" },
+ player2: { type: Schema.Types.ObjectId, ref: "members" },
+ status:{ type: String},
+ player1Status:{ type: String},
+ player2Status:{ type: String},
+ froudStatus:{ type: Boolean},
+ winner:{ type: String},
+ gameAmount:{ type: Number},
+ playerCount:{type:Number},
+ winningAmount:{type:Number},
+ roomCode:{type:String},
+ debitAmount:{type:Boolean},
+});
+
+Game.pre("save", function (next) {
+ if (!this.isNew) {
+ next();
+ return;
+ }
+ autoIncrementModelID("game", this, next);
+});
+
+module.exports = mongoose.model("game", Game);
diff --git a/models/game1F.model.js b/models/game1F.model.js
new file mode 100644
index 000000000..be62f037e
--- /dev/null
+++ b/models/game1F.model.js
@@ -0,0 +1,27 @@
+const mongoose = require("mongoose");
+const Schema = mongoose.Schema;
+const autoIncrementModelID = require("./counterModel");
+
+const Game1F = new Schema({
+ id: { type: String, unique: true, min: 1 },
+ gameFDate: { type: Date },
+ player1: { type: Schema.Types.ObjectId, ref: "members" },
+ player2: { type: Schema.Types.ObjectId, ref: "members" },
+ game: { type: Schema.Types.ObjectId, ref: "game" },
+ status:{ type: String},
+ reporter:{ type: Schema.Types.ObjectId, ref: "members" },
+ gameAmount:{ type: Number},
+ winningAmount:{type:Number},
+ roomCode:{type:Number},
+ image:{type:String},
+});
+
+Game1F.pre("save", function (next) {
+ if (!this.isNew) {
+ next();
+ return;
+ }
+ autoIncrementModelID("game1F", this, next);
+});
+
+module.exports = mongoose.model("game1F", Game1F);
diff --git a/models/game2.model.js b/models/game2.model.js
new file mode 100644
index 000000000..10587c389
--- /dev/null
+++ b/models/game2.model.js
@@ -0,0 +1,32 @@
+const mongoose = require("mongoose");
+const Schema = mongoose.Schema;
+const autoIncrementModelID = require("./counterModel");
+
+const Game2 = new Schema({
+ id: { type: String, unique: true, min: 1 },
+ gameDate: { type: Date },
+ gameJoinedDate: { type: Date },
+
+ player1: { type: Schema.Types.ObjectId, ref: "members" },
+ player2: { type: Schema.Types.ObjectId, ref: "members" },
+ status:{ type: String},
+ player1Status:{ type: String},
+ player2Status:{ type: String},
+ froudStatus:{ type: Boolean},
+ winner:{ type: String},
+ gameAmount:{ type: Number},
+ playerCount:{type:Number},
+ winningAmount:{type:Number},
+ roomCode:{type:String},
+ debitAmount:{type:Boolean},
+});
+
+Game2.pre("save", function (next) {
+ if (!this.isNew) {
+ next();
+ return;
+ }
+ autoIncrementModelID("game2", this, next);
+});
+
+module.exports = mongoose.model("game2", Game2);
diff --git a/models/game2F.model.js b/models/game2F.model.js
new file mode 100644
index 000000000..676128bbb
--- /dev/null
+++ b/models/game2F.model.js
@@ -0,0 +1,27 @@
+const mongoose = require("mongoose");
+const Schema = mongoose.Schema;
+const autoIncrementModelID = require("./counterModel");
+
+const Game2F = new Schema({
+ id: { type: String, unique: true, min: 1 },
+ gameFDate: { type: Date },
+ player1: { type: Schema.Types.ObjectId, ref: "members" },
+ player2: { type: Schema.Types.ObjectId, ref: "members" },
+ game: { type: Schema.Types.ObjectId, ref: "game2" },
+ status:{ type: String},
+ reporter:{ type: Schema.Types.ObjectId, ref: "members" },
+ gameAmount:{ type: Number},
+ winningAmount:{type:Number},
+ roomCode:{type:Number},
+ image:{type:String},
+});
+
+Game2F.pre("save", function (next) {
+ if (!this.isNew) {
+ next();
+ return;
+ }
+ autoIncrementModelID("game2F", this, next);
+});
+
+module.exports = mongoose.model("game2F", Game2F);
diff --git a/models/member.model.js b/models/member.model.js
new file mode 100644
index 000000000..55a06c397
--- /dev/null
+++ b/models/member.model.js
@@ -0,0 +1,31 @@
+const mongoose = require("mongoose");
+const Schema = mongoose.Schema;
+const autoIncrementModelID = require("./counterModel");
+
+const Member = new Schema({
+ id: { type: Number, unique: true, min: 1 },
+ name: {
+ type: String,
+ required: true,
+ max: [127, "Max Length is 127 characters"],
+ },
+ mobile: { type: String, unique: true, max: [10] },
+ email: { type: String },
+ registerDate: { type: Date },
+ password: { type: String },
+ memberReferCode: { type: String },
+ referCode: { type: String },
+ isDeleted: { type: Boolean },
+ wallet: { type: Schema.Types.ObjectId, ref: "wallet" },
+
+});
+
+Member.pre("save", function (next) {
+ if (!this.isNew) {
+ next();
+ return;
+ }
+ autoIncrementModelID("members", this, next);
+});
+
+module.exports = mongoose.model("members", Member);
diff --git a/models/orderId.model.js b/models/orderId.model.js
new file mode 100644
index 000000000..dab900b21
--- /dev/null
+++ b/models/orderId.model.js
@@ -0,0 +1,19 @@
+const mongoose = require("mongoose");
+const Schema = mongoose.Schema;
+const autoIncrementModelID = require("./counterModel");
+
+const OrderId = new Schema({
+ id: { type: String, unique: true, min: 1 },
+ orderId:{type:Number}
+
+});
+
+OrderId.pre("save", function (next) {
+ if (!this.isNew) {
+ next();
+ return;
+ }
+ autoIncrementModelID("orderId", this, next);
+});
+
+module.exports = mongoose.model("orderId", OrderId);
diff --git a/models/otp.model.js b/models/otp.model.js
new file mode 100644
index 000000000..0df754058
--- /dev/null
+++ b/models/otp.model.js
@@ -0,0 +1,20 @@
+const mongoose = require("mongoose");
+const Schema = mongoose.Schema;
+const autoIncrementModelID = require("./counterModel");
+
+const Otp = new Schema({
+ id: { type: Number, unique: true, min: 1 },
+ mobile: { type: String ,require:true},
+ otp: { type: String ,require:true},
+
+});
+
+Otp.pre("save", function (next) {
+ if (!this.isNew) {
+ next();
+ return;
+ }
+ autoIncrementModelID("otp", this, next);
+});
+
+module.exports = mongoose.model("otp", Otp);
diff --git a/models/packages.model.js b/models/packages.model.js
new file mode 100644
index 000000000..e332c8e74
--- /dev/null
+++ b/models/packages.model.js
@@ -0,0 +1,21 @@
+const mongoose = require("mongoose");
+const Schema = mongoose.Schema;
+const autoIncrementModelID = require("./counterModel");
+
+const Package = new Schema({
+ id: { type: String, unique: true, min: 1 },
+ packageValue:{ type: Number},
+ duration:{ type: String},
+ transactionDate: { type: Date },
+
+});
+
+Package.pre("save", function (next) {
+ if (!this.isNew) {
+ next();
+ return;
+ }
+ autoIncrementModelID("package", this, next);
+});
+
+module.exports = mongoose.model("package", Package);
diff --git a/models/payment.js b/models/payment.js
new file mode 100644
index 000000000..c0a64c18a
--- /dev/null
+++ b/models/payment.js
@@ -0,0 +1,25 @@
+const mongoose = require("mongoose");
+const Schema = mongoose.Schema;
+const autoIncrementModelID = require("./counterModel");
+
+const Payment = new Schema({
+ id: { type: String, unique: true, min: 1 },
+ userId: { type: Number, required: true },
+ transactionDate: { type: Date },
+ member: { type: Schema.Types.ObjectId, ref: "members" },
+ amount:{ type: Number},
+
+ status:{ type: String},
+ orderId:{type:String}
+});
+
+
+Payment.pre("save", function (next) {
+ if (!this.isNew) {
+ next();
+ return;
+ }
+ autoIncrementModelID("payment", this, next);
+});
+
+module.exports = mongoose.model("payment", Payment);
diff --git a/models/profit.js b/models/profit.js
new file mode 100644
index 000000000..9fbdedc57
--- /dev/null
+++ b/models/profit.js
@@ -0,0 +1,19 @@
+const mongoose = require("mongoose");
+const Schema = mongoose.Schema;
+const autoIncrementModelID = require("./counterModel");
+
+const Profit = new Schema({
+ id: { type: String, unique: true, min: 1 },
+ amount:{ type: Number},
+ date:{type:Date}
+});
+
+Profit.pre("save", function (next) {
+ if (!this.isNew) {
+ next();
+ return;
+ }
+ autoIncrementModelID("profit", this, next);
+});
+
+module.exports = mongoose.model("profit", Profit);
diff --git a/models/role.model.js b/models/role.model.js
new file mode 100644
index 000000000..81bea6daa
--- /dev/null
+++ b/models/role.model.js
@@ -0,0 +1,23 @@
+const mongoose = require("mongoose");
+const Schema = mongoose.Schema;
+const autoIncrementModelID = require("./counterModel");
+
+const Role = new Schema({
+ id: { type: Number, unique: true, min: 1 },
+ name: {
+ type: String,
+ required: true,
+ max: [127, "Max Length is 127 characters"],
+ },
+
+});
+
+Role.pre("save", function (next) {
+ if (!this.isNew) {
+ next();
+ return;
+ }
+ autoIncrementModelID("role", this, next);
+});
+
+module.exports = mongoose.model("role", Role);
diff --git a/models/subscribedUser.js b/models/subscribedUser.js
new file mode 100644
index 000000000..2e05cacf8
--- /dev/null
+++ b/models/subscribedUser.js
@@ -0,0 +1,19 @@
+const mongoose = require("mongoose");
+const Schema = mongoose.Schema;
+const autoIncrementModelID = require("./counterModel");
+
+const Subscription = new Schema({
+ id: { type: String, unique: true, min: 1 },
+ subscription:{ type: String , required: true,},
+ member:{ type: Schema.Types.ObjectId, ref: "members" },
+});
+
+Subscription.pre("save", function (next) {
+ if (!this.isNew) {
+ next();
+ return;
+ }
+ autoIncrementModelID("subscriptions", this, next);
+});
+
+module.exports = mongoose.model("subscriptions", Subscription);
diff --git a/models/upi.js b/models/upi.js
new file mode 100644
index 000000000..31fc6779c
--- /dev/null
+++ b/models/upi.js
@@ -0,0 +1,19 @@
+const mongoose = require("mongoose");
+const Schema = mongoose.Schema;
+const autoIncrementModelID = require("./counterModel");
+
+const Upi = new Schema({
+ id: { type: String, unique: true, min: 1 },
+ name:{ type: String},
+ status:{ type: String},
+});
+
+Upi.pre("save", function (next) {
+ if (!this.isNew) {
+ next();
+ return;
+ }
+ autoIncrementModelID("upis", this, next);
+});
+
+module.exports = mongoose.model("upis", Upi);
diff --git a/models/wallet.js b/models/wallet.js
new file mode 100644
index 000000000..01ad3a390
--- /dev/null
+++ b/models/wallet.js
@@ -0,0 +1,25 @@
+const mongoose = require("mongoose");
+const Schema = mongoose.Schema;
+const autoIncrementModelID = require("./counterModel");
+
+const Wallet = new Schema({
+ id: { type: String, unique: true, min: 1 },
+ member: { type: Schema.Types.ObjectId, ref: "members" },
+ amount:{ type: Number},
+ winningAmount:{ type: Number},
+ RefralWinningAmount:{ type: Number},
+ depositeAmount:{ type: Number},
+ bonus:{ type: Number},
+ winningFreezAmount:{ type: Number},
+ totalWinningAmount:{ type: Number},
+});
+
+Wallet.pre("save", function (next) {
+ if (!this.isNew) {
+ next();
+ return;
+ }
+ autoIncrementModelID("wallet", this, next);
+});
+
+module.exports = mongoose.model("wallet", Wallet);
diff --git a/models/withdraw.model.js b/models/withdraw.model.js
new file mode 100644
index 000000000..5718c150d
--- /dev/null
+++ b/models/withdraw.model.js
@@ -0,0 +1,24 @@
+const mongoose = require("mongoose");
+const Schema = mongoose.Schema;
+const autoIncrementModelID = require("./counterModel");
+
+const Withdraw = new Schema({
+ id: { type: String, unique: true, min: 1 },
+ userId: { type: Number, required: true },
+ member: { type: Schema.Types.ObjectId, ref: "members" },
+ amount:{ type: Number},
+ upi:{ type: String},
+ status:{ type: String},
+ transactionDate: { type: Date },
+
+});
+
+Withdraw.pre("save", function (next) {
+ if (!this.isNew) {
+ next();
+ return;
+ }
+ autoIncrementModelID("withdraw", this, next);
+});
+
+module.exports = mongoose.model("withdraw", Withdraw);
diff --git a/myapp-http-vhost.conf b/myapp-http-vhost.conf
new file mode 100644
index 000000000..922c340d7
--- /dev/null
+++ b/myapp-http-vhost.conf
@@ -0,0 +1,17 @@
+
+
+ ServerAlias *
+
+ DocumentRoot "/home/bitnami/htdocs/realludo-api"
+
+
+
+ Require all granted
+
+
+
+ ProxyPass / http://localhost:3000/
+
+ ProxyPassReverse / http://localhost:3000/
+
+
diff --git a/myapp-https-vhost.conf b/myapp-https-vhost.conf
new file mode 100644
index 000000000..ffd8e446d
--- /dev/null
+++ b/myapp-https-vhost.conf
@@ -0,0 +1,12 @@
+
+ ServerAlias *
+ SSLEngine on
+ SSLCertificateFile "/opt/bitnami/apache/conf/bitnami/certs/server.crt"
+ SSLCertificateKeyFile "/opt/bitnami/apache/conf/bitnami/certs/server.key"
+ DocumentRoot "/home/bitnami/htdocs/realludo-api"
+
+ Require all granted
+
+ ProxyPass / http://localhost:3000/
+ ProxyPassReverse / http://localhost:3000/
+
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
deleted file mode 100644
index 7a407504c..000000000
--- a/package-lock.json
+++ /dev/null
@@ -1,4214 +0,0 @@
-{
- "name": "starter-rest-api",
- "version": "1.0.0",
- "lockfileVersion": 2,
- "requires": true,
- "packages": {
- "": {
- "name": "starter-rest-api",
- "version": "1.0.0",
- "license": "ISC",
- "dependencies": {
- "@cyclic.sh/dynamodb": "^0.0.33",
- "env-cmd": "^10.1.0",
- "express": "^4.18.1"
- },
- "devDependencies": {
- "nodemon": "^2.0.22"
- }
- },
- "node_modules/@aws-crypto/ie11-detection": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-2.0.2.tgz",
- "integrity": "sha512-5XDMQY98gMAf/WRTic5G++jfmS/VLM0rwpiOpaainKi4L0nqWMSB1SzsrEG5rjFZGYN6ZAefO+/Yta2dFM0kMw==",
- "dependencies": {
- "tslib": "^1.11.1"
- }
- },
- "node_modules/@aws-crypto/ie11-detection/node_modules/tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
- },
- "node_modules/@aws-crypto/sha256-browser": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-2.0.0.tgz",
- "integrity": "sha512-rYXOQ8BFOaqMEHJrLHul/25ckWH6GTJtdLSajhlqGMx0PmSueAuvboCuZCTqEKlxR8CQOwRarxYMZZSYlhRA1A==",
- "dependencies": {
- "@aws-crypto/ie11-detection": "^2.0.0",
- "@aws-crypto/sha256-js": "^2.0.0",
- "@aws-crypto/supports-web-crypto": "^2.0.0",
- "@aws-crypto/util": "^2.0.0",
- "@aws-sdk/types": "^3.1.0",
- "@aws-sdk/util-locate-window": "^3.0.0",
- "@aws-sdk/util-utf8-browser": "^3.0.0",
- "tslib": "^1.11.1"
- }
- },
- "node_modules/@aws-crypto/sha256-browser/node_modules/tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
- },
- "node_modules/@aws-crypto/sha256-js": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-2.0.0.tgz",
- "integrity": "sha512-VZY+mCY4Nmrs5WGfitmNqXzaE873fcIZDu54cbaDaaamsaTOP1DBImV9F4pICc3EHjQXujyE8jig+PFCaew9ig==",
- "dependencies": {
- "@aws-crypto/util": "^2.0.0",
- "@aws-sdk/types": "^3.1.0",
- "tslib": "^1.11.1"
- }
- },
- "node_modules/@aws-crypto/sha256-js/node_modules/tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
- },
- "node_modules/@aws-crypto/supports-web-crypto": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-2.0.2.tgz",
- "integrity": "sha512-6mbSsLHwZ99CTOOswvCRP3C+VCWnzBf+1SnbWxzzJ9lR0mA0JnY2JEAhp8rqmTE0GPFy88rrM27ffgp62oErMQ==",
- "dependencies": {
- "tslib": "^1.11.1"
- }
- },
- "node_modules/@aws-crypto/supports-web-crypto/node_modules/tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
- },
- "node_modules/@aws-crypto/util": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-2.0.2.tgz",
- "integrity": "sha512-Lgu5v/0e/BcrZ5m/IWqzPUf3UYFTy/PpeED+uc9SWUR1iZQL8XXbGQg10UfllwwBryO3hFF5dizK+78aoXC1eA==",
- "dependencies": {
- "@aws-sdk/types": "^3.110.0",
- "@aws-sdk/util-utf8-browser": "^3.0.0",
- "tslib": "^1.11.1"
- }
- },
- "node_modules/@aws-crypto/util/node_modules/tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
- },
- "node_modules/@aws-sdk/abort-controller": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.78.0.tgz",
- "integrity": "sha512-iz1YLwM2feJUj/y97yO4XmDeTxs+yZ1XJwQgoawKuc8IDBKUutnJNCHL5jL04WUKU7Nrlq+Hr2fCTScFh2z9zg==",
- "dependencies": {
- "@aws-sdk/types": "3.78.0",
- "tslib": "^2.3.1"
- },
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/abort-controller/node_modules/@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ==",
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/client-dynamodb": {
- "version": "3.82.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-dynamodb/-/client-dynamodb-3.82.0.tgz",
- "integrity": "sha512-8w4a+v5iVfX+XSTPRFQOtFRrFkZBStnJR5UUhGoF3kHEY8PTb92I3FDFAa1K2bfcbkZjown/mOF/aWMe+DAgHw==",
- "dependencies": {
- "@aws-crypto/sha256-browser": "2.0.0",
- "@aws-crypto/sha256-js": "2.0.0",
- "@aws-sdk/client-sts": "3.82.0",
- "@aws-sdk/config-resolver": "3.80.0",
- "@aws-sdk/credential-provider-node": "3.82.0",
- "@aws-sdk/fetch-http-handler": "3.78.0",
- "@aws-sdk/hash-node": "3.78.0",
- "@aws-sdk/invalid-dependency": "3.78.0",
- "@aws-sdk/middleware-content-length": "3.78.0",
- "@aws-sdk/middleware-endpoint-discovery": "3.80.0",
- "@aws-sdk/middleware-host-header": "3.78.0",
- "@aws-sdk/middleware-logger": "3.78.0",
- "@aws-sdk/middleware-retry": "3.80.0",
- "@aws-sdk/middleware-serde": "3.78.0",
- "@aws-sdk/middleware-signing": "3.78.0",
- "@aws-sdk/middleware-stack": "3.78.0",
- "@aws-sdk/middleware-user-agent": "3.78.0",
- "@aws-sdk/node-config-provider": "3.80.0",
- "@aws-sdk/node-http-handler": "3.82.0",
- "@aws-sdk/protocol-http": "3.78.0",
- "@aws-sdk/smithy-client": "3.78.0",
- "@aws-sdk/types": "3.78.0",
- "@aws-sdk/url-parser": "3.78.0",
- "@aws-sdk/util-base64-browser": "3.58.0",
- "@aws-sdk/util-base64-node": "3.55.0",
- "@aws-sdk/util-body-length-browser": "3.55.0",
- "@aws-sdk/util-body-length-node": "3.55.0",
- "@aws-sdk/util-defaults-mode-browser": "3.78.0",
- "@aws-sdk/util-defaults-mode-node": "3.81.0",
- "@aws-sdk/util-user-agent-browser": "3.78.0",
- "@aws-sdk/util-user-agent-node": "3.80.0",
- "@aws-sdk/util-utf8-browser": "3.55.0",
- "@aws-sdk/util-utf8-node": "3.55.0",
- "@aws-sdk/util-waiter": "3.78.0",
- "tslib": "^2.3.1",
- "uuid": "^8.3.2"
- },
- "engines": {
- "node": ">=12.0.0"
- }
- },
- "node_modules/@aws-sdk/client-dynamodb/node_modules/@aws-sdk/smithy-client": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.78.0.tgz",
- "integrity": "sha512-qweaupZtFPm9rFiEgErnVNgB6co/DylJfhC6/UImHBKa7mGzxv6t2JDm6+d8fs8cNnGNXozN+jJG8Lz6C8Roxw==",
- "dependencies": {
- "@aws-sdk/middleware-stack": "3.78.0",
- "@aws-sdk/types": "3.78.0",
- "tslib": "^2.3.1"
- },
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/client-dynamodb/node_modules/@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ==",
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/client-sso": {
- "version": "3.82.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.82.0.tgz",
- "integrity": "sha512-zfscjrufPLh1RwdVMDx+5xxZbrY64UD4aSHlmWcPxE8ySj2MVfoE18EBQcCgY82U5QgssT7yxtUirxyI2b92tw==",
- "dependencies": {
- "@aws-crypto/sha256-browser": "2.0.0",
- "@aws-crypto/sha256-js": "2.0.0",
- "@aws-sdk/config-resolver": "3.80.0",
- "@aws-sdk/fetch-http-handler": "3.78.0",
- "@aws-sdk/hash-node": "3.78.0",
- "@aws-sdk/invalid-dependency": "3.78.0",
- "@aws-sdk/middleware-content-length": "3.78.0",
- "@aws-sdk/middleware-host-header": "3.78.0",
- "@aws-sdk/middleware-logger": "3.78.0",
- "@aws-sdk/middleware-retry": "3.80.0",
- "@aws-sdk/middleware-serde": "3.78.0",
- "@aws-sdk/middleware-stack": "3.78.0",
- "@aws-sdk/middleware-user-agent": "3.78.0",
- "@aws-sdk/node-config-provider": "3.80.0",
- "@aws-sdk/node-http-handler": "3.82.0",
- "@aws-sdk/protocol-http": "3.78.0",
- "@aws-sdk/smithy-client": "3.78.0",
- "@aws-sdk/types": "3.78.0",
- "@aws-sdk/url-parser": "3.78.0",
- "@aws-sdk/util-base64-browser": "3.58.0",
- "@aws-sdk/util-base64-node": "3.55.0",
- "@aws-sdk/util-body-length-browser": "3.55.0",
- "@aws-sdk/util-body-length-node": "3.55.0",
- "@aws-sdk/util-defaults-mode-browser": "3.78.0",
- "@aws-sdk/util-defaults-mode-node": "3.81.0",
- "@aws-sdk/util-user-agent-browser": "3.78.0",
- "@aws-sdk/util-user-agent-node": "3.80.0",
- "@aws-sdk/util-utf8-browser": "3.55.0",
- "@aws-sdk/util-utf8-node": "3.55.0",
- "tslib": "^2.3.1"
- },
- "engines": {
- "node": ">=12.0.0"
- }
- },
- "node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/smithy-client": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.78.0.tgz",
- "integrity": "sha512-qweaupZtFPm9rFiEgErnVNgB6co/DylJfhC6/UImHBKa7mGzxv6t2JDm6+d8fs8cNnGNXozN+jJG8Lz6C8Roxw==",
- "dependencies": {
- "@aws-sdk/middleware-stack": "3.78.0",
- "@aws-sdk/types": "3.78.0",
- "tslib": "^2.3.1"
- },
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ==",
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/client-sts": {
- "version": "3.82.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.82.0.tgz",
- "integrity": "sha512-gR1dz/a6lMD2U+AUpLUocXDruDDQFCUoknrpzMZPCAVsamrF17dwKKCgKVlz6zseHP6uPMPluuppvYQ16wsYyQ==",
- "dependencies": {
- "@aws-crypto/sha256-browser": "2.0.0",
- "@aws-crypto/sha256-js": "2.0.0",
- "@aws-sdk/config-resolver": "3.80.0",
- "@aws-sdk/credential-provider-node": "3.82.0",
- "@aws-sdk/fetch-http-handler": "3.78.0",
- "@aws-sdk/hash-node": "3.78.0",
- "@aws-sdk/invalid-dependency": "3.78.0",
- "@aws-sdk/middleware-content-length": "3.78.0",
- "@aws-sdk/middleware-host-header": "3.78.0",
- "@aws-sdk/middleware-logger": "3.78.0",
- "@aws-sdk/middleware-retry": "3.80.0",
- "@aws-sdk/middleware-sdk-sts": "3.78.0",
- "@aws-sdk/middleware-serde": "3.78.0",
- "@aws-sdk/middleware-signing": "3.78.0",
- "@aws-sdk/middleware-stack": "3.78.0",
- "@aws-sdk/middleware-user-agent": "3.78.0",
- "@aws-sdk/node-config-provider": "3.80.0",
- "@aws-sdk/node-http-handler": "3.82.0",
- "@aws-sdk/protocol-http": "3.78.0",
- "@aws-sdk/smithy-client": "3.78.0",
- "@aws-sdk/types": "3.78.0",
- "@aws-sdk/url-parser": "3.78.0",
- "@aws-sdk/util-base64-browser": "3.58.0",
- "@aws-sdk/util-base64-node": "3.55.0",
- "@aws-sdk/util-body-length-browser": "3.55.0",
- "@aws-sdk/util-body-length-node": "3.55.0",
- "@aws-sdk/util-defaults-mode-browser": "3.78.0",
- "@aws-sdk/util-defaults-mode-node": "3.81.0",
- "@aws-sdk/util-user-agent-browser": "3.78.0",
- "@aws-sdk/util-user-agent-node": "3.80.0",
- "@aws-sdk/util-utf8-browser": "3.55.0",
- "@aws-sdk/util-utf8-node": "3.55.0",
- "entities": "2.2.0",
- "fast-xml-parser": "3.19.0",
- "tslib": "^2.3.1"
- },
- "engines": {
- "node": ">=12.0.0"
- }
- },
- "node_modules/@aws-sdk/client-sts/node_modules/@aws-sdk/smithy-client": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.78.0.tgz",
- "integrity": "sha512-qweaupZtFPm9rFiEgErnVNgB6co/DylJfhC6/UImHBKa7mGzxv6t2JDm6+d8fs8cNnGNXozN+jJG8Lz6C8Roxw==",
- "dependencies": {
- "@aws-sdk/middleware-stack": "3.78.0",
- "@aws-sdk/types": "3.78.0",
- "tslib": "^2.3.1"
- },
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/client-sts/node_modules/@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ==",
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/config-resolver": {
- "version": "3.80.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.80.0.tgz",
- "integrity": "sha512-vFruNKlmhsaC8yjnHmasi1WW/7EELlEuFTj4mqcqNqR4dfraf0maVvpqF1VSR8EstpFMsGYI5dmoWAnnG4PcLQ==",
- "dependencies": {
- "@aws-sdk/signature-v4": "3.78.0",
- "@aws-sdk/types": "3.78.0",
- "@aws-sdk/util-config-provider": "3.55.0",
- "@aws-sdk/util-middleware": "3.78.0",
- "tslib": "^2.3.1"
- },
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/config-resolver/node_modules/@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ==",
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/credential-provider-env": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.78.0.tgz",
- "integrity": "sha512-K41VTIzVHm2RyIwtBER8Hte3huUBXdV1WKO+i7olYVgLFmaqcZUNrlyoGDRqZcQ/u4AbxTzBU9jeMIbIfzMOWg==",
- "dependencies": {
- "@aws-sdk/property-provider": "3.78.0",
- "@aws-sdk/types": "3.78.0",
- "tslib": "^2.3.1"
- },
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/credential-provider-env/node_modules/@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ==",
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/credential-provider-imds": {
- "version": "3.81.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.81.0.tgz",
- "integrity": "sha512-BHopP+gaovTYj+4tSrwCk8NNCR48gE9CWmpIOLkP9ell0gOL81Qh7aCEiIK0BZBZkccv1s16cYq1MSZZGS7PEQ==",
- "dependencies": {
- "@aws-sdk/node-config-provider": "3.80.0",
- "@aws-sdk/property-provider": "3.78.0",
- "@aws-sdk/types": "3.78.0",
- "@aws-sdk/url-parser": "3.78.0",
- "tslib": "^2.3.1"
- },
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/credential-provider-imds/node_modules/@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ==",
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/credential-provider-ini": {
- "version": "3.82.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.82.0.tgz",
- "integrity": "sha512-2HrH5Ok/ZpN/81JbIY+HiKjNtGoXP50jyX8a5Dpez41hLuXek7j2ENWRcNOMkPtot+Ri088h661Y7sdzOv1etg==",
- "dependencies": {
- "@aws-sdk/credential-provider-env": "3.78.0",
- "@aws-sdk/credential-provider-imds": "3.81.0",
- "@aws-sdk/credential-provider-sso": "3.82.0",
- "@aws-sdk/credential-provider-web-identity": "3.78.0",
- "@aws-sdk/property-provider": "3.78.0",
- "@aws-sdk/shared-ini-file-loader": "3.80.0",
- "@aws-sdk/types": "3.78.0",
- "tslib": "^2.3.1"
- },
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ==",
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/credential-provider-node": {
- "version": "3.82.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.82.0.tgz",
- "integrity": "sha512-jjZj5h+tKaFBl/RnZ4Atpdtot6ZK4F2EBC8t+sNnFhPqcnhO42+7tLZ/aXhdY1oCvD54RG3exHFRsY6qDe8MhQ==",
- "dependencies": {
- "@aws-sdk/credential-provider-env": "3.78.0",
- "@aws-sdk/credential-provider-imds": "3.81.0",
- "@aws-sdk/credential-provider-ini": "3.82.0",
- "@aws-sdk/credential-provider-process": "3.80.0",
- "@aws-sdk/credential-provider-sso": "3.82.0",
- "@aws-sdk/credential-provider-web-identity": "3.78.0",
- "@aws-sdk/property-provider": "3.78.0",
- "@aws-sdk/shared-ini-file-loader": "3.80.0",
- "@aws-sdk/types": "3.78.0",
- "tslib": "^2.3.1"
- },
- "engines": {
- "node": ">=12.0.0"
- }
- },
- "node_modules/@aws-sdk/credential-provider-node/node_modules/@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ==",
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/credential-provider-process": {
- "version": "3.80.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.80.0.tgz",
- "integrity": "sha512-3Ro+kMMyLUJHefOhGc5pOO/ibGcJi8bkj0z/Jtqd5I2Sm1qi7avoztST67/k48KMW1OqPnD/FUqxz5T8B2d+FQ==",
- "dependencies": {
- "@aws-sdk/property-provider": "3.78.0",
- "@aws-sdk/shared-ini-file-loader": "3.80.0",
- "@aws-sdk/types": "3.78.0",
- "tslib": "^2.3.1"
- },
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/credential-provider-process/node_modules/@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ==",
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/credential-provider-sso": {
- "version": "3.82.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.82.0.tgz",
- "integrity": "sha512-cOIFD6dohrp/cz3bkT0rxbfHgNA4wXRtOciitbBpNnfxOdu51M9bp+XZFb3tdTfhE9fIr4Y+BGqF6AXWZkikLg==",
- "dependencies": {
- "@aws-sdk/client-sso": "3.82.0",
- "@aws-sdk/property-provider": "3.78.0",
- "@aws-sdk/shared-ini-file-loader": "3.80.0",
- "@aws-sdk/types": "3.78.0",
- "tslib": "^2.3.1"
- },
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ==",
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/credential-provider-web-identity": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.78.0.tgz",
- "integrity": "sha512-9/IvqHdJaVqMEABA8xZE3t5YF1S2PepfckVu0Ws9YUglj6oO+2QyVX6aRgMF1xph6781+Yc31TDh8/3eaDja7w==",
- "dependencies": {
- "@aws-sdk/property-provider": "3.78.0",
- "@aws-sdk/types": "3.78.0",
- "tslib": "^2.3.1"
- },
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/credential-provider-web-identity/node_modules/@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ==",
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/endpoint-cache": {
- "version": "3.55.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/endpoint-cache/-/endpoint-cache-3.55.0.tgz",
- "integrity": "sha512-kxDoHFDuQwZEEUZRp+ZLOg68EXuKPzUN86DcpIZantDVcmu7MSPTbbQp9DZd8MnKVEKCP7Sop5f7zCqOPl3LXw==",
- "dependencies": {
- "mnemonist": "0.38.3",
- "tslib": "^2.3.1"
- },
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/fetch-http-handler": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.78.0.tgz",
- "integrity": "sha512-cR6r2h2kJ1DNEZSXC6GknQB7OKmy+s9ZNV+g3AsNqkrUmNNOaHpFoSn+m6SC3qaclcGd0eQBpqzSu/TDn23Ihw==",
- "dependencies": {
- "@aws-sdk/protocol-http": "3.78.0",
- "@aws-sdk/querystring-builder": "3.78.0",
- "@aws-sdk/types": "3.78.0",
- "@aws-sdk/util-base64-browser": "3.58.0",
- "tslib": "^2.3.1"
- }
- },
- "node_modules/@aws-sdk/fetch-http-handler/node_modules/@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ==",
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/hash-node": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.78.0.tgz",
- "integrity": "sha512-ev48yXaqZVtMeuKy52LUZPHCyKvkKQ9uiUebqkA+zFxIk+eN8SMPFHmsififIHWuS6ZkXBUSctjH9wmLebH60A==",
- "dependencies": {
- "@aws-sdk/types": "3.78.0",
- "@aws-sdk/util-buffer-from": "3.55.0",
- "tslib": "^2.3.1"
- },
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/hash-node/node_modules/@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ==",
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/invalid-dependency": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.78.0.tgz",
- "integrity": "sha512-zUo+PbeRMN/Mzj6y+6p9qqk/znuFetT1gmpOcZGL9Rp2T+b9WJWd+daq5ktsL10sVCzIt2UvneJRz6b+aU+bfw==",
- "dependencies": {
- "@aws-sdk/types": "3.78.0",
- "tslib": "^2.3.1"
- }
- },
- "node_modules/@aws-sdk/invalid-dependency/node_modules/@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ==",
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/is-array-buffer": {
- "version": "3.55.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.55.0.tgz",
- "integrity": "sha512-NbiPHVYuPxdqdFd6FxzzN3H1BQn/iWA3ri3Ry7AyLeP/tGs1yzEWMwf8BN8TSMALI0GXT6Sh0GDWy3Ok5xB6DA==",
- "dependencies": {
- "tslib": "^2.3.1"
- },
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/lib-dynamodb": {
- "version": "3.82.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/lib-dynamodb/-/lib-dynamodb-3.82.0.tgz",
- "integrity": "sha512-QPQme4HirCJBqXMjxd59ncTqfRZF1dqArT4aLXv18JkBb+chtTgfPm1dVgVfze3c63SzzGyOM3HDfvM+n7zrtw==",
- "dependencies": {
- "@aws-sdk/util-dynamodb": "3.82.0",
- "tslib": "^2.3.1"
- },
- "engines": {
- "node": ">= 12.0.0"
- },
- "peerDependencies": {
- "@aws-sdk/client-dynamodb": "^3.0.0",
- "@aws-sdk/smithy-client": "^3.0.0",
- "@aws-sdk/types": "^3.0.0"
- }
- },
- "node_modules/@aws-sdk/middleware-content-length": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.78.0.tgz",
- "integrity": "sha512-5MpKt6lB9TdFy25/AGrpOjPY0iDHZAKpEHc+jSOJBXLl6xunXA7qHdiYaVqkWodLxy70nIckGNHqQ3drabidkA==",
- "dependencies": {
- "@aws-sdk/protocol-http": "3.78.0",
- "@aws-sdk/types": "3.78.0",
- "tslib": "^2.3.1"
- },
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/middleware-content-length/node_modules/@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ==",
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/middleware-endpoint-discovery": {
- "version": "3.80.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-endpoint-discovery/-/middleware-endpoint-discovery-3.80.0.tgz",
- "integrity": "sha512-73pKz8ossZKisG684raP1dn2u3fQRktWY29oa9Q3cBvRYdyu5UOhwayt2MObgSC8S6NfNdTGC/DGf7+/JRSY7A==",
- "dependencies": {
- "@aws-sdk/config-resolver": "3.80.0",
- "@aws-sdk/endpoint-cache": "3.55.0",
- "@aws-sdk/protocol-http": "3.78.0",
- "@aws-sdk/types": "3.78.0",
- "tslib": "^2.3.1"
- },
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/middleware-endpoint-discovery/node_modules/@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ==",
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/middleware-host-header": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.78.0.tgz",
- "integrity": "sha512-1zL8uaDWGmH50c8B8jjz75e0ePj6/3QeZEhjJgTgL6DTdiqvRt32p3t+XWHW+yDI14fZZUYeTklAaLVxqFrHqQ==",
- "dependencies": {
- "@aws-sdk/protocol-http": "3.78.0",
- "@aws-sdk/types": "3.78.0",
- "tslib": "^2.3.1"
- },
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/middleware-host-header/node_modules/@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ==",
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/middleware-logger": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.78.0.tgz",
- "integrity": "sha512-GBhwxNjhCJUIeQQDaGasX/C23Jay77al2vRyGwmxf8no0DdFsa4J1Ik6/2hhIqkqko+WM4SpCnpZrY4MtnxNvA==",
- "dependencies": {
- "@aws-sdk/types": "3.78.0",
- "tslib": "^2.3.1"
- },
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/middleware-logger/node_modules/@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ==",
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/middleware-retry": {
- "version": "3.80.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.80.0.tgz",
- "integrity": "sha512-CTk+tA4+WMUNOcUfR6UQrkhwvPYFpnMsQ1vuHlpLFOGG3nCqywA2hueLMRQmVcDXzP0sGeygce6dzRI9dJB/GA==",
- "dependencies": {
- "@aws-sdk/protocol-http": "3.78.0",
- "@aws-sdk/service-error-classification": "3.78.0",
- "@aws-sdk/types": "3.78.0",
- "@aws-sdk/util-middleware": "3.78.0",
- "tslib": "^2.3.1",
- "uuid": "^8.3.2"
- },
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/middleware-retry/node_modules/@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ==",
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/middleware-sdk-sts": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.78.0.tgz",
- "integrity": "sha512-Lu/kN0J0/Kt0ON1hvwNel+y8yvf35licfIgtedHbBCa/ju8qQ9j+uL9Lla6Y5Tqu29yVaye1JxhiIDhscSwrLA==",
- "dependencies": {
- "@aws-sdk/middleware-signing": "3.78.0",
- "@aws-sdk/property-provider": "3.78.0",
- "@aws-sdk/protocol-http": "3.78.0",
- "@aws-sdk/signature-v4": "3.78.0",
- "@aws-sdk/types": "3.78.0",
- "tslib": "^2.3.1"
- },
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/middleware-sdk-sts/node_modules/@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ==",
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/middleware-serde": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.78.0.tgz",
- "integrity": "sha512-4DPsNOxsl1bxRzfo1WXEZjmD7OEi7qGNpxrDWucVe96Fqj2dH08jR8wxvBIVV1e6bAad07IwdPuCGmivNvwRuQ==",
- "dependencies": {
- "@aws-sdk/types": "3.78.0",
- "tslib": "^2.3.1"
- },
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/middleware-serde/node_modules/@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ==",
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/middleware-signing": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.78.0.tgz",
- "integrity": "sha512-OEjJJCNhHHSOprLZ9CzjHIXEKFtPHWP/bG9pMhkV3/6Bmscsgcf8gWHcOnmIrjqX+hT1VALDNpl/RIh0J6/eQw==",
- "dependencies": {
- "@aws-sdk/property-provider": "3.78.0",
- "@aws-sdk/protocol-http": "3.78.0",
- "@aws-sdk/signature-v4": "3.78.0",
- "@aws-sdk/types": "3.78.0",
- "tslib": "^2.3.1"
- },
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/middleware-signing/node_modules/@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ==",
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/middleware-stack": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.78.0.tgz",
- "integrity": "sha512-UoNfRh6eAJN3BJHlG1eb+KeuSe+zARTC2cglroJRyHc2j7GxH2i9FD3IJbj5wvzopJEnQzuY/VCs6STFkqWL1g==",
- "dependencies": {
- "tslib": "^2.3.1"
- },
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/middleware-user-agent": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.78.0.tgz",
- "integrity": "sha512-wdN5uoq8RxxhLhj0EPeuDSRFuXfUwKeEqRzCKMsYAOC0cAm+PryaP2leo0oTGJ9LUK8REK7zyfFcmtC4oOzlkA==",
- "dependencies": {
- "@aws-sdk/protocol-http": "3.78.0",
- "@aws-sdk/types": "3.78.0",
- "tslib": "^2.3.1"
- },
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ==",
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/node-config-provider": {
- "version": "3.80.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.80.0.tgz",
- "integrity": "sha512-vyTOMK04huB7n10ZUv0thd2TE6KlY8livOuLqFTMtj99AJ6vyeB5XBNwKnQtJIt/P7CijYgp8KcFvI9fndOmKg==",
- "dependencies": {
- "@aws-sdk/property-provider": "3.78.0",
- "@aws-sdk/shared-ini-file-loader": "3.80.0",
- "@aws-sdk/types": "3.78.0",
- "tslib": "^2.3.1"
- },
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/node-config-provider/node_modules/@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ==",
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/node-http-handler": {
- "version": "3.82.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.82.0.tgz",
- "integrity": "sha512-yyq/DA/IMzL4fLJhV7zVfP7aUQWPHfOKTCJjWB3KeV5YPiviJtSKb/KyzNi+gQyO7SmsL/8vQbQrf3/s7N/2OA==",
- "dependencies": {
- "@aws-sdk/abort-controller": "3.78.0",
- "@aws-sdk/protocol-http": "3.78.0",
- "@aws-sdk/querystring-builder": "3.78.0",
- "@aws-sdk/types": "3.78.0",
- "tslib": "^2.3.1"
- },
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/node-http-handler/node_modules/@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ==",
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/property-provider": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.78.0.tgz",
- "integrity": "sha512-PZpLvV0hF6lqg3CSN9YmphrB/t5LVJVWGJLB9d9qm7sJs5ksjTYBb5bY91OQ3zit0F4cqBMU8xt2GQ9J6d4DvQ==",
- "dependencies": {
- "@aws-sdk/types": "3.78.0",
- "tslib": "^2.3.1"
- },
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/property-provider/node_modules/@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ==",
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/protocol-http": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.78.0.tgz",
- "integrity": "sha512-SQB26MhEK96yDxyXd3UAaxLz1Y/ZvgE4pzv7V3wZiokdEedM0kawHKEn1UQJlqJLEZcQI9QYyysh3rTvHZ3fyg==",
- "dependencies": {
- "@aws-sdk/types": "3.78.0",
- "tslib": "^2.3.1"
- },
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/protocol-http/node_modules/@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ==",
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/querystring-builder": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.78.0.tgz",
- "integrity": "sha512-aib6RW1WAaTQDqVgRU1Ku9idkhm90gJKbCxVaGId+as6QHNUqMChEfK2v+0afuKiPNOs5uWmqvOXI9+Gt+UGDg==",
- "dependencies": {
- "@aws-sdk/types": "3.78.0",
- "@aws-sdk/util-uri-escape": "3.55.0",
- "tslib": "^2.3.1"
- },
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/querystring-builder/node_modules/@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ==",
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/querystring-parser": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.78.0.tgz",
- "integrity": "sha512-csaH8YTyN+KMNczeK6fBS8l7iJaqcQcKOIbpQFg5upX4Ly5A56HJn4sVQhY1LSgfSk4xRsNfMy5mu6BlsIiaXA==",
- "dependencies": {
- "@aws-sdk/types": "3.78.0",
- "tslib": "^2.3.1"
- },
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/querystring-parser/node_modules/@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ==",
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/service-error-classification": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.78.0.tgz",
- "integrity": "sha512-x7Lx8KWctJa01q4Q72Zb4ol9L/era3vy2daASu8l2paHHxsAPBE0PThkvLdUSLZSzlHSVdh3YHESIsT++VsK4w==",
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/shared-ini-file-loader": {
- "version": "3.80.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.80.0.tgz",
- "integrity": "sha512-3d5EBJjnWWkjLK9skqLLHYbagtFaZZy+3jUTlbTuOKhlOwe8jF7CUM3j6I4JA6yXNcB3w0exDKKHa8w+l+05aA==",
- "dependencies": {
- "tslib": "^2.3.1"
- },
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/signature-v4": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.78.0.tgz",
- "integrity": "sha512-eePjRYuzKoi3VMr/lgrUEF1ytLeH4fA/NMCykr/uR6NMo4bSJA59KrFLYSM7SlWLRIyB0UvJqygVEvSxFluyDw==",
- "dependencies": {
- "@aws-sdk/is-array-buffer": "3.55.0",
- "@aws-sdk/types": "3.78.0",
- "@aws-sdk/util-hex-encoding": "3.58.0",
- "@aws-sdk/util-middleware": "3.78.0",
- "@aws-sdk/util-uri-escape": "3.55.0",
- "tslib": "^2.3.1"
- },
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/signature-v4/node_modules/@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ==",
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/smithy-client": {
- "version": "3.234.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.234.0.tgz",
- "integrity": "sha512-8AtR/k4vsFvjXeQbIzq/Wy7Nbk48Ou0wUEeVYPHWHPSU8QamFWORkOwmKtKMfHAyZvmqiAPeQqHFkq+UJhWyyQ==",
- "peer": true,
- "dependencies": {
- "@aws-sdk/middleware-stack": "3.226.0",
- "@aws-sdk/types": "3.226.0",
- "tslib": "^2.3.1"
- },
- "engines": {
- "node": ">=14.0.0"
- }
- },
- "node_modules/@aws-sdk/smithy-client/node_modules/@aws-sdk/middleware-stack": {
- "version": "3.226.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.226.0.tgz",
- "integrity": "sha512-85wF29LvPvpoed60fZGDYLwv1Zpd/cM0C22WSSFPw1SSJeqO4gtFYyCg2squfT3KI6kF43IIkOCJ+L7GtryPug==",
- "peer": true,
- "dependencies": {
- "tslib": "^2.3.1"
- },
- "engines": {
- "node": ">=14.0.0"
- }
- },
- "node_modules/@aws-sdk/types": {
- "version": "3.226.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.226.0.tgz",
- "integrity": "sha512-MmmNHrWeO4man7wpOwrAhXlevqtOV9ZLcH4RhnG5LmRce0RFOApx24HoKENfFCcOyCm5LQBlsXCqi0dZWDWU0A==",
- "dependencies": {
- "tslib": "^2.3.1"
- },
- "engines": {
- "node": ">=14.0.0"
- }
- },
- "node_modules/@aws-sdk/url-parser": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.78.0.tgz",
- "integrity": "sha512-iQn2AjECUoJE0Ae9XtgHtGGKvUkvE8hhbktGopdj+zsPBe4WrBN2DgVxlKPPrBonG/YlcL1D7a5EXaujWSlUUw==",
- "dependencies": {
- "@aws-sdk/querystring-parser": "3.78.0",
- "@aws-sdk/types": "3.78.0",
- "tslib": "^2.3.1"
- }
- },
- "node_modules/@aws-sdk/url-parser/node_modules/@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ==",
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/util-base64-browser": {
- "version": "3.58.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.58.0.tgz",
- "integrity": "sha512-0ebsXIZNpu/fup9OgsFPnRKfCFbuuI9PPRzvP6twzLxUB0c/aix6Co7LGHFKcRKHZdaykoJMXArf8eHj2Nzv1Q==",
- "deprecated": "The package @aws-sdk/util-base64-browser has been renamed to @aws-sdk/util-base64. Please install the renamed package.",
- "dependencies": {
- "tslib": "^2.3.1"
- }
- },
- "node_modules/@aws-sdk/util-base64-node": {
- "version": "3.55.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.55.0.tgz",
- "integrity": "sha512-UQ/ZuNoAc8CFMpSiRYmevaTsuRKzLwulZTnM8LNlIt9Wx1tpNvqp80cfvVj7yySKROtEi20wq29h31dZf1eYNQ==",
- "deprecated": "The package @aws-sdk/util-base64-node has been renamed to @aws-sdk/util-base64. Please install the renamed package.",
- "dependencies": {
- "@aws-sdk/util-buffer-from": "3.55.0",
- "tslib": "^2.3.1"
- },
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/util-body-length-browser": {
- "version": "3.55.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.55.0.tgz",
- "integrity": "sha512-Ei2OCzXQw5N6ZkTMZbamUzc1z+z1R1Ja5tMEagz5BxuX4vWdBObT+uGlSzL8yvTbjoPjnxWA2aXyEqaUP3JS8Q==",
- "dependencies": {
- "tslib": "^2.3.1"
- }
- },
- "node_modules/@aws-sdk/util-body-length-node": {
- "version": "3.55.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.55.0.tgz",
- "integrity": "sha512-lU1d4I+9wJwydduXs0SxSfd+mHKjxeyd39VwOv6i2KSwWkPbji9UQqpflKLKw+r45jL7+xU/zfeTUg5Tt/3Gew==",
- "dependencies": {
- "tslib": "^2.3.1"
- },
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/util-buffer-from": {
- "version": "3.55.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.55.0.tgz",
- "integrity": "sha512-uVzKG1UgvnV7XX2FPTylBujYMKBPBaq/qFBxfl0LVNfrty7YjpfieQxAe6yRLD+T0Kir/WDQwGvYC+tOYG3IGA==",
- "dependencies": {
- "@aws-sdk/is-array-buffer": "3.55.0",
- "tslib": "^2.3.1"
- },
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/util-config-provider": {
- "version": "3.55.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.55.0.tgz",
- "integrity": "sha512-30dzofQQfx6tp1jVZkZ0DGRsT0wwC15nEysKRiAcjncM64A0Cm6sra77d0os3vbKiKoPCI/lMsFr4o3533+qvQ==",
- "dependencies": {
- "tslib": "^2.3.1"
- },
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/util-defaults-mode-browser": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.78.0.tgz",
- "integrity": "sha512-fsKEqlRbrztjpdTsMbZTlWxFpo3Av9QeYYpJuFaZbwfE0ElzinUU54kKwUrKbi60HRroQV+itoUNj3JogQDeHw==",
- "dependencies": {
- "@aws-sdk/property-provider": "3.78.0",
- "@aws-sdk/types": "3.78.0",
- "bowser": "^2.11.0",
- "tslib": "^2.3.1"
- },
- "engines": {
- "node": ">= 10.0.0"
- }
- },
- "node_modules/@aws-sdk/util-defaults-mode-browser/node_modules/@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ==",
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/util-defaults-mode-node": {
- "version": "3.81.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.81.0.tgz",
- "integrity": "sha512-+7YOtl+TxF08oXt2h/ONP5qk6ZZg6GaO1YSAdpjIfco4odhpy7N2AlEGSX0jZyP6Zbfi+8N7yihBa4sOuOf+Cw==",
- "dependencies": {
- "@aws-sdk/config-resolver": "3.80.0",
- "@aws-sdk/credential-provider-imds": "3.81.0",
- "@aws-sdk/node-config-provider": "3.80.0",
- "@aws-sdk/property-provider": "3.78.0",
- "@aws-sdk/types": "3.78.0",
- "tslib": "^2.3.1"
- },
- "engines": {
- "node": ">= 10.0.0"
- }
- },
- "node_modules/@aws-sdk/util-defaults-mode-node/node_modules/@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ==",
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/util-dynamodb": {
- "version": "3.82.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-dynamodb/-/util-dynamodb-3.82.0.tgz",
- "integrity": "sha512-uzFcs5O0lnReJTYvJNCDuwAP3O6Tcl0uLhGPIy0JRJwT02WT1ZdRbB8Y/H73A2WvKIzYyWh0gWpy0Bqu8wehXw==",
- "dependencies": {
- "tslib": "^2.3.1"
- },
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/util-hex-encoding": {
- "version": "3.58.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.58.0.tgz",
- "integrity": "sha512-Rl+jXUzk/FJkOLYfUVYPhKa2aUmTpeobRP31l8IatQltSzDgLyRHO35f6UEs7Ztn5s1jbu/POatLAZ2WjbgVyg==",
- "dependencies": {
- "tslib": "^2.3.1"
- },
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/util-locate-window": {
- "version": "3.208.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.208.0.tgz",
- "integrity": "sha512-iua1A2+P7JJEDHVgvXrRJSvsnzG7stYSGQnBVphIUlemwl6nN5D+QrgbjECtrbxRz8asYFHSzhdhECqN+tFiBg==",
- "dependencies": {
- "tslib": "^2.3.1"
- },
- "engines": {
- "node": ">=14.0.0"
- }
- },
- "node_modules/@aws-sdk/util-middleware": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.78.0.tgz",
- "integrity": "sha512-Hi3wv2b0VogO4mzyeEaeU5KgIt4qeo0LXU5gS6oRrG0T7s2FyKbMBkJW3YDh/Y8fNwqArZ+/QQFujpP0PIKwkA==",
- "dependencies": {
- "tslib": "^2.3.1"
- },
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/util-uri-escape": {
- "version": "3.55.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.55.0.tgz",
- "integrity": "sha512-mmdDLUpFCN2nkfwlLdOM54lTD528GiGSPN1qb8XtGLgZsJUmg3uJSFIN2lPeSbEwJB3NFjVas/rnQC48i7mV8w==",
- "dependencies": {
- "tslib": "^2.3.1"
- },
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/util-user-agent-browser": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.78.0.tgz",
- "integrity": "sha512-diGO/Bf4ggBOEnfD7lrrXaaXOwOXGz0bAJ0HhpizwEMlBld5zfDlWXjNpslh+8+u3EHRjPJQ16KGT6mp/Dm+aw==",
- "dependencies": {
- "@aws-sdk/types": "3.78.0",
- "bowser": "^2.11.0",
- "tslib": "^2.3.1"
- }
- },
- "node_modules/@aws-sdk/util-user-agent-browser/node_modules/@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ==",
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/util-user-agent-node": {
- "version": "3.80.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.80.0.tgz",
- "integrity": "sha512-QV26qIXws1m6sZXg65NS+XrQ5NhAzbDVQLtEVE4nC39UN8fuieP6Uet/gZm9mlLI9hllwvcV7EfgBM3GSC7pZg==",
- "dependencies": {
- "@aws-sdk/node-config-provider": "3.80.0",
- "@aws-sdk/types": "3.78.0",
- "tslib": "^2.3.1"
- },
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/util-user-agent-node/node_modules/@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ==",
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/util-utf8-browser": {
- "version": "3.55.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.55.0.tgz",
- "integrity": "sha512-ljzqJcyjfJpEVSIAxwtIS8xMRUly84BdjlBXyp6cu4G8TUufgjNS31LWdhyGhgmW5vYBNr+LTz0Kwf6J+ou7Ug==",
- "dependencies": {
- "tslib": "^2.3.1"
- }
- },
- "node_modules/@aws-sdk/util-utf8-node": {
- "version": "3.55.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.55.0.tgz",
- "integrity": "sha512-FsFm7GFaC7j0tlPEm/ri8bU2QCwFW5WKjxUg8lm1oWaxplCpKGUsmcfPJ4sw58GIoyoGu4QXBK60oCWosZYYdQ==",
- "dependencies": {
- "@aws-sdk/util-buffer-from": "3.55.0",
- "tslib": "^2.3.1"
- },
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/util-waiter": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.78.0.tgz",
- "integrity": "sha512-8pWd0XiNOS8AkWQyac8VNEI+gz/cGWlC2TAE2CJp0rOK5XhvlcNBINai4D6TxQ+9foyJXLOI1b8nuXemekoG8A==",
- "dependencies": {
- "@aws-sdk/abort-controller": "3.78.0",
- "@aws-sdk/types": "3.78.0",
- "tslib": "^2.3.1"
- },
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@aws-sdk/util-waiter/node_modules/@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ==",
- "engines": {
- "node": ">= 12.0.0"
- }
- },
- "node_modules/@cyclic.sh/dynamodb": {
- "version": "0.0.33",
- "resolved": "https://registry.npmjs.org/@cyclic.sh/dynamodb/-/dynamodb-0.0.33.tgz",
- "integrity": "sha512-rkqp0VZcFGfNqw3yvyzj38pUGSgWHEqJIf7zsu8xZD5zEOaS7XkpJTx1xfKEgeu+OMdyhCaRyj91UYt+mYvHSw==",
- "dependencies": {
- "@aws-sdk/client-dynamodb": "3.82.0",
- "@aws-sdk/lib-dynamodb": "3.82.0"
- },
- "engines": {
- "node": ">=14.20.0"
- }
- },
- "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/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/balanced-match": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
- "dev": true
- },
- "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/bowser": {
- "version": "2.11.0",
- "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz",
- "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA=="
- },
- "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==",
- "dev": true,
- "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/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/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/commander": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
- "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
- "dev": true
- },
- "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": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
- },
- "node_modules/cross-spawn": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
- "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
- "dependencies": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "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/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/ee-first": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
- "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
- },
- "node_modules/encodeurl": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
- "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/entities": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
- "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
- "funding": {
- "url": "https://github.com/fb55/entities?sponsor=1"
- }
- },
- "node_modules/env-cmd": {
- "version": "10.1.0",
- "resolved": "https://registry.npmjs.org/env-cmd/-/env-cmd-10.1.0.tgz",
- "integrity": "sha512-mMdWTT9XKN7yNth/6N6g2GuKuJTsKMDHlQFUDacb/heQRRWOTIZ42t1rMHnQu4jYxU1ajdTeJM+9eEETlqToMA==",
- "dependencies": {
- "commander": "^4.0.0",
- "cross-spawn": "^7.0.0"
- },
- "bin": {
- "env-cmd": "bin/env-cmd.js"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/escape-html": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
- "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
- },
- "node_modules/etag": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
- "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
- "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/fast-xml-parser": {
- "version": "3.19.0",
- "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-3.19.0.tgz",
- "integrity": "sha512-4pXwmBplsCPv8FOY1WRakF970TjNGnGnfbOnLqjlYvMiF1SR3yOHyxMR/YCXpPTOspNF5gwudqktIP4VsWkvBg==",
- "bin": {
- "xml2js": "cli.js"
- },
- "funding": {
- "type": "paypal",
- "url": "https://paypal.me/naturalintelligence"
- }
- },
- "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": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
- "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.1",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
- "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
- "dependencies": {
- "function-bind": "^1.1.1",
- "has": "^1.0.3",
- "has-symbols": "^1.0.1"
- },
- "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": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "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/ignore-by-default": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz",
- "integrity": "sha1-SMptcvbGo68Aqa1K5odr44ieKwk=",
- "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/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": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
- "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/isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
- },
- "node_modules/media-typer": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
- "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/merge-descriptors": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
- "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
- },
- "node_modules/methods": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
- "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=",
- "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==",
- "dev": true,
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/mnemonist": {
- "version": "0.38.3",
- "resolved": "https://registry.npmjs.org/mnemonist/-/mnemonist-0.38.3.tgz",
- "integrity": "sha512-2K9QYubXx/NAjv4VLq1d1Ly8pWNC5L3BrixtdkyTegXWJIqY+zLNDhhX/A+ZwWt70tB1S8H4BE8FLYEFyNoOBw==",
- "dependencies": {
- "obliterator": "^1.6.1"
- }
- },
- "node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- },
- "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.22",
- "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.22.tgz",
- "integrity": "sha512-B8YqaKMmyuCO7BowF1Z1/mkPqLk6cs/l63Ojtd6otKjMx47Dq1utxfRxcavH1I7VSaL8n5BUaoutadnsX3AAVQ==",
- "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/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/nopt": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz",
- "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=",
- "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-inspect": {
- "version": "1.12.1",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.1.tgz",
- "integrity": "sha512-Y/jF6vnvEtOPGiKD1+q+X0CiUYRQtEHp89MLLUJ7TUivtH8Ugn2+3A7Rynqk7BRsAoqeOQWnFnjpDrKSxDgIGA==",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/obliterator": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/obliterator/-/obliterator-1.6.1.tgz",
- "integrity": "sha512-9WXswnqINnnhOG/5SLimUlzuU1hFJUc8zkwyD59Sd+dPOMf05PmnYG/d6Q7HZ+KmgkZJa1PxRso6QdM3sTNHig=="
- },
- "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-key": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
- "engines": {
- "node": ">=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": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
- },
- "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/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/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/shebang-command": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
- "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
- "dependencies": {
- "shebang-regex": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/shebang-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/side-channel": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
- "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
- "dependencies": {
- "call-bind": "^1.0.0",
- "get-intrinsic": "^1.0.2",
- "object-inspect": "^1.9.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/simple-update-notifier": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.1.0.tgz",
- "integrity": "sha512-VpsrsJSUcJEseSbMHkrsrAVSdvVS5I96Qo1QAQ4FxQ9wXFcB+pjj7FB7/us9+GcgfW4ziHtYMc1J0PLczb55mg==",
- "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/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": "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/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/tslib": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz",
- "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA=="
- },
- "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": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
- "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": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
- "engines": {
- "node": ">= 0.4.0"
- }
- },
- "node_modules/uuid": {
- "version": "8.3.2",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
- "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
- "bin": {
- "uuid": "dist/bin/uuid"
- }
- },
- "node_modules/vary": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
- "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "node-which": "bin/node-which"
- },
- "engines": {
- "node": ">= 8"
- }
- }
- },
- "dependencies": {
- "@aws-crypto/ie11-detection": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-2.0.2.tgz",
- "integrity": "sha512-5XDMQY98gMAf/WRTic5G++jfmS/VLM0rwpiOpaainKi4L0nqWMSB1SzsrEG5rjFZGYN6ZAefO+/Yta2dFM0kMw==",
- "requires": {
- "tslib": "^1.11.1"
- },
- "dependencies": {
- "tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
- }
- }
- },
- "@aws-crypto/sha256-browser": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-2.0.0.tgz",
- "integrity": "sha512-rYXOQ8BFOaqMEHJrLHul/25ckWH6GTJtdLSajhlqGMx0PmSueAuvboCuZCTqEKlxR8CQOwRarxYMZZSYlhRA1A==",
- "requires": {
- "@aws-crypto/ie11-detection": "^2.0.0",
- "@aws-crypto/sha256-js": "^2.0.0",
- "@aws-crypto/supports-web-crypto": "^2.0.0",
- "@aws-crypto/util": "^2.0.0",
- "@aws-sdk/types": "^3.1.0",
- "@aws-sdk/util-locate-window": "^3.0.0",
- "@aws-sdk/util-utf8-browser": "^3.0.0",
- "tslib": "^1.11.1"
- },
- "dependencies": {
- "tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
- }
- }
- },
- "@aws-crypto/sha256-js": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-2.0.0.tgz",
- "integrity": "sha512-VZY+mCY4Nmrs5WGfitmNqXzaE873fcIZDu54cbaDaaamsaTOP1DBImV9F4pICc3EHjQXujyE8jig+PFCaew9ig==",
- "requires": {
- "@aws-crypto/util": "^2.0.0",
- "@aws-sdk/types": "^3.1.0",
- "tslib": "^1.11.1"
- },
- "dependencies": {
- "tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
- }
- }
- },
- "@aws-crypto/supports-web-crypto": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-2.0.2.tgz",
- "integrity": "sha512-6mbSsLHwZ99CTOOswvCRP3C+VCWnzBf+1SnbWxzzJ9lR0mA0JnY2JEAhp8rqmTE0GPFy88rrM27ffgp62oErMQ==",
- "requires": {
- "tslib": "^1.11.1"
- },
- "dependencies": {
- "tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
- }
- }
- },
- "@aws-crypto/util": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-2.0.2.tgz",
- "integrity": "sha512-Lgu5v/0e/BcrZ5m/IWqzPUf3UYFTy/PpeED+uc9SWUR1iZQL8XXbGQg10UfllwwBryO3hFF5dizK+78aoXC1eA==",
- "requires": {
- "@aws-sdk/types": "^3.110.0",
- "@aws-sdk/util-utf8-browser": "^3.0.0",
- "tslib": "^1.11.1"
- },
- "dependencies": {
- "tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
- }
- }
- },
- "@aws-sdk/abort-controller": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.78.0.tgz",
- "integrity": "sha512-iz1YLwM2feJUj/y97yO4XmDeTxs+yZ1XJwQgoawKuc8IDBKUutnJNCHL5jL04WUKU7Nrlq+Hr2fCTScFh2z9zg==",
- "requires": {
- "@aws-sdk/types": "3.78.0",
- "tslib": "^2.3.1"
- },
- "dependencies": {
- "@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ=="
- }
- }
- },
- "@aws-sdk/client-dynamodb": {
- "version": "3.82.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-dynamodb/-/client-dynamodb-3.82.0.tgz",
- "integrity": "sha512-8w4a+v5iVfX+XSTPRFQOtFRrFkZBStnJR5UUhGoF3kHEY8PTb92I3FDFAa1K2bfcbkZjown/mOF/aWMe+DAgHw==",
- "requires": {
- "@aws-crypto/sha256-browser": "2.0.0",
- "@aws-crypto/sha256-js": "2.0.0",
- "@aws-sdk/client-sts": "3.82.0",
- "@aws-sdk/config-resolver": "3.80.0",
- "@aws-sdk/credential-provider-node": "3.82.0",
- "@aws-sdk/fetch-http-handler": "3.78.0",
- "@aws-sdk/hash-node": "3.78.0",
- "@aws-sdk/invalid-dependency": "3.78.0",
- "@aws-sdk/middleware-content-length": "3.78.0",
- "@aws-sdk/middleware-endpoint-discovery": "3.80.0",
- "@aws-sdk/middleware-host-header": "3.78.0",
- "@aws-sdk/middleware-logger": "3.78.0",
- "@aws-sdk/middleware-retry": "3.80.0",
- "@aws-sdk/middleware-serde": "3.78.0",
- "@aws-sdk/middleware-signing": "3.78.0",
- "@aws-sdk/middleware-stack": "3.78.0",
- "@aws-sdk/middleware-user-agent": "3.78.0",
- "@aws-sdk/node-config-provider": "3.80.0",
- "@aws-sdk/node-http-handler": "3.82.0",
- "@aws-sdk/protocol-http": "3.78.0",
- "@aws-sdk/smithy-client": "3.78.0",
- "@aws-sdk/types": "3.78.0",
- "@aws-sdk/url-parser": "3.78.0",
- "@aws-sdk/util-base64-browser": "3.58.0",
- "@aws-sdk/util-base64-node": "3.55.0",
- "@aws-sdk/util-body-length-browser": "3.55.0",
- "@aws-sdk/util-body-length-node": "3.55.0",
- "@aws-sdk/util-defaults-mode-browser": "3.78.0",
- "@aws-sdk/util-defaults-mode-node": "3.81.0",
- "@aws-sdk/util-user-agent-browser": "3.78.0",
- "@aws-sdk/util-user-agent-node": "3.80.0",
- "@aws-sdk/util-utf8-browser": "3.55.0",
- "@aws-sdk/util-utf8-node": "3.55.0",
- "@aws-sdk/util-waiter": "3.78.0",
- "tslib": "^2.3.1",
- "uuid": "^8.3.2"
- },
- "dependencies": {
- "@aws-sdk/smithy-client": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.78.0.tgz",
- "integrity": "sha512-qweaupZtFPm9rFiEgErnVNgB6co/DylJfhC6/UImHBKa7mGzxv6t2JDm6+d8fs8cNnGNXozN+jJG8Lz6C8Roxw==",
- "requires": {
- "@aws-sdk/middleware-stack": "3.78.0",
- "@aws-sdk/types": "3.78.0",
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ=="
- }
- }
- },
- "@aws-sdk/client-sso": {
- "version": "3.82.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.82.0.tgz",
- "integrity": "sha512-zfscjrufPLh1RwdVMDx+5xxZbrY64UD4aSHlmWcPxE8ySj2MVfoE18EBQcCgY82U5QgssT7yxtUirxyI2b92tw==",
- "requires": {
- "@aws-crypto/sha256-browser": "2.0.0",
- "@aws-crypto/sha256-js": "2.0.0",
- "@aws-sdk/config-resolver": "3.80.0",
- "@aws-sdk/fetch-http-handler": "3.78.0",
- "@aws-sdk/hash-node": "3.78.0",
- "@aws-sdk/invalid-dependency": "3.78.0",
- "@aws-sdk/middleware-content-length": "3.78.0",
- "@aws-sdk/middleware-host-header": "3.78.0",
- "@aws-sdk/middleware-logger": "3.78.0",
- "@aws-sdk/middleware-retry": "3.80.0",
- "@aws-sdk/middleware-serde": "3.78.0",
- "@aws-sdk/middleware-stack": "3.78.0",
- "@aws-sdk/middleware-user-agent": "3.78.0",
- "@aws-sdk/node-config-provider": "3.80.0",
- "@aws-sdk/node-http-handler": "3.82.0",
- "@aws-sdk/protocol-http": "3.78.0",
- "@aws-sdk/smithy-client": "3.78.0",
- "@aws-sdk/types": "3.78.0",
- "@aws-sdk/url-parser": "3.78.0",
- "@aws-sdk/util-base64-browser": "3.58.0",
- "@aws-sdk/util-base64-node": "3.55.0",
- "@aws-sdk/util-body-length-browser": "3.55.0",
- "@aws-sdk/util-body-length-node": "3.55.0",
- "@aws-sdk/util-defaults-mode-browser": "3.78.0",
- "@aws-sdk/util-defaults-mode-node": "3.81.0",
- "@aws-sdk/util-user-agent-browser": "3.78.0",
- "@aws-sdk/util-user-agent-node": "3.80.0",
- "@aws-sdk/util-utf8-browser": "3.55.0",
- "@aws-sdk/util-utf8-node": "3.55.0",
- "tslib": "^2.3.1"
- },
- "dependencies": {
- "@aws-sdk/smithy-client": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.78.0.tgz",
- "integrity": "sha512-qweaupZtFPm9rFiEgErnVNgB6co/DylJfhC6/UImHBKa7mGzxv6t2JDm6+d8fs8cNnGNXozN+jJG8Lz6C8Roxw==",
- "requires": {
- "@aws-sdk/middleware-stack": "3.78.0",
- "@aws-sdk/types": "3.78.0",
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ=="
- }
- }
- },
- "@aws-sdk/client-sts": {
- "version": "3.82.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.82.0.tgz",
- "integrity": "sha512-gR1dz/a6lMD2U+AUpLUocXDruDDQFCUoknrpzMZPCAVsamrF17dwKKCgKVlz6zseHP6uPMPluuppvYQ16wsYyQ==",
- "requires": {
- "@aws-crypto/sha256-browser": "2.0.0",
- "@aws-crypto/sha256-js": "2.0.0",
- "@aws-sdk/config-resolver": "3.80.0",
- "@aws-sdk/credential-provider-node": "3.82.0",
- "@aws-sdk/fetch-http-handler": "3.78.0",
- "@aws-sdk/hash-node": "3.78.0",
- "@aws-sdk/invalid-dependency": "3.78.0",
- "@aws-sdk/middleware-content-length": "3.78.0",
- "@aws-sdk/middleware-host-header": "3.78.0",
- "@aws-sdk/middleware-logger": "3.78.0",
- "@aws-sdk/middleware-retry": "3.80.0",
- "@aws-sdk/middleware-sdk-sts": "3.78.0",
- "@aws-sdk/middleware-serde": "3.78.0",
- "@aws-sdk/middleware-signing": "3.78.0",
- "@aws-sdk/middleware-stack": "3.78.0",
- "@aws-sdk/middleware-user-agent": "3.78.0",
- "@aws-sdk/node-config-provider": "3.80.0",
- "@aws-sdk/node-http-handler": "3.82.0",
- "@aws-sdk/protocol-http": "3.78.0",
- "@aws-sdk/smithy-client": "3.78.0",
- "@aws-sdk/types": "3.78.0",
- "@aws-sdk/url-parser": "3.78.0",
- "@aws-sdk/util-base64-browser": "3.58.0",
- "@aws-sdk/util-base64-node": "3.55.0",
- "@aws-sdk/util-body-length-browser": "3.55.0",
- "@aws-sdk/util-body-length-node": "3.55.0",
- "@aws-sdk/util-defaults-mode-browser": "3.78.0",
- "@aws-sdk/util-defaults-mode-node": "3.81.0",
- "@aws-sdk/util-user-agent-browser": "3.78.0",
- "@aws-sdk/util-user-agent-node": "3.80.0",
- "@aws-sdk/util-utf8-browser": "3.55.0",
- "@aws-sdk/util-utf8-node": "3.55.0",
- "entities": "2.2.0",
- "fast-xml-parser": "3.19.0",
- "tslib": "^2.3.1"
- },
- "dependencies": {
- "@aws-sdk/smithy-client": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.78.0.tgz",
- "integrity": "sha512-qweaupZtFPm9rFiEgErnVNgB6co/DylJfhC6/UImHBKa7mGzxv6t2JDm6+d8fs8cNnGNXozN+jJG8Lz6C8Roxw==",
- "requires": {
- "@aws-sdk/middleware-stack": "3.78.0",
- "@aws-sdk/types": "3.78.0",
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ=="
- }
- }
- },
- "@aws-sdk/config-resolver": {
- "version": "3.80.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.80.0.tgz",
- "integrity": "sha512-vFruNKlmhsaC8yjnHmasi1WW/7EELlEuFTj4mqcqNqR4dfraf0maVvpqF1VSR8EstpFMsGYI5dmoWAnnG4PcLQ==",
- "requires": {
- "@aws-sdk/signature-v4": "3.78.0",
- "@aws-sdk/types": "3.78.0",
- "@aws-sdk/util-config-provider": "3.55.0",
- "@aws-sdk/util-middleware": "3.78.0",
- "tslib": "^2.3.1"
- },
- "dependencies": {
- "@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ=="
- }
- }
- },
- "@aws-sdk/credential-provider-env": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.78.0.tgz",
- "integrity": "sha512-K41VTIzVHm2RyIwtBER8Hte3huUBXdV1WKO+i7olYVgLFmaqcZUNrlyoGDRqZcQ/u4AbxTzBU9jeMIbIfzMOWg==",
- "requires": {
- "@aws-sdk/property-provider": "3.78.0",
- "@aws-sdk/types": "3.78.0",
- "tslib": "^2.3.1"
- },
- "dependencies": {
- "@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ=="
- }
- }
- },
- "@aws-sdk/credential-provider-imds": {
- "version": "3.81.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.81.0.tgz",
- "integrity": "sha512-BHopP+gaovTYj+4tSrwCk8NNCR48gE9CWmpIOLkP9ell0gOL81Qh7aCEiIK0BZBZkccv1s16cYq1MSZZGS7PEQ==",
- "requires": {
- "@aws-sdk/node-config-provider": "3.80.0",
- "@aws-sdk/property-provider": "3.78.0",
- "@aws-sdk/types": "3.78.0",
- "@aws-sdk/url-parser": "3.78.0",
- "tslib": "^2.3.1"
- },
- "dependencies": {
- "@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ=="
- }
- }
- },
- "@aws-sdk/credential-provider-ini": {
- "version": "3.82.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.82.0.tgz",
- "integrity": "sha512-2HrH5Ok/ZpN/81JbIY+HiKjNtGoXP50jyX8a5Dpez41hLuXek7j2ENWRcNOMkPtot+Ri088h661Y7sdzOv1etg==",
- "requires": {
- "@aws-sdk/credential-provider-env": "3.78.0",
- "@aws-sdk/credential-provider-imds": "3.81.0",
- "@aws-sdk/credential-provider-sso": "3.82.0",
- "@aws-sdk/credential-provider-web-identity": "3.78.0",
- "@aws-sdk/property-provider": "3.78.0",
- "@aws-sdk/shared-ini-file-loader": "3.80.0",
- "@aws-sdk/types": "3.78.0",
- "tslib": "^2.3.1"
- },
- "dependencies": {
- "@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ=="
- }
- }
- },
- "@aws-sdk/credential-provider-node": {
- "version": "3.82.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.82.0.tgz",
- "integrity": "sha512-jjZj5h+tKaFBl/RnZ4Atpdtot6ZK4F2EBC8t+sNnFhPqcnhO42+7tLZ/aXhdY1oCvD54RG3exHFRsY6qDe8MhQ==",
- "requires": {
- "@aws-sdk/credential-provider-env": "3.78.0",
- "@aws-sdk/credential-provider-imds": "3.81.0",
- "@aws-sdk/credential-provider-ini": "3.82.0",
- "@aws-sdk/credential-provider-process": "3.80.0",
- "@aws-sdk/credential-provider-sso": "3.82.0",
- "@aws-sdk/credential-provider-web-identity": "3.78.0",
- "@aws-sdk/property-provider": "3.78.0",
- "@aws-sdk/shared-ini-file-loader": "3.80.0",
- "@aws-sdk/types": "3.78.0",
- "tslib": "^2.3.1"
- },
- "dependencies": {
- "@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ=="
- }
- }
- },
- "@aws-sdk/credential-provider-process": {
- "version": "3.80.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.80.0.tgz",
- "integrity": "sha512-3Ro+kMMyLUJHefOhGc5pOO/ibGcJi8bkj0z/Jtqd5I2Sm1qi7avoztST67/k48KMW1OqPnD/FUqxz5T8B2d+FQ==",
- "requires": {
- "@aws-sdk/property-provider": "3.78.0",
- "@aws-sdk/shared-ini-file-loader": "3.80.0",
- "@aws-sdk/types": "3.78.0",
- "tslib": "^2.3.1"
- },
- "dependencies": {
- "@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ=="
- }
- }
- },
- "@aws-sdk/credential-provider-sso": {
- "version": "3.82.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.82.0.tgz",
- "integrity": "sha512-cOIFD6dohrp/cz3bkT0rxbfHgNA4wXRtOciitbBpNnfxOdu51M9bp+XZFb3tdTfhE9fIr4Y+BGqF6AXWZkikLg==",
- "requires": {
- "@aws-sdk/client-sso": "3.82.0",
- "@aws-sdk/property-provider": "3.78.0",
- "@aws-sdk/shared-ini-file-loader": "3.80.0",
- "@aws-sdk/types": "3.78.0",
- "tslib": "^2.3.1"
- },
- "dependencies": {
- "@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ=="
- }
- }
- },
- "@aws-sdk/credential-provider-web-identity": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.78.0.tgz",
- "integrity": "sha512-9/IvqHdJaVqMEABA8xZE3t5YF1S2PepfckVu0Ws9YUglj6oO+2QyVX6aRgMF1xph6781+Yc31TDh8/3eaDja7w==",
- "requires": {
- "@aws-sdk/property-provider": "3.78.0",
- "@aws-sdk/types": "3.78.0",
- "tslib": "^2.3.1"
- },
- "dependencies": {
- "@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ=="
- }
- }
- },
- "@aws-sdk/endpoint-cache": {
- "version": "3.55.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/endpoint-cache/-/endpoint-cache-3.55.0.tgz",
- "integrity": "sha512-kxDoHFDuQwZEEUZRp+ZLOg68EXuKPzUN86DcpIZantDVcmu7MSPTbbQp9DZd8MnKVEKCP7Sop5f7zCqOPl3LXw==",
- "requires": {
- "mnemonist": "0.38.3",
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/fetch-http-handler": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.78.0.tgz",
- "integrity": "sha512-cR6r2h2kJ1DNEZSXC6GknQB7OKmy+s9ZNV+g3AsNqkrUmNNOaHpFoSn+m6SC3qaclcGd0eQBpqzSu/TDn23Ihw==",
- "requires": {
- "@aws-sdk/protocol-http": "3.78.0",
- "@aws-sdk/querystring-builder": "3.78.0",
- "@aws-sdk/types": "3.78.0",
- "@aws-sdk/util-base64-browser": "3.58.0",
- "tslib": "^2.3.1"
- },
- "dependencies": {
- "@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ=="
- }
- }
- },
- "@aws-sdk/hash-node": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.78.0.tgz",
- "integrity": "sha512-ev48yXaqZVtMeuKy52LUZPHCyKvkKQ9uiUebqkA+zFxIk+eN8SMPFHmsififIHWuS6ZkXBUSctjH9wmLebH60A==",
- "requires": {
- "@aws-sdk/types": "3.78.0",
- "@aws-sdk/util-buffer-from": "3.55.0",
- "tslib": "^2.3.1"
- },
- "dependencies": {
- "@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ=="
- }
- }
- },
- "@aws-sdk/invalid-dependency": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.78.0.tgz",
- "integrity": "sha512-zUo+PbeRMN/Mzj6y+6p9qqk/znuFetT1gmpOcZGL9Rp2T+b9WJWd+daq5ktsL10sVCzIt2UvneJRz6b+aU+bfw==",
- "requires": {
- "@aws-sdk/types": "3.78.0",
- "tslib": "^2.3.1"
- },
- "dependencies": {
- "@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ=="
- }
- }
- },
- "@aws-sdk/is-array-buffer": {
- "version": "3.55.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.55.0.tgz",
- "integrity": "sha512-NbiPHVYuPxdqdFd6FxzzN3H1BQn/iWA3ri3Ry7AyLeP/tGs1yzEWMwf8BN8TSMALI0GXT6Sh0GDWy3Ok5xB6DA==",
- "requires": {
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/lib-dynamodb": {
- "version": "3.82.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/lib-dynamodb/-/lib-dynamodb-3.82.0.tgz",
- "integrity": "sha512-QPQme4HirCJBqXMjxd59ncTqfRZF1dqArT4aLXv18JkBb+chtTgfPm1dVgVfze3c63SzzGyOM3HDfvM+n7zrtw==",
- "requires": {
- "@aws-sdk/util-dynamodb": "3.82.0",
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/middleware-content-length": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.78.0.tgz",
- "integrity": "sha512-5MpKt6lB9TdFy25/AGrpOjPY0iDHZAKpEHc+jSOJBXLl6xunXA7qHdiYaVqkWodLxy70nIckGNHqQ3drabidkA==",
- "requires": {
- "@aws-sdk/protocol-http": "3.78.0",
- "@aws-sdk/types": "3.78.0",
- "tslib": "^2.3.1"
- },
- "dependencies": {
- "@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ=="
- }
- }
- },
- "@aws-sdk/middleware-endpoint-discovery": {
- "version": "3.80.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-endpoint-discovery/-/middleware-endpoint-discovery-3.80.0.tgz",
- "integrity": "sha512-73pKz8ossZKisG684raP1dn2u3fQRktWY29oa9Q3cBvRYdyu5UOhwayt2MObgSC8S6NfNdTGC/DGf7+/JRSY7A==",
- "requires": {
- "@aws-sdk/config-resolver": "3.80.0",
- "@aws-sdk/endpoint-cache": "3.55.0",
- "@aws-sdk/protocol-http": "3.78.0",
- "@aws-sdk/types": "3.78.0",
- "tslib": "^2.3.1"
- },
- "dependencies": {
- "@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ=="
- }
- }
- },
- "@aws-sdk/middleware-host-header": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.78.0.tgz",
- "integrity": "sha512-1zL8uaDWGmH50c8B8jjz75e0ePj6/3QeZEhjJgTgL6DTdiqvRt32p3t+XWHW+yDI14fZZUYeTklAaLVxqFrHqQ==",
- "requires": {
- "@aws-sdk/protocol-http": "3.78.0",
- "@aws-sdk/types": "3.78.0",
- "tslib": "^2.3.1"
- },
- "dependencies": {
- "@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ=="
- }
- }
- },
- "@aws-sdk/middleware-logger": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.78.0.tgz",
- "integrity": "sha512-GBhwxNjhCJUIeQQDaGasX/C23Jay77al2vRyGwmxf8no0DdFsa4J1Ik6/2hhIqkqko+WM4SpCnpZrY4MtnxNvA==",
- "requires": {
- "@aws-sdk/types": "3.78.0",
- "tslib": "^2.3.1"
- },
- "dependencies": {
- "@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ=="
- }
- }
- },
- "@aws-sdk/middleware-retry": {
- "version": "3.80.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.80.0.tgz",
- "integrity": "sha512-CTk+tA4+WMUNOcUfR6UQrkhwvPYFpnMsQ1vuHlpLFOGG3nCqywA2hueLMRQmVcDXzP0sGeygce6dzRI9dJB/GA==",
- "requires": {
- "@aws-sdk/protocol-http": "3.78.0",
- "@aws-sdk/service-error-classification": "3.78.0",
- "@aws-sdk/types": "3.78.0",
- "@aws-sdk/util-middleware": "3.78.0",
- "tslib": "^2.3.1",
- "uuid": "^8.3.2"
- },
- "dependencies": {
- "@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ=="
- }
- }
- },
- "@aws-sdk/middleware-sdk-sts": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.78.0.tgz",
- "integrity": "sha512-Lu/kN0J0/Kt0ON1hvwNel+y8yvf35licfIgtedHbBCa/ju8qQ9j+uL9Lla6Y5Tqu29yVaye1JxhiIDhscSwrLA==",
- "requires": {
- "@aws-sdk/middleware-signing": "3.78.0",
- "@aws-sdk/property-provider": "3.78.0",
- "@aws-sdk/protocol-http": "3.78.0",
- "@aws-sdk/signature-v4": "3.78.0",
- "@aws-sdk/types": "3.78.0",
- "tslib": "^2.3.1"
- },
- "dependencies": {
- "@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ=="
- }
- }
- },
- "@aws-sdk/middleware-serde": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.78.0.tgz",
- "integrity": "sha512-4DPsNOxsl1bxRzfo1WXEZjmD7OEi7qGNpxrDWucVe96Fqj2dH08jR8wxvBIVV1e6bAad07IwdPuCGmivNvwRuQ==",
- "requires": {
- "@aws-sdk/types": "3.78.0",
- "tslib": "^2.3.1"
- },
- "dependencies": {
- "@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ=="
- }
- }
- },
- "@aws-sdk/middleware-signing": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.78.0.tgz",
- "integrity": "sha512-OEjJJCNhHHSOprLZ9CzjHIXEKFtPHWP/bG9pMhkV3/6Bmscsgcf8gWHcOnmIrjqX+hT1VALDNpl/RIh0J6/eQw==",
- "requires": {
- "@aws-sdk/property-provider": "3.78.0",
- "@aws-sdk/protocol-http": "3.78.0",
- "@aws-sdk/signature-v4": "3.78.0",
- "@aws-sdk/types": "3.78.0",
- "tslib": "^2.3.1"
- },
- "dependencies": {
- "@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ=="
- }
- }
- },
- "@aws-sdk/middleware-stack": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.78.0.tgz",
- "integrity": "sha512-UoNfRh6eAJN3BJHlG1eb+KeuSe+zARTC2cglroJRyHc2j7GxH2i9FD3IJbj5wvzopJEnQzuY/VCs6STFkqWL1g==",
- "requires": {
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/middleware-user-agent": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.78.0.tgz",
- "integrity": "sha512-wdN5uoq8RxxhLhj0EPeuDSRFuXfUwKeEqRzCKMsYAOC0cAm+PryaP2leo0oTGJ9LUK8REK7zyfFcmtC4oOzlkA==",
- "requires": {
- "@aws-sdk/protocol-http": "3.78.0",
- "@aws-sdk/types": "3.78.0",
- "tslib": "^2.3.1"
- },
- "dependencies": {
- "@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ=="
- }
- }
- },
- "@aws-sdk/node-config-provider": {
- "version": "3.80.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.80.0.tgz",
- "integrity": "sha512-vyTOMK04huB7n10ZUv0thd2TE6KlY8livOuLqFTMtj99AJ6vyeB5XBNwKnQtJIt/P7CijYgp8KcFvI9fndOmKg==",
- "requires": {
- "@aws-sdk/property-provider": "3.78.0",
- "@aws-sdk/shared-ini-file-loader": "3.80.0",
- "@aws-sdk/types": "3.78.0",
- "tslib": "^2.3.1"
- },
- "dependencies": {
- "@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ=="
- }
- }
- },
- "@aws-sdk/node-http-handler": {
- "version": "3.82.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.82.0.tgz",
- "integrity": "sha512-yyq/DA/IMzL4fLJhV7zVfP7aUQWPHfOKTCJjWB3KeV5YPiviJtSKb/KyzNi+gQyO7SmsL/8vQbQrf3/s7N/2OA==",
- "requires": {
- "@aws-sdk/abort-controller": "3.78.0",
- "@aws-sdk/protocol-http": "3.78.0",
- "@aws-sdk/querystring-builder": "3.78.0",
- "@aws-sdk/types": "3.78.0",
- "tslib": "^2.3.1"
- },
- "dependencies": {
- "@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ=="
- }
- }
- },
- "@aws-sdk/property-provider": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.78.0.tgz",
- "integrity": "sha512-PZpLvV0hF6lqg3CSN9YmphrB/t5LVJVWGJLB9d9qm7sJs5ksjTYBb5bY91OQ3zit0F4cqBMU8xt2GQ9J6d4DvQ==",
- "requires": {
- "@aws-sdk/types": "3.78.0",
- "tslib": "^2.3.1"
- },
- "dependencies": {
- "@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ=="
- }
- }
- },
- "@aws-sdk/protocol-http": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.78.0.tgz",
- "integrity": "sha512-SQB26MhEK96yDxyXd3UAaxLz1Y/ZvgE4pzv7V3wZiokdEedM0kawHKEn1UQJlqJLEZcQI9QYyysh3rTvHZ3fyg==",
- "requires": {
- "@aws-sdk/types": "3.78.0",
- "tslib": "^2.3.1"
- },
- "dependencies": {
- "@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ=="
- }
- }
- },
- "@aws-sdk/querystring-builder": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.78.0.tgz",
- "integrity": "sha512-aib6RW1WAaTQDqVgRU1Ku9idkhm90gJKbCxVaGId+as6QHNUqMChEfK2v+0afuKiPNOs5uWmqvOXI9+Gt+UGDg==",
- "requires": {
- "@aws-sdk/types": "3.78.0",
- "@aws-sdk/util-uri-escape": "3.55.0",
- "tslib": "^2.3.1"
- },
- "dependencies": {
- "@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ=="
- }
- }
- },
- "@aws-sdk/querystring-parser": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.78.0.tgz",
- "integrity": "sha512-csaH8YTyN+KMNczeK6fBS8l7iJaqcQcKOIbpQFg5upX4Ly5A56HJn4sVQhY1LSgfSk4xRsNfMy5mu6BlsIiaXA==",
- "requires": {
- "@aws-sdk/types": "3.78.0",
- "tslib": "^2.3.1"
- },
- "dependencies": {
- "@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ=="
- }
- }
- },
- "@aws-sdk/service-error-classification": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.78.0.tgz",
- "integrity": "sha512-x7Lx8KWctJa01q4Q72Zb4ol9L/era3vy2daASu8l2paHHxsAPBE0PThkvLdUSLZSzlHSVdh3YHESIsT++VsK4w=="
- },
- "@aws-sdk/shared-ini-file-loader": {
- "version": "3.80.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.80.0.tgz",
- "integrity": "sha512-3d5EBJjnWWkjLK9skqLLHYbagtFaZZy+3jUTlbTuOKhlOwe8jF7CUM3j6I4JA6yXNcB3w0exDKKHa8w+l+05aA==",
- "requires": {
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/signature-v4": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.78.0.tgz",
- "integrity": "sha512-eePjRYuzKoi3VMr/lgrUEF1ytLeH4fA/NMCykr/uR6NMo4bSJA59KrFLYSM7SlWLRIyB0UvJqygVEvSxFluyDw==",
- "requires": {
- "@aws-sdk/is-array-buffer": "3.55.0",
- "@aws-sdk/types": "3.78.0",
- "@aws-sdk/util-hex-encoding": "3.58.0",
- "@aws-sdk/util-middleware": "3.78.0",
- "@aws-sdk/util-uri-escape": "3.55.0",
- "tslib": "^2.3.1"
- },
- "dependencies": {
- "@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ=="
- }
- }
- },
- "@aws-sdk/smithy-client": {
- "version": "3.234.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.234.0.tgz",
- "integrity": "sha512-8AtR/k4vsFvjXeQbIzq/Wy7Nbk48Ou0wUEeVYPHWHPSU8QamFWORkOwmKtKMfHAyZvmqiAPeQqHFkq+UJhWyyQ==",
- "peer": true,
- "requires": {
- "@aws-sdk/middleware-stack": "3.226.0",
- "@aws-sdk/types": "3.226.0",
- "tslib": "^2.3.1"
- },
- "dependencies": {
- "@aws-sdk/middleware-stack": {
- "version": "3.226.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.226.0.tgz",
- "integrity": "sha512-85wF29LvPvpoed60fZGDYLwv1Zpd/cM0C22WSSFPw1SSJeqO4gtFYyCg2squfT3KI6kF43IIkOCJ+L7GtryPug==",
- "peer": true,
- "requires": {
- "tslib": "^2.3.1"
- }
- }
- }
- },
- "@aws-sdk/types": {
- "version": "3.226.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.226.0.tgz",
- "integrity": "sha512-MmmNHrWeO4man7wpOwrAhXlevqtOV9ZLcH4RhnG5LmRce0RFOApx24HoKENfFCcOyCm5LQBlsXCqi0dZWDWU0A==",
- "requires": {
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/url-parser": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.78.0.tgz",
- "integrity": "sha512-iQn2AjECUoJE0Ae9XtgHtGGKvUkvE8hhbktGopdj+zsPBe4WrBN2DgVxlKPPrBonG/YlcL1D7a5EXaujWSlUUw==",
- "requires": {
- "@aws-sdk/querystring-parser": "3.78.0",
- "@aws-sdk/types": "3.78.0",
- "tslib": "^2.3.1"
- },
- "dependencies": {
- "@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ=="
- }
- }
- },
- "@aws-sdk/util-base64-browser": {
- "version": "3.58.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.58.0.tgz",
- "integrity": "sha512-0ebsXIZNpu/fup9OgsFPnRKfCFbuuI9PPRzvP6twzLxUB0c/aix6Co7LGHFKcRKHZdaykoJMXArf8eHj2Nzv1Q==",
- "requires": {
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/util-base64-node": {
- "version": "3.55.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.55.0.tgz",
- "integrity": "sha512-UQ/ZuNoAc8CFMpSiRYmevaTsuRKzLwulZTnM8LNlIt9Wx1tpNvqp80cfvVj7yySKROtEi20wq29h31dZf1eYNQ==",
- "requires": {
- "@aws-sdk/util-buffer-from": "3.55.0",
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/util-body-length-browser": {
- "version": "3.55.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.55.0.tgz",
- "integrity": "sha512-Ei2OCzXQw5N6ZkTMZbamUzc1z+z1R1Ja5tMEagz5BxuX4vWdBObT+uGlSzL8yvTbjoPjnxWA2aXyEqaUP3JS8Q==",
- "requires": {
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/util-body-length-node": {
- "version": "3.55.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.55.0.tgz",
- "integrity": "sha512-lU1d4I+9wJwydduXs0SxSfd+mHKjxeyd39VwOv6i2KSwWkPbji9UQqpflKLKw+r45jL7+xU/zfeTUg5Tt/3Gew==",
- "requires": {
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/util-buffer-from": {
- "version": "3.55.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.55.0.tgz",
- "integrity": "sha512-uVzKG1UgvnV7XX2FPTylBujYMKBPBaq/qFBxfl0LVNfrty7YjpfieQxAe6yRLD+T0Kir/WDQwGvYC+tOYG3IGA==",
- "requires": {
- "@aws-sdk/is-array-buffer": "3.55.0",
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/util-config-provider": {
- "version": "3.55.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.55.0.tgz",
- "integrity": "sha512-30dzofQQfx6tp1jVZkZ0DGRsT0wwC15nEysKRiAcjncM64A0Cm6sra77d0os3vbKiKoPCI/lMsFr4o3533+qvQ==",
- "requires": {
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/util-defaults-mode-browser": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.78.0.tgz",
- "integrity": "sha512-fsKEqlRbrztjpdTsMbZTlWxFpo3Av9QeYYpJuFaZbwfE0ElzinUU54kKwUrKbi60HRroQV+itoUNj3JogQDeHw==",
- "requires": {
- "@aws-sdk/property-provider": "3.78.0",
- "@aws-sdk/types": "3.78.0",
- "bowser": "^2.11.0",
- "tslib": "^2.3.1"
- },
- "dependencies": {
- "@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ=="
- }
- }
- },
- "@aws-sdk/util-defaults-mode-node": {
- "version": "3.81.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.81.0.tgz",
- "integrity": "sha512-+7YOtl+TxF08oXt2h/ONP5qk6ZZg6GaO1YSAdpjIfco4odhpy7N2AlEGSX0jZyP6Zbfi+8N7yihBa4sOuOf+Cw==",
- "requires": {
- "@aws-sdk/config-resolver": "3.80.0",
- "@aws-sdk/credential-provider-imds": "3.81.0",
- "@aws-sdk/node-config-provider": "3.80.0",
- "@aws-sdk/property-provider": "3.78.0",
- "@aws-sdk/types": "3.78.0",
- "tslib": "^2.3.1"
- },
- "dependencies": {
- "@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ=="
- }
- }
- },
- "@aws-sdk/util-dynamodb": {
- "version": "3.82.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-dynamodb/-/util-dynamodb-3.82.0.tgz",
- "integrity": "sha512-uzFcs5O0lnReJTYvJNCDuwAP3O6Tcl0uLhGPIy0JRJwT02WT1ZdRbB8Y/H73A2WvKIzYyWh0gWpy0Bqu8wehXw==",
- "requires": {
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/util-hex-encoding": {
- "version": "3.58.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.58.0.tgz",
- "integrity": "sha512-Rl+jXUzk/FJkOLYfUVYPhKa2aUmTpeobRP31l8IatQltSzDgLyRHO35f6UEs7Ztn5s1jbu/POatLAZ2WjbgVyg==",
- "requires": {
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/util-locate-window": {
- "version": "3.208.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.208.0.tgz",
- "integrity": "sha512-iua1A2+P7JJEDHVgvXrRJSvsnzG7stYSGQnBVphIUlemwl6nN5D+QrgbjECtrbxRz8asYFHSzhdhECqN+tFiBg==",
- "requires": {
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/util-middleware": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.78.0.tgz",
- "integrity": "sha512-Hi3wv2b0VogO4mzyeEaeU5KgIt4qeo0LXU5gS6oRrG0T7s2FyKbMBkJW3YDh/Y8fNwqArZ+/QQFujpP0PIKwkA==",
- "requires": {
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/util-uri-escape": {
- "version": "3.55.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.55.0.tgz",
- "integrity": "sha512-mmdDLUpFCN2nkfwlLdOM54lTD528GiGSPN1qb8XtGLgZsJUmg3uJSFIN2lPeSbEwJB3NFjVas/rnQC48i7mV8w==",
- "requires": {
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/util-user-agent-browser": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.78.0.tgz",
- "integrity": "sha512-diGO/Bf4ggBOEnfD7lrrXaaXOwOXGz0bAJ0HhpizwEMlBld5zfDlWXjNpslh+8+u3EHRjPJQ16KGT6mp/Dm+aw==",
- "requires": {
- "@aws-sdk/types": "3.78.0",
- "bowser": "^2.11.0",
- "tslib": "^2.3.1"
- },
- "dependencies": {
- "@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ=="
- }
- }
- },
- "@aws-sdk/util-user-agent-node": {
- "version": "3.80.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.80.0.tgz",
- "integrity": "sha512-QV26qIXws1m6sZXg65NS+XrQ5NhAzbDVQLtEVE4nC39UN8fuieP6Uet/gZm9mlLI9hllwvcV7EfgBM3GSC7pZg==",
- "requires": {
- "@aws-sdk/node-config-provider": "3.80.0",
- "@aws-sdk/types": "3.78.0",
- "tslib": "^2.3.1"
- },
- "dependencies": {
- "@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ=="
- }
- }
- },
- "@aws-sdk/util-utf8-browser": {
- "version": "3.55.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.55.0.tgz",
- "integrity": "sha512-ljzqJcyjfJpEVSIAxwtIS8xMRUly84BdjlBXyp6cu4G8TUufgjNS31LWdhyGhgmW5vYBNr+LTz0Kwf6J+ou7Ug==",
- "requires": {
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/util-utf8-node": {
- "version": "3.55.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.55.0.tgz",
- "integrity": "sha512-FsFm7GFaC7j0tlPEm/ri8bU2QCwFW5WKjxUg8lm1oWaxplCpKGUsmcfPJ4sw58GIoyoGu4QXBK60oCWosZYYdQ==",
- "requires": {
- "@aws-sdk/util-buffer-from": "3.55.0",
- "tslib": "^2.3.1"
- }
- },
- "@aws-sdk/util-waiter": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.78.0.tgz",
- "integrity": "sha512-8pWd0XiNOS8AkWQyac8VNEI+gz/cGWlC2TAE2CJp0rOK5XhvlcNBINai4D6TxQ+9foyJXLOI1b8nuXemekoG8A==",
- "requires": {
- "@aws-sdk/abort-controller": "3.78.0",
- "@aws-sdk/types": "3.78.0",
- "tslib": "^2.3.1"
- },
- "dependencies": {
- "@aws-sdk/types": {
- "version": "3.78.0",
- "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz",
- "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ=="
- }
- }
- },
- "@cyclic.sh/dynamodb": {
- "version": "0.0.33",
- "resolved": "https://registry.npmjs.org/@cyclic.sh/dynamodb/-/dynamodb-0.0.33.tgz",
- "integrity": "sha512-rkqp0VZcFGfNqw3yvyzj38pUGSgWHEqJIf7zsu8xZD5zEOaS7XkpJTx1xfKEgeu+OMdyhCaRyj91UYt+mYvHSw==",
- "requires": {
- "@aws-sdk/client-dynamodb": "3.82.0",
- "@aws-sdk/lib-dynamodb": "3.82.0"
- }
- },
- "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"
- }
- },
- "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=="
- },
- "balanced-match": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
- "dev": true
- },
- "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"
- }
- },
- "bowser": {
- "version": "2.11.0",
- "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz",
- "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA=="
- },
- "brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "dev": true,
- "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"
- }
- },
- "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"
- }
- },
- "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"
- }
- },
- "commander": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
- "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA=="
- },
- "concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
- "dev": true
- },
- "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": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
- },
- "cross-spawn": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
- "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
- "requires": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.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"
- }
- },
- "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=="
- },
- "ee-first": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
- "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
- },
- "encodeurl": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
- "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
- },
- "entities": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
- "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A=="
- },
- "env-cmd": {
- "version": "10.1.0",
- "resolved": "https://registry.npmjs.org/env-cmd/-/env-cmd-10.1.0.tgz",
- "integrity": "sha512-mMdWTT9XKN7yNth/6N6g2GuKuJTsKMDHlQFUDacb/heQRRWOTIZ42t1rMHnQu4jYxU1ajdTeJM+9eEETlqToMA==",
- "requires": {
- "commander": "^4.0.0",
- "cross-spawn": "^7.0.0"
- }
- },
- "escape-html": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
- "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
- },
- "etag": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
- "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
- },
- "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"
- }
- },
- "fast-xml-parser": {
- "version": "3.19.0",
- "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-3.19.0.tgz",
- "integrity": "sha512-4pXwmBplsCPv8FOY1WRakF970TjNGnGnfbOnLqjlYvMiF1SR3yOHyxMR/YCXpPTOspNF5gwudqktIP4VsWkvBg=="
- },
- "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": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
- },
- "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.1",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
- "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
- "requires": {
- "function-bind": "^1.1.1",
- "has": "^1.0.3",
- "has-symbols": "^1.0.1"
- }
- },
- "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": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
- "dev": true
- },
- "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"
- }
- },
- "ignore-by-default": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz",
- "integrity": "sha1-SMptcvbGo68Aqa1K5odr44ieKwk=",
- "dev": true
- },
- "inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
- },
- "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": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
- "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
- },
- "isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
- },
- "media-typer": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
- "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
- },
- "merge-descriptors": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
- "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
- },
- "methods": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
- "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4="
- },
- "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==",
- "dev": true,
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- },
- "mnemonist": {
- "version": "0.38.3",
- "resolved": "https://registry.npmjs.org/mnemonist/-/mnemonist-0.38.3.tgz",
- "integrity": "sha512-2K9QYubXx/NAjv4VLq1d1Ly8pWNC5L3BrixtdkyTegXWJIqY+zLNDhhX/A+ZwWt70tB1S8H4BE8FLYEFyNoOBw==",
- "requires": {
- "obliterator": "^1.6.1"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- },
- "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.22",
- "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.22.tgz",
- "integrity": "sha512-B8YqaKMmyuCO7BowF1Z1/mkPqLk6cs/l63Ojtd6otKjMx47Dq1utxfRxcavH1I7VSaL8n5BUaoutadnsX3AAVQ==",
- "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"
- }
- },
- "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
- }
- }
- },
- "nopt": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz",
- "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=",
- "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-inspect": {
- "version": "1.12.1",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.1.tgz",
- "integrity": "sha512-Y/jF6vnvEtOPGiKD1+q+X0CiUYRQtEHp89MLLUJ7TUivtH8Ugn2+3A7Rynqk7BRsAoqeOQWnFnjpDrKSxDgIGA=="
- },
- "obliterator": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/obliterator/-/obliterator-1.6.1.tgz",
- "integrity": "sha512-9WXswnqINnnhOG/5SLimUlzuU1hFJUc8zkwyD59Sd+dPOMf05PmnYG/d6Q7HZ+KmgkZJa1PxRso6QdM3sTNHig=="
- },
- "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-key": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="
- },
- "path-to-regexp": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
- "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
- },
- "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
- },
- "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=="
- },
- "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=="
- },
- "shebang-command": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
- "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
- "requires": {
- "shebang-regex": "^3.0.0"
- }
- },
- "shebang-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="
- },
- "side-channel": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
- "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
- "requires": {
- "call-bind": "^1.0.0",
- "get-intrinsic": "^1.0.2",
- "object-inspect": "^1.9.0"
- }
- },
- "simple-update-notifier": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.1.0.tgz",
- "integrity": "sha512-VpsrsJSUcJEseSbMHkrsrAVSdvVS5I96Qo1QAQ4FxQ9wXFcB+pjj7FB7/us9+GcgfW4ziHtYMc1J0PLczb55mg==",
- "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
- }
- }
- },
- "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": "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"
- }
- },
- "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"
- }
- },
- "tslib": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz",
- "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA=="
- },
- "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": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
- },
- "utils-merge": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
- "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
- },
- "uuid": {
- "version": "8.3.2",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
- "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="
- },
- "vary": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
- "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
- },
- "which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "requires": {
- "isexe": "^2.0.0"
- }
- }
- }
-}
diff --git a/package.json b/package.json
index a55a875ee..0bbc1411b 100644
--- a/package.json
+++ b/package.json
@@ -1,21 +1,40 @@
{
- "name": "starter-rest-api",
+ "name": "cm-node-api",
"version": "1.0.0",
- "description": "",
+ "description": "common node api",
"main": "index.js",
"scripts": {
- "dev": "env-cmd nodemon index.js",
- "repl": "env-cmd node"
+ "test": "echo \"Error: no test specified\" && exit 1",
+ "start": "node server.js",
+ "server": "nodemon server.js"
},
- "keywords": [],
- "author": "Kam Lasater ",
+ "author": "teckraft",
"license": "ISC",
- "devDependencies": {
- "nodemon": "^2.0.22"
- },
"dependencies": {
- "@cyclic.sh/dynamodb": "^0.0.33",
- "env-cmd": "^10.1.0",
- "express": "^4.18.1"
+ "@sendgrid/mail": "^6.5.2",
+ "axios": "^0.19.2",
+ "bcrypt": "^5.1.0",
+ "cors": "^2.8.5",
+ "dotenv": "^16.0.1",
+ "express": "^4.17.1",
+ "express-async-handler": "^1.2.0",
+ "express-jwt": "^5.3.1",
+ "fast-two-sms": "^3.0.0",
+ "json-to-pivot-json": "^1.0.1",
+ "jsonfile": "^5.0.0",
+ "jsonwebtoken": "^9.0.2",
+ "mailtrap": "^3.0.1",
+ "moment": "^2.29.4",
+ "mongoose": "^5.7.6",
+ "multer": "^1.4.5-lts.1",
+ "node-cron": "^3.0.3",
+ "nodemailer": "^6.8.0",
+ "nodemon": "^2.0.20",
+ "otp-generator": "^4.0.1",
+ "qs": "^6.11.2",
+ "sendgrid": "^5.2.3",
+ "swagger-ui-express": "^4.5.0",
+ "unirest": "^0.6.0",
+ "web-push": "^3.6.7"
}
}
diff --git a/server.js b/server.js
new file mode 100644
index 000000000..09745d9a7
--- /dev/null
+++ b/server.js
@@ -0,0 +1,76 @@
+const express = require('express')
+const cors = require('cors')
+const bodyParser = require('body-parser')
+const errorHandler = require('./_helpers/error-handler')
+const environment = require('./environment')
+const PORT = process.env.PORT || 6001
+const swaggerUi = require('swagger-ui-express');
+const swaggerDocument = require('./swagger.json');
+
+
+const app = express()
+
+app.use('/api-docs', swaggerUi.serve);
+app.get('/api-docs', swaggerUi.setup(swaggerDocument));
+
+app.use(bodyParser.urlencoded({ extended: false }))
+app.use(bodyParser.json())
+app.use(cors({
+ origin: '*'
+}));
+app.get('/', (req, res) => {
+ console.log('Welcome to NODE API (Port: ' + PORT + ' , Environment: ' + environment.env + ')')
+ res.send('Welcome to NODE API (Port: ' + PORT + ' , Environment: ' + environment.env + ')')
+})
+
+// Generate VAPID keys
+
+const publicVapidKey = "BEKPLQAEHd_3zRpN2m-BM0tXaePeRODsKc_UBh75ptZwUo4Wtg7AJCklz_caWCcB3S6iTAntMlH6CK_PdUxqem4";
+const privateVapidKey = "V6m2WCVjEcciyazC0oNgBvivkLx1pZWREwoxgw8-6xY";
+
+
+app.use('/member', require('./controllers/member.controller'))
+app.use('/admin', require('./controllers/admin.controller'))
+app.use('/login', require('./controllers/login.controller'))
+app.use('/masterLogin', require('./controllers/masterLogin.controller'))
+app.use('/role', require('./controllers/role.controller'))
+app.use('/email', require('./controllers/emailRoutes'))
+app.use('/upi', require('./controllers/upi.controller'))
+app.use('/subscription', require('./controllers/subscriptions.controller'))
+app.use('/wallet', require('./controllers/wallet.controller'))
+app.use('/withdraw', require('./controllers/withdraw.controller'))
+app.use('/payment', require('./controllers/payment.controller'))
+app.use('/game', require('./controllers/game.controller'))
+app.use('/game2', require('./controllers/game2.controller'))
+app.use('/sms', require('./controllers/mobileSms.controller'))
+app.use('/feedback', require('./controllers/feedback.controller'))
+app.use('/packages', require('./controllers/packages.controller'))
+app.use('/game1F', require('./controllers/game1F.controller'))
+app.use('/game2F', require('./controllers/game2F.controller'))
+app.use('/profit', require('./controllers/profit.controller'))
+app.use('/orderId', require('./controllers/orderId.controller'))
+app.use('/notification', require('./controllers/sendNotification.controller'))
+
+
+
+app.use('/roomeCode', require('./service/roomCode'))
+
+
+
+
+
+
+app.use('/upload', require('./fileUpload'))
+
+
+
+app.use('/masterimport', require('./controllers/masterimport.controller'))
+
+
+app.use(errorHandler)
+
+app.listen(PORT, () => {
+ console.log(`Server started on port ${PORT} , Environment: ${environment.env}`)
+})
+
+
diff --git a/service/admin.service.js b/service/admin.service.js
new file mode 100644
index 000000000..a738e43af
--- /dev/null
+++ b/service/admin.service.js
@@ -0,0 +1,143 @@
+const db = require("../_helpers/db");
+const dbAdmin = db.admin;
+const smsObj = require("../_helpers/sms");
+const bcrypt = require("bcrypt");
+const otpGenerator = require("otp-generator");
+
+
+
+async function add(req, res) {
+ var existsMatch = await dbAdmin.find({ mobile: req.body.mobile });
+ if (existsMatch !== null && existsMatch.length > 0) {
+ return { responseCode: -1 };
+ }
+ const member = {
+ email: req.body.email,
+ name: req.body.name,
+ mobile: req.body.mobile,
+ password: req.body.password,
+ role: req.body.role,
+ registerDate:req.body.registerDate,
+ isDeleted:false
+ };
+ var result;
+ bcrypt.hash(req.body.password, 10, async function (err, hash) {
+ if (err) {
+ throw err;
+ }
+ member.password = hash;
+ result = await dbAdmin(member).save();
+ });
+ return { data: result, responseCode: 1, responseMessage: "success" };
+}
+async function update(req, res, next) {
+
+ if (req.body.password.length > 0) {
+ bcrypt.hash(req.body.password, 10, async function (err, hash) {
+ if (err) {
+ throw err;
+ }
+ req.body.password = hash;
+
+ var result = await dbAdmin.updateOne(
+ { _id: req.params.id },
+ req.body,
+ function (err) {
+ if (err) return next(err);
+ }
+ );
+ return { data: result, responseCode: 1, responseMessage: "Updated" };
+ });
+ return { data: result, responseCode: 1, responseMessage: "Updated" };
+ } else {
+ var result = await dbAdmin.updateOne(
+ { _id: req.params.id },
+ req.body,
+ function (err) {
+ if (err) return next(err);
+ }
+ );
+ return { data: result, responseCode: 1, responseMessage: "Updated" };
+ }
+}
+async function update1(req, res, next) {
+ var existsMatch = await dbAdmin.find({ mobile: req.body.mobile });
+ if (existsMatch !== null && existsMatch.length > 0) {
+ return { responseCode: -1 };
+ }
+ var result = await dbAdmin.updateOne(
+ { _id: req.params.id },
+ req.body,
+ function (err) {
+ if (err) return next(err);
+ }
+ );
+ return { data: result, responseCode: 1, responseMessage: "Updated" };
+}
+
+async function remove(req, res, next) {
+ let _id = parseInt(req.params.id);
+
+ var result = await dbAdmin
+ .deleteOne({ id: _id })
+ .then(function () {
+ // Success
+ })
+ .catch(function (error) {
+ });
+ return { data: result, responseCode: 1, responseMessage: "Deleted" };
+}
+async function read(req) {
+ console.log(req.params.id);
+ var result = await dbAdmin
+ .findOne({ _id: req.params.id })
+ console.log(result);
+
+ var outputObj = {
+ name: result.name,
+ mobile: result.mobile,
+ address: result.address,
+ id: result.id,
+ email: result.email,
+ };
+ return { data: outputObj };
+}
+async function readByUser(req) {
+ var result = await dbAdmin
+ .find({ _id: req.params._id,isDeleted:false })
+ .populate(["companyId","role"]);
+ return { data: result };
+}
+async function readByUser1(req) {
+ var result = await dbAdmin
+ .find({_id: req.params._id,role:req.body.roleId,isDeleted:false })
+ return { data: result };
+}
+async function readByUser2(req) {
+ var result = await dbAdmin
+ .find({ _id: req.params._id,isDeleted:true })
+ .populate("role");
+ return { data: result };
+}
+
+async function readAll(req) {
+ var result = await dbAdmin.find();
+ return { data: result };
+}
+async function deletedMember(req) {
+ var result = await dbAdmin.find();
+ return { data: result };
+}
+
+module.exports = {
+ add,
+ update,
+ update1,
+ read,
+ readAll,
+ deletedMember,
+ remove,
+ readByUser,
+ readByUser1,
+ readByUser2
+};
diff --git a/service/defaultUserSetting.service.js b/service/defaultUserSetting.service.js
new file mode 100644
index 000000000..d2d732277
--- /dev/null
+++ b/service/defaultUserSetting.service.js
@@ -0,0 +1,66 @@
+const db= require("../_helpers/db");
+const dbDefaultUserSetting = db.defaultUserSetting;
+
+
+async function add(req, res) {
+ var existsMatch = await dbDefaultUserSetting.find();
+ // if (existsMatch !== null && existsMatch.length > 0) {
+ // return { responseCode: -1 };
+ // }
+
+ var result = await dbDefaultUserSetting(req.body).save().then(d => {
+ return comp = db.company.findByIdAndUpdate(
+ req.body.companyId,
+ { $push: { DefaultUserSetting: d._id } },
+ { new: true, useFindAndModify: false }
+ )});
+
+ //smsObj.SendOtp(req.body.mobile);
+ return { data: result, responseCode: 1, responseMessage: "success" };
+ }
+ async function update(req, res, next) {
+ var result = await dbDefaultUserSetting.updateOne(
+ { id: req.params.id },
+ req.body,
+ function (err) {
+ if (err) return next(err);
+ }
+ );
+ return { data: result, responseCode: 1, responseMessage: "Updated" };
+ }
+
+ async function remove(req, res, next) {
+ let _id = parseInt(req.params.id);
+
+ var result = await dbDefaultUserSetting
+ .deleteOne({ id: _id })
+ .then(function () {
+ // Success
+ })
+ .catch(function (error) {
+ console.log(error); // Failure
+ });
+ return { data: result, responseCode: 1, responseMessage: "Deleted" };
+ }
+ async function read(req) {
+ var result = await dbDefaultUserSetting.findOne({ id: req.params.id }).populate('companyId');
+ return { data: result };
+ }
+ async function readByState(req) {
+
+ var result = await dbDefaultUserSetting.find({ stateId: req.params.stateId }).populate('companyId');
+ return { data: result };
+ }
+ async function readAll(req) {
+ var result = await dbDefaultUserSetting.find().populate('companyId');
+ return { data: result };
+ }
+
+ module.exports = {
+ add,
+ update,
+ read,
+ readAll,
+ remove,
+ readByState
+ };
\ No newline at end of file
diff --git a/service/feedback.service.js b/service/feedback.service.js
new file mode 100644
index 000000000..6910e7a95
--- /dev/null
+++ b/service/feedback.service.js
@@ -0,0 +1,47 @@
+const db = require("../_helpers/db");
+const dbFeedback = db.feedback;
+const smsObj = require("../_helpers/sms");
+
+async function add(req, res) {
+
+ var result = await dbFeedback(req.body)
+ .save()
+ //smsObj.SendOtp(req.body.mobile);
+ return { data: result, responseCode: 1, responseMessage: "success" };
+}
+
+
+async function remove(req, res, next) {
+ let _id = parseInt(req.params.id);
+
+ var result = await dbFeedback
+ .deleteOne({ id: _id })
+ .then(function () {
+ // Success
+ })
+ .catch(function (error) {
+ console.log(error); // Failure
+ });
+ return { data: result, responseCode: 1, responseMessage: "Deleted" };
+}
+async function read(req) {
+ var result = await dbFeedback
+ .findOne({ _id: req.params.id })
+ .populate("memberId");
+
+ return { data: result };
+}
+
+async function readAll(req) {
+ var result = await dbFeedback.find().populate("memberId");
+ return { data: result };
+ }
+
+
+
+module.exports = {
+ add,
+ read,
+ readAll,
+ remove,
+};
diff --git a/service/game.service.js b/service/game.service.js
new file mode 100644
index 000000000..cd45718f9
--- /dev/null
+++ b/service/game.service.js
@@ -0,0 +1,332 @@
+const moment = require("moment");
+const db = require("../_helpers/db");
+const cron = require('node-cron');
+const dbGame = db.game;
+const smsObj = require("../_helpers/sms");
+const dbSubscription = db.subscription;
+const webpush = require('web-push');
+
+
+const task = async() => {
+ // console.log('Task executed at:', new Date());
+ gameTableCheck();
+ //gameTableCheck1();
+//console.log(new Date())
+
+};
+const cronExpression = '*/5 * * * * *'; // Every 30 seconds
+cron.schedule(cronExpression, task);
+console.log('Scheduler started. Task will run every 30 seconds.');
+
+async function gameTableCheck(req, res) {
+ var result = await dbGame.findOne({status: "created"});
+ if (result !== null){
+ var gameTime = result.gameDate
+ const updatedDate =await new Date(gameTime.getTime() + 4 * 60000)
+ if(updatedDate {
+ var result = await dbSubscription.find()
+const results = await Promise.all(result.map(async (k, v) => {
+
+ const publicVapidKey = "BEKPLQAEHd_3zRpN2m-BM0tXaePeRODsKc_UBh75ptZwUo4Wtg7AJCklz_caWCcB3S6iTAntMlH6CK_PdUxqem4";
+ const privateVapidKey = "V6m2WCVjEcciyazC0oNgBvivkLx1pZWREwoxgw8-6xY";
+
+ webpush.setVapidDetails("mailto: ", publicVapidKey, privateVapidKey);
+
+
+ const subscription = JSON.parse(k.subscription);
+
+ const payload = JSON.stringify({
+ "title": "Ludo king Jaipur",
+ "body": `🤑 New Challenge of Rs-${req} ⚔️`,
+ "icon": "https://realludoking.com/static/media/Realludokinglogo.png",
+ "image": "https://realludoking.com/static/media/Realludokinglogo.png",
+ "badge": "https://realludoking.com/static/media/Realludokinglogo.png",
+
+ });
+ webpush.sendNotification(subscription, payload).catch(console.log);
+ // console.log("result",JSON.parse(k.subscription))
+
+})
+)
+
+}
+
+
+
+async function add(req, res) {
+ send(req.body.gameAmount)
+
+ var result = await dbGame(req.body)
+ .save()
+ //smsObj.SendOtp(req.body.mobile);
+ return { data: result, responseCode: 1, responseMessage: "success" };
+}
+async function update(req, res, next) {
+ var result = await dbGame.updateOne(
+ { _id: req.params.id },
+ req.body,
+ function (err) {
+ if (err) return (err);
+ }
+ );
+ return { data: result, responseCode: 1, responseMessage: "Updated" };
+}
+
+async function remove(req, res, next) {
+ let _id = parseInt(req.params.id);
+
+ var result = await dbGame
+ .deleteOne({ id: _id })
+ .then(function () {
+ // Success
+ })
+ .catch(function (error) {
+ console.log(error); // Failure
+ });
+ return { data: result, responseCode: 1, responseMessage: "Deleted" };
+}
+async function read(req) {
+ var result = await dbGame
+ .findOne({ _id: req.params.id })
+ .populate(['player1','player2']);
+
+ return { data: result };
+}
+async function readRuningGame(req) {
+ var result = await dbGame
+ .findOne({ player1: req.params.Userid ,status:"created" })
+ .populate(['player1','player2']);
+ return { data: result };
+}
+async function readRuningGame2(req) {
+ var result = await dbGame
+ .findOne({ player1: req.params.Userid ,status:"joined" })
+ .populate(['player1','player2']);
+ return { data: result };
+}
+async function readRuningGame3(req) {
+ var result = await dbGame
+ .findOne({ player2: req.params.Userid ,status:"joined" })
+ .populate(['player1','player2']);
+ return { data: result };
+}
+async function readRuningGame4(req) {
+ var result = await dbGame
+ .find({ player1: req.params.Userid ,status:"success" })
+ .populate(['player1','player2']);
+ return { data: result };
+}
+async function readRuningGame5(req) {
+ var result = await dbGame
+ .find({ player2: req.params.Userid ,status:"success" })
+ .populate(['player1','player2']);
+ return { data: result };
+}
+async function readRuningGame1(req) {
+ var result = await dbGame
+ .findOne({ player2: req.params.Userid ,status:"created"})
+ .populate(['player1','player2']);
+ return { data: result };
+}
+async function readByUser(req) {
+ var result = await dbGame
+ .findOne({ status: "created",playerCount : "1",gameAmount:req.body.gameAmount})
+ .populate(['player1','player2']);
+ return { data: result };
+}
+async function readAll(req) {
+ var result = await dbGame.find({ status: "created"}).populate(['player1','player2']);
+ return { data: result };
+}
+async function readAllCancle(req) {
+ var result = await dbGame.find({status :"cancelled"}).populate(["player1"]);
+ return { data: result };
+}
+async function readAllSuccess(req) {
+ var result = await dbGame.find({status :"success"}).populate(["player1","player2"]);
+ return { data: result };
+}
+
+
+async function monthlyReport(req) {
+ var fromDate = req.body.fromDate;
+ var toDate = req.body.toDate;
+ var successGameCount = '';
+
+ if (fromDate === null || fromDate === undefined || toDate === null || toDate === undefined) {
+ toDate = new Date();
+
+ successGameCount = await dbGame.aggregate([
+
+ {
+ $match: {
+ status: "success" // Specify your condition here
+ }
+ },
+ {
+ $group: {
+ _id: null,
+ count: { $sum: 1 }
+ }
+ }
+ ]);
+
+ }
+ else {
+ successGameCount = await dbGame.aggregate([
+ {
+ $match: {
+ "gameDate": {
+ $gte: moment(req.body.fromDate).endOf("day").toDate(),
+ $lte: moment(req.body.toDate).endOf("day").toDate()
+ }
+ }
+ },
+ {
+ $match: {
+ status: "success" // Specify your condition here
+ }
+ },
+ {
+ $group: {
+ _id: null,
+ count: { $sum: 1 }
+ }
+ }
+
+ ]);
+
+ }
+ return successGameCount;
+}
+async function monthlyReport2(req) {
+ var fromDate = req.body.fromDate;
+ var toDate = req.body.toDate;
+ var cancelGameCount = '';
+
+ if (fromDate === null || fromDate === undefined || toDate === null || toDate === undefined) {
+ toDate = new Date();
+
+ cancelGameCount = await dbGame.aggregate([
+
+ {
+ $match: {
+ status: "cancelled" // Specify your condition here
+ }
+ },
+ {
+ $group: {
+ _id: null,
+ count: { $sum: 1 }
+ }
+ }
+ ]);
+
+ }
+ else {
+ cancelGameCount = await dbGame.aggregate([
+ {
+ $match: {
+ "gameDate": {
+ $gte: moment(req.body.fromDate).endOf("day").toDate(),
+ $lte: moment(req.body.toDate).endOf("day").toDate()
+ }
+ }
+ },
+ {
+ $match: {
+ status: "cancelled" // Specify your condition here
+ }
+ },
+ {
+ $group: {
+ _id: null,
+ count: { $sum: 1 }
+ }
+ }
+
+ ]);
+ console.log("cancelGameCount",cancelGameCount)
+
+ }
+ return cancelGameCount;
+}
+async function successGameReport(req, res) {
+ var result = await monthlyReport(req, res);
+ return { data: result };
+}
+async function cancelGameReport(req, res) {
+ var result = await monthlyReport2(req, res);
+ return { data: result };
+}
+
+
+
+
+module.exports = {
+ add,
+ update,
+ read,
+ readAll,
+ readByUser,
+ remove,
+ readRuningGame,
+ readRuningGame1,
+ readRuningGame2,
+ readRuningGame3,
+ readRuningGame4,
+ readRuningGame5,
+ readAllCancle,
+ readAllSuccess,
+ successGameReport,
+ cancelGameReport,
+};
diff --git a/service/game1F.service.js b/service/game1F.service.js
new file mode 100644
index 000000000..add9ddd8a
--- /dev/null
+++ b/service/game1F.service.js
@@ -0,0 +1,96 @@
+const db = require("../_helpers/db");
+const dbGame = db.game1F;
+const smsObj = require("../_helpers/sms");
+
+async function add(req, res) {
+ console.log("hyy")
+ var result = await dbGame(req.body).save()
+ //smsObj.SendOtp(req.body.mobile);
+ console.log("result",result)
+ return { data: result, responseCode: 1, responseMessage: "success" };
+}
+async function update(req, res, next) {
+ var result = await dbGame.updateOne(
+ { _id: req.params.id },
+ req.body,
+ function (err) {
+ if (err) return next(err);
+ }
+ );
+ return { data: result, responseCode: 1, responseMessage: "Updated" };
+}
+
+async function remove(req, res, next) {
+ let _id = parseInt(req.params.id);
+
+ var result = await dbGame
+ .deleteOne({ id: _id })
+ .then(function () {
+ // Success
+ })
+ .catch(function (error) {
+ console.log(error); // Failure
+ });
+ return { data: result, responseCode: 1, responseMessage: "Deleted" };
+}
+async function read(req) {
+ var result = await dbGame
+ .findOne({ _id: req.params.id })
+ .populate(['player1','player2']);
+
+ return { data: result };
+}
+
+async function readAll(req) {
+ var result = await dbGame.find().populate(["player1","player2"]);
+ return { data: result };
+}
+async function readAllCancle(req) {
+ var result = await dbGame.find({status :"unsolved"}).populate(["player1","player2","game","reporter"]);
+ return { data: result };
+}
+async function readAllCancle1(req) {
+ var result = await dbGame.find({status :"unsolved1"}).populate(["player1","player2","game","reporter"]);
+ return { data: result };
+}
+async function readAllSuccess(req) {
+ var result = await dbGame.find({status :"solved"}).populate(["player1","player2"]);
+ return { data: result };
+}
+async function monthlyReport(req) {
+
+ var unsolvedGame = '';
+
+
+ unsolvedGame = await dbGame.aggregate([
+
+ {
+ $match: {
+ status: "unsolved" // Specify your condition here
+ }
+ },
+ {
+ $group: {
+ _id: null,
+ count: { $sum: 1 }
+ }
+ }
+
+ ]);
+ return unsolvedGame;
+}
+async function unsolvedGame(req, res) {
+ var result = await monthlyReport(req, res);
+ return { data: result };
+}
+module.exports = {
+ add,
+ update,
+ read,
+ readAll,
+ remove,
+ readAllCancle,
+ readAllCancle1,
+ readAllSuccess,
+ unsolvedGame,
+};
diff --git a/service/game2.service.js b/service/game2.service.js
new file mode 100644
index 000000000..bd57d9dff
--- /dev/null
+++ b/service/game2.service.js
@@ -0,0 +1,322 @@
+const moment = require("moment");
+const db = require("../_helpers/db");
+const cron = require('node-cron');
+const dbGame = db.game2;
+const smsObj = require("../_helpers/sms");
+const dbSubscription = db.subscription;
+const webpush = require('web-push');
+
+const task = async() => {
+ //console.log('Task executed at:', new Date());
+ gameTableCheck();
+ //gameTableCheck1();
+};
+const cronExpression = '*/5 * * * * *'; // Every 30 seconds
+cron.schedule(cronExpression, task);
+
+console.log('Scheduler started. Task will run every 30 seconds.');
+
+async function gameTableCheck(req, res) {
+ var result = await dbGame.findOne({status: "created"});
+ if (result !== null){
+ var gameTime = result.gameDate
+ const updatedDate =await new Date(gameTime.getTime() + 4 * 60000)
+ if(updatedDate {
+ var result = await dbSubscription.find()
+const results = await Promise.all(result.map(async (k, v) => {
+
+ const publicVapidKey = "BEKPLQAEHd_3zRpN2m-BM0tXaePeRODsKc_UBh75ptZwUo4Wtg7AJCklz_caWCcB3S6iTAntMlH6CK_PdUxqem4";
+ const privateVapidKey = "V6m2WCVjEcciyazC0oNgBvivkLx1pZWREwoxgw8-6xY";
+
+ webpush.setVapidDetails("mailto: ", publicVapidKey, privateVapidKey);
+
+
+ const subscription = JSON.parse(k.subscription);
+
+ const payload = JSON.stringify({
+ "title": "Ludo king Jaipur",
+ "body": `🤑 New Challenge of Rs-${req} ⚔️`,
+ "icon": "https://realludoking.com/static/media/Realludokinglogo.png",
+ "image": "https://realludoking.com/static/media/Realludokinglogo.png",
+ "badge": "https://realludoking.com/static/media/Realludokinglogo.png",
+
+ });
+ webpush.sendNotification(subscription, payload).catch(console.log);
+ // console.log("result",JSON.parse(k.subscription))
+
+})
+)
+
+}
+
+
+
+async function add(req, res) {
+ send(req.body.gameAmount)
+
+ var result = await dbGame(req.body)
+ .save()
+ //smsObj.SendOtp(req.body.mobile);
+ return { data: result, responseCode: 1, responseMessage: "success" };
+}
+async function update(req, res, next) {
+ var result = await dbGame.updateOne(
+ { _id: req.params.id },
+ req.body,
+ function (err) {
+ if (err) return next(err);
+ }
+ );
+ return { data: result, responseCode: 1, responseMessage: "Updated" };
+}
+
+async function remove(req, res, next) {
+ let _id = parseInt(req.params.id);
+
+ var result = await dbGame
+ .deleteOne({ id: _id })
+ .then(function () {
+ // Success
+ })
+ .catch(function (error) {
+ console.log(error); // Failure
+ });
+ return { data: result, responseCode: 1, responseMessage: "Deleted" };
+}
+async function read(req) {
+ var result = await dbGame
+ .findOne({ _id: req.params.id })
+ .populate(['player1','player2']);
+
+ return { data: result };
+}
+async function readRuningGame(req) {
+ var result = await dbGame
+ .findOne({ player1: req.params.Userid ,status:"created" })
+ .populate(['player1','player2']);
+ return { data: result };
+}
+async function readRuningGame2(req) {
+ var result = await dbGame
+ .findOne({ player1: req.params.Userid ,status:"joined" })
+ .populate(['player1','player2']);
+ return { data: result };
+}
+async function readRuningGame3(req) {
+ var result = await dbGame
+ .findOne({ player2: req.params.Userid ,status:"joined" })
+ .populate(['player1','player2']);
+ return { data: result };
+}
+async function readRuningGame4(req) {
+ var result = await dbGame
+ .find({ player1: req.params.Userid ,status:"success" })
+ .populate(['player1','player2']);
+ return { data: result };
+}
+async function readRuningGame5(req) {
+ var result = await dbGame
+ .find({ player2: req.params.Userid ,status:"success" })
+ .populate(['player1','player2']);
+ return { data: result };
+}
+async function readRuningGame1(req) {
+ var result = await dbGame
+ .findOne({ player2: req.params.Userid ,status:"created"})
+ .populate(['player1','player2']);
+ return { data: result };
+}
+async function readByUser(req) {
+ var result = await dbGame
+ .findOne({ status: "created",playerCount : "1",gameAmount:req.body.gameAmount})
+ .populate(['player1','player2']);
+ return { data: result };
+}
+async function readAll(req) {
+ var result = await dbGame.find({ status: "created"}).populate(['player1','player2']);
+ return { data: result };
+}
+async function readAllCancle(req) {
+ var result = await dbGame.find({status :"cancelled"}).populate(["player1"]);
+ return { data: result };
+}
+async function readAllSuccess(req) {
+ var result = await dbGame.find({status :"success"}).populate(["player1","player2"]);
+ return { data: result };
+}
+
+async function monthlyReport(req) {
+ var fromDate = req.body.fromDate;
+ var toDate = req.body.toDate;
+ var successGameCount = '';
+
+ if (fromDate === null || fromDate === undefined || toDate === null || toDate === undefined) {
+ toDate = new Date();
+
+ successGameCount = await dbGame.aggregate([
+
+ {
+ $match: {
+ status: "success" // Specify your condition here
+ }
+ },
+ {
+ $group: {
+ _id: null,
+ count: { $sum: 1 }
+ }
+ }
+ ]);
+
+ }
+ else {
+ successGameCount = await dbGame.aggregate([
+ {
+ $match: {
+ "gameDate": {
+ $gte: moment(req.body.fromDate).endOf("day").toDate(),
+ $lte: moment(req.body.toDate).endOf("day").toDate()
+ }
+ }
+ },
+ {
+ $match: {
+ status: "success" // Specify your condition here
+ }
+ },
+ {
+ $group: {
+ _id: null,
+ count: { $sum: 1 }
+ }
+ }
+
+ ]);
+
+ }
+ return successGameCount;
+}
+async function monthlyReport2(req) {
+ var fromDate = req.body.fromDate;
+ var toDate = req.body.toDate;
+ var cancelGameCount = '';
+
+ if (fromDate === null || fromDate === undefined || toDate === null || toDate === undefined) {
+ toDate = new Date();
+
+ cancelGameCount = await dbGame.aggregate([
+
+ {
+ $match: {
+ status: "cancelled" // Specify your condition here
+ }
+ },
+ {
+ $group: {
+ _id: null,
+ count: { $sum: 1 }
+ }
+ }
+ ]);
+
+ }
+ else {
+ cancelGameCount = await dbGame.aggregate([
+ {
+ $match: {
+ "gameDate": {
+ $gte: moment(req.body.fromDate).endOf("day").toDate(),
+ $lte: moment(req.body.toDate).endOf("day").toDate()
+ }
+ }
+ },
+ {
+ $match: {
+ status: "cancelled" // Specify your condition here
+ }
+ },
+ {
+ $group: {
+ _id: null,
+ count: { $sum: 1 }
+ }
+ }
+
+ ]);
+
+ }
+ return cancelGameCount;
+}
+async function successGameReport(req, res) {
+ var result = await monthlyReport(req, res);
+ return { data: result };
+}
+async function cancelGameReport(req, res) {
+ var result = await monthlyReport2(req, res);
+ return { data: result };
+}
+
+
+
+
+
+module.exports = {
+ add,
+ update,
+ read,
+ readAll,
+ readByUser,
+ remove,
+ readRuningGame,
+ readRuningGame1,
+ readRuningGame2,
+ readRuningGame3,
+ readRuningGame4,
+ readRuningGame5,
+ readAllCancle,
+ readAllSuccess,
+ successGameReport,
+ cancelGameReport
+};
diff --git a/service/game2F.service.js b/service/game2F.service.js
new file mode 100644
index 000000000..05ac5c388
--- /dev/null
+++ b/service/game2F.service.js
@@ -0,0 +1,96 @@
+const db = require("../_helpers/db");
+const dbGame = db.game2F;
+const smsObj = require("../_helpers/sms");
+
+async function add(req, res) {
+ console.log("hyy")
+ var result = await dbGame(req.body).save()
+ //smsObj.SendOtp(req.body.mobile);
+ console.log("result",result)
+ return { data: result, responseCode: 1, responseMessage: "success" };
+}
+async function update(req, res, next) {
+ var result = await dbGame.updateOne(
+ { _id: req.params.id },
+ req.body,
+ function (err) {
+ if (err) return next(err);
+ }
+ );
+ return { data: result, responseCode: 1, responseMessage: "Updated" };
+}
+
+async function remove(req, res, next) {
+ let _id = parseInt(req.params.id);
+
+ var result = await dbGame
+ .deleteOne({ id: _id })
+ .then(function () {
+ // Success
+ })
+ .catch(function (error) {
+ console.log(error); // Failure
+ });
+ return { data: result, responseCode: 1, responseMessage: "Deleted" };
+}
+async function read(req) {
+ var result = await dbGame
+ .findOne({ _id: req.params.id })
+ .populate(['player1','player2']);
+
+ return { data: result };
+}
+
+async function readAll(req) {
+ var result = await dbGame.find().populate(["player1","player2"]);
+ return { data: result };
+}
+async function readAllCancle(req) {
+ var result = await dbGame.find({status :"unsolved"}).populate(["player1","player2","game","reporter"]);
+ return { data: result };
+}
+async function readAllCancle1(req) {
+ var result = await dbGame.find({status :"unsolved2"}).populate(["player1","player2","game","reporter"]);
+ return { data: result };
+}
+async function readAllSuccess(req) {
+ var result = await dbGame.find({status :"solved"}).populate(["player1","player2"]);
+ return { data: result };
+}
+async function monthlyReport(req) {
+
+ var unsolvedGame = '';
+
+
+ unsolvedGame = await dbGame.aggregate([
+
+ {
+ $match: {
+ status: "unsolved" // Specify your condition here
+ }
+ },
+ {
+ $group: {
+ _id: null,
+ count: { $sum: 1 }
+ }
+ }
+
+ ]);
+ return unsolvedGame;
+}
+async function unsolvedGame(req, res) {
+ var result = await monthlyReport(req, res);
+ return { data: result };
+}
+module.exports = {
+ add,
+ update,
+ read,
+ readAll,
+ remove,
+ readAllCancle,
+ readAllCancle1,
+ readAllSuccess,
+ unsolvedGame,
+};
diff --git a/service/generateOTP.js b/service/generateOTP.js
new file mode 100644
index 000000000..18c14a820
--- /dev/null
+++ b/service/generateOTP.js
@@ -0,0 +1,13 @@
+const otpGenerator = require("otp-generator");
+
+const generateOTP = () => {
+ const OTP = otpGenerator.generate(6, {
+ upperCaseAlphabets: false,
+ lowerCaseAlphabets: false,
+ specialChars: false,
+ });
+
+ return OTP;
+};
+
+module.exports = generateOTP;
diff --git a/service/login.service.js b/service/login.service.js
new file mode 100644
index 000000000..bd75f271e
--- /dev/null
+++ b/service/login.service.js
@@ -0,0 +1,99 @@
+const db = require("../_helpers/db");
+const dbMembers = db.members;
+const bcrypt = require("bcrypt");
+const dotenv = require('dotenv');
+const jwt = require('jsonwebtoken');
+const JWT_SECRET_KEY = "asdf_orbit_orbot"
+
+const TOKEN_HEADER_KEY = "fdsa_orbit_orbot"
+
+async function comparePassword(plaintextPassword, hash) {
+ const result = await bcrypt.compare(plaintextPassword, hash);
+ return result;
+}
+
+async function validate(req, res) {
+ var result = await dbMembers.findOne({
+ mobile: req.body.mobile
+ }).populate(['role', 'member', 'companyId']);
+
+ var dbpwd = result.password;
+ var returnResponse = {};
+ var isValid = await comparePassword(req.body.password,dbpwd);
+ result.password= '';
+ let data = {
+ address:result.address,
+ email:result.email,
+ id:result.id,
+ mobile:result.mobile,
+ _id:result._id,
+ name:result.name,
+ registerDate:result.registerDate,
+ memberReferCode:result.memberReferCode,
+ referCode:result.referCode,
+ password:"",
+}
+ let jwtSecretKey =JWT_SECRET_KEY;
+ const token = jwt.sign(data, jwtSecretKey);
+
+ if (isValid) {
+ if(result.isDeleted===false){
+ return {
+ responseCode: 1,
+ responseMessage: "success",
+ auth: token,
+ };
+ }
+ else{
+ return {
+ responseCode: -2,
+ responseMessage: "Deleted",
+ auth: null,
+ };
+ }
+
+ } else {
+ return {
+ responseCode: -1,
+ responseMessage: "Member Not Found",
+ auth: null,
+ };
+ }
+}
+
+async function readByMobile(req, res) {
+ var result = await dbMembers.findOne({
+ mobile: req.body.mobile,
+ });
+ if (result) {
+ let data1 = {
+ address:result.address,
+ email:result.email,
+ id:result.id,
+ mobile:result.mobile,
+ _id:result._id,
+ name:result.name,
+ registerDate:result.registerDate,
+ memberReferCode:result.memberReferCode,
+ referCode:result.referCode,
+ password:"",
+ }
+ let jwtSecretKey =JWT_SECRET_KEY;
+ const token = jwt.sign(data1, jwtSecretKey);
+ return {
+ responseCode: 1,
+ responseMessage: "success",
+ auth: token,
+ };
+ } else {
+ return {
+ responseCode: -1,
+ responseMessage: "Member Not Found",
+
+ };
+ }
+}
+module.exports = {
+ validate,
+ readByMobile,
+};
diff --git a/service/masterLogin.service.js b/service/masterLogin.service.js
new file mode 100644
index 000000000..6fd2c2177
--- /dev/null
+++ b/service/masterLogin.service.js
@@ -0,0 +1,96 @@
+const db = require("../_helpers/db");
+const dbAdmin = db.admin;
+const bcrypt = require("bcrypt");
+const dotenv = require('dotenv');
+const jwt = require('jsonwebtoken');
+const JWT_SECRET_KEY = "asdf_orbit_orbot"
+
+const TOKEN_HEADER_KEY = "fdsa_orbit_orbot"
+
+async function comparePassword(plaintextPassword, hash) {
+ const result = await bcrypt.compare(plaintextPassword, hash);
+ return result;
+}
+
+async function validate(req, res) {
+ var result = await dbAdmin.findOne({
+ mobile: req.body.mobile
+ });
+
+ var dbpwd = result.password;
+ var returnResponse = {};
+ var isValid = await comparePassword(req.body.password,dbpwd);
+ result.password= '';
+ let data = {
+ address:result.address,
+ email:result.email,
+ id:result.id,
+ mobile:result.mobile,
+ _id:result._id,
+ name:result.name,
+ registerDate:result.registerDate,
+ password:"",
+}
+ let jwtSecretKey =JWT_SECRET_KEY;
+ const token = jwt.sign(data, jwtSecretKey);
+
+ if (isValid) {
+ if(result.isDeleted===false){
+ return {
+ responseCode: 1,
+ responseMessage: "success",
+ auth: token,
+ };
+ }
+ else{
+ return {
+ responseCode: -2,
+ responseMessage: "Deleted",
+ auth: null,
+ };
+ }
+
+ } else {
+ return {
+ responseCode: -1,
+ responseMessage: "Member Not Found",
+ auth: null,
+ };
+ }
+}
+
+async function readByMobile(req, res) {
+ var result = await dbAdmin.findOne({
+ mobile: req.body.mobile,
+ }).populate(['role', 'member', 'companyId']);
+ if (result) {
+ let data1 = {
+ address:result.address,
+ email:result.email,
+ id:result.id,
+ mobile:result.mobile,
+ _id:result._id,
+ name:result.name,
+ route:result.route,
+ registerDate:result.registerDate,
+ password:"",
+ }
+ let jwtSecretKey =JWT_SECRET_KEY;
+ const token = jwt.sign(data1, jwtSecretKey);
+ return {
+ responseCode: 1,
+ responseMessage: "success",
+ auth: token,
+ };
+ } else {
+ return {
+ responseCode: -1,
+ responseMessage: "Member Not Found",
+
+ };
+ }
+}
+module.exports = {
+ validate,
+ readByMobile,
+};
diff --git a/service/masterimport.service.js b/service/masterimport.service.js
new file mode 100644
index 000000000..3a7770fd3
--- /dev/null
+++ b/service/masterimport.service.js
@@ -0,0 +1,42 @@
+
+const db = require("../_helpers/db");
+const dbState = db.state;
+const dbCity = db.city;
+
+
+async function bulkStateSave(req, res, next) {
+ let arrStates = req.body;
+
+ var res = arrStates.map((k,v) => {
+
+ dbState({code:k.key, name: k.name}).save();
+ });
+
+ return { data: "success", responseCode: 1, responseMessage: "updated" };
+ }
+
+ async function bulkCitySave(req, res, next) {
+ let arrStates = req.body;
+
+ var res = arrStates.map(async(k,v) => {
+
+ var stateId =await dbState.find({name : k.state})
+ if(stateId){
+ var cit = k.districts.map((r,s) => {
+ dbCity({stateId:stateId[0]._id, name: r}).save();
+ })
+
+ }
+
+
+
+ });
+
+ return { data: "success", responseCode: 1, responseMessage: "updated" };
+ }
+
+ module.exports = {
+ bulkStateSave,
+ bulkCitySave
+ };
+
\ No newline at end of file
diff --git a/service/member.service.js b/service/member.service.js
new file mode 100644
index 000000000..6889d8cac
--- /dev/null
+++ b/service/member.service.js
@@ -0,0 +1,216 @@
+const moment = require("moment");
+const db = require("../_helpers/db");
+const dbMembers = db.members;
+const dbCompany = db.company;
+const smsObj = require("../_helpers/sms");
+const bcrypt = require("bcrypt");
+const otpGenerator = require("otp-generator");
+
+
+async function add(req, res) {
+ var existsMatch = await dbMembers.find({ mobile: req.body.mobile });
+ if (existsMatch !== null && existsMatch.length > 0) {
+ return { responseCode: -1 };
+ }
+ //create company before member, and use companyId in member table.
+ const ReferCode = otpGenerator.generate(10, {
+ upperCaseAlphabets: true,
+ lowerCaseAlphabets: false,
+ specialChars: false,
+ });
+ const member = {
+ email: req.body.email,
+ name: req.body.name,
+ mobile: req.body.mobile,
+ password: req.body.password,
+ memberReferCode: ReferCode,
+ registerDate: req.body.registerDate,
+ referCode: req.body.referCode,
+ isDeleted: false
+ };
+var result;
+ bcrypt.hash(req.body.password, 10, async function (err, hash) {
+ if (err) {
+ throw err;
+ }
+ member.password = hash;
+ result = await dbMembers(member).save()
+
+ });
+ return { data: result, responseCode: 1, responseMessage: "success" };
+
+ //smsObj.SendOtp(req.body.mobile);
+
+}
+async function update(req, res, next) {
+
+ if (req.body.password.length > 0) {
+ bcrypt.hash(req.body.password, 10, async function (err, hash) {
+ if (err) {
+ throw err;
+ }
+ req.body.password = hash;
+
+ var result = await dbMembers.updateOne(
+ { _id: req.params.id },
+ req.body,
+ function (err) {
+ if (err) return next(err);
+ }
+ );
+ return { data: result, responseCode: 1, responseMessage: "Updated" };
+ });
+ return { data: result, responseCode: 1, responseMessage: "Updated" };
+ } else {
+ var result = await dbMembers.updateOne(
+ { _id: req.params.id },
+ req.body,
+ function (err) {
+ if (err) return next(err);
+ }
+ );
+ return { data: result, responseCode: 1, responseMessage: "Updated" };
+ }
+}
+async function update1(req, res, next) {
+ var existsMatch = await dbMembers.find({ mobile: req.body.mobile });
+ if (existsMatch !== null && existsMatch.length > 0) {
+ return { responseCode: -1 };
+ }
+ var result = await dbMembers.updateOne(
+ { _id: req.params.id },
+ req.body,
+ function (err) {
+ if (err) return next(err);
+ }
+ );
+ return { data: result, responseCode: 1, responseMessage: "Updated" };
+}
+
+async function remove(req, res, next) {
+ let _id = parseInt(req.params.id);
+
+ var result = await dbMembers
+ .deleteOne({ id: _id })
+ .then(function () {
+ // Success
+ })
+ .catch(function (error) {
+ });
+ return { data: result, responseCode: 1, responseMessage: "Deleted" };
+}
+async function read(req) {
+ console.log(req.params.id);
+ var result = await dbMembers
+ .findOne({ _id: req.params.id }).populate("wallet")
+ console.log(result);
+
+ var outputObj = {
+ name: result.name,
+ mobile: result.mobile,
+ address: result.address,
+ id: result.id,
+ email: result.email,
+ };
+ return { data: result };
+}
+async function readByUser(req) {
+ var result = await dbMembers
+ .find({ _id: req.params._id, isDeleted: false })
+ .populate(["wallet"]);
+ return { data: result };
+}
+async function readByUser1(req) {
+ var result = await dbMembers
+ .find({ _id: req.params._id, role: req.body.roleId, isDeleted: false })
+ return { data: result };
+}
+async function readByUser2(req) {
+ var result = await dbMembers
+ .find({ _id: req.params._id, isDeleted: true })
+ .populate("wallet");
+ return { data: result };
+}
+
+async function readAll(req) {
+ var result = await dbMembers.find({ isDeleted: false }).populate("wallet");;
+ return { data: result };
+}
+async function deletedMember(req) {
+ var result = await dbMembers.find({ isDeleted: true }).populate("wallet");;
+ return { data: result };
+}
+async function readByReferalCode(req) {
+ var result = await dbMembers.find({memberReferCode: req.body.memberReferCode});
+ return { data: result };
+}
+
+
+
+
+async function monthlyReport(req) {
+ var fromDate = req.body.fromDate;
+ var toDate = req.body.toDate;
+ var userSummery = '';
+
+ if (fromDate === null || fromDate === undefined || toDate === null || toDate === undefined) {
+ toDate = new Date();
+
+ userSummery = await dbMembers.aggregate([
+
+
+ {
+ $group: {
+ _id: null,
+ count: { $sum: 1 }
+ }
+ }
+ ]);
+
+ }
+ else {
+ userSummery = await dbMembers.aggregate([
+ {
+ $match: {
+ "registerDate": {
+ $gte: moment(req.body.fromDate).endOf("day").toDate(),
+ $lte: moment(req.body.toDate).endOf("day").toDate()
+ }
+ }
+ },
+ {
+ $group: {
+ _id: null,
+ count: { $sum: 1 }
+ }
+ }
+
+ ]);
+
+ }
+ return userSummery;
+}
+async function userCountReport(req, res) {
+ var result = await monthlyReport(req, res);
+ return { data: result };
+}
+
+
+
+
+
+
+module.exports = {
+ add,
+ update,
+ update1,
+ read,
+ readAll,
+ deletedMember,
+ remove,
+ readByUser,
+ readByUser1,
+ readByUser2,
+ userCountReport,
+ readByReferalCode
+};
diff --git a/service/mobileSms.js b/service/mobileSms.js
new file mode 100644
index 000000000..115ccc92e
--- /dev/null
+++ b/service/mobileSms.js
@@ -0,0 +1,55 @@
+const generateOTP = require("./generateOTP");
+var express = require("express");
+const router = express.Router();
+var db = require("./../_helpers/db");
+var unirest = require("unirest");
+
+
+const sendEmail = async (request, res) => {
+ const { mobile } = request.body;
+ console.log(mobile);
+
+ const otp = generateOTP();
+
+ var req = unirest("POST","https://www.fast2sms.com/dev/bulkV2");
+
+ req.headers({
+ "authorization": "OVBWKNTi6YHjUIeMAgv13xdLEXCyt5owcs8fnzJ9hD0Q4m7bZlca2Gzqi9jsVkrt0u6ZPNQpJ3ARdyIO"
+ });
+
+ req.form({
+
+ "route":"otp",
+ "variables_values":otp,
+ "numbers": mobile,
+ });
+ var savedata = {
+ mobile: mobile,
+ otp: otp,
+ }
+ req.end(async function (res) {
+ if (res.error) {
+ console.log(res)
+ }
+ else {
+ console.log(res.body);
+ var existsMatch = await db.otp.find({ mobile: mobile });
+ if (existsMatch !== null && existsMatch.length > 0) {
+
+ await db.otp.findByIdAndUpdate(existsMatch[0]._id, savedata);
+ //return { responseCode: -1 };
+ }
+ else{
+ db.otp(savedata).save();
+ }
+
+ }
+ });
+ return { data: "otp", responseCode: 1, responseMessage: "otpupdated" };
+};
+async function readAll(req) {
+ var result = await db.otp.find();
+ return { data: result };
+}
+
+module.exports = { sendEmail,readAll };
diff --git a/service/orderId.service.js b/service/orderId.service.js
new file mode 100644
index 000000000..9f00d3e7d
--- /dev/null
+++ b/service/orderId.service.js
@@ -0,0 +1,60 @@
+const moment = require("moment");
+const db = require("../_helpers/db");
+const dbOrderId = db.orderId;
+const smsObj = require("../_helpers/sms");
+
+async function add(req, res) {
+ var result = await dbOrderId(req.body)
+ .save()
+ //smsObj.SendOtp(req.body.mobile);
+ return { data: result, responseCode: 1, responseMessage: "success" };
+}
+async function update(req, res, next) {
+ var result = await dbOrderId.updateOne(
+ { _id: req.params.id },
+ req.body,
+ function (err) {
+ if (err) return next(err);
+ }
+ );
+ return { data: result, responseCode: 1, responseMessage: "Updated" };
+}
+
+async function remove(req, res, next) {
+ let _id = parseInt(req.params.id);
+
+ var result = await dbOrderId
+ .deleteOne({ id: _id })
+ .then(function () {
+ // Success
+ })
+ .catch(function (error) {
+ console.log(error); // Failure
+ });
+ return { data: result, responseCode: 1, responseMessage: "Deleted" };
+}
+async function read(req) {
+ var result = await dbOrderId
+ .findOne({ _id: req.params.id })
+ .populate();
+
+ return { data: result };
+}
+
+async function readAll(req) {
+ var result = await dbOrderId.find();
+ return { data: result };
+}
+
+
+
+
+module.exports = {
+ add,
+ update,
+ read,
+ readAll,
+
+ remove,
+
+};
diff --git a/service/packages.services.js b/service/packages.services.js
new file mode 100644
index 000000000..b7396eea9
--- /dev/null
+++ b/service/packages.services.js
@@ -0,0 +1,53 @@
+const db = require("../_helpers/db");
+const dbPackage = db.packages;
+const smsObj = require("../_helpers/sms");
+
+async function add(req, res) {
+ var result = await dbPackage(req.body)
+ .save()
+ //smsObj.SendOtp(req.body.mobile);
+ return { data: result, responseCode: 1, responseMessage: "success" };
+}
+async function update(req, res, next) {
+ var result = await dbPackage.updateOne(
+ { _id: req.params.id },
+ req.body,
+ function (err) {
+ if (err) return next(err);
+ }
+ );
+ return { data: result, responseCode: 1, responseMessage: "Updated" };
+}
+
+async function remove(req, res, next) {
+ let _id = parseInt(req.params.id);
+
+ var result = await dbPackage
+ .deleteOne({ id: _id })
+ .then(function () {
+ // Success
+ })
+ .catch(function (error) {
+ console.log(error); // Failure
+ });
+ return { data: result, responseCode: 1, responseMessage: "Deleted" };
+}
+async function read(req) {
+ var result = await dbPackage
+ .findOne({ _id: req.params.id });
+
+ return { data: result };
+}
+
+async function readAll(req) {
+ var result = await dbPackage.find();
+ return { data: result };
+}
+
+module.exports = {
+ add,
+ update,
+ read,
+ readAll,
+ remove,
+};
diff --git a/service/payment.service.js b/service/payment.service.js
new file mode 100644
index 000000000..627f57925
--- /dev/null
+++ b/service/payment.service.js
@@ -0,0 +1,258 @@
+const moment = require("moment");
+const db = require("../_helpers/db");
+const dbPayment = db.payment;
+const dbWallet = db.wallet;
+const dbMember = db.members;
+const smsObj = require("../_helpers/sms");
+const axios = require('axios');
+const qs = require('qs');
+const cron = require('node-cron');
+
+const task = async() => {
+ paymentUpdateC();
+};
+const cronExpression = '*/1 * * * * *'; // Every 30 seconds
+cron.schedule(cronExpression, task);
+
+async function paymentUpdateC(req, res) {
+ var result = await dbPayment.find({status:"requested"})
+
+const results = await Promise.all(result.map(async (k, v) => {
+
+const data1 = {
+ user_token: "eb0c44f223f310f7a6bc94432b44d9e9",
+ order_id: k.orderId,
+}
+
+ const url = 'https://payment.ludokingjaipur.com/api/check-order-status';
+
+ const data = qs.stringify(data1);
+
+ const config = {
+ method: 'post',
+ url: url,
+ data : data
+ };
+
+ axios(config)
+ .then(function (response) {
+
+if(response.data.result.status==="PENDING"){
+ var gameTime = k.transactionDate
+ const updatedDate =new Date(gameTime.getTime() + 5 * 60000)
+ if(updatedDate 0) {
+ return { responseCode: -1 };
+ }
+
+ var result = await dbRole(req.body).save();
+
+ //smsObj.SendOtp(req.body.mobile);
+ return { data: result, responseCode: 1, responseMessage: "success" };
+}
+async function update(req, res, next) {
+ var result = await dbRole.updateOne(
+ { id: req.params.id },
+ req.body,
+ function (err) {
+ if (err) return next(err);
+ }
+ );
+ return { data: result, responseCode: 1, responseMessage: "Updated" };
+}
+
+async function remove(req, res, next) {
+ let _id = parseInt(req.params.id);
+
+ var result = await dbRole
+ .deleteOne({ id: _id })
+ .then(function () {
+ // Success
+ })
+ .catch(function (error) {
+ console.log(error); // Failure
+ });
+ return { data: result, responseCode: 1, responseMessage: "Deleted" };
+}
+async function read(req) {
+ var result = await dbRole.findOne({ id: req.params.id });
+ return { data: result };
+}
+async function readByState(req) {
+
+ var result = await dbRole.find({ stateId: req.params.stateId });
+ return { data: result };
+}
+async function readAll(req) {
+ var result = await dbRole.find();
+ return { data: result };
+}
+
+module.exports = {
+ add,
+ update,
+ read,
+ readAll,
+ remove,
+ readByState
+};
diff --git a/service/roomCode.js b/service/roomCode.js
new file mode 100644
index 000000000..f7bdaa505
--- /dev/null
+++ b/service/roomCode.js
@@ -0,0 +1,73 @@
+const express = require("express");
+const axios = require('axios');
+const router = express.Router();
+const qs = require('qs');
+router.get('/', async (req, res) => {
+ const options = {
+ method: 'GET',
+ url: 'https://ludo-king-room-code-api.p.rapidapi.com/roomcode/c',
+ headers: {
+ 'X-RapidAPI-Key': '679a1295edmsh06a539c0ebb34d3p1bf229jsnf3d26418d766',
+ 'X-RapidAPI-Host': 'ludo-king-room-code-api.p.rapidapi.com'
+ }
+ };
+
+ try {
+ const response = await axios.request(options);
+ res.json(response.data);
+ } catch (error) {
+ console.error(error);
+ res.status(500).json({ error: 'Internal Server Error' });
+ }
+
+});
+router.post('/payment', async (req, res) => {
+ const url = 'https://payment.ludokingjaipur.com/api/create-order';
+
+ const data = qs.stringify(req.body);
+
+ const config = {
+ method: 'post',
+ url: url,
+ headers: {
+ 'Content-Type': 'application/x-www-form-urlencoded'
+ },
+ data : data
+ };
+
+ axios(config)
+ .then(function (response) {
+ console.log(JSON.stringify(response.data));
+ res.send(JSON.stringify(response.data));
+ })
+ .catch(function (error) {
+ console.log(error);
+ });
+
+
+});
+router.post('/payment/check', async (req, res) => {
+
+ const url = 'https://payment.ludokingjaipur.com/api/check-order-status';
+
+ const data = qs.stringify(req.body);
+
+ const config = {
+ method: 'post',
+ url: url,
+ data : data
+ };
+
+ // Making the request
+ axios(config)
+ .then(function (response) {
+ console.log("JSON.stringify(response.data)",response.data);
+ res.send(JSON.stringify(response.data));
+ })
+ .catch(function (error) {
+ console.log(error);
+ });
+
+
+});
+module.exports = router
diff --git a/service/sendEmail.js b/service/sendEmail.js
new file mode 100644
index 000000000..c9c594d76
--- /dev/null
+++ b/service/sendEmail.js
@@ -0,0 +1,62 @@
+const expressAsyncHandler = require("express-async-handler");
+const dotenv = require("dotenv");
+const nodemailer = require("nodemailer");
+const generateOTP = require("./generateOTP");
+dotenv.config();
+var express = require("express");
+const router = express.Router();
+var db = require("./../_helpers/db");
+
+
+let transporter = nodemailer.createTransport({
+ host: "smtp.gmail.com",
+ port: 587,
+ secure: false,
+ auth: {
+ user: "callbackcoding08@gmail.com",
+ pass: "lzwrknuwnbqgojbn",
+ },
+});
+
+const sendEmail = expressAsyncHandler(async (req, res) => {
+ const { email } = req.body;
+ console.log(email);
+
+ const otp = generateOTP();
+
+ var mailOptions = {
+ from: "callbackcoding08@gmail.com",
+ to: email,
+ subject: "OTP form Milkvan",
+ text: `Your OTP is: ${otp}`,
+ };
+ var savedata = {
+ email: email,
+ otp: otp,
+ }
+
+ transporter.sendMail(mailOptions, async function (error, info) {
+ if (error) {
+ console.log(error);
+ } else {
+ console.log("Email sent successfully!");
+ var existsMatch = await db.otp.find({ email: email });
+ if (existsMatch !== null && existsMatch.length > 0) {
+
+ await db.otp.findByIdAndUpdate(existsMatch[0]._id, savedata);
+ //return { responseCode: -1 };
+ }
+ else{
+ db.otp(savedata).save();
+ }
+
+ }
+ });
+ return { data: "otp", responseCode: 1, responseMessage: 1 };
+});
+async function readAll(req) {
+ var result = await db.otp.find();
+ return { data: result };
+}
+
+module.exports = { sendEmail,readAll };
diff --git a/service/sendNotification.service.js b/service/sendNotification.service.js
new file mode 100644
index 000000000..c25d520e6
--- /dev/null
+++ b/service/sendNotification.service.js
@@ -0,0 +1,36 @@
+const db = require("../_helpers/db");
+const dbSubscription = db.subscription;
+const webpush = require('web-push');
+var count = 1;
+async function send(req, res) {
+ var result = await dbSubscription.find()
+ const results = await Promise.all(result.map(async (k, v) => {
+ count = count +1
+ const publicVapidKey = "BEKPLQAEHd_3zRpN2m-BM0tXaePeRODsKc_UBh75ptZwUo4Wtg7AJCklz_caWCcB3S6iTAntMlH6CK_PdUxqem4";
+ const privateVapidKey = "V6m2WCVjEcciyazC0oNgBvivkLx1pZWREwoxgw8-6xY";
+
+ webpush.setVapidDetails("mailto: ", publicVapidKey, privateVapidKey);
+
+
+ const subscription = JSON.parse(k.subscription);
+
+ const payload = JSON.stringify({
+ "title": "Real Ludo king",
+ "body": "🤑 New Challenge of Rs-2000 ⚔️",
+ "icon": "https://realludoking.com/static/media/Realludokinglogo.png",
+ "image": "https://realludoking.com/static/media/Realludokinglogo.png",
+ "badge": "https://realludoking.com/static/media/Realludokinglogo.png",
+
+ });
+ webpush.sendNotification(subscription, payload).catch(console.log);
+ // console.log("result",JSON.parse(k.subscription))
+ console.log("count",count)
+ })
+ )
+
+ }
+
+module.exports = {
+ send,
+
+};
diff --git a/service/subscribedUser.service.js b/service/subscribedUser.service.js
new file mode 100644
index 000000000..dbbead876
--- /dev/null
+++ b/service/subscribedUser.service.js
@@ -0,0 +1,45 @@
+const db = require("../_helpers/db");
+const dbSubscription = db.subscription;
+
+async function add(req, res) {
+ const data = req.body
+console.log("req.body",data)
+ var result = await dbSubscription(req.body).save();
+
+ //smsObj.SendOtp(req.body.mobile);
+ return { data: result, responseCode: 1, responseMessage: "success" };
+}
+async function remove(req, res, next) {
+ let _id = parseInt(req.params.id);
+
+ var result = await dbSubscription
+ .deleteOne({ id: _id })
+ .then(function () {
+ // Success
+ })
+ .catch(function (error) {
+ console.log(error); // Failure
+ });
+ return { data: result, responseCode: 1, responseMessage: "Deleted" };
+}
+async function read(req) {
+ var result = await dbSubscription.findOne({ member: req.params.id });
+ return { data: result };
+}
+async function readByState(req) {
+
+ var result = await dbSubscription.find({ status: "activate" });
+ return { data: result };
+}
+async function readAll(req) {
+ var result = await dbSubscription.find();
+ return { data: result };
+}
+
+module.exports = {
+ add,
+ read,
+ readAll,
+ remove,
+ readByState
+};
diff --git a/service/upi.service.js b/service/upi.service.js
new file mode 100644
index 000000000..ec102e170
--- /dev/null
+++ b/service/upi.service.js
@@ -0,0 +1,60 @@
+const db = require("../_helpers/db");
+const dbUpi = db.upis;
+
+async function add(req, res) {
+ var existsMatch = await dbUpi.find({ name: req.body.name });
+ if (existsMatch !== null && existsMatch.length > 0) {
+ return { responseCode: -1 };
+ }
+
+ var result = await dbUpi(req.body).save();
+
+ //smsObj.SendOtp(req.body.mobile);
+ return { data: result, responseCode: 1, responseMessage: "success" };
+}
+async function update(req, res, next) {
+ var result = await dbUpi.updateOne(
+ { _id: req.params.id },
+ req.body,
+ function (err) {
+ if (err) return next(err);
+ }
+ );
+ return { data: result, responseCode: 1, responseMessage: "Updated" };
+}
+
+async function remove(req, res, next) {
+ let _id = parseInt(req.params.id);
+
+ var result = await dbUpi
+ .deleteOne({ id: _id })
+ .then(function () {
+ // Success
+ })
+ .catch(function (error) {
+ console.log(error); // Failure
+ });
+ return { data: result, responseCode: 1, responseMessage: "Deleted" };
+}
+async function read(req) {
+ var result = await dbUpi.findOne({ id: req.params.id });
+ return { data: result };
+}
+async function readByState(req) {
+
+ var result = await dbUpi.find({ status: "activate" });
+ return { data: result };
+}
+async function readAll(req) {
+ var result = await dbUpi.find();
+ return { data: result };
+}
+
+module.exports = {
+ add,
+ update,
+ read,
+ readAll,
+ remove,
+ readByState
+};
diff --git a/service/wallet.service.js b/service/wallet.service.js
new file mode 100644
index 000000000..19a46b3b6
--- /dev/null
+++ b/service/wallet.service.js
@@ -0,0 +1,41 @@
+const db = require("../_helpers/db");
+const dbWallet = db.wallet;
+
+async function add(req, res) {
+ var result = await dbWallet(req.body).save().then(d => {
+ return db.members.findByIdAndUpdate(
+ req.body.member,
+ { $push: { wallet: d._id } },
+ { new: true, useFindAndModify: false }
+ );
+ });
+
+ //smsObj.SendOtp(req.body.mobile);
+ return { data: result, responseCode: 1, responseMessage: "success" };
+}
+async function update(req, res, next) {
+ var result = await dbWallet.updateOne(
+ { member: req.params.id },
+ req.body,
+ function (err) {
+ if (err) return next(err);
+ }
+ );
+ return { data: result, responseCode: 1, responseMessage: "Updated" };
+}
+async function read(req) {
+ var result = await dbWallet.findOne({ member: req.params.id });
+ return { data: result };
+}
+
+async function readAll(req) {
+ var result = await dbWallet.find();
+ return { data: result };
+}
+
+module.exports = {
+ add,
+ update,
+ read,
+ readAll,
+};
diff --git a/service/withdraw.service.js b/service/withdraw.service.js
new file mode 100644
index 000000000..b8fce6782
--- /dev/null
+++ b/service/withdraw.service.js
@@ -0,0 +1,124 @@
+const moment = require("moment");
+const db = require("../_helpers/db");
+const dbWithdraw = db.withdraw;
+
+async function add(req, res) {
+ var result = await dbWithdraw(req.body).save();
+
+ //smsObj.SendOtp(req.body.mobile);
+ return { data: result, responseCode: 1, responseMessage: "success" };
+}
+async function update(req, res, next) {
+ var result = await dbWithdraw.updateOne(
+ { _id: req.params.id },
+ req.body,
+ function (err) {
+ if (err) return next(err);
+ }
+ );
+ return { data: result, responseCode: 1, responseMessage: "Updated" };
+}
+async function read(req) {
+ var result = await dbWithdraw.findOne({ member: req.params.id });
+ return { data: result };
+}
+
+async function readAll(req) {
+ var result = await dbWithdraw.find().populate('member');
+ return { data: result };
+}
+async function readByUser(req) {
+ var result = await dbWithdraw
+ .find({ member: req.params.userid });
+ return { data: result };
+}
+async function monthlyReport(req) {
+ var fromDate = req.body.fromDate;
+ var toDate = req.body.toDate;
+ var milkSummary = '';
+
+ if (fromDate === null || fromDate === undefined || toDate === null || toDate === undefined) {
+ toDate = new Date();
+
+ milkSummary = await dbWithdraw.aggregate([
+
+ {
+ $match: {
+ status: "success" // Specify your condition here
+ }
+ },
+ {
+ $group: {
+ _id: null,
+ amount: { $sum: "$amount" },
+ },
+ },
+ ]);
+
+ }
+ else {
+ milkSummary = await dbWithdraw.aggregate([
+ {
+ $match: {
+ "transactionDate": {
+ $gte: moment(req.body.fromDate).endOf("day").toDate(),
+ $lte: moment(req.body.toDate).endOf("day").toDate()
+ }
+ }
+ },
+ {
+ $match: {
+ status: "success" // Specify your condition here
+ }
+ },
+ {
+ $group: {
+ _id: null,
+ amount: { $sum: "$amount" },
+ },
+ },
+
+ ]);
+
+ }
+ return milkSummary;
+}
+async function monthlyReport2(req) {
+ var withdrawRequest = '';
+
+ withdrawRequest = await dbWithdraw.aggregate([
+
+ {
+ $match: {
+ status: "requested" // Specify your condition here
+ }
+ },
+ {
+ $group: {
+ _id: null,
+ count: { $sum: 1 }
+ }
+ }
+
+ ]);
+
+
+ return withdrawRequest;
+ }
+async function reachargeReport(req, res) {
+ var result = await monthlyReport(req, res);
+ return { data: result };
+}
+async function reachargeReport2(req, res) {
+ var result = await monthlyReport2(req, res);
+ return { data: result };
+}
+module.exports = {
+ add,
+ update,
+ read,
+ readAll,
+ reachargeReport,
+ reachargeReport2,
+ readByUser,
+};
diff --git a/swagger.json b/swagger.json
new file mode 100644
index 000000000..6023e59b2
--- /dev/null
+++ b/swagger.json
@@ -0,0 +1,51 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Blah",
+ "description": "",
+ "version": "1.0"
+ },
+ "produces": ["application/json"],
+ "paths": {
+ "/test": {
+ "post": {
+ "x-swagger-router-controller": "home",
+ "operationId": "index",
+ "tags": ["/test"],
+ "description": "[Login 123](https://www.google.com)",
+ "parameters": [{
+ "name": "test",
+ "in": "formData",
+ "type": "array",
+ "collectionFormat": "multi",
+ "items": {
+ "type": "integer"
+ }
+ },
+ { "name": "profileId", "in": "formData", "required": true, "type": "string" },
+ { "name": "file", "in": "formData", "type": "file", "required": "true" }],
+ "responses": {}
+ }
+ },
+ "/bar": {
+ "get": {
+ "x-swagger-router-controller": "bar",
+ "operationId": "impossible",
+ "tags": ["/test"],
+ "description": "",
+ "parameters": [],
+ "responses": {}
+ }
+ },
+ "/member": {
+ "get": {
+ "x-swagger-router-controller": "member",
+ "operationId": "impossible",
+ "tags": ["/member"],
+ "description": "",
+ "parameters": [],
+ "responses": {}
+ }
+ }
+ }
+ }
\ No newline at end of file
diff --git a/uploads/file-1704691606013-gameWin.jpg b/uploads/file-1704691606013-gameWin.jpg
new file mode 100644
index 000000000..f0683c516
Binary files /dev/null and b/uploads/file-1704691606013-gameWin.jpg differ
diff --git a/uploads/file-1704735637868-IMG-20231230-WA0012.jpg b/uploads/file-1704735637868-IMG-20231230-WA0012.jpg
new file mode 100644
index 000000000..f0683c516
Binary files /dev/null and b/uploads/file-1704735637868-IMG-20231230-WA0012.jpg differ
diff --git a/uploads/file-1704743977206-IMG-20231230-WA0012.jpg b/uploads/file-1704743977206-IMG-20231230-WA0012.jpg
new file mode 100644
index 000000000..f0683c516
Binary files /dev/null and b/uploads/file-1704743977206-IMG-20231230-WA0012.jpg differ
diff --git a/uploads/file-1704805617626-Screenshot_20231230_180940_com.ludo.king.jpg b/uploads/file-1704805617626-Screenshot_20231230_180940_com.ludo.king.jpg
new file mode 100644
index 000000000..384dcc7a8
Binary files /dev/null and b/uploads/file-1704805617626-Screenshot_20231230_180940_com.ludo.king.jpg differ
diff --git a/uploads/file-1704805627257-Screenshot_20231230_180940_com.ludo.king.jpg b/uploads/file-1704805627257-Screenshot_20231230_180940_com.ludo.king.jpg
new file mode 100644
index 000000000..384dcc7a8
Binary files /dev/null and b/uploads/file-1704805627257-Screenshot_20231230_180940_com.ludo.king.jpg differ
diff --git a/vhost.conf b/vhost.conf
new file mode 100644
index 000000000..60e02e1fa
--- /dev/null
+++ b/vhost.conf
@@ -0,0 +1,10 @@
+
+
+ ServerName api.realludoking.com
+ SSLEngine on
+ # SSLCertificateFile "/opt/bitnami/apache/conf/api.milkvan.in.crt"
+ # SSLCertificateKeyFile "/opt/bitnami/apache/conf/api.milkvan.in.key"
+ ProxyPass / http://localhost:6001/
+ ProxyPassReverse / http://localhost:6001/
+ # other directories here
+
diff --git a/yarn.lock b/yarn.lock
new file mode 100644
index 000000000..4b45fcd5a
--- /dev/null
+++ b/yarn.lock
@@ -0,0 +1,2702 @@
+# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
+# yarn lockfile v1
+
+
+"@mapbox/node-pre-gyp@^1.0.10":
+ version "1.0.10"
+ resolved "https://registry.yarnpkg.com/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.10.tgz#8e6735ccebbb1581e5a7e652244cadc8a844d03c"
+ integrity sha512-4ySo4CjzStuprMwk35H5pPbkymjv1SF3jGLj6rAHp/xT/RF7TL7bd9CTm1xDY49K2qF7jmR/g7k+SkLETP6opA==
+ dependencies:
+ detect-libc "^2.0.0"
+ https-proxy-agent "^5.0.0"
+ make-dir "^3.1.0"
+ node-fetch "^2.6.7"
+ nopt "^5.0.0"
+ npmlog "^5.0.1"
+ rimraf "^3.0.2"
+ semver "^7.3.5"
+ tar "^6.1.11"
+
+"@sendgrid/client@^6.5.5":
+ version "6.5.5"
+ resolved "https://registry.yarnpkg.com/@sendgrid/client/-/client-6.5.5.tgz#66cf569445d98a795998a894bb432a9939ead7c3"
+ integrity sha512-Nbfgo94gbWSL8PIgJfuHoifyOJJepvV8NQkkglctAEfb1hyozKhrzE6v1kPG/z4j0RodaTtXD5LJj/t0q/VhLA==
+ dependencies:
+ "@sendgrid/helpers" "^6.5.5"
+ "@types/request" "^2.48.4"
+ request "^2.88.0"
+
+"@sendgrid/helpers@^6.5.5":
+ version "6.5.5"
+ resolved "https://registry.yarnpkg.com/@sendgrid/helpers/-/helpers-6.5.5.tgz#de6de9b94794fbf834b4f66a7d44af84bf736459"
+ integrity sha512-uRFEanalfss5hDsuzVXZ1wm7i7eEXHh1py80piOXjobiQ+MxmtR19EU+gDSXZ+uMcEehBGhxnb7QDNN0q65qig==
+ dependencies:
+ chalk "^2.0.1"
+ deepmerge "^4.2.2"
+
+"@sendgrid/mail@^6.5.2":
+ version "6.5.5"
+ resolved "https://registry.yarnpkg.com/@sendgrid/mail/-/mail-6.5.5.tgz#45bef4e4878144304b6688867baa13179deecc4b"
+ integrity sha512-DSu8oTPI0BJFH60jMOG9gM+oeNMoRALFmdAYg2PIXpL+Zbxd7L2GzQZtmf1jLy/8UBImkbB3D74TjiOBiLRK1w==
+ dependencies:
+ "@sendgrid/client" "^6.5.5"
+ "@sendgrid/helpers" "^6.5.5"
+
+"@sindresorhus/is@^0.14.0":
+ version "0.14.0"
+ resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea"
+ integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==
+
+"@szmarczak/http-timer@^1.1.2":
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421"
+ integrity sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==
+ dependencies:
+ defer-to-connect "^1.0.1"
+
+"@types/bson@*":
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/@types/bson/-/bson-4.2.0.tgz#a2f71e933ff54b2c3bf267b67fa221e295a33337"
+ integrity sha512-ELCPqAdroMdcuxqwMgUpifQyRoTpyYCNr1V9xKyF40VsBobsj+BbWNRvwGchMgBPGqkw655ypkjj2MEF5ywVwg==
+ dependencies:
+ bson "*"
+
+"@types/bson@1.x || 4.0.x":
+ version "4.0.5"
+ resolved "https://registry.yarnpkg.com/@types/bson/-/bson-4.0.5.tgz#9e0e1d1a6f8866483f96868a9b33bc804926b1fc"
+ integrity sha512-vVLwMUqhYJSQ/WKcE60eFqcyuWse5fGH+NMAXHuKrUAPoryq3ATxk5o4bgYNtg5aOM4APVg7Hnb3ASqUYG0PKg==
+ dependencies:
+ "@types/node" "*"
+
+"@types/caseless@*":
+ version "0.12.2"
+ resolved "https://registry.yarnpkg.com/@types/caseless/-/caseless-0.12.2.tgz#f65d3d6389e01eeb458bd54dc8f52b95a9463bc8"
+ integrity sha512-6ckxMjBBD8URvjB6J3NcnuAn5Pkl7t3TizAg+xdlzzQGSPSmBcXf8KoIH0ua/i+tio+ZRUHEXp0HEmvaR4kt0w==
+
+"@types/mongodb@^3.5.27":
+ version "3.6.20"
+ resolved "https://registry.yarnpkg.com/@types/mongodb/-/mongodb-3.6.20.tgz#b7c5c580644f6364002b649af1c06c3c0454e1d2"
+ integrity sha512-WcdpPJCakFzcWWD9juKoZbRtQxKIMYF/JIAM4JrNHrMcnJL6/a2NWjXxW7fo9hxboxxkg+icff8d7+WIEvKgYQ==
+ dependencies:
+ "@types/bson" "*"
+ "@types/node" "*"
+
+"@types/node@*":
+ version "18.7.18"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-18.7.18.tgz#633184f55c322e4fb08612307c274ee6d5ed3154"
+ integrity sha512-m+6nTEOadJZuTPkKR/SYK3A2d7FZrgElol9UP1Kae90VVU4a6mxnPuLiIW1m4Cq4gZ/nWb9GrdVXJCoCazDAbg==
+
+"@types/request@^2.48.4":
+ version "2.48.8"
+ resolved "https://registry.yarnpkg.com/@types/request/-/request-2.48.8.tgz#0b90fde3b655ab50976cb8c5ac00faca22f5a82c"
+ integrity sha512-whjk1EDJPcAR2kYHRbFl/lKeeKYTi05A15K9bnLInCVroNDCtXce57xKdI0/rQaA3K+6q0eFyUBPmqfSndUZdQ==
+ dependencies:
+ "@types/caseless" "*"
+ "@types/node" "*"
+ "@types/tough-cookie" "*"
+ form-data "^2.5.0"
+
+"@types/tough-cookie@*":
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.2.tgz#6286b4c7228d58ab7866d19716f3696e03a09397"
+ integrity sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==
+
+abbrev@1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
+ integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==
+
+accepts@~1.3.8:
+ version "1.3.8"
+ resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e"
+ integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==
+ dependencies:
+ mime-types "~2.1.34"
+ negotiator "0.6.3"
+
+addressparser@~1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/addressparser/-/addressparser-1.0.1.tgz#47afbe1a2a9262191db6838e4fd1d39b40821746"
+ integrity sha512-aQX7AISOMM7HFE0iZ3+YnD07oIeJqWGVnJ+ZIKaBZAk03ftmVYVqsGas/rbXKR21n4D/hKCSHypvcyOkds/xzg==
+
+agent-base@6:
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77"
+ integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==
+ dependencies:
+ debug "4"
+
+agent-base@^7.0.2:
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-7.1.0.tgz#536802b76bc0b34aa50195eb2442276d613e3434"
+ integrity sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==
+ dependencies:
+ debug "^4.3.4"
+
+ajv@^6.12.3:
+ version "6.12.6"
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
+ integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
+ dependencies:
+ fast-deep-equal "^3.1.1"
+ fast-json-stable-stringify "^2.0.0"
+ json-schema-traverse "^0.4.1"
+ uri-js "^4.2.2"
+
+ansi-align@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.1.tgz#0cdf12e111ace773a86e9a1fad1225c43cb19a59"
+ integrity sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==
+ dependencies:
+ string-width "^4.1.0"
+
+ansi-regex@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
+ integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
+
+ansi-styles@^3.2.1:
+ version "3.2.1"
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
+ integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
+ dependencies:
+ color-convert "^1.9.0"
+
+ansi-styles@^4.1.0:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
+ integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
+ dependencies:
+ color-convert "^2.0.1"
+
+anymatch@~3.1.2:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716"
+ integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==
+ dependencies:
+ normalize-path "^3.0.0"
+ picomatch "^2.0.4"
+
+append-field@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/append-field/-/append-field-1.0.0.tgz#1e3440e915f0b1203d23748e78edd7b9b5b43e56"
+ integrity sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==
+
+"aproba@^1.0.3 || ^2.0.0":
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc"
+ integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==
+
+are-we-there-yet@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz#372e0e7bd279d8e94c653aaa1f67200884bf3e1c"
+ integrity sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==
+ dependencies:
+ delegates "^1.0.0"
+ readable-stream "^3.6.0"
+
+array-flatten@1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
+ integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==
+
+asn1.js@^5.3.0:
+ version "5.4.1"
+ resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07"
+ integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==
+ dependencies:
+ bn.js "^4.0.0"
+ inherits "^2.0.1"
+ minimalistic-assert "^1.0.0"
+ safer-buffer "^2.1.0"
+
+asn1@~0.2.3:
+ version "0.2.6"
+ resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d"
+ integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==
+ dependencies:
+ safer-buffer "~2.1.0"
+
+assert-plus@1.0.0, assert-plus@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
+ integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==
+
+async.ensureasync@^0.5.2:
+ version "0.5.2"
+ resolved "https://registry.yarnpkg.com/async.ensureasync/-/async.ensureasync-0.5.2.tgz#c3c7e4a4e9b31d96875d56b8504598446e1e305d"
+ integrity sha512-eez/kJFHbnnHUBWpYlmWcjZpho/Oh7SHwnnnuscM8nOZcIJ41t+ACMSYTfNtdrES+XfbGVQtyw+6YK2evQgV5w==
+ dependencies:
+ async.util.ensureasync "0.5.2"
+
+async.queue@^0.5.2:
+ version "0.5.2"
+ resolved "https://registry.yarnpkg.com/async.queue/-/async.queue-0.5.2.tgz#8d5d90812e1481066bc0904e8cc1712b17c3bd7c"
+ integrity sha512-SX5gCWh47bIRLqHAt/zfJmRl2xpCF4OM4kkT3HehVJLmgQfLzYjL6QhLHe+SS4e7FOYU6NgMy2kXPB2wVchncg==
+ dependencies:
+ async.util.queue "0.5.2"
+
+async.util.arrayeach@0.5.2:
+ version "0.5.2"
+ resolved "https://registry.yarnpkg.com/async.util.arrayeach/-/async.util.arrayeach-0.5.2.tgz#58c4e98028d55d69bfb05aeb3af44e0a555a829c"
+ integrity sha512-PIb4rVYjwzLqb93XX2wj0+mA9YTgSWtxQRKxtuLqxXvGj1xZMB6qJUfr1NhS+FSaMPJIE1tF40Gl/o/vlfIz/A==
+
+async.util.ensureasync@0.5.2:
+ version "0.5.2"
+ resolved "https://registry.yarnpkg.com/async.util.ensureasync/-/async.util.ensureasync-0.5.2.tgz#10907f2cbd067a061f99ae6d22e08ced30db0d68"
+ integrity sha512-sQufNz4JYLHO/7ZUklaTGJtiX36gCp28McNNcMZfVYPm/wqi1pKk4xRCPr2DOZDM6KfA54zjG36jQjBU2mLzXg==
+ dependencies:
+ async.util.restparam "0.5.2"
+ async.util.setimmediate "0.5.2"
+
+async.util.isarray@0.5.2:
+ version "0.5.2"
+ resolved "https://registry.yarnpkg.com/async.util.isarray/-/async.util.isarray-0.5.2.tgz#e62dac8f2636f65875dcf7521c2d24d0dfb2bbdf"
+ integrity sha512-wbUzlrwON8RUgi+v/rhF0U99Ce8Osjcn+JP/mFNg6ymvShcobAOvE6cvLajSY5dPqKCOE1xfdhefgBif11zZgw==
+
+async.util.map@0.5.2:
+ version "0.5.2"
+ resolved "https://registry.yarnpkg.com/async.util.map/-/async.util.map-0.5.2.tgz#e588ef86e0b3ab5f027d97af4d6835d055ca69d6"
+ integrity sha512-uXZhyNIH9Jo25jn35lUoEwFLAdZWC2ZQKjLO5PLq8VAisfW6qvSfgDLH4H57/WQSKZSo6OOmuqGhtdvIHDTi1Q==
+
+async.util.noop@0.5.2:
+ version "0.5.2"
+ resolved "https://registry.yarnpkg.com/async.util.noop/-/async.util.noop-0.5.2.tgz#bdd62b97cb0aa3f60b586ad148468698975e58b9"
+ integrity sha512-AdwShXwE0KoskgqVJAck8zcM32nIHj3AC8ZN62ZaR5srhrY235Nw18vOJZWxcOfhxdVM0hRVKM8kMx7lcl7cCQ==
+
+async.util.onlyonce@0.5.2:
+ version "0.5.2"
+ resolved "https://registry.yarnpkg.com/async.util.onlyonce/-/async.util.onlyonce-0.5.2.tgz#b8e6fc004adc923164d79e32f2813ee465c24ff2"
+ integrity sha512-UgQvkU9JZ+I0Cm1f56XyGXcII+J3d/5XWUuHpcevlItuA3WFSJcqZrsyAUck2FkRSD8BwYQX1zUTDp3SJMVESg==
+
+async.util.queue@0.5.2:
+ version "0.5.2"
+ resolved "https://registry.yarnpkg.com/async.util.queue/-/async.util.queue-0.5.2.tgz#57f65abe1a3cdf273d31abd28ab95425f8222ee5"
+ integrity sha512-DlKOFnhCzERL9D3bLKlNdgXwSckckcj+XkCvNuX4KMs4brBc2lHvPg8MK4NoPIhwAvUBGvE4NECdNRY0I5UOEQ==
+ dependencies:
+ async.util.arrayeach "0.5.2"
+ async.util.isarray "0.5.2"
+ async.util.map "0.5.2"
+ async.util.noop "0.5.2"
+ async.util.onlyonce "0.5.2"
+ async.util.setimmediate "0.5.2"
+
+async.util.restparam@0.5.2:
+ version "0.5.2"
+ resolved "https://registry.yarnpkg.com/async.util.restparam/-/async.util.restparam-0.5.2.tgz#03efebf3c0277b97220e525aba750f5e04fc80cd"
+ integrity sha512-Q9Z+zgmtMxFX5i7CnBvNOkgrL5hptztCqwarQluyNudUUk4iCmyjmsQl8MuQEjNh3gGqP5ayvDaextL1VXXgIg==
+
+async.util.setimmediate@0.5.2:
+ version "0.5.2"
+ resolved "https://registry.yarnpkg.com/async.util.setimmediate/-/async.util.setimmediate-0.5.2.tgz#2812ebabf2a58027758d4bc7793d1ccfaf10255f"
+ integrity sha512-aCYF85ZFCQ9Xn0106GcOVx+LvFguIIzfbfRTOlQoie3G4KeSjURfA6f7CfpFAF09FNP2A1MtdjeFdvYeTGDebw==
+
+async@^1.5.0:
+ version "1.5.2"
+ resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a"
+ integrity sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==
+
+async@~0.9.0:
+ version "0.9.2"
+ resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d"
+ integrity sha512-l6ToIJIotphWahxxHyzK9bnLR6kM4jJIIgLShZeqLY7iboHoGkdgFl7W2/Ivi4SkMJYGKqW8vSuk0uKUj6qsSw==
+
+asynckit@^0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
+ integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==
+
+aws-sign2@~0.7.0:
+ version "0.7.0"
+ resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"
+ integrity sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==
+
+aws4@^1.8.0:
+ version "1.11.0"
+ resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59"
+ integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==
+
+axios@>=0.27:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/axios/-/axios-1.1.3.tgz#8274250dada2edf53814ed7db644b9c2866c1e35"
+ integrity sha512-00tXVRwKx/FZr/IDVFt4C+f9FYairX517WoGCL6dpOntqLkZofjhu43F/Xl44UOpqa+9sLFDrG/XAnFsUYgkDA==
+ dependencies:
+ follow-redirects "^1.15.0"
+ form-data "^4.0.0"
+ proxy-from-env "^1.1.0"
+
+axios@^0.19.2:
+ version "0.19.2"
+ resolved "https://registry.yarnpkg.com/axios/-/axios-0.19.2.tgz#3ea36c5d8818d0d5f8a8a97a6d36b86cdc00cb27"
+ integrity sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==
+ dependencies:
+ follow-redirects "1.5.10"
+
+axios@^0.21.1:
+ version "0.21.4"
+ resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575"
+ integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==
+ dependencies:
+ follow-redirects "^1.14.0"
+
+balanced-match@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
+ integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
+
+base64-js@^1.3.1:
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
+ integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
+
+bcrypt-pbkdf@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e"
+ integrity sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==
+ dependencies:
+ tweetnacl "^0.14.3"
+
+bcrypt@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/bcrypt/-/bcrypt-5.1.0.tgz#bbb27665dbc400480a524d8991ac7434e8529e17"
+ integrity sha512-RHBS7HI5N5tEnGTmtR/pppX0mmDSBpQ4aCBsj7CEQfYXDcO74A8sIBYcJMuCsis2E81zDxeENYhv66oZwLiA+Q==
+ dependencies:
+ "@mapbox/node-pre-gyp" "^1.0.10"
+ node-addon-api "^5.0.0"
+
+binary-extensions@^2.0.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
+ integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
+
+bl@^2.2.1:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/bl/-/bl-2.2.1.tgz#8c11a7b730655c5d56898cdc871224f40fd901d5"
+ integrity sha512-6Pesp1w0DEX1N550i/uGV/TqucVL4AM/pgThFSN/Qq9si1/DF9aIHs1BxD8V/QU0HoeHO6cQRTAuYnLPKq1e4g==
+ dependencies:
+ readable-stream "^2.3.5"
+ safe-buffer "^5.1.1"
+
+bluebird@3.5.1:
+ version "3.5.1"
+ resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9"
+ integrity sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==
+
+bn.js@^4.0.0:
+ version "4.12.0"
+ resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88"
+ integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==
+
+body-parser@1.20.0:
+ version "1.20.0"
+ resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.0.tgz#3de69bd89011c11573d7bfee6a64f11b6bd27cc5"
+ 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"
+
+bottleneck@^1.12.0:
+ version "1.16.0"
+ resolved "https://registry.yarnpkg.com/bottleneck/-/bottleneck-1.16.0.tgz#d6ce13808527afc80b69092f15606655e5b21f1a"
+ integrity sha512-HinT6aCt+ZLPVvMtOy8Vd1vQtR2R/Qi06fKRCa4oGiIuFF+CQwNYR/KZTjrEynkER7y9WaY8fhwWKqZp+/aXeg==
+
+boxen@^4.2.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/boxen/-/boxen-4.2.0.tgz#e411b62357d6d6d36587c8ac3d5d974daa070e64"
+ integrity sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==
+ dependencies:
+ ansi-align "^3.0.0"
+ camelcase "^5.3.1"
+ chalk "^3.0.0"
+ cli-boxes "^2.2.0"
+ string-width "^4.1.0"
+ term-size "^2.1.0"
+ type-fest "^0.8.1"
+ widest-line "^3.1.0"
+
+brace-expansion@^1.1.7:
+ version "1.1.11"
+ resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
+ integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
+ dependencies:
+ balanced-match "^1.0.0"
+ concat-map "0.0.1"
+
+braces@~3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
+ integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
+ dependencies:
+ fill-range "^7.0.1"
+
+bson@*:
+ version "4.7.0"
+ resolved "https://registry.yarnpkg.com/bson/-/bson-4.7.0.tgz#7874a60091ffc7a45c5dd2973b5cad7cded9718a"
+ integrity sha512-VrlEE4vuiO1WTpfof4VmaVolCVYkYTgB9iWgYNOrVlnifpME/06fhFRmONgBhClD5pFC1t9ZWqFUQEQAzY43bA==
+ dependencies:
+ buffer "^5.6.0"
+
+bson@^1.1.4:
+ version "1.1.6"
+ resolved "https://registry.yarnpkg.com/bson/-/bson-1.1.6.tgz#fb819be9a60cd677e0853aee4ca712a785d6618a"
+ integrity sha512-EvVNVeGo4tHxwi8L6bPj3y3itEvStdwvvlojVxxbyYfoaxJ6keLgrTuKdyfEAszFK+H3olzBuafE0yoh0D1gdg==
+
+buffer-equal-constant-time@1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819"
+ integrity sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==
+
+buffer-from@^1.0.0:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5"
+ integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==
+
+buffer@^5.6.0:
+ version "5.7.1"
+ resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0"
+ integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==
+ dependencies:
+ base64-js "^1.3.1"
+ ieee754 "^1.1.13"
+
+busboy@^1.0.0:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/busboy/-/busboy-1.6.0.tgz#966ea36a9502e43cdb9146962523b92f531f6893"
+ integrity sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==
+ dependencies:
+ streamsearch "^1.1.0"
+
+bytes@3.1.2:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5"
+ integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==
+
+cacheable-request@^6.0.0:
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912"
+ integrity sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==
+ dependencies:
+ clone-response "^1.0.2"
+ get-stream "^5.1.0"
+ http-cache-semantics "^4.0.0"
+ keyv "^3.0.0"
+ lowercase-keys "^2.0.0"
+ normalize-url "^4.1.0"
+ responselike "^1.0.2"
+
+call-bind@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c"
+ integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==
+ dependencies:
+ function-bind "^1.1.1"
+ get-intrinsic "^1.0.2"
+
+camelcase@^5.3.1:
+ version "5.3.1"
+ resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
+ integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
+
+caseless@~0.12.0:
+ version "0.12.0"
+ resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
+ integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==
+
+chalk@^2.0.1:
+ version "2.4.2"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
+ integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
+ dependencies:
+ ansi-styles "^3.2.1"
+ escape-string-regexp "^1.0.5"
+ supports-color "^5.3.0"
+
+chalk@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4"
+ integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==
+ dependencies:
+ ansi-styles "^4.1.0"
+ supports-color "^7.1.0"
+
+chalk@^4.0.0:
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
+ integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
+ dependencies:
+ ansi-styles "^4.1.0"
+ supports-color "^7.1.0"
+
+chokidar@^3.5.2:
+ version "3.5.3"
+ resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd"
+ integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==
+ 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"
+ optionalDependencies:
+ fsevents "~2.3.2"
+
+chownr@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece"
+ integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==
+
+ci-info@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46"
+ integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==
+
+cli-boxes@^2.2.0:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f"
+ integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==
+
+clone-response@^1.0.2:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.3.tgz#af2032aa47816399cf5f0a1d0db902f517abb8c3"
+ integrity sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==
+ dependencies:
+ mimic-response "^1.0.0"
+
+color-convert@^1.9.0:
+ version "1.9.3"
+ resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
+ integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
+ dependencies:
+ color-name "1.1.3"
+
+color-convert@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
+ integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
+ dependencies:
+ color-name "~1.1.4"
+
+color-name@1.1.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
+ integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
+
+color-name@~1.1.4:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
+ integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
+
+color-support@^1.1.2:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2"
+ integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==
+
+combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6:
+ version "1.0.8"
+ resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
+ integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
+ dependencies:
+ delayed-stream "~1.0.0"
+
+combined-stream@~0.0.4:
+ version "0.0.7"
+ resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-0.0.7.tgz#0137e657baa5a7541c57ac37ac5fc07d73b4dc1f"
+ integrity sha512-qfexlmLp9MyrkajQVyjEDb0Vj+KhRgR/rxLiVhaihlT+ZkX0lReqtH6Ack40CvMDERR4b5eFp3CreskpBs1Pig==
+ dependencies:
+ delayed-stream "0.0.5"
+
+concat-map@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
+ integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==
+
+concat-stream@^1.5.2:
+ version "1.6.2"
+ resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"
+ integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==
+ dependencies:
+ buffer-from "^1.0.0"
+ inherits "^2.0.3"
+ readable-stream "^2.2.2"
+ typedarray "^0.0.6"
+
+configstore@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/configstore/-/configstore-5.0.1.tgz#d365021b5df4b98cdd187d6a3b0e3f6a7cc5ed96"
+ integrity sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==
+ dependencies:
+ dot-prop "^5.2.0"
+ graceful-fs "^4.1.2"
+ make-dir "^3.0.0"
+ unique-string "^2.0.0"
+ write-file-atomic "^3.0.0"
+ xdg-basedir "^4.0.0"
+
+console-control-strings@^1.0.0, console-control-strings@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
+ integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==
+
+content-disposition@0.5.4:
+ version "0.5.4"
+ resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe"
+ integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==
+ dependencies:
+ safe-buffer "5.2.1"
+
+content-type@~1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b"
+ integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==
+
+cookie-signature@1.0.6:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
+ integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==
+
+cookie@0.5.0:
+ version "0.5.0"
+ resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b"
+ integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==
+
+core-js@^3.5.0:
+ version "3.25.1"
+ resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.25.1.tgz#5818e09de0db8956e16bf10e2a7141e931b7c69c"
+ integrity sha512-sr0FY4lnO1hkQ4gLDr24K0DGnweGO1QwSj5BpfQjpSJPdqWalja4cTps29Y/PJVG/P7FYlPDkH3hO+Tr0CvDgQ==
+
+core-util-is@1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
+ integrity sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==
+
+core-util-is@~1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85"
+ integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==
+
+cors@^2.8.5:
+ version "2.8.5"
+ resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29"
+ integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==
+ dependencies:
+ object-assign "^4"
+ vary "^1"
+
+crypto-random-string@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5"
+ integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==
+
+dashdash@^1.12.0:
+ version "1.14.1"
+ resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
+ integrity sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==
+ dependencies:
+ assert-plus "^1.0.0"
+
+debug@2.6.9, debug@^2.2.0:
+ version "2.6.9"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
+ integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
+ dependencies:
+ ms "2.0.0"
+
+debug@3.1.0, debug@=3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
+ integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==
+ dependencies:
+ ms "2.0.0"
+
+debug@4, debug@^4.3.4:
+ version "4.3.4"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
+ integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
+ dependencies:
+ ms "2.1.2"
+
+debug@^3.2.7:
+ version "3.2.7"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a"
+ integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==
+ dependencies:
+ ms "^2.1.1"
+
+decompress-response@^3.3.0:
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3"
+ integrity sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==
+ dependencies:
+ mimic-response "^1.0.0"
+
+deep-extend@^0.6.0:
+ version "0.6.0"
+ resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
+ integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==
+
+deepmerge@^4.2.2:
+ version "4.2.2"
+ resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955"
+ integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==
+
+defer-to-connect@^1.0.1:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591"
+ integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==
+
+delayed-stream@0.0.5:
+ version "0.0.5"
+ resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-0.0.5.tgz#d4b1f43a93e8296dfe02694f4680bc37a313c73f"
+ integrity sha512-v+7uBd1pqe5YtgPacIIbZ8HuHeLFVNe4mUEyFDXL6KiqzEykjbw+5mXZXpGFgNVasdL4jWKgaKIXrEHiynN1LA==
+
+delayed-stream@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
+ integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
+
+delegates@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
+ integrity sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==
+
+denque@^1.4.1:
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/denque/-/denque-1.5.1.tgz#07f670e29c9a78f8faecb2566a1e2c11929c5cbf"
+ integrity sha512-XwE+iZ4D6ZUB7mfYRMb5wByE8L74HCn30FBN7sWnXksWc1LO1bPDl67pBR9o/kC4z/xSNAwkMYcGgqDV3BE3Hw==
+
+depd@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df"
+ integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==
+
+destroy@1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015"
+ integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==
+
+detect-libc@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.1.tgz#e1897aa88fa6ad197862937fbc0441ef352ee0cd"
+ integrity sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==
+
+dot-prop@^5.2.0:
+ version "5.3.0"
+ resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88"
+ integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==
+ dependencies:
+ is-obj "^2.0.0"
+
+dotenv@^16.0.1:
+ version "16.0.2"
+ resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.0.2.tgz#0b0f8652c016a3858ef795024508cddc4bffc5bf"
+ integrity sha512-JvpYKUmzQhYoIFgK2MOnF3bciIZoItIIoryihy0rIA+H4Jy0FmgyKYAHCTN98P5ybGSJcIFbh6QKeJdtZd1qhA==
+
+dotenv@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-4.0.0.tgz#864ef1379aced55ce6f95debecdce179f7a0cd1d"
+ integrity sha512-XcaMACOr3JMVcEv0Y/iUM2XaOsATRZ3U1In41/1jjK6vJZ2PZbQ1bzCG8uvaByfaBpl9gqc9QWJovpUGBXLLYQ==
+
+duplexer3@^0.1.4:
+ version "0.1.5"
+ resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.5.tgz#0b5e4d7bad5de8901ea4440624c8e1d20099217e"
+ integrity sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==
+
+ecc-jsbn@~0.1.1:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9"
+ integrity sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==
+ dependencies:
+ jsbn "~0.1.0"
+ safer-buffer "^2.1.0"
+
+ecdsa-sig-formatter@1.0.11:
+ version "1.0.11"
+ resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf"
+ integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==
+ dependencies:
+ safe-buffer "^5.0.1"
+
+ee-first@1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
+ integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==
+
+emoji-regex@^8.0.0:
+ version "8.0.0"
+ resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
+ integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
+
+encodeurl@~1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
+ integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==
+
+encoding@^0.1.12, encoding@~0.1.12:
+ version "0.1.13"
+ resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9"
+ integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==
+ dependencies:
+ iconv-lite "^0.6.2"
+
+end-of-stream@^1.1.0:
+ version "1.4.4"
+ resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
+ integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==
+ dependencies:
+ once "^1.4.0"
+
+escape-goat@^2.0.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-2.1.1.tgz#1b2dc77003676c457ec760b2dc68edb648188675"
+ integrity sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==
+
+escape-html@~1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
+ integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==
+
+escape-string-regexp@^1.0.5, escape-string-regexp@~1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
+ integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==
+
+etag@~1.8.1:
+ version "1.8.1"
+ resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
+ integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==
+
+express-async-handler@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/express-async-handler/-/express-async-handler-1.2.0.tgz#ffc9896061d90f8d2e71a2d2b8668db5b0934391"
+ integrity sha512-rCSVtPXRmQSW8rmik/AIb2P0op6l7r1fMW538yyvTMltCO4xQEWMmobfrIxN2V1/mVrgxB8Az3reYF6yUZw37w==
+
+express-jwt@^5.3.1:
+ version "5.3.3"
+ resolved "https://registry.yarnpkg.com/express-jwt/-/express-jwt-5.3.3.tgz#e557b4a63dd34c5ddd6ad81452738386314cc243"
+ integrity sha512-UdB8p5O8vGYTKm3SfREnLgVGIGEHcL3lrVyi3ebEX2qhMuagN623ju7ywWis+qYL+CXE7G1qPc2bCPBAg2MxZQ==
+ dependencies:
+ async "^1.5.0"
+ express-unless "^0.3.0"
+ jsonwebtoken "^8.1.0"
+ lodash.set "^4.0.0"
+
+express-unless@^0.3.0:
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/express-unless/-/express-unless-0.3.1.tgz#2557c146e75beb903e2d247f9b5ba01452696e20"
+ integrity sha512-MPF0KbUOTUMvTQ8/1+bewiYGdCbSL4FvkuVNe2ydjZ0HE/Uq2+NPfKLb1vA5DbcvVPrrAg6GB0ULURUALzzgqw==
+
+express@^4.17.1:
+ version "4.18.1"
+ resolved "https://registry.yarnpkg.com/express/-/express-4.18.1.tgz#7797de8b9c72c857b9cd0e14a5eea80666267caf"
+ 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"
+
+extend@~3.0.0, extend@~3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
+ integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
+
+extsprintf@1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
+ integrity sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==
+
+extsprintf@^1.2.0:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07"
+ integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA==
+
+fast-deep-equal@^3.1.1:
+ version "3.1.3"
+ resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
+ integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
+
+fast-json-stable-stringify@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
+ integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
+
+fast-two-sms@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/fast-two-sms/-/fast-two-sms-3.0.0.tgz#8f49755830b32aa598eee4d5b575da58467e595f"
+ integrity sha512-xaVI9g+Px26Q91gSns9ScBuYDkhLFIFOU8avqT6uJ4ConX2jPJm3xxoCk6t2xUNYpNukdsQyGc8YzFmtbsCNvw==
+ dependencies:
+ axios "^0.21.1"
+ chalk "^4.0.0"
+ update-notifier "^4.1.0"
+
+fill-range@^7.0.1:
+ version "7.0.1"
+ resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
+ integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
+ dependencies:
+ to-regex-range "^5.0.1"
+
+finalhandler@1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32"
+ 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"
+
+follow-redirects@1.5.10:
+ version "1.5.10"
+ resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.10.tgz#7b7a9f9aea2fdff36786a94ff643ed07f4ff5e2a"
+ integrity sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==
+ dependencies:
+ debug "=3.1.0"
+
+follow-redirects@^1.14.0, follow-redirects@^1.15.0:
+ version "1.15.2"
+ resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13"
+ integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==
+
+forever-agent@~0.6.1:
+ version "0.6.1"
+ resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
+ integrity sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==
+
+form-data@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/form-data/-/form-data-0.2.0.tgz#26f8bc26da6440e299cbdcfb69035c4f77a6e466"
+ integrity sha512-LkinaG6JazVhYj2AKi67NOIAhqXcBOQACraT0WdhWW4ZO3kTiS0X7C1nJ1jFZf6wak4bVHIA/oOzWkh2ThAipg==
+ dependencies:
+ async "~0.9.0"
+ combined-stream "~0.0.4"
+ mime-types "~2.0.3"
+
+form-data@^2.5.0:
+ version "2.5.1"
+ resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.5.1.tgz#f2cbec57b5e59e23716e128fe44d4e5dd23895f4"
+ integrity sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==
+ dependencies:
+ asynckit "^0.4.0"
+ combined-stream "^1.0.6"
+ mime-types "^2.1.12"
+
+form-data@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452"
+ integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==
+ dependencies:
+ asynckit "^0.4.0"
+ combined-stream "^1.0.8"
+ mime-types "^2.1.12"
+
+form-data@~2.3.2:
+ version "2.3.3"
+ resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6"
+ integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==
+ dependencies:
+ asynckit "^0.4.0"
+ combined-stream "^1.0.6"
+ mime-types "^2.1.12"
+
+forwarded@0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811"
+ integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==
+
+fresh@0.5.2:
+ version "0.5.2"
+ resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
+ integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==
+
+fs-minipass@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb"
+ integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==
+ dependencies:
+ minipass "^3.0.0"
+
+fs.realpath@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
+ integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
+
+fsevents@~2.3.2:
+ version "2.3.2"
+ resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
+ integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
+
+function-bind@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
+ integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
+
+gauge@^3.0.0:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/gauge/-/gauge-3.0.2.tgz#03bf4441c044383908bcfa0656ad91803259b395"
+ integrity sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==
+ dependencies:
+ aproba "^1.0.3 || ^2.0.0"
+ color-support "^1.1.2"
+ console-control-strings "^1.0.0"
+ has-unicode "^2.0.1"
+ object-assign "^4.1.1"
+ signal-exit "^3.0.0"
+ string-width "^4.2.3"
+ strip-ansi "^6.0.1"
+ wide-align "^1.1.2"
+
+get-intrinsic@^1.0.2:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.3.tgz#063c84329ad93e83893c7f4f243ef63ffa351385"
+ integrity sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==
+ dependencies:
+ function-bind "^1.1.1"
+ has "^1.0.3"
+ has-symbols "^1.0.3"
+
+get-stream@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5"
+ integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==
+ dependencies:
+ pump "^3.0.0"
+
+get-stream@^5.1.0:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3"
+ integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==
+ dependencies:
+ pump "^3.0.0"
+
+getpass@^0.1.1:
+ version "0.1.7"
+ resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa"
+ integrity sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==
+ dependencies:
+ assert-plus "^1.0.0"
+
+glob-parent@~5.1.2:
+ version "5.1.2"
+ resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
+ integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
+ dependencies:
+ is-glob "^4.0.1"
+
+glob@^7.1.3:
+ version "7.2.3"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b"
+ integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
+ dependencies:
+ fs.realpath "^1.0.0"
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "^3.1.1"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
+
+global-dirs@^2.0.1:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-2.1.0.tgz#e9046a49c806ff04d6c1825e196c8f0091e8df4d"
+ integrity sha512-MG6kdOUh/xBnyo9cJFeIKkLEc1AyFq42QTU4XiX51i2NEdxLxLWXIjEjmqKeSuKR7pAZjTqUVoT2b2huxVLgYQ==
+ dependencies:
+ ini "1.3.7"
+
+got@^9.6.0:
+ version "9.6.0"
+ resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85"
+ integrity sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==
+ dependencies:
+ "@sindresorhus/is" "^0.14.0"
+ "@szmarczak/http-timer" "^1.1.2"
+ cacheable-request "^6.0.0"
+ decompress-response "^3.3.0"
+ duplexer3 "^0.1.4"
+ get-stream "^4.1.0"
+ lowercase-keys "^1.0.1"
+ mimic-response "^1.0.1"
+ p-cancelable "^1.0.0"
+ to-readable-stream "^1.0.0"
+ url-parse-lax "^3.0.0"
+
+graceful-fs@^4.1.2, graceful-fs@^4.1.6:
+ version "4.2.10"
+ resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c"
+ integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==
+
+har-schema@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
+ integrity sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==
+
+har-validator@~5.1.3:
+ version "5.1.5"
+ resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd"
+ integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==
+ dependencies:
+ ajv "^6.12.3"
+ har-schema "^2.0.0"
+
+has-flag@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
+ integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==
+
+has-flag@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
+ integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
+
+has-symbols@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8"
+ integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==
+
+has-unicode@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
+ integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==
+
+has-yarn@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77"
+ integrity sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==
+
+has@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
+ integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
+ dependencies:
+ function-bind "^1.1.1"
+
+http-cache-semantics@^4.0.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390"
+ integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==
+
+http-errors@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3"
+ 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"
+
+http-signature@~1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1"
+ integrity sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==
+ dependencies:
+ assert-plus "^1.0.0"
+ jsprim "^1.2.2"
+ sshpk "^1.7.0"
+
+http_ece@1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/http_ece/-/http_ece-1.2.0.tgz#84d5885f052eae8c9b075eee4d2eb5105f114479"
+ integrity sha512-JrF8SSLVmcvc5NducxgyOrKXe3EsyHMgBFgSaIUGmArKe+rwr0uphRkRXvwiom3I+fpIfoItveHrfudL8/rxuA==
+
+https-proxy-agent@^5.0.0:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6"
+ integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==
+ dependencies:
+ agent-base "6"
+ debug "4"
+
+https-proxy-agent@^7.0.0:
+ version "7.0.4"
+ resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz#8e97b841a029ad8ddc8731f26595bad868cb4168"
+ integrity sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==
+ dependencies:
+ agent-base "^7.0.2"
+ debug "4"
+
+iconv-lite@0.4.24:
+ version "0.4.24"
+ resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
+ integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
+ dependencies:
+ safer-buffer ">= 2.1.2 < 3"
+
+iconv-lite@^0.6.2:
+ version "0.6.3"
+ resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501"
+ integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==
+ dependencies:
+ safer-buffer ">= 2.1.2 < 3.0.0"
+
+ieee754@^1.1.13:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
+ integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
+
+ignore-by-default@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09"
+ integrity sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==
+
+import-lazy@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43"
+ integrity sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==
+
+imurmurhash@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
+ integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==
+
+inflight@^1.0.4:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
+ integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==
+ dependencies:
+ once "^1.3.0"
+ wrappy "1"
+
+inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
+ integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
+
+ini@1.3.7:
+ version "1.3.7"
+ resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.7.tgz#a09363e1911972ea16d7a8851005d84cf09a9a84"
+ integrity sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ==
+
+ini@~1.3.0:
+ version "1.3.8"
+ resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c"
+ integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==
+
+ipaddr.js@1.9.1:
+ version "1.9.1"
+ resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3"
+ integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==
+
+is-binary-path@~2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
+ integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
+ dependencies:
+ binary-extensions "^2.0.0"
+
+is-ci@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c"
+ integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==
+ dependencies:
+ ci-info "^2.0.0"
+
+is-extglob@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
+ integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
+
+is-fullwidth-code-point@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
+ integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
+
+is-glob@^4.0.1, is-glob@~4.0.1:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
+ integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
+ dependencies:
+ is-extglob "^2.1.1"
+
+is-installed-globally@^0.3.1:
+ version "0.3.2"
+ resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.3.2.tgz#fd3efa79ee670d1187233182d5b0a1dd00313141"
+ integrity sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g==
+ dependencies:
+ global-dirs "^2.0.1"
+ is-path-inside "^3.0.1"
+
+is-npm@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-4.0.0.tgz#c90dd8380696df87a7a6d823c20d0b12bbe3c84d"
+ integrity sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig==
+
+is-number@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
+ integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
+
+is-obj@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982"
+ integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==
+
+is-path-inside@^3.0.1:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283"
+ integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==
+
+is-typedarray@^1.0.0, is-typedarray@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
+ integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==
+
+is-yarn-global@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232"
+ integrity sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==
+
+isarray@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
+ integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==
+
+isstream@~0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
+ integrity sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==
+
+jsbn@~0.1.0:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
+ integrity sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==
+
+json-buffer@3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898"
+ integrity sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==
+
+json-schema-traverse@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
+ integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
+
+json-schema@0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5"
+ integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==
+
+json-stringify-safe@~5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
+ integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==
+
+json-to-pivot-json@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/json-to-pivot-json/-/json-to-pivot-json-1.0.1.tgz#6e108f3ea50eec23a8cdb6ecf0c4323d5996ad29"
+ integrity sha512-w+/gaLUYvudZTZB5D3QLYfGpP8Dw74uaH5EvcNk26jZftNyc6c0KJeU+G3TwULqV3zA3lqsuDqd9dq09Gzw49g==
+
+jsonfile@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-5.0.0.tgz#e6b718f73da420d612823996fdf14a03f6ff6922"
+ integrity sha512-NQRZ5CRo74MhMMC3/3r5g2k4fjodJ/wh8MxjFbCViWKFjxrnudWSY5vomh+23ZaXzAS7J3fBZIR2dV6WbmfM0w==
+ dependencies:
+ universalify "^0.1.2"
+ optionalDependencies:
+ graceful-fs "^4.1.6"
+
+jsonwebtoken@^8.1.0:
+ version "8.5.1"
+ resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz#00e71e0b8df54c2121a1f26137df2280673bcc0d"
+ integrity sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==
+ dependencies:
+ jws "^3.2.2"
+ lodash.includes "^4.3.0"
+ lodash.isboolean "^3.0.3"
+ lodash.isinteger "^4.0.4"
+ lodash.isnumber "^3.0.3"
+ lodash.isplainobject "^4.0.6"
+ lodash.isstring "^4.0.1"
+ lodash.once "^4.0.0"
+ ms "^2.1.1"
+ semver "^5.6.0"
+
+jsonwebtoken@^9.0.2:
+ version "9.0.2"
+ resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz#65ff91f4abef1784697d40952bb1998c504caaf3"
+ integrity sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==
+ dependencies:
+ jws "^3.2.2"
+ lodash.includes "^4.3.0"
+ lodash.isboolean "^3.0.3"
+ lodash.isinteger "^4.0.4"
+ lodash.isnumber "^3.0.3"
+ lodash.isplainobject "^4.0.6"
+ lodash.isstring "^4.0.1"
+ lodash.once "^4.0.0"
+ ms "^2.1.1"
+ semver "^7.5.4"
+
+jsprim@^1.2.2:
+ version "1.4.2"
+ resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.2.tgz#712c65533a15c878ba59e9ed5f0e26d5b77c5feb"
+ integrity sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==
+ dependencies:
+ assert-plus "1.0.0"
+ extsprintf "1.3.0"
+ json-schema "0.4.0"
+ verror "1.10.0"
+
+jwa@^1.4.1:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a"
+ integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==
+ dependencies:
+ buffer-equal-constant-time "1.0.1"
+ ecdsa-sig-formatter "1.0.11"
+ safe-buffer "^5.0.1"
+
+jwa@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/jwa/-/jwa-2.0.0.tgz#a7e9c3f29dae94027ebcaf49975c9345593410fc"
+ integrity sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==
+ dependencies:
+ buffer-equal-constant-time "1.0.1"
+ ecdsa-sig-formatter "1.0.11"
+ safe-buffer "^5.0.1"
+
+jws@^3.2.2:
+ version "3.2.2"
+ resolved "https://registry.yarnpkg.com/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304"
+ integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==
+ dependencies:
+ jwa "^1.4.1"
+ safe-buffer "^5.0.1"
+
+jws@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/jws/-/jws-4.0.0.tgz#2d4e8cf6a318ffaa12615e9dec7e86e6c97310f4"
+ integrity sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==
+ dependencies:
+ jwa "^2.0.0"
+ safe-buffer "^5.0.1"
+
+kareem@2.3.2:
+ version "2.3.2"
+ resolved "https://registry.yarnpkg.com/kareem/-/kareem-2.3.2.tgz#78c4508894985b8d38a0dc15e1a8e11078f2ca93"
+ integrity sha512-STHz9P7X2L4Kwn72fA4rGyqyXdmrMSdxqHx9IXon/FXluXieaFA6KJ2upcHAHxQPQ0LeM/OjLrhFxifHewOALQ==
+
+keyv@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9"
+ integrity sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==
+ dependencies:
+ json-buffer "3.0.0"
+
+latest-version@^5.0.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-5.1.0.tgz#119dfe908fe38d15dfa43ecd13fa12ec8832face"
+ integrity sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==
+ dependencies:
+ package-json "^6.3.0"
+
+lodash.chunk@^4.2.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/lodash.chunk/-/lodash.chunk-4.2.0.tgz#66e5ce1f76ed27b4303d8c6512e8d1216e8106bc"
+ integrity sha512-ZzydJKfUHJwHa+hF5X66zLFCBrWn5GeF28OHEr4WVWtNDXlQ/IjWKPBiikqKo2ne0+v6JgCgJ0GzJp8k8bHC7w==
+
+lodash.includes@^4.3.0:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f"
+ integrity sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==
+
+lodash.isboolean@^3.0.3:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6"
+ integrity sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==
+
+lodash.isinteger@^4.0.4:
+ version "4.0.4"
+ resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343"
+ integrity sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==
+
+lodash.isnumber@^3.0.3:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc"
+ integrity sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==
+
+lodash.isplainobject@^4.0.6:
+ version "4.0.6"
+ resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb"
+ integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==
+
+lodash.isstring@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451"
+ integrity sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==
+
+lodash.once@^4.0.0:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac"
+ integrity sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==
+
+lodash.set@^4.0.0:
+ version "4.3.2"
+ resolved "https://registry.yarnpkg.com/lodash.set/-/lodash.set-4.3.2.tgz#d8757b1da807dde24816b0d6a84bea1a76230b23"
+ integrity sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg==
+
+lowercase-keys@^1.0.0, lowercase-keys@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f"
+ integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==
+
+lowercase-keys@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479"
+ integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==
+
+lru-cache@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
+ integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==
+ dependencies:
+ yallist "^4.0.0"
+
+mailparser@^0.6.1:
+ version "0.6.2"
+ resolved "https://registry.yarnpkg.com/mailparser/-/mailparser-0.6.2.tgz#03c486039bdf4df6cd3b6adcaaac4107dfdbc068"
+ integrity sha512-5Z5nv7TYojrdrKHjhCOKKFaYs0Lo7PCja4RnLZ2kFE1Fskqg+rRVwFpG9Oqx3YjosGM2QEItjHo7+Jc9qvxGqw==
+ dependencies:
+ encoding "^0.1.12"
+ mime "^1.3.4"
+ mimelib "^0.3.0"
+ uue "^3.1.0"
+
+mailtrap@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/mailtrap/-/mailtrap-3.0.1.tgz#b405f938fa0442e331d524229a487b038945425b"
+ integrity sha512-hAiiMzUQ5orh1JaprPzeVC8/ILeJ9V2qXmCgt6i/5LBPSJZAdStJDgzlWfu0Vf7Qht2RVu4NYLSvwcwBVt1RsQ==
+ dependencies:
+ axios ">=0.27"
+
+make-dir@^3.0.0, make-dir@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f"
+ integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==
+ dependencies:
+ semver "^6.0.0"
+
+media-typer@0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
+ integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==
+
+memory-pager@^1.0.2:
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/memory-pager/-/memory-pager-1.5.0.tgz#d8751655d22d384682741c972f2c3d6dfa3e66b5"
+ integrity sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==
+
+merge-descriptors@1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
+ integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==
+
+methods@~1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
+ integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==
+
+mime-db@1.52.0:
+ version "1.52.0"
+ resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
+ integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
+
+mime-db@~1.12.0:
+ version "1.12.0"
+ resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.12.0.tgz#3d0c63180f458eb10d325aaa37d7c58ae312e9d7"
+ integrity sha512-5aMAW7I4jZoZB27fXRuekqc4DVvJ7+hM8UcWrNj2mqibE54gXgPSonBYBdQW5hyaVNGmiYjY0ZMqn9fBefWYvA==
+
+mime-types@^2.1.12, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.34:
+ version "2.1.35"
+ resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a"
+ integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
+ dependencies:
+ mime-db "1.52.0"
+
+mime-types@~2.0.3:
+ version "2.0.14"
+ resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.0.14.tgz#310e159db23e077f8bb22b748dabfa4957140aa6"
+ integrity sha512-2ZHUEstNkIf2oTWgtODr6X0Cc4Ns/RN/hktdozndiEhhAC2wxXejF1FH0XLHTEImE9h6gr/tcnr3YOnSGsxc7Q==
+ dependencies:
+ mime-db "~1.12.0"
+
+mime@1.6.0, mime@^1.3.4:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
+ integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
+
+mime@^2.4.0:
+ version "2.6.0"
+ resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367"
+ integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==
+
+mimelib@^0.3.0:
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/mimelib/-/mimelib-0.3.1.tgz#787add2415d827acb3af6ec4bca1ea9596418853"
+ integrity sha512-ipzNp6TBsNfD3hButGlPVlGmuCgybIM9SBf8YwIG+SYmBgtU0u8wjf+BSrJX0mvqtv59SLmwphw/XiCbkLWv7w==
+ dependencies:
+ addressparser "~1.0.1"
+ encoding "~0.1.12"
+
+mimic-response@^1.0.0, mimic-response@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b"
+ integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==
+
+minimalistic-assert@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7"
+ integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==
+
+minimatch@^3.1.1, minimatch@^3.1.2:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
+ integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
+ dependencies:
+ brace-expansion "^1.1.7"
+
+minimist@^1.2.0:
+ version "1.2.6"
+ resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44"
+ integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==
+
+minimist@^1.2.5, minimist@^1.2.6:
+ version "1.2.8"
+ resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c"
+ integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==
+
+minipass@^3.0.0:
+ version "3.3.6"
+ resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.6.tgz#7bba384db3a1520d18c9c0e5251c3444e95dd94a"
+ integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==
+ dependencies:
+ yallist "^4.0.0"
+
+minipass@^4.0.0:
+ version "4.2.8"
+ resolved "https://registry.yarnpkg.com/minipass/-/minipass-4.2.8.tgz#f0010f64393ecfc1d1ccb5f582bcaf45f48e1a3a"
+ integrity sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==
+
+minizlib@^2.1.1:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931"
+ integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==
+ dependencies:
+ minipass "^3.0.0"
+ yallist "^4.0.0"
+
+mkdirp@^0.5.4:
+ version "0.5.6"
+ resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6"
+ integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==
+ dependencies:
+ minimist "^1.2.6"
+
+mkdirp@^1.0.3:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e"
+ integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
+
+moment@^2.29.4:
+ version "2.29.4"
+ resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.4.tgz#3dbe052889fe7c1b2ed966fcb3a77328964ef108"
+ integrity sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==
+
+mongodb@3.7.3:
+ version "3.7.3"
+ resolved "https://registry.yarnpkg.com/mongodb/-/mongodb-3.7.3.tgz#b7949cfd0adc4cc7d32d3f2034214d4475f175a5"
+ integrity sha512-Psm+g3/wHXhjBEktkxXsFMZvd3nemI0r3IPsE0bU+4//PnvNWKkzhZcEsbPcYiWqe8XqXJJEg4Tgtr7Raw67Yw==
+ dependencies:
+ bl "^2.2.1"
+ bson "^1.1.4"
+ denque "^1.4.1"
+ optional-require "^1.1.8"
+ safe-buffer "^5.1.2"
+ optionalDependencies:
+ saslprep "^1.0.0"
+
+mongoose-legacy-pluralize@1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/mongoose-legacy-pluralize/-/mongoose-legacy-pluralize-1.0.2.tgz#3ba9f91fa507b5186d399fb40854bff18fb563e4"
+ integrity sha512-Yo/7qQU4/EyIS8YDFSeenIvXxZN+ld7YdV9LqFVQJzTLye8unujAWPZ4NWKfFA+RNjh+wvTWKY9Z3E5XM6ZZiQ==
+
+mongoose@^5.7.6:
+ version "5.13.15"
+ resolved "https://registry.yarnpkg.com/mongoose/-/mongoose-5.13.15.tgz#ba2cd0f22c1a5dd9ae15aaf6b10f03c59a4202dd"
+ integrity sha512-cxp1Gbb8yUWkaEbajdhspSaKzAvsIvOtRlYD87GN/P2QEUhpd6bIvebi36T6M0tIVAMauNaK9SPA055N3PwF8Q==
+ dependencies:
+ "@types/bson" "1.x || 4.0.x"
+ "@types/mongodb" "^3.5.27"
+ bson "^1.1.4"
+ kareem "2.3.2"
+ mongodb "3.7.3"
+ mongoose-legacy-pluralize "1.0.2"
+ mpath "0.8.4"
+ mquery "3.2.5"
+ ms "2.1.2"
+ optional-require "1.0.x"
+ regexp-clone "1.0.0"
+ safe-buffer "5.2.1"
+ sift "13.5.2"
+ sliced "1.0.1"
+
+mpath@0.8.4:
+ version "0.8.4"
+ resolved "https://registry.yarnpkg.com/mpath/-/mpath-0.8.4.tgz#6b566d9581621d9e931dd3b142ed3618e7599313"
+ integrity sha512-DTxNZomBcTWlrMW76jy1wvV37X/cNNxPW1y2Jzd4DZkAaC5ZGsm8bfGfNOthcDuRJujXLqiuS6o3Tpy0JEoh7g==
+
+mquery@3.2.5:
+ version "3.2.5"
+ resolved "https://registry.yarnpkg.com/mquery/-/mquery-3.2.5.tgz#8f2305632e4bb197f68f60c0cffa21aaf4060c51"
+ integrity sha512-VjOKHHgU84wij7IUoZzFRU07IAxd5kWJaDmyUzQlbjHjyoeK5TNeeo8ZsFDtTYnSgpW6n/nMNIHvE3u8Lbrf4A==
+ dependencies:
+ bluebird "3.5.1"
+ debug "3.1.0"
+ regexp-clone "^1.0.0"
+ safe-buffer "5.1.2"
+ sliced "1.0.1"
+
+ms@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
+ integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==
+
+ms@2.1.2:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
+ integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
+
+ms@2.1.3, ms@^2.1.1:
+ version "2.1.3"
+ resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
+ integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
+
+multer@^1.4.5-lts.1:
+ version "1.4.5-lts.1"
+ resolved "https://registry.yarnpkg.com/multer/-/multer-1.4.5-lts.1.tgz#803e24ad1984f58edffbc79f56e305aec5cfd1ac"
+ integrity sha512-ywPWvcDMeH+z9gQq5qYHCCy+ethsk4goepZ45GLD63fOu0YcNecQxi64nDs3qluZB+murG3/D4dJ7+dGctcCQQ==
+ dependencies:
+ append-field "^1.0.0"
+ busboy "^1.0.0"
+ concat-stream "^1.5.2"
+ mkdirp "^0.5.4"
+ object-assign "^4.1.1"
+ type-is "^1.6.4"
+ xtend "^4.0.0"
+
+negotiator@0.6.3:
+ version "0.6.3"
+ resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd"
+ integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==
+
+node-addon-api@^5.0.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-5.1.0.tgz#49da1ca055e109a23d537e9de43c09cca21eb762"
+ integrity sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==
+
+node-cron@^3.0.3:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/node-cron/-/node-cron-3.0.3.tgz#c4bc7173dd96d96c50bdb51122c64415458caff2"
+ integrity sha512-dOal67//nohNgYWb+nWmg5dkFdIwDm8EpeGYMekPMrngV3637lqnX0lbUcCtgibHTz6SEz7DAIjKvKDFYCnO1A==
+ dependencies:
+ uuid "8.3.2"
+
+node-fetch@^2.6.7:
+ version "2.6.9"
+ resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.9.tgz#7c7f744b5cc6eb5fd404e0c7a9fec630a55657e6"
+ integrity sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==
+ dependencies:
+ whatwg-url "^5.0.0"
+
+nodemailer@^6.8.0:
+ version "6.8.0"
+ resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-6.8.0.tgz#804bcc5256ee5523bc914506ee59f8de8f0b1cd5"
+ integrity sha512-EjYvSmHzekz6VNkNd12aUqAco+bOkRe3Of5jVhltqKhEsjw/y0PYPJfp83+s9Wzh1dspYAkUW/YNQ350NATbSQ==
+
+nodemon@^2.0.20:
+ version "2.0.20"
+ resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-2.0.20.tgz#e3537de768a492e8d74da5c5813cb0c7486fc701"
+ integrity sha512-Km2mWHKKY5GzRg6i1j5OxOHQtuvVsgskLfigG25yTtbyfRGn/GNvIbRyOf1PSCKJ2aT/58TiuUsuOU5UToVViw==
+ 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"
+
+nopt@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88"
+ integrity sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==
+ dependencies:
+ abbrev "1"
+
+nopt@~1.0.10:
+ version "1.0.10"
+ resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee"
+ integrity sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==
+ dependencies:
+ abbrev "1"
+
+normalize-path@^3.0.0, normalize-path@~3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
+ integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
+
+normalize-url@^4.1.0:
+ version "4.5.1"
+ resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.1.tgz#0dd90cf1288ee1d1313b87081c9a5932ee48518a"
+ integrity sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==
+
+npmlog@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-5.0.1.tgz#f06678e80e29419ad67ab964e0fa69959c1eb8b0"
+ integrity sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==
+ dependencies:
+ are-we-there-yet "^2.0.0"
+ console-control-strings "^1.1.0"
+ gauge "^3.0.0"
+ set-blocking "^2.0.0"
+
+oauth-sign@~0.9.0:
+ version "0.9.0"
+ resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455"
+ integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==
+
+object-assign@^4, object-assign@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
+ integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==
+
+object-inspect@^1.9.0:
+ version "1.12.2"
+ resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea"
+ integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==
+
+on-finished@2.4.1:
+ version "2.4.1"
+ resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f"
+ integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==
+ dependencies:
+ ee-first "1.1.1"
+
+once@^1.3.0, once@^1.3.1, once@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
+ integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==
+ dependencies:
+ wrappy "1"
+
+optional-require@1.0.x:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/optional-require/-/optional-require-1.0.3.tgz#275b8e9df1dc6a17ad155369c2422a440f89cb07"
+ integrity sha512-RV2Zp2MY2aeYK5G+B/Sps8lW5NHAzE5QClbFP15j+PWmP+T9PxlJXBOOLoSAdgwFvS4t0aMR4vpedMkbHfh0nA==
+
+optional-require@^1.1.8:
+ version "1.1.8"
+ resolved "https://registry.yarnpkg.com/optional-require/-/optional-require-1.1.8.tgz#16364d76261b75d964c482b2406cb824d8ec44b7"
+ integrity sha512-jq83qaUb0wNg9Krv1c5OQ+58EK+vHde6aBPzLvPPqJm89UQWsvSuFy9X/OSNJnFeSOKo7btE0n8Nl2+nE+z5nA==
+ dependencies:
+ require-at "^1.0.6"
+
+otp-generator@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/otp-generator/-/otp-generator-4.0.1.tgz#ec6bb8d0d14c171318e8eb731fdfcd2dd1ad83e7"
+ integrity sha512-2TJ52vUftA0+J3eque4wwVtpaL4/NdIXDL0gFWFJFVUAZwAN7+9tltMhL7GCNYaHJtuONoier8Hayyj4HLbSag==
+
+p-cancelable@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc"
+ integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==
+
+package-json@^6.3.0:
+ version "6.5.0"
+ resolved "https://registry.yarnpkg.com/package-json/-/package-json-6.5.0.tgz#6feedaca35e75725876d0b0e64974697fed145b0"
+ integrity sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==
+ dependencies:
+ got "^9.6.0"
+ registry-auth-token "^4.0.0"
+ registry-url "^5.0.0"
+ semver "^6.2.0"
+
+parseurl@~1.3.3:
+ version "1.3.3"
+ resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"
+ integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==
+
+path-is-absolute@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
+ integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==
+
+path-to-regexp@0.1.7:
+ version "0.1.7"
+ resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
+ integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==
+
+performance-now@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
+ integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==
+
+picomatch@^2.0.4, picomatch@^2.2.1:
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
+ integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
+
+prepend-http@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897"
+ integrity sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==
+
+process-nextick-args@~2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
+ integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
+
+proxy-addr@~2.0.7:
+ version "2.0.7"
+ resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025"
+ integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==
+ dependencies:
+ forwarded "0.2.0"
+ ipaddr.js "1.9.1"
+
+proxy-from-env@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2"
+ integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==
+
+psl@^1.1.28:
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7"
+ integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==
+
+pstree.remy@^1.1.8:
+ version "1.1.8"
+ resolved "https://registry.yarnpkg.com/pstree.remy/-/pstree.remy-1.1.8.tgz#c242224f4a67c21f686839bbdb4ac282b8373d3a"
+ integrity sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==
+
+pump@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64"
+ integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==
+ dependencies:
+ end-of-stream "^1.1.0"
+ once "^1.3.1"
+
+punycode@^2.1.0, punycode@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
+ integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
+
+pupa@^2.0.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/pupa/-/pupa-2.1.1.tgz#f5e8fd4afc2c5d97828faa523549ed8744a20d62"
+ integrity sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==
+ dependencies:
+ escape-goat "^2.0.0"
+
+qs@6.10.3:
+ version "6.10.3"
+ resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.3.tgz#d6cde1b2ffca87b5aa57889816c5f81535e22e8e"
+ integrity sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==
+ dependencies:
+ side-channel "^1.0.4"
+
+qs@^6.11.2:
+ version "6.11.2"
+ resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.2.tgz#64bea51f12c1f5da1bc01496f48ffcff7c69d7d9"
+ integrity sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==
+ dependencies:
+ side-channel "^1.0.4"
+
+qs@~6.5.2:
+ version "6.5.3"
+ resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad"
+ integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==
+
+range-parser@~1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031"
+ integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
+
+raw-body@2.5.1:
+ version "2.5.1"
+ resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857"
+ 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"
+
+rc@1.2.8, rc@^1.2.8:
+ version "1.2.8"
+ resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
+ integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==
+ dependencies:
+ deep-extend "^0.6.0"
+ ini "~1.3.0"
+ minimist "^1.2.0"
+ strip-json-comments "~2.0.1"
+
+readable-stream@^2.2.2:
+ version "2.3.8"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b"
+ integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==
+ dependencies:
+ core-util-is "~1.0.0"
+ inherits "~2.0.3"
+ isarray "~1.0.0"
+ process-nextick-args "~2.0.0"
+ safe-buffer "~5.1.1"
+ string_decoder "~1.1.1"
+ util-deprecate "~1.0.1"
+
+readable-stream@^2.3.5:
+ version "2.3.7"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57"
+ integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==
+ dependencies:
+ core-util-is "~1.0.0"
+ inherits "~2.0.3"
+ isarray "~1.0.0"
+ process-nextick-args "~2.0.0"
+ safe-buffer "~5.1.1"
+ string_decoder "~1.1.1"
+ util-deprecate "~1.0.1"
+
+readable-stream@^3.6.0:
+ version "3.6.2"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967"
+ integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==
+ dependencies:
+ inherits "^2.0.3"
+ string_decoder "^1.1.1"
+ util-deprecate "^1.0.1"
+
+readdirp@~3.6.0:
+ version "3.6.0"
+ resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
+ integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
+ dependencies:
+ picomatch "^2.2.1"
+
+regexp-clone@1.0.0, regexp-clone@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/regexp-clone/-/regexp-clone-1.0.0.tgz#222db967623277056260b992626354a04ce9bf63"
+ integrity sha512-TuAasHQNamyyJ2hb97IuBEif4qBHGjPHBS64sZwytpLEqtBQ1gPJTnOaQ6qmpET16cK14kkjbazl6+p0RRv0yw==
+
+registry-auth-token@^4.0.0:
+ version "4.2.2"
+ resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.2.2.tgz#f02d49c3668884612ca031419491a13539e21fac"
+ integrity sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==
+ dependencies:
+ rc "1.2.8"
+
+registry-url@^5.0.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-5.1.0.tgz#e98334b50d5434b81136b44ec638d9c2009c5009"
+ integrity sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==
+ dependencies:
+ rc "^1.2.8"
+
+request@^2.88.0:
+ version "2.88.2"
+ resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3"
+ integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==
+ dependencies:
+ aws-sign2 "~0.7.0"
+ aws4 "^1.8.0"
+ caseless "~0.12.0"
+ combined-stream "~1.0.6"
+ extend "~3.0.2"
+ forever-agent "~0.6.1"
+ form-data "~2.3.2"
+ har-validator "~5.1.3"
+ http-signature "~1.2.0"
+ is-typedarray "~1.0.0"
+ isstream "~0.1.2"
+ json-stringify-safe "~5.0.1"
+ mime-types "~2.1.19"
+ oauth-sign "~0.9.0"
+ performance-now "^2.1.0"
+ qs "~6.5.2"
+ safe-buffer "^5.1.2"
+ tough-cookie "~2.5.0"
+ tunnel-agent "^0.6.0"
+ uuid "^3.3.2"
+
+require-at@^1.0.6:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/require-at/-/require-at-1.0.6.tgz#9eb7e3c5e00727f5a4744070a7f560d4de4f6e6a"
+ integrity sha512-7i1auJbMUrXEAZCOQ0VNJgmcT2VOKPRl2YGJwgpHpC9CE91Mv4/4UYIUm4chGJaI381ZDq1JUicFii64Hapd8g==
+
+responselike@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7"
+ integrity sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==
+ dependencies:
+ lowercase-keys "^1.0.0"
+
+rimraf@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
+ integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
+ dependencies:
+ glob "^7.1.3"
+
+safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
+ version "5.1.2"
+ resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
+ integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
+
+safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.2.0:
+ version "5.2.1"
+ resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
+ integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
+
+"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
+ integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
+
+saslprep@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/saslprep/-/saslprep-1.0.3.tgz#4c02f946b56cf54297e347ba1093e7acac4cf226"
+ integrity sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==
+ dependencies:
+ sparse-bitfield "^3.0.3"
+
+semver-diff@^3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-3.1.1.tgz#05f77ce59f325e00e2706afd67bb506ddb1ca32b"
+ integrity sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==
+ dependencies:
+ semver "^6.3.0"
+
+semver@^5.6.0, semver@^5.7.1:
+ version "5.7.1"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
+ integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
+
+semver@^6.0.0, semver@^6.2.0, semver@^6.3.0:
+ version "6.3.0"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
+ integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
+
+semver@^7.3.5:
+ version "7.5.0"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.0.tgz#ed8c5dc8efb6c629c88b23d41dc9bf40c1d96cd0"
+ integrity sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==
+ dependencies:
+ lru-cache "^6.0.0"
+
+semver@^7.5.4:
+ version "7.5.4"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e"
+ integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
+ dependencies:
+ lru-cache "^6.0.0"
+
+semver@~7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e"
+ integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==
+
+send@0.18.0:
+ version "0.18.0"
+ resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be"
+ 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"
+
+sendgrid-rest@^2.3.0:
+ version "2.6.1"
+ resolved "https://registry.yarnpkg.com/sendgrid-rest/-/sendgrid-rest-2.6.1.tgz#7efa357068ccb172dbe310f2811abe4f01737102"
+ integrity sha512-W7gPROAPkEiD3+XQh+jeiU5mTNWqfgn45y1Xi8WiFA3CYKGOvHn+U0d62pTWjjynNqsmQIq9AJ0+93Bq67gbSQ==
+ dependencies:
+ core-js "^3.5.0"
+ dotenv "^4.0.0"
+
+sendgrid@^5.2.3:
+ version "5.2.3"
+ resolved "https://registry.yarnpkg.com/sendgrid/-/sendgrid-5.2.3.tgz#37cd28ddd93fca2d3fa7dda10a323b1f43ffecfc"
+ integrity sha512-FD7oR9TbJFUew1p0Vw9JX0wBetDyq634LzylSXz4n9+hwaf+6a9dNloZl8CcjpsX4NuEc3HJanTN4GjDwNyi4A==
+ dependencies:
+ async.ensureasync "^0.5.2"
+ async.queue "^0.5.2"
+ bottleneck "^1.12.0"
+ debug "^2.2.0"
+ lodash.chunk "^4.2.0"
+ mailparser "^0.6.1"
+ sendgrid-rest "^2.3.0"
+
+serve-static@1.15.0:
+ version "1.15.0"
+ resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540"
+ integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==
+ dependencies:
+ encodeurl "~1.0.2"
+ escape-html "~1.0.3"
+ parseurl "~1.3.3"
+ send "0.18.0"
+
+set-blocking@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
+ integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==
+
+setprototypeof@1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424"
+ integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==
+
+side-channel@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf"
+ integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==
+ dependencies:
+ call-bind "^1.0.0"
+ get-intrinsic "^1.0.2"
+ object-inspect "^1.9.0"
+
+sift@13.5.2:
+ version "13.5.2"
+ resolved "https://registry.yarnpkg.com/sift/-/sift-13.5.2.tgz#24a715e13c617b086166cd04917d204a591c9da6"
+ integrity sha512-+gxdEOMA2J+AI+fVsCqeNn7Tgx3M9ZN9jdi95939l1IJ8cZsqS8sqpJyOkic2SJk+1+98Uwryt/gL6XDaV+UZA==
+
+signal-exit@^3.0.0, signal-exit@^3.0.2:
+ version "3.0.7"
+ resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9"
+ integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==
+
+simple-update-notifier@^1.0.7:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/simple-update-notifier/-/simple-update-notifier-1.0.7.tgz#7edf75c5bdd04f88828d632f762b2bc32996a9cc"
+ integrity sha512-BBKgR84BJQJm6WjWFMHgLVuo61FBDSj1z/xSFUIozqO6wO7ii0JxCqlIud7Enr/+LhlbNI0whErq96P2qHNWew==
+ dependencies:
+ semver "~7.0.0"
+
+sliced@1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/sliced/-/sliced-1.0.1.tgz#0b3a662b5d04c3177b1926bea82b03f837a2ef41"
+ integrity sha512-VZBmZP8WU3sMOZm1bdgTadsQbcscK0UM8oKxKVBs4XAhUo2Xxzm/OFMGBkPusxw9xL3Uy8LrzEqGqJhclsr0yA==
+
+sparse-bitfield@^3.0.3:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz#ff4ae6e68656056ba4b3e792ab3334d38273ca11"
+ integrity sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==
+ dependencies:
+ memory-pager "^1.0.2"
+
+sshpk@^1.7.0:
+ version "1.17.0"
+ resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.17.0.tgz#578082d92d4fe612b13007496e543fa0fbcbe4c5"
+ integrity sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==
+ dependencies:
+ asn1 "~0.2.3"
+ assert-plus "^1.0.0"
+ bcrypt-pbkdf "^1.0.0"
+ dashdash "^1.12.0"
+ ecc-jsbn "~0.1.1"
+ getpass "^0.1.1"
+ jsbn "~0.1.0"
+ safer-buffer "^2.0.2"
+ tweetnacl "~0.14.0"
+
+statuses@2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63"
+ integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==
+
+streamsearch@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-1.1.0.tgz#404dd1e2247ca94af554e841a8ef0eaa238da764"
+ integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==
+
+"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.3:
+ version "4.2.3"
+ resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
+ integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
+ dependencies:
+ emoji-regex "^8.0.0"
+ is-fullwidth-code-point "^3.0.0"
+ strip-ansi "^6.0.1"
+
+string_decoder@^1.1.1:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
+ integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
+ dependencies:
+ safe-buffer "~5.2.0"
+
+string_decoder@~1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
+ integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
+ dependencies:
+ safe-buffer "~5.1.0"
+
+strip-ansi@^6.0.1:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
+ integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
+ dependencies:
+ ansi-regex "^5.0.1"
+
+strip-json-comments@~2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
+ integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==
+
+supports-color@^5.3.0, supports-color@^5.5.0:
+ version "5.5.0"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
+ integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
+ dependencies:
+ has-flag "^3.0.0"
+
+supports-color@^7.1.0:
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
+ integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
+ dependencies:
+ has-flag "^4.0.0"
+
+swagger-ui-dist@>=4.11.0:
+ version "4.14.0"
+ resolved "https://registry.yarnpkg.com/swagger-ui-dist/-/swagger-ui-dist-4.14.0.tgz#e34d807464eb84578c43902e393084a1a6fbda52"
+ integrity sha512-TBzhheU15s+o54Cgk9qxuYcZMiqSm/SkvKnapoGHOF66kz0Y5aGjpzj5BT/vpBbn6rTPJ9tUYXQxuDWfsjiGMw==
+
+swagger-ui-express@^4.5.0:
+ version "4.5.0"
+ resolved "https://registry.yarnpkg.com/swagger-ui-express/-/swagger-ui-express-4.5.0.tgz#feb1314627092eb9c7e6b65ee018927011445530"
+ integrity sha512-DHk3zFvsxrkcnurGvQlAcLuTDacAVN1JHKDgcba/gr2NFRE4HGwP1YeHIXMiGznkWR4AeS7X5vEblNn4QljuNA==
+ dependencies:
+ swagger-ui-dist ">=4.11.0"
+
+tar@^6.1.11:
+ version "6.1.13"
+ resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.13.tgz#46e22529000f612180601a6fe0680e7da508847b"
+ integrity sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==
+ dependencies:
+ chownr "^2.0.0"
+ fs-minipass "^2.0.0"
+ minipass "^4.0.0"
+ minizlib "^2.1.1"
+ mkdirp "^1.0.3"
+ yallist "^4.0.0"
+
+term-size@^2.1.0:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/term-size/-/term-size-2.2.1.tgz#2a6a54840432c2fb6320fea0f415531e90189f54"
+ integrity sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==
+
+to-readable-stream@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771"
+ integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==
+
+to-regex-range@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
+ integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
+ dependencies:
+ is-number "^7.0.0"
+
+toidentifier@1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35"
+ integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==
+
+touch@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/touch/-/touch-3.1.0.tgz#fe365f5f75ec9ed4e56825e0bb76d24ab74af83b"
+ integrity sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==
+ dependencies:
+ nopt "~1.0.10"
+
+tough-cookie@~2.5.0:
+ version "2.5.0"
+ resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"
+ integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==
+ dependencies:
+ psl "^1.1.28"
+ punycode "^2.1.1"
+
+tr46@~0.0.3:
+ version "0.0.3"
+ resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a"
+ integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==
+
+tunnel-agent@^0.6.0:
+ version "0.6.0"
+ resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
+ integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==
+ dependencies:
+ safe-buffer "^5.0.1"
+
+tweetnacl@^0.14.3, tweetnacl@~0.14.0:
+ version "0.14.5"
+ resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
+ integrity sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==
+
+type-fest@^0.8.1:
+ version "0.8.1"
+ resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d"
+ integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==
+
+type-is@^1.6.4, type-is@~1.6.18:
+ version "1.6.18"
+ resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131"
+ integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==
+ dependencies:
+ media-typer "0.3.0"
+ mime-types "~2.1.24"
+
+typedarray-to-buffer@^3.1.5:
+ version "3.1.5"
+ resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080"
+ integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==
+ dependencies:
+ is-typedarray "^1.0.0"
+
+typedarray@^0.0.6:
+ version "0.0.6"
+ resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
+ integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==
+
+undefsafe@^2.0.5:
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/undefsafe/-/undefsafe-2.0.5.tgz#38733b9327bdcd226db889fb723a6efd162e6e2c"
+ integrity sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==
+
+unique-string@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d"
+ integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==
+ dependencies:
+ crypto-random-string "^2.0.0"
+
+unirest@^0.6.0:
+ version "0.6.0"
+ resolved "https://registry.yarnpkg.com/unirest/-/unirest-0.6.0.tgz#289b5ae59cc9fa9fdfff3b5866e0dd50bf5eb280"
+ integrity sha512-BdYdcYJHXACqZ53k8Zz7QlNK/1W/HjCZlmg1OaaN/oTSp4FTWh0upXGSJsG88PljDBpSrNc2R649drasUA9NEg==
+ dependencies:
+ form-data "^0.2.0"
+ mime "^2.4.0"
+ request "^2.88.0"
+
+universalify@^0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
+ integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==
+
+unpipe@1.0.0, unpipe@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
+ integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==
+
+update-notifier@^4.1.0:
+ version "4.1.3"
+ resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-4.1.3.tgz#be86ee13e8ce48fb50043ff72057b5bd598e1ea3"
+ integrity sha512-Yld6Z0RyCYGB6ckIjffGOSOmHXj1gMeE7aROz4MG+XMkmixBX4jUngrGXNYz7wPKBmtoD4MnBa2Anu7RSKht/A==
+ dependencies:
+ boxen "^4.2.0"
+ chalk "^3.0.0"
+ configstore "^5.0.1"
+ has-yarn "^2.1.0"
+ import-lazy "^2.1.0"
+ is-ci "^2.0.0"
+ is-installed-globally "^0.3.1"
+ is-npm "^4.0.0"
+ is-yarn-global "^0.3.0"
+ latest-version "^5.0.0"
+ pupa "^2.0.1"
+ semver-diff "^3.1.1"
+ xdg-basedir "^4.0.0"
+
+uri-js@^4.2.2:
+ version "4.4.1"
+ resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e"
+ integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==
+ dependencies:
+ punycode "^2.1.0"
+
+url-parse-lax@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c"
+ integrity sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==
+ dependencies:
+ prepend-http "^2.0.0"
+
+util-deprecate@^1.0.1, util-deprecate@~1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
+ integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
+
+utils-merge@1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
+ integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==
+
+uue@^3.1.0:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/uue/-/uue-3.1.2.tgz#e99368414e87200012eb37de4dbaebaa1c742ad2"
+ integrity sha512-axKLXVqwtdI/czrjG0X8hyV1KLgeWx8F4KvSbvVCnS+RUvsQMGRjx0kfuZDXXqj0LYvVJmx3B9kWlKtEdRrJLg==
+ dependencies:
+ escape-string-regexp "~1.0.5"
+ extend "~3.0.0"
+
+uuid@8.3.2:
+ version "8.3.2"
+ resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2"
+ integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==
+
+uuid@^3.3.2:
+ version "3.4.0"
+ resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
+ integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==
+
+vary@^1, vary@~1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
+ integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==
+
+verror@1.10.0:
+ version "1.10.0"
+ resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400"
+ integrity sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==
+ dependencies:
+ assert-plus "^1.0.0"
+ core-util-is "1.0.2"
+ extsprintf "^1.2.0"
+
+web-push@^3.6.7:
+ version "3.6.7"
+ resolved "https://registry.yarnpkg.com/web-push/-/web-push-3.6.7.tgz#5f5e645951153e37ef90a6ddea5c150ea0f709e1"
+ integrity sha512-OpiIUe8cuGjrj3mMBFWY+e4MMIkW3SVT+7vEIjvD9kejGUypv8GPDf84JdPWskK8zMRIJ6xYGm+Kxr8YkPyA0A==
+ dependencies:
+ asn1.js "^5.3.0"
+ http_ece "1.2.0"
+ https-proxy-agent "^7.0.0"
+ jws "^4.0.0"
+ minimist "^1.2.5"
+
+webidl-conversions@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871"
+ integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==
+
+whatwg-url@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d"
+ integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==
+ dependencies:
+ tr46 "~0.0.3"
+ webidl-conversions "^3.0.0"
+
+wide-align@^1.1.2:
+ version "1.1.5"
+ resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3"
+ integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==
+ dependencies:
+ string-width "^1.0.2 || 2 || 3 || 4"
+
+widest-line@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca"
+ integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==
+ dependencies:
+ string-width "^4.0.0"
+
+wrappy@1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
+ integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
+
+write-file-atomic@^3.0.0:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8"
+ integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==
+ dependencies:
+ imurmurhash "^0.1.4"
+ is-typedarray "^1.0.0"
+ signal-exit "^3.0.2"
+ typedarray-to-buffer "^3.1.5"
+
+xdg-basedir@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13"
+ integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==
+
+xtend@^4.0.0:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
+ integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
+
+yallist@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
+ integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==