diff --git a/.gitignore b/.gitignore index a7ae3e7..3394cc7 100644 --- a/.gitignore +++ b/.gitignore @@ -6,4 +6,9 @@ data/ config.js .DS_Store dist/ -letsencrypt/ \ No newline at end of file +letsencrypt/ +*~ +*.bak +*.orig +*.diff +*.patch diff --git a/README.md b/README.md index 549d05f..a49d947 100644 --- a/README.md +++ b/README.md @@ -10,8 +10,6 @@ sqtracker is a modern private BitTorrent tracker platform. It implements all of the features required to run a private (or public) tracker and does not focus on any one specific type of content. It is suitable for running a tracker site of any kind. -Check out the demo at [demo.sqtracker.dev](https://demo.sqtracker.dev). - Please join the [Discord server](https://discord.gg/BEGXEk29Up) for support and general chat. ## Features @@ -56,7 +54,6 @@ The roadmap is still being expanded. * Better profiles (avatar, bio etc.) * Premoderation option * Anti-cheat -* Localisation (ongoing) ## Configuration @@ -92,6 +89,8 @@ The sqtracker client service provides the modern, responsive web interface that The HTTP proxy allows the client, API, and BitTorrent tracker to all be accessible via a single endpoint. +Traefik is recommended and is configured by default. An Nginx config file is also provided for those that prefer it and the `docker-compose.yml` file contains an Nginx block that can be enabled. + ### Deploying with Docker compose The sqtracker platform is designed to be deployed via Docker. Once a configuration file is created, deploying is as simple as running `docker compose up -d` at the root of the project. @@ -111,6 +110,29 @@ Alternatively, you can deploy each service individually on a PaaS cloud platform You will need to deploy each of the 4 components listed above. The Docker images for the client and API services are published in this repository. +## Adding a translation + +New translations are always appreciated! + +To add a new translation in your own language, create a new JSON file with your 2 character locale code in `client/locales`. For example, `client/locales/en.json`. In the `client/locales/index.js` file, you should then import your JSON file and add it to the exported object along with the existing locales. + +The best place to start is to copy the `en.json` file and work through it, translating each English string. + +There is also an [inlang project](https://fink.inlang.com/github.com/tdjsnelling/sqtracker) to aid with translation. + +### Existing translations + +| Language | Contributed by | +|--------------------|------------------------------------------------------| +| English | | +| Russian | [@smlinux](https://github.com/smlinux) | +| Esperanto | [@smlinux](https://github.com/smlinux) | +| German | [@EchterAlsFake](https://github.com/EchterAlsFake) | +| Simplified Chinese | [@0EAC](https://github.com/0EAC) | +| French | [@Klaiment](https://github.com/Klaiment) | +| Spanish | [@CerealKillerjs](https://github.com/CerealKillerjs) | +| Italian | [@NotLugozzi](https://github.com/NotLugozzi) | + ## Screenshots Splash screen diff --git a/api/Dockerfile b/api/Dockerfile index 3d12460..1cfed1d 100644 --- a/api/Dockerfile +++ b/api/Dockerfile @@ -1,4 +1,4 @@ -FROM node:16-alpine +FROM node:16 ENV NODE_ENV=production ENV SENTRY_DSN="https://9b9761216607428180ea3b32bd1c8e58@o140996.ingest.sentry.io/4504645996576768" LABEL org.opencontainers.image.source=https://github.com/tdjsnelling/sqtracker @@ -6,4 +6,4 @@ WORKDIR /sqtracker/app COPY . . RUN yarn install EXPOSE 3001 -CMD yarn start \ No newline at end of file +CMD yarn start diff --git a/api/package.json b/api/package.json index c7e9d68..dc02c25 100644 --- a/api/package.json +++ b/api/package.json @@ -1,6 +1,6 @@ { "name": "@sqtracker/api", - "version": "1.3.1", + "version": "1.5.0", "private": true, "license": "GPL-3.0-only", "scripts": { @@ -19,6 +19,7 @@ "bittorrent-tracker": "9.19.0", "body-parser": "^1.19.0", "chalk": "^4.1.1", + "content-disposition": "^0.5.4", "cookie-parser": "^1.4.6", "cors": "^2.8.5", "dotenv": "^10.0.0", diff --git a/api/src/controllers/rss.js b/api/src/controllers/rss.js index 236062e..ad77fce 100644 --- a/api/src/controllers/rss.js +++ b/api/src/controllers/rss.js @@ -5,7 +5,6 @@ import { embellishTorrentsWithTrackerScrape } from "./torrent"; // prettier-ignore const getTorrentXml = (torrent, userId) => { - const announceUrl = `${process.env.SQ_BASE_URL}/sq/${userId}/announce` return ` ${torrent.name} ${torrent.description} @@ -14,11 +13,10 @@ const getTorrentXml = (torrent, userId) => { ${torrent.name} ${torrent.size} - magnet:?xt=urn:btih:${torrent.infoHash}&dn=${encodeURIComponent(torrent.name)}&tr=${encodeURIComponent(announceUrl)} - ${announceUrl} + ${process.env.SQ_BASE_URL}/sq/${userId}/announce diff --git a/api/src/controllers/torrent.js b/api/src/controllers/torrent.js index a636df1..e82bdc2 100644 --- a/api/src/controllers/torrent.js +++ b/api/src/controllers/torrent.js @@ -3,6 +3,7 @@ import crypto from "crypto"; import mongoose from "mongoose"; import { createNGrams, nGrams } from "mongoose-fuzzy-searching/helpers"; import slugify from "slugify"; +import contentDisposition from "content-disposition"; import Torrent from "../schema/torrent"; import User from "../schema/user"; import Comment from "../schema/comment"; @@ -136,6 +137,7 @@ export const uploadTorrent = async (req, res, next) => { source: req.body.source, infoHash, binary: req.body.torrent, + poster: req.body.poster, uploadedBy: req.userId, downloads: 0, anonymous: false, @@ -153,7 +155,6 @@ export const uploadTorrent = async (req, res, next) => { group: groupId, mediaInfo: req.body.mediaInfo, }); - await newTorrent.save(); if (groupId) await addToGroup(groupId, infoHash); @@ -254,13 +255,13 @@ export const downloadTorrent = async (req, res, next) => { delete parsed["announce-list"]; parsed.info.private = 1; + const fileName = `${parsed.info.name.toString()} - ${ + process.env.SQ_SITE_NAME + }.torrent`; + res.setHeader("Content-Type", "application/x-bittorrent"); - res.setHeader( - "Content-Disposition", - `attachment;filename=${parsed.info.name.toString()} - ${ - process.env.SQ_SITE_NAME - }.torrent` - ); + res.setHeader("Content-Disposition", contentDisposition(fileName)); + res.write(bencode.encode(parsed)); res.end(); } catch (e) { @@ -286,6 +287,7 @@ export const fetchTorrent = (tracker) => async (req, res, next) => { uploadedBy: 1, downloads: 1, anonymous: 1, + poster: 1, size: 1, files: 1, created: 1, diff --git a/api/src/controllers/user.js b/api/src/controllers/user.js index ee3914b..7fba1b5 100644 --- a/api/src/controllers/user.js +++ b/api/src/controllers/user.js @@ -110,7 +110,7 @@ export const register = (mail) => async (req, res, next) => { role, invitedBy: invite?.invitingUser, remainingInvites: 0, - emailVerified: false, + emailVerified: process.env.SQ_DISABLE_EMAIL, bonusPoints: 0, totp: { enabled: false, @@ -125,19 +125,21 @@ export const register = (mail) => async (req, res, next) => { const createdUser = await newUser.save(); - const emailVerificationValidUntil = created + 48 * 60 * 60 * 1000; - const emailVerificationToken = jwt.sign( - { - user: req.body.email, - validUntil: emailVerificationValidUntil, - }, - process.env.SQ_JWT_SECRET - ); - await sendVerificationEmail( - mail, - req.body.email, - emailVerificationToken - ); + if (!process.env.SQ_DISABLE_EMAIL) { + const emailVerificationValidUntil = created + 48 * 60 * 60 * 1000; + const emailVerificationToken = jwt.sign( + { + user: req.body.email, + validUntil: emailVerificationValidUntil, + }, + process.env.SQ_JWT_SECRET + ); + await sendVerificationEmail( + mail, + req.body.email, + emailVerificationToken + ); + } if (createdUser) { if (req.body.invite) { @@ -257,7 +259,7 @@ export const login = async (req, res, next) => { }; export const generateInvite = (mail) => async (req, res, next) => { - if (process.env.SQ_ALLOW_REGISTER !== "invite") { + if (process.env.SQ_ALLOW_REGISTER !== "invite" && req.userRole !== "admin") { res .status(403) .send("Can only send invites when tracker is in invite only mode"); @@ -293,14 +295,16 @@ export const generateInvite = (mail) => async (req, res, next) => { const createdInvite = await invite.save(); if (createdInvite) { - await mail.sendMail({ - from: `"${process.env.SQ_SITE_NAME}" <${process.env.SQ_MAIL_FROM_ADDRESS}>`, - to: email, - subject: "Invite", - text: `You have been invited to join ${process.env.SQ_SITE_NAME}. Please follow the link below to register. + if (!process.env.SQ_DISABLE_EMAIL) { + await mail.sendMail({ + from: `"${process.env.SQ_SITE_NAME}" <${process.env.SQ_MAIL_FROM_ADDRESS}>`, + to: email, + subject: "Invite", + text: `You have been invited to join ${process.env.SQ_SITE_NAME}. Please follow the link below to register. ${process.env.SQ_BASE_URL}/register?token=${createdInvite.token}`, - }); + }); + } res.send(createdInvite); } } else { @@ -343,18 +347,20 @@ export const changePassword = (mail) => async (req, res, next) => { { $set: { password: hash } } ); - await mail.sendMail({ - from: `"${process.env.SQ_SITE_NAME}" <${process.env.SQ_MAIL_FROM_ADDRESS}>`, - to: user.email, - subject: "Your password was changed", - text: `Your password was updated successfully at ${new Date().toISOString()} from ${ - req.ip - }. + if (!process.env.SQ_DISABLE_EMAIL) { + await mail.sendMail({ + from: `"${process.env.SQ_SITE_NAME}" <${process.env.SQ_MAIL_FROM_ADDRESS}>`, + to: user.email, + subject: "Your password was changed", + text: `Your password was updated successfully at ${new Date().toISOString()} from ${ + req.ip + }. If you did not perform this action, follow the link below immediately to reset your password. If this was you, no action is required. ${process.env.SQ_BASE_URL}/reset-password/initiate`, - }); + }); + } res.sendStatus(200); } catch (e) { @@ -371,7 +377,7 @@ export const initiatePasswordReset = (mail) => async (req, res, next) => { const user = await User.findOne({ email: req.body.email }).lean(); if (!user) { - res.status(404).send("User does not exist"); + res.sendStatus(200); return; } @@ -388,16 +394,18 @@ export const initiatePasswordReset = (mail) => async (req, res, next) => { process.env.SQ_JWT_SECRET ); - await mail.sendMail({ - from: `"${process.env.SQ_SITE_NAME}" <${process.env.SQ_MAIL_FROM_ADDRESS}>`, - to: user.email, - subject: "Password reset", - text: `Please follow the link below to reset your password. + if (!process.env.SQ_DISABLE_EMAIL) { + await mail.sendMail({ + from: `"${process.env.SQ_SITE_NAME}" <${process.env.SQ_MAIL_FROM_ADDRESS}>`, + to: user.email, + subject: "Password reset", + text: `Please follow the link below to reset your password. ${process.env.SQ_BASE_URL}/reset-password/finalise?token=${token}`, - }); + }); + } - res.send(token); + res.sendStatus(200); } catch (e) { next(e); } diff --git a/api/src/index.js b/api/src/index.js index ad9fc33..09968e5 100644 --- a/api/src/index.js +++ b/api/src/index.js @@ -52,15 +52,19 @@ validateConfig(config).then(() => { }); } - const mail = nodemailer.createTransport({ - host: process.env.SQ_SMTP_HOST, - port: process.env.SQ_SMTP_PORT, - secure: process.env.SQ_SMTP_SECURE, - auth: { - user: process.env.SQ_SMTP_USER, - pass: process.env.SQ_SMTP_PASS, - }, - }); + let mail; + + if (!process.env.SQ_DISABLE_EMAIL) { + mail = nodemailer.createTransport({ + host: process.env.SQ_SMTP_HOST, + port: process.env.SQ_SMTP_PORT, + secure: process.env.SQ_SMTP_SECURE, + auth: { + user: process.env.SQ_SMTP_USER, + pass: process.env.SQ_SMTP_PASS, + }, + }); + } const connectToDb = () => { console.log("[sq] initiating db connection..."); diff --git a/api/src/schema/torrent.js b/api/src/schema/torrent.js index afc5acd..8656ebb 100644 --- a/api/src/schema/torrent.js +++ b/api/src/schema/torrent.js @@ -4,6 +4,7 @@ import fuzzySearch from "mongoose-fuzzy-searching"; const Torrent = new mongoose.Schema({ infoHash: String, binary: String, + poster: String, uploadedBy: mongoose.Schema.ObjectId, name: String, description: String, diff --git a/api/src/setup/createAdminUser.js b/api/src/setup/createAdminUser.js index 63b9dc0..5b0dfb6 100644 --- a/api/src/setup/createAdminUser.js +++ b/api/src/setup/createAdminUser.js @@ -18,6 +18,7 @@ const createAdminUser = async (mail) => { password: hash, created, remainingInvites: Number.MAX_SAFE_INTEGER, + emailVerified: process.env.SQ_DISABLE_EMAIL, }); adminUser.uid = crypto .createHash("sha256") @@ -35,19 +36,21 @@ const createAdminUser = async (mail) => { await adminUser.save(); - const emailVerificationValidUntil = created + 48 * 60 * 60 * 1000; - const emailVerificationToken = jwt.sign( - { - user: process.env.SQ_ADMIN_EMAIL, - validUntil: emailVerificationValidUntil, - }, - process.env.SQ_JWT_SECRET - ); - await sendVerificationEmail( - mail, - process.env.SQ_ADMIN_EMAIL, - emailVerificationToken - ); + if (!process.env.SQ_DISABLE_EMAIL) { + const emailVerificationValidUntil = created + 48 * 60 * 60 * 1000; + const emailVerificationToken = jwt.sign( + { + user: process.env.SQ_ADMIN_EMAIL, + validUntil: emailVerificationValidUntil, + }, + process.env.SQ_JWT_SECRET + ); + await sendVerificationEmail( + mail, + process.env.SQ_ADMIN_EMAIL, + emailVerificationToken + ); + } console.log("[sq] created initial admin user"); } diff --git a/api/src/utils/validateConfig.js b/api/src/utils/validateConfig.js index 096a15a..554b4c3 100644 --- a/api/src/utils/validateConfig.js +++ b/api/src/utils/validateConfig.js @@ -50,13 +50,37 @@ const configSchema = yup grey: yup.string().matches(hexRegex), }), SQ_EXTENSION_BLACKLIST: yup.array().of(yup.string()).min(0), + SQ_SITE_DEFAULT_LOCALE: yup + .string() + .oneOf(["en", "es", "it", "ru", "de", "zh", "eo", "fr"]), SQ_BASE_URL: yup.string().matches(httpRegex).required(), SQ_API_URL: yup.string().matches(httpRegex).required(), SQ_MONGO_URL: yup.string().matches(mongoRegex).required(), - SQ_MAIL_FROM_ADDRESS: yup.string().email().required(), - SQ_SMTP_HOST: yup.string().required(), - SQ_SMTP_PORT: yup.number().integer().min(1).max(65535).required(), - SQ_SMTP_SECURE: yup.boolean().required(), + SQ_DISABLE_EMAIL: yup.boolean(), + SQ_MAIL_FROM_ADDRESS: yup + .string() + .email() + .when("SQ_DISABLE_EMAIL", { + is: (val) => val !== true, + then: (schema) => schema.required(), + }), + SQ_SMTP_HOST: yup.string().when("SQ_DISABLE_EMAIL", { + is: (val) => val !== true, + then: (schema) => schema.required(), + }), + SQ_SMTP_PORT: yup + .number() + .integer() + .min(1) + .max(65535) + .when("SQ_DISABLE_EMAIL", { + is: (val) => val !== true, + then: (schema) => schema.required(), + }), + SQ_SMTP_SECURE: yup.boolean().when("SQ_DISABLE_EMAIL", { + is: (val) => val !== true, + then: (schema) => schema.required(), + }), }) .strict() .noUnknown() @@ -66,8 +90,16 @@ const configSchema = yup SQ_JWT_SECRET: yup.string().required(), SQ_SERVER_SECRET: yup.string().required(), SQ_ADMIN_EMAIL: yup.string().email().required(), - SQ_SMTP_USER: yup.string().required(), - SQ_SMTP_PASS: yup.string().required(), + SQ_SMTP_USER: yup.string(), + SQ_SMTP_PASS: yup.string(), + }) + .when("envs.SQ_DISABLE_EMAIL", { + is: (val) => val !== true, + then: (schema) => { + schema.fields.SQ_SMTP_USER = yup.string().required(); + schema.fields.SQ_SMTP_PASS = yup.string().required(); + return schema; + }, }) .strict() .noUnknown() diff --git a/client/Dockerfile b/client/Dockerfile index 0b19958..d76cb29 100644 --- a/client/Dockerfile +++ b/client/Dockerfile @@ -1,4 +1,4 @@ -FROM node:16-alpine AS builder +FROM node:16 AS builder ARG SENTRY_AUTH_TOKEN ENV NODE_ENV=production ENV SENTRY_ORG=tdjsnelling diff --git a/client/components/Comment.js b/client/components/Comment.js index 200bac6..690cf18 100644 --- a/client/components/Comment.js +++ b/client/components/Comment.js @@ -1,4 +1,4 @@ -import React from "react"; +import React, { useContext } from "react"; import Link from "next/link"; import moment from "moment"; import { Comment as CommentIcon } from "@styled-icons/boxicons-regular/Comment"; @@ -7,8 +7,11 @@ import { News } from "@styled-icons/boxicons-regular/News"; import { CommentAdd } from "@styled-icons/boxicons-regular/CommentAdd"; import Box from "./Box"; import Text from "./Text"; +import LocaleContext from "../utils/LocaleContext"; const Comment = ({ comment }) => { + const { getLocaleString } = useContext(LocaleContext); + return ( { > {comment.user?.username ? ( - Comment by{" "} + {getLocaleString("comCommentBy")}{" "} {comment.user.username} {" "} - on{" "} + {getLocaleString("comOn")}{" "} {comment.type === "torrent" && ( <> {comment.torrent ? ( @@ -101,14 +104,15 @@ const Comment = ({ comment }) => { ) : ( - Comment by{" "} + {getLocaleString("comCommentBy")}{" "} - deleted user + {getLocaleString("comDelUser")} )} - Posted {moment(comment.created).format("HH:mm Do MMM YYYY")} + {getLocaleString("reqPosted")}{" "} + {moment(comment.created).format(`${getLocaleString("indexTime")}`)} {comment.comment} diff --git a/client/components/Input.js b/client/components/Input.js index c01b49d..9415317 100644 --- a/client/components/Input.js +++ b/client/components/Input.js @@ -56,18 +56,40 @@ export const WrapLabel = ({ label, children, as = "label", ...rest }) => children ); -const Input = ({ label, rows, my, mt, mb, width, forwardedRef, ...rest }) => { +const Input = ({ + label, + rows, + my, + mt, + mb, + width, + forwardedRef, + required, + ...rest +}) => { return ( - + {rows ? ( ) : ( - + )} ); diff --git a/client/components/List.js b/client/components/List.js index ec9c607..008d47f 100644 --- a/client/components/List.js +++ b/client/components/List.js @@ -1,4 +1,4 @@ -import React, { useState } from "react"; +import React, { useContext, useState } from "react"; import Link from "next/link"; import { useRouter } from "next/router"; import { toPath } from "lodash"; @@ -7,6 +7,7 @@ import { CaretUp } from "@styled-icons/boxicons-regular/CaretUp"; import { CaretDown } from "@styled-icons/boxicons-regular/CaretDown"; import Box from "../components/Box"; import Text from "../components/Text"; +import LocaleContext from "../utils/LocaleContext"; const getIn = (obj, key, p = 0) => { const path = toPath(key); @@ -62,6 +63,9 @@ const getSortIcon = (accessor, sort = "") => { const List = ({ data = [], columns = [], ...rest }) => { const router = useRouter(); const { sort } = router.query; + + const { getLocaleString } = useContext(LocaleContext); + return ( @@ -165,7 +169,7 @@ const List = ({ data = [], columns = [], ...rest }) => { ) : ( - No items to show. + {getLocaleString("listNoItemShow")} )} diff --git a/client/components/MarkdownInput.js b/client/components/MarkdownInput.js index e5fb42c..7231af5 100644 --- a/client/components/MarkdownInput.js +++ b/client/components/MarkdownInput.js @@ -1,4 +1,4 @@ -import React, { useState } from "react"; +import React, { useContext, useState } from "react"; import Link from "next/link"; import ReactMarkdown from "react-markdown"; import remarkGfm from "remark-gfm"; @@ -7,9 +7,13 @@ import Box from "./Box"; import Text from "./Text"; import Infobox from "./Infobox"; import MarkdownBody from "./MarkdownBody"; +import LocaleContext from "../utils/LocaleContext"; const MarkdownInput = ({ defaultValue, mb, ...rest }) => { const [bodyValue, setBodyValue] = useState(defaultValue); + + const { getLocaleString } = useContext(LocaleContext); + return ( { fontSize={1} _css={{ textTransform: "uppercase" }} > - Markdown preview + {getLocaleString("mdMarkdownPreview")} diff --git a/client/components/Navigation.js b/client/components/Navigation.js index 4c4feff..e185597 100644 --- a/client/components/Navigation.js +++ b/client/components/Navigation.js @@ -24,6 +24,7 @@ import { UserPlus } from "@styled-icons/boxicons-regular/UserPlus"; import Box from "./Box"; import Text from "./Text"; import Button from "./Button"; +import LocaleContext from "../utils/LocaleContext"; const NavLink = styled.a(({ theme, href, highlights = [], mt = 0 }) => { const router = useRouter(); @@ -56,6 +57,18 @@ const NavLink = styled.a(({ theme, href, highlights = [], mt = 0 }) => { }); }); +const LocaleSelector = styled.select(() => + css({ + bg: "sidebar", + color: "text", + border: 0, + fontSize: 0, + fontFamily: "body", + cursor: "pointer", + p: 0, + }) +); + const Navigation = ({ isMobile, menuIsOpen, setMenuIsOpen }) => { const [cookies] = useCookies(); const [role, setRole] = useState("user"); @@ -63,6 +76,9 @@ const Navigation = ({ isMobile, menuIsOpen, setMenuIsOpen }) => { const theme = useContext(ThemeContext); + const { locale, setLocale, locales, getLocaleString } = + useContext(LocaleContext); + const { asPath } = useRouter(); const { username, token } = cookies; @@ -126,7 +142,7 @@ const Navigation = ({ isMobile, menuIsOpen, setMenuIsOpen }) => { > - {total.toLocaleString()} results — Page {page + 1} of{" "} + {total.toLocaleString()} {getLocaleString("torrResults")} —{" "} + {getLocaleString("torrPage")} {page + 1} {getLocaleString("torrOf")}{" "} {(maxPage + 1).toLocaleString()} diff --git a/client/locales/de.json b/client/locales/de.json new file mode 100644 index 0000000..3ab8c41 --- /dev/null +++ b/client/locales/de.json @@ -0,0 +1,308 @@ +{ + "404NotFound": "Nicht gefunden", + "404PageDoesNotExist": "Die angeforderte Seite existiert nicht", + "404ReturnHome": "Zurück zur Startseite", + "acc2FADisabled": "2FA deaktiviert", + "acc2FAEnabled": "2FA aktiviert", + "acc2FAScanQR": "Scannen sie den QR Code mit ihrer Authenticator App und geben Sie den Einmal-Code ein.", + "acc2FAText1": "2FA wurde erfolgreich aktiviert. Diese Backup codes können für den Login benutzt werden, falls Sie Zugriff auf ihre Authenticator App verlieren. Speichern Sie sie jetzt! Sie werden nicht noch einmal angezeigt werden.", + "acc2FAUseApp": "Nutzen Sie eine Authenticator App für eine zusätzliche Sicherung", + "acc2FAuth": "Zwei Faktor Authentifizierung", + "accBonusPoints": "Bonus Punkte", + "accBonusPointsHave": "Bonus Punkt(e)", + "accBuy": "Kaufen", + "accCancel": "Abbrechen", + "accChangePass": "Passwort ändern", + "accClaimed": "Beansprucht", + "accCopyLink": "Link kopieren", + "accCouldNotBuyItems": "Konnte keine Items kaufen", + "accCouldNotChangePass": "Konnte das Passwort nicht ändern", + "accCouldNotDelAcc": "Account konnte nicht gelöscht werden", + "accCouldNotSendInvite": "Einladung konnte nicht verschickt werden", + "accCouldNotToggle2FA": "Konnte 2FA nicht umschalten", + "accCreated": "Erstellt", + "accCurrentPass": "Aktuelles Passwort", + "accDangerZone": "Gefahrenzone", + "accDelAccText1": "Sind sie sicher, dass sie ihren Account löschen möchten? Diese Aktion kann nicht rückgängig gemacht werden und Sie werden nicht in der Lage sein sich erneut zu registrieren. Ihre persönlichen Informationen werden gelöscht, aber ihre hochgeladenen Torrents verbleiben.", + "accDeleteMyAcc": "Lösche meinen Account", + "accDeleteMyAccYes": "Ja, lösche meinen Account", + "accDisable": "Deaktivieren", + "accEnable": "Aktivieren", + "accEnable2FA": "Aktiviere 2FA", + "accEveryRequestYouFulfill": "für jede Anfrage, die Sie erfüllen, oder", + "accForEveryGBYouUpload": "für jedes GB, das Sie hochladen", + "accIfYouAreAlsUploaderAcceptTorrent": "wenn Sie auch der Uploader des akzeptierten Torrents sind", + "accInviteLinkCopiedClipboard": "Einladungslink wurde in die Zwischenablage kopiert", + "accInvites": "Einladungen", + "accRemaining": "verbleibend", + "accRoleUser": "Rolle: Nutzer", + "accRoleAdmin": "Rolle: Admin", + "accInviteSentSuccess": "Einladung erfolgreich gesendet", + "accInviteText1": "Geben Sie eine E-Mail Adresse ein, um die Einladung zu senden. Der eingeladene Nutzer muss sich mit der selben E-Mail Addresse registrieren. Sobald die Einladung generiert ist, können sie auch einen direkten Link kopieren.", + "accItemsPurchasedSuccess": "Die Items wurden erfolgreich gekauft", + "accMyAccount": "Mein Account", + "accPassChangedSuccess": "Das Passwort wurde erfolgreich geändert", + "accPurchaseInvites": "Kaufe Einladungen", + "accPurchaseUpload1GB": "Kaufe Upload (1 GB)", + "accRole": "Rolle", + "accSendInvite": "Eine Einladung senden", + "accThisIsAdminAcc": "Dies ist ein Admin Account.", + "accValidUntil": "Gültig bis", + "accYouCurrentlyHave": "Sie haben aktuell", + "accYouWillEarn": "Sie werden verdienen", + "accNotAvailableToBuy": "Nicht zum Kauf verfügbar", + "annPinnedAnnounce": "Angepinnte Bekanntmachungen", + "annOtherAnnounce": "Andere Bekanntmachungen", + "annAnnounceCreatSuccess": "Bekanntmachung erfolgreich erstellt", + "annCouldNotCreateAnnounce": "Konnte Bekanntmachung nicht erstellen", + "annNewAnnounce": "Neue Bekanntmachung", + "annBody": "Inhalt", + "annPinThisAnnounceQ": "Diese Bekanntmachung pinnen?", + "annAllowCommentsQ": "Kommentare erlauben?", + "annCreateAnnounce": "Eine Bekanntmachung erstellen", + "annAnnounceDelSuccess": "Bekanntmachung wurde erfolgreich gelöscht", + "annCouldNotDelAnnounce": "Konnte Bekanntmachung nicht löschen", + "annUnpin": "Loslösen", + "annPin": "Pinnen", + "annUnpinned": "Losgelöst", + "annPinned": "Angepinnt", + "annLastUpdated": "Zuletzt aktualisiert", + "annCommentsDisabled": "Kommentare deaktiviert.", + "annAreYouSureYouWantToDelThisannounceQ": "Sind Sie sicher, dass sie diese Ankündigung löschen möchten? Dies kann nicht rückgängig gemacht werden.", + "annAnnounceUpdatedSuccess": "Die Ankündigung wurde erfolgreich aktualisiert", + "annCouldNotUpdateAnnounce": "Die Ankündigung konnte nicht aktualisiert werden", + "annEditAnnounce": "Ankündigung bearbeiten", + "annUpdateAnnounce": "Ankündigung aktualisieren", + "annAnnounce": "Ankündigung", + "bmYourBM": "Deine Lesezeichen", + "bmYouNotHaveAnyBM": "Du hast keine Lesezeichen.", + "catCategories": "Kategorien", + "catNoCategoryHaveBeenDefined": "Es wurden keine Kategorien festgelegt.", + "catNoTagsHaveBeenDefined": "Es wurden keine Tags definiert.", + "catNoResults": "Keine Ergebnisse.", + "comCommentBy": "Kommentar von", + "comDelUser": "Gelöschter Benutzer", + "comOn": "an", + "email": "Email", + "errSomethingWentWrong": "Etwas ist schief gelaufen", + "errTooManyRequests": "Zu viele Anfragen! Sie wurden limitiert. Bitte warten Sie eine kurze Zeit bevor Sie es erneut versuchen.", + "errIfErrorPersist": "Wenn der Fehler weiterhin besteht, bitte", + "errReportIt": "Melde ihn", + "errForNow": "Für jetzt,", + "indexLatestAnnounce": "Letzte Bekanntmachungen", + "indexLatestTorrents": "Letzte Torrents", + "indexSearch": "Suche", + "indexSearchTorrents": "Suche Torrents", + "indexText1": "Ihre E-Mail Adresse ist noch nicht verifiziert. Sie können keine Daten hoch / runterladen, bevor ihre E-Mail nicht verifiziert wurde.", + "indexTime": "HH:mm Do MMM YYYY", + "listNoItemShow": "Keine Items zum Anzeigen.", + "logIn": "Anmelden", + "logInFailed": "Anmeldung fehlgeschlagen", + "mdMarkdownPreview": "Markdown Vorschau", + "navAnnouncements": "Ankündigungen", + "navBookmarks": "Lesezeichen", + "navBrowse": "Durchsuchen", + "navHome": "Start", + "navLogOut": "Ausloggen", + "navReports": "Meldungen", + "navRequests": "Anfragen", + "navRSS": "RSS", + "navSearch": "Suche", + "navStats": "Statistiken", + "navUpload": "Upload", + "navWiki": "Wiki", + "newPassword": "Neues Passwort", + "password": "Passwort", + "passwordResetFailed": "Das Zurücksetzen des Passworts konnte nicht abgeschlossen werden", + "passwordResetRequestFailed": "Das Zurücksetzen des Passworts konnte nicht eingeleitet werden", + "passwordResetRequestSuccess": "Wenn ein Konto mit dieser E-Mail-Adresse existiert, erhalten Sie in Kürze eine E-Mail", + "passwordResetSuccess": "Das Passwort wurde erfolgreich zurückgesetzt", + "poweredBy": "Powered by", + "register": "Registrieren", + "registerFailed": "Registrierung fehlgeschlagen", + "registrationClosed": "Registrierung geschlossen", + "reqCreateNew": "Erstelle Neu", + "reqCreateReq": "Erstelle Anfrage", + "reqTitle": "Titel", + "reqPostedBy": "Geschrieben von", + "reqPost": "Post", + "reqRequestCreatedSuccess": "Anfrage erfolgreich erstellt", + "reqCouldNotCreateReq": "Konnte Anfrage nicht erstellen", + "reqNewRequest": "Neue Anfrage", + "reqWhatYouLookForQ": "Nach was suchen Sie?", + "reqRequestDelSuccess": "Anfrage wurde erfolgreich gelöscht", + "reqCouldNotDelReq": "Anfrage konnte nicht gelöscht werden", + "reqCommentPostSuccess": "Kommentar wurde erfolgreich gepostet", + "reqCommentNotPost": "Kommentar konnte nicht gepostet werden", + "reqSuggestionAddSuccess": "Vorschlag erfolgreich hinzugefügt", + "reqSuggestionNotAdded": "Vorschlag konnte nicht hinzugefügt werden", + "reqSuggestionAcceptSuccess": "Vorschlag wurde erfolgreich akzeptiert", + "reqCouldNotAcceptSuggestion": "Vorschlag konnte nicht akzeptiert werden", + "reqDelete": "Löschen", + "reqSuggestedTorrents": "Vorgeschlagene Torrents", + "reqSuggestATorrent": "Schlag einen Torrent vor", + "reqAccepted": "Akzeptiert", + "reqAccept": "Akzeptieren", + "reqNoTorrentsHaveBeenSuggestedYet": "Es wurden noch keine Torrents vorgeschlagen.", + "reqPostAComment": "Poste einen Kommentar", + "reqEnterInfohashTorrentBelow": "Gib den Info Hash eines Torrens unten ein.", + "reqFulfilled": "Erfüllt", + "reqPosted": "Gesendet", + "reqBy": "von", + "reqInfohash": "Info Hash", + "reqSuggest": "Vorschlagen", + "repUnresolvedRep": "Ungelöste Berichte", + "repRepBy": "Gemeldet von", + "repReason": "Grund", + "repRepMarkSolved": "Meldung als gelöst markiert", + "repCouldNotResolveRep": "Die Meldung konnte nicht gelöst werden", + "repRepOn": "Berichten über", + "repMarkSolved": "Als gelöst markieren", + "repRep": "Gemeldet", + "repTorrDetail": "Torrent Einzelheiten", + "resetPassword": "Passwort zurücksetzen", + "rssThereRSSFeedAt": "Es gibt einen RSS Feed", + "rssToAuthenticateYourself": "Um sich zu authentifizieren, müssen Sie Ihre Cookies übermitteln", + "rssAnd": "und", + "rssToRSSEndpoint": "an den RSS-Endpunkt, der Ihren Benutzernamen bzw. Ihr Passwort enthält.", + "rssNoQueryParametersAreProvided": "Wenn keine Abfrageparameter angegeben werden, enthält der RSS-Feed die 100 neuesten Torrents.", + "rssOnlyIncludeMatchingResults": "Um nur passende Ergebnisse in den Feed aufzunehmen, können Sie Folgendes hinzufügen", + "rssQueryParameter": "Abfrageparameter, z.B.", + "searchSearchResults": "Suchergebnisse für", + "searchSearchError": "Suchfehler", + "statYouNotPermission": "Sie haben keine Erlaubnis dies zu tun.", + "statTrackerStat": "Tracker Statistiken", + "statActiveTorrents": "Aktive Torrents", + "statBannedUsers": "Gebannte Nutzer", + "statCompletedDownloads": "Abgeschlossene Downloads", + "statFilledRequests": "Erfüllte Anfragen", + "statInvitesAccepted": "Akzeptierte Einladungen", + "statLeechers": "Leechers", + "statPeers": "Peers", + "statRegisteredUsers": "Registrierte Nutzer", + "statSeeders": "Seeders", + "statTotalComments": "Alle Kommentare", + "statTotalInvitesSent": "Alle gesendeten Einladungen", + "statTotalRequests": "Alle Anfragen", + "statUploadedTorrents": "Hochgeladene Torrents", + "tagTaggedWith": "Markiert mit", + "tokenError": "Token Fehler", + "torrSeeders": "Seeders", + "torrLeechers": "Leechers", + "torrDownloads": "Downloads", + "torrUploaded": "Hochgeladen", + "torrTorrEditSuccess": "Torrent erfolgreich bearbeitet", + "torrCouldEditTorr": "Konnte den Torrent nicht bearbeiten", + "torrTorrDelSuccess": "Torrent wurde erfolgreich gelöscht", + "torrCouldNotDelTorr": "Torrent konnte nicht gelöscht werden", + "torrVoteSubmitSuccess": "Abstimmung erfolgreich eingereicht", + "torrCouldNotSubmitVote": "Stimme konnte nicht abgegeben werden.", + "torrReportSubmitSuccess": "Meldung erfolgreich eingereicht", + "torrCouldNotSubmitReport": "Meldung konnte nicht eingereicht werden", + "torrFLToggleSuccess": "Freeleech erfolgreich umgeschaltet", + "torrCouldNotToggleFL": "Konnte freeleech nicht umschalten", + "torrTorrRemFromGroupSuccess": "Der Torrent wurde von der Gruppe entfernt", + "torrCouldNotRemTorrFromGroup": "Konnte den Torrent nicht von der Gruppe entfernen", + "torrTorrent": "Torrent", + "torrCouldNotBookmarkTorr": "Torrent konnte nicht als Lesezeichen gespeichert werden", + "torrFL": "FL!", + "torrEdit": "Bearbeiten", + "torrDownload": "Herunterladen", + "torrLogInDownload": "Einloggen zum Herunterladen", + "torrFiles": "Dateien", + "torrReport": "Melden", + "torrRemTorr": "Entferne diesen Torrent", + "torrAddTorr": "Einen Torrent hinzufügen", + "torrReasonForReport": "Grund für Meldung", + "torrSureDeleteTorr": "Sind Sie sich sicher, dass Sie den Torrent löschen möchten? Dies kann nicht rückgängig gemacht werden.", + "torrFreeleech": "Freeleech", + "torrUnset": "Unset", + "torrSet": "Set", + "torrUploadedBy": "Hochgeladen von", + "torrDate": "Datum", + "torrSize": "Größe", + "torrYes": "Ja", + "torrNo": "Nein", + "torrGroupTorr": "Gruppierte Torrents", + "torrThereAreNoOtherTorrGroup": "Es sind keine anderen Torrents in dieser Gruppe.", + "torrResults": "Ergebnisse", + "torrPage": "Seite", + "torrOf": "von", + "torrRemovedFrom": "entfernt von", + "torrAddedTo": "hinzugefügt zu", + "torrTorrNoTags": "Dieser Torrent hat keine Markierung.", + "totp": "Einmal code", + "uploadAddTag": "Füge eine Markierung hinzu", + "uploadAnnounceURL": "Announce URL", + "uploadAnonymousUpload": "Anonymer Upload", + "uploadCategory": "Kategorie", + "uploadCouldNotGetGroupSuggestions": "Es konnten keine Gruppenvorschläge abgerufen werden", + "uploadCouldNotUploadFile": "Die Datei konnte nicht hochgeladen werden", + "uploadCouldNotUploadTorrent": "Konnte .torrent nicht hochladen", + "uploadDescription": "Beschreibung", + "uploadDragDropClickSelect": "Ziehen Sie die Torrent-Datei per Drag-and-Drop hierher oder klicken Sie, um sie auszuwählen", + "uploadDropFileHere": "Legen Sie die Datei hier ab...", + "uploadGroupWith": "Gruppe mit", + "uploadGroupWithThisTorrent": "Gruppe mit diesem Torrent", + "uploadInfoBox1": "Die folgenden Dateierweiterungen stehen auf der schwarzen Liste. Torrents, die Dateien dieser Art enthalten, werden nicht hochgeladen.", + "uploadInfoBox2": "Es sieht so aus, als hätten diese vorhandenen Torrents ähnliche Namen. Möchten Sie Ihren Upload mit einem davon gruppieren? Gruppen sollten nur sehr ähnliche Inhalte enthalten, z.B. den gleichen Film in verschiedenen Formaten.", + "uploadInfoBox3": "Hinweis: Wenn Sie vor dem Hochladen mit dem Seeding eines Torrents begonnen haben, müssen Sie möglicherweise die Tracker in Ihrem Torrent-Client aktualisieren, sobald der Upload abgeschlossen ist.", + "uploadMarkdownSupport": "Markdown unterstützt", + "uploadMediaInfo": "Medien Information", + "uploadName": "Name", + "uploadSource": "Quelle", + "uploadTags": "Markierungen", + "uploadTorrentFile": "Torrent Datei", + "uploadTorrentUploadSuccess": "Torrent erfolgreich hochgeladen", + "uploadUpload": "Hochladen", + "uploadRemove": "Entfernen", + "username": "Nutzername", + "userUser": "Nutzer", + "userSuccessfully": "erfolgreich", + "userCouldNot": "Konnte nicht", + "userProfile": "Profil", + "userUserSince": "Nutzer seit", + "userUserSinceTime": "Do MMM YYYY", + "userOnlyAdminsSee": "Nur Admins können dies sehen", + "userInvitedBy": "Eingeladen von", + "userEmailVerified": "Email verifiziert", + "userRemainingInvites": "Verbleibende Einladungen", + "userRatio": "Ratio", + "userHitNRuns": "Hit'n'runs", + "userDownloaded": "Heruntergeladen", + "userComments": "Kommentare", + "userNoComments": "Keine Kommentare.", + "userYouSureWant": "Sind Sie sicher, dass Sie das möchten?", + "userThisUserQ": "dieser Nutzer??", + "userUploaded": "Hochgeladen", + "userMyUploads": "Meine Uploads", + "usernameRules": "Darf nur aus Buchstaben, Zahlen und „.“ bestehen.“", + "userUnban": "entsperren", + "userBan": "sperren", + "userUnbanned": "entsperrt", + "userBanned": "gesperrt", + "userAdmin": "Admin", + "veCouldNotVerifyEmailAddress": "Konnte diese E-Mail Adresse nicht verifizieren:", + "veEmailAddressVerifiedSuccess": "E-Mail wurde erfolgreich verifiziert.", + "veNoVerificationTokenProvided": "Kein Verifizierungs-Token angegeben", + "veVerifyEmail": "Verifiziere E-Mail", + "welcome": "Willkommen", + "welcomeBack": "Willkommen zurück", + "wikiPath": "Pfad", + "wikiPageWillBeVisibleAt": "Die Seite wird sichtbar sein am", + "wikiAllowUnregisteredView": "Nicht registrierte Ansicht zulassen", + "wikiPageCreateSuccess": "Wiki-Seite erfolgreich erstellt", + "wikiCouldNotCreatePage": "Konnte die Wiki-Seite nicht erstellen", + "wikiNewPage": "Neue Wiki-Seite", + "wikiCreatePage": "Erstelle Wiki-Seite", + "wikiPageDelSuccess": "Wiki-Seite wurde erfolgreich gelöscht", + "wikiCouldNotDelPage": "Konnte die Wiki-Seite nicht löschen", + "wikiPageUpdateSuccess": "Die Wiki-Seite wurde erfolgreich aktualisiert", + "wikiCouldNotUpdatePage": "Die Wiki-Seite konnte nicht aktualisiert werden", + "wikiAddPage": "Füge eine Seite hinzu", + "wikiLastEdited": "Zuletzt geändert", + "wikiPages": "Seiten", + "wikiSaveChanges": "Änderungen speichern", + "wikiThereNothingHereYet": "Hier ist noch nichts", + "wikiDelThisPageQ": "Sind Sie sicher, dass Sie diese Wiki-Seite löschen möchten? Das kann nicht rückgängig gemacht werden." +} diff --git a/client/locales/en.json b/client/locales/en.json new file mode 100644 index 0000000..646f16b --- /dev/null +++ b/client/locales/en.json @@ -0,0 +1,313 @@ +{ + "404NotFound": "Not found", + "404PageDoesNotExist": "That page does not exist.", + "404ReturnHome": "Return home", + "acc2FADisabled": "2FA disabled", + "acc2FAEnabled": "2FA enabled", + "acc2FAScanQR": "Scan the QR code with your authenticator app and enter the one-time code", + "acc2FAText1": "2FA enabled successfully. These backup codes can be used to log in if you lose access to your authenticator app. Save them now, they will not be visible again.", + "acc2FAUseApp": "Use an authenticator app to add another layer of security to your account", + "acc2FAuth": "Two-factor authentication", + "accBonusPoints": "Bonus points", + "accBonusPointsHave": "bonus point(s)", + "accBuy": "Buy", + "accCancel": "Cancel", + "accChangePass": "Change password", + "accClaimed": "Claimed", + "accCopyLink": "Copy link", + "accCouldNotBuyItems": "Could not buy items", + "accCouldNotChangePass": "Could not change password", + "accCouldNotDelAcc": "Could not delete account", + "accCouldNotSendInvite": "Could not send invite", + "accCouldNotToggle2FA": "Could not toggle 2FA", + "accCreated": "Created", + "accCurrentPass": "Current password", + "accDangerZone": "Danger zone", + "accDelAccText1": "Are you sure you want to delete your account? This action cannot be undone, and you may not be able to register again. Your personal information will be deleted but your uploaded torrents will remain.", + "accDeleteMyAcc": "Delete my account", + "accDeleteMyAccYes": "Yes, delete my account", + "accDisable": "Disable", + "accEnable": "Enable", + "accEnable2FA": "Enable 2FA", + "accEveryRequestYouFulfill": "for every request you fulfill, or", + "accForEveryGBYouUpload": "for every GB you upload", + "accIfYouAreAlsUploaderAcceptTorrent": "if you are also the uploader of the accepted torrent", + "accInviteLinkCopiedClipboard": "Invite link copied to clipboard", + "accInvites": "Invites", + "accRemaining": "remaining", + "accRoleUser": "Role: user", + "accRoleAdmin": "Role: admin", + "accInviteSentSuccess": "Invite sent successfully", + "accInviteSentSuccessNoEmail": "Invite created successfully", + "accInviteText1": "Enter an email address to send an invite. The invited user will need to sign up with the same email address. Once the invite is generated, you can also copy a direct invite link.", + "accInviteText1NoEmail": "Enter an email address to generate an invite. The invited user will need to sign up with the same email address. This tracker has email sending disabled, so you will need to copy and send the invite link yourself.", + "accItemsPurchasedSuccess": "Items purchased successfully", + "accMyAccount": "My account", + "accPassChangedSuccess": "Password changed successfully", + "accPurchaseInvites": "Purchase invites", + "accPurchaseUpload1GB": "Purchase upload (1 GB)", + "accRole": "Role", + "accSendInvite": "Send invite", + "accSendInviteNoEmail": "Create invite", + "accThisIsAdminAcc": "This is an admin account.", + "accValidUntil": "Valid until", + "accYouCurrentlyHave": "You currently have", + "accYouWillEarn": "You will earn", + "accNotAvailableToBuy": "Not available to buy", + "annPinnedAnnounce": "Pinned announcements", + "annOtherAnnounce": "Other announcements", + "annAnnounceCreatSuccess": "Announcement created successfully", + "annCouldNotCreateAnnounce": "Could not create announcement", + "annNewAnnounce": "New announcement", + "annBody": "Body", + "annPinThisAnnounceQ": "Pin this announcement?", + "annAllowCommentsQ": "Allow comments?", + "annCreateAnnounce": "Create announcement", + "annAnnounceDelSuccess": "Announcement deleted successfully", + "annCouldNotDelAnnounce": "Could not delete announcement", + "annUnpin": "Unpin", + "annPin": "Pin", + "annUnpinned": "unpinned", + "annPinned": "pinned", + "annLastUpdated": "Last updated", + "annCommentsDisabled": "Comments disabled.", + "annAreYouSureYouWantToDelThisannounceQ": "Are you sure you want to delete this announcement? This cannot be undone.", + "annAnnounceUpdatedSuccess": "Announcement updated successfully", + "annCouldNotUpdateAnnounce": "Could not update announcement", + "annEditAnnounce": "Edit announcement", + "annUpdateAnnounce": "Update announcement", + "annAnnounce": "Announcement", + "bmYourBM": "Your bookmarks", + "bmYouNotHaveAnyBM": "You do not have any bookmarks.", + "catCategories": "Categories", + "catNoCategoryHaveBeenDefined": "No categories have been defined.", + "catNoTagsHaveBeenDefined": "No tags have been defined.", + "catNoResults": "No results.", + "comCommentBy": "Comment by", + "comDelUser": "deleted user", + "comOn": "on", + "email": "Email", + "errSomethingWentWrong": "Something went wrong", + "errTooManyRequests": "Too many requests! You have been rate limited. Please wait a while before trying again.", + "errIfErrorPersist": "If the error persists, please", + "errReportIt": "report it", + "errForNow": "For now,", + "indexLatestAnnounce": "Latest announcement", + "indexLatestTorrents": "Latest torrents", + "indexSearch": "Search", + "indexSearchTorrents": "Search torrents", + "indexText1": "Your email address is not yet verified. You will not be able to upload or download any data until this is done.", + "indexTime": "HH:mm Do MMM YYYY", + "listNoItemShow": "No items to show.", + "logIn": "Log in", + "logInFailed": "Could not log in", + "mdMarkdownPreview": "Markdown preview", + "navAnnouncements": "Announcements", + "navBookmarks": "Bookmarks", + "navBrowse": "Browse", + "navHome": "Home", + "navLogOut": "Log out", + "navReports": "Reports", + "navRequests": "Requests", + "navRSS": "RSS", + "navSearch": "Search", + "navStats": "Stats", + "navUpload": "Upload", + "navWiki": "Wiki", + "newPassword": "New password", + "password": "Password", + "passwordResetFailed": "Could not complete password reset", + "passwordResetRequestFailed": "Could not initiate password reset", + "passwordResetRequestSuccess": "If an account with that email address exists, you will receive an email shortly", + "passwordResetSuccess": "Password was reset successfully", + "posterImage": "Cover image", + "poweredBy": "Powered by", + "register": "Register", + "registerFailed": "Could not register", + "registrationClosed": "Registration closed", + "reqCreateNew": "Create new", + "reqCreateReq": "Create request", + "reqTitle": "Title", + "reqPostedBy": "Posted by", + "reqPost": "Post", + "reqRequestCreatedSuccess": "Request created successfully", + "reqCouldNotCreateReq": "Could not create request", + "reqNewRequest": "New request", + "reqWhatYouLookForQ": "What are you looking for?", + "reqRequestDelSuccess": "Request deleted successfully", + "reqCouldNotDelReq": "Could not delete request", + "reqCommentPostSuccess": "Comment posted successfully", + "reqCommentNotPost": "Could not post comment", + "reqSuggestionAddSuccess": "Suggestion added successfully", + "reqSuggestionNotAdded": "Could not add suggestion", + "reqSuggestionAcceptSuccess": "Suggestion accepted successfully", + "reqCouldNotAcceptSuggestion": "Could not accept suggestion", + "reqDelete": "Delete", + "reqSuggestedTorrents": "Suggested torrents", + "reqSuggestATorrent": "Suggest a torrent", + "reqAccepted": "Accepted", + "reqAccept": "Accept", + "reqNoTorrentsHaveBeenSuggestedYet": "No torrents have been suggested yet.", + "reqPostAComment": "Post a comment", + "reqEnterInfohashTorrentBelow": "Enter the infohash of a torrent below.", + "reqFulfilled": "Fulfilled", + "reqPosted": "Posted", + "reqBy": "by", + "reqInfohash": "Infohash", + "reqSuggest": "Suggest", + "repUnresolvedRep": "Unresolved reports", + "repRepBy": "Reported by", + "repReason": "Reason", + "repRepMarkSolved": "Report marked as solved", + "repCouldNotResolveRep": "Could not resolve report", + "repRepOn": "Report on", + "repMarkSolved": "Mark as solved", + "repRep": "Reported", + "repTorrDetail": "Torrent details", + "resetPassword": "Reset password", + "rssThereRSSFeedAt": "There is an RSS feed at", + "rssToAuthenticateYourself": "To authenticate yourself, you must provide the cookies", + "rssAnd": "and", + "rssToRSSEndpoint": "to the RSS endpoint, containing your username and your password respectively.", + "rssNoQueryParametersAreProvided": "If no query parameters are provided, the RSS feed will contain the 100 latest torrents.", + "rssOnlyIncludeMatchingResults": "To only include matching results in the feed, you can add the", + "rssQueryParameter": "query parameter, e.g.", + "searchSearchResults": "Search results for", + "searchSearchError": "Search error", + "statYouNotPermission": "You do not have permission to do that.", + "statTrackerStat": "Tracker statistics", + "statActiveTorrents": "Active torrents", + "statBannedUsers": "Banned users", + "statCompletedDownloads": "Completed downloads", + "statFilledRequests": "Filled requests", + "statInvitesAccepted": "Invites accepted", + "statLeechers": "Leechers", + "statPeers": "Peers", + "statRegisteredUsers": "Registered users", + "statSeeders": "Seeders", + "statTotalComments": "Total comments", + "statTotalInvitesSent": "Total invites sent", + "statTotalRequests": "Total requests", + "statUploadedTorrents": "Uploaded torrents", + "tagTaggedWith": "Tagged with", + "tokenError": "Token error", + "torrSeeders": "Seeders", + "torrLeechers": "Leechers", + "torrDownloads": "Downloads", + "torrUploaded": "Uploaded", + "torrTorrEditSuccess": "Torrent edited successfully", + "torrCouldEditTorr": "Could edit torrent", + "torrTorrDelSuccess": "Torrent deleted successfully", + "torrCouldNotDelTorr": "Could not delete torrent", + "torrVoteSubmitSuccess": "Vote submitted successfully", + "torrCouldNotSubmitVote": "Could not submit vote", + "torrReportSubmitSuccess": "Report submitted successfully", + "torrCouldNotSubmitReport": "Could not submit report", + "torrFLToggleSuccess": "Freeleech toggled successfully", + "torrCouldNotToggleFL": "Could not toggle freeleech", + "torrTorrRemFromGroupSuccess": "Torrent removed from group successfully", + "torrCouldNotRemTorrFromGroup": "Could not remove torrent from group", + "torrTorrent": "Torrent", + "torrCouldNotBookmarkTorr": "Could not bookmark torrent", + "torrFL": "FL!", + "torrEdit": "Edit", + "torrDownload": "Download", + "torrLogInDownload": "Log in to download", + "torrFiles": "Files", + "torrReport": "Report", + "torrRemTorr": "Remove this torrent", + "torrAddTorr": "Add a torrent", + "torrReasonForReport": "Reason for report", + "torrSureDeleteTorr": "Are you sure you want to delete this torrent? This cannot be undone.", + "torrFreeleech": "Freeleech", + "torrUnset": "Unset", + "torrSet": "Set", + "torrUploadedBy": "Uploaded by", + "torrDate": "Date", + "torrSize": "Size", + "torrYes": "Yes", + "torrNo": "No", + "torrGroupTorr": "Grouped torrents", + "torrThereAreNoOtherTorrGroup": "There are no other torrents in this group.", + "torrResults": "results", + "torrPage": "Page", + "torrOf": "of", + "torrRemovedFrom": "removed from", + "torrAddedTo": "added to", + "torrTorrNoTags": "This torrent has no tags.", + "totp": "One-time code", + "uploadAddTag": "Add tag", + "uploadAnnounceURL": "Announce URL", + "uploadAnonymousUpload": "Anonymous upload", + "uploadCategory": "Category", + "uploadCouldNotGetGroupSuggestions": "Could not get group suggestions", + "uploadCouldNotUploadFile": "Could not upload file", + "uploadCouldNotUploadTorrent": "Could not upload .torrent", + "uploadDescription": "Description", + "uploadDragDropClickSelect": "Drag and drop .torrent file here, or click to select", + "uploadDragDropClickSelectPoster": "Drag and drop your cover image here, or click to select", + "uploadDropFileHere": "Drop the file here...", + "uploadGroupWith": "Group with", + "uploadGroupWithThisTorrent": "Group with this torrent", + "uploadInfoBox1": "The following file extensions are blacklisted. Any torrent containing files of these types will not be uploaded.", + "uploadInfoBox2": "It looks like these existing torrents have similar names. Would you like to group your upload with any of them? Groups should only contain very similar content, e.g. the same movie in different formats.", + "uploadInfoBox3": "Note: if you have started seeding a torrent before uploading, you may need to refresh trackers in your torrent client once the upload is complete.", + "uploadMarkdownSupport": "Markdown supported", + "uploadMediaInfo": "MediaInfo", + "uploadName": "Name", + "uploadSource": "Source", + "uploadTags": "Tags", + "uploadTorrentFile": "Torrent file", + "uploadTorrentUploadSuccess": "Torrent uploaded successfully", + "uploadUpload": "Upload", + "uploadRemove": "Remove", + "username": "Username", + "userUser": "User", + "userSuccessfully": "successfully", + "userCouldNot": "Could not", + "userProfile": "profile", + "userUserSince": "User since", + "userUserSinceTime": "Do MMM YYYY", + "userOnlyAdminsSee": "Only admins can see this", + "userInvitedBy": "Invited by", + "userEmailVerified": "Email verified", + "userRemainingInvites": "Remaining invites", + "userRatio": "Ratio", + "userHitNRuns": "Hit'n'runs", + "userDownloaded": "Downloaded", + "userComments": "Comments", + "userNoComments": "No comments.", + "userYouSureWant": "Are you sure that you want to", + "userThisUserQ": "this user?", + "userUploaded": "Uploaded", + "userMyUploads": "My uploads", + "usernameRules": "Can only consist of letters, numbers, and “.”", + "userUnban": "Unban", + "userBan": "Ban", + "userUnbanned": "unbanned", + "userBanned": "banned", + "userAdmin": "Admin", + "veCouldNotVerifyEmailAddress": "Could not verify email address:", + "veEmailAddressVerifiedSuccess": "Email address verified successfully.", + "veNoVerificationTokenProvided": "No verification token provided", + "veVerifyEmail": "Verify email", + "welcome": "Welcome", + "welcomeBack": "Welcome back", + "wikiPath": "Path", + "wikiPageWillBeVisibleAt": "Page will be visible at", + "wikiAllowUnregisteredView": "Allow unregistered view", + "wikiPageCreateSuccess": "Wiki page created successfully", + "wikiCouldNotCreatePage": "Could not create wiki page", + "wikiNewPage": "New wiki page", + "wikiCreatePage": "Create wiki page", + "wikiPageDelSuccess": "Wiki page deleted successfully", + "wikiCouldNotDelPage": "Could not delete wiki page", + "wikiPageUpdateSuccess": "Wiki page updated successfully", + "wikiCouldNotUpdatePage": "Could not update wiki page", + "wikiAddPage": "Add page", + "wikiLastEdited": "Last edited", + "wikiPages": "Pages", + "wikiSaveChanges": "Save changes", + "wikiThereNothingHereYet": "There is nothing here yet.", + "wikiDelThisPageQ": "Are you sure you want to delete this wiki page? This cannot be undone." +} diff --git a/client/locales/eo.json b/client/locales/eo.json new file mode 100644 index 0000000..6f9e8e5 --- /dev/null +++ b/client/locales/eo.json @@ -0,0 +1,308 @@ +{ + "404NotFound": "Ne trovita", + "404PageDoesNotExist": "Tiu paĝo ne ekzistas.", + "404ReturnHome": "Revenu hejmen", + "acc2FADisabled": "2FA malŝaltita", + "acc2FAEnabled": "2FA ebligita", + "acc2FAScanQR": "Skanu la QR-kodon per via aŭtentikigilo kaj enigu la unufojan kodon", + "acc2FAText1": "2FA estas ebligita sukcese. Ĉi tiuj rezervaj kodoj povas esti uzataj por ensaluti se vi perdas aliron al via aŭtentikigilo. Konservu ilin nun, ili ne estos videblaj denove.", + "acc2FAUseApp": "Uzu aŭtentikilon por aldoni alian tavolon de sekureco al via konto", + "acc2FAuth": "Dufaktora aŭtentigo", + "accBonusPoints": "Gratifikaj punktoj", + "accBonusPointsHave": "krompunkto(j)", + "accBuy": "Aĉeti", + "accCancel": "Nuligi", + "accChangePass": "Ŝanĝi pasvorton", + "accClaimed": "Asertita", + "accCopyLink": "Kopiu ligilon", + "accCouldNotBuyItems": "Ne povis aĉeti erojn", + "accCouldNotChangePass": "Ne eblis ŝanĝi pasvorton", + "accCouldNotDelAcc": "Ne eblis forigi konton", + "accCouldNotSendInvite": "Ne eblis sendi inviton", + "accCouldNotToggle2FA": "Ne eblis ŝanĝi 2FA", + "accCreated": "Kreita", + "accCurrentPass": "Nuna pasvorto", + "accDangerZone": "Danĝera zono", + "accDelAccText1": "Ĉu vi certas, ke vi volas forigi vian konton? Ĉi tiu ago ne povas esti malfarita, kaj vi eble ne povos registriĝi denove. Viaj personaj informoj estos forigitaj sed viaj alŝutitaj torentoj restos.", + "accDeleteMyAcc": "Forigi mian konton", + "accDeleteMyAccYes": "Jes, forigu mian konton", + "accDisable": "Malŝalti", + "accEnable": "Ebligi", + "accEnable2FA": "Ebligu 2FA", + "accEveryRequestYouFulfill": "por ĉiu peto, kiun vi plenumas, aŭ", + "accForEveryGBYouUpload": "por ĉiu GB kiun vi alŝutas", + "accIfYouAreAlsUploaderAcceptTorrent": "se vi estas ankaŭ la alŝutanto de la akceptita torento", + "accInviteLinkCopiedClipboard": "Invita ligilo kopiita al tondujo", + "accInvites": "Invitoj", + "accRemaining": "restanta", + "accRoleUser": "Rajtoj: uzanto", + "accRoleAdmin": "Rajtoj: administranto", + "accInviteSentSuccess": "Invito sendita sukcese", + "accInviteText1": "Entajpu retadreson por sendi inviton. La invitita uzanto devos registriĝi kun la sama retadreso. Post kiam la invito estas generita, vi ankaŭ povas kopii rektan invitligon.", + "accItemsPurchasedSuccess": "Eroj aĉetitaj sukcese", + "accMyAccount": "Mia konto", + "accPassChangedSuccess": "Pasvorto ŝanĝiĝis sukcese", + "accPurchaseInvites": "Aĉeti invitojn", + "accPurchaseUpload1GB": "Aĉetu alŝuton (1 GB)", + "accRole": "Rolo", + "accSendInvite": "Sendu inviton", + "accThisIsAdminAcc": "Ĉi tio estas administra konto.", + "accValidUntil": "Valida ĝis", + "accYouCurrentlyHave": "Vi nuntempe havas", + "accYouWillEarn": "Vi gajnos", + "accNotAvailableToBuy": "Ne disponebla por aĉeti", + "annPinnedAnnounce": "Alpinglitaj anoncoj", + "annOtherAnnounce": "Aliaj anoncoj", + "annAnnounceCreatSuccess": "Anonco kreita sukcese", + "annCouldNotCreateAnnounce": "Ne eblis krei anoncon", + "annNewAnnounce": "Nova anonco", + "annBody": "Korpo", + "annPinThisAnnounceQ": "Alpingli ĉi tiun anoncon?", + "annAllowCommentsQ": "Ĉu permesi komentojn?", + "annCreateAnnounce": "Krei anoncon", + "annAnnounceDelSuccess": "Anonco sukcese forigita", + "annCouldNotDelAnnounce": "Ne eblis forigi anoncon", + "annuUnpin": "Malfiksi", + "annPin": "Alpingli", + "annUnpinned": "malpinte", + "annPinned": "alpinglita", + "annLastUpdated": "Laste ĝisdatigita", + "annCommentsDisabled": "Komentoj malŝaltitaj.", + "annAreYouSureYouWantToDelThisannounceQ": "Ĉu vi certas, ke vi volas forigi ĉi tiun anoncon? Ĉi tio ne povas esti malfarita.", + "annAnnounceUpdatedSuccess": "Anonco ĝisdatigita sukcese", + "annCouldNotUpdateAnnounce": "Ne eblis ĝisdatigi anoncon", + "annEditAnnounce": "Redakti anoncon", + "annuUpdateAnnounce": "Ĝisdatigi anoncon", + "annAnnounce": "Anonco", + "bmYourBM": "Viaj legosignoj", + "bmYouNotHaveAnyBM": "Vi havas neniujn legosignojn.", + "catCategories": "Kategorioj", + "catNoCategoryHaveBeenDefined": "Neniu kategorioj estas difinitaj.", + "catNoTagsHaveBeenDefined": "Neniaj etikedoj estas difinitaj.", + "catNoResults": "Neniu rezultoj.", + "commentBy": "Komento de", + "comDelUser": "forigita uzanto", + "comOn": "ŝaltita", + "email": "Retpoŝto", + "errSomethingWentWrong": "Io misfunkciis", + "errTooManyRequests": "Tro da petoj! Vi estis limigita imposto. Bonvolu atendi iom antaŭ ol provi denove.", + "errIfErrorPersist": "Se la eraro daŭras, bonvolu", + "errReportIt": "raportu ĝin", + "errForNow": "Nuntempe,", + "indexLatestAnnounce": "Lasta anonco", + "indexLatestTorrents": "Lastaj torentoj", + "indexSearch": "Serĉi", + "indexSearchTorrents": "Serĉi torentojn", + "indexText1": "Via retadreso ankoraŭ ne estas kontrolita. Vi ne povos alŝuti aŭ elŝuti ajnajn datumojn ĝis tio estos farita.", + "indexTime": "DD.MM.YYYY HH:mm", + "listNoItemShow": "Neniu eroj por montri.", + "logIn": "Ensalutu", + "logInFailed": "Ne eblis ensaluti", + "mdMarkdownPreview": "Antaŭrigardo de Markdown", + "navAnnouncements": "Anoncoj", + "navBookmarks": "Legosignoj", + "navBrowse": "Trarigardi", + "navHome": "Hejmo", + "navLogOut": "Elsaluti", + "navReports": "Raportoj", + "navRequests": "Petoj", + "navSearch": "Serĉi", + "navStats": "Statistiko", + "navUpload": "Alŝutu", + "navWiki": "Vikio", + "newPassword": "Nova pasvorto", + "password": "Pasvorto", + "passwordResetFailed": "Ne eblis kompletigi pasvortigon", + "passwordResetRequestFailed": "Ne eblis komenci pasvortigon", + "passwordResetRequestSuccess": "Se konto kun tiu retadreso ekzistas, vi ricevos retmesaĝon baldaŭ", + "passwordResetSuccess": "Pasvorto estis restarigita sukcese", + "posterImage": "Afiŝo", + "poweredBy": "Funkciigita de", + "register": "Registriĝi", + "registerFailed": "Ne eblis registri", + "registrationClosed": "Registriĝo fermita", + "reqCreateNew": "Krei novan", + "reqCreateReq": "Krei peton", + "reqTitle": "Titolo", + "reqPostedBy": "Afiŝita de", + "reqPost": "Afiŝu", + "reqRequestCreatedSuccess": "Peto kreita sukcese", + "reqCouldNotCreateReq": "Ne eblis krei peton", + "reqNewRequest": "Nova peto", + "reqWhatYouLookForQ": "Kion vi serĉas?", + "reqRequestDelSuccess": "Peto forigita sukcese", + "reqCouldNotDelReq": "Ne eblis forigi peton", + "reqCommentPostSuccess": "Komento afiŝita sukcese", + "reqCommentNotPost": "Ne eblis afiŝi komenton", + "reqSuggestionAddSuccess": "Sugesto aldonita sukcese", + "reqSuggestionNotAdded": "Ne eblis aldoni sugeston", + "reqSuggestionAcceptSuccess": "Sugesto akceptita sukcese", + "reqCouldNotAcceptSuggestion": "Ne eblis akcepti sugeston", + "reqDelete": "Forigi", + "reqSuggestedTorrents": "Sugestaj torentoj", + "reqSuggestATorrent": "Sugestu torenton", + "reqAccepted": "Akceptita", + "reqAccept": "Akcepti", + "reqNoTorrentsHaveBeenSuggestedYet": "Ankoraŭ neniuj torentoj estas proponitaj.", + "reqPostAComment": "Afiŝi komenton", + "reqEnterInfohashTorrentBelow": "Enigu la infohash de torento sube.", + "reqFulfilled": "plenumis", + "reqPosted": "Afiŝita", + "reqBy": "de", + "reqInfohash": "Infohash", + "reqSuggest": "Sugestas", + "repUnresolvedRep": "Nesolvitaj raportoj", + "repRepBy": "Raportita de", + "repReason": "Kialo", + "repRepMarkSolved": "Raporto markita kiel solvita", + "repCouldNotResolveRep": "Ne eblis solvi raporton", + "repRepOn": "Raportu pri", + "repMarkSolved": "Marki kiel solvita", + "repRep": "Raportita", + "repTorrDetail": "Detaloj pri torento", + "resetPassword": "Restarigi pasvorton", + "rssThereRSSFeedAt": "Estas RSS-fluo ĉe", + "rssToAuthenticateYourself": "Por aŭtentikigi vin, vi devas provizi la kuketojn", + "rssAnd": "kaj", + "rssToRSSEndpoint": "al la RSS-finpunkto, enhavanta vian uzantnomon kaj vian pasvorton respektive.", + "rssNoQueryParametersAreProvided": "Se neniuj demandaj parametroj estas provizitaj, la RSS-fluo enhavos la 100 plej novajn torentojn.", + "rssOnlyIncludeMatchingResults": "Por nur inkluzivi kongruajn rezultojn en la fluo, vi povas aldoni la", + "rssQueryParameter": "demanda parametro, ekz.", + "searchSearchResults": "Serĉrezultoj por", + "searchSearchError": "Serĉa eraro", + "statYouNotPermission": "Vi ne havas permeson fari tion.", + "statTrackerStat": "Spuristo-statistiko", + "statActiveTorrents": "Aktivaj torentoj", + "statBannedUsers": "Malpermesitaj uzantoj", + "statCompletedDownloads": "Elŝutoj finitaj", + "statFilledRequests": "Plenigitaj petoj", + "statInvitesAccepted": "Invitoj akceptitaj", + "statLeechers": "Leecheroj", + "statPeers": "Peeroj", + "statRegisteredUsers": "Registritaj uzantoj", + "statSeeders": "Seederoj", + "statTotalComments": "Tutaj komentoj", + "statTotalInvitesSent": "Sumaj invitoj senditaj", + "statTotalRequests": "Tutaj petoj", + "statUploadedTorrents": "Alŝutitaj torentoj", + "tagTaggedWith": "Etikedita kun", + "tokenError": "Signo-eraro", + "torrSeeders": "Seederoj", + "torrLeechers": "Leecheroj", + "torrDownloads": "Elŝutoj", + "torrUploaded": "Alŝutita", + "torrTorrEditSuccess": "Torento redaktita sukcese", + "torrCouldEditTorr": "Povus redakti torenton", + "torrTorrDelSuccess": "Torento sukcese forigita", + "torrCouldNotDelTorr": "Ne eblis forigi torenton", + "torrVoteSubmitSuccess": "Vodono sendita sukcese", + "torrCouldNotSubmitVote": "Ne povis sendi voĉdonon", + "torrReportSubmitSuccess": "Raporto sendita sukcese", + "torrCouldNotSubmitReport": "Ne eblis sendi raporton", + "torrFLToggleSuccess": "Freeleech ŝanĝis sukcese", + "torrCouldNotToggleFL": "Ne eblis ŝalti liberan disvastigon", + "torrTorrRemFromGroupSuccess": "Torento forigita de grupo sukcese", + "torrCouldNotRemTorrFromGroup": "Ne eblis forigi torenton el grupo", + "torrTorrent": "Torento", + "torrCouldNotBookmarkTorr": "Ne eblis marki torenton", + "torrEdit": "Redakti", + "torrDownload": "Elŝutu", + "torrLogInDownload": "Ensalutu por elŝuti", + "torrFiles": "Dosieroj", + "torrReport": "Raporto", + "torrRemTorr": "Forigu ĉi tiun torenton", + "torrAddTorr": "Aldonu torenton", + "torrReasonForReport": "Kialo de raporto", + "torrSureDeleteTorr": "Ĉu vi certas, ke vi volas forigi ĉi tiun torenton? Ĉi tio ne povas esti malfarita.", + "torrFreeleech": "Liberagado", + "torrUnset": "Malŝalti", + "torrSet": "Agordu", + "torrUploadedBy": "Alŝutite de", + "torrDate": "Dato", + "torrSize": "Grandeco", + "torrYes": "Jes", + "torrNo": "Ne", + "torrGroupTorr": "Grupitaj torentoj", + "torrThereAreNoOtherTorrGroup": "Ne estas aliaj torentoj en ĉi tiu grupo.", + "torrResults": "rezultoj", + "torrPage": "Paĝo", + "torrOf": "de", + "torrRemovedFrom": "forigita de", + "torrAddedTo": "aldonita al", + "torrTorrNoTags": "Ĉi tiu torento ne havas etikedojn.", + "totp": "Unufoja kodo", + "uploadAddTag": "Aldoni etikedon", + "uploadAnnounceURL": "Anoncu URL", + "uploadAnonymousUpload": "Anonima alŝuto", + "uploadCategory": "Kategorio", + "uploadCouldNotGetGroupSuggestions": "Ne eblis ricevi sugestojn de grupo", + "uploadCouldNotUploadFile": "Ne eblis alŝuti dosieron", + "uploadCouldNotUploadTorrent": "Ne eblis alŝuti .torrent", + "uploadDescription": "Priskribo", + "uploadDragDropClickSelect": "Trenu kaj faligi .torrent-dosieron ĉi tie, aŭ alklaku por elekti", + "uploadDragDropClickSelectPoster": "Tiri kaj demeti vian afiŝo-dosieron ĉi tien, aŭ klaku por elekti", + "uploadDropFileHere": "Faligi la dosieron ĉi tie...", + "uploadGroupWith": "Grupu kun", + "uploadGroupWithThisTorrent": "Grupu kun ĉi tiu torento", + "uploadInfoBox1": "La jenaj dosieraj etendoj estas nigralistitaj. Ajna torento enhavanta dosierojn de ĉi tiuj tipoj ne estos alŝutita.", + "uploadInfoBox2": "Ŝajnas, ke ĉi tiuj ekzistantaj torentoj havas similajn nomojn. Ĉu vi ŝatus grupigi vian alŝuton kun iu el ili? Grupoj devus enhavi nur tre similan enhavon, ekz. la sama filmo en malsamaj formatoj.", + "uploadInfoBox3": "Noto: se vi komencis semi torenton antaŭ ol alŝuti, vi eble bezonos refreŝigi spurilojn en via torenta kliento post kiam la alŝuto estas finita.", + "uploadMarkdownSupport": "Markdown subtenata", + "uploadMediaInfo": "MediaInfo", + "uploadName": "Nomo", + "uploadSource": "Fonto", + "uploadTags": "Etikedoj", + "uploadTorrentFile": "Torenta dosiero", + "uploadTorrentUploadSuccess": "Torento sukcese alŝutita", + "uploadUpload": "Alŝutu", + "uploadRemove": "Forigi", + "username": "Uzantnomo", + "userUser": "Uzanto", + "userSuccessfully": "sukcese", + "userCouldNot": "Ne eblis", + "userProfile": "profilo", + "userUserSince": "Uzanto ekde", + "userUserSinceTime": "DD.MM.YYYY", + "userOnlyAdminsSee": "Nur administrantoj povas vidi ĉi tion", + "userInvitedBy": "Invitite de", + "userEmailVerified": "Retpoŝto kontrolita", + "userRemainingInvites": "Restantaj invitoj", + "userRatio": "Proporcio", + "userHitNRuns": "Ne dividis", + "userDownloaded": "Elŝutita", + "userComments": "Komentoj", + "userNoComments": "Neniu komentoj.", + "userYouSureWant": "Ĉu vi certas, ke vi volas", + "userThisUserQ": "ĉi tiu uzanto?", + "userUploaded": "Alŝutita", + "userMyUploads": "Miaj alŝutoj", + "usernameRules": "Povas konsisti nur el literoj, ciferoj kaj “.”", + "userUnban": "malpermeso", + "userBan": "malpermeso", + "userUnbanned": "nemalpermesita", + "userBanned": "malpermesita", + "userAdmin": "Admin", + "veCouldNotVerifyEmailAddress": "Ne eblis kontroli retadreson:", + "veEmailAddressVerifiedSuccess": "Retadreso kontrolita sukcese.", + "veNoVerificationTokenProvided": "Neniu konfirma ĵetono provizita", + "veVerifyEmail": "Konfirmu retpoŝton", + "welcome": "Bonvenon", + "welcomeBack": "Bonvenon reen", + "wikiPath": "Vojo", + "wikiPageWillBeVisibleAt": "Paĝo estos videbla ĉe", + "wikiAllowUnregisteredView": "Permesi neregistritan vidon", + "wikiPageCreateSuccess": "Vikipaĝo kreita sukcese", + "wikiCouldNotCreatePage": "Ne eblis krei vikipaĝon", + "wikiNewPage": "Nova vikipaĝo", + "wikiCreatePage": "Krei vikipaĝon", + "wikiPageDelSuccess": "Vikipaĝo sukcese forigita", + "wikiCouldNotDelPage": "Ne eblis forigi vikipaĝon", + "wikiPageUpdateSuccess": "Vikipaĝo sukcese ĝisdatigita", + "wikiCouldNotUpdatePage": "Ne eblis ĝisdatigi vikipaĝon", + "wikiAddPage": "Aldoni paĝon", + "wikiLastEdited": "Laste redaktita", + "wikiPages": "Paĝoj", + "wikiSaveChanges": "Konservi ŝanĝojn", + "wikiThereNothingHereYet": "Ankoraŭ estas nenio ĉi tie.", + "wikiDelThisPageQ": "Ĉu vi certas, ke vi volas forigi ĉi tiun vikipaĝon? Ĉi tio ne povas esti malfarita." +} diff --git a/client/locales/es.json b/client/locales/es.json new file mode 100644 index 0000000..2912eb1 --- /dev/null +++ b/client/locales/es.json @@ -0,0 +1,310 @@ +{ + "404NotFound": "No encontrado", + "404PageDoesNotExist": "Esa página no existe.", + "404ReturnHome": "Volver a inicio", + "acc2FADisabled": "2FA desactivado", + "acc2FAEnabled": "2FA activado", + "acc2FAScanQR": "Escanea el código QR con tu aplicación de autenticación y introduce el código de un solo uso", + "acc2FAText1": "2FA habilitado con éxito. Estos códigos de respaldo pueden ser utilizados para iniciar sesión si pierdes el acceso a tu aplicación de autenticación. Guárdalos ahora, no serán visibles nuevamente.", + "acc2FAUseApp": "Usa una aplicación de autenticación para agregar otra capa de seguridad a tu cuenta", + "acc2FAuth": "Autenticación de dos factores", + "accBonusPoints": "Puntos de bonificación", + "accBonusPointsHave": "punto(s) de bonificación", + "accBuy": "Comprar", + "accCancel": "Cancelar", + "accChangePass": "Cambiar contraseña", + "accClaimed": "Reclamado", + "accCopyLink": "Copiar enlace", + "accCouldNotBuyItems": "No se pudieron comprar los artículos", + "accCouldNotChangePass": "No se pudo cambiar la contraseña", + "accCouldNotDelAcc": "No se pudo eliminar la cuenta", + "accCouldNotSendInvite": "No se pudo enviar la invitación", + "accCouldNotToggle2FA": "No se pudo activar/desactivar la autenticación de dos factores (2FA)", + "accCreated": "Creado", + "accCurrentPass": "Contraseña actual", + "accDangerZone": "Zona peligrosa", + "accDelAccText1": "¿Estás seguro de que deseas eliminar tu cuenta? Esta acción no se puede deshacer y es posible que no puedas registrarte nuevamente. Tu información personal se eliminará, pero tus torrents cargados permanecerán.", + "accDeleteMyAcc": "Eliminar mi cuenta", + "accDeleteMyAccYes": "Sí, eliminar mi cuenta", + "accDisable": "Desactivar", + "accEnable": "Activar", + "accEnable2FA": "Activar 2FA", + "accEveryRequestYouFulfill": "por cada solicitud que cumplas, o", + "accForEveryGBYouUpload": "por cada GB que cargues", + "accIfYouAreAlsUploaderAcceptTorrent": "si también eres el cargador del torrent aceptado", + "accInviteLinkCopiedClipboard": "Enlace de invitación copiado al portapapeles", + "accInvites": "Invitaciones", + "accRemaining": "restantes", + "accRoleUser": "Rol: usuario", + "accRoleAdmin": "Rol: administrador", + "accInviteSentSuccess": "Invitación enviada exitosamente", + "accInviteText1": "Ingresa una dirección de correo electrónico para enviar una invitación. El usuario invitado deberá registrarse con la misma dirección de correo electrónico. Una vez que se genere la invitación, también puedes copiar un enlace directo de invitación.", + "accItemsPurchasedSuccess": "Artículos comprados exitosamente", + "accMyAccount": "Mi cuenta", + "accPassChangedSuccess": "Contraseña cambiada exitosamente", + "accPurchaseInvites": "Comprar invitaciones", + "accPurchaseUpload1GB": "Comprar carga (1 GB)", + "accRole": "Rol", + "accSendInvite": "Enviar invitación", + "accThisIsAdminAcc": "Esta es una cuenta de administrador.", + "accValidUntil": "Válido hasta", + "accYouCurrentlyHave": "Actualmente tienes", + "accYouWillEarn": "Ganarás", + "accNotAvailableToBuy": "No disponible para comprar", + "annPinnedAnnounce": "Anuncios fijados", + "annOtherAnnounce": "Otros anuncios", + "annAnnounceCreatSuccess": "Anuncio creado exitosamente", + "annCouldNotCreateAnnounce": "No se pudo crear el anuncio", + "annNewAnnounce": "Nuevo anuncio", + "annBody": "Cuerpo", + "annPinThisAnnounceQ": "¿Fijar este anuncio?", + "annAllowCommentsQ": "¿Permitir comentarios?", + "annCreateAnnounce": "Crear anuncio", + "annAnnounceDelSuccess": "Anuncio eliminado exitosamente", + "annCouldNotDelAnnounce": "No se pudo eliminar el anuncio", + "annUnpin": "Desfijar", + "annPin": "Fijar", + "annUnpinned": "desfijado", + "annPinned": "fijado", + "annLastUpdated": "Última actualización", + "annCommentsDisabled": "Comentarios desactivados.", + "annAreYouSureYouWantToDelThisannounceQ": "¿Estás seguro de que deseas eliminar este anuncio? Esto no se puede deshacer.", + "annAnnounceUpdatedSuccess": "Anuncio actualizado exitosamente", + "annCouldNotUpdateAnnounce": "No se pudo actualizar el anuncio", + "annEditAnnounce": "Editar anuncio", + "annUpdateAnnounce": "Actualizar anuncio", + "annAnnounce": "Anuncio", + "bmYourBM": "Tus marcadores", + "bmYouNotHaveAnyBM": "No tienes ningún marcador.", + "catCategories": "Categorías", + "catNoCategoryHaveBeenDefined": "No se han definido categorías.", + "catNoTagsHaveBeenDefined": "No se han definido etiquetas.", + "catNoResults": "Sin resultados.", + "comCommentBy": "Comentario de", + "comDelUser": "usuario eliminado", + "comOn": "en", + "email": "Correo electrónico", + "errSomethingWentWrong": "Algo salió mal", + "errTooManyRequests": "¡Demasiadas solicitudes! Se ha aplicado un límite de velocidad. Por favor, espera un tiempo antes de intentarlo nuevamente.", + "errIfErrorPersist": "Si el error persiste, por favor", + "errReportIt": "informa", + "errForNow": "Por ahora,", + "indexLatestAnnounce": "Último anuncio", + "indexLatestTorrents": "Últimos torrents", + "indexSearch": "Buscar", + "indexSearchTorrents": "Buscar torrents", + "indexText1": "Tu dirección de correo electrónico aún no está verificada. No podrás cargar ni descargar datos hasta que esto se haga.", + "indexTime": "HH:mm Do MMM YYYY", + "listNoItemShow": "No hay elementos para mostrar.", + "logIn": "Iniciar sesión", + "logInFailed": "No se pudo iniciar sesión", + "mdMarkdownPreview": "Vista previa de Markdown", + "navAnnouncements": "Anuncios", + "navBookmarks": "Marcadores", + "navBrowse": "Navegar", + "navHome": "Inicio", + "navLogOut": "Cerrar sesión", + "navReports": "Informes", + "navRequests": "Solicitudes", + "navRSS": "RSS", + "navSearch": "Buscar", + "navStats": "Estadísticas", + "navUpload": "Subir", + "navWiki": "Wiki", + "newPassword": "Nueva contraseña", + "password": "Contraseña", + "passwordResetFailed": "No se pudo completar el restablecimiento de la contraseña", + "passwordResetRequestFailed": "No se pudo iniciar la solicitud de restablecimiento de contraseña", + "passwordResetRequestSuccess": "Si existe una cuenta con esa dirección de correo electrónico, recibirás un correo electrónico en breve", + "passwordResetSuccess": "La contraseña se restableció con éxito", + "posterImage": "Imagen de portada", + "poweredBy": "Proporcionado por", + "register": "Registrarse", + "registerFailed": "No se pudo registrar", + "registrationClosed": "Registro cerrado", + "reqCreateNew": "Crear nuevo", + "reqCreateReq": "Crear solicitud", + "reqTitle": "Título", + "reqPostedBy": "Publicado por", + "reqPost": "Publicar", + "reqRequestCreatedSuccess": "Solicitud creada exitosamente", + "reqCouldNotCreateReq": "No se pudo crear la solicitud", + "reqNewRequest": "Nueva solicitud", + "reqWhatYouLookForQ": "¿Qué estás buscando?", + "reqRequestDelSuccess": "Solicitud eliminada exitosamente", + "reqCouldNotDelReq": "No se pudo eliminar la solicitud", + "reqCommentPostSuccess": "Comentario publicado exitosamente", + "reqCommentNotPost": "No se pudo publicar el comentario", + "reqSuggestionAddSuccess": "Sugerencia añadida exitosamente", + "reqSuggestionNotAdded": "No se pudo agregar la sugerencia", + "reqSuggestionAcceptSuccess": "Sugerencia aceptada exitosamente", + "reqCouldNotAcceptSuggestion": "No se pudo aceptar la sugerencia", + "reqDelete": "Eliminar", + "reqSuggestedTorrents": "Torrents sugeridos", + "reqSuggestATorrent": "Sugerir un torrent", + "reqAccepted": "Aceptado", + "reqAccept": "Aceptar", + "reqNoTorrentsHaveBeenSuggestedYet": "Aún no se han sugerido torrents.", + "reqPostAComment": "Publicar un comentario", + "reqEnterInfohashTorrentBelow": "Ingresa el infohash de un torrent a continuación.", + "reqFulfilled": "Cumplido", + "reqPosted": "Publicado", + "reqBy": "por", + "reqInfohash": "Infohash", + "reqSuggest": "Sugerir", + "repUnresolvedRep": "Informes no resueltos", + "repRepBy": "Reportado por", + "repReason": "Motivo", + "repRepMarkSolved": "Informe marcado como resuelto", + "repCouldNotResolveRep": "No se pudo resolver el informe", + "repRepOn": "Informe sobre", + "repMarkSolved": "Marcar como resuelto", + "repRep": "Reportado", + "repTorrDetail": "Detalles del torrent", + "resetPassword": "Restablecer contraseña", + "rssThereRSSFeedAt": "Hay un feed RSS en", + "rssToAuthenticateYourself": "Para autenticarte, debes proporcionar las cookies", + "rssAnd": "y", + "rssToRSSEndpoint": "al punto final de RSS, conteniendo tu nombre de usuario y tu contraseña respectivamente.", + "rssNoQueryParametersAreProvided": "Si no se proporcionan parámetros de consulta, el feed RSS contendrá los 100 torrents más recientes.", + "rssOnlyIncludeMatchingResults": "Para incluir solo resultados coincidentes en el feed, puedes agregar el", + "rssQueryParameter": "parámetro de consulta, por ejemplo", + "searchSearchResults": "Resultados de búsqueda para", + "searchSearchError": "Error de búsqueda", + "statYouNotPermission": "No tienes permiso para hacer eso.", + "statTrackerStat": "Estadísticas del tracker", + "statActiveTorrents": "Torrents activos", + "statBannedUsers": "Usuarios prohibidos", + "statCompletedDownloads": "Descargas completadas", + "statFilledRequests": "Solicitudes completadas", + "statInvitesAccepted": "Invitaciones aceptadas", + "statLeechers": "Leechers", + "statPeers": "Pares", + "statRegisteredUsers": "Usuarios registrados", + "statSeeders": "Seeders", + "statTotalComments": "Comentarios totales", + "statTotalInvitesSent": "Invitaciones totales enviadas", + "statTotalRequests": "Solicitudes totales", + "statUploadedTorrents": "Torrents subidos", + "tagTaggedWith": "Etiquetado con", + "tokenError": "Error de token", + "torrSeeders": "Seeders", + "torrLeechers": "Leechers", + "torrDownloads": "Descargas", + "torrUploaded": "Subido", + "torrTorrEditSuccess": "Torrent editado exitosamente", + "torrCouldEditTorr": "No se pudo editar el torrent", + "torrTorrDelSuccess": "Torrent eliminado exitosamente", + "torrCouldNotDelTorr": "No se pudo eliminar el torrent", + "torrVoteSubmitSuccess": "Voto enviado exitosamente", + "torrCouldNotSubmitVote": "No se pudo enviar el voto", + "torrReportSubmitSuccess": "Informe enviado exitosamente", + "torrCouldNotSubmitReport": "No se pudo enviar el informe", + "torrFLToggleSuccess": "Freeleech cambiado exitosamente", + "torrCouldNotToggleFL": "No se pudo cambiar a freeleech", + "torrTorrRemFromGroupSuccess": "Torrent eliminado del grupo exitosamente", + "torrCouldNotRemTorrFromGroup": "No se pudo eliminar el torrent del grupo", + "torrTorrent": "Torrent", + "torrCouldNotBookmarkTorr": "No se pudo marcar el torrent", + "torrFL": "FL!", + "torrEdit": "Editar", + "torrDownload": "Descargar", + "torrLogInDownload": "Inicia sesión para descargar", + "torrFiles": "Archivos", + "torrReport": "Informe", + "torrRemTorr": "Eliminar este torrent", + "torrAddTorr": "Añadir un torrent", + "torrReasonForReport": "Motivo del informe", + "torrSureDeleteTorr": "¿Estás seguro de que quieres eliminar este torrent? Esto no se puede deshacer.", + "torrFreeleech": "Freeleech", + "torrUnset": "Desactivar", + "torrSet": "Activar", + "torrUploadedBy": "Subido por", + "torrDate": "Fecha", + "torrSize": "Tamaño", + "torrYes": "Sí", + "torrNo": "No", + "torrGroupTorr": "Torrents agrupados", + "torrThereAreNoOtherTorrGroup": "No hay otros torrents en este grupo.", + "torrResults": "resultados", + "torrPage": "Página", + "torrOf": "de", + "torrRemovedFrom": "eliminado de", + "torrAddedTo": "añadido a", + "torrTorrNoTags": "Este torrent no tiene etiquetas.", + "totp": "Código de un solo uso", + "uploadAddTag": "Añadir etiqueta", + "uploadAnnounceURL": "URL de anuncio", + "uploadAnonymousUpload": "Subida anónima", + "uploadCategory": "Categoría", + "uploadCouldNotGetGroupSuggestions": "No se pudieron obtener sugerencias de grupos", + "uploadCouldNotUploadFile": "No se pudo cargar el archivo", + "uploadCouldNotUploadTorrent": "No se pudo cargar el archivo .torrent", + "uploadDescription": "Descripción", + "uploadDragDropClickSelect": "Arrastra y suelta el archivo .torrent aquí, o haz clic para seleccionar", + "uploadDragDropClickSelectPoster": "Arrastra y suelta tu imagen de portada aquí, o haz clic para seleccionar", + "uploadDropFileHere": "Suelta el archivo aquí...", + "uploadGroupWith": "Agrupar con", + "uploadGroupWithThisTorrent": "Agrupar con este torrent", + "uploadInfoBox1": "Las siguientes extensiones de archivo están en la lista negra. Cualquier torrent que contenga archivos de estos tipos no se cargará.", + "uploadInfoBox2": "Parece que estos torrents existentes tienen nombres similares. ¿Te gustaría agrupar tu carga con alguno de ellos? Los grupos deben contener solo contenido muy similar, por ejemplo, la misma película en diferentes formatos.", + "uploadInfoBox3": "Nota: si has comenzado a compartir un torrent antes de cargarlo, es posible que necesites actualizar los rastreadores en tu cliente de torrents una vez que la carga esté completa.", + "uploadMarkdownSupport": "Compatibilidad con Markdown", + "uploadMediaInfo": "Información multimedia", + "uploadName": "Nombre", + "uploadSource": "Fuente", + "uploadTags": "Etiquetas", + "uploadTorrentFile": "Archivo Torrent", + "uploadTorrentUploadSuccess": "Torrent cargado exitosamente", + "uploadUpload": "Cargar", + "uploadRemove": "Eliminar", + "username": "Nombre de usuario", + "userUser": "Usuario", + "userSuccessfully": "exitosamente", + "userCouldNot": "No se pudo", + "userProfile": "perfil", + "userUserSince": "Usuario desde", + "userUserSinceTime": "DD MMM AAAA", + "userOnlyAdminsSee": "Solo los administradores pueden ver esto", + "userInvitedBy": "Invitado por", + "userEmailVerified": "Correo electrónico verificado", + "userRemainingInvites": "Invitaciones restantes", + "userRatio": "Ratio", + "userHitNRuns": "Hit'n'runs", + "userDownloaded": "Descargado", + "userComments": "Comentarios", + "userNoComments": "Sin comentarios.", + "userYouSureWant": "¿Estás seguro de que quieres", + "userThisUserQ": "a este usuario?", + "userUploaded": "Subido", + "userMyUploads": "Mis subidas", + "usernameRules": "Solo puede consistir en letras, números y “.”", + "userUnban": "desbanear", + "userBan": "banear", + "userUnbanned": "desbaneado", + "userBanned": "baneado", + "userAdmin": "Administrador", + "veCouldNotVerifyEmailAddress": "No se pudo verificar la dirección de correo electrónico:", + "veEmailAddressVerifiedSuccess": "Dirección de correo electrónico verificada exitosamente.", + "veNoVerificationTokenProvided": "No se proporcionó un token de verificación", + "veVerifyEmail": "Verificar correo electrónico", + "welcome": "Bienvenido", + "welcomeBack": "Bienvenido de nuevo", + "wikiPath": "Ruta", + "wikiPageWillBeVisibleAt": "La página será visible en", + "wikiAllowUnregisteredView": "Permitir vista no registrada", + "wikiPageCreateSuccess": "Página wiki creada exitosamente", + "wikiCouldNotCreatePage": "No se pudo crear la página wiki", + "wikiNewPage": "Nueva página wiki", + "wikiCreatePage": "Crear página wiki", + "wikiPageDelSuccess": "Página wiki eliminada exitosamente", + "wikiCouldNotDelPage": "No se pudo eliminar la página wiki", + "wikiPageUpdateSuccess": "Página wiki actualizada exitosamente", + "wikiCouldNotUpdatePage": "No se pudo actualizar la página wiki", + "wikiAddPage": "Agregar página", + "wikiLastEdited": "Última edición", + "wikiPages": "Páginas", + "wikiSaveChanges": "Guardar cambios", + "wikiThereNothingHereYet": "Todavía no hay nada aquí.", + "wikiDelThisPageQ": "¿Estás seguro de que quieres eliminar esta página wiki? Esto no se puede deshacer." +} diff --git a/client/locales/fr.json b/client/locales/fr.json new file mode 100644 index 0000000..0623e6e --- /dev/null +++ b/client/locales/fr.json @@ -0,0 +1,355 @@ +{ + "404NotFound": "Page non trouvée", + "404PageDoesNotExist": "Cette page n'existe pas.", + "404ReturnHome": "Retour à la page d'accueil", + "acc2FADisabled": "Authentification à deux facteurs désactivée", + "acc2FAEnabled": "Authentification à deux facteurs activée", + "acc2FAScanQR": "Scannez le code QR avec votre application d'authentification et saisissez le code à usage unique", + "acc2FAText1": "L'authentification à deux facteurs a été activée avec succès. Ces codes de secours peuvent être utilisés pour vous connecter en cas de perte d'accès à votre application d'authentification. Enregistrez-les maintenant, ils ne seront plus visibles.", + "acc2FAUseApp": "Utilisez une application d'authentification pour ajouter une couche supplémentaire de sécurité à votre compte", + "acc2FAuth": "Authentification à deux facteurs", + "accBonusPoints": "Points bonus", + "accBonusPointsHave": "point(s) bonus", + "accBuy": "Acheter", + "accCancel": "Annuler", + "accChangePass": "Changer le mot de passe", + "accClaimed": "Réclamé", + "accCopyLink": "Copier le lien", + "accCouldNotBuyItems": "Impossible d'acheter des articles", + "accCouldNotChangePass": "Impossible de changer le mot de passe", + "accCouldNotDelAcc": "Impossible de supprimer le compte", + "accCouldNotSendInvite": "Impossible d'envoyer une invitation", + "accCouldNotToggle2FA": "Impossible d'activer/désactiver l'authentification à deux facteurs", + "accCreated": "Créé", + "accCurrentPass": "Mot de passe actuel", + "accDangerZone": "Zone dangereuse", + "accDelAccText1": "Êtes-vous sûr de vouloir supprimer votre compte ? Cette action ne peut pas être annulée, et vous pourriez ne pas être en mesure de vous réinscrire. Vos informations personnelles seront supprimées, mais vos torrents téléchargés resteront.", + "accDeleteMyAcc": "Supprimer mon compte", + "accDeleteMyAccYes": "Oui, supprimer mon compte", + "accDisable": "Désactiver", + "accEnable": "Activer", + "accEnable2FA": "Activer l'authentification à deux facteurs", + "accEveryRequestYouFulfill": "pour chaque demande que vous accomplissez, ou", + "accForEveryGBYouUpload": "pour chaque Go que vous téléchargez", + "accIfYouAreAlsUploaderAcceptTorrent": "si vous êtes également l'uploader du torrent accepté", + "accInviteLinkCopiedClipboard": "Lien d'invitation copié dans le presse-papiers", + "accInvites": "Invitations", + "accRemaining": "restantes", + "accRoleUser": "Rôle : utilisateur", + "accRoleAdmin": "Rôle : administrateur", + "accInviteSentSuccess": "Invitation envoyée avec succès", + "accInviteText1": "Saisissez une adresse e-mail pour envoyer une invitation. L'utilisateur invité devra s'inscrire avec la même adresse e-mail. Une fois l'invitation générée, vous pouvez également copier un lien d'invitation direct.", + "accItemsPurchasedSuccess": "Articles achetés avec succès", + "accMyAccount": "Mon compte", + "accPassChangedSuccess": "Mot de passe changé avec succès", + "accPurchaseInvites": "Acheter des invitations", + "accPurchaseUpload1GB": "Acheter l'envoi (1 Go)", + "accRole": "Rôle", + "accSendInvite": "Envoyer une invitation", + "accThisIsAdminAcc": "Il s'agit d'un compte administrateur.", + "accValidUntil": "Valide jusqu'au", + "accYouCurrentlyHave": "Vous avez actuellement", + "accYouWillEarn": "Vous gagnerez", + "accNotAvailableToBuy": "Non disponible à l'achat", + "annPinnedAnnounce": "Annonces épinglées", + "annOtherAnnounce": "Autres annonces", + "annAnnounceCreatSuccess": "Annonce créée avec succès", + "annCouldNotCreateAnnounce": "Impossible de créer l'annonce", + "annNewAnnounce": "Nouvelle annonce", + "annBody": "Corps", + "annPinThisAnnounceQ": "Épingler cette annonce ?", + "annAllowCommentsQ": "Autoriser les commentaires ?", + "annCreateAnnounce": "Créer une annonce", + "annAnnounceDelSuccess": "Annonce supprimée avec succès", + "annCouldNotDelAnnounce": "Impossible de supprimer l'annonce", + "annUnpin": "Détacher", + "annPin": "Épingler", + "annUnpinned": "détachée", + "annPinned": "épinglée", + "annLastUpdated": "Dernière mise à jour", + "annCommentsDisabled": "Commentaires désactivés.", + "annAreYouSureYouWantToDelThisannounceQ": "Êtes-vous sûr de vouloir supprimer cette annonce ? Cela ne peut pas être annulé.", + "annAnnounceUpdatedSuccess": "Annonce mise à jour avec succès", + "annCouldNotUpdateAnnounce": "Impossible de mettre à jour l'annonce", + "annEditAnnounce": "Modifier l'annonce", + "annUpdateAnnounce": "Mettre à jour l'annonce", + "annAnnounce": "Annonce", + "bmYourBM": "Vos favoris", + "bmYouNotHaveAnyBM": "Vous n'avez aucun favori.", + "catCategories": "Catégories", + "catNoCategoryHaveBeenDefined": "Aucune catégorie n'a été définie.", + "catNoTagsHaveBeenDefined": "Aucun tag n'a été défini.", + "catNoResults": "Aucun résultat.", + "comCommentBy": "Commentaire de", + "comDelUser": "utilisateur supprimé", + "comOn": "le", + "email": "E-mail", + "errSomethingWentWrong": "Quelque chose s'est mal passé", + "errTooManyRequests": "Trop de demandes ! Vous avez été soumis à une limitation de taux. Veuillez attendre un moment avant de réessayer.", + "errIfErrorPersist": "Si l'erreur persiste, veuillez", + "errReportIt": "la signaler", + "errForNow": "Pour l'instant,", + "indexLatestAnnounce": "Dernière annonce", + "indexLatestTorrents": "Derniers torrents", + "indexSearch": "Rechercher", + "indexSearchTorrents": "Rechercher des torrents", + "indexText1": "Votre adresse e-mail n'est pas encore vérifiée. Vous ne pourrez pas télécharger ou téléverser de données tant que cela ne sera pas fait.", + "indexTime": "HH:mm Do MMM YYYY", + "listNoItemShow": "Aucun élément à afficher.", + "logIn": "Se connecter", + "logInFailed": "Impossible de se connecter", + "mdMarkdownPreview": "Aperçu Markdown", + "navAnnouncements": "Annonces", + "navBookmarks": "Favoris", + "navBrowse": "Parcourir", + "navHome": "Accueil", + "navLogOut": "Déconnexion", + "navReports": "Signalements", + "navRequests": "Demandes", + "navRSS": "RSS", + "navSearch": "Recherche", + "navStats": "Statistiques", + "navUpload": "Téléverser", + "navWiki": "Wiki", + "newPassword": "Nouveau mot de passe", + "password": "Mot de passe", + "passwordResetFailed": "Réinitialisation du mot de passe impossible", + "passwordResetRequestFailed": "Impossible d'initier la réinitialisation du mot de passe", + "passwordResetRequestSuccess": "Si un compte avec cette adresse e-mail existe, vous recevrez bientôt un e-mail", + "passwordResetSuccess": "Le mot de passe a été réinitialisé avec succès", + "posterImage": "Affiche", + "poweredBy": "Propulsé par", + "register": "S'inscrire", + "registerFailed": "Impossible de s'inscrire", + "registrationClosed": "Inscription fermée", + "reqCreateNew": "Créer un nouveau", + "reqCreateReq": "Créer une demande", + "reqTitle": "Titre", + "reqPostedBy": "Posté par", + "reqPost": "Poster", + "reqRequestCreatedSuccess": "Demande créée avec succès", + "reqCouldNotCreateReq": "Impossible de créer la demande", + "reqNewRequest": "Nouvelle demande", + "reqWhatYouLookForQ": "Que cherchez-vous ?", + "reqRequestDelSuccess": "Demande supprimée avec succès", + "reqCouldNotDelReq": "Impossible de supprimer la demande", + "reqCommentPostSuccess": "Commentaire posté avec succès", + "reqCommentNotPost": "Impossible de poster un commentaire", + "reqSuggestionAddSuccess": "Suggestion ajoutée avec succès", + "reqSuggestionNotAdded": "Impossible d'ajouter une suggestion", + "reqSuggestionAcceptSuccess": "Suggestion acceptée avec succès", + "reqCouldNotAcceptSuggestion": "Impossible d'accepter la suggestion", + "reqDelete": "Supprimer", + "reqSuggestedTorrents": "Torrents suggérés", + "reqSuggestATorrent": "Proposer un torrent", + "reqAccepted": "Acceptée", + "reqAccept": "Accepter", + "reqNoTorrentsHaveBeenSuggestedYet": "Aucun torrent n'a encore été suggéré.", + "reqPostAComment": "Poster un commentaire", + "reqEnterInfohashTorrentBelow": "Saisissez l'infohash d'un torrent ci-dessous.", + "reqFulfilled": "Réalisée", + "reqPosted": "Postée", + "reqBy": "par", + "reqInfohash": "Infohash", + "reqSuggest": "Suggérer", + "repUnresolvedRep": "Signalements non résolus", + "repRepBy": "Signalé par", + "repReason": "Raison", + "repRepMarkSolved": "Signalement marqué comme résolu", + "repCouldNotResolveRep": "Impossible de résoudre le signalement", + "repRepOn": "Signalement le", + "repMarkSolved": "Marquer comme résolu", + "repRep": "Signalement", + "repTorrDetail": "Détails du torrent", + "resetPassword": "Réinitialiser le mot de passe", + "rssThereRSSFeedAt": "Il y a un flux RSS à", + "rssToAuthenticateYourself": "Pour vous authentifier, vous devez fournir les cookies", + "rssAnd": "et", + "rssToRSSEndpoint": "à l'URL du flux RSS, contenant votre nom d'utilisateur et votre mot de passe respectivement.", + "rssNoQueryParametersAreProvided": "Si aucun paramètre de requête n'est fourni, le flux RSS contiendra les 100 derniers torrents.", + "rssOnlyIncludeMatchingResults": "Pour inclure uniquement les résultats correspondants dans le flux, vous pouvez ajouter le", + "rssQueryParameter": "paramètre de requête, par exemple", + "searchSearchResults": "Résultats de la recherche pour", + "searchSearchError": "Erreur de recherche", + "statYouNotPermission": "Vous n'avez pas l'autorisation de faire cela.", + "statTrackerStat": "Statistiques du tracker", + "statActiveTorrents": "Torrents actifs", + "statBannedUsers": "Utilisateurs bannis", + "statCompletedDownloads": "Téléchargements terminés", + "statFilledRequests": "Demandes satisfaites", + "statInvitesAccepted": "Invitations acceptées", + "statLeechers": "Lecheurs", + "statPeers": "Pairs", + "statRegisteredUsers": "Utilisateurs enregistrés", + "statSeeders": "Seeders", + "statTotalComments": "Commentaires totaux", + "statTotalInvitesSent": "Invitations totales envoyées", + "statTotalRequests": "Demandes totales", + "statUploadedTorrents": "Torrents téléchargés", + "tagTaggedWith": "Étiqueté avec", + "tokenError": "Erreur de jeton", + "torrSeeders": "Seeders", + "torrLeechers": "Lecheurs", + "torrDownloads": "Téléchargements", + "torrUploaded": "Téléchargé", + "torrTorrEditSuccess": "Torrent modifié avec succès", + "torrCouldEditTorr": "Impossible de modifier le torrent", + "torrTorrDelSuccess": "Torrent supprimé avec succès", + "torrCouldNotDelTorr": "Impossible de supprimer le torrent", + "torrVoteSubmitSuccess": "Vote soumis avec succès", + "torrCouldNotSubmitVote": "Impossible de soumettre un vote", + "torrReportSubmitSuccess": "Signalement soumis avec succès", + "torrCouldNotSubmitReport": "Impossible de soumettre un signalement", + "torrFLToggleSuccess": "Freeleech activé/désactivé avec succès", + "torrCouldNotToggleFL": "Impossible d'activer/désactiver le freeleech", + "torrTorrRemFromGroupSuccess": "Torrent retiré du groupe avec succès", + "torrCouldNotRemTorrFromGroup": "Impossible de retirer le torrent du groupe", + "torrTorrent": "Torrent", + "torrCouldNotBookmarkTorr": "Impossible de mettre le torrent en favori", + "torrFL": "Freeleech", + "torrEdit": "Modifier", + "torrDownload": "Télécharger", + "torrLogInDownload": "Connectez-vous pour télécharger", + "torrFiles": "Fichiers", + "torrReport": "Signaler", + "torrRemTorr": "Supprimer ce torrent", + "torrAddTorr": "Ajouter un torrent", + "torrReasonForReport": "Raison du signalement", + "torrSureDeleteTorr": "Êtes-vous sûr de vouloir supprimer ce torrent ? Cela ne peut pas être annulé.", + "torrFreeleech": "Freeleech", + "torrUnset": "Non défini", + "torrSet": "Défini", + "torrUploadedBy": "Téléchargé par", + "torrDate": "Date", + "torrSize": "Taille", + "torrYes": "Oui", + "torrNo": "Non", + "torrGroupTorr": "Torrents groupés", + "torrThereAreNoOtherTorrGroup": "Il n'y a pas d'autres torrents dans ce groupe.", + "torrResults": "résultats", + "torrPage": "Page", + "torrOf": "de", + "torrRemovedFrom": "retiré de", + "torrAddedTo": "ajouté à", + "torrTorrNoTags": "Ce torrent n'a pas de tags.", + "totp": "Code à usage unique", + "uploadAddTag": "Ajouter un tag", + "uploadAnnounceURL": "URL de l'annonce", + "uploadAnonymousUpload": "Téléchargement anonyme", + "uploadCategory": "Catégorie", + "uploadCouldNotGetGroupSuggestions": "Impossible d'obtenir des suggestions de groupe", + "uploadCouldNotUploadFile": "Impossible de télécharger le fichier", + "uploadCouldNotUploadTorrent": "Impossible de télécharger le fichier .torrent", + "uploadDescription": "Description", + "uploadDragDropClickSelect": "Faites glisser et déposez un fichier .torrent ici, ou cliquez pour sélectionner", + "uploadDragDropClickSelectPoster": "Glissez et déposez votre fichier d'affiche ici, ou cliquez pour sélectionner", + "uploadDropFileHere": "Déposez le fichier ici...", + "uploadGroupWith": "Regrouper avec", + "uploadGroupWithThisTorrent": "Regrouper avec ce torrent", + "uploadInfoBox1": "Les extensions de fichier suivantes sont interdites. Tout torrent contenant des fichiers de ces types ne sera pas téléchargé.", + "uploadInfoBox2": "Il semble que ces torrents existants aient des noms similaires. Souhaitez-vous regrouper votre téléchargement avec l'un d'entre eux ? Les groupes ne doivent contenir que du contenu très similaire, par exemple le même film dans différents formats.", + "uploadInfoBox3": "Remarque : si vous avez commencé à semer un torrent avant de le télécharger, vous devrez peut-être actualiser les trackers dans votre client torrent une fois le téléchargement terminé.", + "uploadMarkdownSupport": "Prise en charge de Markdown", + "uploadMediaInfo": "Informations multimédias", + "uploadName": "Nom", + "uploadSource": "Source", + "uploadTags": "Tags", + "uploadTorrentFile": "Fichier .torrent", + "uploadTorrentUploadSuccess": "Torrent téléchargé avec succès", + "uploadUpload": "Téléverser", + "uploadRemove": "Supprimer", + "username": "Nom d'utilisateur", + "userUser": "Utilisateur", + "userSuccessfully": "avec succès", + "userCouldNot": "Impossible de", + "userProfile": "profil", + "userUserSince": "Utilisateur depuis", + "userUserSinceTime": "Do MMM YYYY", + "userOnlyAdminsSee": "Seuls les administrateurs peuvent voir ceci", + "userInvitedBy": "Invité par", + "userEmailVerified": "E-mail vérifié", + "userRemainingInvites": "Invitations restantes", + "userRatio": "Ratio", + "userHitNRuns": "Hit'n'runs", + "userDownloaded": "Téléchargé", + "userComments": "Commentaires", + "userNoComments": "Aucun commentaire.", + "userYouSureWant": "Êtes-vous sûr de vouloir", + "userThisUserQ": "cet utilisateur ?", + "userUploaded": "Téléversé", + "userMyUploads": "Mes téléversements", + "userMyDownloads": "Mes téléchargements", + "userMyComments": "Mes commentaires", + "userWarned": "Avertissement", + "userBanned": "Banni", + "userUnbanned": "Débanni", + "userChangePassword": "Changer le mot de passe", + "userSaveChanges": "Enregistrer les modifications", + "wiki": "Wiki", + "wiki404": "Page du wiki introuvable", + "wiki404Text": "La page que vous recherchez n'a pas pu être trouvée. Elle peut avoir été supprimée ou n'a peut-être jamais existé. Vous pouvez revenir à la page d'accueil ou utiliser la recherche pour trouver ce que vous cherchez.", + "wikiEdit": "Modifier", + "wikiLastEdited": "Dernière modification", + "wikiSave": "Enregistrer", + "wikiCancel": "Annuler", + "wikiRevisions": "Révisions", + "wikiRestoreThisRevision": "Restaurer cette révision", + "wikiSureToRestoreThisRevision": "Êtes-vous sûr de vouloir restaurer cette révision ?", + "wikiThisRevision": "Cette révision", + "wikiWasRestored": "a été restaurée", + "wikiBy": "par", + "wikiOn": "le", + "wikiViewSource": "Voir la source", + "wikiPageEdit": "Modifier la page du wiki", + "wikiEnterContent": "Saisissez le contenu de la page ici...", + "wikiEditSummary": "Résumé de la modification", + "wikiEditSummaryOptional": "Résumé de la modification (facultatif)", + "wikiEditConflict": "Conflit de modification", + "wikiEditText1": "Une autre personne a modifié cette page pendant que vous la modifiiez. Vous pouvez soit écraser les modifications de l'autre personne, soit les fusionner avec les vôtres. Assurez-vous de ne pas écraser des modifications importantes.", + "wikiEditOverwrite": "Écraser les modifications", + "wikiEditMerge": "Fusionner les modifications", + "wikiEditConflictText1": "Vous avez choisi d'écraser les modifications de l'autre personne. Toutes les modifications qu'ils ont apportées à la page seront perdues.", + "wikiEditConflictText2": "Vous avez choisi de fusionner les modifications de l'autre personne. Veuillez vérifier les conflits et décider quelles modifications doivent être conservées.", + "wikiEditConflictText3": "Les conflits suivants ont été détectés :", + "wikiThisPage": "Cette page", + "wikiHasBeenUpdated": "a été mise à jour", + "wikiReturnTo": "Retour à la page du wiki", + "wikiEditPage": "Modifier la page", + "wikiPageContent": "Contenu de la page", + "wikiDiscussion": "Discussion", + "wikiDiscussThisPage": "Discuter de cette page", + "wikiNoDiscussion": "Aucune discussion.", + "wikiDiscussionLocked": "Discussion verrouillée", + "wikiDiscussionUnlock": "Déverrouiller la discussion", + "wikiDiscussionLock": "Verrouiller la discussion", + "wikiDiscussionRemove": "Supprimer la discussion", + "wikiDiscussionPost": "Publier un message", + "wikiDiscussionPostSuccess": "Message posté avec succès", + "wikiDiscussionNotPost": "Impossible de poster un message", + "wikiDiscussionUnlockSuccess": "Discussion déverrouillée avec succès", + "wikiDiscussionLockSuccess": "Discussion verrouillée avec succès", + "wikiDiscussionRemoveSuccess": "Discussion supprimée avec succès", + "wikiDiscussionCreate": "Créer une discussion", + "wikiDiscussionTitle": "Titre de la discussion", + "wikiDiscussionTitleOptional": "Titre de la discussion (facultatif)", + "wikiDiscussionCreateSuccess": "Discussion créée avec succès", + "wikiDiscussionCouldNotCreate": "Impossible de créer la discussion", + "wikiDiscussionEdit": "Modifier la discussion", + "wikiDiscussionEditSuccess": "Discussion modifiée avec succès", + "wikiDiscussionCouldNotEdit": "Impossible de modifier la discussion", + "wikiDiscussionViewSource": "Voir la source de la discussion", + "wikiDeletePage": "Supprimer la page", + "wikiDeletePageSuccess": "Page supprimée avec succès", + "wikiDeletePageConfirm": "Êtes-vous sûr de vouloir supprimer cette page ? Cela ne peut pas être annulé.", + "wikiDeletePageText1": "Supprimer cette page supprimera également toutes les révisions associées et la discussion.", + "wikiEditDiscussion": "Modifier la discussion", + "wikiEditDiscussionPost": "Publier un message de discussion", + "wikiEditDiscussionPostSuccess": "Message de discussion posté avec succès", + "wikiEditDiscussionNotPost": "Impossible de poster un message de discussion", + "wikiEditDiscussionCreate": "Créer une discussion", + "wikiEditDiscussionCreateSuccess": "Discussion créée avec succès", + "wikiEditDiscussionCouldNotCreate": "Impossible de créer la discussion", + "wikiEditDiscussionEdit": "Modifier la discussion", + "wikiEditDiscussionEditSuccess": "Discussion modifiée avec succès", + "wikiEditDiscussionCouldNotEdit": "Impossible de modifier la discussion" +} diff --git a/client/locales/index.js b/client/locales/index.js new file mode 100644 index 0000000..a9bb622 --- /dev/null +++ b/client/locales/index.js @@ -0,0 +1,19 @@ +import en from "./en.json"; +import es from "./es.json"; +import ru from "./ru.json"; +import de from "./de.json"; +import zh from "./zh.json"; +import eo from "./eo.json"; +import fr from "./fr.json"; +import it from "./it.json"; + +export default { + en, + es, + it, + ru, + de, + zh, + eo, + fr, +}; diff --git a/client/locales/it.json b/client/locales/it.json new file mode 100644 index 0000000..ee0e9d3 --- /dev/null +++ b/client/locales/it.json @@ -0,0 +1,310 @@ +{ + "404NotFound": "Non Trovato", + "404PageDoesNotExist": "Quella pagina non esiste", + "404ReturnHome": "Torna alla home", + "acc2FADisabled": "2FA disabilitato", + "acc2FAEnabled": "2FA abilitato", + "acc2FAScanQR": "Scansiona il codice QR con la tua app authenticator ed inserisci il codice", + "acc2FAText1": "2FA abilitato con successo. Questi codici di backup possono essere utilizzati per accedere se si perde l'accesso all'app Authenticator. Salvateli ora, non saranno più visibili.", + "acc2FAUseApp": "Utilizzate un'app di autenticazione per aggiungere un ulteriore livello di sicurezza al vostro account.", + "acc2FAuth": "Autenticazione a due fattori", + "accBonusPoints": "Punti Bonus", + "accBonusPointsHave": "punti bonus", + "accBuy": "Compra", + "accCancel": "Canceclla", + "accChangePass": "Cambia Password", + "accClaimed": "Rivendicato", + "accCopyLink": "Copia link", + "accCouldNotBuyItems": "Non è stato possibile acquistare articoli", + "accCouldNotChangePass": "Non è stato possibile cambiare la password", + "accCouldNotDelAcc": "Non è stato possibile eliminare il profilo", + "accCouldNotSendInvite": "Non è stato possibile inviare l'invito", + "accCouldNotToggle2FA": "Impossibile attivare la 2FA", + "accCreated": "Creato", + "accCurrentPass": "Password attuale", + "accDangerZone": "Danger zone", + "accDelAccText1": "Sei sicuro di voler cancellare il tuo account? Questa azione non può essere annullata e potresti non essere in grado di registrarti di nuovo. I tuoi dati personali saranno cancellati, ma i torrent caricati rimarranno.", + "accDeleteMyAcc": "Cancella il mio account", + "accDeleteMyAccYes": "Si, cancella il mio account", + "accDisable": "Disabilita", + "accEnable": "Abilita", + "accEnable2FA": "Abilita 2FA", + "accEveryRequestYouFulfill": "per ogni richiesta soddisfatta, oppure", + "accForEveryGBYouUpload": "per ogni GB caricato", + "accIfYouAreAlsUploaderAcceptTorrent": "se si è anche l'uploader del torrent accettato", + "accInviteLinkCopiedClipboard": "Collegamento all'invito copiato negli appunti", + "accInvites": "Inviti", + "accRemaining": "rimasti", + "accRoleUser": "Ruolo: utente", + "accRoleAdmin": "Ruolo: admin", + "accInviteSentSuccess": "Invito inviato con successo", + "accInviteText1": "Immettere un indirizzo e-mail per inviare un invito. L'utente invitato dovrà registrarsi con lo stesso indirizzo e-mail. Una volta generato l'invito, è possibile anche copiare un link diretto", + "accItemsPurchasedSuccess": "Articoli acquistati con successo", + "accMyAccount": "Il mio account", + "accPassChangedSuccess": "La password è stata modificata con successo", + "accPurchaseInvites": "Compra inviti", + "accPurchaseUpload1GB": "Compra Upload (1 GB)", + "accRole": "Ruolo", + "accSendInvite": "Invia Invito", + "accThisIsAdminAcc": "Questo è un account amministratore.", + "accValidUntil": "Valido fino a", + "accYouCurrentlyHave": "Attualmente hai", + "accYouWillEarn": "Guadagnerai", + "accNotAvailableToBuy": "Non disponibile per l'acquisto", + "annPinnedAnnounce": "Annunci in evidenza", + "annOtherAnnounce": "Altri annunci", + "annAnnounceCreatSuccess": "Annuncio creato con successo", + "annCouldNotCreateAnnounce": "Impossibile creare l'annuncio", + "annNewAnnounce": "Nuovo annuncio", + "annBody": "Corpo", + "annPinThisAnnounceQ": "Fissare questo annuncio?", + "annAllowCommentsQ": "Consentire commenti?", + "annCreateAnnounce": "Crea annuncio", + "annAnnounceDelSuccess": "Annuncio eliminato con successo", + "annCouldNotDelAnnounce": "Impossibile eliminare l'annuncio", + "annUnpin": "Scollega", + "annPin": "Fissa", + "annUnpinned": "scollegato", + "annPinned": "fissato", + "annLastUpdated": "Ultimo aggiornamento", + "annCommentsDisabled": "Commenti disabilitati.", + "annAreYouSureYouWantToDelThisannounceQ": "Sei sicuro di voler eliminare questo annuncio? Questo non può essere annullato.", + "annAnnounceUpdatedSuccess": "Annuncio aggiornato con successo", + "annCouldNotUpdateAnnounce": "Impossibile aggiornare l'annuncio", + "annEditAnnounce": "Modifica annuncio", + "annUpdateAnnounce": "Aggiorna annuncio", + "annAnnounce": "Annuncio", + "bmYourBM": "I tuoi segnalibri", + "bmYouNotHaveAnyBM": "Non hai alcun segnalibro.", + "catCategories": "Categorie", + "catNoCategoryHaveBeenDefined": "Non sono state definite categorie.", + "catNoTagsHaveBeenDefined": "Non sono stati definiti tag.", + "catNoResults": "Nessun risultato.", + "comCommentBy": "Commento di", + "comDelUser": "utente eliminato", + "comOn": "su", + "email": "Email", + "errSomethingWentWrong": "Qualcosa è andato storto", + "errTooManyRequests": "Troppe richieste! Sei stato limitato. Attendi qualche minuto prima di riprovare.", + "errIfErrorPersist": "Se l'errore persiste, per favore", + "errReportIt": "segnalalo", + "errForNow": "Per ora,", + "indexLatestAnnounce": "Ultimo annuncio", + "indexLatestTorrents": "Ultimi torrent", + "indexSearch": "Cerca", + "indexSearchTorrents": "Cerca torrent", + "indexText1": "Il tuo indirizzo email non è ancora verificato. Non sarai in grado di caricare o scaricare dati finché non sarà completata la verifica.", + "indexTime": "HH:mm Do MMM YYYY", + "listNoItemShow": "Nessun elemento da mostrare.", + "logIn": "Accedi", + "logInFailed": "Accesso non riuscito", + "mdMarkdownPreview": "Anteprima Markdown", + "navAnnouncements": "Annunci", + "navBookmarks": "Segnalibri", + "navBrowse": "Esplora", + "navHome": "Home", + "navLogOut": "Esci", + "navReports": "Segnalazioni", + "navRequests": "Richieste", + "navRSS": "RSS", + "navSearch": "Cerca", + "navStats": "Statistiche", + "navUpload": "Carica", + "navWiki": "Wiki", + "newPassword": "Nuova password", + "password": "Password", + "passwordResetFailed": "Impossibile reimpostare la password", + "passwordResetRequestFailed": "Impossibile iniziare il reset della password", + "passwordResetRequestSuccess": "Se un account con questo indirizzo email esiste, riceverai presto una email", + "passwordResetSuccess": "Password reimpostata con successo", + "posterImage": "Immagine di copertina", + "poweredBy": "Powered by", + "register": "Registrati", + "registerFailed": "Registrazione non riuscita", + "registrationClosed": "Registrazione chiusa", + "reqCreateNew": "Crea nuovo", + "reqCreateReq": "Crea richiesta", + "reqTitle": "Titolo", + "reqPostedBy": "Pubblicato da", + "reqPost": "Pubblica", + "reqRequestCreatedSuccess": "Richiesta creata con successo", + "reqCouldNotCreateReq": "Impossibile creare la richiesta", + "reqNewRequest": "Nuova richiesta", + "reqWhatYouLookForQ": "Cosa stai cercando?", + "reqRequestDelSuccess": "Richiesta eliminata con successo", + "reqCouldNotDelReq": "Impossibile eliminare la richiesta", + "reqCommentPostSuccess": "Commento pubblicato con successo", + "reqCommentNotPost": "Impossibile pubblicare il commento", + "reqSuggestionAddSuccess": "Suggerimento aggiunto con successo", + "reqSuggestionNotAdded": "Impossibile aggiungere il suggerimento", + "reqSuggestionAcceptSuccess": "Suggerimento accettato con successo", + "reqCouldNotAcceptSuggestion": "Impossibile accettare il suggerimento", + "reqDelete": "Elimina", + "reqSuggestedTorrents": "Torrent suggeriti", + "reqSuggestATorrent": "Suggerisci un torrent", + "reqAccepted": "Accettato", + "reqAccept": "Accetta", + "reqNoTorrentsHaveBeenSuggestedYet": "Non sono stati ancora suggeriti torrent.", + "reqPostAComment": "Pubblica un commento", + "reqEnterInfohashTorrentBelow": "Inserisci l'infohash di un torrent qui sotto.", + "reqFulfilled": "Soddisfatto", + "reqPosted": "Pubblicato", + "reqBy": "da", + "reqInfohash": "Infohash", + "reqSuggest": "Suggerisci", + "repUnresolvedRep": "Segnalazioni non risolte", + "repRepBy": "Segnalato da", + "repReason": "Motivo", + "repRepMarkSolved": "Segnalazione contrassegnata come risolta", + "repCouldNotResolveRep": "Impossibile risolvere la segnalazione", + "repRepOn": "Segnala", + "repMarkSolved": "Segna come risolto", + "repRep": "Segnalato", + "repTorrDetail": "Dettagli torrent", + "resetPassword": "Ripristina password", + "rssThereRSSFeedAt": "C'è un feed RSS su", + "rssToAuthenticateYourself": "Per autenticarti, devi fornire i cookie", + "rssAnd": "e", + "rssToRSSEndpoint": "all'endpoint RSS, contenenti rispettivamente il tuo nome utente e la tua password.", + "rssNoQueryParametersAreProvided": "Se non vengono forniti parametri di query, il feed RSS conterrà i 100 torrent più recenti.", + "rssOnlyIncludeMatchingResults": "Per includere solo risultati corrispondenti nel feed, puoi aggiungere il", + "rssQueryParameter": "parametro di query, ad esempio", + "searchSearchResults": "Risultati della ricerca per", + "searchSearchError": "Errore di ricerca", + "statYouNotPermission": "Non hai il permesso per farlo.", + "statTrackerStat": "Statistiche del tracker", + "statActiveTorrents": "Torrent attivi", + "statBannedUsers": "Utenti banditi", + "statCompletedDownloads": "Download completati", + "statFilledRequests": "Richieste soddisfatte", + "statInvitesAccepted": "Inviti accettati", + "statLeechers": "Leecher", + "statPeers": "Peers", + "statRegisteredUsers": "Utenti registrati", + "statSeeders": "Seeders", + "statTotalComments": "Commenti totali", + "statTotalInvitesSent": "Inviti totali inviati", + "statTotalRequests": "Richieste totali", + "statUploadedTorrents": "Torrent caricati", + "tagTaggedWith": "Taggato con", + "tokenError": "Errore del token", + "torrSeeders": "Seeders", + "torrLeechers": "Leecher", + "torrDownloads": "Download", + "torrUploaded": "Caricato", + "torrTorrEditSuccess": "Torrent modificato con successo", + "torrCouldEditTorr": "Non è stato possibile modificare il torrent", + "torrTorrDelSuccess": "Torrent eliminato con successo", + "torrCouldNotDelTorr": "Impossibile eliminare il torrent", + "torrVoteSubmitSuccess": "Voto inviato con successo", + "torrCouldNotSubmitVote": "Impossibile inviare il voto", + "torrReportSubmitSuccess": "Segnalazione inviata con successo", + "torrCouldNotSubmitReport": "Impossibile inviare la segnalazione", + "torrFLToggleSuccess": "Freeleech attivato/disattivato con successo", + "torrCouldNotToggleFL": "Impossibile attivare/disattivare freeleech", + "torrTorrRemFromGroupSuccess": "Torrent rimosso dal gruppo con successo", + "torrCouldNotRemTorrFromGroup": "Impossibile rimuovere il torrent dal gruppo", + "torrTorrent": "Torrent", + "torrCouldNotBookmarkTorr": "Impossibile aggiungere il torrent ai segnalibri", + "torrFL": "FL!", + "torrEdit": "Modifica", + "torrDownload": "Scarica", + "torrLogInDownload": "Accedi per scaricare", + "torrFiles": "File", + "torrReport": "Segnala", + "torrRemTorr": "Rimuovi questo torrent", + "torrAddTorr": "Aggiungi un torrent", + "torrReasonForReport": "Motivo della segnalazione", + "torrSureDeleteTorr": "Sei sicuro di voler eliminare questo torrent? Questa azione non può essere annullata.", + "torrFreeleech": "Freeleech", + "torrUnset": "Non impostato", + "torrSet": "Impostato", + "torrUploadedBy": "Caricato da", + "torrDate": "Data", + "torrSize": "Dimensione", + "torrYes": "Sì", + "torrNo": "No", + "torrGroupTorr": "Torrent raggruppati", + "torrThereAreNoOtherTorrGroup": "Non ci sono altri torrent in questo gruppo.", + "torrResults": "risultati", + "torrPage": "Pagina", + "torrOf": "di", + "torrRemovedFrom": "rimosso da", + "torrAddedTo": "aggiunto a", + "torrTorrNoTags": "Questo torrent non ha tag.", + "totp": "Codice monouso", + "uploadAddTag": "Aggiungi tag", + "uploadAnnounceURL": "URL di annuncio", + "uploadAnonymousUpload": "Caricamento anonimo", + "uploadCategory": "Categoria", + "uploadCouldNotGetGroupSuggestions": "Impossibile ottenere suggerimenti per il gruppo", + "uploadCouldNotUploadFile": "Impossibile caricare il file", + "uploadCouldNotUploadTorrent": "Impossibile caricare il file .torrent", + "uploadDescription": "Descrizione", + "uploadDragDropClickSelect": "Trascina e rilascia il file .torrent qui, o clicca per selezionare", + "uploadDragDropClickSelectPoster": "Trascina e rilascia la tua immagine di copertina qui, o clicca per selezionare", + "uploadDropFileHere": "Rilascia il file qui...", + "uploadGroupWith": "Raggruppa con", + "uploadGroupWithThisTorrent": "Raggruppa con questo torrent", + "uploadInfoBox1": "Le seguenti estensioni di file sono inserite nella lista nera. Qualsiasi torrent contenente file di questi tipi non verrà caricato.", + "uploadInfoBox2": "Sembra che questi torrent esistenti abbiano nomi simili. Vorresti raggruppare il tuo caricamento con uno di essi? I gruppi dovrebbero contenere solo contenuti molto simili, ad esempio lo stesso film in formati diversi.", + "uploadInfoBox3": "Nota: se hai iniziato a seedare un torrent prima di caricarlo, potresti dover aggiornare i tracker nel tuo client torrent una volta completato il caricamento.", + "uploadMarkdownSupport": "Supporto Markdown", + "uploadMediaInfo": "Informazioni sui media", + "uploadName": "Nome", + "uploadSource": "Fonte", + "uploadTags": "Tag", + "uploadTorrentFile": "File torrent", + "uploadTorrentUploadSuccess": "Torrent caricato con successo", + "uploadUpload": "Carica", + "uploadRemove": "Rimuovi", + "username": "Nome utente", + "userUser": "Utente", + "userSuccessfully": "con successo", + "userCouldNot": "Impossibile", + "userProfile": "profilo", + "userUserSince": "Utente dal", + "userUserSinceTime": "Do MMM YYYY", + "userOnlyAdminsSee": "Solo gli amministratori possono vedere questo", + "userInvitedBy": "Invitato da", + "userEmailVerified": "Email verificata", + "userRemainingInvites": "Inviti rimanenti", + "userRatio": "Rapporto", + "userHitNRuns": "Hit'n'runs", + "userDownloaded": "Scaricato", + "userComments": "Commenti", + "userNoComments": "Nessun commento.", + "userYouSureWant": "Sei sicuro di voler", + "userThisUserQ": "questo utente?", + "userUploaded": "Caricato", + "userMyUploads": "I miei caricamenti", + "usernameRules": "Può contenere solo lettere, numeri e “.”", + "userUnban": "rimuovere il ban a", + "userBan": "bannare", + "userUnbanned": "rimosso il ban", + "userBanned": "bannato", + "userAdmin": "Admin", + "veCouldNotVerifyEmailAddress": "Impossibile verificare l'indirizzo email:", + "veEmailAddressVerifiedSuccess": "Indirizzo email verificato con successo.", + "veNoVerificationTokenProvided": "Nessun token di verifica fornito", + "veVerifyEmail": "Verifica email", + "welcome": "Benvenuto", + "welcomeBack": "Bentornato", + "wikiPath": "Percorso", + "wikiPageWillBeVisibleAt": "La pagina sarà visibile su", + "wikiAllowUnregisteredView": "Consenti visualizzazione non registrata", + "wikiPageCreateSuccess": "Pagina wiki creata con successo", + "wikiCouldNotCreatePage": "Impossibile creare la pagina wiki", + "wikiNewPage": "Nuova pagina wiki", + "wikiCreatePage": "Crea pagina wiki", + "wikiPageDelSuccess": "Pagina wiki eliminata con successo", + "wikiCouldNotDelPage": "Impossibile eliminare la pagina wiki", + "wikiPageUpdateSuccess": "Pagina wiki aggiornata con successo", + "wikiCouldNotUpdatePage": "Impossibile aggiornare la pagina wiki", + "wikiAddPage": "Aggiungi pagina", + "wikiLastEdited": "Ultima modifica", + "wikiPages": "Pagine", + "wikiSaveChanges": "Salva modifiche", + "wikiThereNothingHereYet": "Non c'è ancora nulla qui.", + "wikiDelThisPageQ": "Sei sicuro di voler eliminare questa pagina della wiki? Questa azione non può essere annullata." + } \ No newline at end of file diff --git a/client/locales/ru.json b/client/locales/ru.json new file mode 100644 index 0000000..cf3a0f6 --- /dev/null +++ b/client/locales/ru.json @@ -0,0 +1,307 @@ +{ + "404NotFound": "Не найдено", + "404PageDoesNotExist": "Эта страница не существует.", + "404ReturnHome": "Вернуться на главную страницу", + "acc2FADisabled": "2FA отключена", + "acc2FAEnabled": "2FA включена", + "acc2FAScanQR": "Отсканируйте QR-код с помощью приложения для аутентификации и введите одноразовый код", + "acc2FAText1": "2FA успешно включена. Эти резервные коды можно использовать для входа в систему, если вы потеряете доступ к приложению для проверки подлинности. Сохраните их сейчас, они больше не будут показаны.", + "acc2FAUseApp": "Используйте приложение для аутентификации, чтобы добавить еще один уровень безопасности к вашей учетной записи", + "acc2FAuth": "Двухфакторная аутентификация", + "accBonusPoints": "Бонусные баллы", + "accBonusPointsHave": "бонус(а/ов)", + "accBuy": "Обменять", + "accCancel": "Отмена", + "accChangePass": "Изменить пароль", + "accClaimed": "Заявлено", + "accCopyLink": "Копировать ссылку", + "accCouldNotBuyItems": "Не удалось обменять", + "accCouldNotChangePass": "Не удалось изменить пароль", + "accCouldNotDelAcc": "Не удалось удалить аккаунт", + "accCouldNotSendInvite": "Не удалось отправить приглашение", + "accCouldNotToggle2FA": "Не удалось изменить", + "accCreated": "Создан", + "accCurrentPass": "Текущий пароль", + "accDangerZone": "Зона опасности", + "accDelAccText1": "Вы уверены, что хотите удалить свою учетную запись? Это действие невозможно отменить, и, возможно, вы не сможете зарегистрироваться снова. Ваша личная информация будет удалена, но загруженные вами торренты останутся.", + "accDeleteMyAcc": "Удалить мой аккаунт", + "accDeleteMyAccYes": "Да, удалить мой аккаунт", + "accDisable": "Отключить", + "accEnable": "Включить", + "accEnable2FA": "Включить 2FA", + "accEveryRequestYouFulfill": "за каждый выполненный вами запрос или", + "accForEveryGBYouUpload": "за каждый ГБ, который раздали", + "accIfYouAreAlsUploaderAcceptTorrent": "если вы также являетесь пользователем торрента", + "accInviteLinkCopiedClipboard": "Ссылка для приглашения скопирована в буфер обмена", + "accInvites": "Приглашения", + "accRemaining": "осталось", + "accRoleUser": "Права: пользователь", + "accRoleAdmin": "Права: администратор", + "accInviteSentSuccess": "Приглашение успешно отправлено", + "accInviteText1": "Введите адрес эл. почты, чтобы отправить приглашение. Приглашенному пользователю необходимо будет зарегистрироваться, используя тот же адрес эл. почты. После создания приглашения вы также можете скопировать прямую ссылку для приглашения.", + "accItemsPurchasedSuccess": "Обмен успешно завершен", + "accMyAccount": "Мой аккаунт", + "accPassChangedSuccess": "Пароль успешно изменен", + "accPurchaseInvites": "Получить приглашения", + "accPurchaseUpload1GB": "Повысить ратио (получить 1 ГБ)", + "accRole": "Права", + "accSendInvite": "Отправить приглашение", + "accThisIsAdminAcc": "Это учетная запись администратора.", + "accValidUntil": "Годен до", + "accYouCurrentlyHave": "В настоящее время у вас есть", + "accYouWillEarn": "Вы получите", + "accNotAvailableToBuy": "Недоступно для обмена", + "annPinnedAnnounce": "Закрепленные анонсы", + "annOtherAnnounce": "Другие анонсы", + "annAnnounceCreatSuccess": "Анонс создан успешно", + "annCouldNotCreateAnnounce": "Не удалось создать анонс", + "annNewAnnounce": "Новый анонс", + "annBody": "Описание", + "annPinThisAnnounceQ": "Закрепить этот анонс?", + "annAllowCommentsQ": "Разрешить комментарии?", + "annCreateAnnounce": "Создать анонс", + "annAnnounceDelSuccess": "Анонс успешно удален", + "annCouldNotDelAnnounce": "Не удалось удалить анонс", + "annUnpin": "Открепить", + "annPin": "Прикрепить", + "annUnpinned": "откреплен", + "annPinned": "прикреплен", + "annLastUpdated": "Последнее обновление", + "annCommentsDisabled": "Комментарии отключены.", + "annAreYouSureYouWantToDelThisannounceQ": "Вы уверены, что хотите удалить этот анонс? Его потом не восстановить.", + "annAnnounceUpdatedSuccess": "Анонс успешно обновлен", + "annCouldNotUpdateAnnounce": "Не удалось обновить анонс", + "annEditAnnounce": "Изменить анонс", + "annUpdateAnnounce": "Обновить анонс", + "annAnnounce": "Анонс", + "bmYourBM": "Ваши закладки", + "bmYouNotHaveAnyBM": "У вас нет закладок.", + "catCategories": "Категории", + "catNoCategoryHaveBeenDefined": "Категории не определены.", + "catNoTagsHaveBeenDefined": "Метки не определены.", + "catNoResults": "Нет результатов.", + "comCommentBy": "Комментарий от", + "comDelUser": "удаленный пользователь", + "comOn": "на", + "email": "Эл. почта", + "errSomethingWentWrong": "Что-то пошло не так", + "errTooManyRequests": "Слишком много запросов! Пожалуйста, подождите некоторое время, прежде чем повторить попытку.", + "errIfErrorPersist": "Если ошибка повторится, пожалуйста,", + "errReportIt": "напишите об этом", + "errForNow": "На данный момент,", + "indexLatestAnnounce": "Последний анонс", + "indexLatestTorrents": "Последние торренты", + "indexSearch": "Поиск", + "indexSearchTorrents": "Поиск торрентов", + "indexText1": "Ваш адрес эл. почты еще не подтвержден. Пока это не будет сделано, вы не сможете загружать или скачивать.", + "indexTime": "DD.MM.YYYY HH:mm", + "listNoItemShow": "Нет элементов для отображения.", + "logIn": "Вход", + "logInFailed": "Не удалось войти", + "mdMarkdownPreview": "Markdown предпросмотр", + "navAnnouncements": "Анонсы", + "navBookmarks": "Закладки", + "navBrowse": "Категории", + "navHome": "Главная", + "navLogOut": "Выход", + "navReports": "Жалобы", + "navRequests": "Запросы", + "navSearch": "Поиск", + "navStats": "Статистика", + "navUpload": "Загрузить", + "newPassword": "Новый пароль", + "password": "Пароль", + "passwordResetFailed": "Не удалось завершить сброс пароля", + "passwordResetRequestFailed": "Не удалось инициировать сброс пароля", + "passwordResetRequestSuccess": "Если учетная запись с таким адресом эл. почты существует, вы вскоре получите эл. письмо.", + "passwordResetSuccess": "Пароль успешно сброшен", + "posterImage": "Плакат", + "register": "Регистрация", + "registerFailed": "Не удалось зарегистрироваться", + "registrationClosed": "Регистрация закрыта", + "reqCreateNew": "Создать новый", + "reqTitle": "Заголовок", + "reqPostedBy": "Сообщение от", + "reqPost": "Опубликовать", + "reqTitle": "Заголовок", + "reqRequestCreatedSuccess": "Запрос успешно создан", + "reqCouldNotCreateReq": "Не удалось создать запрос", + "reqNewRequest": "Новый запрос", + "reqCreateReq": "Создать запрос", + "reqWhatYouLookForQ": "Что Вы ищете?", + "reqRequestDelSuccess": "Запрос успешно удален", + "reqCouldNotDelReq": "Не удалось удалить запрос", + "reqCommentPostSuccess": "Комментарий успешно опубликован", + "reqCommentNotPost": "Не удалось опубликовать комментарий", + "reqSuggestionAddSuccess": "Предложение успешно добавлено", + "reqSuggestionNotAdded": "Не удалось добавить предложение", + "reqSuggestionAcceptSuccess": "Предложение успешно принято", + "reqCouldNotAcceptSuggestion": "Не удалось принять предложение", + "reqDelete": "Удалить", + "reqSuggestedTorrents": "Предлагаемые торренты", + "reqSuggestATorrent": "Предложить торрент", + "reqAccepted": "Принято", + "reqAccept": "Принять", + "reqNoTorrentsHaveBeenSuggestedYet": "Торренты пока не предложены.", + "reqPostAComment": "Оставить комментарий", + "reqEnterInfohashTorrentBelow": "Введите информационный хэш торрента ниже.", + "reqFulfilled": "Выполнено", + "reqPosted": "Опубликовано", + "reqBy": "пользователем", + "reqInfohash": "Инфохеш", + "reqSuggest": "Предложить", + "repUnresolvedRep": "Неразрешенные жалобы", + "repRepBy": "Жалоба от", + "repReason": "Причина", + "repRepMarkSolved": "Жалоба помечена как решенная", + "repCouldNotResolveRep": "Не удалось решить жалобу", + "repRepOn": "Жалоба на", + "repMarkSolved": "Пометить как решенная", + "repRep": "Жалоба отправлена", + "repTorrDetail": "Детали торрента", + "resetPassword": "Сброс пароля", + "rssThereRSSFeedAt": "RSS-канал по адресу", + "rssToAuthenticateYourself": "Чтобы аутентифицировать себя, вы должны предоставить файлы cookie", + "rssAnd": "и", + "rssToRSSEndpoint": "к конечной точке RSS, содержащей ваше имя пользователя и пароль соответственно.", + "rssNoQueryParametersAreProvided": "Если параметры запроса не указаны, RSS-канал будет содержать 100 последних торрентов.", + "rssOnlyIncludeMatchingResults": "Чтобы включить в ленту только совпадающие результаты, вы можете добавить", + "rssQueryParameter": "параметр запроса, например", + "searchSearchResults": "Результат поиска для", + "searchSearchError": "Ошибка поиска", + "statYouNotPermission": "У вас нет прав для просмотра.", + "statTrackerStat": "Статистика трекера", + "statActiveTorrents": "Активные торренты", + "statBannedUsers": "Забаненные пользователи", + "statCompletedDownloads": "Завершенные загрузки", + "statFilledRequests": "Выполненные запросы", + "statInvitesAccepted": "Принятые приглашения", + "statLeechers": "Личеры", + "statPeers": "Пиры", + "statRegisteredUsers": "Зарегистрированные пользователи", + "statSeeders": "Сидеры", + "statTotalComments": "Комментарии", + "statTotalInvitesSent": "Отправленные приглашения", + "statTotalRequests": "Запросы", + "statUploadedTorrents": "Загруженные торренты", + "tagTaggedWith": "С метками", + "tokenError": "Ошибка токена", + "torrSeeders": "Сидеры", + "torrLeechers": "Личеры", + "torrDownloads": "Загрузки", + "torrUploaded": "Дата загрузки", + "torrTorrEditSuccess": "Торрент успешно отредактирован", + "torrCouldEditTorr": "Можно редактировать торрент", + "torrTorrDelSuccess": "Торрент успешно удален", + "torrCouldNotDelTorr": "Не удалось удалить торрент", + "torrVoteSubmitSuccess": "Голосование отправлено успешно", + "torrCouldNotSubmitVote": "Не удалось проголосовать", + "torrReportSubmitSuccess": "Жалоба успешно отправлен", + "torrCouldNotSubmitReport": "Не удалось отправить жалобу", + "torrFLToggleSuccess": "Фрилич успешно переключен", + "torrCouldNotToggleFL": "Не удалось переключить фрилич", + "torrTorrRemFromGroupSuccess": "Торрент успешно удален из группы", + "torrCouldNotRemTorrFromGroup": "Не удалось удалить торрент из группы", + "torrTorrent": "Торрент", + "torrCouldNotBookmarkTorr": "Не удалось добавить торрент в закладки", + "torrEdit": "Изменить", + "torrDownload": "Загрузить", + "torrLogInDownload": "Войдите, чтобы скачать", + "torrFiles": "Файлы", + "torrReport": "Жалоба", + "torrRemTorr": "Удалить этот торрент", + "torrAddTorr": "Добавить торрент", + "torrReasonForReport": "Причина жалобы", + "torrSureDeleteTorr": "Вы уверены, что хотите удалить этот торрент? Это действие нельзя отменить.", + "torrFreeleech": "Фрилич", + "torrUnset": "Отключить", + "torrSet": "Включить", + "torrUploadedBy": "Загружено пользователем", + "torrDate": "Дата", + "torrSize": "Размер", + "torrYes": "Да", + "torrNo": "Нет", + "torrGroupTorr": "Сгруппированные торренты", + "torrThereAreNoOtherTorrGroup": "Других торрентов в этой группе нет.", + "torrResults": "результат(а/ов)", + "torrPage": "Страница", + "torrOf": "из", + "torrRemovedFrom": "удален из", + "torrAddedTo": "добавлен в", + "torrTorrNoTags": "Этот торрент не имеет меток.", + "totp": "Одноразовый код", + "uploadAddTag": "Добавить метку", + "uploadAnnounceURL": "Адрес трекера", + "uploadAnonymousUpload": "Анонимная загрузка", + "uploadCategory": "Категория", + "uploadCouldNotGetGroupSuggestions": "Не удалось получить предложения группы", + "uploadCouldNotUploadFile": "Не удалось загрузить файл", + "uploadCouldNotUploadTorrent": "Не удалось загрузить .torrent", + "uploadDescription": "Описание", + "uploadDragDropClickSelect": "Перетащите файл .torrent сюда или щелкните, чтобы выбрать", + "uploadDragDropClickSelectPoster": "Перетащите ваш файл плаката сюда или щелкните, чтобы выбрать", + "uploadDropFileHere": "Перетащите файл сюда...", + "uploadGroupWith": "Группа с", + "uploadGroupWithThisTorrent": "Группа с этим торрентом", + "uploadInfoBox1": "Следующие расширения файлов занесены в черный список. Любой торрент, содержащий файлы этих типов, не будет загружен.", + "uploadInfoBox2": "Похоже, что эти существующие торренты имеют схожие названия. Хотите сгруппировать загрузку с каким-либо из них? Группы должны содержать только очень похожий контент, например один и тот же фильм в разных форматах.", + "uploadInfoBox3": "Примечание. Если вы начали раздачу торрента перед загрузкой, вам может потребоваться обновить трекеры в вашем торрент-клиенте после завершения загрузки.", + "uploadMarkdownSupport": "Поддержка Markdown", + "uploadMediaInfo": "Медиаинфо", + "uploadName": "Имя", + "uploadSource": "Источник", + "uploadTags": "Метки", + "uploadTorrentFile": "Торрент файл", + "uploadTorrentUploadSuccess": "Торрент успешно загружен", + "uploadUpload": "Загрузить", + "uploadRemove": "Удалить", + "username": "Имя", + "userUser": "Пользователь", + "userSuccessfully": "успешно", + "userCouldNot": "Не удалось", + "userProfile": "профиль", + "userUserSince": "Пользователь с", + "userUserSinceTime": "DD.MM.YYYY", + "userOnlyAdminsSee": "Это могут видеть только администраторы", + "userInvitedBy": "По приглашению", + "userEmailVerified": "Эл. почта подтверждена", + "userRemainingInvites": "Оставшиеся приглашения", + "userRatio": "Ратио (соотношение)", + "userHitNRuns": "Не поделился", + "userDownloaded": "Скачано", + "userComments": "Комментарии", + "userNoComments": "Комментариев нет.", + "userYouSureWant": "Вы уверены, что хотите", + "userThisUserQ": "этого пользователя?", + "userUploaded": "Роздано", + "userMyUploads": "Мои раздачи", + "usernameRules": "Может состоять только из букв, цифр и “.”", + "userUnban": "разбанить", + "userBan": "забанить", + "userUnbanned": "разбанен", + "userBanned": "забанен", + "userAdmin": "Админ", + "veCouldNotVerifyEmailAddress": "Не удалось подтвердить адрес эл. почты:", + "veEmailAddressVerifiedSuccess": "Адрес эл. почты успешно подтвержден.", + "veNoVerificationTokenProvided": "Токен подтверждения не предоставлен", + "veVerifyEmail": "Подтвердить эл. почту", + "welcome": "Добро пожаловать", + "welcomeBack": "С возвращением", + "wikiPath": "Путь", + "wikiPageWillBeVisibleAt": "Страница будет видна по адресу", + "wikiAllowUnregisteredView": "Разрешить просмотр без авторизации", + "wikiPageCreateSuccess": "Wiki страница успешно создана", + "wikiCouldNotCreatePage": "Не удалось создать wiki страницу", + "wikiNewPage": "Новая wiki страница", + "wikiCreatePage": "Создать wiki страницу", + "wikiPageDelSuccess": "Wiki страница успешно удалена", + "wikiCouldNotDelPage": "Не удалось удалить wiki страницу", + "wikiPageUpdateSuccess": "Wiki страница успешно обновлена", + "wikiCouldNotUpdatePage": "Не удалось обновить wiki страницу", + "wikiAddPage": "Добавить страницу", + "wikiLastEdited": "Последнее редактирование", + "wikiPages": "Страницы", + "wikiSaveChanges": "Сохранить изменения", + "wikiThereNothingHereYet": "Здесь пока ничего нет.", + "wikiDelThisPageQ": "Вы уверены, что хотите удалить эту wiki страницу? Действие необратимо." +} diff --git a/client/locales/zh.json b/client/locales/zh.json new file mode 100644 index 0000000..f9d0fa1 --- /dev/null +++ b/client/locales/zh.json @@ -0,0 +1,310 @@ +{ + "404NotFound": "未找到", + "404PageDoesNotExist": "该页面不存在。", + "404ReturnHome": "返回首页", + "acc2FADisabled": "两步验证已禁用", + "acc2FAEnabled": "两步验证已启用", + "acc2FAScanQR": "使用身份验证器应用扫描二维码并输入一次性代码", + "acc2FAText1": "成功启用两步验证。如果您失去身份验证器应用的访问权限,可以使用这些备用代码登录。请立即保存,它们不再重复出现。", + "acc2FAUseApp": "使用身份验证器应用让您的帐户更加安全", + "acc2FAuth": "双因素认证", + "accBonusPoints": "积分", + "accBonusPointsHave": "分", + "accBuy": "购买", + "accCancel": "取消", + "accChangePass": "更改密码", + "accClaimed": "状态", + "accCopyLink": "复制链接", + "accCouldNotBuyItems": "无法购买该物品", + "accCouldNotChangePass": "无法更改密码", + "accCouldNotDelAcc": "无法删除帐户", + "accCouldNotSendInvite": "无法发送邀请", + "accCouldNotToggle2FA": "无法切换双因素认证", + "accCreated": "已创建", + "accCurrentPass": "当前密码", + "accDangerZone": "危险区域", + "accDelAccText1": "您确定要删除您的帐户吗?此操作无法撤消,您可能无法再次注册。您的个人信息将被删除,但您上传的种子将保留。", + "accDeleteMyAcc": "删除我的帐户", + "accDeleteMyAccYes": "是的,删除我的帐户", + "accDisable": "禁用", + "accEnable": "启用", + "accEnable2FA": "启用双因素认证", + "accEveryRequestYouFulfill": "因为每个被采纳的求种,或者获得", + "accForEveryGBYouUpload": "您上传的每 1GB", + "accIfYouAreAlsUploaderAcceptTorrent": "分,需要您同时也是被采纳种子的发种人", + "accInviteLinkCopiedClipboard": "邀请链接已复制到剪贴板", + "accInvites": "邀请", + "accRemaining": "剩余", + "accRoleUser": "角色: 用户", + "accRoleAdmin": "角色: 管理员", + "accInviteSentSuccess": "邀请已成功发送", + "accInviteText1": "请输入受邀用户的邮箱地址。受邀用户需使用该邮箱地址注册。您也可以在此直接复制邀请链接。", + "accItemsPurchasedSuccess": "购买成功", + "accMyAccount": "我的帐户", + "accPassChangedSuccess": "密码更改成功", + "accPurchaseInvites": "购买邀请", + "accPurchaseUpload1GB": "购买上传(1 GB)", + "accRole": "角色", + "accSendInvite": "发送邀请", + "accThisIsAdminAcc": "这是管理员帐户。", + "accValidUntil": "有效至", + "accYouCurrentlyHave": "现有", + "accYouWillEarn": "将获得", + "accNotAvailableToBuy": "不可购买", + "annPinnedAnnounce": "置顶公告", + "annOtherAnnounce": "其他公告", + "annAnnounceCreatSuccess": "成功创建公告", + "annCouldNotCreateAnnounce": "无法创建公告", + "annNewAnnounce": "新公告", + "annBody": "内容", + "annPinThisAnnounceQ": "置顶此公告?", + "annAllowCommentsQ": "允许评论?", + "annCreateAnnounce": "创建公告", + "annAnnounceDelSuccess": "公告删除成功", + "annCouldNotDelAnnounce": "无法删除公告", + "annUnpin": "取消置顶", + "annPin": "置顶", + "annUnpinned": "已取消置顶", + "annPinned": "已置顶", + "annLastUpdated": "最后更新", + "annCommentsDisabled": "评论已禁用。", + "annAreYouSureYouWantToDelThisannounceQ": "您确定要删除这个公告吗?此操作无法撤销。", + "annAnnounceUpdatedSuccess": "公告更新成功", + "annCouldNotUpdateAnnounce": "无法更新公告", + "annEditAnnounce": "编辑公告", + "annUpdateAnnounce": "更新公告", + "annAnnounce": "公告", + "bmYourBM": "您的书签", + "bmYouNotHaveAnyBM": "您没有任何书签。", + "catCategories": "分类", + "catNoCategoryHaveBeenDefined": "尚未定义分类。", + "catNoTagsHaveBeenDefined": "尚未定义标签。", + "catNoResults": "无结果。", + "comCommentBy": "评论者", + "comDelUser": "已删除的用户", + "comOn": "于", + "email": "Email", + "errSomethingWentWrong": "发生了一些问题", + "errTooManyRequests": "请求过于频繁!您已被限制访问。请稍后再试。", + "errIfErrorPersist": "如果错误持续存在,请", + "errReportIt": "报告它", + "errForNow": "目前", + "indexLatestAnnounce": "最新公告", + "indexLatestTorrents": "最新种子", + "indexSearch": "搜索", + "indexSearchTorrents": "搜索种子", + "indexText1": "您的邮箱地址尚未验证。在验证之前,您将无法上传或下载任何数据。", + "indexTime": "YY年M月D日 HH:mm", + "listNoItemShow": "没有可显示的条目。", + "logIn": "登录", + "logInFailed": "无法登录", + "mdMarkdownPreview": "Markdown 预览", + "navAnnouncements": "公告", + "navBookmarks": "书签", + "navBrowse": "浏览", + "navHome": "主页", + "navLogOut": "退出登录", + "navReports": "报告", + "navRequests": "求种", + "navRSS": "RSS", + "navSearch": "搜索", + "navStats": "统计", + "navUpload": "发种", + "navWiki": "帮助", + "newPassword": "新密码", + "password": "密码", + "passwordResetFailed": "无法完成密码重置", + "passwordResetRequestFailed": "无法发起密码重置", + "passwordResetRequestSuccess": "如果存在该邮箱地址的帐户,将很快收到邮件", + "passwordResetSuccess": "密码重置成功", + "posterImage": "海报", + "poweredBy": "Powered by", + "register": "注册", + "registerFailed": "无法注册", + "registrationClosed": "站点已关闭注册", + "reqCreateNew": "求种", + "reqCreateReq": "发布请求", + "reqTitle": "主题", + "reqPostedBy": "求种人", + "reqPost": "发布", + "reqRequestCreatedSuccess": "求种创建成功", + "reqCouldNotCreateReq": "无法创建求种", + "reqNewRequest": "新的求种", + "reqWhatYouLookForQ": "您在寻找什么?", + "reqRequestDelSuccess": "求种删除成功", + "reqCouldNotDelReq": "无法删除求种", + "reqCommentPostSuccess": "评论成功发布", + "reqCommentNotPost": "无法发布评论", + "reqSuggestionAddSuccess": "应求已成功添加", + "reqSuggestionNotAdded": "无法添加应求", + "reqSuggestionAcceptSuccess": "应求已成功采纳", + "reqCouldNotAcceptSuggestion": "无法采纳应求", + "reqDelete": "删除", + "reqSuggestedTorrents": "应求的种子", + "reqSuggestATorrent": "应求一个种子", + "reqAccepted": "已采纳", + "reqAccept": "采纳", + "reqNoTorrentsHaveBeenSuggestedYet": "尚未有人应求。", + "reqPostAComment": "发布评论", + "reqEnterInfohashTorrentBelow": "在下面输入种子的 Infohash。", + "reqFulfilled": "已解决", + "reqPosted": "已发布", + "reqBy": "发布者", + "reqInfohash": "Infohash", + "reqSuggest": "建议", + "repUnresolvedRep": "未解决的报告", + "repRepBy": "报告者", + "repReason": "原因", + "repRepMarkSolved": "报告标记为已解决", + "repCouldNotResolveRep": "无法解决报告", + "repRepOn": "报告于", + "repMarkSolved": "标记为已解决", + "repRep": "报告", + "repTorrDetail": "种子详情", + "resetPassword": "重置密码", + "rssThereRSSFeedAt": "在此处有一个 RSS 订阅源", + "rssToAuthenticateYourself": "要进行身份验证,您必须提供 Cookie", + "rssAnd": "和", + "rssToRSSEndpoint": "到 RSS 端点,分别包含您的用户名和密码。", + "rssNoQueryParametersAreProvided": "如果没有提供查询参数,RSS 订阅将包含最新的 100 个种子。", + "rssOnlyIncludeMatchingResults": "要在订阅中仅包含匹配的结果,您可以添加", + "rssQueryParameter": "查询参数,例如", + "searchSearchResults": "搜索结果", + "searchSearchError": "搜索错误", + "statYouNotPermission": "您没有权限执行该操作。", + "statTrackerStat": "跟踪器统计", + "statActiveTorrents": "活跃种子", + "statBannedUsers": "被禁用户", + "statCompletedDownloads": "已完成下载", + "statFilledRequests": "已填充请求", + "statInvitesAccepted": "已接受邀请", + "statLeechers": "下载中用户", + "statPeers": "Peers", + "statRegisteredUsers": "注册用户", + "statSeeders": "上传中用户", + "statTotalComments": "总评论数", + "statTotalInvitesSent": "已发送邀请总数", + "statTotalRequests": "总请求数", + "statUploadedTorrents": "已上传种子", + "tagTaggedWith": "标记为", + "tokenError": "令牌错误", + "torrSeeders": "上传中用户", + "torrLeechers": "下载中用户", + "torrDownloads": "下载次数", + "torrUploaded": "已上传", + "torrTorrEditSuccess": "种子编辑成功", + "torrCouldEditTorr": "无法编辑种子", + "torrTorrDelSuccess": "种子删除成功", + "torrCouldNotDelTorr": "无法删除种子", + "torrVoteSubmitSuccess": "投票提交成功", + "torrCouldNotSubmitVote": "无法提交投票", + "torrReportSubmitSuccess": "报告提交成功", + "torrCouldNotSubmitReport": "无法提交报告", + "torrFLToggleSuccess": "FREE 状态切换成功", + "torrCouldNotToggleFL": "无法切换至 FREE 状态", + "torrTorrRemFromGroupSuccess": "成功从组中删除种子", + "torrCouldNotRemTorrFromGroup": "无法从组中删除种子", + "torrTorrent": "种子", + "torrCouldNotBookmarkTorr": "无法收藏种子", + "torrFL": "FREE", + "torrEdit": "编辑", + "torrDownload": "下载", + "torrLogInDownload": "登录以下载", + "torrFiles": "文件", + "torrReport": "报告", + "torrRemTorr": "删除此种子", + "torrAddTorr": "添加种子", + "torrReasonForReport": "报告原因", + "torrSureDeleteTorr": "您确定要删除这个种子吗?此操作无法撤销。", + "torrFreeleech": "免费下载", + "torrUnset": "取消设置", + "torrSet": "设置", + "torrUploadedBy": "上传者", + "torrDate": "日期", + "torrSize": "大小", + "torrYes": "是", + "torrNo": "否", + "torrGroupTorr": "已分组的种子", + "torrThereAreNoOtherTorrGroup": "此组中没有其他种子。", + "torrResults": "结果", + "torrPage": "页面", + "torrOf": "的", + "torrRemovedFrom": "移除于", + "torrAddedTo": "增加至", + "torrTorrNoTags": "这个种子还没有标签", + "totp": "一次性代码", + "uploadAddTag": "添加标签", + "uploadAnnounceURL": "Tracker 地址", + "uploadAnonymousUpload": "匿名上传", + "uploadCategory": "分类", + "uploadCouldNotGetGroupSuggestions": "无法获取组建议", + "uploadCouldNotUploadFile": "无法上传文件", + "uploadCouldNotUploadTorrent": "无法上传 .torrent", + "uploadDescription": "描述", + "uploadDragDropClickSelect": "将 .torrent 文件拖放到此处,或单击选择", + "uploadDragDropClickSelectPoster": "拖拽您的海报文件至此,或点击以选择", + "uploadDropFileHere": "将文件拖放到此处...", + "uploadGroupWith": "与以下种子同组", + "uploadGroupWithThisTorrent": "与此种子同组", + "uploadInfoBox1": "以下文件扩展名被列入黑名单。包含这些类型文件的种子将无法发布。", + "uploadInfoBox2": "看起来与现有的种子有着相似的名称。您是否想要将您的种子分到其中的任意分组?分组应只包含非常相似的内容,例如相同电影的不同格式。", + "uploadInfoBox3": "注意:如果您在上传前已开始做种,上传完成后可能需要在您的客户端中强制重新汇报 Tracker。", + "uploadMarkdownSupport": "支持 Markdown", + "uploadMediaInfo": "MediaInfo", + "uploadName": "名称", + "uploadSource": "来源", + "uploadTags": "标签", + "uploadTorrentFile": "Torrent 文件", + "uploadTorrentUploadSuccess": "Torrent 上传成功", + "uploadUpload": "上传", + "uploadRemove": "移除", + "username": "用户名", + "userUser": "用户", + "userSuccessfully": "成功", + "userCouldNot": "无法", + "userProfile": "个人资料", + "userUserSince": "用户自", + "userUserSinceTime": "YY年M月D日", + "userOnlyAdminsSee": "只有管理员能看到此", + "userInvitedBy": "邀请者", + "userEmailVerified": "邮箱已验证", + "userRemainingInvites": "剩余邀请", + "userRatio": "分享率", + "userHitNRuns": "H&R", + "userDownloaded": "已下载", + "userComments": "评论", + "userNoComments": "无评论。", + "userYouSureWant": "您确定要", + "userThisUserQ": "这个用户吗?", + "userUploaded": "已上传", + "userMyUploads": "我的发种", + "usernameRules": "只能包含字母数字和.", + "userUnban": "解封", + "userBan": "封禁", + "userUnbanned": "已解封", + "userBanned": "已封禁", + "userAdmin": "设为管理", + "veCouldNotVerifyEmailAddress": "无法验证邮件地址:", + "veEmailAddressVerifiedSuccess": "邮箱地址验证成功。", + "veNoVerificationTokenProvided": "未提供验证令牌", + "veVerifyEmail": "验证电子邮件", + "welcome": "欢迎", + "welcomeBack": "欢迎回来", + "wikiPath": "路径", + "wikiPageWillBeVisibleAt": "页面将可见于", + "wikiAllowUnregisteredView": "允许未注册用户查看", + "wikiPageCreateSuccess": "维基页面创建成功", + "wikiCouldNotCreatePage": "无法创建维基页面", + "wikiNewPage": "新维基页面", + "wikiCreatePage": "创建维基页面", + "wikiPageDelSuccess": "维基页面删除成功", + "wikiCouldNotDelPage": "无法删除维基页面", + "wikiPageUpdateSuccess": "维基页面更新成功", + "wikiCouldNotUpdatePage": "无法更新维基页面", + "wikiAddPage": "添加页面", + "wikiLastEdited": "最后编辑", + "wikiPages": "页面", + "wikiSaveChanges": "保存更改", + "wikiThereNothingHereYet": "目前还没有内容。", + "wikiDelThisPageQ": "您确定要删除这个维基页面吗?此操作无法撤销。" +} diff --git a/client/package.json b/client/package.json index 3a690bd..342cee3 100644 --- a/client/package.json +++ b/client/package.json @@ -1,6 +1,6 @@ { "name": "@sqtracker/client", - "version": "1.3.1", + "version": "1.5.0", "private": true, "license": "GPL-3.0-only", "scripts": { diff --git a/client/pages/404.js b/client/pages/404.js index 3c0ea5a..b0d9982 100644 --- a/client/pages/404.js +++ b/client/pages/404.js @@ -1,22 +1,27 @@ -import React from "react"; +import React, { useContext } from "react"; import Link from "next/link"; import SEO from "../components/SEO"; import Text from "../components/Text"; +import LocaleContext from "../utils/LocaleContext"; -const NotFound = () => ( - <> - - - 404: Not found - - - That page does not exist.{" "} - - Return home - - . - - -); +const NotFound = () => { + const { getLocaleString } = useContext(LocaleContext); + + return ( + <> + + + 404: {getLocaleString("404NotFound")} + + + {getLocaleString("404PageDoesNotExist")}{" "} + + {getLocaleString("404ReturnHome")} + + . + + + ); +}; export default NotFound; diff --git a/client/pages/_app.js b/client/pages/_app.js index c14af9a..8950ac3 100644 --- a/client/pages/_app.js +++ b/client/pages/_app.js @@ -27,6 +27,8 @@ import Input from "../components/Input"; import { NotificationsProvider } from "../components/Notifications"; import Text from "../components/Text"; import LoadingContext from "../utils/LoadingContext"; +import LocaleContext from "../utils/LocaleContext"; +import locales from "../locales"; const getThemeColours = (themeName, customTheme = {}) => { switch (themeName) { @@ -152,6 +154,9 @@ const Loading = styled(LoaderAlt)` animation: ${spin} 1s linear infinite; `; +const getLocaleString = (locale) => (key) => + locales[locale][key] ?? locales.en[key]; + const SqTracker = ({ Component, pageProps, initialTheme }) => { const [isMobile, setIsMobile] = useState(false); const [menuIsOpen, setMenuIsOpen] = useState(false); @@ -175,9 +180,12 @@ const SqTracker = ({ Component, pageProps, initialTheme }) => { SQ_API_URL, SQ_MINIMUM_RATIO, SQ_MAXIMUM_HIT_N_RUNS, + SQ_SITE_DEFAULT_LOCALE, }, } = getConfig(); + const [locale, setLocale] = useState(SQ_SITE_DEFAULT_LOCALE ?? "en"); + const allowThemeToggle = !Object.keys(SQ_CUSTOM_THEME ?? {}).some( (key) => key !== "primary" ); @@ -208,6 +216,9 @@ const SqTracker = ({ Component, pageProps, initialTheme }) => { }); } + const { locale: localeCookie } = cookies; + if (Object.keys(locales).includes(localeCookie)) setLocale(localeCookie); + Router.events.on("routeChangeStart", () => setLoading(true)); Router.events.on("routeChangeComplete", () => setLoading(false)); Router.events.on("routeChangeError", () => setLoading(false)); @@ -263,152 +274,168 @@ const SqTracker = ({ Component, pageProps, initialTheme }) => { - - - + { + setLocale(l); + setCookie("locale", l, { path: "/" }); + }, + locales: Object.keys(locales), + getLocaleString: getLocaleString(locale), + }} + > + + - - - {loading && ( - - - - )} - {SQ_SITE_WIDE_FREELEECH === true && ( - - Site-wide freeleech enabled! - - )} - - {!isServer && token && ( + - {userStats && ( - - {Number(SQ_MINIMUM_RATIO) !== -1 && ( - <> - - - {userStats.ratio === -1 ? "N/A" : userStats.ratio} - - - )} - - - {prettyBytes(userStats.up ?? 0)} - - - - {prettyBytes(userStats.down ?? 0)} - - {Number(SQ_MAXIMUM_HIT_N_RUNS) !== -1 && ( - <> - - SQ_MAXIMUM_HIT_N_RUNS - ? "error" - : "grey" - } - fontSize={0} - ml={1} - mr={2} - > - {userStats.hitnruns ?? 0} - - - )} - - - {userStats.bp ?? 0} BP - + + {loading && ( + + )} - - - - {allowThemeToggle && ( - + Site-wide freeleech enabled! + )} - )} + {!isServer && token && ( + + {userStats && ( + + {Number(SQ_MINIMUM_RATIO) !== -1 && ( + <> + + + {userStats.ratio === -1 + ? "N/A" + : userStats.ratio} + + + )} + + + {prettyBytes(userStats.up ?? 0)} + + + + {prettyBytes(userStats.down ?? 0)} + + {Number(SQ_MAXIMUM_HIT_N_RUNS) !== -1 && ( + <> + + SQ_MAXIMUM_HIT_N_RUNS + ? "error" + : "grey" + } + fontSize={0} + ml={1} + mr={2} + > + {userStats.hitnruns ?? 0} + + + )} + + + {userStats.bp ?? 0} BP + + + )} + + + + {allowThemeToggle && ( + + )} + + )} + + + + - - - - - + + diff --git a/client/pages/_error.js b/client/pages/_error.js index 457d147..043e98f 100644 --- a/client/pages/_error.js +++ b/client/pages/_error.js @@ -1,10 +1,11 @@ -import React, { useState, useEffect } from "react"; +import React, { useContext, useState, useEffect } from "react"; import Link from "next/link"; import getConfig from "next/config"; import NextErrorComponent from "next/error"; import * as Sentry from "@sentry/nextjs"; import SEO from "../components/SEO"; import Text from "../components/Text"; +import LocaleContext from "../utils/LocaleContext"; const ErrorPage = () => { const [rateLimited, setRateLimited] = useState(false); @@ -23,30 +24,29 @@ const ErrorPage = () => { checkRateLimit(); }, []); + const { getLocaleString } = useContext(LocaleContext); + return ( <> - + - Something went wrong :( + {getLocaleString("errSomethingWentWrong")} :( {rateLimited ? ( - - Too many requests! You have been rate limited. Please wait a while - before trying again. - + {getLocaleString("errTooManyRequests")} ) : ( - If the error persists, please{" "} + {getLocaleString("errIfErrorPersist")}{" "} - report it + {getLocaleString("errReportIt")} . For now,{" "} - return home + {getLocaleString("404ReturnHome")} . diff --git a/client/pages/account.js b/client/pages/account.js index 24e0f04..8335c0e 100644 --- a/client/pages/account.js +++ b/client/pages/account.js @@ -22,11 +22,13 @@ import List from "../components/List"; import { NotificationContext } from "../components/Notifications"; import Modal from "../components/Modal"; import LoadingContext from "../utils/LoadingContext"; +import LocaleContext from "../utils/LocaleContext"; const BuyItem = ({ text, cost, wallet, handleBuy }) => { const [amount, setAmount] = useState(1); const unavailable = cost === 0; const cannotAfford = amount * cost > wallet; + const { getLocaleString } = useContext(LocaleContext); return ( { {unavailable - ? "Not available to buy" + ? [getLocaleString("accNotAvailableToBuy")] : `Cost: ${amount * cost} points`} { disabled={unavailable || cannotAfford} mr={3} /> - + @@ -82,6 +86,8 @@ const Account = ({ token, invites = [], user, userRole }) => { const { addNotification } = useContext(NotificationContext); const { setLoading } = useContext(LoadingContext); + const { getLocaleString } = useContext(LocaleContext); + const theme = useContext(ThemeContext); const { @@ -92,6 +98,7 @@ const Account = ({ token, invites = [], user, userRole }) => { SQ_BP_COST_PER_INVITE, SQ_BP_COST_PER_GB, SQ_ALLOW_REGISTER, + SQ_DISABLE_EMAIL, }, } = getConfig(); @@ -127,13 +134,23 @@ const Account = ({ token, invites = [], user, userRole }) => { return currentInvitesList; }); - addNotification("success", "Invite sent successfully"); + addNotification( + "success", + `${getLocaleString( + SQ_DISABLE_EMAIL + ? "accInviteSentSuccessNoEmail" + : "accInviteSentSuccess" + )}` + ); setRemainingInvites((r) => r - 1); setShowInviteModal(false); } catch (e) { - addNotification("error", `Could not send invite: ${e.message}`); + addNotification( + "error", + `${getLocaleString("accCouldNotSendInvite")}: ${e.message}` + ); console.error(e); } @@ -166,7 +183,7 @@ const Account = ({ token, invites = [], user, userRole }) => { throw new Error(reason); } - addNotification("success", "Password changed successfully"); + addNotification("success", `${getLocaleString("accPassChangedSuccess")}`); const fields = e.target.querySelectorAll("input"); for (const field of fields) { @@ -174,7 +191,10 @@ const Account = ({ token, invites = [], user, userRole }) => { field.blur(); } } catch (e) { - addNotification("error", `Could not change password: ${e.message}`); + addNotification( + "error", + `${getLocaleString("accCouldNotChangePass")}: ${e.message}` + ); console.error(e); } @@ -206,7 +226,10 @@ const Account = ({ token, invites = [], user, userRole }) => { throw new Error(reason); } - addNotification("success", "Items purchased successfully"); + addNotification( + "success", + `${getLocaleString("accItemsPurchasedSuccess")}` + ); const pointsRemaining = await buyRes.text(); setBonusPoints(parseInt(pointsRemaining)); @@ -219,7 +242,10 @@ const Account = ({ token, invites = [], user, userRole }) => { field.blur(); } } catch (e) { - addNotification("error", `Could not buy items: ${e.message}`); + addNotification( + "error", + `${getLocaleString("accCouldNotBuyItems")}: ${e.message}` + ); console.error(e); } @@ -248,7 +274,7 @@ const Account = ({ token, invites = [], user, userRole }) => { setTotpBackupCodes(backupCodes); setTotpQrData(undefined); setTotpEnabled(true); - addNotification("success", "2FA enabled"); + addNotification("success", `${getLocaleString("acc2FAEnabled")}`); } else { const message = await enableRes.text(); addNotification("error", message); @@ -280,14 +306,17 @@ const Account = ({ token, invites = [], user, userRole }) => { if (disableRes.status === 200) { setTotpEnabled(false); - addNotification("success", "2FA disabled"); + addNotification("success", `${getLocaleString("acc2FADisabled")}`); } else { const message = await disableRes.text(); addNotification("error", message); } } } catch (e) { - addNotification("error", `Could not toggle 2FA: ${e.message}`); + addNotification( + "error", + `${getLocaleString("accCouldNotToggle2FA")}: ${e.message}` + ); console.error(e); } }; @@ -315,67 +344,79 @@ const Account = ({ token, invites = [], user, userRole }) => { await router.push("/logout"); } catch (e) { - addNotification("error", `Could not delete account: ${e.message}`); + addNotification( + "error", + `${getLocaleString("accCouldNotDelAcc")}: ${e.message}` + ); console.error(e); } }; return ( <> - + - My account + {getLocaleString("accMyAccount")} {userRole === "admin" && ( - This is an admin account. + {getLocaleString("accThisIsAdminAcc")} )} - Bonus points + {getLocaleString("accBonusPoints")} - You currently have {bonusPoints} bonus points. + {getLocaleString("accYouCurrentlyHave")} {bonusPoints}{" "} + {getLocaleString("accBonusPointsHave")}. - You will earn {SQ_BP_EARNED_PER_GB}{" "} - {pluralize("point", SQ_BP_EARNED_PER_GB)} for every GB you upload. + {getLocaleString("accYouWillEarn")}{" "} + {SQ_BP_EARNED_PER_GB}{" "} + {pluralize( + `${getLocaleString("accBonusPointsHave")}`, + SQ_BP_EARNED_PER_GB + )}{" "} + {getLocaleString("accForEveryGBYouUpload")}. - You will earn {SQ_BP_EARNED_PER_FILLED_REQUEST}{" "} - {pluralize("point", SQ_BP_EARNED_PER_FILLED_REQUEST)} for every - request you fulfill, or{" "} - {SQ_BP_EARNED_PER_FILLED_REQUEST * 2} if you are also - the uploader of the accepted torrent. + {getLocaleString("accYouWillEarn")}{" "} + {SQ_BP_EARNED_PER_FILLED_REQUEST}{" "} + {pluralize( + `${getLocaleString("accBonusPointsHave")}`, + SQ_BP_EARNED_PER_FILLED_REQUEST + )}{" "} + {getLocaleString("accEveryRequestYouFulfill")}{" "} + {SQ_BP_EARNED_PER_FILLED_REQUEST * 2}{" "} + {getLocaleString("accIfYouAreAlsUploaderAcceptTorrent")}. * + *": { mt: 3 } }} mb={5}> {SQ_ALLOW_REGISTER === "invite" && ( handleBuy(e, "invite")} /> )} handleBuy(e, "upload")} /> - {SQ_ALLOW_REGISTER === "invite" && ( + {(SQ_ALLOW_REGISTER === "invite" || userRole === "admin") && ( <> - {" "} - Invites + {getLocaleString("accInvites")} { pl={4} > - {remainingInvites.toLocaleString()} remaining + {remainingInvites.toLocaleString()}{" "} + {getLocaleString("accRemaining")} @@ -399,13 +443,13 @@ const Account = ({ token, invites = [], user, userRole }) => { data={invitesList} columns={[ { - header: "Email", + header: `${getLocaleString("email")}`, accessor: "email", cell: ({ value }) => {value}, gridWidth: "1.75fr", }, { - header: "Claimed", + header: `${getLocaleString("accClaimed")}`, accessor: "claimed", cell: ({ value }) => ( @@ -415,27 +459,29 @@ const Account = ({ token, invites = [], user, userRole }) => { gridWidth: "0.5fr", }, { - header: "Valid until", + header: `${getLocaleString("accValidUntil")}`, accessor: "validUntil", cell: ({ value }) => ( - {moment(value).format("HH:mm Do MMM YYYY")} + {moment(value).format(`${getLocaleString("indexTime")}`)} ), gridWidth: "175px", }, { - header: "Created", + header: `${getLocaleString("accCreated")}`, accessor: "created", cell: ({ value }) => ( - {moment(value).format("HH:mm Do MMM YYYY")} + + {moment(value).format(`${getLocaleString("indexTime")}`)} + ), gridWidth: "175px", }, ...(userRole === "admin" ? [ { - header: "Role", + header: `${getLocaleString("accRole")}`, accessor: "role", cell: ({ value }) => ( @@ -447,7 +493,7 @@ const Account = ({ token, invites = [], user, userRole }) => { ] : []), { - header: "Copy link", + header: `${getLocaleString("accCopyLink")}`, cell: ({ row }) => { return ( + @@ -538,11 +580,7 @@ const Account = ({ token, invites = [], user, userRole }) => { <> {totpBackupCodes ? ( <> - - 2FA enabled successfully. These backup codes can be used to - log in if you lose access to your authenticator app. Save - them now, they will not be visible again. - + {getLocaleString("acc2FAText1")} {totpBackupCodes.split(",").map((code) => ( { )} - + )} @@ -577,25 +620,25 @@ const Account = ({ token, invites = [], user, userRole }) => { - Change password + {getLocaleString("accChangePass")} - + {user.username !== "admin" && ( @@ -605,29 +648,35 @@ const Account = ({ token, invites = [], user, userRole }) => { p={4} > - Danger zone + {getLocaleString("accDangerZone")} )} {showInviteModal && ( setShowInviteModal(false)}> - Enter an email address to send an invite. The invited user will need - to sign up with the same email address. Once the invite is - generated, you can also copy a direct invite link. + {getLocaleString( + SQ_DISABLE_EMAIL ? "accInviteText1NoEmail" : "accInviteText1" + )}
- + {userRole === "admin" && ( )} @@ -637,25 +686,25 @@ const Account = ({ token, invites = [], user, userRole }) => { variant="secondary" mr={3} > - Cancel + {getLocaleString("accCancel")} + + -
)} {showDeleteAccountModal && ( setShowDeleteAccountModal(false)}> - - Are you sure you want to delete your account? This action cannot be - undone, and you may not be able to register again. Your personal - information will be deleted but your uploaded torrents will remain. - + {getLocaleString("accDelAccText1")}
@@ -666,9 +715,11 @@ const Account = ({ token, invites = [], user, userRole }) => { variant="secondary" mr={3} > - Cancel + {getLocaleString("accCancel")} + + -
diff --git a/client/pages/announcements/[slug]/edit.js b/client/pages/announcements/[slug]/edit.js index e3d4f7c..c6f5fde 100644 --- a/client/pages/announcements/[slug]/edit.js +++ b/client/pages/announcements/[slug]/edit.js @@ -11,10 +11,13 @@ import { withAuthServerSideProps } from "../../../utils/withAuth"; import { NotificationContext } from "../../../components/Notifications"; import LoadingContext from "../../../utils/LoadingContext"; import MarkdownInput from "../../../components/MarkdownInput"; +import LocaleContext from "../../../utils/LocaleContext"; const EditAnnouncement = ({ announcement, token, userRole }) => { + const { getLocaleString } = useContext(LocaleContext); + if (userRole !== "admin") { - return You do not have permission to do that.; + return {getLocaleString("statYouNotPermission")}; } const { addNotification } = useContext(NotificationContext); @@ -54,12 +57,18 @@ const EditAnnouncement = ({ announcement, token, userRole }) => { throw new Error(reason); } - addNotification("success", "Announcement updated successfully"); + addNotification( + "success", + `${getLocaleString("annAnnounceUpdatedSuccess")}` + ); const slug = await updateAnnouncementRes.text(); router.push(`/announcements/${slug}`); } catch (e) { - addNotification("error", `Could not update announcement: ${e.message}`); + addNotification( + "error", + `${getLocaleString("annCouldNotUpdateAnnounce")}: ${e.message}` + ); console.error(e); } @@ -68,41 +77,41 @@ const EditAnnouncement = ({ announcement, token, userRole }) => { return ( <> - + - Edit announcement + {getLocaleString("annEditAnnounce")}
diff --git a/client/pages/announcements/[slug]/index.js b/client/pages/announcements/[slug]/index.js index ab64861..ca51e13 100644 --- a/client/pages/announcements/[slug]/index.js +++ b/client/pages/announcements/[slug]/index.js @@ -19,6 +19,7 @@ import Input from "../../../components/Input"; import Comment from "../../../components/Comment"; import LoadingContext from "../../../utils/LoadingContext"; import Modal from "../../../components/Modal"; +import LocaleContext from "../../../utils/LocaleContext"; const Announcement = ({ announcement, token, userRole }) => { const [pinned, setPinned] = useState(announcement.pinned); @@ -38,6 +39,8 @@ const Announcement = ({ announcement, token, userRole }) => { const [cookies] = useCookies(); + const { getLocaleString } = useContext(LocaleContext); + const handleDelete = async () => { setLoading(true); @@ -57,11 +60,14 @@ const Announcement = ({ announcement, token, userRole }) => { throw new Error(reason); } - addNotification("success", "Announcement deleted successfully"); + addNotification("success"`${getLocaleString("annAnnounceDelSuccess")}`); router.push("/announcements"); } catch (e) { - addNotification("error", `Could not delete announcement: ${e.message}`); + addNotification( + "error", + `${getLocaleString("annCouldNotDelAnnounce")}: ${e.message}` + ); console.error(e); } @@ -91,14 +97,18 @@ const Announcement = ({ announcement, token, userRole }) => { addNotification( "success", - `Announcement ${pinned ? "unpinned" : "pinned"} successfully` + `${getLocaleString("annAnnounce")} ${ + pinned ? getLocaleString("annUnpinned") : getLocaleString("annPinned") + } ${getLocaleString("userSuccessfully")}` ); setPinned((p) => !p); } catch (e) { addNotification( "error", - `Could not ${pinned ? "unpin" : "pin"} announcement: ${e.message}` + `${getLocaleString("userCouldNot")} ${ + pinned ? getLocaleString("annUnpin") : getLocaleString("annPin") + } announcement: ${e.message}` ); console.error(e); } @@ -131,7 +141,7 @@ const Announcement = ({ announcement, token, userRole }) => { throw new Error(reason); } - addNotification("success", "Comment posted successfully"); + addNotification("success", `${getLocaleString("reqCommentPostSuccess")}`); setComments((c) => { const newComment = { @@ -146,7 +156,10 @@ const Announcement = ({ announcement, token, userRole }) => { commentInputRef.current.value = ""; } catch (e) { - addNotification("error", `Could not post comment: ${e.message}`); + addNotification( + "error", + `${getLocaleString("reqCommentNotPost")}: ${e.message}` + ); console.error(e); } @@ -155,7 +168,9 @@ const Announcement = ({ announcement, token, userRole }) => { return ( <> - + { {userRole === "admin" && ( @@ -186,14 +203,18 @@ const Announcement = ({ announcement, token, userRole }) => { onClick={() => setShowDeleteModal(true)} variant="secondary" > - Delete + {getLocaleString("reqDelete")} )} - Posted {moment(announcement.created).format("HH:mm Do MMM YYYY")} by{" "} + {getLocaleString("reqPosted")}{" "} + {moment(announcement.created).format( + `${getLocaleString("indexTime")}` + )}{" "} + {getLocaleString("reqBy")}{" "} {announcement.createdBy?.username ? ( {announcement.createdBy.username} @@ -204,8 +225,10 @@ const Announcement = ({ announcement, token, userRole }) => { {announcement.updated && ( - Last updated{" "} - {moment(announcement.updated).format("HH:mm Do MMM YYYY")} + {getLocaleString("annLastUpdated")}{" "} + {moment(announcement.updated).format( + `${getLocaleString("indexTime")}` + )} )} @@ -218,16 +241,18 @@ const Announcement = ({ announcement, token, userRole }) => { - Comments + {getLocaleString("userComments")}
{ disabled={!announcement.allowComments} ml="auto" > - Post + {getLocaleString("reqPost")}
{!!comments?.length && ( @@ -254,8 +279,7 @@ const Announcement = ({ announcement, token, userRole }) => { {showDeleteModal && ( setShowDeleteModal(false)}> - Are you sure you want to delete this announcement? This cannot be - undone. + {getLocaleString("annAreYouSureYouWantToDelThisannounceQ")} diff --git a/client/pages/announcements/index.js b/client/pages/announcements/index.js index 0721078..00ad65d 100644 --- a/client/pages/announcements/index.js +++ b/client/pages/announcements/index.js @@ -1,4 +1,4 @@ -import React from "react"; +import React, { useContext } from "react"; import getConfig from "next/config"; import Link from "next/link"; import jwt from "jsonwebtoken"; @@ -9,22 +9,25 @@ import Text from "../../components/Text"; import { withAuthServerSideProps } from "../../utils/withAuth"; import Button from "../../components/Button"; import List from "../../components/List"; +import LocaleContext from "../../utils/LocaleContext"; const Announcements = ({ announcements, pinnedAnnouncements, userRole }) => { + const { getLocaleString } = useContext(LocaleContext); + return ( <> - + - Announcements + {getLocaleString("navAnnouncements")} {userRole === "admin" && ( - + )} @@ -33,7 +36,7 @@ const Announcements = ({ announcements, pinnedAnnouncements, userRole }) => { <> - Pinned announcements + {getLocaleString("annPinnedAnnounce")} ({ @@ -42,22 +45,24 @@ const Announcements = ({ announcements, pinnedAnnouncements, userRole }) => { }))} columns={[ { - header: "Title", + header: `${getLocaleString("reqTitle")}`, accessor: "title", cell: ({ value }) => {value}, gridWidth: "1fr", }, { - header: "Posted by", + header: `${getLocaleString("reqPostedBy")}`, accessor: "createdBy.username", cell: ({ value }) => {value ?? "deleted user"}, gridWidth: "1fr", }, { - header: "Created", + header: `${getLocaleString("accCreated")}`, accessor: "created", cell: ({ value }) => ( - {moment(value).format("HH:mm Do MMM YYYY")} + + {moment(value).format(`${getLocaleString("indexTime")}`)} + ), rightAlign: true, gridWidth: "175px", @@ -66,7 +71,7 @@ const Announcements = ({ announcements, pinnedAnnouncements, userRole }) => { /> - Other announcements + {getLocaleString("annOtherAnnounce")} )} @@ -77,22 +82,24 @@ const Announcements = ({ announcements, pinnedAnnouncements, userRole }) => { }))} columns={[ { - header: "Title", + header: `${getLocaleString("reqTitle")}`, accessor: "title", cell: ({ value }) => {value}, gridWidth: "1fr", }, { - header: "Posted by", + header: `${getLocaleString("reqPostedBy")}`, accessor: "createdBy.username", cell: ({ value }) => {value ?? "deleted user"}, gridWidth: "1fr", }, { - header: "Created", + header: `${getLocaleString("accCreated")}`, accessor: "created", cell: ({ value }) => ( - {moment(value).format("HH:mm Do MMM YYYY")} + + {moment(value).format(`${getLocaleString("indexTime")}`)} + ), rightAlign: true, gridWidth: "175px", diff --git a/client/pages/announcements/new.js b/client/pages/announcements/new.js index ede00d2..4a8c533 100644 --- a/client/pages/announcements/new.js +++ b/client/pages/announcements/new.js @@ -11,10 +11,13 @@ import { withAuthServerSideProps } from "../../utils/withAuth"; import { NotificationContext } from "../../components/Notifications"; import LoadingContext from "../../utils/LoadingContext"; import MarkdownInput from "../../components/MarkdownInput"; +import LocaleContext from "../../utils/LocaleContext"; const NewAnnouncement = ({ token, userRole }) => { + const { getLocaleString } = useContext(LocaleContext); + if (userRole !== "admin") { - return You do not have permission to do that.; + return {getLocaleString("statYouNotPermission")}; } const { addNotification } = useContext(NotificationContext); @@ -54,12 +57,18 @@ const NewAnnouncement = ({ token, userRole }) => { throw new Error(reason); } - addNotification("success", "Announcement created successfully"); + addNotification( + "success", + `${getLocaleString("annAnnounceCreatSuccess")}` + ); const slug = await createAnnouncementRes.text(); router.push(`/announcements/${slug}`); } catch (e) { - addNotification("error", `Could not create announcement: ${e.message}`); + addNotification( + "error", + `${getLocaleString("annCouldNotCreateAnnounce")}: ${e.message}` + ); console.error(e); } @@ -68,24 +77,37 @@ const NewAnnouncement = ({ token, userRole }) => { return ( <> - + - New announcement + {getLocaleString("annNewAnnounce")}
- + - - + + diff --git a/client/pages/bookmarks.js b/client/pages/bookmarks.js index 281219b..4b75326 100644 --- a/client/pages/bookmarks.js +++ b/client/pages/bookmarks.js @@ -1,4 +1,4 @@ -import React from "react"; +import React, { useContext } from "react"; import getConfig from "next/config"; import { useRouter } from "next/router"; import qs from "qs"; @@ -6,17 +6,20 @@ import { withAuthServerSideProps } from "../utils/withAuth"; import SEO from "../components/SEO"; import Text from "../components/Text"; import TorrentList from "../components/TorrentList"; +import LocaleContext from "../utils/LocaleContext"; const Bookmarks = ({ results }) => { const { publicRuntimeConfig: { SQ_TORRENT_CATEGORIES }, } = getConfig(); + const { getLocaleString } = useContext(LocaleContext); + return ( <> - + - Your bookmarks + {getLocaleString("bmYourBM")} {results.torrents.length ? ( { total={results.total} /> ) : ( - You do not have any bookmarks. + {getLocaleString("bmYouNotHaveAnyBM")} )} ); diff --git a/client/pages/categories/[category].js b/client/pages/categories/[category].js index 6a86be0..84db304 100644 --- a/client/pages/categories/[category].js +++ b/client/pages/categories/[category].js @@ -1,4 +1,4 @@ -import React, { useState } from "react"; +import React, { useContext, useState } from "react"; import { useRouter } from "next/router"; import getConfig from "next/config"; import qs from "qs"; @@ -7,6 +7,7 @@ import { withAuthServerSideProps } from "../../utils/withAuth"; import SEO from "../../components/SEO"; import Text from "../../components/Text"; import TorrentList from "../../components/TorrentList"; +import LocaleContext from "../../utils/LocaleContext"; const Category = ({ results, token }) => { const [torrents, setTorrents] = useState(results?.torrents ?? []); @@ -24,11 +25,13 @@ const Category = ({ results, token }) => { (c) => slugify(c, { lower: true }) === categorySlug ); + const { getLocaleString } = useContext(LocaleContext); + return ( <> - + - Browse {category} + {getLocaleString("navBrowse")} {category} {torrents.length ? ( { token={token} /> ) : ( - No results. + {getLocaleString("catNoResults")} )} ); diff --git a/client/pages/categories/index.js b/client/pages/categories/index.js index 6ca5696..8cc733b 100644 --- a/client/pages/categories/index.js +++ b/client/pages/categories/index.js @@ -1,4 +1,4 @@ -import React from "react"; +import React, { useContext } from "react"; import getConfig from "next/config"; import Link from "next/link"; import styled from "styled-components"; @@ -8,6 +8,7 @@ import { withAuth, withAuthServerSideProps } from "../../utils/withAuth"; import SEO from "../../components/SEO"; import Box from "../../components/Box"; import Text from "../../components/Text"; +import LocaleContext from "../../utils/LocaleContext"; import qs from "qs"; const CategoryItem = styled.li(() => @@ -29,12 +30,13 @@ const Categories = ({ tags }) => { const { publicRuntimeConfig: { SQ_TORRENT_CATEGORIES }, } = getConfig(); + const { getLocaleString } = useContext(LocaleContext); return ( <> - + - Categories + {getLocaleString("catCategories")} {Object.keys(SQ_TORRENT_CATEGORIES).length ? ( @@ -57,11 +59,13 @@ const Categories = ({ tags }) => { ))} ) : ( - No categories have been defined. + + {getLocaleString("catNoCategoryHaveBeenDefined")} + )}
- Tags + {getLocaleString("uploadTags")} {tags.length ? ( @@ -90,7 +94,7 @@ const Categories = ({ tags }) => { ))} ) : ( - No tags have been defined. + {getLocaleString("catNoTagsHaveBeenDefined")} )} ); diff --git a/client/pages/index.js b/client/pages/index.js index 2e6ac2f..1c6ca16 100644 --- a/client/pages/index.js +++ b/client/pages/index.js @@ -1,4 +1,4 @@ -import React from "react"; +import React, { useContext } from "react"; import getConfig from "next/config"; import Link from "next/link"; import { useRouter } from "next/router"; @@ -13,34 +13,38 @@ import Infobox from "../components/Infobox"; import { ErrorCircle } from "@styled-icons/boxicons-regular/ErrorCircle"; import { News } from "@styled-icons/boxicons-regular/News"; import moment from "moment/moment"; +import LocaleContext from "../utils/LocaleContext"; -const PublicLanding = ({ name, allowRegister }) => ( - - - {name} - - - - - Log in - - - {allowRegister && ( - - - Register +const PublicLanding = ({ name, allowRegister }) => { + const { getLocaleString } = useContext(LocaleContext); + return ( + + + {name} + + + + + {getLocaleString("logIn")} - )} + {allowRegister && ( + + + {getLocaleString("register")} + + + )} + - -); + ); +}; const Index = ({ token, @@ -73,17 +77,18 @@ const Index = ({ if (query) router.push(`/search/${encodeURIComponent(query)}`); }; + const { getLocaleString } = useContext(LocaleContext); + return ( <> - + - Home + {getLocaleString("navHome")} {!emailVerified && ( - Your email address is not yet verified. You will not be able to - upload or download any data until this is done. + {getLocaleString("indexText1")} )} @@ -108,15 +113,17 @@ const Index = ({ _css={{ textTransform: "uppercase" }} mb={3} > - Latest announcement + {getLocaleString("indexLatestAnnounce")} {latestAnnouncement.title} - Posted{" "} - {moment(latestAnnouncement.created).format("HH:mm Do MMM YYYY")}{" "} - by{" "} + {getLocaleString("reqPosted")}{" "} + {moment(latestAnnouncement.created).format( + `${getLocaleString("indexTime")}` + )}{" "} + {getLocaleString("reqBy")}{" "} {latestAnnouncement.createdBy?.username ? ( )} - - + + - Latest torrents + {getLocaleString("indexLatestTorrents")} { @@ -18,6 +19,7 @@ const Login = () => { const { addNotification } = useContext(NotificationContext); const { setLoading } = useContext(LoadingContext); + const { getLocaleString } = useContext(LocaleContext); const router = useRouter(); @@ -57,11 +59,17 @@ const Login = () => { setCookie("userId", uid, { path: "/", expires }); setCookie("username", username, { path: "/", expires }); - addNotification("success", `Welcome back ${form.get("username")}!`); + addNotification( + "success", + `${getLocaleString("welcomeBack")} ${form.get("username")}!` + ); router.push("/"); } catch (e) { - addNotification("error", `Could not log in: ${e.message}`); + addNotification( + "error", + `${getLocaleString("logInFailed")}: ${e.message}` + ); console.error(e); } @@ -70,14 +78,14 @@ const Login = () => { return ( <> - + - Log in + {getLocaleString("logIn")}
{ {totpRequired && ( - + )} - +
- Reset password + {getLocaleString("resetPassword")} diff --git a/client/pages/register.js b/client/pages/register.js index dad030a..d7d56f3 100644 --- a/client/pages/register.js +++ b/client/pages/register.js @@ -12,6 +12,7 @@ import Button from "../components/Button"; import Box from "../components/Box"; import { NotificationContext } from "../components/Notifications"; import LoadingContext from "../utils/LoadingContext"; +import LocaleContext from "../utils/LocaleContext"; export const usernamePattern = "[A-Za-z0-9.]+"; @@ -21,6 +22,7 @@ const Register = ({ token: inviteToken, tokenError }) => { const { colors } = useContext(ThemeContext); const { addNotification } = useContext(NotificationContext); const { setLoading } = useContext(LoadingContext); + const { getLocaleString } = useContext(LocaleContext); const router = useRouter(); @@ -60,11 +62,17 @@ const Register = ({ token: inviteToken, tokenError }) => { setCookie("userId", uid, { path: "/", expires }); setCookie("username", username, { path: "/", expires }); - addNotification("success", `Welcome ${form.get("username")}!`); + addNotification( + "success", + `${getLocaleString("welcome")} ${form.get("username")}!` + ); router.push("/"); } catch (e) { - addNotification("error", `Could not register: ${e.message}`); + addNotification( + "error", + `${getLocaleString("registerFailed")}: ${e.message}` + ); console.error(e); } @@ -74,28 +82,34 @@ const Register = ({ token: inviteToken, tokenError }) => { if (SQ_ALLOW_REGISTER !== "open" && SQ_ALLOW_REGISTER !== "invite") { return ( <> - + - Register + {getLocaleString("register")} -

Registration is closed.

+

{getLocaleString("registrationClosed")}.

); } return ( <> - + - Register + {getLocaleString("register")} {!tokenError ? (
- + { - +
) : ( { borderRadius={1} p={4} > - Could not register: {tokenError} + + {getLocaleString("registerFailed")}: {tokenError} + )} diff --git a/client/pages/reports/[id].js b/client/pages/reports/[id].js index 5920a5a..2d2e528 100644 --- a/client/pages/reports/[id].js +++ b/client/pages/reports/[id].js @@ -15,6 +15,7 @@ import { Info } from "../torrent/[infoHash]"; import { withAuthServerSideProps } from "../../utils/withAuth"; import { NotificationContext } from "../../components/Notifications"; import LoadingContext from "../../utils/LoadingContext"; +import LocaleContext from "../../utils/LocaleContext"; const Report = ({ report, token, userRole }) => { const { addNotification } = useContext(NotificationContext); @@ -26,6 +27,8 @@ const Report = ({ report, token, userRole }) => { const router = useRouter(); + const { getLocaleString } = useContext(LocaleContext); + const handleResolve = async () => { setLoading(true); @@ -45,11 +48,14 @@ const Report = ({ report, token, userRole }) => { throw new Error(reason); } - addNotification("success", "Report marked as solved"); + addNotification("success", `${getLocaleString("repRepMarkSolved")}`); router.push("/reports"); } catch (e) { - addNotification("error", `Could not resolve report: ${e.message}`); + addNotification( + "error", + `${getLocaleString("repCouldNotResolveRep")}: ${e.message}` + ); console.error(e); } @@ -57,37 +63,47 @@ const Report = ({ report, token, userRole }) => { }; if (userRole !== "admin") { - return You do not have permission to do that.; + return {getLocaleString("statYouNotPermission")}; } return ( <> - + - Report on “{report.torrent.name}” - + + {getLocaleString("repRepOn")} “{report.torrent.name}” + + - Reported {moment(report.created).format("HH:mm Do MMM YYYY")} by{" "} + {getLocaleString("repRep")}{" "} + {moment(report.created).format(`${getLocaleString("indexTime")}`)}{" "} + {getLocaleString("reqBy")}{" "} {report.reportedBy.username} {report.torrent.name} ), - Description: report.torrent.description, - "Info hash": ( + [getLocaleString("uploadDescription")]: report.torrent.description, + [getLocaleString("reqInfohash")]: ( { {report.torrent.infoHash} ), - Created: moment(report.torrent.created).format("HH:mm Do MMM YYYY"), + [getLocaleString("accCreated")]: moment( + report.torrent.created + ).format(`${getLocaleString("indexTime")}`), }} /> { _css={{ textTransform: "uppercase" }} mb={4} > - Reason for report + {getLocaleString("torrReasonForReport")} diff --git a/client/pages/reports/index.js b/client/pages/reports/index.js index ea582e3..3ff8c2f 100644 --- a/client/pages/reports/index.js +++ b/client/pages/reports/index.js @@ -1,4 +1,4 @@ -import React from "react"; +import React, { useContext } from "react"; import getConfig from "next/config"; import jwt from "jsonwebtoken"; import moment from "moment"; @@ -6,17 +6,20 @@ import SEO from "../../components/SEO"; import Text from "../../components/Text"; import { withAuthServerSideProps } from "../../utils/withAuth"; import List from "../../components/List"; +import LocaleContext from "../../utils/LocaleContext"; const Reports = ({ reports, userRole }) => { + const { getLocaleString } = useContext(LocaleContext); + if (userRole !== "admin") { - return You do not have permission to do that.; + return {getLocaleString("statYouNotPermission")}; } return ( <> - + - Unresolved reports + {getLocaleString("repUnresolvedRep")} { }))} columns={[ { - header: "Torrent", + header: `${getLocaleString("torrTorrent")}`, accessor: "torrent.name", cell: ({ value }) => {value}, gridWidth: "1fr", }, { - header: "Reported by", + header: `${getLocaleString("repRepBy")}`, accessor: "reportedBy.username", cell: ({ value }) => {value}, gridWidth: "1fr", }, { - header: "Reason", + header: `${getLocaleString("repReason")}`, accessor: "reason", cell: ({ value }) => {value}, gridWidth: "1fr", }, { - header: "Created", + header: `${getLocaleString("accCreated")}`, accessor: "created", cell: ({ value }) => ( - {moment(value).format("HH:mm Do MMM YYYY")} + + {moment(value).format(`${getLocaleString("indexTime")}`)} + ), rightAlign: true, gridWidth: "175px", diff --git a/client/pages/requests/[index].js b/client/pages/requests/[index].js index 2d3939b..dff6f47 100644 --- a/client/pages/requests/[index].js +++ b/client/pages/requests/[index].js @@ -23,6 +23,7 @@ import slugify from "slugify"; import { Check } from "@styled-icons/boxicons-regular/Check"; import { X } from "@styled-icons/boxicons-regular/X"; import LoadingContext from "../../utils/LoadingContext"; +import LocaleContext from "../../utils/LocaleContext"; const Request = ({ request, token, user }) => { const [comments, setComments] = useState(request.comments); @@ -32,6 +33,7 @@ const Request = ({ request, token, user }) => { const { addNotification } = useContext(NotificationContext); const { setLoading } = useContext(LoadingContext); + const { getLocaleString } = useContext(LocaleContext); const commentInputRef = useRef(); @@ -63,11 +65,14 @@ const Request = ({ request, token, user }) => { throw new Error(reason); } - addNotification("success", "Request deleted successfully"); + addNotification("success", `${getLocaleString("reqRequestDelSuccess")}`); router.push("/requests"); } catch (e) { - addNotification("error", `Could not delete request: ${e.message}`); + addNotification( + "error", + `${getLocaleString("reqCouldNotDelReq")}: ${e.message}` + ); console.error(e); } @@ -99,7 +104,7 @@ const Request = ({ request, token, user }) => { throw new Error(reason); } - addNotification("success", "Comment posted successfully"); + addNotification("success", `${getLocaleString("reqCommentPostSuccess")}`); setComments((c) => { const newComment = { @@ -114,7 +119,10 @@ const Request = ({ request, token, user }) => { commentInputRef.current.value = ""; } catch (e) { - addNotification("error", `Could not post comment: ${e.message}`); + addNotification( + "error", + `${getLocaleString("reqCommentNotPost")}: ${e.message}` + ); console.error(e); } @@ -146,14 +154,20 @@ const Request = ({ request, token, user }) => { throw new Error(reason); } - addNotification("success", "Suggestion added successfully"); + addNotification( + "success", + `${getLocaleString("reqSuggestionAddSuccess")}` + ); const { torrent } = await suggestRes.json(); setCandidates((existing) => [torrent, ...existing]); setShowSuggestModal(false); } catch (e) { - addNotification("error", `Could not add suggestion: ${e.message}`); + addNotification( + "error", + `${getLocaleString("reqSuggestionNotAdded")}: ${e.message}` + ); console.error(e); } @@ -183,12 +197,18 @@ const Request = ({ request, token, user }) => { throw new Error(reason); } - addNotification("success", "Suggestion accepted successfully"); + addNotification( + "success", + `${getLocaleString("reqSuggestionAcceptSuccess")}` + ); const { torrent } = await acceptRes.json(); setFulfilledBy(torrent); } catch (e) { - addNotification("error", `Could not accept suggestion: ${e.message}`); + addNotification( + "error", + `${getLocaleString("reqCouldNotAcceptSuggestion")}: ${e.message}` + ); console.error(e); } @@ -209,13 +229,15 @@ const Request = ({ request, token, user }) => {
{user === request.createdBy?._id && ( )}
- Posted {moment(request.created).format("HH:mm Do MMM YYYY")} by{" "} + {getLocaleString("reqPosted")}{" "} + {moment(request.created).format(`${getLocaleString("indexTime")}`)}{" "} + {getLocaleString("reqBy")}{" "} {request.createdBy?.username ? ( {request.createdBy.username} @@ -239,12 +261,12 @@ const Request = ({ request, token, user }) => { justifyContent="space-between" mb={4} > - Suggested torrents + {getLocaleString("reqSuggestedTorrents")} {candidates.length ? ( @@ -255,14 +277,14 @@ const Request = ({ request, token, user }) => { }))} columns={[ { - header: "Name", + header: `${getLocaleString("uploadName")}`, accessor: "name", cell: ({ value, row }) => ( {value} {(row.freeleech || SQ_SITE_WIDE_FREELEECH === true) && ( - FL! + {getLocaleString("torrFL")} )} @@ -270,7 +292,7 @@ const Request = ({ request, token, user }) => { gridWidth: "2fr", }, { - header: "Category", + header: `${getLocaleString("uploadCategory")}`, accessor: "type", cell: ({ value }) => ( @@ -282,7 +304,7 @@ const Request = ({ request, token, user }) => { gridWidth: "1fr", }, { - header: "Accepted", + header: `${getLocaleString("reqAccepted")}`, accessor: "_id", cell: ({ value }) => ( @@ -296,10 +318,12 @@ const Request = ({ request, token, user }) => { gridWidth: "1fr", }, { - header: "Uploaded", + header: `${getLocaleString("userUploaded")}`, accessor: "created", cell: ({ value }) => ( - {moment(value).format("Do MMM YYYY")} + + {moment(value).format(`${getLocaleString("indexTime")}`)} + ), gridWidth: "175px", rightAlign: true, @@ -316,7 +340,7 @@ const Request = ({ request, token, user }) => { disabled={!!fulfilledBy} small > - Accept + {getLocaleString("reqAccept")} ), gridWidth: "90px", @@ -327,23 +351,25 @@ const Request = ({ request, token, user }) => { ]} /> ) : ( - No torrents have been suggested yet. + + {getLocaleString("reqNoTorrentsHaveBeenSuggestedYet")} + )} - Comments + {getLocaleString("userComments")}
{!!comments?.length && ( @@ -359,9 +385,13 @@ const Request = ({ request, token, user }) => {
{showSuggestModal && ( setShowSuggestModal(false)}> - Enter the infohash of a torrent below. + {getLocaleString("reqEnterInfohashTorrentBelow")}
- + - +
diff --git a/client/pages/requests/index.js b/client/pages/requests/index.js index 1dc1099..fff291a 100644 --- a/client/pages/requests/index.js +++ b/client/pages/requests/index.js @@ -1,4 +1,4 @@ -import React from "react"; +import React, { useContext } from "react"; import getConfig from "next/config"; import Link from "next/link"; import jwt from "jsonwebtoken"; @@ -11,21 +11,24 @@ import Text from "../../components/Text"; import { withAuthServerSideProps } from "../../utils/withAuth"; import Button from "../../components/Button"; import List from "../../components/List"; +import LocaleContext from "../../utils/LocaleContext"; const Requests = ({ requests }) => { + const { getLocaleString } = useContext(LocaleContext); + return ( <> - + - Requests + {getLocaleString("navRequests")} - + @@ -36,19 +39,19 @@ const Requests = ({ requests }) => { }))} columns={[ { - header: "Title", + header: `${getLocaleString("reqTitle")}`, accessor: "title", cell: ({ value }) => {value}, gridWidth: "1fr", }, { - header: "Posted by", + header: `${getLocaleString("reqPostedBy")}`, accessor: "createdBy.username", cell: ({ value }) => {value ?? "deleted user"}, gridWidth: "0.5fr", }, { - header: "Fulfilled", + header: `${getLocaleString("reqFulfilled")}`, accessor: "fulfilledBy", cell: ({ value }) => ( @@ -58,10 +61,12 @@ const Requests = ({ requests }) => { gridWidth: "100px", }, { - header: "Created", + header: `${getLocaleString("accCreated")}`, accessor: "created", cell: ({ value }) => ( - {moment(value).format("HH:mm Do MMM YYYY")} + + {moment(value).format(`${getLocaleString("indexTime")}`)} + ), rightAlign: true, gridWidth: "175px", diff --git a/client/pages/requests/new.js b/client/pages/requests/new.js index d57581d..f177d06 100644 --- a/client/pages/requests/new.js +++ b/client/pages/requests/new.js @@ -10,6 +10,7 @@ import { withAuthServerSideProps } from "../../utils/withAuth"; import { NotificationContext } from "../../components/Notifications"; import LoadingContext from "../../utils/LoadingContext"; import MarkdownInput from "../../components/MarkdownInput"; +import LocaleContext from "../../utils/LocaleContext"; const NewRequest = ({ token }) => { const { addNotification } = useContext(NotificationContext); @@ -21,6 +22,8 @@ const NewRequest = ({ token }) => { publicRuntimeConfig: { SQ_API_URL }, } = getConfig(); + const { getLocaleString } = useContext(LocaleContext); + const handleCreate = async (e) => { e.preventDefault(); setLoading(true); @@ -44,12 +47,18 @@ const NewRequest = ({ token }) => { throw new Error(reason); } - addNotification("success", "Request created successfully"); + addNotification( + "success", + `${getLocaleString("reqRequestCreatedSuccess")}` + ); const { index } = await createRequestRes.json(); router.push(`/requests/${index}`); } catch (e) { - addNotification("error", `Could not create request: ${e.message}`); + addNotification( + "error", + `${getLocaleString("reqCouldNotCreateReq")}: ${e.message}` + ); console.error(e); } @@ -58,28 +67,28 @@ const NewRequest = ({ token }) => { return ( <> - + - New request + {getLocaleString("reqNewRequest")}
diff --git a/client/pages/reset-password/finalise.js b/client/pages/reset-password/finalise.js index 618de05..e1b55e3 100644 --- a/client/pages/reset-password/finalise.js +++ b/client/pages/reset-password/finalise.js @@ -8,10 +8,12 @@ import Input from "../../components/Input"; import Button from "../../components/Button"; import { NotificationContext } from "../../components/Notifications"; import LoadingContext from "../../utils/LoadingContext"; +import LocaleContext from "../../utils/LocaleContext"; const FinalisePasswordReset = ({ token, email, tokenError }) => { const { addNotification } = useContext(NotificationContext); const { setLoading } = useContext(LoadingContext); + const { getLocaleString } = useContext(LocaleContext); const router = useRouter(); @@ -42,13 +44,13 @@ const FinalisePasswordReset = ({ token, email, tokenError }) => { throw new Error(reason); } - addNotification("success", "Password was reset successfully"); + addNotification("success", getLocaleString("passwordResetSuccess")); router.push("/login"); } catch (e) { addNotification( "error", - `Could not complete password reset: ${e.message}` + `${getLocaleString("passwordResetFailed")}: ${e.message}` ); console.error(e); } @@ -58,24 +60,32 @@ const FinalisePasswordReset = ({ token, email, tokenError }) => { return ( <> - + - Reset password + {getLocaleString("resetPassword")} - + {!tokenError ? (
- +
) : ( -

Token error: {tokenError}

+

+ {getLocaleString("tokenError")}: {tokenError} +

)} ); diff --git a/client/pages/reset-password/initiate.js b/client/pages/reset-password/initiate.js index 4a6f41f..5367353 100644 --- a/client/pages/reset-password/initiate.js +++ b/client/pages/reset-password/initiate.js @@ -6,10 +6,12 @@ import Input from "../../components/Input"; import Button from "../../components/Button"; import { NotificationContext } from "../../components/Notifications"; import LoadingContext from "../../utils/LoadingContext"; +import LocaleContext from "../../utils/LocaleContext"; const InitiatePasswordReset = () => { const { addNotification } = useContext(NotificationContext); const { setLoading } = useContext(LoadingContext); + const { getLocaleString } = useContext(LocaleContext); const { publicRuntimeConfig: { SQ_API_URL }, @@ -38,12 +40,12 @@ const InitiatePasswordReset = () => { addNotification( "success", - "If an account with that email address exists, you will receive an email shortly" + getLocaleString("passwordResetRequestSuccess") ); } catch (e) { addNotification( "error", - `Could not initiate password reset: ${e.message}` + `${getLocaleString("passwordResetRequestFailed")}: ${e.message}` ); console.error(e); } @@ -53,13 +55,19 @@ const InitiatePasswordReset = () => { return ( <> - + - Reset password + {getLocaleString("resetPassword")}
- - + +
); diff --git a/client/pages/rss.js b/client/pages/rss.js index 172dff5..945ce80 100644 --- a/client/pages/rss.js +++ b/client/pages/rss.js @@ -1,34 +1,37 @@ -import React from "react"; +import React, { useContext } from "react"; import getConfig from "next/config"; import SEO from "../components/SEO"; import Text from "../components/Text"; +import LocaleContext from "../utils/LocaleContext"; const Rss = () => { const { publicRuntimeConfig: { SQ_BASE_URL }, } = getConfig(); + const { getLocaleString } = useContext(LocaleContext); + return ( <> - + - RSS - - - There is an RSS feed at {SQ_BASE_URL}/api/rss. + {getLocaleString("navRSS")} - To authenticate yourself, you must provide the cookies{" "} - username and password to the RSS - endpoint, containing your username and your password respectively. + {getLocaleString("rssThereRSSFeedAt")}{" "} + {SQ_BASE_URL}/api/rss. - If no query parameters are provided, the RSS feed will contain the 100 - latest torrents. + {getLocaleString("rssToAuthenticateYourself")}{" "} + {getLocaleString("username")}{" "} + {getLocaleString("rssAnd")}{" "} + {getLocaleString("password")}{" "} + {getLocaleString("rssToRSSEndpoint")} + {getLocaleString("rssNoQueryParametersAreProvided")} - To only include matching results in the feed, you can add the{" "} - query query parameter, e.g.{" "} + {getLocaleString("rssOnlyIncludeMatchingResults")}{" "} + query {getLocaleString("rssQueryParameter")}{" "} /api/rss?query=loremipsum. diff --git a/client/pages/search/[[...query]].js b/client/pages/search/[[...query]].js index 01bf139..61c2667 100644 --- a/client/pages/search/[[...query]].js +++ b/client/pages/search/[[...query]].js @@ -1,4 +1,4 @@ -import React, { useState, useEffect } from "react"; +import React, { useState, useContext, useEffect } from "react"; import getConfig from "next/config"; import { useRouter } from "next/router"; import qs from "qs"; @@ -8,6 +8,7 @@ import Text from "../../components/Text"; import Input from "../../components/Input"; import Button from "../../components/Button"; import Box from "../../components/Box"; +import LocaleContext from "../../utils/LocaleContext"; import TorrentList from "../../components/TorrentList"; const Search = ({ results, error, token }) => { @@ -34,18 +35,30 @@ const Search = ({ results, error, token }) => { if (query) router.push(`/search/${encodeURIComponent(query)}`); }; + const { getLocaleString } = useContext(LocaleContext); + return ( <> - + - {query ? `Search results for “${query}”` : "Search"} + {query + ? `${getLocaleString("searchSearchResults")} “${query}”` + : `${getLocaleString("indexSearch")}`} - + {error ? ( - Search error: {error} + + {getLocaleString("searchSearchError")}: {error} + ) : ( <> {query && ( @@ -60,7 +73,7 @@ const Search = ({ results, error, token }) => { token={token} /> ) : ( - No results. + {getLocaleString("catNoResults")} )} )} diff --git a/client/pages/stats.js b/client/pages/stats.js index e7bb88d..2efda03 100644 --- a/client/pages/stats.js +++ b/client/pages/stats.js @@ -1,4 +1,4 @@ -import React from "react"; +import React, { useContext } from "react"; import getConfig from "next/config"; import jwt from "jsonwebtoken"; import styled from "styled-components"; @@ -6,6 +6,7 @@ import css from "@styled-system/css"; import SEO from "../components/SEO"; import Text from "../components/Text"; import { withAuthServerSideProps } from "../utils/withAuth"; +import LocaleContext from "../utils/LocaleContext"; const StyledTable = styled.table(() => css({ @@ -22,24 +23,25 @@ const StyledTable = styled.table(() => ); const Stats = ({ stats, userRole }) => { + const { getLocaleString } = useContext(LocaleContext); if (userRole !== "admin") { - return You do not have permission to do that.; + return {getLocaleString("statYouNotPermission")}; } + console.log(stats); + return ( <> - + - Tracker statistics + {getLocaleString("statTrackerStat")} {Object.entries(stats).map(([key, value]) => { - let readableKey = key.replace(/([A-Z])/g, " $1").toLowerCase(); - readableKey = - readableKey.charAt(0).toUpperCase() + readableKey.slice(1); + const localeKey = key.charAt(0).toUpperCase() + key.slice(1); return ( - {readableKey} + {getLocaleString(`stat${localeKey}`)} {value} ); diff --git a/client/pages/tags/[tag].js b/client/pages/tags/[tag].js index 73d2d89..2201346 100644 --- a/client/pages/tags/[tag].js +++ b/client/pages/tags/[tag].js @@ -1,10 +1,11 @@ -import React, { useState } from "react"; +import React, { useState, useContext } from "react"; import { useRouter } from "next/router"; import getConfig from "next/config"; import qs from "qs"; import { withAuthServerSideProps } from "../../utils/withAuth"; import SEO from "../../components/SEO"; import Text from "../../components/Text"; +import LocaleContext from "../../utils/LocaleContext"; import TorrentList from "../../components/TorrentList"; const Tag = ({ results, token }) => { @@ -19,11 +20,13 @@ const Tag = ({ results, token }) => { publicRuntimeConfig: { SQ_TORRENT_CATEGORIES, SQ_API_URL }, } = getConfig(); + const { getLocaleString } = useContext(LocaleContext); + return ( <> - + - Tagged with “{tag}” + {getLocaleString("tagTaggedWith")} “{tag}” {torrents.length ? ( { token={token} /> ) : ( - No results. + {getLocaleString("catNoResults")} )} ); diff --git a/client/pages/torrent/[infoHash].js b/client/pages/torrent/[infoHash].js index b64b24c..d9661d7 100644 --- a/client/pages/torrent/[infoHash].js +++ b/client/pages/torrent/[infoHash].js @@ -30,6 +30,7 @@ import { NotificationContext } from "../../components/Notifications"; import LoadingContext from "../../utils/LoadingContext"; import { TorrentFields } from "../upload"; import MarkdownInput from "../../components/MarkdownInput"; +import LocaleContext from "../../utils/LocaleContext"; // from https://stackoverflow.com/a/44681235/7739519 const insert = (children = [], [head, ...tail], size) => { @@ -169,6 +170,8 @@ const Torrent = ({ token, torrent = {}, userId, userRole, uid, userStats }) => { const [cookies] = useCookies(); + const { getLocaleString } = useContext(LocaleContext); + const handleEdit = async (e) => { e.preventDefault(); setLoading(true); @@ -199,11 +202,14 @@ const Torrent = ({ token, torrent = {}, userId, userRole, uid, userStats }) => { throw new Error(reason); } - addNotification("success", "Torrent edited successfully"); + addNotification("success", `${getLocaleString("torrTorrEditSuccess")}`); window.location.reload(); } catch (e) { - addNotification("error", `Could edit torrent: ${e.message}`); + addNotification( + "error", + `${getLocaleString("torrCouldEditTorr")}: ${e.message}` + ); console.error(e); } @@ -229,11 +235,14 @@ const Torrent = ({ token, torrent = {}, userId, userRole, uid, userStats }) => { throw new Error(reason); } - addNotification("success", "Torrent deleted successfully"); + addNotification("success", `${getLocaleString("torrTorrDelSuccess")}`); router.push("/"); } catch (e) { - addNotification("error", `Could not delete torrent: ${e.message}`); + addNotification( + "error", + `${getLocaleString("torrCouldNotDelTorr")}: ${e.message}` + ); console.error(e); } @@ -265,7 +274,7 @@ const Torrent = ({ token, torrent = {}, userId, userRole, uid, userStats }) => { throw new Error(reason); } - addNotification("success", "Comment posted successfully"); + addNotification("success", `${getLocaleString("reqCommentPostSuccess")}`); setComments((c) => { const newComment = { @@ -280,7 +289,10 @@ const Torrent = ({ token, torrent = {}, userId, userRole, uid, userStats }) => { commentInputRef.current.value = ""; } catch (e) { - addNotification("error", `Could not post comment: ${e.message}`); + addNotification( + "error", + `${getLocaleString("reqCommentNotPost")}: ${e.message}` + ); console.error(e); } @@ -330,9 +342,12 @@ const Torrent = ({ token, torrent = {}, userId, userRole, uid, userStats }) => { throw new Error(reason); } - addNotification("success", "Vote submitted successfully"); + addNotification("success", `${getLocaleString("torrVoteSubmitSuccess")}`); } catch (e) { - addNotification("error", `Could not submit vote: ${e.message}`); + addNotification( + "error", + `${getLocaleString("torrCouldNotSubmitVote")}: ${e.message}` + ); console.error(e); } @@ -364,11 +379,17 @@ const Torrent = ({ token, torrent = {}, userId, userRole, uid, userStats }) => { throw new Error(reason); } - addNotification("success", "Report submitted successfully"); + addNotification( + "success", + `${getLocaleString("torrReportSubmitSuccess")}` + ); setShowReportModal(false); } catch (e) { - addNotification("error", `Could not submit report: ${e.message}`); + addNotification( + "error", + `${getLocaleString("torrCouldNotSubmitReport")}: ${e.message}` + ); console.error(e); } @@ -394,11 +415,14 @@ const Torrent = ({ token, torrent = {}, userId, userRole, uid, userStats }) => { throw new Error(reason); } - addNotification("success", "Freeleech toggled successfully"); + addNotification("success", `${getLocaleString("torrFLToggleSuccess")}`); setIsFreeleech((f) => !f); } catch (e) { - addNotification("error", `Could not toggle freeleech: ${e.message}`); + addNotification( + "error", + `${getLocaleString("torrCouldNotToggleFL")}: ${e.message}` + ); console.error(e); } @@ -424,13 +448,16 @@ const Torrent = ({ token, torrent = {}, userId, userRole, uid, userStats }) => { throw new Error(reason); } - addNotification("success", "Torrent removed from group successfully"); + addNotification( + "success", + `${getLocaleString("torrTorrRemFromGroupSuccess")}` + ); setHasGroup(false); } catch (e) { addNotification( "error", - `Could not remove torrent from group: ${e.message}` + `${getLocaleString("torrCouldNotRemTorrFromGroup")}: ${e.message}` ); console.error(e); } @@ -459,12 +486,19 @@ const Torrent = ({ token, torrent = {}, userId, userRole, uid, userStats }) => { addNotification( "success", - `Torrent ${bookmarked ? "removed from" : "added to"} bookmarks` + `${getLocaleString("torrTorrent")} ${ + bookmarked + ? getLocaleString("torrRemovedFrom") + : getLocaleString("torrAddedTo") + } ${getLocaleString("navBookmarks")}` ); setBookmarked((b) => !b); } catch (e) { - addNotification("error", `Could not bookmark torrent: ${e.message}`); + addNotification( + "error", + `${getLocaleString("torrCouldNotBookmarkTorr")}: ${e.message}` + ); console.error(e); } @@ -490,6 +524,11 @@ const Torrent = ({ token, torrent = {}, userId, userRole, uid, userStats }) => { (Number(SQ_MAXIMUM_HIT_N_RUNS) !== -1 && userStats.hitnruns > Number(SQ_MAXIMUM_HIT_N_RUNS)); + function isPngImage(data) { + const pngHeader = "data:image/png;base64,"; + return data.startsWith(pngHeader); + } + return ( <> @@ -504,7 +543,7 @@ const Torrent = ({ token, torrent = {}, userId, userRole, uid, userStats }) => { {torrent.name} {(torrent.freeleech || SQ_SITE_WIDE_FREELEECH === true) && ( - FL! + {getLocaleString("torrFL")} )}
@@ -530,20 +569,23 @@ const Torrent = ({ token, torrent = {}, userId, userRole, uid, userStats }) => { variant="secondary" mr={3} > - Edit + {getLocaleString("torrEdit")} )} {userRole === "admin" && ( )} {userId ? ( @@ -557,18 +599,18 @@ const Torrent = ({ token, torrent = {}, userId, userRole, uid, userStats }) => { target="_blank" disabled={downloadDisabled} > - Download .torrent + {getLocaleString("torrDownload")} .torrent ) : ( - + )}
@@ -581,7 +623,7 @@ const Torrent = ({ token, torrent = {}, userId, userRole, uid, userStats }) => { )} ), - Category: category ? ( + [getLocaleString("uploadCategory")]: category ? ( { {category} ) : undefined, - Source: source ? ( + [getLocaleString("uploadSource")]: source ? ( { {source} ) : undefined, - Date: moment(torrent.created).format("HH:mm Do MMM YYYY"), - "Info hash": ( + [getLocaleString("torrDate")]: moment(torrent.created).format( + `${getLocaleString("indexTime")}` + ), + [getLocaleString("reqInfohash")]: ( { {torrent.infoHash} ), - Size: prettyBytes(torrent.size), - Downloads: torrent.downloads, - Seeders: torrent.seeders !== undefined ? torrent.seeders : "?", - Leechers: torrent.leechers !== undefined ? torrent.leechers : "?", - Freeleech: - torrent.freeleech || SQ_SITE_WIDE_FREELEECH === true ? "Yes" : "No", + [getLocaleString("torrSize")]: prettyBytes(torrent.size), + [getLocaleString("torrDownloads")]: torrent.downloads, + [getLocaleString("torrSeeders")]: + torrent.seeders !== undefined ? torrent.seeders : "?", + [getLocaleString("torrLeechers")]: + torrent.leechers !== undefined ? torrent.leechers : "?", + [getLocaleString("torrFreeleech")]: + torrent.freeleech || SQ_SITE_WIDE_FREELEECH === true + ? [getLocaleString("torrYes")] + : [getLocaleString("torrNo")], }} /> + {torrent.poster && ( + + + {getLocaleString("posterImage")} + + + + )} { _css={{ textTransform: "uppercase" }} mb={3} > - Description + {getLocaleString("uploadDescription")} @@ -640,7 +711,7 @@ const Torrent = ({ token, torrent = {}, userId, userRole, uid, userStats }) => { _css={{ textTransform: "uppercase" }} mb={3} > - MediaInfo + {getLocaleString("uploadMediaInfo")} {torrent.mediaInfo} @@ -654,7 +725,7 @@ const Torrent = ({ token, torrent = {}, userId, userRole, uid, userStats }) => { _css={{ textTransform: "uppercase" }} mb={3} > - Tags + {getLocaleString("uploadTags")} {torrent.tags.filter((t) => !!t).length ? ( @@ -683,7 +754,7 @@ const Torrent = ({ token, torrent = {}, userId, userRole, uid, userStats }) => { ))} ) : ( - This torrent has no tags. + {getLocaleString("torrTorrNoTags")} )} @@ -693,7 +764,7 @@ const Torrent = ({ token, torrent = {}, userId, userRole, uid, userStats }) => { _css={{ textTransform: "uppercase" }} mb={3} > - Files + {getLocaleString("torrFiles")} {parsedFiles.sort(sortName).map((file, i) => ( @@ -738,7 +809,7 @@ const Torrent = ({ token, torrent = {}, userId, userRole, uid, userStats }) => { onClick={() => setShowReportModal(true)} variant="noBackground" > - Report + {getLocaleString("torrReport")} )} @@ -751,7 +822,7 @@ const Torrent = ({ token, torrent = {}, userId, userRole, uid, userStats }) => { width="100%" mb={4} > - Grouped torrents + {getLocaleString("torrGroupTorr")} {!!torrent.groupTorrents.length && (userRole === "admin" || userId === torrent.uploadedBy._id) && @@ -761,13 +832,13 @@ const Torrent = ({ token, torrent = {}, userId, userRole, uid, userStats }) => { variant="secondary" ml={3} > - Remove this torrent + {getLocaleString("torrRemTorr")} )} {!!userId && ( )} @@ -779,23 +850,25 @@ const Torrent = ({ token, torrent = {}, userId, userRole, uid, userStats }) => { categories={SQ_TORRENT_CATEGORIES} /> ) : ( - There are no other torrents in this group. + + {getLocaleString("torrThereAreNoOtherTorrGroup")} + )} - Comments + {getLocaleString("userComments")}
{!!comments?.length && ( @@ -813,13 +886,13 @@ const Torrent = ({ token, torrent = {}, userId, userRole, uid, userStats }) => {
- + )} @@ -843,28 +916,26 @@ const Torrent = ({ token, torrent = {}, userId, userRole, uid, userStats }) => { variant="secondary" mr={3} > - Cancel + {getLocaleString("accCancel")} - +
)} {showDeleteModal && ( setShowDeleteModal(false)}> - - Are you sure you want to delete this torrent? This cannot be undone. - + {getLocaleString("torrSureDeleteTorr")} diff --git a/client/pages/upload.js b/client/pages/upload.js index d5aa6df..9e0a600 100644 --- a/client/pages/upload.js +++ b/client/pages/upload.js @@ -22,6 +22,7 @@ import Infobox from "../components/Infobox"; import List from "../components/List"; import { NotificationContext } from "../components/Notifications"; import LoadingContext from "../utils/LoadingContext"; +import LocaleContext from "../utils/LocaleContext"; import MarkdownInput from "../components/MarkdownInput"; const FileUpload = styled(Box)(() => @@ -47,11 +48,13 @@ export const TorrentFields = ({ groupSuggestions, }) => { const [category, setCategory] = useState( - values?.type ?? slugify(Object.keys(categories)[0], { lower: true }) + values?.category ?? slugify(Object.keys(categories)[0], { lower: true }) ); const [sources, setSources] = useState([]); const [tags, setTags] = useState(values?.tags?.split(",") ?? []); + const { getLocaleString } = useContext(LocaleContext); + useEffect(() => { setSources( category @@ -68,7 +71,7 @@ export const TorrentFields = ({ <> { setCategory(e.target.value); @@ -100,7 +103,7 @@ export const TorrentFields = ({ {!!sources.length && ( - + {tags.map((tag, i) => ( @@ -170,7 +173,7 @@ export const TorrentFields = ({ > - Add tag + {getLocaleString("uploadAddTag")} @@ -182,6 +185,7 @@ export const TorrentFields = ({ const Upload = ({ token, userId }) => { const [torrentFile, setTorrentFile] = useState(); + const [posterFile, setPosterFile] = useState(); const [dropError, setDropError] = useState(""); const [groupSuggestions, setGroupSuggestions] = useState([]); @@ -197,6 +201,7 @@ const Upload = ({ token, userId }) => { const { addNotification } = useContext(NotificationContext); const { setLoading } = useContext(LoadingContext); + const { getLocaleString } = useContext(LocaleContext); const router = useRouter(); @@ -231,11 +236,50 @@ const Upload = ({ token, userId }) => { } }, []); + const onPosterDrop = useCallback((acceptedFiles) => { + try { + const [file] = acceptedFiles; + if (file) { + const reader = new FileReader(); + reader.onload = async () => { + console.log( + `[DEBUG] Poster upload complete: ${reader.result.slice(0, 64)}...` + ); + const [, posterB64] = reader.result.split("base64,"); + setPosterFile({ name: file.name, b64: posterB64 }); + }; + reader.onerror = () => { + console.log(`[DEBUG] Poster upload error: ${reader.error}`); + }; + reader.readAsDataURL(file); + } + } catch (e) { + console.error(e); + } + }, []); + const { getRootProps, getInputProps, isDragActive } = useDropzone({ onDrop, accept: { "application/x-bittorrent": [".torrent"] }, maxFiles: 1, }); + const { + getRootProps: getPosterRootProps, + getInputProps: getPosterInputProps, + isDragActive: isPosterDragActive, + } = useDropzone({ + onDrop: onPosterDrop, + accept: { + "image/jpeg": [".jpg", ".jpeg"], + "image/png": [".png"], + }, + maxFiles: 1, + maxSize: 5242880, //5Mo + }); + function isPngImage(data) { + const pngHeader = "data:image/png;base64,"; + return data.startsWith(pngHeader); + } const handleUpload = async (e) => { e.preventDefault(); @@ -244,7 +288,6 @@ const Upload = ({ token, userId }) => { try { if (!torrentFile) throw new Error("No .torrent file added"); - const uploadRes = await fetch(`${SQ_API_URL}/torrent/upload`, { method: "POST", headers: { @@ -261,6 +304,7 @@ const Upload = ({ token, userId }) => { tags: form.get("tags"), groupWith, mediaInfo: form.get("mediaInfo"), + poster: posterFile ? posterFile.b64 : null, }), }); @@ -269,12 +313,18 @@ const Upload = ({ token, userId }) => { throw new Error(reason); } - addNotification("success", "Torrent uploaded successfully"); + addNotification( + "success", + `${getLocaleString("uploadTorrentUploadSuccess")}` + ); const infoHash = await uploadRes.text(); router.push(`/torrent/${infoHash}`); } catch (e) { - addNotification("error", `Could not upload file: ${e.message}`); + addNotification( + "error", + `${getLocaleString("uploadCouldNotUploadFile")}: ${e.message}` + ); console.error(e); } @@ -302,20 +352,23 @@ const Upload = ({ token, userId }) => { const { results } = await suggestionsRes.json(); setGroupSuggestions(results); } catch (e) { - addNotification("error", `Could not get group suggestions: ${e.message}`); + addNotification( + "error", + `${getLocaleString("uploadCouldNotGetGroupSuggestions")}: ${e.message}` + ); console.error(e); } }; return ( <> - + - Upload + {getLocaleString("uploadUpload")} - Announce URL:{" "} + {getLocaleString("uploadAnnounceURL")}:{" "} { {!!SQ_EXTENSION_BLACKLIST.length && ( - - The following file extensions are blacklisted. Any torrent - containing files of these types will not be uploaded. - + {getLocaleString("uploadInfoBox1")} { )}
- - - - - {torrentFile ? ( - - {torrentFile.name} - - ) : isDragActive ? ( - Drop the file here... - ) : ( - - Drag and drop .torrent file here, or click to select - - )} - - - {dropError && ( - - Could not upload .torrent: {dropError} - - )} + + + + + + {torrentFile ? ( + + {torrentFile.name} + + ) : isDragActive ? ( + + {getLocaleString("uploadDropFileHere")} + + ) : ( + + {getLocaleString("uploadDragDropClickSelect")} + + )} + + + {dropError && ( + + {getLocaleString("uploadCouldNotUploadTorrent")}: {dropError} + + )} + + + + + + {posterFile ? ( + Poster + ) : isPosterDragActive ? ( + + {getLocaleString("uploadDropImageHere")} + + ) : ( + + {getLocaleString("uploadDragDropClickSelectPoster")} + + )} + + + { groupSuggestions.length ? ( - It looks like these existing torrents have similar names. - Would you like to group your upload with any of them? Groups - should only contain very similar content, e.g. the same movie - in different formats. + {getLocaleString("uploadInfoBox2")} ({ @@ -423,7 +507,7 @@ const Upload = ({ token, userId }) => { disabled={groupWith === row.infoHash} small > - Group with this torrent + {getLocaleString("uploadGroupWithThisTorrent")} ), @@ -440,7 +524,7 @@ const Upload = ({ token, userId }) => { { type="button" ml="3" > - Remove + {getLocaleString("uploadRemove")} )} {SQ_ALLOW_ANONYMOUS_UPLOAD && ( - + )} - Note: if you have started seeding a torrent before uploading, you may - need to refresh trackers in your torrent client once the upload is - complete. + {getLocaleString("uploadInfoBox3")} diff --git a/client/pages/user/[username].js b/client/pages/user/[username].js index 7c322a1..25d0ef4 100644 --- a/client/pages/user/[username].js +++ b/client/pages/user/[username].js @@ -22,6 +22,7 @@ import Comment from "../../components/Comment"; import Modal from "../../components/Modal"; import { NotificationContext } from "../../components/Notifications"; import LoadingContext from "../../utils/LoadingContext"; +import LocaleContext from "../../utils/LocaleContext"; const User = ({ token, user, userRole }) => { const [banned, setBanned] = useState(!!user.banned); @@ -44,6 +45,8 @@ const User = ({ token, user, userRole }) => { const downloadedBytes = prettyBytes(user.downloaded?.bytes || 0).split(" "); const uploadedBytes = prettyBytes(user.uploaded?.bytes || 0).split(" "); + const { getLocaleString } = useContext(LocaleContext); + const handleBanUser = async () => { setLoading(true); @@ -65,7 +68,11 @@ const User = ({ token, user, userRole }) => { addNotification( "success", - `User ${banned ? "unbanned" : "banned"} successfully` + `${user.username} ${ + banned + ? [getLocaleString("userUnbanned")] + : [getLocaleString("userBanned")] + } ${getLocaleString("userSuccessfully")}` ); setBanned((b) => !b); @@ -73,7 +80,9 @@ const User = ({ token, user, userRole }) => { } catch (e) { addNotification( "error", - `Could not ${banned ? "unban" : "ban"} user: ${e.message}` + `${getLocaleString("userCouldNot")} ${ + banned ? [getLocaleString("userUnban")] : [getLocaleString("userBan")] + } ${user.username}: ${e.message}` ); console.error(e); } @@ -90,7 +99,7 @@ const User = ({ token, user, userRole }) => { return ( <> - + { mb={3} > - {user.username}’s profile + + {user.username} {getLocaleString("userProfile")} + {user.role === "admin" && ( - Admin + {getLocaleString("userAdmin")} )} {banned && ( - Banned + {getLocaleString("userBanned")} )} {cookies.username === user.username && ( - + )} {userRole === "admin" && cookies.username !== user.username && ( )} - User since {moment(user.created).format("Do MMM YYYY")} + {getLocaleString("userUserSince")}{" "} + {moment(user.created).format(`${getLocaleString("userUserSinceTime")}`)} {userRole === "admin" && ( @@ -134,26 +149,38 @@ const User = ({ token, user, userRole }) => { mb={3} _css={{ textTransform: "uppercase" }} > - Only admins can see this + {getLocaleString("userOnlyAdminsSee")}
    - {user.email &&
  • Email: {user.email}
  • } + {user.email && ( +
  • + {getLocaleString("email")}: {user.email} +
  • + )} {typeof user.emailVerified === "boolean" && ( -
  • Email verified: {user.emailVerified ? "yes" : "no"}
  • +
  • + {getLocaleString("userEmailVerified")}:{" "} + {user.emailVerified ? "yes" : "no"} +
  • )} {user.invitedBy && (
  • - Invited by:{" "} + {getLocaleString("userInvitedBy")}:{" "} {user.invitedBy.username}
  • )} {typeof user.remainingInvites === "number" && ( -
  • Remaining invites: {user.remainingInvites}
  • +
  • + {getLocaleString("userRemainingInvites")}:{" "} + {user.remainingInvites} +
  • )} {typeof user.bonusPoints === "number" && ( -
  • Bonus points: {user.bonusPoints}
  • +
  • + {getLocaleString("accBonusPoints")}: {user.bonusPoints} +
  • )}
@@ -174,7 +201,7 @@ const User = ({ token, user, userRole }) => { icon={Sort} iconColor="text" > - Ratio + {getLocaleString("userRatio")} {typeof user.ratio === "number" @@ -206,7 +233,7 @@ const User = ({ token, user, userRole }) => { icon={Run} iconColor="text" > - Hit'n'runs + {getLocaleString("userHitNRuns")} {typeof user.hitnruns === "number" ? user.hitnruns : "?"} @@ -235,7 +262,7 @@ const User = ({ token, user, userRole }) => { icon={Download} iconColor="text" > - Downloaded + {getLocaleString("userDownloaded")} {downloadedBytes[0]} @@ -254,7 +281,7 @@ const User = ({ token, user, userRole }) => { icon={Upload} iconColor="text" > - Uploaded + {getLocaleString("userUploaded")} {uploadedBytes[0]} @@ -266,7 +293,7 @@ const User = ({ token, user, userRole }) => {
- Uploaded + {getLocaleString("userMyUploads")} { /> - Comments + {getLocaleString("userComments")} {user.comments?.length ? ( @@ -287,12 +314,16 @@ const User = ({ token, user, userRole }) => { ))} ) : ( - No comments. + {getLocaleString("userNoComments")} )} {showBanModal && ( setShowBanModal(false)}> - Are you sure that you want to {banned ? "unban" : "ban"} this user? + {getLocaleString("userYouSureWant")}{" "} + {banned + ? [getLocaleString("userUnban")] + : [getLocaleString("userBan")]}{" "} + {getLocaleString("userThisUserQ")} + - )} diff --git a/client/pages/verify-email.js b/client/pages/verify-email.js index 62fbb7a..f87d23a 100644 --- a/client/pages/verify-email.js +++ b/client/pages/verify-email.js @@ -7,6 +7,7 @@ import { transparentize } from "polished"; import SEO from "../components/SEO"; import Text from "../components/Text"; import Box from "../components/Box"; +import LocaleContext from "../utils/LocaleContext"; const VerifyEmail = () => { const [tokenError, setTokenError] = useState(); @@ -20,6 +21,8 @@ const VerifyEmail = () => { publicRuntimeConfig: { SQ_API_URL }, } = getConfig(); + const { getLocaleString } = useContext(LocaleContext); + useEffect(() => { const verify = async () => { if (token) { @@ -44,7 +47,7 @@ const VerifyEmail = () => { setTokenError(e.message); } } else { - setTokenError("No verification token provided"); + setTokenError(`${getLocaleString("veNoVerificationTokenProvided")}`); } }; verify(); @@ -52,18 +55,17 @@ const VerifyEmail = () => { return ( <> - + - Verify email + {getLocaleString("veVerifyEmail")} {!tokenError ? ( <> - Email address verified successfully.{" "} + {getLocaleString("veEmailAddressVerifiedSuccess")}{" "} - Log in + {getLocaleString("logIn")} - . ) : ( @@ -74,7 +76,9 @@ const VerifyEmail = () => { borderRadius={1} p={4} > - Could not verify email address: {tokenError} + + {getLocaleString("veCouldNotVerifyEmailAddress")} {tokenError} + )} diff --git a/client/pages/wiki/[[...slug]].js b/client/pages/wiki/[[...slug]].js index a498481..3fa65c6 100644 --- a/client/pages/wiki/[[...slug]].js +++ b/client/pages/wiki/[[...slug]].js @@ -16,6 +16,7 @@ import { NotificationContext } from "../../components/Notifications"; import LoadingContext from "../../utils/LoadingContext"; import Modal from "../../components/Modal"; import { WikiFields } from "./new"; +import LocaleContext from "../../utils/LocaleContext"; const sortSlug = (a, b) => { if (a.slug > b.slug) return 1; @@ -40,6 +41,8 @@ const Wiki = ({ page, allPages, token, userRole, slug }) => { setEditing(false); }, [router.asPath]); + const { getLocaleString } = useContext(LocaleContext); + const handleDelete = async () => { setLoading(true); @@ -56,13 +59,16 @@ const Wiki = ({ page, allPages, token, userRole, slug }) => { throw new Error(reason); } - addNotification("success", "Wiki page deleted successfully"); + addNotification("success", `${getLocaleString("wikiPageDelSuccess")}`); setShowDeleteModal(false); await router.push("/wiki"); } catch (e) { - addNotification("error", `Could not delete wiki page: ${e.message}`); + addNotification( + "error", + `${getLocaleString("wikiCouldNotDelPage")}: ${e.message}` + ); console.error(e); } @@ -97,14 +103,17 @@ const Wiki = ({ page, allPages, token, userRole, slug }) => { throw new Error(reason); } - addNotification("success", "Wiki page updated successfully"); + addNotification("success", `${getLocaleString("wikiPageUpdateSuccess")}`); if (form.get("slug") === page.slug) window.location.reload(); else window.location.href = "/wiki" + (page.slug === "/" ? "" : form.get("slug")); } catch (e) { - addNotification("error", `Could not update wiki page: ${e.message}`); + addNotification( + "error", + `${getLocaleString("wikiCouldNotUpdatePage")}: ${e.message}` + ); console.error(e); } @@ -125,7 +134,7 @@ const Wiki = ({ page, allPages, token, userRole, slug }) => { {!!page && ( @@ -135,7 +144,7 @@ const Wiki = ({ page, allPages, token, userRole, slug }) => { variant="secondary" ml={3} > - Edit + {getLocaleString("torrEdit")} {!!slug && ( )} @@ -155,9 +164,11 @@ const Wiki = ({ page, allPages, token, userRole, slug }) => { <> - Last edited{" "} - {moment(page.updated ?? page.created).format("HH:mm Do MMM YYYY")}{" "} - by{" "} + {getLocaleString("wikiLastEdited")}{" "} + {moment(page.updated ?? page.created).format( + `${getLocaleString("indexTime")}` + )}{" "} + {getLocaleString("reqBy")}{" "} {page.createdBy?.username ? ( {page.createdBy.username} @@ -206,7 +217,7 @@ const Wiki = ({ page, allPages, token, userRole, slug }) => { mb={3} _css={{ textTransform: "uppercase" }} > - Pages + {getLocaleString("wikiPages")} {allPages.sort(sortSlug).map((p) => ( @@ -227,32 +238,29 @@ const Wiki = ({ page, allPages, token, userRole, slug }) => { variant="secondary" mr={3} > - Cancel + {getLocaleString("accCancel")} - + )} ) : ( - There is nothing here yet. + {getLocaleString("wikiThereNothingHereYet")} )} {showDeleteModal && ( setShowDeleteModal(false)}> - - Are you sure you want to delete this wiki page? This cannot be - undone. - + {getLocaleString("wikiDelThisPageQ")} diff --git a/client/pages/wiki/new.js b/client/pages/wiki/new.js index 18a53b1..f83a4be 100644 --- a/client/pages/wiki/new.js +++ b/client/pages/wiki/new.js @@ -12,6 +12,7 @@ import { withAuthServerSideProps } from "../../utils/withAuth"; import { NotificationContext } from "../../components/Notifications"; import LoadingContext from "../../utils/LoadingContext"; import Checkbox from "../../components/Checkbox"; +import LocaleContext from "../../utils/LocaleContext"; export const WikiFields = ({ values }) => { const [slugValue, setSlugValue] = useState(values?.slug); @@ -20,13 +21,15 @@ export const WikiFields = ({ values }) => { publicRuntimeConfig: { SQ_BASE_URL, SQ_ALLOW_UNREGISTERED_VIEW }, } = getConfig(); + const { getLocaleString } = useContext(LocaleContext); + console.log(values); return ( <> setSlugValue(e.target.value)} onBlur={(e) => { @@ -44,19 +47,20 @@ export const WikiFields = ({ values }) => { required /> - Page will be visible at {SQ_BASE_URL}/wiki{slugValue} + {getLocaleString("wikiPageWillBeVisibleAt")} {SQ_BASE_URL}/wiki + {slugValue} { {SQ_ALLOW_UNREGISTERED_VIEW && ( @@ -75,8 +79,10 @@ export const WikiFields = ({ values }) => { }; const NewWiki = ({ token, userRole }) => { + const { getLocaleString } = useContext(LocaleContext); + if (userRole !== "admin") { - return You do not have permission to do that.; + return {getLocaleString("statYouNotPermission")}; } const { addNotification } = useContext(NotificationContext); @@ -113,12 +119,15 @@ const NewWiki = ({ token, userRole }) => { throw new Error(reason); } - addNotification("success", "Wiki page created successfully"); + addNotification("success", `${getLocaleString("wikiPageCreateSuccess")}`); const slug = await createWikiRes.text(); router.push(`/wiki/${slug}`); } catch (e) { - addNotification("error", `Could not create wiki page: ${e.message}`); + addNotification( + "error", + `${getLocaleString("wikiCouldNotCreatePage")}: ${e.message}` + ); console.error(e); } @@ -127,14 +136,14 @@ const NewWiki = ({ token, userRole }) => { return ( <> - + - New wiki page + {getLocaleString("wikiNewPage")}
diff --git a/client/project.inlang/project_id b/client/project.inlang/project_id new file mode 100644 index 0000000..43f52dc --- /dev/null +++ b/client/project.inlang/project_id @@ -0,0 +1 @@ +00f4e84726876387f04dba9ca472f3815f3554ed6d960568f621f4ee6af15f4c \ No newline at end of file diff --git a/client/project.inlang/settings.json b/client/project.inlang/settings.json new file mode 100644 index 0000000..19c5b01 --- /dev/null +++ b/client/project.inlang/settings.json @@ -0,0 +1,18 @@ +{ + "$schema": "https://inlang.com/schema/project-settings", + "sourceLanguageTag": "en", + "languageTags": [ + "en", "de", "eo", "fr", "ru", "zh" + ], + "modules": [ + "https://cdn.jsdelivr.net/npm/@inlang/plugin-i18next@4/dist/index.js", + "https://cdn.jsdelivr.net/npm/@inlang/message-lint-rule-empty-pattern@latest/dist/index.js", + "https://cdn.jsdelivr.net/npm/@inlang/message-lint-rule-identical-pattern@latest/dist/index.js", + "https://cdn.jsdelivr.net/npm/@inlang/message-lint-rule-missing-translation@latest/dist/index.js", + "https://cdn.jsdelivr.net/npm/@inlang/message-lint-rule-without-source@latest/dist/index.js" + ], + "plugin.inlang.i18next": { + "pathPattern": "./locales/{languageTag}.json" + } +} + diff --git a/client/utils/LocaleContext.js b/client/utils/LocaleContext.js new file mode 100644 index 0000000..d6695fc --- /dev/null +++ b/client/utils/LocaleContext.js @@ -0,0 +1,8 @@ +import { createContext } from "react"; + +export default createContext({ + locale: "en", + setLocale: () => {}, + locales: [], + getLocaleString: () => {}, +}); diff --git a/config.example.js b/config.example.js index a4344f2..cd1e816 100644 --- a/config.example.js +++ b/config.example.js @@ -73,27 +73,41 @@ module.exports = { // An array of blacklisted file extensions. Torrents containing files with these extensions will fail to upload. SQ_EXTENSION_BLACKLIST: ["exe"], + // Default site locale. See `client/locales/index.js` for available options. + SQ_SITE_DEFAULT_LOCALE: "en", + // The URL of your tracker site. + // For local development, this should be `http://127.0.0.1:3000`. SQ_BASE_URL: "https://sqtracker.dev", // The URL of your API. Under the recommended setup, it should be `${SQ_BASE_URL}/api`. + // For local development, this should be `http://127.0.0.1:3001`. SQ_API_URL: "https://sqtracker.dev/api", // The URL of your MongoDB server. Under the recommended setup, it should be `mongodb://sq_mongodb/sqtracker`. + // For local development, this should be `mongodb://127.0.0.1/sqtracker`. SQ_MONGO_URL: "mongodb://sq_mongodb/sqtracker", + // Disables sending of any emails and removes the need for an SMTP server. + // Fine for testing, not recommended in production as users will not be able to reset their passwords. + SQ_DISABLE_EMAIL: false, + // The email address that mail will be sent from. + // Not required if SQ_DISABLE_EMAIL=true. SQ_MAIL_FROM_ADDRESS: "mail@sqtracker.dev", // The hostname of your SMTP server. + // Not required if SQ_DISABLE_EMAIL=true. SQ_SMTP_HOST: "smtp.example.com", // The port of your SMTP server. + // Not required if SQ_DISABLE_EMAIL=true. SQ_SMTP_PORT: 587, // Whether to force SMTP TLS: if true the connection will use TLS when connecting to server. // If false (the default) then TLS is used if server supports the STARTTLS extension. // In most cases set this value to true if you are connecting to port 465. For port 587 or 25 keep it false. + // Not required if SQ_DISABLE_EMAIL=true. SQ_SMTP_SECURE: false, }, secrets: { @@ -108,9 +122,11 @@ module.exports = { SQ_ADMIN_EMAIL: "admin@example.com", // The username to authenticate with your SMTP server with. + // Not required if SQ_DISABLE_EMAIL=true. SQ_SMTP_USER: "smtp_username", // The password to authenticate with your SMTP server with. + // Not required if SQ_DISABLE_EMAIL=true. SQ_SMTP_PASS: "smtp_password", }, }; diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index 5e416b5..c676757 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -10,17 +10,24 @@ services: - "--entrypoints.web.address=:80" - "--entryPoints.web.proxyProtocol.insecure" - "--entryPoints.web.forwardedHeaders.insecure" + restart: always ports: - "80:80" - "8080:8080" volumes: - "/var/run/docker.sock:/var/run/docker.sock:ro" - ./traefik.yml:/config/traefik.yml +# nginx: +# image: "nginx:latest" +# container_name: "sq_nginx" +# restart: always +# ports: +# - "80:80" +# volumes: +# - ./nginx.conf:/etc/nginx/nginx.conf database: container_name: sq_mongodb image: mongo:6.0 - ports: - - "127.0.0.1:27017:27017" volumes: - ./data:/data/db api: @@ -28,10 +35,13 @@ services: build: context: ./api dockerfile: Dockerfile + restart: always ports: - "127.0.0.1:3001:3001" volumes: - - ./config.js:/sqtracker/config.js + - type: bind + source: ./config.js + target: /sqtracker/config.js depends_on: - database client: @@ -39,9 +49,13 @@ services: build: context: ./client dockerfile: Dockerfile + restart: always ports: - "127.0.0.1:3000:3000" volumes: - - ./config.js:/sqtracker/config.js + - type: bind + source: ./config.js + target: /sqtracker/config.js depends_on: - api + diff --git a/docker-compose.yml b/docker-compose.yml index 0a7cdb6..ca4737a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -23,6 +23,14 @@ services: - "/var/run/docker.sock:/var/run/docker.sock:ro" - ./letsencrypt:/letsencrypt - ./traefik.yml:/config/traefik.yml +# nginx: +# image: "nginx:latest" +# container_name: "sq_nginx" +# restart: always +# ports: +# - "80:80" +# volumes: +# - ./nginx.conf:/etc/nginx/nginx.conf database: container_name: sq_mongodb image: mongo:6.0 @@ -36,7 +44,9 @@ services: ports: - "127.0.0.1:3001:3001" volumes: - - ./config.js:/sqtracker/config.js + - type: bind + source: ./config.js + target: /sqtracker/config.js depends_on: - database client: @@ -45,7 +55,9 @@ services: ports: - "127.0.0.1:3000:3000" volumes: - - ./config.js:/sqtracker/config.js + - type: bind + source: ./config.js + target: /sqtracker/config.js # - ./favicon.png:/sqtracker/public/favicon.png # - ./favicon.ico:/sqtracker/public/favicon.ico depends_on: diff --git a/nginx.conf b/nginx.conf new file mode 100644 index 0000000..b93617a --- /dev/null +++ b/nginx.conf @@ -0,0 +1,36 @@ +events {} + +http { + server { + listen 80; + resolver 127.0.0.11; + + location / { + proxy_pass http://sq_client:3000; + proxy_redirect off; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Host $server_name; + } + + location /api/ { + rewrite /api/(.*) /$1 break; + proxy_pass http://sq_api:3001; + proxy_redirect off; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Host $server_name; + } + + location /sq/ { + proxy_pass http://sq_api:3001; + proxy_redirect off; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Host $server_name; + } + } +} diff --git a/package.json b/package.json index b15907a..64a56f4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "sqtracker", - "version": "1.3.1", + "version": "1.5.0", "private": true, "license": "GPL-3.0-only", "workspaces": [ diff --git a/yarn.lock b/yarn.lock index 73c8eec..65c29f2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4,7 +4,7 @@ "@ampproject/remapping@^2.1.0": version "2.2.0" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" + resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz" integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== dependencies: "@jridgewell/gen-mapping" "^0.1.0" @@ -12,26 +12,26 @@ "@babel/code-frame@7.12.11": version "7.12.11" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz" integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== dependencies: "@babel/highlight" "^7.10.4" "@babel/code-frame@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz" integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== dependencies: "@babel/highlight" "^7.18.6" "@babel/compat-data@^7.17.7", "@babel/compat-data@^7.20.1", "@babel/compat-data@^7.20.5": version "7.20.14" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.20.14.tgz#4106fc8b755f3e3ee0a0a7c27dde5de1d2b2baf8" + resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.14.tgz" integrity sha512-0YpKHD6ImkWMEINCyDAD0HLLUH/lPCefG8ld9it8DJB2wnApraKuhgYTvTY1z7UFIfBTGy5LwncZ+5HWWGbhFw== "@babel/core@^7.14.6": version "7.20.12" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.12.tgz#7930db57443c6714ad216953d1356dac0eb8496d" + resolved "https://registry.npmjs.org/@babel/core/-/core-7.20.12.tgz" integrity sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg== dependencies: "@ampproject/remapping" "^2.1.0" @@ -52,7 +52,7 @@ "@babel/generator@^7.20.7": version "7.20.14" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.14.tgz#9fa772c9f86a46c6ac9b321039400712b96f64ce" + resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.20.14.tgz" integrity sha512-AEmuXHdcD3A52HHXxaTmYlb8q/xMEhoRP67B3T4Oq7lbmSoqroMZzjnGj3+i1io3pdnF8iBYVu4Ilj+c4hBxYg== dependencies: "@babel/types" "^7.20.7" @@ -61,14 +61,14 @@ "@babel/helper-annotate-as-pure@^7.16.0", "@babel/helper-annotate-as-pure@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb" + resolved "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz" integrity sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA== dependencies: "@babel/types" "^7.18.6" "@babel/helper-builder-binary-assignment-operator-visitor@^7.18.6": version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz#acd4edfd7a566d1d51ea975dff38fd52906981bb" + resolved "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz" integrity sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw== dependencies: "@babel/helper-explode-assignable-expression" "^7.18.6" @@ -76,7 +76,7 @@ "@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.20.0", "@babel/helper-compilation-targets@^7.20.7": version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz#a6cd33e93629f5eb473b021aac05df62c4cd09bb" + resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz" integrity sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ== dependencies: "@babel/compat-data" "^7.20.5" @@ -87,7 +87,7 @@ "@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.20.5", "@babel/helper-create-class-features-plugin@^7.20.7": version "7.20.12" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.12.tgz#4349b928e79be05ed2d1643b20b99bb87c503819" + resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.12.tgz" integrity sha512-9OunRkbT0JQcednL0UFvbfXpAsUXiGjUk0a7sN8fUXX7Mue79cUSMjHGDRRi/Vz9vYlpIhLV5fMD5dKoMhhsNQ== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" @@ -101,7 +101,7 @@ "@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.20.5": version "7.20.5" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.20.5.tgz#5ea79b59962a09ec2acf20a963a01ab4d076ccca" + resolved "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.20.5.tgz" integrity sha512-m68B1lkg3XDGX5yCvGO0kPx3v9WIYLnzjKfPcQiwntEQa5ZeRkPmo2X/ISJc8qxWGfwUr+kvZAeEzAwLec2r2w== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" @@ -109,7 +109,7 @@ "@babel/helper-define-polyfill-provider@^0.3.3": version "0.3.3" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz#8612e55be5d51f0cd1f36b4a5a83924e89884b7a" + resolved "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz" integrity sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww== dependencies: "@babel/helper-compilation-targets" "^7.17.7" @@ -121,19 +121,19 @@ "@babel/helper-environment-visitor@^7.18.9": version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" + resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz" integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== "@babel/helper-explode-assignable-expression@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz#41f8228ef0a6f1a036b8dfdfec7ce94f9a6bc096" + resolved "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz" integrity sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg== dependencies: "@babel/types" "^7.18.6" "@babel/helper-function-name@^7.18.9", "@babel/helper-function-name@^7.19.0": version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz#941574ed5390682e872e52d3f38ce9d1bef4648c" + resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz" integrity sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w== dependencies: "@babel/template" "^7.18.10" @@ -141,28 +141,28 @@ "@babel/helper-hoist-variables@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678" + resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz" integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== dependencies: "@babel/types" "^7.18.6" "@babel/helper-member-expression-to-functions@^7.20.7": version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.20.7.tgz#a6f26e919582275a93c3aa6594756d71b0bb7f05" + resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.20.7.tgz" integrity sha512-9J0CxJLq315fEdi4s7xK5TQaNYjZw+nDVpVqr1axNGKzdrdwYBD5b4uKv3n75aABG0rCCTK8Im8Ww7eYfMrZgw== dependencies: "@babel/types" "^7.20.7" "@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.16.0", "@babel/helper-module-imports@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" + resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz" integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== dependencies: "@babel/types" "^7.18.6" "@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.20.11": version "7.20.11" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz#df4c7af713c557938c50ea3ad0117a7944b2f1b0" + resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz" integrity sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg== dependencies: "@babel/helper-environment-visitor" "^7.18.9" @@ -176,19 +176,19 @@ "@babel/helper-optimise-call-expression@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz#9369aa943ee7da47edab2cb4e838acf09d290ffe" + resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz" integrity sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA== dependencies: "@babel/types" "^7.18.6" "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": version "7.20.2" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz#d1b9000752b18d0877cff85a5c376ce5c3121629" + resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz" integrity sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ== "@babel/helper-remap-async-to-generator@^7.18.9": version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz#997458a0e3357080e54e1d79ec347f8a8cd28519" + resolved "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz" integrity sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" @@ -198,7 +198,7 @@ "@babel/helper-replace-supers@^7.18.6", "@babel/helper-replace-supers@^7.20.7": version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz#243ecd2724d2071532b2c8ad2f0f9f083bcae331" + resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz" integrity sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A== dependencies: "@babel/helper-environment-visitor" "^7.18.9" @@ -210,43 +210,43 @@ "@babel/helper-simple-access@^7.20.2": version "7.20.2" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz#0ab452687fe0c2cfb1e2b9e0015de07fc2d62dd9" + resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz" integrity sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA== dependencies: "@babel/types" "^7.20.2" "@babel/helper-skip-transparent-expression-wrappers@^7.20.0": version "7.20.0" - resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz#fbe4c52f60518cab8140d77101f0e63a8a230684" + resolved "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz" integrity sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg== dependencies: "@babel/types" "^7.20.0" "@babel/helper-split-export-declaration@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075" + resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz" integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== dependencies: "@babel/types" "^7.18.6" "@babel/helper-string-parser@^7.19.4": version "7.19.4" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz#38d3acb654b4701a9b77fb0615a96f775c3a9e63" + resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz" integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw== "@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": version "7.19.1" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" + resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz" integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== "@babel/helper-validator-option@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz#bf0d2b5a509b1f336099e4ff36e1a63aa5db4db8" + resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz" integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== "@babel/helper-wrap-function@^7.18.9": version "7.20.5" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz#75e2d84d499a0ab3b31c33bcfe59d6b8a45f62e3" + resolved "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz" integrity sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q== dependencies: "@babel/helper-function-name" "^7.19.0" @@ -256,7 +256,7 @@ "@babel/helpers@^7.20.7": version "7.20.13" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.20.13.tgz#e3cb731fb70dc5337134cadc24cbbad31cc87ad2" + resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.13.tgz" integrity sha512-nzJ0DWCL3gB5RCXbUO3KIMMsBY2Eqbx8mBpKGE/02PgyRQFcPQLbkQ1vyy596mZLaP+dAfD+R4ckASzNVmW3jg== dependencies: "@babel/template" "^7.20.7" @@ -265,7 +265,7 @@ "@babel/highlight@^7.10.4", "@babel/highlight@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" + resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz" integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== dependencies: "@babel/helper-validator-identifier" "^7.18.6" @@ -274,7 +274,7 @@ "@babel/node@^7.14.7": version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/node/-/node-7.20.7.tgz#609be7f841893e24931b7910263babfde84040a9" + resolved "https://registry.npmjs.org/@babel/node/-/node-7.20.7.tgz" integrity sha512-AQt3gVcP+fpFuoFn4FmIW/+5JovvEoA9og4Y1LrRw0pv3jkl4tujZMMy3X/3ugjLrEy3k1aNywo3JIl3g+jVXQ== dependencies: "@babel/register" "^7.18.9" @@ -286,19 +286,19 @@ "@babel/parser@^7.20.13", "@babel/parser@^7.20.7": version "7.20.15" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.15.tgz#eec9f36d8eaf0948bb88c87a46784b5ee9fd0c89" + resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.20.15.tgz" integrity sha512-DI4a1oZuf8wC+oAJA9RW6ga3Zbe8RZFt7kD9i4qAspz3I/yHet1VvC3DiSy/fsUvv5pvJuNPh0LPOdCcqinDPg== "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz#da5b8f9a580acdfbe53494dba45ea389fb09a4d2" + resolved "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz" integrity sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ== dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.18.9": version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7.tgz#d9c85589258539a22a901033853101a6198d4ef1" + resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7.tgz" integrity sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ== dependencies: "@babel/helper-plugin-utils" "^7.20.2" @@ -307,7 +307,7 @@ "@babel/plugin-proposal-async-generator-functions@^7.20.1": version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz#bfb7276d2d573cb67ba379984a2334e262ba5326" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz" integrity sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA== dependencies: "@babel/helper-environment-visitor" "^7.18.9" @@ -317,7 +317,7 @@ "@babel/plugin-proposal-class-properties@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz" integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== dependencies: "@babel/helper-create-class-features-plugin" "^7.18.6" @@ -325,7 +325,7 @@ "@babel/plugin-proposal-class-static-block@^7.18.6": version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.20.7.tgz#92592e9029b13b15be0f7ce6a7aedc2879ca45a7" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.20.7.tgz" integrity sha512-AveGOoi9DAjUYYuUAG//Ig69GlazLnoyzMw68VCDux+c1tsnnH/OkYcpz/5xzMkEFC6UxjR5Gw1c+iY2wOGVeQ== dependencies: "@babel/helper-create-class-features-plugin" "^7.20.7" @@ -334,7 +334,7 @@ "@babel/plugin-proposal-dynamic-import@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz#72bcf8d408799f547d759298c3c27c7e7faa4d94" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz" integrity sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw== dependencies: "@babel/helper-plugin-utils" "^7.18.6" @@ -342,7 +342,7 @@ "@babel/plugin-proposal-export-namespace-from@^7.18.9": version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz#5f7313ab348cdb19d590145f9247540e94761203" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz" integrity sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA== dependencies: "@babel/helper-plugin-utils" "^7.18.9" @@ -350,7 +350,7 @@ "@babel/plugin-proposal-json-strings@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz#7e8788c1811c393aff762817e7dbf1ebd0c05f0b" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz" integrity sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ== dependencies: "@babel/helper-plugin-utils" "^7.18.6" @@ -358,7 +358,7 @@ "@babel/plugin-proposal-logical-assignment-operators@^7.18.9": version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz#dfbcaa8f7b4d37b51e8bfb46d94a5aea2bb89d83" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz" integrity sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug== dependencies: "@babel/helper-plugin-utils" "^7.20.2" @@ -366,7 +366,7 @@ "@babel/plugin-proposal-nullish-coalescing-operator@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz#fdd940a99a740e577d6c753ab6fbb43fdb9467e1" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz" integrity sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA== dependencies: "@babel/helper-plugin-utils" "^7.18.6" @@ -374,7 +374,7 @@ "@babel/plugin-proposal-numeric-separator@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz#899b14fbafe87f053d2c5ff05b36029c62e13c75" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz" integrity sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q== dependencies: "@babel/helper-plugin-utils" "^7.18.6" @@ -382,7 +382,7 @@ "@babel/plugin-proposal-object-rest-spread@^7.20.2": version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz#aa662940ef425779c75534a5c41e9d936edc390a" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz" integrity sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg== dependencies: "@babel/compat-data" "^7.20.5" @@ -393,7 +393,7 @@ "@babel/plugin-proposal-optional-catch-binding@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz#f9400d0e6a3ea93ba9ef70b09e72dd6da638a2cb" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz" integrity sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw== dependencies: "@babel/helper-plugin-utils" "^7.18.6" @@ -401,7 +401,7 @@ "@babel/plugin-proposal-optional-chaining@^7.18.9", "@babel/plugin-proposal-optional-chaining@^7.20.7": version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.20.7.tgz#49f2b372519ab31728cc14115bb0998b15bfda55" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.20.7.tgz" integrity sha512-T+A7b1kfjtRM51ssoOfS1+wbyCVqorfyZhT99TvxxLMirPShD8CzKMRepMlCBGM5RpHMbn8s+5MMHnPstJH6mQ== dependencies: "@babel/helper-plugin-utils" "^7.20.2" @@ -410,7 +410,7 @@ "@babel/plugin-proposal-private-methods@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz#5209de7d213457548a98436fa2882f52f4be6bea" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz" integrity sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA== dependencies: "@babel/helper-create-class-features-plugin" "^7.18.6" @@ -418,7 +418,7 @@ "@babel/plugin-proposal-private-property-in-object@^7.18.6": version "7.20.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.20.5.tgz#309c7668f2263f1c711aa399b5a9a6291eef6135" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.20.5.tgz" integrity sha512-Vq7b9dUA12ByzB4EjQTPo25sFhY+08pQDBSZRtUAkj7lb7jahaHR5igera16QZ+3my1nYR4dKsNdYj5IjPHilQ== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" @@ -428,7 +428,7 @@ "@babel/plugin-proposal-unicode-property-regex@^7.18.6", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz#af613d2cd5e643643b65cded64207b15c85cb78e" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz" integrity sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.18.6" @@ -436,119 +436,119 @@ "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz" integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-class-properties@^7.12.13": version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz" integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== dependencies: "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-syntax-class-static-block@^7.14.5": version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz" integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-dynamic-import@^7.8.3": version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz" integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-export-namespace-from@^7.8.3": version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz" integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== dependencies: "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-import-assertions@^7.20.0": version "7.20.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz#bb50e0d4bea0957235390641209394e87bdb9cc4" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz" integrity sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ== dependencies: "@babel/helper-plugin-utils" "^7.19.0" "@babel/plugin-syntax-json-strings@^7.8.3": version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz" integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-logical-assignment-operators@^7.10.4": version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz" integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-numeric-separator@^7.10.4": version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz" integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-object-rest-spread@^7.8.3": version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz" integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-optional-catch-binding@^7.8.3": version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz" integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-optional-chaining@^7.8.3": version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz" integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-private-property-in-object@^7.14.5": version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz" integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-top-level-await@^7.14.5": version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz" integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-arrow-functions@^7.18.6": version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.20.7.tgz#bea332b0e8b2dab3dafe55a163d8227531ab0551" + resolved "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.20.7.tgz" integrity sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ== dependencies: "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-transform-async-to-generator@^7.18.6": version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz#dfee18623c8cb31deb796aa3ca84dda9cea94354" + resolved "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz" integrity sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q== dependencies: "@babel/helper-module-imports" "^7.18.6" @@ -557,21 +557,21 @@ "@babel/plugin-transform-block-scoped-functions@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz#9187bf4ba302635b9d70d986ad70f038726216a8" + resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz" integrity sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ== dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-block-scoping@^7.20.2": version "7.20.15" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.15.tgz#3e1b2aa9cbbe1eb8d644c823141a9c5c2a22392d" + resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.15.tgz" integrity sha512-Vv4DMZ6MiNOhu/LdaZsT/bsLRxgL94d269Mv4R/9sp6+Mp++X/JqypZYypJXLlM4mlL352/Egzbzr98iABH1CA== dependencies: "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-transform-classes@^7.20.2": version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.7.tgz#f438216f094f6bb31dc266ebfab8ff05aecad073" + resolved "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.7.tgz" integrity sha512-LWYbsiXTPKl+oBlXUGlwNlJZetXD5Am+CyBdqhPsDVjM9Jc8jwBJFrKhHf900Kfk2eZG1y9MAG3UNajol7A4VQ== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" @@ -586,7 +586,7 @@ "@babel/plugin-transform-computed-properties@^7.18.9": version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.20.7.tgz#704cc2fd155d1c996551db8276d55b9d46e4d0aa" + resolved "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.20.7.tgz" integrity sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ== dependencies: "@babel/helper-plugin-utils" "^7.20.2" @@ -594,14 +594,14 @@ "@babel/plugin-transform-destructuring@^7.20.2": version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.7.tgz#8bda578f71620c7de7c93af590154ba331415454" + resolved "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.7.tgz" integrity sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA== dependencies: "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-transform-dotall-regex@^7.18.6", "@babel/plugin-transform-dotall-regex@^7.4.4": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz#b286b3e7aae6c7b861e45bed0a2fafd6b1a4fef8" + resolved "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz" integrity sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.18.6" @@ -609,14 +609,14 @@ "@babel/plugin-transform-duplicate-keys@^7.18.9": version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz#687f15ee3cdad6d85191eb2a372c4528eaa0ae0e" + resolved "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz" integrity sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw== dependencies: "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-transform-exponentiation-operator@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz#421c705f4521888c65e91fdd1af951bfefd4dacd" + resolved "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz" integrity sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw== dependencies: "@babel/helper-builder-binary-assignment-operator-visitor" "^7.18.6" @@ -624,14 +624,14 @@ "@babel/plugin-transform-for-of@^7.18.8": version "7.18.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz#6ef8a50b244eb6a0bdbad0c7c61877e4e30097c1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz" integrity sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ== dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-function-name@^7.18.9": version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz#cc354f8234e62968946c61a46d6365440fc764e0" + resolved "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz" integrity sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ== dependencies: "@babel/helper-compilation-targets" "^7.18.9" @@ -640,21 +640,21 @@ "@babel/plugin-transform-literals@^7.18.9": version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz#72796fdbef80e56fba3c6a699d54f0de557444bc" + resolved "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz" integrity sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg== dependencies: "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-transform-member-expression-literals@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz#ac9fdc1a118620ac49b7e7a5d2dc177a1bfee88e" + resolved "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz" integrity sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA== dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-modules-amd@^7.19.6": version "7.20.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz#3daccca8e4cc309f03c3a0c4b41dc4b26f55214a" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz" integrity sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g== dependencies: "@babel/helper-module-transforms" "^7.20.11" @@ -662,7 +662,7 @@ "@babel/plugin-transform-modules-commonjs@^7.19.6": version "7.20.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.20.11.tgz#8cb23010869bf7669fd4b3098598b6b2be6dc607" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.20.11.tgz" integrity sha512-S8e1f7WQ7cimJQ51JkAaDrEtohVEitXjgCGAS2N8S31Y42E+kWwfSz83LYz57QdBm7q9diARVqanIaH2oVgQnw== dependencies: "@babel/helper-module-transforms" "^7.20.11" @@ -671,7 +671,7 @@ "@babel/plugin-transform-modules-systemjs@^7.19.6": version "7.20.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz#467ec6bba6b6a50634eea61c9c232654d8a4696e" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz" integrity sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw== dependencies: "@babel/helper-hoist-variables" "^7.18.6" @@ -681,7 +681,7 @@ "@babel/plugin-transform-modules-umd@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz#81d3832d6034b75b54e62821ba58f28ed0aab4b9" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz" integrity sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ== dependencies: "@babel/helper-module-transforms" "^7.18.6" @@ -689,7 +689,7 @@ "@babel/plugin-transform-named-capturing-groups-regex@^7.19.1": version "7.20.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz#626298dd62ea51d452c3be58b285d23195ba69a8" + resolved "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz" integrity sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.20.5" @@ -697,14 +697,14 @@ "@babel/plugin-transform-new-target@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz#d128f376ae200477f37c4ddfcc722a8a1b3246a8" + resolved "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz" integrity sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw== dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-object-super@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz#fb3c6ccdd15939b6ff7939944b51971ddc35912c" + resolved "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz" integrity sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA== dependencies: "@babel/helper-plugin-utils" "^7.18.6" @@ -712,21 +712,21 @@ "@babel/plugin-transform-parameters@^7.20.1", "@babel/plugin-transform-parameters@^7.20.7": version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.7.tgz#0ee349e9d1bc96e78e3b37a7af423a4078a7083f" + resolved "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.7.tgz" integrity sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA== dependencies: "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-transform-property-literals@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz#e22498903a483448e94e032e9bbb9c5ccbfc93a3" + resolved "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz" integrity sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg== dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-regenerator@^7.18.6": version "7.20.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz#57cda588c7ffb7f4f8483cc83bdcea02a907f04d" + resolved "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz" integrity sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ== dependencies: "@babel/helper-plugin-utils" "^7.20.2" @@ -734,21 +734,21 @@ "@babel/plugin-transform-reserved-words@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz#b1abd8ebf8edaa5f7fe6bbb8d2133d23b6a6f76a" + resolved "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz" integrity sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA== dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-shorthand-properties@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz#6d6df7983d67b195289be24909e3f12a8f664dc9" + resolved "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz" integrity sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw== dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-spread@^7.19.0": version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz#c2d83e0b99d3bf83e07b11995ee24bf7ca09401e" + resolved "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz" integrity sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw== dependencies: "@babel/helper-plugin-utils" "^7.20.2" @@ -756,35 +756,35 @@ "@babel/plugin-transform-sticky-regex@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz#c6706eb2b1524028e317720339583ad0f444adcc" + resolved "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz" integrity sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q== dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-template-literals@^7.18.9": version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz#04ec6f10acdaa81846689d63fae117dd9c243a5e" + resolved "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz" integrity sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA== dependencies: "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-transform-typeof-symbol@^7.18.9": version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz#c8cea68263e45addcd6afc9091429f80925762c0" + resolved "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz" integrity sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw== dependencies: "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-transform-unicode-escapes@^7.18.10": version "7.18.10" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz#1ecfb0eda83d09bbcb77c09970c2dd55832aa246" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz" integrity sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ== dependencies: "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-transform-unicode-regex@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz#194317225d8c201bbae103364ffe9e2cea36cdca" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz" integrity sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.18.6" @@ -792,7 +792,7 @@ "@babel/preset-env@^7.14.7": version "7.20.2" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.20.2.tgz#9b1642aa47bb9f43a86f9630011780dab7f86506" + resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.20.2.tgz" integrity sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg== dependencies: "@babel/compat-data" "^7.20.1" @@ -873,7 +873,7 @@ "@babel/preset-modules@^0.1.5": version "0.1.5" - resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9" + resolved "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz" integrity sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA== dependencies: "@babel/helper-plugin-utils" "^7.0.0" @@ -884,7 +884,7 @@ "@babel/register@^7.18.9": version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.18.9.tgz#1888b24bc28d5cc41c412feb015e9ff6b96e439c" + resolved "https://registry.npmjs.org/@babel/register/-/register-7.18.9.tgz" integrity sha512-ZlbnXDcNYHMR25ITwwNKT88JiaukkdVj/nG7r3wnuXkOTHc60Uy05PwMCPre0hSkY68E6zK3xz+vUJSP2jWmcw== dependencies: clone-deep "^4.0.1" @@ -895,19 +895,19 @@ "@babel/regjsgen@^0.8.0": version "0.8.0" - resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310" + resolved "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz" integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== "@babel/runtime@^7.15.4", "@babel/runtime@^7.17.8", "@babel/runtime@^7.19.0", "@babel/runtime@^7.20.7", "@babel/runtime@^7.8.4": version "7.20.13" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.13.tgz#7055ab8a7cff2b8f6058bf6ae45ff84ad2aded4b" + resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.13.tgz" integrity sha512-gt3PKXs0DBoL9xCvOIIZ2NEqAGZqHjAnmVbfQtB620V0uReIQutpel14KcneZuer7UioY8ALKZ7iocavvzTNFA== dependencies: regenerator-runtime "^0.13.11" "@babel/template@^7.18.10", "@babel/template@^7.20.7": version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.20.7.tgz#a15090c2839a83b02aa996c0b4994005841fd5a8" + resolved "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz" integrity sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw== dependencies: "@babel/code-frame" "^7.18.6" @@ -916,7 +916,7 @@ "@babel/traverse@^7.20.10", "@babel/traverse@^7.20.12", "@babel/traverse@^7.20.13", "@babel/traverse@^7.20.5", "@babel/traverse@^7.20.7", "@babel/traverse@^7.4.5": version "7.20.13" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.20.13.tgz#817c1ba13d11accca89478bd5481b2d168d07473" + resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.13.tgz" integrity sha512-kMJXfF0T6DIS9E8cgdLCSAL+cuCK+YEZHWiLK0SXpTo8YRj5lpJu3CDNKiIBCne4m9hhTIqUg6SYTAI39tAiVQ== dependencies: "@babel/code-frame" "^7.18.6" @@ -932,7 +932,7 @@ "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.20.5", "@babel/types@^7.20.7", "@babel/types@^7.4.4": version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.7.tgz#54ec75e252318423fc07fb644dc6a58a64c09b7f" + resolved "https://registry.npmjs.org/@babel/types/-/types-7.20.7.tgz" integrity sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg== dependencies: "@babel/helper-string-parser" "^7.19.4" @@ -941,29 +941,29 @@ "@emotion/is-prop-valid@^1.1.0": version "1.2.0" - resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-1.2.0.tgz#7f2d35c97891669f7e276eb71c83376a5dc44c83" + resolved "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.0.tgz" integrity sha512-3aDpDprjM0AwaxGE09bOPkNxHpBd+kA6jty3RnaEXdweX1DF1U3VQpPYb0g1IStAuK7SVQ1cy+bNBBKp4W3Fjg== dependencies: "@emotion/memoize" "^0.8.0" "@emotion/memoize@^0.8.0": version "0.8.0" - resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.8.0.tgz#f580f9beb67176fa57aae70b08ed510e1b18980f" + resolved "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.0.tgz" integrity sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA== "@emotion/stylis@^0.8.4": version "0.8.5" - resolved "https://registry.yarnpkg.com/@emotion/stylis/-/stylis-0.8.5.tgz#deacb389bd6ee77d1e7fcaccce9e16c5c7e78e04" + resolved "https://registry.npmjs.org/@emotion/stylis/-/stylis-0.8.5.tgz" integrity sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ== "@emotion/unitless@^0.7.4": version "0.7.5" - resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.7.5.tgz#77211291c1900a700b8a78cfafda3160d76949ed" + resolved "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz" integrity sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg== "@eslint/eslintrc@^0.4.3": version "0.4.3" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" + resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz" integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== dependencies: ajv "^6.12.4" @@ -978,7 +978,7 @@ "@humanwhocodes/config-array@^0.5.0": version "0.5.0" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" + resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz" integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== dependencies: "@humanwhocodes/object-schema" "^1.2.0" @@ -987,12 +987,12 @@ "@humanwhocodes/object-schema@^1.2.0": version "1.2.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" + resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz" integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== "@jridgewell/gen-mapping@^0.1.0": version "0.1.1" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" + resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz" integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== dependencies: "@jridgewell/set-array" "^1.0.0" @@ -1000,7 +1000,7 @@ "@jridgewell/gen-mapping@^0.3.2": version "0.3.2" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" + resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz" integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== dependencies: "@jridgewell/set-array" "^1.0.1" @@ -1009,22 +1009,22 @@ "@jridgewell/resolve-uri@3.1.0": version "3.1.0" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" + resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz" integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== "@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": version "1.1.2" - resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" + resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== "@jridgewell/sourcemap-codec@1.4.14", "@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.13": version "1.4.14" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" + resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz" integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== "@jridgewell/trace-mapping@^0.3.9": version "0.3.17" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz#793041277af9073b0951a7fe0f0d8c4c98c36985" + resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz" integrity sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g== dependencies: "@jridgewell/resolve-uri" "3.1.0" @@ -1032,7 +1032,7 @@ "@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" + resolved "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.10.tgz" integrity sha512-4ySo4CjzStuprMwk35H5pPbkymjv1SF3jGLj6rAHp/xT/RF7TL7bd9CTm1xDY49K2qF7jmR/g7k+SkLETP6opA== dependencies: detect-libc "^2.0.0" @@ -1047,12 +1047,12 @@ "@next/env@12.2.5": version "12.2.5" - resolved "https://registry.yarnpkg.com/@next/env/-/env-12.2.5.tgz#d908c57b35262b94db3e431e869b72ac3e1ad3e3" + resolved "https://registry.npmjs.org/@next/env/-/env-12.2.5.tgz" integrity sha512-vLPLV3cpPGjUPT3PjgRj7e3nio9t6USkuew3JE/jMeon/9Mvp1WyR18v3iwnCuX7eUAm1HmAbJHHLAbcu/EJcw== "@next/eslint-plugin-next@12.0.4": version "12.0.4" - resolved "https://registry.yarnpkg.com/@next/eslint-plugin-next/-/eslint-plugin-next-12.0.4.tgz#f1751715634e200a868aa3fa42b4c3391254de81" + resolved "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-12.0.4.tgz" integrity sha512-3N+LG+wQQB0JLfMj4YKkefWnjcsFVBmixRWdzbVBnt/cxbVZ0izf+BR1MzvrPX1oaP0OrYk8X/9Mn9Yftuajvg== dependencies: glob "7.1.7" @@ -1119,12 +1119,12 @@ "@next/swc-win32-x64-msvc@12.2.5": version "12.2.5" - resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-12.2.5.tgz#20fed129b04a0d3f632c6d0de135345bb623b1e4" + resolved "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-12.2.5.tgz" integrity sha512-7h5/ahY7NeaO2xygqVrSG/Y8Vs4cdjxIjowTZ5W6CKoTKn7tmnuxlUc2h74x06FKmbhAd9agOjr/AOKyxYYm9Q== "@nodelib/fs.scandir@2.1.5": version "2.1.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== dependencies: "@nodelib/fs.stat" "2.0.5" @@ -1132,12 +1132,12 @@ "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": version "2.0.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== "@nodelib/fs.walk@^1.2.3": version "1.2.8" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== dependencies: "@nodelib/fs.scandir" "2.1.5" @@ -1145,7 +1145,7 @@ "@rollup/plugin-commonjs@24.0.0": version "24.0.0" - resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-24.0.0.tgz#fb7cf4a6029f07ec42b25daa535c75b05a43f75c" + resolved "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-24.0.0.tgz" integrity sha512-0w0wyykzdyRRPHOb0cQt14mIBLujfAv6GgP6g8nvg/iBxEm112t3YPPq+Buqe2+imvElTka+bjNlJ/gB56TD8g== dependencies: "@rollup/pluginutils" "^5.0.1" @@ -1157,7 +1157,7 @@ "@rollup/pluginutils@^5.0.1": version "5.0.2" - resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-5.0.2.tgz#012b8f53c71e4f6f9cb317e311df1404f56e7a33" + resolved "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz" integrity sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA== dependencies: "@types/estree" "^1.0.0" @@ -1166,23 +1166,34 @@ "@rushstack/eslint-patch@^1.0.6": version "1.2.0" - resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz#8be36a1f66f3265389e90b5f9c9962146758f728" + resolved "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz" integrity sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg== -"@sentry/browser@7.38.0": - version "7.38.0" - resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-7.38.0.tgz#cdb39da23f9ee2ce47395b2c12542acb4969efa7" - integrity sha512-rPJr+2jRYL29PeMYA2JgzYKTZQx6bc3T9evbAdIh0n+popSjpVyOpOMV/3l6A7KZeeix3dpp6eUZUxTJukqriQ== +"@sentry-internal/tracing@7.73.0": + version "7.73.0" + resolved "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.73.0.tgz" + integrity sha512-ig3WL/Nqp8nRQ52P205NaypGKNfIl/G+cIqge9xPW6zfRb5kJdM1YParw9GSJ1SPjEZBkBORGAML0on5H2FILw== dependencies: - "@sentry/core" "7.38.0" - "@sentry/replay" "7.38.0" - "@sentry/types" "7.38.0" - "@sentry/utils" "7.38.0" - tslib "^1.9.3" + "@sentry/core" "7.73.0" + "@sentry/types" "7.73.0" + "@sentry/utils" "7.73.0" + tslib "^2.4.1 || ^1.9.3" + +"@sentry/browser@7.73.0": + version "7.73.0" + resolved "https://registry.npmjs.org/@sentry/browser/-/browser-7.73.0.tgz" + integrity sha512-e301hUixcJ5+HNKCJwajFF5smF4opXEFSclyWsJuFNufv5J/1C1SDhbwG2JjBt5zzdSoKWJKT1ewR6vpICyoDw== + dependencies: + "@sentry-internal/tracing" "7.73.0" + "@sentry/core" "7.73.0" + "@sentry/replay" "7.73.0" + "@sentry/types" "7.73.0" + "@sentry/utils" "7.73.0" + tslib "^2.4.1 || ^1.9.3" "@sentry/cli@^1.74.6": version "1.75.0" - resolved "https://registry.yarnpkg.com/@sentry/cli/-/cli-1.75.0.tgz#4a5e71b5619cd4e9e6238cc77857c66f6b38d86a" + resolved "https://registry.npmjs.org/@sentry/cli/-/cli-1.75.0.tgz" integrity sha512-vT8NurHy00GcN8dNqur4CMIYvFH3PaKdkX3qllVvi4syybKqjwoz+aWRCvprbYv0knweneFkLt1SmBWqazUMfA== dependencies: https-proxy-agent "^5.0.0" @@ -1194,77 +1205,89 @@ "@sentry/core@7.38.0": version "7.38.0" - resolved "https://registry.yarnpkg.com/@sentry/core/-/core-7.38.0.tgz#52f1f1f2ba5e88ab7b33c3abb0ea9730c78d953d" + resolved "https://registry.npmjs.org/@sentry/core/-/core-7.38.0.tgz" integrity sha512-+hXh/SO3Ie6WC2b+wi01xLhyVREdkRXS5QBmCiv3z2ks2HvYXp7PoKSXJvNKiwCP+pBD+enOnM1YEzM2yEy5yw== dependencies: "@sentry/types" "7.38.0" "@sentry/utils" "7.38.0" tslib "^1.9.3" -"@sentry/integrations@7.38.0": - version "7.38.0" - resolved "https://registry.yarnpkg.com/@sentry/integrations/-/integrations-7.38.0.tgz#6caf04f9aff5780a2b7b146a620141ed90369572" - integrity sha512-n1OK+X5xaMo7j0lZxpEvEqjQSH4gIcVxeE2KXMI/2/sM7dJyQvfgjogh6ZPOpCAZnT9sUmesH5FevjXXT2493A== +"@sentry/core@7.73.0": + version "7.73.0" + resolved "https://registry.npmjs.org/@sentry/core/-/core-7.73.0.tgz" + integrity sha512-9FEz4Gq848LOgVN2OxJGYuQqxv7cIVw69VlAzWHEm3njt8mjvlTq+7UiFsGRo84+59V2FQuHxzA7vVjl90WfSg== dependencies: - "@sentry/types" "7.38.0" - "@sentry/utils" "7.38.0" + "@sentry/types" "7.73.0" + "@sentry/utils" "7.73.0" + tslib "^2.4.1 || ^1.9.3" + +"@sentry/integrations@7.73.0": + version "7.73.0" + resolved "https://registry.npmjs.org/@sentry/integrations/-/integrations-7.73.0.tgz" + integrity sha512-IjVpn4d+aSL9L1Ntu/oAdRwujz4BzzavDsZf96Xgc/AjBnjAEUT+wT1dAwluThfuKDXmWOJHhZ2cHHMfqI+7vw== + dependencies: + "@sentry/core" "7.73.0" + "@sentry/types" "7.73.0" + "@sentry/utils" "7.73.0" localforage "^1.8.1" - tslib "^1.9.3" + tslib "^2.4.1 || ^1.9.3" "@sentry/nextjs@^7.36.0": - version "7.38.0" - resolved "https://registry.yarnpkg.com/@sentry/nextjs/-/nextjs-7.38.0.tgz#f48d7d9d24b43bbeffd6401cae1eeb507f2c5f0a" - integrity sha512-NWI03kftJWyssUsMOFZ/MMtJHYcRdvQR8nh6nky5lT6c7y8uBzj9+mAad7KPxX9M+OXyfA+ZM54fPK+4DCUiDw== + version "7.73.0" + resolved "https://registry.npmjs.org/@sentry/nextjs/-/nextjs-7.73.0.tgz" + integrity sha512-WTTxb3xFFpQ9u8jLx2jXa5oJIlgQs3kQ7wjHoTVOuuk51kB3wtMvq546tA5Kmsgu5uInjznBe4f2qUFYdqiO9Q== dependencies: "@rollup/plugin-commonjs" "24.0.0" - "@sentry/core" "7.38.0" - "@sentry/integrations" "7.38.0" - "@sentry/node" "7.38.0" - "@sentry/react" "7.38.0" - "@sentry/tracing" "7.38.0" - "@sentry/types" "7.38.0" - "@sentry/utils" "7.38.0" + "@sentry/core" "7.73.0" + "@sentry/integrations" "7.73.0" + "@sentry/node" "7.73.0" + "@sentry/react" "7.73.0" + "@sentry/types" "7.73.0" + "@sentry/utils" "7.73.0" + "@sentry/vercel-edge" "7.73.0" "@sentry/webpack-plugin" "1.20.0" chalk "3.0.0" rollup "2.78.0" - tslib "^1.9.3" - -"@sentry/node@7.38.0", "@sentry/node@^7.36.0": - version "7.38.0" - resolved "https://registry.yarnpkg.com/@sentry/node/-/node-7.38.0.tgz#957524fa4764dc19ef970ccdffb802d62e0db3ae" - integrity sha512-jNIN6NZvgzn/oms8RQzffjX8Z0LQDTN6N28nnhzqGCvnfmS1QtTt0FlU+pTuFXZNNSjfGy4XMXMYvLlbvhm2bg== - dependencies: - "@sentry/core" "7.38.0" - "@sentry/types" "7.38.0" - "@sentry/utils" "7.38.0" - cookie "^0.4.1" + stacktrace-parser "^0.1.10" + tslib "^2.4.1 || ^1.9.3" + +"@sentry/node@7.73.0", "@sentry/node@^7.36.0": + version "7.73.0" + resolved "https://registry.npmjs.org/@sentry/node/-/node-7.73.0.tgz" + integrity sha512-i50bRfmgkRRx0XXUbg9jGD/RuznDJxJXc4rBILhoJuhl+BjRIaoXA3ayplfJn8JLZxsNh75uJaCq4IUK70SORw== + dependencies: + "@sentry-internal/tracing" "7.73.0" + "@sentry/core" "7.73.0" + "@sentry/types" "7.73.0" + "@sentry/utils" "7.73.0" + cookie "^0.5.0" https-proxy-agent "^5.0.0" lru_map "^0.3.3" - tslib "^1.9.3" + tslib "^2.4.1 || ^1.9.3" -"@sentry/react@7.38.0": - version "7.38.0" - resolved "https://registry.yarnpkg.com/@sentry/react/-/react-7.38.0.tgz#7294bc8d85000994267fabf8d6f817369ca09a7a" - integrity sha512-IZpQ0aptV3UPjvDj+xorrgPgnW2xIL6Zcy7B6wAgwTC81OUITE7YaShglGD0sJ8M1ReFuH9duwTysr/uv8AytQ== +"@sentry/react@7.73.0": + version "7.73.0" + resolved "https://registry.npmjs.org/@sentry/react/-/react-7.73.0.tgz" + integrity sha512-RCGlxW0Xp5vsC38LGxUO0Xf11LBzfg75VN+KS3D2FS5GXl0R0JwgUyPNVlod7YMCfwytsKGhfP+YpQvHGQAVwg== dependencies: - "@sentry/browser" "7.38.0" - "@sentry/types" "7.38.0" - "@sentry/utils" "7.38.0" + "@sentry/browser" "7.73.0" + "@sentry/types" "7.73.0" + "@sentry/utils" "7.73.0" hoist-non-react-statics "^3.3.2" - tslib "^1.9.3" + tslib "^2.4.1 || ^1.9.3" -"@sentry/replay@7.38.0": - version "7.38.0" - resolved "https://registry.yarnpkg.com/@sentry/replay/-/replay-7.38.0.tgz#48d240b67de6b4ab41c951d19abeceb0d3f7706d" - integrity sha512-Ai78/OIYedny605x8uS0n/a5uj7qnuevogGD6agLat9lGc8DFvC07m2iS+EFyGOwtQzyDlRYJvYkHL8peR3crQ== +"@sentry/replay@7.73.0": + version "7.73.0" + resolved "https://registry.npmjs.org/@sentry/replay/-/replay-7.73.0.tgz" + integrity sha512-a8IC9SowBisLYD2IdLkXzx7gN4iVwHDJhQvLp2B8ARs1PyPjJ7gCxSMHeGrYp94V0gOXtorNYkrxvuX8ayPROA== dependencies: - "@sentry/core" "7.38.0" - "@sentry/types" "7.38.0" - "@sentry/utils" "7.38.0" + "@sentry/core" "7.73.0" + "@sentry/types" "7.73.0" + "@sentry/utils" "7.73.0" -"@sentry/tracing@7.38.0", "@sentry/tracing@^7.36.0": +"@sentry/tracing@^7.36.0": version "7.38.0" - resolved "https://registry.yarnpkg.com/@sentry/tracing/-/tracing-7.38.0.tgz#ba28f15f526e87df167de206fd4fb0a39277dac6" + resolved "https://registry.npmjs.org/@sentry/tracing/-/tracing-7.38.0.tgz" integrity sha512-ejXJp8oOT64MVtBzqdECUUaNzKbpu25St8Klub1i4Sm7xO+ZjDQDI4TIHvWojZvtkwQ3F4jcsCclc8KuyJunyQ== dependencies: "@sentry/core" "7.38.0" @@ -1274,20 +1297,43 @@ "@sentry/types@7.38.0": version "7.38.0" - resolved "https://registry.yarnpkg.com/@sentry/types/-/types-7.38.0.tgz#6e2611544446271ed237440b12de782805aefe25" + resolved "https://registry.npmjs.org/@sentry/types/-/types-7.38.0.tgz" integrity sha512-NKOALR6pNUMzUrsk2m+dkPrO8uGNvNh1LD0BCPswKNjC2qHo1h1mDGCgBmF9+EWyii8ZoACTIsxvsda+MBf97Q== +"@sentry/types@7.73.0": + version "7.73.0" + resolved "https://registry.npmjs.org/@sentry/types/-/types-7.73.0.tgz" + integrity sha512-/v8++bly8jW7r4cP2wswYiiVpn7eLLcqwnfPUMeCQze4zj3F3nTRIKc9BGHzU0V+fhHa3RwRC2ksqTGq1oJMDg== + "@sentry/utils@7.38.0": version "7.38.0" - resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-7.38.0.tgz#d10716e730108301f58766970493e9c5da0ba502" + resolved "https://registry.npmjs.org/@sentry/utils/-/utils-7.38.0.tgz" integrity sha512-MgbI3YmYuyyhUtvcXkgGBqjOW+nuLLNGUdWCK+C4kObf8VbLt3dSE/7SEMT6TSHLYQmxs2BxFgx5Agn97m68kQ== dependencies: "@sentry/types" "7.38.0" tslib "^1.9.3" +"@sentry/utils@7.73.0": + version "7.73.0" + resolved "https://registry.npmjs.org/@sentry/utils/-/utils-7.73.0.tgz" + integrity sha512-h3ZK/qpf4k76FhJV9uiSbvMz3V/0Ovy94C+5/9UgPMVCJXFmVsdw8n/dwANJ7LupVPfYP23xFGgebDMFlK1/2w== + dependencies: + "@sentry/types" "7.73.0" + tslib "^2.4.1 || ^1.9.3" + +"@sentry/vercel-edge@7.73.0": + version "7.73.0" + resolved "https://registry.npmjs.org/@sentry/vercel-edge/-/vercel-edge-7.73.0.tgz" + integrity sha512-5EIJAuHG9w2OBrG76uH51Zlh4SMg3N8n29YiZgOtsBL0FU7AvBpxsIknECmmQOKPFrfCa0ycu2WSWgFXILCYGQ== + dependencies: + "@sentry/core" "7.73.0" + "@sentry/types" "7.73.0" + "@sentry/utils" "7.73.0" + tslib "^2.4.1 || ^1.9.3" + "@sentry/webpack-plugin@1.20.0": version "1.20.0" - resolved "https://registry.yarnpkg.com/@sentry/webpack-plugin/-/webpack-plugin-1.20.0.tgz#e7add76122708fb6b4ee7951294b521019720e58" + resolved "https://registry.npmjs.org/@sentry/webpack-plugin/-/webpack-plugin-1.20.0.tgz" integrity sha512-Ssj1mJVFsfU6vMCOM2d+h+KQR7QHSfeIP16t4l20Uq/neqWXZUQ2yvQfe4S3BjdbJXz/X4Rw8Hfy1Sd0ocunYw== dependencies: "@sentry/cli" "^1.74.6" @@ -1295,7 +1341,7 @@ "@styled-icons/boxicons-regular@^10.38.0": version "10.47.0" - resolved "https://registry.yarnpkg.com/@styled-icons/boxicons-regular/-/boxicons-regular-10.47.0.tgz#6318dd8ba9bfbf143c3a32c9d1c72479d376bd3a" + resolved "https://registry.npmjs.org/@styled-icons/boxicons-regular/-/boxicons-regular-10.47.0.tgz" integrity sha512-z8KczDp4VArXvOn8i2j66Xs4oX9oiiJEhMoHydY3uC9kdtImcxhZ/xHPrgTJLkbK6f5ikwB4CKVnSqQGzzAJNw== dependencies: "@babel/runtime" "^7.20.7" @@ -1303,7 +1349,7 @@ "@styled-icons/boxicons-solid@^10.38.0": version "10.47.0" - resolved "https://registry.yarnpkg.com/@styled-icons/boxicons-solid/-/boxicons-solid-10.47.0.tgz#1b84245f3cbb8837e9ff2a6bd3563276e49d8e21" + resolved "https://registry.npmjs.org/@styled-icons/boxicons-solid/-/boxicons-solid-10.47.0.tgz" integrity sha512-M795TXYtSJCpfr+ukHZfH9mA0j5MPlB5vwRCnU3O+dojAYla/zoaSashjhUbmlgzKNwALWNfzOqicSCAzU2fhg== dependencies: "@babel/runtime" "^7.20.7" @@ -1311,96 +1357,96 @@ "@styled-icons/styled-icon@^10.7.0": version "10.7.0" - resolved "https://registry.yarnpkg.com/@styled-icons/styled-icon/-/styled-icon-10.7.0.tgz#d6960e719b8567c8d0d3a87c40fb6f5b4952a228" + resolved "https://registry.npmjs.org/@styled-icons/styled-icon/-/styled-icon-10.7.0.tgz" integrity sha512-SCrhCfRyoY8DY7gUkpz+B0RqUg/n1Zaqrr2+YKmK/AyeNfCcoHuP4R9N4H0p/NA1l7PTU10ZkAWSLi68phnAjw== dependencies: "@babel/runtime" "^7.19.0" "@styled-system/background@^5.1.2": version "5.1.2" - resolved "https://registry.yarnpkg.com/@styled-system/background/-/background-5.1.2.tgz#75c63d06b497ab372b70186c0bf608d62847a2ba" + resolved "https://registry.npmjs.org/@styled-system/background/-/background-5.1.2.tgz" integrity sha512-jtwH2C/U6ssuGSvwTN3ri/IyjdHb8W9X/g8Y0JLcrH02G+BW3OS8kZdHphF1/YyRklnrKrBT2ngwGUK6aqqV3A== dependencies: "@styled-system/core" "^5.1.2" "@styled-system/border@^5.1.5": version "5.1.5" - resolved "https://registry.yarnpkg.com/@styled-system/border/-/border-5.1.5.tgz#0493d4332d2b59b74bb0d57d08c73eb555761ba6" + resolved "https://registry.npmjs.org/@styled-system/border/-/border-5.1.5.tgz" integrity sha512-JvddhNrnhGigtzWRCVuAHepniyVi6hBlimxWDVAdcTuk7aRn9BYJUwfHslURtwYFsF5FoEs8Zmr1oZq2M1AP0A== dependencies: "@styled-system/core" "^5.1.2" "@styled-system/color@^5.1.2": version "5.1.2" - resolved "https://registry.yarnpkg.com/@styled-system/color/-/color-5.1.2.tgz#b8d6b4af481faabe4abca1a60f8daa4ccc2d9f43" + resolved "https://registry.npmjs.org/@styled-system/color/-/color-5.1.2.tgz" integrity sha512-1kCkeKDZkt4GYkuFNKc7vJQMcOmTl3bJY3YBUs7fCNM6mMYJeT1pViQ2LwBSBJytj3AB0o4IdLBoepgSgGl5MA== dependencies: "@styled-system/core" "^5.1.2" "@styled-system/core@^5.1.2": version "5.1.2" - resolved "https://registry.yarnpkg.com/@styled-system/core/-/core-5.1.2.tgz#b8b7b86455d5a0514f071c4fa8e434b987f6a772" + resolved "https://registry.npmjs.org/@styled-system/core/-/core-5.1.2.tgz" integrity sha512-XclBDdNIy7OPOsN4HBsawG2eiWfCcuFt6gxKn1x4QfMIgeO6TOlA2pZZ5GWZtIhCUqEPTgIBta6JXsGyCkLBYw== dependencies: object-assign "^4.1.1" "@styled-system/css@^5.1.5": version "5.1.5" - resolved "https://registry.yarnpkg.com/@styled-system/css/-/css-5.1.5.tgz#0460d5f3ff962fa649ea128ef58d9584f403bbbc" + resolved "https://registry.npmjs.org/@styled-system/css/-/css-5.1.5.tgz" integrity sha512-XkORZdS5kypzcBotAMPBoeckDs9aSZVkvrAlq5K3xP8IMAUek+x2O4NtwoSgkYkWWzVBu6DGdFZLR790QWGG+A== "@styled-system/flexbox@^5.1.2": version "5.1.2" - resolved "https://registry.yarnpkg.com/@styled-system/flexbox/-/flexbox-5.1.2.tgz#077090f43f61c3852df63da24e4108087a8beecf" + resolved "https://registry.npmjs.org/@styled-system/flexbox/-/flexbox-5.1.2.tgz" integrity sha512-6hHV52+eUk654Y1J2v77B8iLeBNtc+SA3R4necsu2VVinSD7+XY5PCCEzBFaWs42dtOEDIa2lMrgL0YBC01mDQ== dependencies: "@styled-system/core" "^5.1.2" "@styled-system/grid@^5.1.2": version "5.1.2" - resolved "https://registry.yarnpkg.com/@styled-system/grid/-/grid-5.1.2.tgz#7165049877732900b99cd00759679fbe45c6c573" + resolved "https://registry.npmjs.org/@styled-system/grid/-/grid-5.1.2.tgz" integrity sha512-K3YiV1KyHHzgdNuNlaw8oW2ktMuGga99o1e/NAfTEi5Zsa7JXxzwEnVSDSBdJC+z6R8WYTCYRQC6bkVFcvdTeg== dependencies: "@styled-system/core" "^5.1.2" "@styled-system/layout@^5.1.2": version "5.1.2" - resolved "https://registry.yarnpkg.com/@styled-system/layout/-/layout-5.1.2.tgz#12d73e79887e10062f4dbbbc2067462eace42339" + resolved "https://registry.npmjs.org/@styled-system/layout/-/layout-5.1.2.tgz" integrity sha512-wUhkMBqSeacPFhoE9S6UF3fsMEKFv91gF4AdDWp0Aym1yeMPpqz9l9qS/6vjSsDPF7zOb5cOKC3tcKKOMuDCPw== dependencies: "@styled-system/core" "^5.1.2" "@styled-system/position@^5.1.2": version "5.1.2" - resolved "https://registry.yarnpkg.com/@styled-system/position/-/position-5.1.2.tgz#56961266566836f57a24d8e8e33ce0c1adb59dd3" + resolved "https://registry.npmjs.org/@styled-system/position/-/position-5.1.2.tgz" integrity sha512-60IZfMXEOOZe3l1mCu6sj/2NAyUmES2kR9Kzp7s2D3P4qKsZWxD1Se1+wJvevb+1TP+ZMkGPEYYXRyU8M1aF5A== dependencies: "@styled-system/core" "^5.1.2" "@styled-system/shadow@^5.1.2": version "5.1.2" - resolved "https://registry.yarnpkg.com/@styled-system/shadow/-/shadow-5.1.2.tgz#beddab28d7de03cd0177a87ac4ed3b3b6d9831fd" + resolved "https://registry.npmjs.org/@styled-system/shadow/-/shadow-5.1.2.tgz" integrity sha512-wqniqYb7XuZM7K7C0d1Euxc4eGtqEe/lvM0WjuAFsQVImiq6KGT7s7is+0bNI8O4Dwg27jyu4Lfqo/oIQXNzAg== dependencies: "@styled-system/core" "^5.1.2" "@styled-system/space@^5.1.2": version "5.1.2" - resolved "https://registry.yarnpkg.com/@styled-system/space/-/space-5.1.2.tgz#38925d2fa29a41c0eb20e65b7c3efb6e8efce953" + resolved "https://registry.npmjs.org/@styled-system/space/-/space-5.1.2.tgz" integrity sha512-+zzYpR8uvfhcAbaPXhH8QgDAV//flxqxSjHiS9cDFQQUSznXMQmxJegbhcdEF7/eNnJgHeIXv1jmny78kipgBA== dependencies: "@styled-system/core" "^5.1.2" "@styled-system/typography@^5.1.2": version "5.1.2" - resolved "https://registry.yarnpkg.com/@styled-system/typography/-/typography-5.1.2.tgz#65fb791c67d50cd2900d234583eaacdca8c134f7" + resolved "https://registry.npmjs.org/@styled-system/typography/-/typography-5.1.2.tgz" integrity sha512-BxbVUnN8N7hJ4aaPOd7wEsudeT7CxarR+2hns8XCX1zp0DFfbWw4xYa/olA0oQaqx7F1hzDg+eRaGzAJbF+jOg== dependencies: "@styled-system/core" "^5.1.2" "@styled-system/variant@^5.1.5": version "5.1.5" - resolved "https://registry.yarnpkg.com/@styled-system/variant/-/variant-5.1.5.tgz#8446d8aad06af3a4c723d717841df2dbe4ddeafd" + resolved "https://registry.npmjs.org/@styled-system/variant/-/variant-5.1.5.tgz" integrity sha512-Yn8hXAFoWIro8+Q5J8YJd/mP85Teiut3fsGVR9CAxwgNfIAiqlYxsk5iHU7VHJks/0KjL4ATSjmbtCDC/4l1qw== dependencies: "@styled-system/core" "^5.1.2" @@ -1408,52 +1454,45 @@ "@swc/helpers@0.4.3": version "0.4.3" - resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.4.3.tgz#16593dfc248c53b699d4b5026040f88ddb497012" + resolved "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.3.tgz" integrity sha512-6JrF+fdUK2zbGpJIlN7G3v966PQjyx/dPt1T9km2wj+EUBqgrxCk3uX4Kct16MIm9gGxfKRcfax2hVf5jvlTzA== dependencies: tslib "^2.4.0" -"@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": +"@types/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" + resolved "https://registry.npmjs.org/@types/bson/-/bson-4.0.5.tgz" integrity sha512-vVLwMUqhYJSQ/WKcE60eFqcyuWse5fGH+NMAXHuKrUAPoryq3ATxk5o4bgYNtg5aOM4APVg7Hnb3ASqUYG0PKg== dependencies: "@types/node" "*" "@types/cookie@^0.3.3": version "0.3.3" - resolved "https://registry.yarnpkg.com/@types/cookie/-/cookie-0.3.3.tgz#85bc74ba782fb7aa3a514d11767832b0e3bc6803" + resolved "https://registry.npmjs.org/@types/cookie/-/cookie-0.3.3.tgz" integrity sha512-LKVP3cgXBT9RYj+t+9FDKwS5tdI+rPBXaNSkma7hvqy35lc7mAokC2zsqWJH0LaqIt3B962nuYI77hsJoT1gow== "@types/debug@^4.0.0": version "4.1.7" - resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.7.tgz#7cc0ea761509124709b8b2d1090d8f6c17aadb82" + resolved "https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz" integrity sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg== dependencies: "@types/ms" "*" "@types/estree@*", "@types/estree@^1.0.0": version "1.0.0" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.0.tgz#5fb2e536c1ae9bf35366eed879e827fa59ca41c2" + resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz" integrity sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ== "@types/hast@^2.0.0": version "2.3.4" - resolved "https://registry.yarnpkg.com/@types/hast/-/hast-2.3.4.tgz#8aa5ef92c117d20d974a82bdfb6a648b08c0bafc" + resolved "https://registry.npmjs.org/@types/hast/-/hast-2.3.4.tgz" integrity sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g== dependencies: "@types/unist" "*" "@types/hoist-non-react-statics@^3.0.1": version "3.3.1" - resolved "https://registry.yarnpkg.com/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz#1124aafe5118cb591977aeb1ceaaed1070eb039f" + resolved "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz" integrity sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA== dependencies: "@types/react" "*" @@ -1461,29 +1500,29 @@ "@types/json5@^0.0.29": version "0.0.29" - resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" + resolved "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz" integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== "@types/lodash@^4.14.175": version "4.14.191" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.191.tgz#09511e7f7cba275acd8b419ddac8da9a6a79e2fa" + resolved "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.191.tgz" integrity sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ== "@types/mdast@^3.0.0": version "3.0.10" - resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-3.0.10.tgz#4724244a82a4598884cbbe9bcfd73dff927ee8af" + resolved "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.10.tgz" integrity sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA== dependencies: "@types/unist" "*" "@types/mdurl@^1.0.0": version "1.0.2" - resolved "https://registry.yarnpkg.com/@types/mdurl/-/mdurl-1.0.2.tgz#e2ce9d83a613bacf284c7be7d491945e39e1f8e9" + resolved "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.2.tgz" integrity sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA== "@types/mongodb@^3.5.27": version "3.6.20" - resolved "https://registry.yarnpkg.com/@types/mongodb/-/mongodb-3.6.20.tgz#b7c5c580644f6364002b649af1c06c3c0454e1d2" + resolved "https://registry.npmjs.org/@types/mongodb/-/mongodb-3.6.20.tgz" integrity sha512-WcdpPJCakFzcWWD9juKoZbRtQxKIMYF/JIAM4JrNHrMcnJL6/a2NWjXxW7fo9hxboxxkg+icff8d7+WIEvKgYQ== dependencies: "@types/bson" "*" @@ -1491,23 +1530,23 @@ "@types/ms@*": version "0.7.31" - resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197" + resolved "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz" integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA== "@types/node@*": version "18.13.0" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.13.0.tgz#0400d1e6ce87e9d3032c19eb6c58205b0d3f7850" + resolved "https://registry.npmjs.org/@types/node/-/node-18.13.0.tgz" integrity sha512-gC3TazRzGoOnoKAhUx+Q0t8S9Tzs74z7m0ipwGpSqQrleP14hKxP4/JUeEQcD3W1/aIpnWl8pHowI7WokuZpXg== "@types/prop-types@*": version "15.7.5" - resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf" + resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz" integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w== "@types/react@*": - version "18.0.28" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.28.tgz#accaeb8b86f4908057ad629a26635fe641480065" - integrity sha512-RD0ivG1kEztNBdoAK7lekI9M+azSnitIn85h4iOiaLjaTrMjzslhaqCGaI4IyCJ1RljWiLCEu4jyrLLgqxBTew== + version "18.2.27" + resolved "https://registry.npmjs.org/@types/react/-/react-18.2.27.tgz" + integrity sha512-Wfv7B7FZiR2r3MIqbAlXoY1+tXm4bOqfz4oRr+nyXdBqapDBZ0l/IGcSlAfvxIHEEJjkPU0MYAc/BlFPOcrgLw== dependencies: "@types/prop-types" "*" "@types/scheduler" "*" @@ -1515,17 +1554,17 @@ "@types/scheduler@*": version "0.16.2" - resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39" + resolved "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz" integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew== "@types/unist@*", "@types/unist@^2.0.0": version "2.0.6" - resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.6.tgz#250a7b16c3b91f672a24552ec64678eeb1d3a08d" + resolved "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz" integrity sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ== "@typescript-eslint/parser@^4.20.0": version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.33.0.tgz#dfe797570d9694e560528d18eecad86c8c744899" + resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.33.0.tgz" integrity sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA== dependencies: "@typescript-eslint/scope-manager" "4.33.0" @@ -1535,7 +1574,7 @@ "@typescript-eslint/scope-manager@4.33.0": version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz#d38e49280d983e8772e29121cf8c6e9221f280a3" + resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz" integrity sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ== dependencies: "@typescript-eslint/types" "4.33.0" @@ -1543,12 +1582,12 @@ "@typescript-eslint/types@4.33.0": version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.33.0.tgz#a1e59036a3b53ae8430ceebf2a919dc7f9af6d72" + resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.33.0.tgz" integrity sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ== "@typescript-eslint/typescript-estree@4.33.0": version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz#0dfb51c2908f68c5c08d82aefeaf166a17c24609" + resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz" integrity sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA== dependencies: "@typescript-eslint/types" "4.33.0" @@ -1561,7 +1600,7 @@ "@typescript-eslint/visitor-keys@4.33.0": version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz#2a22f77a41604289b7a186586e9ec48ca92ef1dd" + resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz" integrity sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg== dependencies: "@typescript-eslint/types" "4.33.0" @@ -1569,12 +1608,12 @@ abbrev@1: version "1.1.1" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + resolved "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz" 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" + 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" @@ -1582,29 +1621,29 @@ accepts@~1.3.8: acorn-jsx@^5.3.1: version "5.3.2" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== acorn@^7.4.0: version "7.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== addr-to-ip-port@^1.0.1: version "1.5.4" - resolved "https://registry.yarnpkg.com/addr-to-ip-port/-/addr-to-ip-port-1.5.4.tgz#9542b1c6219fdb8c9ce6cc72c14ee880ab7ddd88" + resolved "https://registry.npmjs.org/addr-to-ip-port/-/addr-to-ip-port-1.5.4.tgz" integrity sha512-ByxmJgv8vjmDcl3IDToxL2yrWFrRtFpZAToY0f46XFXl8zS081t7El5MXIodwm7RC6DhHBRoOSMLFSPKCtHukg== agent-base@6: version "6.0.2" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + resolved "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz" integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== dependencies: debug "4" ajv@^6.10.0, ajv@^6.12.4: version "6.12.6" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== dependencies: fast-deep-equal "^3.1.1" @@ -1614,7 +1653,7 @@ ajv@^6.10.0, ajv@^6.12.4: ajv@^8.0.1: version "8.12.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" + resolved "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz" integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== dependencies: fast-deep-equal "^3.1.1" @@ -1624,31 +1663,31 @@ ajv@^8.0.1: ansi-colors@^4.1.1: version "4.1.3" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" + resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz" integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== ansi-regex@^5.0.1: version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" 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" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== dependencies: color-convert "^1.9.0" ansi-styles@^4.0.0, ansi-styles@^4.1.0: version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== dependencies: color-convert "^2.0.1" anymatch@~3.1.2: version "3.1.3" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== dependencies: normalize-path "^3.0.0" @@ -1656,17 +1695,17 @@ anymatch@~3.1.2: append-field@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/append-field/-/append-field-1.0.0.tgz#1e3440e915f0b1203d23748e78edd7b9b5b43e56" + resolved "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz" 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" + resolved "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz" 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" + resolved "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz" integrity sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw== dependencies: delegates "^1.0.0" @@ -1674,26 +1713,26 @@ are-we-there-yet@^2.0.0: argparse@^1.0.7: version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== dependencies: sprintf-js "~1.0.2" aria-query@^5.1.3: version "5.1.3" - resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.1.3.tgz#19db27cd101152773631396f7a95a3b58c22c35e" + resolved "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz" integrity sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ== dependencies: deep-equal "^2.0.5" array-flatten@1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz" integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== array-includes@^3.1.5, array-includes@^3.1.6: version "3.1.6" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.6.tgz#9e9e720e194f198266ba9e18c29e6a9b0e4b225f" + resolved "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz" integrity sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw== dependencies: call-bind "^1.0.2" @@ -1704,12 +1743,12 @@ array-includes@^3.1.5, array-includes@^3.1.6: array-union@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== array.prototype.flat@^1.3.1: version "1.3.1" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz#ffc6576a7ca3efc2f46a143b9d1dda9b4b3cf5e2" + resolved "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz" integrity sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA== dependencies: call-bind "^1.0.2" @@ -1719,7 +1758,7 @@ array.prototype.flat@^1.3.1: array.prototype.flatmap@^1.3.1: version "1.3.1" - resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz#1aae7903c2100433cb8261cd4ed310aab5c4a183" + resolved "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz" integrity sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ== dependencies: call-bind "^1.0.2" @@ -1729,7 +1768,7 @@ array.prototype.flatmap@^1.3.1: array.prototype.reduce@^1.0.5: version "1.0.5" - resolved "https://registry.yarnpkg.com/array.prototype.reduce/-/array.prototype.reduce-1.0.5.tgz#6b20b0daa9d9734dd6bc7ea66b5bbce395471eac" + resolved "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.5.tgz" integrity sha512-kDdugMl7id9COE8R7MHF5jWk7Dqt/fs4Pv+JXoICnYwqpjjjbUurz6w5fT5IG6brLdJhv6/VoHB0H7oyIBXd+Q== dependencies: call-bind "^1.0.2" @@ -1740,7 +1779,7 @@ array.prototype.reduce@^1.0.5: array.prototype.tosorted@^1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz#ccf44738aa2b5ac56578ffda97c03fd3e23dd532" + resolved "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz" integrity sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ== dependencies: call-bind "^1.0.2" @@ -1751,39 +1790,39 @@ array.prototype.tosorted@^1.1.1: ast-types-flow@^0.0.7: version "0.0.7" - resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" + resolved "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz" integrity sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag== astral-regex@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" + resolved "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz" integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== attr-accept@^2.2.2: version "2.2.2" - resolved "https://registry.yarnpkg.com/attr-accept/-/attr-accept-2.2.2.tgz#646613809660110749e92f2c10833b70968d929b" + resolved "https://registry.npmjs.org/attr-accept/-/attr-accept-2.2.2.tgz" integrity sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg== available-typed-arrays@^1.0.5: version "1.0.5" - resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" + resolved "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz" integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== axe-core@^4.6.2: version "4.6.3" - resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.6.3.tgz#fc0db6fdb65cc7a80ccf85286d91d64ababa3ece" + resolved "https://registry.npmjs.org/axe-core/-/axe-core-4.6.3.tgz" integrity sha512-/BQzOX780JhsxDnPpH4ZiyrJAzcd8AfzFPkv+89veFSr1rcMjuq2JDCwypKaPeB6ljHp9KjXhPpjgCvQlWYuqg== axobject-query@^3.1.1: version "3.1.1" - resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-3.1.1.tgz#3b6e5c6d4e43ca7ba51c5babf99d22a9c68485e1" + resolved "https://registry.npmjs.org/axobject-query/-/axobject-query-3.1.1.tgz" integrity sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg== dependencies: deep-equal "^2.0.5" babel-plugin-polyfill-corejs2@^0.3.3: version "0.3.3" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz#5d1bd3836d0a19e1b84bbf2d9640ccb6f951c122" + resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz" integrity sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q== dependencies: "@babel/compat-data" "^7.17.7" @@ -1792,7 +1831,7 @@ babel-plugin-polyfill-corejs2@^0.3.3: babel-plugin-polyfill-corejs3@^0.6.0: version "0.6.0" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz#56ad88237137eade485a71b52f72dbed57c6230a" + resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz" integrity sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA== dependencies: "@babel/helper-define-polyfill-provider" "^0.3.3" @@ -1800,14 +1839,14 @@ babel-plugin-polyfill-corejs3@^0.6.0: babel-plugin-polyfill-regenerator@^0.4.1: version "0.4.1" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz#390f91c38d90473592ed43351e801a9d3e0fd747" + resolved "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz" integrity sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw== dependencies: "@babel/helper-define-polyfill-provider" "^0.3.3" "babel-plugin-styled-components@>= 1.12.0": version "2.0.7" - resolved "https://registry.yarnpkg.com/babel-plugin-styled-components/-/babel-plugin-styled-components-2.0.7.tgz#c81ef34b713f9da2b7d3f5550df0d1e19e798086" + resolved "https://registry.npmjs.org/babel-plugin-styled-components/-/babel-plugin-styled-components-2.0.7.tgz" integrity sha512-i7YhvPgVqRKfoQ66toiZ06jPNA3p6ierpfUuEWxNF+fV27Uv5gxBkf8KZLHUCc1nFA9j6+80pYoIpqCeyW3/bA== dependencies: "@babel/helper-annotate-as-pure" "^7.16.0" @@ -1818,39 +1857,39 @@ babel-plugin-polyfill-regenerator@^0.4.1: babel-plugin-syntax-jsx@^6.18.0: version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946" + resolved "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz" integrity sha512-qrPaCSo9c8RHNRHIotaufGbuOBN8rtdC4QrrFFc43vyWCCz7Kl7GL1PGaXtMGQZUXrkCjNEgxDfmAuAabr/rlw== bail@^2.0.0: version "2.0.2" - resolved "https://registry.yarnpkg.com/bail/-/bail-2.0.2.tgz#d26f5cd8fe5d6f832a31517b9f7c356040ba6d5d" + resolved "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz" integrity sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw== balanced-match@^1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== base32.js@0.0.1: version "0.0.1" - resolved "https://registry.yarnpkg.com/base32.js/-/base32.js-0.0.1.tgz#d045736a57b1f6c139f0c7df42518a84e91bb2ba" + resolved "https://registry.npmjs.org/base32.js/-/base32.js-0.0.1.tgz" integrity sha512-EGHIRiegFa62/SsA1J+Xs2tIzludPdzM064N9wjbiEgHnGnJ1V0WEpA4pEwCYT5nDvZk3ubf0shqaCS7k6xeUQ== base64-js@^1.3.1: version "1.5.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== basic-auth@~2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/basic-auth/-/basic-auth-2.0.1.tgz#b998279bf47ce38344b4f3cf916d4679bbf51e3a" + resolved "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz" integrity sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg== dependencies: safe-buffer "5.1.2" bcrypt@^5.0.1: version "5.1.0" - resolved "https://registry.yarnpkg.com/bcrypt/-/bcrypt-5.1.0.tgz#bbb27665dbc400480a524d8991ac7434e8529e17" + resolved "https://registry.npmjs.org/bcrypt/-/bcrypt-5.1.0.tgz" integrity sha512-RHBS7HI5N5tEnGTmtR/pppX0mmDSBpQ4aCBsj7CEQfYXDcO74A8sIBYcJMuCsis2E81zDxeENYhv66oZwLiA+Q== dependencies: "@mapbox/node-pre-gyp" "^1.0.10" @@ -1858,22 +1897,22 @@ bcrypt@^5.0.1: bencode@^2.0.1: version "2.0.3" - resolved "https://registry.yarnpkg.com/bencode/-/bencode-2.0.3.tgz#89b9c80ea1b8573554915a7d0c15f62b0aa7fc52" + resolved "https://registry.npmjs.org/bencode/-/bencode-2.0.3.tgz" integrity sha512-D/vrAD4dLVX23NalHwb8dSvsUsxeRPO8Y7ToKA015JQYq69MLDOMkC0uGZYA/MPpltLO8rt8eqFC2j8DxjTZ/w== binary-extensions@^2.0.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== bittorrent-peerid@^1.3.3: version "1.3.6" - resolved "https://registry.yarnpkg.com/bittorrent-peerid/-/bittorrent-peerid-1.3.6.tgz#3688705a64937a8176ac2ded1178fc7bd91b61db" + resolved "https://registry.npmjs.org/bittorrent-peerid/-/bittorrent-peerid-1.3.6.tgz" integrity sha512-VyLcUjVMEOdSpHaCG/7odvCdLbAB1y3l9A2V6WIje24uV7FkJPrQrH/RrlFmKxP89pFVDEnE+YlHaFujlFIZsg== bittorrent-tracker@9.19.0: version "9.19.0" - resolved "https://registry.yarnpkg.com/bittorrent-tracker/-/bittorrent-tracker-9.19.0.tgz#2266bfa8a45a57b09f8d8b184710ba531712d8ef" + resolved "https://registry.npmjs.org/bittorrent-tracker/-/bittorrent-tracker-9.19.0.tgz" integrity sha512-09d0aD2b+MC+zWvWajkUAKkYMynYW4tMbTKiRSthKtJZbafzEoNQSUHyND24SoCe3ZOb2fKfa6fu2INAESL9wA== dependencies: bencode "^2.0.1" @@ -1905,7 +1944,7 @@ bittorrent-tracker@9.19.0: bl@^2.2.1: version "2.2.1" - resolved "https://registry.yarnpkg.com/bl/-/bl-2.2.1.tgz#8c11a7b730655c5d56898cdc871224f40fd901d5" + resolved "https://registry.npmjs.org/bl/-/bl-2.2.1.tgz" integrity sha512-6Pesp1w0DEX1N550i/uGV/TqucVL4AM/pgThFSN/Qq9si1/DF9aIHs1BxD8V/QU0HoeHO6cQRTAuYnLPKq1e4g== dependencies: readable-stream "^2.3.5" @@ -1913,17 +1952,17 @@ bl@^2.2.1: bluebird@3.5.1: version "3.5.1" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9" + resolved "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz" integrity sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA== bn.js@^5.2.0: version "5.2.1" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" + resolved "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz" integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== body-parser@1.20.1, body-parser@^1.19.0: version "1.20.1" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.1.tgz#b1812a8912c195cd371a3ee5e66faa2338a5c668" + resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz" integrity sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw== dependencies: bytes "3.1.2" @@ -1941,7 +1980,7 @@ body-parser@1.20.1, body-parser@^1.19.0: brace-expansion@^1.1.7: version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== dependencies: balanced-match "^1.0.0" @@ -1949,21 +1988,21 @@ brace-expansion@^1.1.7: brace-expansion@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz" integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== dependencies: balanced-match "^1.0.0" braces@^3.0.2, braces@~3.0.2: version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== dependencies: fill-range "^7.0.1" browserslist@^4.21.3, browserslist@^4.21.5: version "4.21.5" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.5.tgz#75c5dae60063ee641f977e00edd3cfb2fb7af6a7" + resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz" integrity sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w== dependencies: caniuse-lite "^1.0.30001449" @@ -1971,29 +2010,24 @@ browserslist@^4.21.3, browserslist@^4.21.5: node-releases "^2.0.8" update-browserslist-db "^1.0.10" -bson@*: - version "5.0.1" - resolved "https://registry.yarnpkg.com/bson/-/bson-5.0.1.tgz#4cd3eeeabf6652ef0d6ab600f9a18212d39baac3" - integrity sha512-y09gBGusgHtinMon/GVbv1J6FrXhnr/+6hqLlSmEFzkz6PodqF6TxjyvfvY3AfO+oG1mgUtbC86xSbOlwvM62Q== - bson@^1.1.4: version "1.1.6" - resolved "https://registry.yarnpkg.com/bson/-/bson-1.1.6.tgz#fb819be9a60cd677e0853aee4ca712a785d6618a" + resolved "https://registry.npmjs.org/bson/-/bson-1.1.6.tgz" 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" + resolved "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz" 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" + resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== buffer@^6.0.3: version "6.0.3" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" + resolved "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz" integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== dependencies: base64-js "^1.3.1" @@ -2001,14 +2035,14 @@ buffer@^6.0.3: bufferutil@^4.0.3: version "4.0.7" - resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.7.tgz#60c0d19ba2c992dd8273d3f73772ffc894c153ad" + resolved "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.7.tgz" integrity sha512-kukuqc39WOHtdxtw4UScxF/WVnMFVSQVKhtx3AjZJzhd0RGZZldcrfSEbVsWWe6KNH253574cq5F+wpv0G9pJw== dependencies: node-gyp-build "^4.3.0" busboy@^0.2.11: version "0.2.14" - resolved "https://registry.yarnpkg.com/busboy/-/busboy-0.2.14.tgz#6c2a622efcf47c57bbbe1e2a9c37ad36c7925453" + resolved "https://registry.npmjs.org/busboy/-/busboy-0.2.14.tgz" integrity sha512-InWFDomvlkEj+xWLBfU3AvnbVYqeTWmQopiW0tWWEy5yehYm2YkGEc59sUmw/4ty5Zj/b0WHGs1LgecuBSBGrg== dependencies: dicer "0.2.5" @@ -2016,12 +2050,12 @@ busboy@^0.2.11: bytes@3.1.2: version "3.1.2" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" + resolved "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz" integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== call-bind@^1.0.0, call-bind@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" + resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz" integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== dependencies: function-bind "^1.1.1" @@ -2029,32 +2063,32 @@ call-bind@^1.0.0, call-bind@^1.0.2: callsites@^3.0.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== camelcase@^5.0.0: version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== camelize@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/camelize/-/camelize-1.0.1.tgz#89b7e16884056331a35d6b5ad064332c91daa6c3" + resolved "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz" integrity sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ== caniuse-lite@^1.0.30001332, caniuse-lite@^1.0.30001449: - version "1.0.30001456" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001456.tgz#734ec1dbfa4f3abe6e435b78ecf40d68e8c32ce4" - integrity sha512-XFHJY5dUgmpMV25UqaD4kVq2LsiaU5rS8fb0f17pCoXQiQslzmFgnfOxfvo1bTpTqf7dwG/N/05CnLCnOEKmzA== + version "1.0.30001546" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001546.tgz" + integrity sha512-zvtSJwuQFpewSyRrI3AsftF6rM0X80mZkChIt1spBGEvRglCrjTniXvinc8JKRoqTwXAgvqTImaN9igfSMtUBw== ccount@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/ccount/-/ccount-2.0.1.tgz#17a3bf82302e0870d6da43a01311a8bc02a3ecf5" + resolved "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz" integrity sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg== chalk@3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" + resolved "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz" integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== dependencies: ansi-styles "^4.1.0" @@ -2062,7 +2096,7 @@ chalk@3.0.0: chalk@^2.0.0, chalk@^2.4.1: version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== dependencies: ansi-styles "^3.2.1" @@ -2071,7 +2105,7 @@ chalk@^2.0.0, chalk@^2.4.1: chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1: version "4.1.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== dependencies: ansi-styles "^4.1.0" @@ -2079,12 +2113,12 @@ chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1: character-entities@^2.0.0: version "2.0.2" - resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-2.0.2.tgz#2d09c2e72cd9523076ccb21157dff66ad43fcc22" + resolved "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz" integrity sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ== chokidar@^3.5.2: version "3.5.3" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" + resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz" integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== dependencies: anymatch "~3.1.2" @@ -2099,12 +2133,12 @@ chokidar@^3.5.2: chownr@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" + resolved "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz" integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== chrome-dgram@^3.0.6: version "3.0.6" - resolved "https://registry.yarnpkg.com/chrome-dgram/-/chrome-dgram-3.0.6.tgz#2288b5c7471f66f073691206d36319dda713cf55" + resolved "https://registry.npmjs.org/chrome-dgram/-/chrome-dgram-3.0.6.tgz" integrity sha512-bqBsUuaOiXiqxXt/zA/jukNJJ4oaOtc7ciwqJpZVEaaXwwxqgI2/ZdG02vXYWUhHGziDlvGMQWk0qObgJwVYKA== dependencies: inherits "^2.0.4" @@ -2112,7 +2146,7 @@ chrome-dgram@^3.0.6: cliui@^6.0.0: version "6.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" + resolved "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz" integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== dependencies: string-width "^4.2.0" @@ -2121,7 +2155,7 @@ cliui@^6.0.0: cliui@^8.0.1: version "8.0.1" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" + resolved "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz" integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== dependencies: string-width "^4.2.0" @@ -2130,7 +2164,7 @@ cliui@^8.0.1: clone-deep@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" + resolved "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz" integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== dependencies: is-plain-object "^2.0.4" @@ -2139,68 +2173,68 @@ clone-deep@^4.0.1: clone@^2.0.0: version "2.1.2" - resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" + resolved "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz" integrity sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w== color-convert@^1.9.0: version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" 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" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== dependencies: color-name "~1.1.4" color-name@1.1.3: version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" 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" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" 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" + resolved "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz" integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== comma-separated-tokens@^2.0.0: version "2.0.3" - resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz#4e89c9458acb61bc8fef19f4529973b2392839ee" + resolved "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz" integrity sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg== commander@^4.0.1: version "4.1.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" + resolved "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz" integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== commondir@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + resolved "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz" integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== compact2string@^1.4.1: version "1.4.1" - resolved "https://registry.yarnpkg.com/compact2string/-/compact2string-1.4.1.tgz#8d34929055f8300a13cfc030ad1832e2e53c2e25" + resolved "https://registry.npmjs.org/compact2string/-/compact2string-1.4.1.tgz" integrity sha512-3D+EY5nsRhqnOwDxveBv5T8wGo4DEvYxjDtPGmdOX+gfr5gE92c2RC0w2wa+xEefm07QuVqqcF3nZJUZ92l/og== dependencies: ipaddr.js ">= 0.1.5" concat-map@0.0.1: version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" 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" + resolved "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz" integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== dependencies: buffer-from "^1.0.0" @@ -2210,7 +2244,7 @@ concat-stream@^1.5.2: concurrently@^7.6.0: version "7.6.0" - resolved "https://registry.yarnpkg.com/concurrently/-/concurrently-7.6.0.tgz#531a6f5f30cf616f355a4afb8f8fcb2bba65a49a" + resolved "https://registry.npmjs.org/concurrently/-/concurrently-7.6.0.tgz" integrity sha512-BKtRgvcJGeZ4XttiDiNcFiRlxoAeZOseqUvyYRUp/Vtd+9p1ULmeoSqGsDA+2ivdeDFpqrJvGvmI+StKfKl5hw== dependencies: chalk "^4.1.0" @@ -2225,29 +2259,29 @@ concurrently@^7.6.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" + resolved "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz" integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ== -content-disposition@0.5.4: +content-disposition@0.5.4, content-disposition@^0.5.4: version "0.5.4" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" + 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" content-type@~1.0.4: version "1.0.5" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" + resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz" integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== convert-source-map@^1.7.0: version "1.9.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" + resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz" integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== cookie-parser@^1.4.6: version "1.4.6" - resolved "https://registry.yarnpkg.com/cookie-parser/-/cookie-parser-1.4.6.tgz#3ac3a7d35a7a03bbc7e365073a26074824214594" + resolved "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.6.tgz" integrity sha512-z3IzaNjdwUC2olLIB5/ITd0/setiaFMLYiZJle7xg5Fe9KWAceil7xszYfHHBtDFYLSgJduS2Ty0P1uJdPDJeA== dependencies: cookie "0.4.1" @@ -2255,51 +2289,51 @@ cookie-parser@^1.4.6: cookie-signature@1.0.6: version "1.0.6" - resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + resolved "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== cookie@0.4.1: version "0.4.1" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.1.tgz#afd713fe26ebd21ba95ceb61f9a8116e50a537d1" + resolved "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz" integrity sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA== -cookie@0.5.0: +cookie@0.5.0, cookie@^0.5.0: version "0.5.0" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" + resolved "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz" integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== -cookie@^0.4.0, cookie@^0.4.1: +cookie@^0.4.0: version "0.4.2" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" + resolved "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz" integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== copy-to-clipboard@^3.3.1: version "3.3.3" - resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz#55ac43a1db8ae639a4bd99511c148cdd1b83a1b0" + resolved "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz" integrity sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA== dependencies: toggle-selection "^1.0.6" core-js-compat@^3.25.1: version "3.28.0" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.28.0.tgz#c08456d854608a7264530a2afa281fadf20ecee6" + resolved "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.28.0.tgz" integrity sha512-myzPgE7QodMg4nnd3K1TDoES/nADRStM8Gpz0D6nhkwbmwEnE0ZGJgoWsvQ722FR8D7xS0n0LV556RcEicjTyg== dependencies: browserslist "^4.21.5" core-js@^3.26.0: version "3.28.0" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.28.0.tgz#ed8b9e99c273879fdfff0edfc77ee709a5800e4a" + resolved "https://registry.npmjs.org/core-js/-/core-js-3.28.0.tgz" integrity sha512-GiZn9D4Z/rSYvTeg1ljAIsEqFm0LaN9gVtwDCrKL80zHtS31p9BAjmTxVqTQDMpwlMolJZOFntUG2uwyj7DAqw== 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" + resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz" integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== cors@^2.8.5: version "2.8.5" - resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" + resolved "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz" integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== dependencies: object-assign "^4" @@ -2307,7 +2341,7 @@ cors@^2.8.5: cross-spawn@^6.0.5: version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz" integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== dependencies: nice-try "^1.0.4" @@ -2318,7 +2352,7 @@ cross-spawn@^6.0.5: cross-spawn@^7.0.2: version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== dependencies: path-key "^3.1.0" @@ -2327,12 +2361,12 @@ cross-spawn@^7.0.2: css-color-keywords@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/css-color-keywords/-/css-color-keywords-1.0.0.tgz#fea2616dc676b2962686b3af8dbdbe180b244e05" + resolved "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz" integrity sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg== css-to-react-native@^3.0.0: version "3.2.0" - resolved "https://registry.yarnpkg.com/css-to-react-native/-/css-to-react-native-3.2.0.tgz#cdd8099f71024e149e4f6fe17a7d46ecd55f1e32" + resolved "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.2.0.tgz" integrity sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ== dependencies: camelize "^1.0.0" @@ -2341,12 +2375,12 @@ css-to-react-native@^3.0.0: csstype@^3.0.2: version "3.1.1" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.1.tgz#841b532c45c758ee546a11d5bd7b7b473c8c30b9" + resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz" integrity sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw== d@1, d@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" + resolved "https://registry.npmjs.org/d/-/d-1.0.1.tgz" integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== dependencies: es5-ext "^0.10.50" @@ -2354,64 +2388,64 @@ d@1, d@^1.0.1: damerau-levenshtein@^1.0.8: version "1.0.8" - resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7" + resolved "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz" integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA== date-fns@^2.29.1: version "2.29.3" - resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.29.3.tgz#27402d2fc67eb442b511b70bbdf98e6411cd68a8" + resolved "https://registry.npmjs.org/date-fns/-/date-fns-2.29.3.tgz" integrity sha512-dDCnyH2WnnKusqvZZ6+jA1O51Ibt8ZMRNkDZdyAyK4YfbDwa/cEmuztzG5pk6hqlp9aSBPYcjOlktquahGwGeA== debug@2.6.9: version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== dependencies: ms "2.0.0" debug@3.1.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" + resolved "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz" integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== dependencies: ms "2.0.0" debug@4, debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: version "4.3.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" 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" + resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== dependencies: ms "^2.1.1" decamelize@^1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + resolved "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== decode-named-character-reference@^1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz#daabac9690874c394c81e4162a0304b35d824f0e" + resolved "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz" integrity sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg== dependencies: character-entities "^2.0.0" decompress-response@^6.0.0: version "6.0.0" - resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" + resolved "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz" integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== dependencies: mimic-response "^3.1.0" deep-equal@^2.0.5: version "2.2.0" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-2.2.0.tgz#5caeace9c781028b9ff459f33b779346637c43e6" + resolved "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.0.tgz" integrity sha512-RdpzE0Hv4lhowpIUKKMJfeH6C1pXdtT1/it80ubgWqwI3qpuxUBpC1S4hnHg+zjnuOoDkzUtUCEEkG+XG5l3Mw== dependencies: call-bind "^1.0.2" @@ -2434,12 +2468,12 @@ deep-equal@^2.0.5: deep-is@^0.1.3: version "0.1.4" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== define-properties@^1.1.3, define-properties@^1.1.4: version "1.2.0" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.0.tgz#52988570670c9eacedd8064f4a990f2405849bd5" + resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz" integrity sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA== dependencies: has-property-descriptors "^1.0.0" @@ -2447,37 +2481,37 @@ define-properties@^1.1.3, define-properties@^1.1.4: delegates@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + resolved "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz" 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" + resolved "https://registry.npmjs.org/denque/-/denque-1.5.1.tgz" integrity sha512-XwE+iZ4D6ZUB7mfYRMb5wByE8L74HCn30FBN7sWnXksWc1LO1bPDl67pBR9o/kC4z/xSNAwkMYcGgqDV3BE3Hw== depd@2.0.0, depd@~2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" + resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== dequal@^2.0.0: version "2.0.3" - resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" + resolved "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz" integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== destroy@1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" + resolved "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz" 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" + resolved "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz" integrity sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w== dicer@0.2.5: version "0.2.5" - resolved "https://registry.yarnpkg.com/dicer/-/dicer-0.2.5.tgz#5996c086bb33218c812c090bddc09cd12facb70f" + resolved "https://registry.npmjs.org/dicer/-/dicer-0.2.5.tgz" integrity sha512-FDvbtnq7dzlPz0wyYlOExifDEZcu8h+rErEXgfxqmLfRfC/kJidEFh4+effJRO3P0xmfqyPbSMG0LveNRfTKVg== dependencies: readable-stream "1.1.x" @@ -2485,99 +2519,99 @@ dicer@0.2.5: diff@^5.0.0: version "5.1.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-5.1.0.tgz#bc52d298c5ea8df9194800224445ed43ffc87e40" + resolved "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz" integrity sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw== dijkstrajs@^1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/dijkstrajs/-/dijkstrajs-1.0.2.tgz#2e48c0d3b825462afe75ab4ad5e829c8ece36257" + resolved "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.2.tgz" integrity sha512-QV6PMaHTCNmKSeP6QoXhVTw9snc9VD8MulTT0Bd99Pacp4SS1cjcrYPgBPmibqKVtMJJfqC6XvOXgPMEEPH/fg== dir-glob@^3.0.1: version "3.0.1" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== dependencies: path-type "^4.0.0" doctrine@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + resolved "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz" integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== dependencies: esutils "^2.0.2" doctrine@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== dependencies: esutils "^2.0.2" dotenv@^10.0.0: version "10.0.0" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-10.0.0.tgz#3d4227b8fb95f81096cdd2b66653fb2c7085ba81" + resolved "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz" integrity sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q== 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" + resolved "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz" 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" + resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== electron-to-chromium@^1.4.284: version "1.4.301" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.301.tgz#175d9fa1509a5b062752c6db321051e610fe2eae" + resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.301.tgz" integrity sha512-bz00ASIIDjcgszZKuEA1JEFhbDjqUNbQ/PEhNEl1wbixzYpeTp2H2QWjsQvAL2T1wJBdOwCF5hE896BoMwYKrA== emoji-regex@^8.0.0: version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== emoji-regex@^9.2.2: version "9.2.2" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz" integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== encode-utf8@^1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/encode-utf8/-/encode-utf8-1.0.3.tgz#f30fdd31da07fb596f281beb2f6b027851994cda" + resolved "https://registry.npmjs.org/encode-utf8/-/encode-utf8-1.0.3.tgz" integrity sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw== encodeurl@~1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz" integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== enquirer@^2.3.5: version "2.3.6" - resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" + resolved "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz" integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== dependencies: ansi-colors "^4.1.1" err-code@^3.0.1: version "3.0.1" - resolved "https://registry.yarnpkg.com/err-code/-/err-code-3.0.1.tgz#a444c7b992705f2b120ee320b09972eef331c920" + resolved "https://registry.npmjs.org/err-code/-/err-code-3.0.1.tgz" integrity sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA== error-ex@^1.3.1: version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== dependencies: is-arrayish "^0.2.1" es-abstract@^1.19.0, es-abstract@^1.20.4: version "1.21.1" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.21.1.tgz#e6105a099967c08377830a0c9cb589d570dd86c6" + resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.1.tgz" integrity sha512-QudMsPOz86xYz/1dG1OuGBKOELjCh99IIWHLzy5znUB6j8xG2yMA7bfTV86VSqKF+Y/H08vQPR+9jyXpuC6hfg== dependencies: available-typed-arrays "^1.0.5" @@ -2616,12 +2650,12 @@ es-abstract@^1.19.0, es-abstract@^1.20.4: es-array-method-boxes-properly@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e" + resolved "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz" integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA== es-get-iterator@^1.1.2: version "1.1.3" - resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.3.tgz#3ef87523c5d464d41084b2c3c9c214f1199763d6" + resolved "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz" integrity sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw== dependencies: call-bind "^1.0.2" @@ -2636,7 +2670,7 @@ es-get-iterator@^1.1.2: es-set-tostringtag@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz#338d502f6f674301d710b80c8592de8a15f09cd8" + resolved "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz" integrity sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg== dependencies: get-intrinsic "^1.1.3" @@ -2645,14 +2679,14 @@ es-set-tostringtag@^2.0.1: es-shim-unscopables@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241" + resolved "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz" integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== dependencies: has "^1.0.3" es-to-primitive@^1.2.1: version "1.2.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + resolved "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== dependencies: is-callable "^1.1.4" @@ -2661,7 +2695,7 @@ es-to-primitive@^1.2.1: es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.50, es5-ext@^0.10.53, es5-ext@~0.10.14, es5-ext@~0.10.2, es5-ext@~0.10.46: version "0.10.62" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.62.tgz#5e6adc19a6da524bf3d1e02bbc8960e5eb49a9a5" + resolved "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz" integrity sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA== dependencies: es6-iterator "^2.0.3" @@ -2670,7 +2704,7 @@ es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.50, es5-ext@^0.10.53, es5-ext@ es6-iterator@^2.0.3: version "2.0.3" - resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" + resolved "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz" integrity sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g== dependencies: d "1" @@ -2679,7 +2713,7 @@ es6-iterator@^2.0.3: es6-symbol@^3.1.1, es6-symbol@^3.1.3: version "3.1.3" - resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" + resolved "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz" integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA== dependencies: d "^1.0.1" @@ -2687,7 +2721,7 @@ es6-symbol@^3.1.1, es6-symbol@^3.1.3: es6-weak-map@^2.0.3: version "2.0.3" - resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.3.tgz#b6da1f16cc2cc0d9be43e6bdbfc5e7dfcdf31d53" + resolved "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz" integrity sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA== dependencies: d "1" @@ -2697,32 +2731,32 @@ es6-weak-map@^2.0.3: escalade@^3.1.1: version "3.1.1" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== escape-html@~1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== 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" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== escape-string-regexp@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== escape-string-regexp@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz#4683126b500b61762f2dbebace1806e8be31b1c8" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz" integrity sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw== eslint-config-next@12.0.4: version "12.0.4" - resolved "https://registry.yarnpkg.com/eslint-config-next/-/eslint-config-next-12.0.4.tgz#22f0305770f0d11bfa034df0efea7cf9cdb37d58" + resolved "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-12.0.4.tgz" integrity sha512-uBOHBjYaRF0MaS5feB7lFOncHhSrtFxZy/oud6pEW/wn/JUQtZWeH/J4JyODBfX+G7h9mttgHLZNmUjNJis6Kw== dependencies: "@next/eslint-plugin-next" "12.0.4" @@ -2737,12 +2771,12 @@ eslint-config-next@12.0.4: eslint-config-prettier@^8.3.0: version "8.6.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.6.0.tgz#dec1d29ab728f4fa63061774e1672ac4e363d207" + resolved "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.6.0.tgz" integrity sha512-bAF0eLpLVqP5oEVUFKpMA+NnRFICwn9X8B5jrR9FcqnYBuPbqWEjTEspPWMj5ye6czoSLDweCzSo3Ko7gGrZaA== eslint-import-resolver-node@^0.3.4, eslint-import-resolver-node@^0.3.7: version "0.3.7" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz#83b375187d412324a1963d84fa664377a23eb4d7" + resolved "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz" integrity sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA== dependencies: debug "^3.2.7" @@ -2751,7 +2785,7 @@ eslint-import-resolver-node@^0.3.4, eslint-import-resolver-node@^0.3.7: eslint-import-resolver-typescript@^2.4.0: version "2.7.1" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.7.1.tgz#a90a4a1c80da8d632df25994c4c5fdcdd02b8751" + resolved "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.7.1.tgz" integrity sha512-00UbgGwV8bSgUv34igBDbTOtKhqoRMy9bFjNehT40bXg6585PNIct8HhXZ0SybqB9rWtXj9crcku8ndDn/gIqQ== dependencies: debug "^4.3.4" @@ -2762,14 +2796,14 @@ eslint-import-resolver-typescript@^2.4.0: eslint-module-utils@^2.7.4: version "2.7.4" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz#4f3e41116aaf13a20792261e61d3a2e7e0583974" + resolved "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz" integrity sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA== dependencies: debug "^3.2.7" eslint-plugin-import@^2.22.1: version "2.27.5" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz#876a6d03f52608a3e5bb439c2550588e51dd6c65" + resolved "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz" integrity sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow== dependencies: array-includes "^3.1.6" @@ -2790,7 +2824,7 @@ eslint-plugin-import@^2.22.1: eslint-plugin-jsx-a11y@^6.4.1: version "6.7.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz#fca5e02d115f48c9a597a6894d5bcec2f7a76976" + resolved "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz" integrity sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA== dependencies: "@babel/runtime" "^7.20.7" @@ -2812,19 +2846,19 @@ eslint-plugin-jsx-a11y@^6.4.1: eslint-plugin-prettier@^3.4.0: version "3.4.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz#e9ddb200efb6f3d05ffe83b1665a716af4a387e5" + resolved "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz" integrity sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g== dependencies: prettier-linter-helpers "^1.0.0" eslint-plugin-react-hooks@^4.2.0: version "4.6.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3" + resolved "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz" integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g== eslint-plugin-react@^7.23.1: version "7.32.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz#e71f21c7c265ebce01bcbc9d0955170c55571f10" + resolved "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz" integrity sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg== dependencies: array-includes "^3.1.6" @@ -2845,7 +2879,7 @@ eslint-plugin-react@^7.23.1: eslint-scope@^5.1.1: version "5.1.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== dependencies: esrecurse "^4.3.0" @@ -2853,24 +2887,24 @@ eslint-scope@^5.1.1: eslint-utils@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" + resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz" integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== dependencies: eslint-visitor-keys "^1.1.0" eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz" integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== eslint-visitor-keys@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz" integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== eslint@7, eslint@^7.30.0: version "7.32.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d" + resolved "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz" integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== dependencies: "@babel/code-frame" "7.12.11" @@ -2916,7 +2950,7 @@ eslint@7, eslint@^7.30.0: espree@^7.3.0, espree@^7.3.1: version "7.3.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" + resolved "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz" integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== dependencies: acorn "^7.4.0" @@ -2925,51 +2959,51 @@ espree@^7.3.0, espree@^7.3.1: esprima@^4.0.0: version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== esquery@^1.4.0: version "1.4.2" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.2.tgz#c6d3fee05dd665808e2ad870631f221f5617b1d1" + resolved "https://registry.npmjs.org/esquery/-/esquery-1.4.2.tgz" integrity sha512-JVSoLdTlTDkmjFmab7H/9SL9qGSyjElT3myyKp7krqjVFQCDLmj1QFaCLRFBszBKI0XVZaiiXvuPIX3ZwHe1Ng== dependencies: estraverse "^5.1.0" esrecurse@^4.3.0: version "4.3.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== dependencies: estraverse "^5.2.0" estraverse@^4.1.1: version "4.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: version "5.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== estree-walker@^2.0.2: version "2.0.2" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" + resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz" integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== esutils@^2.0.2: version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== etag@~1.8.1: version "1.8.1" - resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + resolved "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz" integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== event-emitter@^0.3.5: version "0.3.5" - resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" + resolved "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz" integrity sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA== dependencies: d "1" @@ -2977,12 +3011,12 @@ event-emitter@^0.3.5: express-rate-limit@^6.7.0: version "6.7.0" - resolved "https://registry.yarnpkg.com/express-rate-limit/-/express-rate-limit-6.7.0.tgz#6aa8a1bd63dfe79702267b3af1161a93afc1d3c2" + resolved "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-6.7.0.tgz" integrity sha512-vhwIdRoqcYB/72TK3tRZI+0ttS8Ytrk24GfmsxDXK9o9IhHNO5bXRiXQSExPQ4GbaE5tvIS7j1SGrxsuWs+sGA== express@^4.17.1: version "4.18.2" - resolved "https://registry.yarnpkg.com/express/-/express-4.18.2.tgz#3fabe08296e930c796c19e3c516979386ba9fd59" + resolved "https://registry.npmjs.org/express/-/express-4.18.2.tgz" integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ== dependencies: accepts "~1.3.8" @@ -3019,29 +3053,29 @@ express@^4.17.1: ext@^1.1.2: version "1.7.0" - resolved "https://registry.yarnpkg.com/ext/-/ext-1.7.0.tgz#0ea4383c0103d60e70be99e9a7f11027a33c4f5f" + resolved "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz" integrity sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw== dependencies: type "^2.7.2" extend@^3.0.0: version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + resolved "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz" integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== fast-diff@^1.1.2: version "1.2.0" - resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" + resolved "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz" integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== fast-glob@^3.2.9: version "3.2.12" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" + resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz" integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== dependencies: "@nodelib/fs.stat" "^2.0.2" @@ -3052,45 +3086,45 @@ fast-glob@^3.2.9: 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" + resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== fast-levenshtein@^2.0.6: version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== fastq@^1.6.0: version "1.15.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a" + resolved "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz" integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== dependencies: reusify "^1.0.4" file-entry-cache@^6.0.1: version "6.0.1" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" + resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== dependencies: flat-cache "^3.0.4" file-selector@^0.6.0: version "0.6.0" - resolved "https://registry.yarnpkg.com/file-selector/-/file-selector-0.6.0.tgz#fa0a8d9007b829504db4d07dd4de0310b65287dc" + resolved "https://registry.npmjs.org/file-selector/-/file-selector-0.6.0.tgz" integrity sha512-QlZ5yJC0VxHxQQsQhXvBaC7VRJ2uaxTf+Tfpu4Z/OcVQJVpZO+DGU0rkoVW5ce2SccxugvpBJoMvUs59iILYdw== dependencies: tslib "^2.4.0" fill-range@^7.0.1: version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" 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" + resolved "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz" integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== dependencies: debug "2.6.9" @@ -3103,7 +3137,7 @@ finalhandler@1.2.0: find-cache-dir@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" + resolved "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz" integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== dependencies: commondir "^1.0.1" @@ -3112,14 +3146,14 @@ find-cache-dir@^2.0.0: find-up@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + resolved "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz" integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== dependencies: locate-path "^3.0.0" find-up@^4.1.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== dependencies: locate-path "^5.0.0" @@ -3127,7 +3161,7 @@ find-up@^4.1.0: flat-cache@^3.0.4: version "3.0.4" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" + resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz" integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== dependencies: flatted "^3.1.0" @@ -3135,51 +3169,51 @@ flat-cache@^3.0.4: flatted@^3.1.0: version "3.2.7" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" + resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz" integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== for-each@^0.3.3: version "0.3.3" - resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" + resolved "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz" integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== dependencies: is-callable "^1.1.3" forwarded@0.2.0: version "0.2.0" - resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" + resolved "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz" integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== fresh@0.5.2: version "0.5.2" - resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz" 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" + resolved "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz" 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" + resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" 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== + version "2.3.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== function-bind@^1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== function.prototype.name@^1.1.5: version "1.1.5" - resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621" + resolved "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz" integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== dependencies: call-bind "^1.0.2" @@ -3189,17 +3223,17 @@ function.prototype.name@^1.1.5: functional-red-black-tree@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + resolved "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz" integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g== functions-have-names@^1.2.2: version "1.2.3" - resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" + resolved "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz" integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== gauge@^3.0.0: version "3.0.2" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-3.0.2.tgz#03bf4441c044383908bcfa0656ad91803259b395" + resolved "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz" integrity sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q== dependencies: aproba "^1.0.3 || ^2.0.0" @@ -3214,22 +3248,22 @@ gauge@^3.0.0: gensync@^1.0.0-beta.2: version "1.0.0-beta.2" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== get-browser-rtc@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/get-browser-rtc/-/get-browser-rtc-1.1.0.tgz#d1494e299b00f33fc8e9d6d3343ba4ba99711a2c" + resolved "https://registry.npmjs.org/get-browser-rtc/-/get-browser-rtc-1.1.0.tgz" integrity sha512-MghbMJ61EJrRsDe7w1Bvqt3ZsBuqhce5nrn/XAwgwOXhcsz53/ltdxOse1h/8eKXj5slzxdsz56g5rzOFSGwfQ== get-caller-file@^2.0.1, get-caller-file@^2.0.5: version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.0.tgz#7ad1dc0535f3a2904bba075772763e5051f6d05f" + resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz" integrity sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q== dependencies: function-bind "^1.1.1" @@ -3238,7 +3272,7 @@ get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@ get-symbol-description@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" + resolved "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz" integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== dependencies: call-bind "^1.0.2" @@ -3246,14 +3280,14 @@ get-symbol-description@^1.0.0: glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== dependencies: is-glob "^4.0.1" glob@7.1.7: version "7.1.7" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" + resolved "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz" integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== dependencies: fs.realpath "^1.0.0" @@ -3265,7 +3299,7 @@ glob@7.1.7: glob@^7.1.3, glob@^7.2.0: version "7.2.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== dependencies: fs.realpath "^1.0.0" @@ -3277,7 +3311,7 @@ glob@^7.1.3, glob@^7.2.0: glob@^8.0.3: version "8.1.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" + resolved "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz" integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== dependencies: fs.realpath "^1.0.0" @@ -3288,26 +3322,26 @@ glob@^8.0.3: globals@^11.1.0: version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== globals@^13.6.0, globals@^13.9.0: version "13.20.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.20.0.tgz#ea276a1e508ffd4f1612888f9d1bad1e2717bf82" + resolved "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz" integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ== dependencies: type-fest "^0.20.2" globalthis@^1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" + resolved "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz" integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== dependencies: define-properties "^1.1.3" globby@^11.0.3: version "11.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" + resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== dependencies: array-union "^2.1.0" @@ -3319,94 +3353,94 @@ globby@^11.0.3: gopd@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" + resolved "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz" integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== dependencies: get-intrinsic "^1.1.3" graceful-fs@^4.1.2: version "4.2.10" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" + resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz" integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== has-bigints@^1.0.1, has-bigints@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" + resolved "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz" integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== has-flag@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" 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" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== has-property-descriptors@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" + resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz" integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== dependencies: get-intrinsic "^1.1.1" has-proto@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" + resolved "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz" integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== has-symbols@^1.0.2, has-symbols@^1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" + resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== has-tostringtag@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" + resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz" integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== dependencies: has-symbols "^1.0.2" has-unicode@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + resolved "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz" integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== has@^1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz" integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== dependencies: function-bind "^1.1.1" hast-util-whitespace@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz#0ec64e257e6fc216c7d14c8a1b74d27d650b4557" + resolved "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz" integrity sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng== hoist-non-react-statics@^3.0.0, hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.2: version "3.3.2" - resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" + resolved "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz" integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== dependencies: react-is "^16.7.0" homedir-polyfill@^1.0.1: version "1.0.3" - resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" + resolved "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz" integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA== dependencies: parse-passwd "^1.0.0" hosted-git-info@^2.1.4: version "2.8.9" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" + resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz" integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== http-errors@2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" + resolved "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz" integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== dependencies: depd "2.0.0" @@ -3417,7 +3451,7 @@ http-errors@2.0.0: 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" + resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz" integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== dependencies: agent-base "6" @@ -3425,39 +3459,39 @@ https-proxy-agent@^5.0.0: iconv-lite@0.4.24: version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== dependencies: safer-buffer ">= 2.1.2 < 3" ieee754@^1.2.1: version "1.2.1" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" 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" + resolved "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz" integrity sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA== ignore@^4.0.6: version "4.0.6" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + resolved "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz" integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== ignore@^5.2.0: version "5.2.4" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" + resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz" integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== immediate@~3.0.5: version "3.0.6" - resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" + resolved "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz" integrity sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ== import-fresh@^3.0.0, import-fresh@^3.2.1: version "3.3.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== dependencies: parent-module "^1.0.0" @@ -3465,12 +3499,12 @@ import-fresh@^3.0.0, import-fresh@^3.2.1: imurmurhash@^0.1.4: version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== inflight@^1.0.4: version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== dependencies: once "^1.3.0" @@ -3478,17 +3512,17 @@ inflight@^1.0.4: inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== inline-style-parser@0.1.1: version "0.1.1" - resolved "https://registry.yarnpkg.com/inline-style-parser/-/inline-style-parser-0.1.1.tgz#ec8a3b429274e9c0a1f1c4ffa9453a7fef72cea1" + resolved "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz" integrity sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q== internal-slot@^1.0.3, internal-slot@^1.0.4: version "1.0.5" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.5.tgz#f2a2ee21f668f8627a4667f309dc0f4fb6674986" + resolved "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz" integrity sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ== dependencies: get-intrinsic "^1.2.0" @@ -3497,27 +3531,27 @@ internal-slot@^1.0.3, internal-slot@^1.0.4: ip@^1.1.5: version "1.1.8" - resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.8.tgz#ae05948f6b075435ed3307acce04629da8cdbf48" + resolved "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz" integrity sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg== ip@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/ip/-/ip-2.0.0.tgz#4cf4ab182fee2314c75ede1276f8c80b479936da" + resolved "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz" integrity sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ== ipaddr.js@1.9.1: version "1.9.1" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" + resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz" integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== "ipaddr.js@>= 0.1.5", ipaddr.js@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.0.1.tgz#eca256a7a877e917aeb368b0a7497ddf42ef81c0" + resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz" integrity sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng== is-arguments@^1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" + resolved "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz" integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== dependencies: call-bind "^1.0.2" @@ -3525,7 +3559,7 @@ is-arguments@^1.1.1: is-array-buffer@^3.0.1: version "3.0.1" - resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.1.tgz#deb1db4fcae48308d54ef2442706c0393997052a" + resolved "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.1.tgz" integrity sha512-ASfLknmY8Xa2XtB4wmbz13Wu202baeA18cJBCeCy0wXUHZF0IPyVEXqKEcd+t2fNSLLL1vC6k7lxZEojNbISXQ== dependencies: call-bind "^1.0.2" @@ -3534,26 +3568,26 @@ is-array-buffer@^3.0.1: is-arrayish@^0.2.1: version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== is-bigint@^1.0.1: version "1.0.4" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" + resolved "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz" integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== dependencies: has-bigints "^1.0.1" 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" + resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== dependencies: binary-extensions "^2.0.0" is-boolean-object@^1.1.0: version "1.1.2" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" + resolved "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz" integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== dependencies: call-bind "^1.0.2" @@ -3561,94 +3595,94 @@ is-boolean-object@^1.1.0: is-buffer@^2.0.0: version "2.0.5" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" + resolved "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz" integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: version "1.2.7" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" + resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz" integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== is-core-module@^2.11.0, is-core-module@^2.9.0: version "2.11.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144" + resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz" integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== dependencies: has "^1.0.3" is-date-object@^1.0.1, is-date-object@^1.0.5: version "1.0.5" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" + resolved "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz" integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== dependencies: has-tostringtag "^1.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" + resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" 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" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: version "4.0.3" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== dependencies: is-extglob "^2.1.1" is-map@^2.0.1, is-map@^2.0.2: version "2.0.2" - resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.2.tgz#00922db8c9bf73e81b7a335827bc2a43f2b91127" + resolved "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz" integrity sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg== is-negative-zero@^2.0.2: version "2.0.2" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" + resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz" integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== is-number-object@^1.0.4: version "1.0.7" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" + resolved "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz" integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== dependencies: has-tostringtag "^1.0.0" is-number@^7.0.0: version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== is-plain-obj@^4.0.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-4.1.0.tgz#d65025edec3657ce032fd7db63c97883eaed71f0" + resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz" integrity sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg== is-plain-object@^2.0.4: version "2.0.4" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz" integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== dependencies: isobject "^3.0.1" is-promise@^2.2.2: version "2.2.2" - resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1" + resolved "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz" integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ== is-reference@1.2.1: version "1.2.1" - resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7" + resolved "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz" integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ== dependencies: "@types/estree" "*" is-regex@^1.1.4: version "1.1.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" + resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz" integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== dependencies: call-bind "^1.0.2" @@ -3656,33 +3690,33 @@ is-regex@^1.1.4: is-set@^2.0.1, is-set@^2.0.2: version "2.0.2" - resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.2.tgz#90755fa4c2562dc1c5d4024760d6119b94ca18ec" + resolved "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz" integrity sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g== is-shared-array-buffer@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" + resolved "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz" integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== dependencies: call-bind "^1.0.2" is-string@^1.0.5, is-string@^1.0.7: version "1.0.7" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" + resolved "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz" integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== dependencies: has-tostringtag "^1.0.0" is-symbol@^1.0.2, is-symbol@^1.0.3: version "1.0.4" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + resolved "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz" integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== dependencies: has-symbols "^1.0.2" is-typed-array@^1.1.10, is-typed-array@^1.1.9: version "1.1.10" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.10.tgz#36a5b5cb4189b575d1a3e4b08536bfb485801e3f" + resolved "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz" integrity sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A== dependencies: available-typed-arrays "^1.0.5" @@ -3693,19 +3727,19 @@ is-typed-array@^1.1.10, is-typed-array@^1.1.9: is-weakmap@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.1.tgz#5008b59bdc43b698201d18f62b37b2ca243e8cf2" + resolved "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz" integrity sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA== is-weakref@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" + resolved "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz" integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== dependencies: call-bind "^1.0.2" is-weakset@^2.0.1: version "2.0.2" - resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.2.tgz#4569d67a747a1ce5a994dfd4ef6dcea76e7c0a1d" + resolved "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz" integrity sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg== dependencies: call-bind "^1.0.2" @@ -3713,37 +3747,37 @@ is-weakset@^2.0.1: isarray@0.0.1: version "0.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== isarray@^2.0.5: version "2.0.5" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" + resolved "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz" integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== isarray@~1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== isexe@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== isobject@^3.0.1: version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + resolved "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz" integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== js-yaml@^3.13.1: version "3.14.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== dependencies: argparse "^1.0.7" @@ -3751,49 +3785,49 @@ js-yaml@^3.13.1: jsesc@^2.5.1: version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== jsesc@~0.5.0: version "0.5.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + resolved "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz" integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== json-parse-better-errors@^1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + resolved "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz" integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== 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" + resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== json-schema-traverse@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== json5@^1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" + resolved "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz" integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== dependencies: minimist "^1.2.0" json5@^2.2.2: version "2.2.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== jsonwebtoken@^8.5.1: version "8.5.1" - resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz#00e71e0b8df54c2121a1f26137df2280673bcc0d" + resolved "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz" integrity sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w== dependencies: jws "^3.2.2" @@ -3809,7 +3843,7 @@ jsonwebtoken@^8.5.1: "jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.3: version "3.3.3" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz#76b3e6e6cece5c69d49a5792c3d01bd1a0cdc7ea" + resolved "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz" integrity sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw== dependencies: array-includes "^3.1.5" @@ -3817,7 +3851,7 @@ jsonwebtoken@^8.5.1: jwa@^1.4.1: version "1.4.1" - resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a" + resolved "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz" integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA== dependencies: buffer-equal-constant-time "1.0.1" @@ -3826,7 +3860,7 @@ jwa@^1.4.1: jws@^3.2.2: version "3.2.2" - resolved "https://registry.yarnpkg.com/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304" + resolved "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz" integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA== dependencies: jwa "^1.4.1" @@ -3834,34 +3868,34 @@ jws@^3.2.2: kareem@2.3.2: version "2.3.2" - resolved "https://registry.yarnpkg.com/kareem/-/kareem-2.3.2.tgz#78c4508894985b8d38a0dc15e1a8e11078f2ca93" + resolved "https://registry.npmjs.org/kareem/-/kareem-2.3.2.tgz" integrity sha512-STHz9P7X2L4Kwn72fA4rGyqyXdmrMSdxqHx9IXon/FXluXieaFA6KJ2upcHAHxQPQ0LeM/OjLrhFxifHewOALQ== kind-of@^6.0.2: version "6.0.3" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== kleur@^4.0.3: version "4.1.5" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-4.1.5.tgz#95106101795f7050c6c650f350c683febddb1780" + resolved "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz" integrity sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ== language-subtag-registry@~0.3.2: version "0.3.22" - resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz#2e1500861b2e457eba7e7ae86877cbd08fa1fd1d" + resolved "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz" integrity sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w== language-tags@=1.0.5: version "1.0.5" - resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.5.tgz#d321dbc4da30ba8bf3024e040fa5c14661f9193a" + resolved "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz" integrity sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ== dependencies: language-subtag-registry "~0.3.2" levn@^0.4.1: version "0.4.1" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== dependencies: prelude-ls "^1.2.1" @@ -3869,14 +3903,14 @@ levn@^0.4.1: lie@3.1.1: version "3.1.1" - resolved "https://registry.yarnpkg.com/lie/-/lie-3.1.1.tgz#9a436b2cc7746ca59de7a41fa469b3efb76bd87e" + resolved "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz" integrity sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw== dependencies: immediate "~3.0.5" load-json-file@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" + resolved "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz" integrity sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw== dependencies: graceful-fs "^4.1.2" @@ -3886,14 +3920,14 @@ load-json-file@^4.0.0: localforage@^1.8.1: version "1.10.0" - resolved "https://registry.yarnpkg.com/localforage/-/localforage-1.10.0.tgz#5c465dc5f62b2807c3a84c0c6a1b1b3212781dd4" + resolved "https://registry.npmjs.org/localforage/-/localforage-1.10.0.tgz" integrity sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg== dependencies: lie "3.1.1" locate-path@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz" integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== dependencies: p-locate "^3.0.0" @@ -3901,126 +3935,126 @@ locate-path@^3.0.0: locate-path@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== dependencies: p-locate "^4.1.0" lodash-es@^4.17.21: version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee" + resolved "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz" integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== lodash.debounce@^4.0.8: version "4.0.8" - resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + resolved "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz" integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== lodash.includes@^4.3.0: version "4.3.0" - resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f" + resolved "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz" 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" + resolved "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz" 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" + resolved "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz" 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" + resolved "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz" 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" + resolved "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz" 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" + resolved "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz" integrity sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw== lodash.merge@^4.6.2: version "4.6.2" - resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== lodash.once@^4.0.0: version "4.1.1" - resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" + resolved "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz" integrity sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg== lodash.truncate@^4.4.2: version "4.4.2" - resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" + resolved "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz" integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw== lodash@^4.17.11, lodash@^4.17.21: version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== longest-streak@^3.0.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-3.1.0.tgz#62fa67cd958742a1574af9f39866364102d90cd4" + resolved "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz" integrity sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g== loose-envify@^1.1.0, loose-envify@^1.4.0: version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== dependencies: js-tokens "^3.0.0 || ^4.0.0" lru-cache@^5.1.1: version "5.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== dependencies: yallist "^3.0.2" lru-cache@^6.0.0: version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== dependencies: yallist "^4.0.0" lru-queue@^0.1.0: version "0.1.0" - resolved "https://registry.yarnpkg.com/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3" + resolved "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz" integrity sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ== dependencies: es5-ext "~0.10.2" lru@^3.1.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/lru/-/lru-3.1.0.tgz#ea7fb8546d83733396a13091d76cfeb4c06837d5" + resolved "https://registry.npmjs.org/lru/-/lru-3.1.0.tgz" integrity sha512-5OUtoiVIGU4VXBOshidmtOsvBIvcQR6FD/RzWSvaeHyxCGB+PCUCu+52lqMfdc0h/2CLvHhZS4TwUmMQrrMbBQ== dependencies: inherits "^2.0.1" lru_map@^0.3.3: version "0.3.3" - resolved "https://registry.yarnpkg.com/lru_map/-/lru_map-0.3.3.tgz#b5c8351b9464cbd750335a79650a0ec0e56118dd" + resolved "https://registry.npmjs.org/lru_map/-/lru_map-0.3.3.tgz" integrity sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ== magic-string@^0.27.0: version "0.27.0" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.27.0.tgz#e4a3413b4bab6d98d2becffd48b4a257effdbbf3" + resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz" integrity sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA== dependencies: "@jridgewell/sourcemap-codec" "^1.4.13" make-dir@^2.0.0, make-dir@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" + resolved "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz" integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== dependencies: pify "^4.0.1" @@ -4028,19 +4062,19 @@ make-dir@^2.0.0, make-dir@^2.1.0: make-dir@^3.1.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" + resolved "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== dependencies: semver "^6.0.0" markdown-table@^3.0.0: version "3.0.3" - resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-3.0.3.tgz#e6331d30e493127e031dd385488b5bd326e4a6bd" + resolved "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.3.tgz" integrity sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw== mdast-util-definitions@^5.0.0: version "5.1.2" - resolved "https://registry.yarnpkg.com/mdast-util-definitions/-/mdast-util-definitions-5.1.2.tgz#9910abb60ac5d7115d6819b57ae0bcef07a3f7a7" + resolved "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-5.1.2.tgz" integrity sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA== dependencies: "@types/mdast" "^3.0.0" @@ -4049,7 +4083,7 @@ mdast-util-definitions@^5.0.0: mdast-util-find-and-replace@^2.0.0: version "2.2.2" - resolved "https://registry.yarnpkg.com/mdast-util-find-and-replace/-/mdast-util-find-and-replace-2.2.2.tgz#cc2b774f7f3630da4bd592f61966fecade8b99b1" + resolved "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-2.2.2.tgz" integrity sha512-MTtdFRz/eMDHXzeK6W3dO7mXUlF82Gom4y0oOgvHhh/HXZAGvIQDUvQ0SuUx+j2tv44b8xTHOm8K/9OoRFnXKw== dependencies: "@types/mdast" "^3.0.0" @@ -4059,7 +4093,7 @@ mdast-util-find-and-replace@^2.0.0: mdast-util-from-markdown@^1.0.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.0.tgz#0214124154f26154a2b3f9d401155509be45e894" + resolved "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.0.tgz" integrity sha512-HN3W1gRIuN/ZW295c7zi7g9lVBllMgZE40RxCX37wrTPWXCWtpvOZdfnuK+1WNpvZje6XuJeI3Wnb4TJEUem+g== dependencies: "@types/mdast" "^3.0.0" @@ -4077,7 +4111,7 @@ mdast-util-from-markdown@^1.0.0: mdast-util-gfm-autolink-literal@^1.0.0: version "1.0.3" - resolved "https://registry.yarnpkg.com/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-1.0.3.tgz#67a13abe813d7eba350453a5333ae1bc0ec05c06" + resolved "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-1.0.3.tgz" integrity sha512-My8KJ57FYEy2W2LyNom4n3E7hKTuQk/0SES0u16tjA9Z3oFkF4RrC/hPAPgjlSpezsOvI8ObcXcElo92wn5IGA== dependencies: "@types/mdast" "^3.0.0" @@ -4087,7 +4121,7 @@ mdast-util-gfm-autolink-literal@^1.0.0: mdast-util-gfm-footnote@^1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-1.0.2.tgz#ce5e49b639c44de68d5bf5399877a14d5020424e" + resolved "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-1.0.2.tgz" integrity sha512-56D19KOGbE00uKVj3sgIykpwKL179QsVFwx/DCW0u/0+URsryacI4MAdNJl0dh+u2PSsD9FtxPFbHCzJ78qJFQ== dependencies: "@types/mdast" "^3.0.0" @@ -4096,7 +4130,7 @@ mdast-util-gfm-footnote@^1.0.0: mdast-util-gfm-strikethrough@^1.0.0: version "1.0.3" - resolved "https://registry.yarnpkg.com/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-1.0.3.tgz#5470eb105b483f7746b8805b9b989342085795b7" + resolved "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-1.0.3.tgz" integrity sha512-DAPhYzTYrRcXdMjUtUjKvW9z/FNAMTdU0ORyMcbmkwYNbKocDpdk+PX1L1dQgOID/+vVs1uBQ7ElrBQfZ0cuiQ== dependencies: "@types/mdast" "^3.0.0" @@ -4104,7 +4138,7 @@ mdast-util-gfm-strikethrough@^1.0.0: mdast-util-gfm-table@^1.0.0: version "1.0.7" - resolved "https://registry.yarnpkg.com/mdast-util-gfm-table/-/mdast-util-gfm-table-1.0.7.tgz#3552153a146379f0f9c4c1101b071d70bbed1a46" + resolved "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-1.0.7.tgz" integrity sha512-jjcpmNnQvrmN5Vx7y7lEc2iIOEytYv7rTvu+MeyAsSHTASGCCRA79Igg2uKssgOs1i1po8s3plW0sTu1wkkLGg== dependencies: "@types/mdast" "^3.0.0" @@ -4114,7 +4148,7 @@ mdast-util-gfm-table@^1.0.0: mdast-util-gfm-task-list-item@^1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-1.0.2.tgz#b280fcf3b7be6fd0cc012bbe67a59831eb34097b" + resolved "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-1.0.2.tgz" integrity sha512-PFTA1gzfp1B1UaiJVyhJZA1rm0+Tzn690frc/L8vNX1Jop4STZgOE6bxUhnzdVSB+vm2GU1tIsuQcA9bxTQpMQ== dependencies: "@types/mdast" "^3.0.0" @@ -4122,7 +4156,7 @@ mdast-util-gfm-task-list-item@^1.0.0: mdast-util-gfm@^2.0.0: version "2.0.2" - resolved "https://registry.yarnpkg.com/mdast-util-gfm/-/mdast-util-gfm-2.0.2.tgz#e92f4d8717d74bdba6de57ed21cc8b9552e2d0b6" + resolved "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-2.0.2.tgz" integrity sha512-qvZ608nBppZ4icQlhQQIAdc6S3Ffj9RGmzwUKUWuEICFnd1LVkN3EktF7ZHAgfcEdvZB5owU9tQgt99e2TlLjg== dependencies: mdast-util-from-markdown "^1.0.0" @@ -4135,7 +4169,7 @@ mdast-util-gfm@^2.0.0: mdast-util-phrasing@^3.0.0: version "3.0.1" - resolved "https://registry.yarnpkg.com/mdast-util-phrasing/-/mdast-util-phrasing-3.0.1.tgz#c7c21d0d435d7fb90956038f02e8702781f95463" + resolved "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-3.0.1.tgz" integrity sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg== dependencies: "@types/mdast" "^3.0.0" @@ -4143,7 +4177,7 @@ mdast-util-phrasing@^3.0.0: mdast-util-to-hast@^11.0.0: version "11.3.0" - resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-11.3.0.tgz#ea9220617a710e80aa5cc3ac7cc9d4bb0440ae7a" + resolved "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-11.3.0.tgz" integrity sha512-4o3Cli3hXPmm1LhB+6rqhfsIUBjnKFlIUZvudaermXB+4/KONdd/W4saWWkC+LBLbPMqhFSSTSRgafHsT5fVJw== dependencies: "@types/hast" "^2.0.0" @@ -4158,7 +4192,7 @@ mdast-util-to-hast@^11.0.0: mdast-util-to-markdown@^1.0.0, mdast-util-to-markdown@^1.3.0: version "1.5.0" - resolved "https://registry.yarnpkg.com/mdast-util-to-markdown/-/mdast-util-to-markdown-1.5.0.tgz#c13343cb3fc98621911d33b5cd42e7d0731171c6" + resolved "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-1.5.0.tgz" integrity sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A== dependencies: "@types/mdast" "^3.0.0" @@ -4172,24 +4206,24 @@ mdast-util-to-markdown@^1.0.0, mdast-util-to-markdown@^1.3.0: mdast-util-to-string@^3.0.0, mdast-util-to-string@^3.1.0: version "3.1.1" - resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-3.1.1.tgz#db859050d79d48cf9896d294de06f3ede7474d16" + resolved "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.1.1.tgz" integrity sha512-tGvhT94e+cVnQt8JWE9/b3cUQZWS732TJxXHktvP+BYo62PpYD53Ls/6cC60rW21dW+txxiM4zMdc6abASvZKA== dependencies: "@types/mdast" "^3.0.0" mdurl@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" + resolved "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz" integrity sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g== media-typer@0.3.0: version "0.3.0" - resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + resolved "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== memoizee@^0.4.15: version "0.4.15" - resolved "https://registry.yarnpkg.com/memoizee/-/memoizee-0.4.15.tgz#e6f3d2da863f318d02225391829a6c5956555b72" + resolved "https://registry.npmjs.org/memoizee/-/memoizee-0.4.15.tgz" integrity sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ== dependencies: d "^1.0.1" @@ -4203,32 +4237,32 @@ memoizee@^0.4.15: memory-pager@^1.0.2: version "1.5.0" - resolved "https://registry.yarnpkg.com/memory-pager/-/memory-pager-1.5.0.tgz#d8751655d22d384682741c972f2c3d6dfa3e66b5" + resolved "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz" integrity sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg== memorystream@^0.3.1: version "0.3.1" - resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2" + resolved "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz" integrity sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw== merge-descriptors@1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + resolved "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz" integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== merge2@^1.3.0, merge2@^1.4.1: version "1.4.1" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== methods@~1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + resolved "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz" integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== micromark-core-commonmark@^1.0.0, micromark-core-commonmark@^1.0.1: version "1.0.6" - resolved "https://registry.yarnpkg.com/micromark-core-commonmark/-/micromark-core-commonmark-1.0.6.tgz#edff4c72e5993d93724a3c206970f5a15b0585ad" + resolved "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.0.6.tgz" integrity sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA== dependencies: decode-named-character-reference "^1.0.0" @@ -4250,7 +4284,7 @@ micromark-core-commonmark@^1.0.0, micromark-core-commonmark@^1.0.1: micromark-extension-gfm-autolink-literal@^1.0.0: version "1.0.3" - resolved "https://registry.yarnpkg.com/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-1.0.3.tgz#dc589f9c37eaff31a175bab49f12290edcf96058" + resolved "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-1.0.3.tgz" integrity sha512-i3dmvU0htawfWED8aHMMAzAVp/F0Z+0bPh3YrbTPPL1v4YAlCZpy5rBO5p0LPYiZo0zFVkoYh7vDU7yQSiCMjg== dependencies: micromark-util-character "^1.0.0" @@ -4261,7 +4295,7 @@ micromark-extension-gfm-autolink-literal@^1.0.0: micromark-extension-gfm-footnote@^1.0.0: version "1.0.4" - resolved "https://registry.yarnpkg.com/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-1.0.4.tgz#cbfd8873b983e820c494498c6dac0105920818d5" + resolved "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-1.0.4.tgz" integrity sha512-E/fmPmDqLiMUP8mLJ8NbJWJ4bTw6tS+FEQS8CcuDtZpILuOb2kjLqPEeAePF1djXROHXChM/wPJw0iS4kHCcIg== dependencies: micromark-core-commonmark "^1.0.0" @@ -4275,7 +4309,7 @@ micromark-extension-gfm-footnote@^1.0.0: micromark-extension-gfm-strikethrough@^1.0.0: version "1.0.4" - resolved "https://registry.yarnpkg.com/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-1.0.4.tgz#162232c284ffbedd8c74e59c1525bda217295e18" + resolved "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-1.0.4.tgz" integrity sha512-/vjHU/lalmjZCT5xt7CcHVJGq8sYRm80z24qAKXzaHzem/xsDYb2yLL+NNVbYvmpLx3O7SYPuGL5pzusL9CLIQ== dependencies: micromark-util-chunked "^1.0.0" @@ -4287,7 +4321,7 @@ micromark-extension-gfm-strikethrough@^1.0.0: micromark-extension-gfm-table@^1.0.0: version "1.0.5" - resolved "https://registry.yarnpkg.com/micromark-extension-gfm-table/-/micromark-extension-gfm-table-1.0.5.tgz#7b708b728f8dc4d95d486b9e7a2262f9cddbcbb4" + resolved "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-1.0.5.tgz" integrity sha512-xAZ8J1X9W9K3JTJTUL7G6wSKhp2ZYHrFk5qJgY/4B33scJzE2kpfRL6oiw/veJTbt7jiM/1rngLlOKPWr1G+vg== dependencies: micromark-factory-space "^1.0.0" @@ -4298,14 +4332,14 @@ micromark-extension-gfm-table@^1.0.0: micromark-extension-gfm-tagfilter@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-1.0.1.tgz#fb2e303f7daf616db428bb6a26e18fda14a90a4d" + resolved "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-1.0.1.tgz" integrity sha512-Ty6psLAcAjboRa/UKUbbUcwjVAv5plxmpUTy2XC/3nJFL37eHej8jrHrRzkqcpipJliuBH30DTs7+3wqNcQUVA== dependencies: micromark-util-types "^1.0.0" micromark-extension-gfm-task-list-item@^1.0.0: version "1.0.3" - resolved "https://registry.yarnpkg.com/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-1.0.3.tgz#7683641df5d4a09795f353574d7f7f66e47b7fc4" + resolved "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-1.0.3.tgz" integrity sha512-PpysK2S1Q/5VXi72IIapbi/jliaiOFzv7THH4amwXeYXLq3l1uo8/2Be0Ac1rEwK20MQEsGH2ltAZLNY2KI/0Q== dependencies: micromark-factory-space "^1.0.0" @@ -4316,7 +4350,7 @@ micromark-extension-gfm-task-list-item@^1.0.0: micromark-extension-gfm@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/micromark-extension-gfm/-/micromark-extension-gfm-2.0.1.tgz#40f3209216127a96297c54c67f5edc7ef2d1a2a2" + resolved "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-2.0.1.tgz" integrity sha512-p2sGjajLa0iYiGQdT0oelahRYtMWvLjy8J9LOCxzIQsllMCGLbsLW+Nc+N4vi02jcRJvedVJ68cjelKIO6bpDA== dependencies: micromark-extension-gfm-autolink-literal "^1.0.0" @@ -4330,7 +4364,7 @@ micromark-extension-gfm@^2.0.0: micromark-factory-destination@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/micromark-factory-destination/-/micromark-factory-destination-1.0.0.tgz#fef1cb59ad4997c496f887b6977aa3034a5a277e" + resolved "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.0.0.tgz" integrity sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw== dependencies: micromark-util-character "^1.0.0" @@ -4339,7 +4373,7 @@ micromark-factory-destination@^1.0.0: micromark-factory-label@^1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/micromark-factory-label/-/micromark-factory-label-1.0.2.tgz#6be2551fa8d13542fcbbac478258fb7a20047137" + resolved "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.0.2.tgz" integrity sha512-CTIwxlOnU7dEshXDQ+dsr2n+yxpP0+fn271pu0bwDIS8uqfFcumXpj5mLn3hSC8iw2MUr6Gx8EcKng1dD7i6hg== dependencies: micromark-util-character "^1.0.0" @@ -4349,7 +4383,7 @@ micromark-factory-label@^1.0.0: micromark-factory-space@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/micromark-factory-space/-/micromark-factory-space-1.0.0.tgz#cebff49968f2b9616c0fcb239e96685cb9497633" + resolved "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.0.0.tgz" integrity sha512-qUmqs4kj9a5yBnk3JMLyjtWYN6Mzfcx8uJfi5XAveBniDevmZasdGBba5b4QsvRcAkmvGo5ACmSUmyGiKTLZew== dependencies: micromark-util-character "^1.0.0" @@ -4357,7 +4391,7 @@ micromark-factory-space@^1.0.0: micromark-factory-title@^1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/micromark-factory-title/-/micromark-factory-title-1.0.2.tgz#7e09287c3748ff1693930f176e1c4a328382494f" + resolved "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.0.2.tgz" integrity sha512-zily+Nr4yFqgMGRKLpTVsNl5L4PMu485fGFDOQJQBl2NFpjGte1e86zC0da93wf97jrc4+2G2GQudFMHn3IX+A== dependencies: micromark-factory-space "^1.0.0" @@ -4368,7 +4402,7 @@ micromark-factory-title@^1.0.0: micromark-factory-whitespace@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/micromark-factory-whitespace/-/micromark-factory-whitespace-1.0.0.tgz#e991e043ad376c1ba52f4e49858ce0794678621c" + resolved "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.0.0.tgz" integrity sha512-Qx7uEyahU1lt1RnsECBiuEbfr9INjQTGa6Err+gF3g0Tx4YEviPbqqGKNv/NrBaE7dVHdn1bVZKM/n5I/Bak7A== dependencies: micromark-factory-space "^1.0.0" @@ -4378,7 +4412,7 @@ micromark-factory-whitespace@^1.0.0: micromark-util-character@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-character/-/micromark-util-character-1.1.0.tgz#d97c54d5742a0d9611a68ca0cd4124331f264d86" + resolved "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.1.0.tgz" integrity sha512-agJ5B3unGNJ9rJvADMJ5ZiYjBRyDpzKAOk01Kpi1TKhlT1APx3XZk6eN7RtSz1erbWHC2L8T3xLZ81wdtGRZzg== dependencies: micromark-util-symbol "^1.0.0" @@ -4386,14 +4420,14 @@ micromark-util-character@^1.0.0: micromark-util-chunked@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-chunked/-/micromark-util-chunked-1.0.0.tgz#5b40d83f3d53b84c4c6bce30ed4257e9a4c79d06" + resolved "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.0.0.tgz" integrity sha512-5e8xTis5tEZKgesfbQMKRCyzvffRRUX+lK/y+DvsMFdabAicPkkZV6gO+FEWi9RfuKKoxxPwNL+dFF0SMImc1g== dependencies: micromark-util-symbol "^1.0.0" micromark-util-classify-character@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-classify-character/-/micromark-util-classify-character-1.0.0.tgz#cbd7b447cb79ee6997dd274a46fc4eb806460a20" + resolved "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.0.0.tgz" integrity sha512-F8oW2KKrQRb3vS5ud5HIqBVkCqQi224Nm55o5wYLzY/9PwHGXC01tr3d7+TqHHz6zrKQ72Okwtvm/xQm6OVNZA== dependencies: micromark-util-character "^1.0.0" @@ -4402,7 +4436,7 @@ micromark-util-classify-character@^1.0.0: micromark-util-combine-extensions@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.0.0.tgz#91418e1e74fb893e3628b8d496085639124ff3d5" + resolved "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.0.0.tgz" integrity sha512-J8H058vFBdo/6+AsjHp2NF7AJ02SZtWaVUjsayNFeAiydTxUwViQPxN0Hf8dp4FmCQi0UUFovFsEyRSUmFH3MA== dependencies: micromark-util-chunked "^1.0.0" @@ -4410,14 +4444,14 @@ micromark-util-combine-extensions@^1.0.0: micromark-util-decode-numeric-character-reference@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.0.0.tgz#dcc85f13b5bd93ff8d2868c3dba28039d490b946" + resolved "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.0.0.tgz" integrity sha512-OzO9AI5VUtrTD7KSdagf4MWgHMtET17Ua1fIpXTpuhclCqD8egFWo85GxSGvxgkGS74bEahvtM0WP0HjvV0e4w== dependencies: micromark-util-symbol "^1.0.0" micromark-util-decode-string@^1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/micromark-util-decode-string/-/micromark-util-decode-string-1.0.2.tgz#942252ab7a76dec2dbf089cc32505ee2bc3acf02" + resolved "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.0.2.tgz" integrity sha512-DLT5Ho02qr6QWVNYbRZ3RYOSSWWFuH3tJexd3dgN1odEuPNxCngTCXJum7+ViRAd9BbdxCvMToPOD/IvVhzG6Q== dependencies: decode-named-character-reference "^1.0.0" @@ -4427,31 +4461,31 @@ micromark-util-decode-string@^1.0.0: micromark-util-encode@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/micromark-util-encode/-/micromark-util-encode-1.0.1.tgz#2c1c22d3800870ad770ece5686ebca5920353383" + resolved "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.0.1.tgz" integrity sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA== micromark-util-html-tag-name@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.1.0.tgz#eb227118befd51f48858e879b7a419fc0df20497" + resolved "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.1.0.tgz" integrity sha512-BKlClMmYROy9UiV03SwNmckkjn8QHVaWkqoAqzivabvdGcwNGMMMH/5szAnywmsTBUzDsU57/mFi0sp4BQO6dA== micromark-util-normalize-identifier@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.0.0.tgz#4a3539cb8db954bbec5203952bfe8cedadae7828" + resolved "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.0.0.tgz" integrity sha512-yg+zrL14bBTFrQ7n35CmByWUTFsgst5JhA4gJYoty4Dqzj4Z4Fr/DHekSS5aLfH9bdlfnSvKAWsAgJhIbogyBg== dependencies: micromark-util-symbol "^1.0.0" micromark-util-resolve-all@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-resolve-all/-/micromark-util-resolve-all-1.0.0.tgz#a7c363f49a0162e931960c44f3127ab58f031d88" + resolved "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.0.0.tgz" integrity sha512-CB/AGk98u50k42kvgaMM94wzBqozSzDDaonKU7P7jwQIuH2RU0TeBqGYJz2WY1UdihhjweivStrJ2JdkdEmcfw== dependencies: micromark-util-types "^1.0.0" micromark-util-sanitize-uri@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.1.0.tgz#f12e07a85106b902645e0364feb07cf253a85aee" + resolved "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.1.0.tgz" integrity sha512-RoxtuSCX6sUNtxhbmsEFQfWzs8VN7cTctmBPvYivo98xb/kDEoTCtJQX5wyzIYEmk/lvNFTat4hL8oW0KndFpg== dependencies: micromark-util-character "^1.0.0" @@ -4460,7 +4494,7 @@ micromark-util-sanitize-uri@^1.0.0: micromark-util-subtokenize@^1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/micromark-util-subtokenize/-/micromark-util-subtokenize-1.0.2.tgz#ff6f1af6ac836f8bfdbf9b02f40431760ad89105" + resolved "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.0.2.tgz" integrity sha512-d90uqCnXp/cy4G881Ub4psE57Sf8YD0pim9QdjCRNjfas2M1u6Lbt+XZK9gnHL2XFhnozZiEdCa9CNfXSfQ6xA== dependencies: micromark-util-chunked "^1.0.0" @@ -4470,17 +4504,17 @@ micromark-util-subtokenize@^1.0.0: micromark-util-symbol@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/micromark-util-symbol/-/micromark-util-symbol-1.0.1.tgz#b90344db62042ce454f351cf0bebcc0a6da4920e" + resolved "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.0.1.tgz" integrity sha512-oKDEMK2u5qqAptasDAwWDXq0tG9AssVwAx3E9bBF3t/shRIGsWIRG+cGafs2p/SnDSOecnt6hZPCE2o6lHfFmQ== micromark-util-types@^1.0.0, micromark-util-types@^1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/micromark-util-types/-/micromark-util-types-1.0.2.tgz#f4220fdb319205812f99c40f8c87a9be83eded20" + resolved "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.0.2.tgz" integrity sha512-DCfg/T8fcrhrRKTPjRrw/5LLvdGV7BHySf/1LOZx7TzWZdYRjogNtyNq885z3nNallwr3QUKARjqvHqX1/7t+w== micromark@^3.0.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/micromark/-/micromark-3.1.0.tgz#eeba0fe0ac1c9aaef675157b52c166f125e89f62" + resolved "https://registry.npmjs.org/micromark/-/micromark-3.1.0.tgz" integrity sha512-6Mj0yHLdUZjHnOPgr5xfWIMqMWS12zDN6iws9SLuSz76W8jTtAv24MN4/CL7gJrl5vtxGInkkqDv/JIoRsQOvA== dependencies: "@types/debug" "^4.0.0" @@ -4503,7 +4537,7 @@ micromark@^3.0.0: micromatch@^4.0.4: version "4.0.5" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" + resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== dependencies: braces "^3.0.2" @@ -4511,60 +4545,60 @@ micromatch@^4.0.4: mime-db@1.52.0: version "1.52.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== 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" + 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" mime@1.6.0: version "1.6.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== mimic-response@^3.1.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" + resolved "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz" integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== dependencies: brace-expansion "^1.1.7" minimatch@^5.0.1: version "5.1.6" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz" integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== dependencies: brace-expansion "^2.0.1" minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: version "1.2.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" + resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== minipass@^3.0.0: version "3.3.6" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.6.tgz#7bba384db3a1520d18c9c0e5251c3444e95dd94a" + resolved "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz" integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== dependencies: yallist "^4.0.0" minipass@^4.0.0: version "4.0.3" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-4.0.3.tgz#00bfbaf1e16e35e804f4aa31a7c1f6b8d9f0ee72" + resolved "https://registry.npmjs.org/minipass/-/minipass-4.0.3.tgz" integrity sha512-OW2r4sQ0sI+z5ckEt5c1Tri4xTgZwYDxpE54eqWlQloQRoWtXjqt9udJ5Z4dSv7wK+nfFI7FRXyCpBSft+gpFw== minizlib@^2.1.1: version "2.1.2" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" + resolved "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz" integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== dependencies: minipass "^3.0.0" @@ -4572,24 +4606,24 @@ minizlib@^2.1.1: mkdirp@^0.5.4, mkdirp@^0.5.5: version "0.5.6" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" + resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz" 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" + resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== moment@^2.29.1: version "2.29.4" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.4.tgz#3dbe052889fe7c1b2ed966fcb3a77328964ef108" + resolved "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz" 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" + resolved "https://registry.npmjs.org/mongodb/-/mongodb-3.7.3.tgz" integrity sha512-Psm+g3/wHXhjBEktkxXsFMZvd3nemI0r3IPsE0bU+4//PnvNWKkzhZcEsbPcYiWqe8XqXJJEg4Tgtr7Raw67Yw== dependencies: bl "^2.2.1" @@ -4602,17 +4636,17 @@ mongodb@3.7.3: mongoose-fuzzy-searching@^2.0.2: version "2.0.2" - resolved "https://registry.yarnpkg.com/mongoose-fuzzy-searching/-/mongoose-fuzzy-searching-2.0.2.tgz#16a25b198591ab41ac00f3a9d15d3328aa7a126c" + resolved "https://registry.npmjs.org/mongoose-fuzzy-searching/-/mongoose-fuzzy-searching-2.0.2.tgz" integrity sha512-Hbmx59VWJjQJDNdoyQ8bdECaqpis0pKoliWzf5eILzFs2KO7laUJpaQWJySN9OvdQS/gM9fURMSzQVQoLeZ3DA== 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" + resolved "https://registry.npmjs.org/mongoose-legacy-pluralize/-/mongoose-legacy-pluralize-1.0.2.tgz" integrity sha512-Yo/7qQU4/EyIS8YDFSeenIvXxZN+ld7YdV9LqFVQJzTLye8unujAWPZ4NWKfFA+RNjh+wvTWKY9Z3E5XM6ZZiQ== mongoose@^5.13.2: version "5.13.15" - resolved "https://registry.yarnpkg.com/mongoose/-/mongoose-5.13.15.tgz#ba2cd0f22c1a5dd9ae15aaf6b10f03c59a4202dd" + resolved "https://registry.npmjs.org/mongoose/-/mongoose-5.13.15.tgz" integrity sha512-cxp1Gbb8yUWkaEbajdhspSaKzAvsIvOtRlYD87GN/P2QEUhpd6bIvebi36T6M0tIVAMauNaK9SPA055N3PwF8Q== dependencies: "@types/bson" "1.x || 4.0.x" @@ -4632,7 +4666,7 @@ mongoose@^5.13.2: morgan@^1.10.0: version "1.10.0" - resolved "https://registry.yarnpkg.com/morgan/-/morgan-1.10.0.tgz#091778abc1fc47cd3509824653dae1faab6b17d7" + resolved "https://registry.npmjs.org/morgan/-/morgan-1.10.0.tgz" integrity sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ== dependencies: basic-auth "~2.0.1" @@ -4643,12 +4677,12 @@ morgan@^1.10.0: mpath@0.8.4: version "0.8.4" - resolved "https://registry.yarnpkg.com/mpath/-/mpath-0.8.4.tgz#6b566d9581621d9e931dd3b142ed3618e7599313" + resolved "https://registry.npmjs.org/mpath/-/mpath-0.8.4.tgz" integrity sha512-DTxNZomBcTWlrMW76jy1wvV37X/cNNxPW1y2Jzd4DZkAaC5ZGsm8bfGfNOthcDuRJujXLqiuS6o3Tpy0JEoh7g== mquery@3.2.5: version "3.2.5" - resolved "https://registry.yarnpkg.com/mquery/-/mquery-3.2.5.tgz#8f2305632e4bb197f68f60c0cffa21aaf4060c51" + resolved "https://registry.npmjs.org/mquery/-/mquery-3.2.5.tgz" integrity sha512-VjOKHHgU84wij7IUoZzFRU07IAxd5kWJaDmyUzQlbjHjyoeK5TNeeo8ZsFDtTYnSgpW6n/nMNIHvE3u8Lbrf4A== dependencies: bluebird "3.5.1" @@ -4659,27 +4693,27 @@ mquery@3.2.5: mri@^1.1.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b" + resolved "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz" integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA== ms@2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== -ms@2.1.2: +ms@2.1.2, ms@^2.1.1: version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -ms@2.1.3, ms@^2.1.1: +ms@2.1.3: version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== multer@^1.4.2: version "1.4.4" - resolved "https://registry.yarnpkg.com/multer/-/multer-1.4.4.tgz#e2bc6cac0df57a8832b858d7418ccaa8ebaf7d8c" + resolved "https://registry.npmjs.org/multer/-/multer-1.4.4.tgz" integrity sha512-2wY2+xD4udX612aMqMcB8Ws2Voq6NIUPEtD1be6m411T4uDH/VtL9i//xvcyFlTVfRdaBsk7hV5tgrGQqhuBiw== dependencies: append-field "^1.0.0" @@ -4693,32 +4727,32 @@ multer@^1.4.2: nanoclone@^0.2.1: version "0.2.1" - resolved "https://registry.yarnpkg.com/nanoclone/-/nanoclone-0.2.1.tgz#dd4090f8f1a110d26bb32c49ed2f5b9235209ed4" + resolved "https://registry.npmjs.org/nanoclone/-/nanoclone-0.2.1.tgz" integrity sha512-wynEP02LmIbLpcYw8uBKpcfF6dmg2vcpKqxeH5UcoKEYdExslsdUA4ugFauuaeYdTB76ez6gJW8XAZ6CgkXYxA== nanoid@^3.3.4: version "3.3.4" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" + resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz" integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== natural-compare@^1.4.0: version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== negotiator@0.6.3: version "0.6.3" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" + resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz" integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== next-tick@1, next-tick@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" + resolved "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz" integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== next@12.2.5: version "12.2.5" - resolved "https://registry.yarnpkg.com/next/-/next-12.2.5.tgz#14fb5975e8841fad09553b8ef41fe1393602b717" + resolved "https://registry.npmjs.org/next/-/next-12.2.5.tgz" integrity sha512-tBdjqX5XC/oFs/6gxrZhjmiq90YWizUYU6qOWAfat7zJwrwapJ+BYgX2PmiacunXMaRpeVT4vz5MSPSLgNkrpA== dependencies: "@next/env" "12.2.5" @@ -4744,17 +4778,17 @@ next@12.2.5: nice-try@^1.0.4: version "1.0.5" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + resolved "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== 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" + resolved "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.1.0.tgz" integrity sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA== node-environment-flags@^1.0.5: version "1.0.6" - resolved "https://registry.yarnpkg.com/node-environment-flags/-/node-environment-flags-1.0.6.tgz#a30ac13621f6f7d674260a54dede048c3982c088" + resolved "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.6.tgz" integrity sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw== dependencies: object.getownpropertydescriptors "^2.0.3" @@ -4762,29 +4796,29 @@ node-environment-flags@^1.0.5: node-fetch@^2.6.1, node-fetch@^2.6.7: version "2.6.9" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.9.tgz#7c7f744b5cc6eb5fd404e0c7a9fec630a55657e6" + resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.9.tgz" integrity sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg== dependencies: whatwg-url "^5.0.0" node-gyp-build@^4.3.0: version "4.6.0" - resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.6.0.tgz#0c52e4cbf54bbd28b709820ef7b6a3c2d6209055" + resolved "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.0.tgz" integrity sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ== node-releases@^2.0.8: version "2.0.10" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.10.tgz#c311ebae3b6a148c89b1813fd7c4d3c024ef537f" + resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz" integrity sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w== nodemailer@^6.7.8: version "6.9.1" - resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-6.9.1.tgz#8249d928a43ed85fec17b13d2870c8f758a126ed" + resolved "https://registry.npmjs.org/nodemailer/-/nodemailer-6.9.1.tgz" integrity sha512-qHw7dOiU5UKNnQpXktdgQ1d3OFgRAekuvbJLcdG5dnEo/GtcTHRYM7+UfJARdOFU9WUQO8OiIamgWPmiSFHYAA== nodemon@^2.0.9: version "2.0.20" - resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-2.0.20.tgz#e3537de768a492e8d74da5c5813cb0c7486fc701" + resolved "https://registry.npmjs.org/nodemon/-/nodemon-2.0.20.tgz" integrity sha512-Km2mWHKKY5GzRg6i1j5OxOHQtuvVsgskLfigG25yTtbyfRGn/GNvIbRyOf1PSCKJ2aT/58TiuUsuOU5UToVViw== dependencies: chokidar "^3.5.2" @@ -4800,21 +4834,21 @@ nodemon@^2.0.9: nopt@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88" + resolved "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz" 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" + resolved "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz" integrity sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg== dependencies: abbrev "1" normalize-package-data@^2.3.2: version "2.5.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz" integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== dependencies: hosted-git-info "^2.1.4" @@ -4824,12 +4858,12 @@ normalize-package-data@^2.3.2: 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" + resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== npm-run-all@^4.1.5: version "4.1.5" - resolved "https://registry.yarnpkg.com/npm-run-all/-/npm-run-all-4.1.5.tgz#04476202a15ee0e2e214080861bff12a51d98fba" + resolved "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz" integrity sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ== dependencies: ansi-styles "^3.2.1" @@ -4844,7 +4878,7 @@ npm-run-all@^4.1.5: npmlog@^5.0.1: version "5.0.1" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-5.0.1.tgz#f06678e80e29419ad67ab964e0fa69959c1eb8b0" + resolved "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz" integrity sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw== dependencies: are-we-there-yet "^2.0.0" @@ -4854,17 +4888,17 @@ npmlog@^5.0.1: 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" + resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== object-inspect@^1.12.2, object-inspect@^1.9.0: version "1.12.3" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" + resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz" integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== object-is@^1.1.5: version "1.1.5" - resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" + resolved "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz" integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== dependencies: call-bind "^1.0.2" @@ -4872,12 +4906,12 @@ object-is@^1.1.5: object-keys@^1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== object.assign@^4.1.3, object.assign@^4.1.4: version "4.1.4" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" + resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz" integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== dependencies: call-bind "^1.0.2" @@ -4887,7 +4921,7 @@ object.assign@^4.1.3, object.assign@^4.1.4: object.entries@^1.1.6: version "1.1.6" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.6.tgz#9737d0e5b8291edd340a3e3264bb8a3b00d5fa23" + resolved "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz" integrity sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w== dependencies: call-bind "^1.0.2" @@ -4896,7 +4930,7 @@ object.entries@^1.1.6: object.fromentries@^2.0.6: version "2.0.6" - resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.6.tgz#cdb04da08c539cffa912dcd368b886e0904bfa73" + resolved "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz" integrity sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg== dependencies: call-bind "^1.0.2" @@ -4905,7 +4939,7 @@ object.fromentries@^2.0.6: object.getownpropertydescriptors@^2.0.3: version "2.1.5" - resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.5.tgz#db5a9002489b64eef903df81d6623c07e5b4b4d3" + resolved "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.5.tgz" integrity sha512-yDNzckpM6ntyQiGTik1fKV1DcVDRS+w8bvpWNCBanvH5LfRX9O8WTHqQzG4RZwRAM4I0oU7TV11Lj5v0g20ibw== dependencies: array.prototype.reduce "^1.0.5" @@ -4915,7 +4949,7 @@ object.getownpropertydescriptors@^2.0.3: object.hasown@^1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.2.tgz#f919e21fad4eb38a57bc6345b3afd496515c3f92" + resolved "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz" integrity sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw== dependencies: define-properties "^1.1.4" @@ -4923,7 +4957,7 @@ object.hasown@^1.1.2: object.values@^1.1.6: version "1.1.6" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.6.tgz#4abbaa71eba47d63589d402856f908243eea9b1d" + resolved "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz" integrity sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw== dependencies: call-bind "^1.0.2" @@ -4932,45 +4966,45 @@ object.values@^1.1.6: on-finished@2.4.1, on-finished@^2.3.0: version "2.4.1" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" + 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" on-finished@~2.3.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz" integrity sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww== dependencies: ee-first "1.1.1" on-headers@~1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" + resolved "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz" integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== 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" + resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" 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" + resolved "https://registry.npmjs.org/optional-require/-/optional-require-1.0.3.tgz" 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" + resolved "https://registry.npmjs.org/optional-require/-/optional-require-1.1.8.tgz" integrity sha512-jq83qaUb0wNg9Krv1c5OQ+58EK+vHde6aBPzLvPPqJm89UQWsvSuFy9X/OSNJnFeSOKo7btE0n8Nl2+nE+z5nA== dependencies: require-at "^1.0.6" optionator@^0.9.1: version "0.9.1" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" + resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz" integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== dependencies: deep-is "^0.1.3" @@ -4982,40 +5016,40 @@ optionator@^0.9.1: p-limit@^2.0.0, p-limit@^2.2.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== dependencies: p-try "^2.0.0" p-locate@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz" integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== dependencies: p-limit "^2.0.0" p-locate@^4.1.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== dependencies: p-limit "^2.2.0" p-try@^2.0.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== parent-module@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== dependencies: callsites "^3.0.0" parse-json@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + resolved "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz" integrity sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw== dependencies: error-ex "^1.3.1" @@ -5023,123 +5057,123 @@ parse-json@^4.0.0: parse-passwd@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" + resolved "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz" integrity sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q== parseurl@~1.3.3: version "1.3.3" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + resolved "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz" integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== path-exists@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== path-exists@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== 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" + resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== path-key@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + resolved "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz" integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw== path-key@^3.1.0: version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== path-parse@^1.0.7: version "1.0.7" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 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" + resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz" integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== path-type@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" + resolved "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz" integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== dependencies: pify "^3.0.0" path-type@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== picocolors@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.0, picomatch@^2.3.1: version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== pidtree@^0.3.0: version "0.3.1" - resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.3.1.tgz#ef09ac2cc0533df1f3250ccf2c4d366b0d12114a" + resolved "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz" integrity sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA== pify@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + resolved "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz" integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== pify@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + resolved "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz" integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== pirates@^4.0.5: version "4.0.5" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" + resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz" integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== pkg-dir@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" + resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz" integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== dependencies: find-up "^3.0.0" pluralize@^8.0.0: version "8.0.0" - resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-8.0.0.tgz#1a6fa16a38d12a1901e0320fa017051c539ce3b1" + resolved "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz" integrity sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA== pngjs@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-5.0.0.tgz#e79dd2b215767fd9c04561c01236df960bce7fbb" + resolved "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz" integrity sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw== polished@^4.1.3: version "4.2.2" - resolved "https://registry.yarnpkg.com/polished/-/polished-4.2.2.tgz#2529bb7c3198945373c52e34618c8fe7b1aa84d1" + resolved "https://registry.npmjs.org/polished/-/polished-4.2.2.tgz" integrity sha512-Sz2Lkdxz6F2Pgnpi9U5Ng/WdWAUZxmHrNPoVlm3aAemxoy2Qy7LGjQg4uf8qKelDAUW94F4np3iH2YPf2qefcQ== dependencies: "@babel/runtime" "^7.17.8" postcss-value-parser@^4.0.2: version "4.2.0" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" + resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== postcss@8.4.14: version "8.4.14" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.14.tgz#ee9274d5622b4858c1007a74d76e42e56fd21caf" + resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz" integrity sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig== dependencies: nanoid "^3.3.4" @@ -5148,39 +5182,39 @@ postcss@8.4.14: prelude-ls@^1.2.1: version "1.2.1" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== prettier-linter-helpers@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" + resolved "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz" integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== dependencies: fast-diff "^1.1.2" prettier@^2.3.2: version "2.8.4" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.4.tgz#34dd2595629bfbb79d344ac4a91ff948694463c3" + resolved "https://registry.npmjs.org/prettier/-/prettier-2.8.4.tgz" integrity sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw== pretty-bytes@^5.6.0: version "5.6.0" - resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" + resolved "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz" integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== 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" + resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== progress@^2.0.0, progress@^2.0.3: version "2.0.3" - resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + resolved "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz" integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== prop-types@^15.0.0, prop-types@^15.8.1: version "15.8.1" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" + resolved "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz" integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== dependencies: loose-envify "^1.4.0" @@ -5189,17 +5223,17 @@ prop-types@^15.0.0, prop-types@^15.8.1: property-expr@^2.0.4: version "2.0.5" - resolved "https://registry.yarnpkg.com/property-expr/-/property-expr-2.0.5.tgz#278bdb15308ae16af3e3b9640024524f4dc02cb4" + resolved "https://registry.npmjs.org/property-expr/-/property-expr-2.0.5.tgz" integrity sha512-IJUkICM5dP5znhCckHSv30Q4b5/JA5enCtkRHYaOVOAocnH/1BQEYTC5NMfT3AVl/iXKdr3aqQbQn9DxyWknwA== property-information@^6.0.0: version "6.2.0" - resolved "https://registry.yarnpkg.com/property-information/-/property-information-6.2.0.tgz#b74f522c31c097b5149e3c3cb8d7f3defd986a1d" + resolved "https://registry.npmjs.org/property-information/-/property-information-6.2.0.tgz" integrity sha512-kma4U7AFCTwpqq5twzC1YVIDXSqg6qQK6JN0smOw8fgRy1OkMi0CYSzFmsy6dnqSenamAtj0CyXMUJ1Mf6oROg== proxy-addr@~2.0.7: version "2.0.7" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" + 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" @@ -5207,22 +5241,22 @@ proxy-addr@~2.0.7: 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" + resolved "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz" integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== pstree.remy@^1.1.8: version "1.1.8" - resolved "https://registry.yarnpkg.com/pstree.remy/-/pstree.remy-1.1.8.tgz#c242224f4a67c21f686839bbdb4ac282b8373d3a" + resolved "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz" integrity sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w== punycode@^2.1.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" + resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz" integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== qrcode@^1.5.1: version "1.5.1" - resolved "https://registry.yarnpkg.com/qrcode/-/qrcode-1.5.1.tgz#0103f97317409f7bc91772ef30793a54cd59f0cb" + resolved "https://registry.npmjs.org/qrcode/-/qrcode-1.5.1.tgz" integrity sha512-nS8NJ1Z3md8uTjKtP+SGGhfqmTCs5flU/xR623oI0JX+Wepz9R8UrRVCTBTJm3qGw3rH6jJ6MUHjkDx15cxSSg== dependencies: dijkstrajs "^1.0.1" @@ -5232,36 +5266,36 @@ qrcode@^1.5.1: qs@6.11.0, qs@^6.11.0: version "6.11.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" + resolved "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz" integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== dependencies: side-channel "^1.0.4" queue-microtask@^1.2.2, queue-microtask@^1.2.3: version "1.2.3" - resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== random-iterate@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/random-iterate/-/random-iterate-1.0.1.tgz#f7d97d92dee6665ec5f6da08c7f963cad4b2ac99" + resolved "https://registry.npmjs.org/random-iterate/-/random-iterate-1.0.1.tgz" integrity sha512-Jdsdnezu913Ot8qgKgSgs63XkAjEsnMcS1z+cC6D6TNXsUXsMxy0RpclF2pzGZTEiTXL9BiArdGTEexcv4nqcA== randombytes@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== dependencies: safe-buffer "^5.1.0" range-parser@~1.2.1: version "1.2.1" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" + resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" 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" + resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz" integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== dependencies: bytes "3.1.2" @@ -5271,7 +5305,7 @@ raw-body@2.5.1: react-cookie@^4.1.1: version "4.1.1" - resolved "https://registry.yarnpkg.com/react-cookie/-/react-cookie-4.1.1.tgz#832e134ad720e0de3e03deaceaab179c4061a19d" + resolved "https://registry.npmjs.org/react-cookie/-/react-cookie-4.1.1.tgz" integrity sha512-ffn7Y7G4bXiFbnE+dKhHhbP+b8I34mH9jqnm8Llhj89zF4nPxPutxHT1suUqMeCEhLDBI7InYwf1tpaSoK5w8A== dependencies: "@types/hoist-non-react-statics" "^3.0.1" @@ -5280,7 +5314,7 @@ react-cookie@^4.1.1: react-dom@17.0.2: version "17.0.2" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.2.tgz#ecffb6845e3ad8dbfcdc498f0d0a939736502c23" + resolved "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz" integrity sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA== dependencies: loose-envify "^1.1.0" @@ -5289,7 +5323,7 @@ react-dom@17.0.2: react-dropzone@^14.2.3: version "14.2.3" - resolved "https://registry.yarnpkg.com/react-dropzone/-/react-dropzone-14.2.3.tgz#0acab68308fda2d54d1273a1e626264e13d4e84b" + resolved "https://registry.npmjs.org/react-dropzone/-/react-dropzone-14.2.3.tgz" integrity sha512-O3om8I+PkFKbxCukfIR3QAGftYXDZfOE2N1mr/7qebQJHs7U+/RSL/9xomJNpRg9kM5h9soQSdf0Gc7OHF5Fug== dependencies: attr-accept "^2.2.2" @@ -5298,17 +5332,17 @@ react-dropzone@^14.2.3: react-is@^16.13.1, react-is@^16.7.0: version "16.13.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== react-is@^17.0.0: version "17.0.2" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" + resolved "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz" integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== react-markdown@^7.1.2: version "7.1.2" - resolved "https://registry.yarnpkg.com/react-markdown/-/react-markdown-7.1.2.tgz#c9fa9d1c87e24529f028e1cdf731e81ccdd8e547" + resolved "https://registry.npmjs.org/react-markdown/-/react-markdown-7.1.2.tgz" integrity sha512-ibMcc0EbfmbwApqJD8AUr0yls8BSrKzIbHaUsPidQljxToCqFh34nwtu3CXNEItcVJNzpjDHrhK8A+MAh2JW3A== dependencies: "@types/hast" "^2.0.0" @@ -5328,7 +5362,7 @@ react-markdown@^7.1.2: react@17.0.2: version "17.0.2" - resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037" + resolved "https://registry.npmjs.org/react/-/react-17.0.2.tgz" integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA== dependencies: loose-envify "^1.1.0" @@ -5336,7 +5370,7 @@ react@17.0.2: read-pkg@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" + resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz" integrity sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA== dependencies: load-json-file "^4.0.0" @@ -5345,7 +5379,7 @@ read-pkg@^3.0.0: readable-stream@1.1.x: version "1.1.14" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz" integrity sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ== dependencies: core-util-is "~1.0.0" @@ -5355,7 +5389,7 @@ readable-stream@1.1.x: readable-stream@^2.2.2, readable-stream@^2.3.5: version "2.3.7" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz" integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== dependencies: core-util-is "~1.0.0" @@ -5368,7 +5402,7 @@ readable-stream@^2.2.2, readable-stream@^2.3.5: readable-stream@^3.6.0: version "3.6.0" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== dependencies: inherits "^2.0.3" @@ -5377,43 +5411,43 @@ readable-stream@^3.6.0: readdirp@~3.6.0: version "3.6.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== dependencies: picomatch "^2.2.1" regenerate-unicode-properties@^10.1.0: version "10.1.0" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz#7c3192cab6dd24e21cb4461e5ddd7dd24fa8374c" + resolved "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz" integrity sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ== dependencies: regenerate "^1.4.2" regenerate@^1.4.2: version "1.4.2" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" + resolved "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz" integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== regenerator-runtime@^0.13.11: version "0.13.11" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" + resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz" integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== regenerator-transform@^0.15.1: version "0.15.1" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.1.tgz#f6c4e99fc1b4591f780db2586328e4d9a9d8dc56" + resolved "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz" integrity sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg== dependencies: "@babel/runtime" "^7.8.4" 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" + resolved "https://registry.npmjs.org/regexp-clone/-/regexp-clone-1.0.0.tgz" integrity sha512-TuAasHQNamyyJ2hb97IuBEif4qBHGjPHBS64sZwytpLEqtBQ1gPJTnOaQ6qmpET16cK14kkjbazl6+p0RRv0yw== regexp.prototype.flags@^1.4.3: version "1.4.3" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac" + resolved "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz" integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA== dependencies: call-bind "^1.0.2" @@ -5422,12 +5456,12 @@ regexp.prototype.flags@^1.4.3: regexpp@^3.1.0: version "3.2.0" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" + resolved "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz" integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== regexpu-core@^5.2.1: version "5.3.1" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.3.1.tgz#66900860f88def39a5cb79ebd9490e84f17bcdfb" + resolved "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.1.tgz" integrity sha512-nCOzW2V/X15XpLsK2rlgdwrysrBq+AauCn+omItIz4R1pIcmeot5zvjdmOBRLzEH/CkC6IxMJVmxDe3QcMuNVQ== dependencies: "@babel/regjsgen" "^0.8.0" @@ -5439,14 +5473,14 @@ regexpu-core@^5.2.1: regjsparser@^0.9.1: version "0.9.1" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.9.1.tgz#272d05aa10c7c1f67095b1ff0addae8442fc5709" + resolved "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz" integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== dependencies: jsesc "~0.5.0" remark-gfm@^3.0.1: version "3.0.1" - resolved "https://registry.yarnpkg.com/remark-gfm/-/remark-gfm-3.0.1.tgz#0b180f095e3036545e9dddac0e8df3fa5cfee54f" + resolved "https://registry.npmjs.org/remark-gfm/-/remark-gfm-3.0.1.tgz" integrity sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig== dependencies: "@types/mdast" "^3.0.0" @@ -5456,7 +5490,7 @@ remark-gfm@^3.0.1: remark-parse@^10.0.0: version "10.0.1" - resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-10.0.1.tgz#6f60ae53edbf0cf38ea223fe643db64d112e0775" + resolved "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.1.tgz" integrity sha512-1fUyHr2jLsVOkhbvPRBJ5zTKZZyD6yZzYaWCS6BPBdQ8vEMBCH+9zNCDA6tET/zHCi/jLqjCWtlJZUPk+DbnFw== dependencies: "@types/mdast" "^3.0.0" @@ -5465,7 +5499,7 @@ remark-parse@^10.0.0: remark-rehype@^9.0.0: version "9.1.0" - resolved "https://registry.yarnpkg.com/remark-rehype/-/remark-rehype-9.1.0.tgz#e4b5b6e19c125b3780343eb66c3e9b99b0f06a81" + resolved "https://registry.npmjs.org/remark-rehype/-/remark-rehype-9.1.0.tgz" integrity sha512-oLa6YmgAYg19zb0ZrBACh40hpBLteYROaPLhBXzLgjqyHQrN+gVP9N/FJvfzuNNuzCutktkroXEZBrxAxKhh7Q== dependencies: "@types/hast" "^2.0.0" @@ -5475,32 +5509,32 @@ remark-rehype@^9.0.0: require-at@^1.0.6: version "1.0.6" - resolved "https://registry.yarnpkg.com/require-at/-/require-at-1.0.6.tgz#9eb7e3c5e00727f5a4744070a7f560d4de4f6e6a" + resolved "https://registry.npmjs.org/require-at/-/require-at-1.0.6.tgz" integrity sha512-7i1auJbMUrXEAZCOQ0VNJgmcT2VOKPRl2YGJwgpHpC9CE91Mv4/4UYIUm4chGJaI381ZDq1JUicFii64Hapd8g== require-directory@^2.1.1: version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== require-from-string@^2.0.2: version "2.0.2" - resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== require-main-filename@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + resolved "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz" integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== resolve-from@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== resolve@^1.10.0, resolve@^1.14.2, resolve@^1.22.0, resolve@^1.22.1: version "1.22.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" + resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz" integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== dependencies: is-core-module "^2.9.0" @@ -5509,7 +5543,7 @@ resolve@^1.10.0, resolve@^1.14.2, resolve@^1.22.0, resolve@^1.22.1: resolve@^2.0.0-next.4: version "2.0.0-next.4" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.4.tgz#3d37a113d6429f496ec4752d2a2e58efb1fd4660" + resolved "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz" integrity sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ== dependencies: is-core-module "^2.9.0" @@ -5518,62 +5552,62 @@ resolve@^2.0.0-next.4: reusify@^1.0.4: version "1.0.4" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== rimraf@^3.0.2: version "3.0.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== dependencies: glob "^7.1.3" rollup@2.78.0: version "2.78.0" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.78.0.tgz#00995deae70c0f712ea79ad904d5f6b033209d9e" + resolved "https://registry.npmjs.org/rollup/-/rollup-2.78.0.tgz" integrity sha512-4+YfbQC9QEVvKTanHhIAFVUFSRsezvQF8vFOJwtGfb9Bb+r014S+qryr9PSmw8x6sMnPkmFBGAvIFVQxvJxjtg== optionalDependencies: fsevents "~2.3.2" run-parallel@^1.1.9, run-parallel@^1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== dependencies: queue-microtask "^1.2.2" run-series@^1.1.9: version "1.1.9" - resolved "https://registry.yarnpkg.com/run-series/-/run-series-1.1.9.tgz#15ba9cb90e6a6c054e67c98e1dc063df0ecc113a" + resolved "https://registry.npmjs.org/run-series/-/run-series-1.1.9.tgz" integrity sha512-Arc4hUN896vjkqCYrUXquBFtRZdv1PfLbTYP71efP6butxyQ0kWpiNJyAgsxscmQg1cqvHY32/UCBzXedTpU2g== rxjs@^7.0.0: version "7.8.0" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.0.tgz#90a938862a82888ff4c7359811a595e14e1e09a4" + resolved "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz" integrity sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg== dependencies: tslib "^2.1.0" sade@^1.7.3: version "1.8.1" - resolved "https://registry.yarnpkg.com/sade/-/sade-1.8.1.tgz#0a78e81d658d394887be57d2a409bf703a3b2701" + resolved "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz" integrity sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A== dependencies: mri "^1.1.0" 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" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.2.0: +safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2: version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== safe-regex-test@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295" + resolved "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz" integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== dependencies: call-bind "^1.0.2" @@ -5582,19 +5616,19 @@ safe-regex-test@^1.0.0: "safer-buffer@>= 2.1.2 < 3": version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== saslprep@^1.0.0: version "1.0.3" - resolved "https://registry.yarnpkg.com/saslprep/-/saslprep-1.0.3.tgz#4c02f946b56cf54297e347ba1093e7acac4cf226" + resolved "https://registry.npmjs.org/saslprep/-/saslprep-1.0.3.tgz" integrity sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag== dependencies: sparse-bitfield "^3.0.3" scheduler@^0.20.2: version "0.20.2" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.2.tgz#4baee39436e34aa93b4874bddcbf0fe8b8b50e91" + resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz" integrity sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ== dependencies: loose-envify "^1.1.0" @@ -5602,29 +5636,29 @@ scheduler@^0.20.2: "semver@2 || 3 || 4 || 5", semver@^5.5.0, semver@^5.6.0, semver@^5.7.0, semver@^5.7.1: version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0: version "6.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== semver@^7.2.1, semver@^7.3.5: version "7.3.8" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" + resolved "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz" integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== 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" + resolved "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz" integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== send@0.18.0: version "0.18.0" - resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" + resolved "https://registry.npmjs.org/send/-/send-0.18.0.tgz" integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== dependencies: debug "2.6.9" @@ -5643,7 +5677,7 @@ send@0.18.0: serve-static@1.15.0: version "1.15.0" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" + resolved "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz" integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== dependencies: encodeurl "~1.0.2" @@ -5653,58 +5687,58 @@ serve-static@1.15.0: set-blocking@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + resolved "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" 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" + resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz" integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== shallow-clone@^3.0.0: version "3.0.1" - resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" + resolved "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz" integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== dependencies: kind-of "^6.0.2" shallowequal@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8" + resolved "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz" integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ== shebang-command@^1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz" integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== dependencies: shebang-regex "^1.0.0" shebang-command@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + 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" shebang-regex@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz" integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== shebang-regex@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== shell-quote@^1.6.1, shell-quote@^1.7.3: version "1.8.0" - resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.0.tgz#20d078d0eaf71d54f43bd2ba14a1b5b9bfa5c8ba" + resolved "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.0.tgz" integrity sha512-QHsz8GgQIGKlRi24yFc6a6lN69Idnx634w49ay6+jA5yFh7a1UY+4Rp6HPx/L/1zcEDPEij8cIsiqR6bQsE5VQ== side-channel@^1.0.4: version "1.0.4" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" + resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz" integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== dependencies: call-bind "^1.0.0" @@ -5713,22 +5747,22 @@ side-channel@^1.0.4: sift@13.5.2: version "13.5.2" - resolved "https://registry.yarnpkg.com/sift/-/sift-13.5.2.tgz#24a715e13c617b086166cd04917d204a591c9da6" + resolved "https://registry.npmjs.org/sift/-/sift-13.5.2.tgz" integrity sha512-+gxdEOMA2J+AI+fVsCqeNn7Tgx3M9ZN9jdi95939l1IJ8cZsqS8sqpJyOkic2SJk+1+98Uwryt/gL6XDaV+UZA== signal-exit@^3.0.0: version "3.0.7" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== simple-concat@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f" + resolved "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz" integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== simple-get@^4.0.0: version "4.0.1" - resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-4.0.1.tgz#4a39db549287c979d352112fa03fd99fd6bc3543" + resolved "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz" integrity sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA== dependencies: decompress-response "^6.0.0" @@ -5737,7 +5771,7 @@ simple-get@^4.0.0: simple-peer@^9.11.0: version "9.11.1" - resolved "https://registry.yarnpkg.com/simple-peer/-/simple-peer-9.11.1.tgz#9814d5723f821b778b7fb011bdefcbd1e788e6cc" + resolved "https://registry.npmjs.org/simple-peer/-/simple-peer-9.11.1.tgz" integrity sha512-D1SaWpOW8afq1CZGWB8xTfrT3FekjQmPValrqncJMX7QFl8YwhrPTZvMCANLtgBwwdS+7zURyqxDDEmY558tTw== dependencies: buffer "^6.0.3" @@ -5750,14 +5784,14 @@ simple-peer@^9.11.0: simple-update-notifier@^1.0.7: version "1.1.0" - resolved "https://registry.yarnpkg.com/simple-update-notifier/-/simple-update-notifier-1.1.0.tgz#67694c121de354af592b347cdba798463ed49c82" + resolved "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.1.0.tgz" integrity sha512-VpsrsJSUcJEseSbMHkrsrAVSdvVS5I96Qo1QAQ4FxQ9wXFcB+pjj7FB7/us9+GcgfW4ziHtYMc1J0PLczb55mg== dependencies: semver "~7.0.0" simple-websocket@^9.1.0: version "9.1.0" - resolved "https://registry.yarnpkg.com/simple-websocket/-/simple-websocket-9.1.0.tgz#91cbb39eafefbe7e66979da6c639109352786a7f" + resolved "https://registry.npmjs.org/simple-websocket/-/simple-websocket-9.1.0.tgz" integrity sha512-8MJPnjRN6A8UCp1I+H/dSFyjwJhp6wta4hsVRhjf8w9qBHRzxYt14RaOcjvQnhD1N4yKOddEjflwMnQM4VtXjQ== dependencies: debug "^4.3.1" @@ -5768,12 +5802,12 @@ simple-websocket@^9.1.0: slash@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== slice-ansi@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" + resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz" integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== dependencies: ansi-styles "^4.0.0" @@ -5782,22 +5816,22 @@ slice-ansi@^4.0.0: sliced@1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/sliced/-/sliced-1.0.1.tgz#0b3a662b5d04c3177b1926bea82b03f837a2ef41" + resolved "https://registry.npmjs.org/sliced/-/sliced-1.0.1.tgz" integrity sha512-VZBmZP8WU3sMOZm1bdgTadsQbcscK0UM8oKxKVBs4XAhUo2Xxzm/OFMGBkPusxw9xL3Uy8LrzEqGqJhclsr0yA== slugify@^1.6.5: version "1.6.5" - resolved "https://registry.yarnpkg.com/slugify/-/slugify-1.6.5.tgz#c8f5c072bf2135b80703589b39a3d41451fbe8c8" + resolved "https://registry.npmjs.org/slugify/-/slugify-1.6.5.tgz" integrity sha512-8mo9bslnBO3tr5PEVFzMPIWwWnipGS0xVbYf65zxDqfNwmzYn1LpiKNrR6DlClusuvo+hDHd1zKpmfAe83NQSQ== smart-buffer@^4.2.0: version "4.2.0" - resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" + resolved "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz" integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== socks@^2.0.0: version "2.7.1" - resolved "https://registry.yarnpkg.com/socks/-/socks-2.7.1.tgz#d8e651247178fde79c0663043e07240196857d55" + resolved "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz" integrity sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ== dependencies: ip "^2.0.0" @@ -5805,12 +5839,12 @@ socks@^2.0.0: source-map-js@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" + resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz" integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== source-map-support@^0.5.16: version "0.5.21" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" + resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz" integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== dependencies: buffer-from "^1.0.0" @@ -5818,29 +5852,29 @@ source-map-support@^0.5.16: source-map@^0.6.0: version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== space-separated-tokens@^2.0.0: version "2.0.2" - resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz#1ecd9d2350a3844572c3f4a312bceb018348859f" + resolved "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz" integrity sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q== sparse-bitfield@^3.0.3: version "3.0.3" - resolved "https://registry.yarnpkg.com/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz#ff4ae6e68656056ba4b3e792ab3334d38273ca11" + resolved "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz" integrity sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ== dependencies: memory-pager "^1.0.2" spawn-command@^0.0.2-1: version "0.0.2-1" - resolved "https://registry.yarnpkg.com/spawn-command/-/spawn-command-0.0.2-1.tgz#62f5e9466981c1b796dc5929937e11c9c6921bd0" + resolved "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2-1.tgz" integrity sha512-n98l9E2RMSJ9ON1AKisHzz7V42VDiBQGY6PB1BwRglz99wpVsSuGzQ+jOi6lFXBGVTCrRpltvjm+/XA+tpeJrg== spdx-correct@^3.0.0: version "3.1.1" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" + resolved "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz" integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== dependencies: spdx-expression-parse "^3.0.0" @@ -5848,12 +5882,12 @@ spdx-correct@^3.0.0: spdx-exceptions@^2.1.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + resolved "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz" integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== spdx-expression-parse@^3.0.0: version "3.0.1" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + resolved "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz" integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== dependencies: spdx-exceptions "^2.1.0" @@ -5861,41 +5895,48 @@ spdx-expression-parse@^3.0.0: spdx-license-ids@^3.0.0: version "3.0.12" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz#69077835abe2710b65f03969898b6637b505a779" + resolved "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz" integrity sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA== speakeasy@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/speakeasy/-/speakeasy-2.0.0.tgz#85c91a071b09a5cb8642590d983566165f57613a" + resolved "https://registry.npmjs.org/speakeasy/-/speakeasy-2.0.0.tgz" integrity sha512-lW2A2s5LKi8rwu77ewisuUOtlCydF/hmQSOJjpTqTj1gZLkNgTaYnyvfxy2WBr4T/h+9c4g8HIITfj83OkFQFw== dependencies: base32.js "0.0.1" sprintf-js@~1.0.2: version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== +stacktrace-parser@^0.1.10: + version "0.1.10" + resolved "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz" + integrity sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg== + dependencies: + type-fest "^0.7.1" + statuses@2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" + resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== stop-iteration-iterator@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz#6a60be0b4ee757d1ed5254858ec66b10c49285e4" + resolved "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz" integrity sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ== dependencies: internal-slot "^1.0.4" streamsearch@0.1.2: version "0.1.2" - resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-0.1.2.tgz#808b9d0e56fc273d809ba57338e929919a1a9f1a" + resolved "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz" integrity sha512-jos8u++JKm0ARcSUTAZXOVC0mSox7Bhn6sBgty73P1f3JGf7yG2clTbBNHUdde/kdvP2FESam+vM6l8jBrNxHA== "string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== dependencies: emoji-regex "^8.0.0" @@ -5904,7 +5945,7 @@ streamsearch@0.1.2: string.prototype.matchall@^4.0.8: version "4.0.8" - resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz#3bf85722021816dcd1bf38bb714915887ca79fd3" + resolved "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz" integrity sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg== dependencies: call-bind "^1.0.2" @@ -5918,7 +5959,7 @@ string.prototype.matchall@^4.0.8: string.prototype.padend@^3.0.0: version "3.1.4" - resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.1.4.tgz#2c43bb3a89eb54b6750de5942c123d6c98dd65b6" + resolved "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.4.tgz" integrity sha512-67otBXoksdjsnXXRUq+KMVTdlVRZ2af422Y0aTyTjVaoQkGr3mxl2Bc5emi7dOQ3OGVVQQskmLEWwFXwommpNw== dependencies: call-bind "^1.0.2" @@ -5927,7 +5968,7 @@ string.prototype.padend@^3.0.0: string.prototype.trimend@^1.0.6: version "1.0.6" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz#c4a27fa026d979d79c04f17397f250a462944533" + resolved "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz" integrity sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ== dependencies: call-bind "^1.0.2" @@ -5936,7 +5977,7 @@ string.prototype.trimend@^1.0.6: string.prototype.trimstart@^1.0.6: version "1.0.6" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz#e90ab66aa8e4007d92ef591bbf3cd422c56bdcf4" + resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz" integrity sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA== dependencies: call-bind "^1.0.2" @@ -5945,58 +5986,51 @@ string.prototype.trimstart@^1.0.6: string2compact@^1.3.0: version "1.3.2" - resolved "https://registry.yarnpkg.com/string2compact/-/string2compact-1.3.2.tgz#c9d11a13f368404b8025425cc53f9916de1d0b8b" + resolved "https://registry.npmjs.org/string2compact/-/string2compact-1.3.2.tgz" integrity sha512-3XUxUgwhj7Eqh2djae35QHZZT4mN3fsO7kagZhSGmhhlrQagVvWSFuuFIWnpxFS0CdTB2PlQcaL16RDi14I8uw== dependencies: addr-to-ip-port "^1.0.1" ipaddr.js "^2.0.0" -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== +string_decoder@^1.1.1, string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== dependencies: - safe-buffer "~5.2.0" + safe-buffer "~5.1.0" string_decoder@~0.10.x: version "0.10.31" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" integrity sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ== -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.0, strip-ansi@^6.0.1: version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== dependencies: ansi-regex "^5.0.1" strip-bom@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: version "3.1.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== style-to-object@^0.3.0: version "0.3.0" - resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-0.3.0.tgz#b1b790d205991cc783801967214979ee19a76e46" + resolved "https://registry.npmjs.org/style-to-object/-/style-to-object-0.3.0.tgz" integrity sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA== dependencies: inline-style-parser "0.1.1" styled-components@^5.3.3: version "5.3.6" - resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-5.3.6.tgz#27753c8c27c650bee9358e343fc927966bfd00d1" + resolved "https://registry.npmjs.org/styled-components/-/styled-components-5.3.6.tgz" integrity sha512-hGTZquGAaTqhGWldX7hhfzjnIYBZ0IXQXkCYdvF1Sq3DsUaLx6+NTHC5Jj1ooM2F68sBiVz3lvhfwQs/S3l6qg== dependencies: "@babel/helper-module-imports" "^7.0.0" @@ -6012,12 +6046,12 @@ styled-components@^5.3.3: styled-jsx@5.0.4: version "5.0.4" - resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-5.0.4.tgz#5b1bd0b9ab44caae3dd1361295559706e044aa53" + resolved "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.0.4.tgz" integrity sha512-sDFWLbg4zR+UkNzfk5lPilyIgtpddfxXEULxhujorr5jtePTUqiPDc5BC0v1NRqTr/WaFBGQQUoYToGlF4B2KQ== styled-system@^5.1.5: version "5.1.5" - resolved "https://registry.yarnpkg.com/styled-system/-/styled-system-5.1.5.tgz#e362d73e1dbb5641a2fd749a6eba1263dc85075e" + resolved "https://registry.npmjs.org/styled-system/-/styled-system-5.1.5.tgz" integrity sha512-7VoD0o2R3RKzOzPK0jYrVnS8iJdfkKsQJNiLRDjikOpQVqQHns/DXWaPZOH4tIKkhAT7I6wIsy9FWTWh2X3q+A== dependencies: "@styled-system/background" "^5.1.2" @@ -6036,33 +6070,33 @@ styled-system@^5.1.5: 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" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" 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" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== dependencies: has-flag "^4.0.0" supports-color@^8.1.0: version "8.1.1" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== dependencies: has-flag "^4.0.0" supports-preserve-symlinks-flag@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== table@^6.0.9: version "6.8.1" - resolved "https://registry.yarnpkg.com/table/-/table-6.8.1.tgz#ea2b71359fe03b017a5fbc296204471158080bdf" + resolved "https://registry.npmjs.org/table/-/table-6.8.1.tgz" integrity sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA== dependencies: ajv "^8.0.1" @@ -6073,7 +6107,7 @@ table@^6.0.9: tar@^6.1.11: version "6.1.13" - resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.13.tgz#46e22529000f612180601a6fe0680e7da508847b" + resolved "https://registry.npmjs.org/tar/-/tar-6.1.13.tgz" integrity sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw== dependencies: chownr "^2.0.0" @@ -6085,12 +6119,12 @@ tar@^6.1.11: text-table@^0.2.0: version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== timers-ext@^0.1.7: version "0.1.7" - resolved "https://registry.yarnpkg.com/timers-ext/-/timers-ext-0.1.7.tgz#6f57ad8578e07a3fb9f91d9387d65647555e25c6" + resolved "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz" integrity sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ== dependencies: es5-ext "~0.10.46" @@ -6098,56 +6132,56 @@ timers-ext@^0.1.7: to-fast-properties@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== 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" + resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== dependencies: is-number "^7.0.0" toggle-selection@^1.0.6: version "1.0.6" - resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32" + resolved "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz" integrity sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ== toidentifier@1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" + resolved "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz" integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== toposort@^2.0.2: version "2.0.2" - resolved "https://registry.yarnpkg.com/toposort/-/toposort-2.0.2.tgz#ae21768175d1559d48bef35420b2f4962f09c330" + resolved "https://registry.npmjs.org/toposort/-/toposort-2.0.2.tgz" integrity sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg== touch@^3.1.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/touch/-/touch-3.1.0.tgz#fe365f5f75ec9ed4e56825e0bb76d24ab74af83b" + resolved "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz" integrity sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA== dependencies: nopt "~1.0.10" tr46@~0.0.3: version "0.0.3" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz" integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== tree-kill@^1.2.2: version "1.2.2" - resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" + resolved "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz" integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== trough@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/trough/-/trough-2.1.0.tgz#0f7b511a4fde65a46f18477ab38849b22c554876" + resolved "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz" integrity sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g== tsconfig-paths@^3.14.1: version "3.14.1" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz#ba0734599e8ea36c862798e920bcf163277b137a" + resolved "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz" integrity sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ== dependencies: "@types/json5" "^0.0.29" @@ -6155,38 +6189,43 @@ tsconfig-paths@^3.14.1: minimist "^1.2.6" strip-bom "^3.0.0" -tslib@^1.8.1, tslib@^1.9.3: +tslib@^1.8.1, tslib@^1.9.3, "tslib@^2.4.1 || ^1.9.3": version "1.14.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== tslib@^2.1.0, tslib@^2.4.0: version "2.5.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf" + resolved "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz" integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg== tsutils@^3.21.0: version "3.21.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" + resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz" integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== dependencies: tslib "^1.8.1" type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== dependencies: prelude-ls "^1.2.1" type-fest@^0.20.2: version "0.20.2" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== +type-fest@^0.7.1: + version "0.7.1" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz" + integrity sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg== + 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" + resolved "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz" integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== dependencies: media-typer "0.3.0" @@ -6194,17 +6233,17 @@ type-is@^1.6.4, type-is@~1.6.18: type@^1.0.1: version "1.2.0" - resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" + resolved "https://registry.npmjs.org/type/-/type-1.2.0.tgz" integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== type@^2.7.2: version "2.7.2" - resolved "https://registry.yarnpkg.com/type/-/type-2.7.2.tgz#2376a15a3a28b1efa0f5350dcf72d24df6ef98d0" + resolved "https://registry.npmjs.org/type/-/type-2.7.2.tgz" integrity sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw== typed-array-length@^1.0.4: version "1.0.4" - resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb" + resolved "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz" integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== dependencies: call-bind "^1.0.2" @@ -6213,12 +6252,12 @@ typed-array-length@^1.0.4: typedarray@^0.0.6: version "0.0.6" - resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + resolved "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== unbox-primitive@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" + resolved "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz" integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== dependencies: call-bind "^1.0.2" @@ -6228,17 +6267,17 @@ unbox-primitive@^1.0.2: undefsafe@^2.0.5: version "2.0.5" - resolved "https://registry.yarnpkg.com/undefsafe/-/undefsafe-2.0.5.tgz#38733b9327bdcd226db889fb723a6efd162e6e2c" + resolved "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz" integrity sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA== unicode-canonical-property-names-ecmascript@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" + resolved "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz" integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== unicode-match-property-ecmascript@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" + resolved "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz" integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== dependencies: unicode-canonical-property-names-ecmascript "^2.0.0" @@ -6246,17 +6285,17 @@ unicode-match-property-ecmascript@^2.0.0: unicode-match-property-value-ecmascript@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz#cb5fffdcd16a05124f5a4b0bf7c3770208acbbe0" + resolved "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz" integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== unicode-property-aliases-ecmascript@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" + resolved "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz" integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== unified@^10.0.0: version "10.1.2" - resolved "https://registry.yarnpkg.com/unified/-/unified-10.1.2.tgz#b1d64e55dafe1f0b98bb6c719881103ecf6c86df" + resolved "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz" integrity sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q== dependencies: "@types/unist" "^2.0.0" @@ -6269,38 +6308,38 @@ unified@^10.0.0: unist-builder@^3.0.0: version "3.0.1" - resolved "https://registry.yarnpkg.com/unist-builder/-/unist-builder-3.0.1.tgz#258b89dcadd3c973656b2327b347863556907f58" + resolved "https://registry.npmjs.org/unist-builder/-/unist-builder-3.0.1.tgz" integrity sha512-gnpOw7DIpCA0vpr6NqdPvTWnlPTApCTRzr+38E6hCWx3rz/cjo83SsKIlS1Z+L5ttScQ2AwutNnb8+tAvpb6qQ== dependencies: "@types/unist" "^2.0.0" unist-util-generated@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/unist-util-generated/-/unist-util-generated-2.0.1.tgz#e37c50af35d3ed185ac6ceacb6ca0afb28a85cae" + resolved "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-2.0.1.tgz" integrity sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A== unist-util-is@^5.0.0: version "5.2.0" - resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-5.2.0.tgz#37eed0617b76c114fd34d44c201aa96fd928b309" + resolved "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.0.tgz" integrity sha512-Glt17jWwZeyqrFqOK0pF1Ded5U3yzJnFr8CG1GMjCWTp9zDo2p+cmD6pWbZU8AgM5WU3IzRv6+rBwhzsGh6hBQ== unist-util-position@^4.0.0: version "4.0.4" - resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-4.0.4.tgz#93f6d8c7d6b373d9b825844645877c127455f037" + resolved "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.4.tgz" integrity sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg== dependencies: "@types/unist" "^2.0.0" unist-util-stringify-position@^3.0.0: version "3.0.3" - resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz#03ad3348210c2d930772d64b489580c13a7db39d" + resolved "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz" integrity sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg== dependencies: "@types/unist" "^2.0.0" unist-util-visit-parents@^5.0.0, unist-util-visit-parents@^5.1.1: version "5.1.3" - resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz#b4520811b0ca34285633785045df7a8d6776cfeb" + resolved "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz" integrity sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg== dependencies: "@types/unist" "^2.0.0" @@ -6308,7 +6347,7 @@ unist-util-visit-parents@^5.0.0, unist-util-visit-parents@^5.1.1: unist-util-visit@^4.0.0: version "4.1.2" - resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-4.1.2.tgz#125a42d1eb876283715a3cb5cceaa531828c72e2" + resolved "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz" integrity sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg== dependencies: "@types/unist" "^2.0.0" @@ -6317,7 +6356,7 @@ unist-util-visit@^4.0.0: universal-cookie@^4.0.0: version "4.0.4" - resolved "https://registry.yarnpkg.com/universal-cookie/-/universal-cookie-4.0.4.tgz#06e8b3625bf9af049569ef97109b4bb226ad798d" + resolved "https://registry.npmjs.org/universal-cookie/-/universal-cookie-4.0.4.tgz" integrity sha512-lbRVHoOMtItjWbM7TwDLdl8wug7izB0tq3/YVKhT/ahB4VDvWMyvnADfnJI8y6fSvsjh51Ix7lTGC6Tn4rMPhw== dependencies: "@types/cookie" "^0.3.3" @@ -6325,17 +6364,17 @@ universal-cookie@^4.0.0: unordered-array-remove@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/unordered-array-remove/-/unordered-array-remove-1.0.2.tgz#c546e8f88e317a0cf2644c97ecb57dba66d250ef" + resolved "https://registry.npmjs.org/unordered-array-remove/-/unordered-array-remove-1.0.2.tgz" integrity sha512-45YsfD6svkgaCBNyvD+dFHm4qFX9g3wRSIVgWVPtm2OCnphvPxzJoe20ATsiNpNJrmzHifnxm+BN5F7gFT/4gw== unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== update-browserslist-db@^1.0.10: version "1.0.10" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3" + resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz" integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ== dependencies: escalade "^3.1.1" @@ -6343,36 +6382,36 @@ update-browserslist-db@^1.0.10: uri-js@^4.2.2: version "4.4.1" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== dependencies: punycode "^2.1.0" use-sync-external-store@1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz#7dbefd6ef3fe4e767a0cf5d7287aacfb5846928a" + resolved "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz" integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA== utf-8-validate@^5.0.5: version "5.0.10" - resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.10.tgz#d7d10ea39318171ca982718b6b96a8d2442571a2" + resolved "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz" integrity sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ== dependencies: node-gyp-build "^4.3.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" + resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" 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" + resolved "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz" integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== uvu@^0.5.0: version "0.5.6" - resolved "https://registry.yarnpkg.com/uvu/-/uvu-0.5.6.tgz#2754ca20bcb0bb59b64e9985e84d2e81058502df" + resolved "https://registry.npmjs.org/uvu/-/uvu-0.5.6.tgz" integrity sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA== dependencies: dequal "^2.0.0" @@ -6382,19 +6421,19 @@ uvu@^0.5.0: v8-compile-cache@^2.0.3: version "2.3.0" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" + resolved "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz" integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== v8flags@^3.1.1: version "3.2.0" - resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-3.2.0.tgz#b243e3b4dfd731fa774e7492128109a0fe66d656" + resolved "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz" integrity sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg== dependencies: homedir-polyfill "^1.0.1" validate-npm-package-license@^3.0.1: version "3.0.4" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + resolved "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz" integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== dependencies: spdx-correct "^3.0.0" @@ -6402,12 +6441,12 @@ validate-npm-package-license@^3.0.1: vary@^1, vary@~1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + resolved "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz" integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== vfile-message@^3.0.0: version "3.1.4" - resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-3.1.4.tgz#15a50816ae7d7c2d1fa87090a7f9f96612b59dea" + resolved "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz" integrity sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw== dependencies: "@types/unist" "^2.0.0" @@ -6415,7 +6454,7 @@ vfile-message@^3.0.0: vfile@^5.0.0: version "5.3.7" - resolved "https://registry.yarnpkg.com/vfile/-/vfile-5.3.7.tgz#de0677e6683e3380fafc46544cfe603118826ab7" + resolved "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz" integrity sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g== dependencies: "@types/unist" "^2.0.0" @@ -6425,17 +6464,17 @@ vfile@^5.0.0: webidl-conversions@^3.0.0: version "3.0.1" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz" integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== "webpack-sources@^2.0.0 || ^3.0.0": version "3.2.3" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" + resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz" integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== whatwg-url@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz" integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== dependencies: tr46 "~0.0.3" @@ -6443,7 +6482,7 @@ whatwg-url@^5.0.0: which-boxed-primitive@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" + resolved "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz" integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== dependencies: is-bigint "^1.0.1" @@ -6454,7 +6493,7 @@ which-boxed-primitive@^1.0.2: which-collection@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.1.tgz#70eab71ebbbd2aefaf32f917082fc62cdcb70906" + resolved "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz" integrity sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A== dependencies: is-map "^2.0.1" @@ -6464,12 +6503,12 @@ which-collection@^1.0.1: which-module@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + resolved "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz" integrity sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q== which-typed-array@^1.1.9: version "1.1.9" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.9.tgz#307cf898025848cf995e795e8423c7f337efbde6" + resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz" integrity sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA== dependencies: available-typed-arrays "^1.0.5" @@ -6481,33 +6520,33 @@ which-typed-array@^1.1.9: which@^1.2.9: version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== dependencies: isexe "^2.0.0" which@^2.0.1, which@^2.0.2: version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== dependencies: isexe "^2.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" + resolved "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz" integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== dependencies: string-width "^1.0.2 || 2 || 3 || 4" word-wrap@^1.2.3: version "1.2.3" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz" integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== wrap-ansi@^6.2.0: version "6.2.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz" integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== dependencies: ansi-styles "^4.0.0" @@ -6516,7 +6555,7 @@ wrap-ansi@^6.2.0: wrap-ansi@^7.0.0: version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== dependencies: ansi-styles "^4.0.0" @@ -6525,42 +6564,42 @@ wrap-ansi@^7.0.0: wrappy@1: version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== ws@^7.4.2, ws@^7.4.5: version "7.5.9" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" + resolved "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz" integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== xtend@^4.0.0: version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== y18n@^4.0.0: version "4.0.3" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" + resolved "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz" integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== y18n@^5.0.5: version "5.0.8" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== yallist@^3.0.2: version "3.1.1" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== yallist@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== yargs-parser@^18.1.2: version "18.1.3" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz" integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== dependencies: camelcase "^5.0.0" @@ -6568,12 +6607,12 @@ yargs-parser@^18.1.2: yargs-parser@^21.1.1: version "21.1.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz" integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== yargs@^15.3.1: version "15.4.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" + resolved "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz" integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== dependencies: cliui "^6.0.0" @@ -6590,7 +6629,7 @@ yargs@^15.3.1: yargs@^17.3.1: version "17.7.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.0.tgz#b21e9af1e0a619a2a9c67b1133219b2975a07985" + resolved "https://registry.npmjs.org/yargs/-/yargs-17.7.0.tgz" integrity sha512-dwqOPg5trmrre9+v8SUo2q/hAwyKoVfu8OC1xPHKJGNdxAvPl4sKxL4vBnh3bQz/ZvvGAFeA5H3ou2kcOY8sQQ== dependencies: cliui "^8.0.1" @@ -6603,7 +6642,7 @@ yargs@^17.3.1: yup@^0.32.11: version "0.32.11" - resolved "https://registry.yarnpkg.com/yup/-/yup-0.32.11.tgz#d67fb83eefa4698607982e63f7ca4c5ed3cf18c5" + resolved "https://registry.npmjs.org/yup/-/yup-0.32.11.tgz" integrity sha512-Z2Fe1bn+eLstG8DRR6FTavGD+MeAwyfmouhHsIUgaADz8jvFKbO/fXc2trJKZg+5EBjh4gGm3iU/t3onKlXHIg== dependencies: "@babel/runtime" "^7.15.4" @@ -6616,5 +6655,5 @@ yup@^0.32.11: zwitch@^2.0.0: version "2.0.4" - resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-2.0.4.tgz#c827d4b0acb76fc3e685a4c6ec2902d51070e9d7" + resolved "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz" integrity sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==