├── .gitignore
├── backend
├── api
│ ├── __init__.py
│ ├── migrations
│ │ └── __init__.py
│ ├── models.py
│ ├── tests.py
│ ├── admin.py
│ ├── apps.py
│ ├── urls.py
│ ├── serializer.py
│ └── views.py
├── backend
│ ├── __init__.py
│ ├── urls.py
│ ├── asgi.py
│ ├── wsgi.py
│ └── settings.py
├── requirements.txt
├── manage.py
└── .gitignore
├── frontend
├── src
│ ├── utils
│ │ ├── constants.js
│ │ ├── axios.js
│ │ ├── useAxios.js
│ │ └── auth.js
│ ├── main.jsx
│ ├── views
│ │ ├── logout.jsx
│ │ ├── home.jsx
│ │ ├── private.jsx
│ │ ├── login.jsx
│ │ └── register.jsx
│ ├── layouts
│ │ ├── PrivateRoute.jsx
│ │ └── MainWrapper.jsx
│ ├── store
│ │ └── auth.js
│ ├── App.css
│ ├── App.jsx
│ ├── index.css
│ └── assets
│ │ └── react.svg
├── .prettierrc.json
├── vite.config.js
├── .gitignore
├── index.html
├── .eslintrc.cjs
├── .editorconfig
├── package.json
├── public
│ └── vite.svg
└── yarn.lock
└── README.md
/.gitignore:
--------------------------------------------------------------------------------
1 | .vscode
--------------------------------------------------------------------------------
/backend/api/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/backend/backend/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/backend/api/migrations/__init__.py:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/backend/api/models.py:
--------------------------------------------------------------------------------
1 | from django.db import models
2 |
3 | # Create your models here.
4 |
--------------------------------------------------------------------------------
/backend/api/tests.py:
--------------------------------------------------------------------------------
1 | from django.test import TestCase
2 |
3 | # Create your tests here.
4 |
--------------------------------------------------------------------------------
/frontend/src/utils/constants.js:
--------------------------------------------------------------------------------
1 | export const API_BASE_URL = 'http://localhost:8000/api/';
2 |
--------------------------------------------------------------------------------
/backend/api/admin.py:
--------------------------------------------------------------------------------
1 | from django.contrib import admin
2 |
3 | # Register your models here.
4 |
--------------------------------------------------------------------------------
/frontend/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "trailingComma": "es5",
3 | "tabWidth": 4,
4 | "semi": true,
5 | "singleQuote": true
6 | }
7 |
--------------------------------------------------------------------------------
/backend/api/apps.py:
--------------------------------------------------------------------------------
1 | from django.apps import AppConfig
2 |
3 |
4 | class ApiConfig(AppConfig):
5 | default_auto_field = 'django.db.models.BigAutoField'
6 | name = 'api'
7 |
--------------------------------------------------------------------------------
/frontend/vite.config.js:
--------------------------------------------------------------------------------
1 | import { defineConfig } from 'vite'
2 | import react from '@vitejs/plugin-react'
3 |
4 | // https://vitejs.dev/config/
5 | export default defineConfig({
6 | plugins: [react()],
7 | })
8 |
--------------------------------------------------------------------------------
/backend/backend/urls.py:
--------------------------------------------------------------------------------
1 | # backend/urls.py
2 |
3 | from django.contrib import admin
4 | from django.urls import path
5 | from django.urls import path, include
6 |
7 | urlpatterns = [
8 | path('admin/', admin.site.urls),
9 | path('api/', include("api.urls"))
10 | ]
11 |
--------------------------------------------------------------------------------
/frontend/src/main.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom/client';
3 | import App from './App.jsx';
4 | import './index.css';
5 |
6 | ReactDOM.createRoot(document.getElementById('root')).render(
7 |
8 |
9 |
10 | );
11 |
--------------------------------------------------------------------------------
/backend/requirements.txt:
--------------------------------------------------------------------------------
1 | asgiref==3.6.0
2 | autopep8==2.0.2
3 | Django==4.2
4 | django-cors-headers==3.14.0
5 | djangorestframework==3.14.0
6 | djangorestframework-simplejwt==5.2.2
7 | pycodestyle==2.10.0
8 | PyJWT==2.6.0
9 | pytz==2023.3
10 | sqlparse==0.4.3
11 | toml==0.10.2
12 | tomli==2.0.1
13 | tzdata==2023.3
14 |
--------------------------------------------------------------------------------
/frontend/src/views/logout.jsx:
--------------------------------------------------------------------------------
1 | import { useEffect } from 'react';
2 | import { LoggedOutView } from './home';
3 | import { logout } from '../utils/auth';
4 |
5 | const Logout = () => {
6 | useEffect(() => {
7 | logout();
8 | }, []);
9 | return ;
10 | };
11 |
12 | export default Logout;
13 |
--------------------------------------------------------------------------------
/frontend/src/utils/axios.js:
--------------------------------------------------------------------------------
1 | import axios from 'axios';
2 |
3 | const apiInstance = axios.create({
4 | baseURL: 'http://localhost:8000/api/',
5 | timeout: 5000, // timeout after 5 seconds
6 | headers: {
7 | 'Content-Type': 'application/json',
8 | Accept: 'application/json',
9 | },
10 | });
11 |
12 | export default apiInstance;
13 |
--------------------------------------------------------------------------------
/frontend/src/layouts/PrivateRoute.jsx:
--------------------------------------------------------------------------------
1 | import { Navigate } from 'react-router-dom';
2 | import { useAuthStore } from '../store/auth';
3 |
4 | const PrivateRoute = ({ children }) => {
5 | const loggedIn = useAuthStore((state) => state.isLoggedIn)();
6 | return loggedIn ? <>{children}> : ;
7 | };
8 |
9 | export default PrivateRoute;
10 |
--------------------------------------------------------------------------------
/frontend/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | pnpm-debug.log*
8 | lerna-debug.log*
9 |
10 | node_modules
11 | dist
12 | dist-ssr
13 | *.local
14 |
15 | # Editor directories and files
16 | .vscode/*
17 | !.vscode/extensions.json
18 | .idea
19 | .DS_Store
20 | *.suo
21 | *.ntvs*
22 | *.njsproj
23 | *.sln
24 | *.sw?
25 |
--------------------------------------------------------------------------------
/frontend/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Vite + React
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/backend/backend/asgi.py:
--------------------------------------------------------------------------------
1 | """
2 | ASGI config for backend project.
3 |
4 | It exposes the ASGI callable as a module-level variable named ``application``.
5 |
6 | For more information on this file, see
7 | https://docs.djangoproject.com/en/4.0/howto/deployment/asgi/
8 | """
9 |
10 | import os
11 |
12 | from django.core.asgi import get_asgi_application
13 |
14 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'backend.settings')
15 |
16 | application = get_asgi_application()
17 |
--------------------------------------------------------------------------------
/backend/backend/wsgi.py:
--------------------------------------------------------------------------------
1 | """
2 | WSGI config for backend project.
3 |
4 | It exposes the WSGI callable as a module-level variable named ``application``.
5 |
6 | For more information on this file, see
7 | https://docs.djangoproject.com/en/4.0/howto/deployment/wsgi/
8 | """
9 |
10 | import os
11 |
12 | from django.core.wsgi import get_wsgi_application
13 |
14 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'backend.settings')
15 |
16 | application = get_wsgi_application()
17 |
--------------------------------------------------------------------------------
/backend/api/urls.py:
--------------------------------------------------------------------------------
1 | from django.urls import path
2 | from . import views
3 |
4 | from rest_framework_simplejwt.views import (
5 | TokenRefreshView,
6 | )
7 |
8 | urlpatterns = [
9 | path('token/', views.MyTokenObtainPairView.as_view(), name='token_obtain_pair'),
10 | path('token/refresh/', TokenRefreshView.as_view(), name='token_refresh'),
11 | path('register/', views.RegisterView.as_view(), name='auth_register'),
12 | path('test/', views.testEndPoint, name='test'),
13 | path('', views.getRoutes)
14 | ]
15 |
--------------------------------------------------------------------------------
/frontend/.eslintrc.cjs:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | env: { browser: true, es2020: true },
3 | extends: [
4 | "eslint:recommended",
5 | "plugin:react/recommended",
6 | "plugin:react/jsx-runtime",
7 | "plugin:react-hooks/recommended",
8 | ],
9 | parserOptions: { ecmaVersion: "latest", sourceType: "module" },
10 | settings: { react: { version: "18.2" } },
11 | plugins: ["react-refresh"],
12 | rules: {
13 | "react-refresh/only-export-components": "warn",
14 | "react/prop-types": "off",
15 | },
16 | };
17 |
--------------------------------------------------------------------------------
/frontend/src/layouts/MainWrapper.jsx:
--------------------------------------------------------------------------------
1 | import { useEffect, useState } from 'react';
2 | import { setUser } from '../utils/auth';
3 |
4 | const MainWrapper = ({ children }) => {
5 | const [loading, setLoading] = useState(true);
6 | useEffect(() => {
7 | const handler = async () => {
8 | setLoading(true);
9 | await setUser();
10 | setLoading(false);
11 | };
12 | handler();
13 | }, []);
14 |
15 | return <>{loading ? null : children}>;
16 | };
17 |
18 | export default MainWrapper;
19 |
--------------------------------------------------------------------------------
/frontend/src/store/auth.js:
--------------------------------------------------------------------------------
1 | import { create } from 'zustand';
2 | import { mountStoreDevtool } from 'simple-zustand-devtools';
3 |
4 | const useAuthStore = create((set, get) => ({
5 | allUserData: null, // Use this to store all user data
6 | loading: false,
7 | user: () => ({
8 | user_id: get().allUserData?.user_id || null,
9 | username: get().allUserData?.username || null,
10 | }),
11 | setUser: (user) => set({ allUserData: user }),
12 | setLoading: (loading) => set({ loading }),
13 | isLoggedIn: () => get().allUserData !== null,
14 | }));
15 |
16 | if (import.meta.env.DEV) {
17 | mountStoreDevtool('Store', useAuthStore);
18 | }
19 |
20 | export { useAuthStore };
21 |
--------------------------------------------------------------------------------
/backend/manage.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 | """Django's command-line utility for administrative tasks."""
3 | import os
4 | import sys
5 |
6 |
7 | def main():
8 | """Run administrative tasks."""
9 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'backend.settings')
10 | try:
11 | from django.core.management import execute_from_command_line
12 | except ImportError as exc:
13 | raise ImportError(
14 | "Couldn't import Django. Are you sure it's installed and "
15 | "available on your PYTHONPATH environment variable? Did you "
16 | "forget to activate a virtual environment?"
17 | ) from exc
18 | execute_from_command_line(sys.argv)
19 |
20 |
21 | if __name__ == '__main__':
22 | main()
23 |
--------------------------------------------------------------------------------
/frontend/src/App.css:
--------------------------------------------------------------------------------
1 | #root {
2 | max-width: 1280px;
3 | margin: 0 auto;
4 | padding: 2rem;
5 | text-align: center;
6 | }
7 |
8 | .logo {
9 | height: 6em;
10 | padding: 1.5em;
11 | will-change: filter;
12 | transition: filter 300ms;
13 | }
14 | .logo:hover {
15 | filter: drop-shadow(0 0 2em #646cffaa);
16 | }
17 | .logo.react:hover {
18 | filter: drop-shadow(0 0 2em #61dafbaa);
19 | }
20 |
21 | @keyframes logo-spin {
22 | from {
23 | transform: rotate(0deg);
24 | }
25 | to {
26 | transform: rotate(360deg);
27 | }
28 | }
29 |
30 | @media (prefers-reduced-motion: no-preference) {
31 | a:nth-of-type(2) .logo {
32 | animation: logo-spin infinite 20s linear;
33 | }
34 | }
35 |
36 | .card {
37 | padding: 2em;
38 | }
39 |
40 | .read-the-docs {
41 | color: #888;
42 | }
43 |
--------------------------------------------------------------------------------
/frontend/.editorconfig:
--------------------------------------------------------------------------------
1 | # EditorConfig is awesome: https://EditorConfig.org
2 |
3 | # top-most EditorConfig file
4 | root = true
5 |
6 | # Unix-style newlines with a newline ending every file
7 | [*]
8 | end_of_line = lf
9 | insert_final_newline = true
10 |
11 | # Matches multiple files with brace expansion notation
12 | # Set default charset
13 | [*.{js,py}]
14 | charset = utf-8
15 | indent_size = 4
16 |
17 | # 4 space indentation
18 | [*.py]
19 | indent_style = space
20 | indent_size = 4
21 |
22 | # Tab indentation (no size specified)
23 | [Makefile]
24 | indent_style = tab
25 |
26 | # Indentation override for all JS under lib directory
27 | [lib/**.js]
28 | indent_style = space
29 | indent_size = 2
30 |
31 | # Matches the exact files either package.json or .travis.yml
32 | [{package.json,.travis.yml}]
33 | indent_style = space
34 | indent_size = 2
--------------------------------------------------------------------------------
/frontend/src/utils/useAxios.js:
--------------------------------------------------------------------------------
1 | import axios from 'axios';
2 | import { getRefreshToken, isAccessTokenExpired, setAuthUser } from './auth';
3 | import { API_BASE_URL } from './constants';
4 | import Cookies from 'js-cookie';
5 |
6 | const useAxios = () => {
7 | const accessToken = Cookies.get('access_token');
8 | const refreshToken = Cookies.get('refresh_token');
9 |
10 | const axiosInstance = axios.create({
11 | baseURL: API_BASE_URL,
12 | headers: { Authorization: `Bearer ${accessToken}` },
13 | });
14 |
15 | axiosInstance.interceptors.request.use(async (req) => {
16 | if (!isAccessTokenExpired(accessToken)) return req;
17 |
18 | const response = await getRefreshToken(refreshToken);
19 |
20 | setAuthUser(response.access, response.refresh);
21 |
22 | req.headers.Authorization = `Bearer ${response.data.access}`;
23 | return req;
24 | });
25 |
26 | return axiosInstance;
27 | };
28 |
29 | export default useAxios;
30 |
--------------------------------------------------------------------------------
/frontend/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "fast-frontend",
3 | "private": true,
4 | "version": "0.0.0",
5 | "type": "module",
6 | "scripts": {
7 | "dev": "vite",
8 | "build": "vite build",
9 | "lint": "eslint src --ext js,jsx --report-unused-disable-directives --max-warnings 0",
10 | "preview": "vite preview"
11 | },
12 | "dependencies": {
13 | "axios": "^1.4.0",
14 | "dayjs": "^1.11.7",
15 | "js-cookie": "^3.0.5",
16 | "jwt-decode": "^3.1.2",
17 | "react": "^18.2.0",
18 | "react-dom": "^18.2.0",
19 | "react-router-dom": "6.10.0",
20 | "zustand": "^4.3.8"
21 | },
22 | "devDependencies": {
23 | "@types/react": "^18.0.28",
24 | "@types/react-dom": "^18.0.11",
25 | "@vitejs/plugin-react": "^4.0.0",
26 | "eslint": "^8.38.0",
27 | "eslint-plugin-react": "^7.32.2",
28 | "eslint-plugin-react-hooks": "^4.6.0",
29 | "eslint-plugin-react-refresh": "^0.3.4",
30 | "prettier": "^2.8.8",
31 | "simple-zustand-devtools": "^1.1.0",
32 | "vite": "^4.3.2"
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/frontend/src/views/home.jsx:
--------------------------------------------------------------------------------
1 | import { Link } from 'react-router-dom';
2 | import { useAuthStore } from '../store/auth';
3 |
4 | const Home = () => {
5 | const [isLoggedIn, user] = useAuthStore((state) => [
6 | state.isLoggedIn,
7 | state.user,
8 | ]);
9 | return (
10 |
11 | {isLoggedIn() ? : }
12 |
13 | );
14 | };
15 |
16 | const LoggedInView = ({ user }) => {
17 | return (
18 |
19 |
Welcome {user.username}
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 | );
28 | };
29 |
30 | export const LoggedOutView = ({ title = 'Home' }) => {
31 | return (
32 |
33 |
{title}
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 | );
42 | };
43 |
44 | export default Home;
45 |
--------------------------------------------------------------------------------
/frontend/src/App.jsx:
--------------------------------------------------------------------------------
1 | import './App.css';
2 | import { Route, Routes, BrowserRouter } from 'react-router-dom';
3 | import Home from './views/home';
4 | import MainWrapper from './layouts/MainWrapper';
5 | import Login from './views/login';
6 | import PrivateRoute from './layouts/PrivateRoute';
7 | import Logout from './views/logout';
8 | import Private from './views/private';
9 | import Register from './views/register';
10 |
11 | function App() {
12 | return (
13 |
14 |
15 |
16 |
20 |
21 |
22 | }
23 | />
24 | } />
25 | } />
26 | } />
27 | } />
28 |
29 |
30 |
31 | );
32 | }
33 |
34 | export default App;
35 |
--------------------------------------------------------------------------------
/frontend/src/views/private.jsx:
--------------------------------------------------------------------------------
1 | import { useEffect, useState } from 'react';
2 | import useAxios from '../utils/useAxios';
3 |
4 | const Private = () => {
5 | const [res, setRes] = useState('');
6 | const [posRes, setPostRes] = useState('');
7 | const api = useAxios();
8 | useEffect(() => {
9 | const fetchData = async () => {
10 | try {
11 | const response = await api.get('/test/');
12 | setRes(response.data.response);
13 | } catch (error) {
14 | setPostRes(error.response.data);
15 | }
16 | };
17 | fetchData();
18 | }, []);
19 | const handleSubmit = async (e) => {
20 | e.preventDefault();
21 | try {
22 | const response = await api.post('/test/', {
23 | text: e.target[0].value,
24 | });
25 | setPostRes(response.data.response);
26 | } catch (error) {
27 | setPostRes(error.response.data);
28 | }
29 | };
30 | return (
31 |
32 | Private
33 | {res}
34 |
38 | {posRes && {posRes}
}
39 |
40 | );
41 | };
42 |
43 | export default Private;
44 |
--------------------------------------------------------------------------------
/frontend/public/vite.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/frontend/src/index.css:
--------------------------------------------------------------------------------
1 | :root {
2 | font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
3 | line-height: 1.5;
4 | font-weight: 400;
5 |
6 | color-scheme: light dark;
7 | color: rgba(255, 255, 255, 0.87);
8 | background-color: #242424;
9 |
10 | font-synthesis: none;
11 | text-rendering: optimizeLegibility;
12 | -webkit-font-smoothing: antialiased;
13 | -moz-osx-font-smoothing: grayscale;
14 | -webkit-text-size-adjust: 100%;
15 | }
16 |
17 | a {
18 | font-weight: 500;
19 | color: #646cff;
20 | text-decoration: inherit;
21 | }
22 | a:hover {
23 | color: #535bf2;
24 | }
25 |
26 | body {
27 | margin: 0;
28 | display: flex;
29 | place-items: center;
30 | min-width: 320px;
31 | min-height: 100vh;
32 | }
33 |
34 | h1 {
35 | font-size: 3.2em;
36 | line-height: 1.1;
37 | }
38 |
39 | button {
40 | border-radius: 8px;
41 | border: 1px solid transparent;
42 | padding: 0.6em 1.2em;
43 | font-size: 1em;
44 | font-weight: 500;
45 | font-family: inherit;
46 | background-color: #1a1a1a;
47 | cursor: pointer;
48 | transition: border-color 0.25s;
49 | }
50 | button:hover {
51 | border-color: #646cff;
52 | }
53 | button:focus,
54 | button:focus-visible {
55 | outline: 4px auto -webkit-focus-ring-color;
56 | }
57 |
58 | @media (prefers-color-scheme: light) {
59 | :root {
60 | color: #213547;
61 | background-color: #ffffff;
62 | }
63 | a:hover {
64 | color: #747bff;
65 | }
66 | button {
67 | background-color: #f9f9f9;
68 | }
69 | }
70 |
--------------------------------------------------------------------------------
/backend/api/serializer.py:
--------------------------------------------------------------------------------
1 | from django.contrib.auth.models import User
2 | from django.contrib.auth.password_validation import validate_password
3 | from rest_framework_simplejwt.serializers import TokenObtainPairSerializer
4 | from rest_framework import serializers
5 | from rest_framework.validators import UniqueValidator
6 | from rest_framework_simplejwt.serializers import TokenObtainPairSerializer
7 |
8 |
9 | class MyTokenObtainPairSerializer(TokenObtainPairSerializer):
10 | @classmethod
11 | def get_token(cls, user):
12 | token = super().get_token(user)
13 |
14 | # Add custom claims
15 | token['username'] = user.username
16 | token['email'] = user.email
17 | # ...
18 |
19 | return token
20 |
21 |
22 | class RegisterSerializer(serializers.ModelSerializer):
23 | password = serializers.CharField(
24 | write_only=True, required=True, validators=[validate_password])
25 | password2 = serializers.CharField(write_only=True, required=True)
26 |
27 | class Meta:
28 | model = User
29 | fields = ('username', 'password', 'password2')
30 |
31 | def validate(self, attrs):
32 | if attrs['password'] != attrs['password2']:
33 | raise serializers.ValidationError(
34 | {"password": "Password fields didn't match."})
35 |
36 | return attrs
37 |
38 | def create(self, validated_data):
39 | user = User.objects.create(
40 | username=validated_data['username']
41 | )
42 |
43 | user.set_password(validated_data['password'])
44 | user.save()
45 |
46 | return user
47 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Django Rest Auth with React Vite - 2023
2 |
3 | ## Steps for Running Project
4 |
5 | ### Requirements
6 |
7 | `Python, Node, git`
8 |
9 | ### Clone the repository:
10 |
11 | - Create a empty folder and `cd` into that folder.
12 | - Type the following command to clone project in same directory.
13 |
14 | ```bash
15 | git clone https://github.com/sushil-kamble/django-react-auth.git .
16 | ```
17 |
18 | ## Backend
19 |
20 | ### 1. Go to the root folder and perform the following commands:
21 |
22 | `cd backend/`
23 |
24 | ### 2. Create and activate the virtual environment
25 |
26 | ```bash
27 | python -m venv venv
28 | venv\Scripts\activate
29 | ```
30 |
31 | > If their is any error activating virtual env, please google search it for your system or try `venv\bin\activate` or `source venv/bin/activate`
32 |
33 | ### 3. Install required packages
34 |
35 | ```bash
36 | pip install -r requirements.txt
37 | ```
38 |
39 | ### 4. Run the server
40 |
41 | ```bash
42 | python manage.py migrate
43 | python manage.py runserver
44 | ```
45 |
46 | ## Frontend
47 |
48 | - Head back to the root folder
49 | - Enter in `cd frontend/`
50 |
51 | ### 1. Installing packages
52 |
53 | ```bash
54 | yarn
55 | ```
56 |
57 | If you don't have yarn installed
58 |
59 |
60 | ```bash
61 | npm i
62 | ```
63 |
64 | > Remove **yarn.lock** as you will already have **package.lock**
65 |
66 |
67 |
68 |
69 | ### 2. Run the application
70 |
71 | ```bash
72 | yarn dev # OR npm run dev
73 | ```
74 |
75 | > Make sure both frontend and backend are running.
76 |
77 | ## Reinitailize git repository
78 |
79 | - Delete `.git` folder in project root
80 | > Make sure you turn on the "Show hidden files, folders and disks" option.
81 | - `git init`
82 |
--------------------------------------------------------------------------------
/frontend/src/views/login.jsx:
--------------------------------------------------------------------------------
1 | import { useEffect, useState } from 'react';
2 | import { login } from '../utils/auth';
3 | import { useNavigate } from 'react-router-dom';
4 | import { useAuthStore } from '../store/auth';
5 |
6 | const Login = () => {
7 | const navigate = useNavigate();
8 | const [username, setUsername] = useState('');
9 | const [password, setPassword] = useState('');
10 | const isLoggedIn = useAuthStore((state) => state.isLoggedIn);
11 |
12 | useEffect(() => {
13 | if (isLoggedIn()) {
14 | navigate('/');
15 | }
16 | }, []);
17 |
18 | const resetForm = () => {
19 | setUsername('');
20 | setPassword('');
21 | };
22 |
23 | const handleLogin = async (e) => {
24 | e.preventDefault();
25 | const { error } = await login(username, password);
26 | if (error) {
27 | alert(error);
28 | } else {
29 | navigate('/');
30 | resetForm();
31 | }
32 | };
33 | return (
34 |
60 | );
61 | };
62 |
63 | export default Login;
64 |
--------------------------------------------------------------------------------
/backend/api/views.py:
--------------------------------------------------------------------------------
1 | from django.shortcuts import render
2 | from rest_framework import status
3 | from rest_framework.decorators import api_view
4 | from rest_framework.response import Response
5 | from django.http import JsonResponse
6 | from api.serializer import MyTokenObtainPairSerializer, RegisterSerializer
7 | from rest_framework_simplejwt.views import TokenObtainPairView
8 | from rest_framework import generics
9 | from django.contrib.auth.models import User
10 | from rest_framework.permissions import AllowAny, IsAuthenticated
11 | from rest_framework.decorators import api_view, permission_classes
12 | import json
13 |
14 | # Create your views here.
15 |
16 |
17 | class MyTokenObtainPairView(TokenObtainPairView):
18 | serializer_class = MyTokenObtainPairSerializer
19 |
20 |
21 | class RegisterView(generics.CreateAPIView):
22 | queryset = User.objects.all()
23 | permission_classes = (AllowAny,)
24 | serializer_class = RegisterSerializer
25 |
26 |
27 | @api_view(['GET'])
28 | def getRoutes(request):
29 | routes = [
30 | '/api/token/',
31 | '/api/register/',
32 | '/api/token/refresh/',
33 | '/api/test/'
34 | ]
35 | return Response(routes)
36 |
37 |
38 | @api_view(['GET', 'POST'])
39 | @permission_classes([IsAuthenticated])
40 | def testEndPoint(request):
41 | if request.method == 'GET':
42 | data = f"Congratulation {request.user}, your API just responded to GET request"
43 | return Response({'response': data}, status=status.HTTP_200_OK)
44 | elif request.method == 'POST':
45 | try:
46 | body = request.body.decode('utf-8')
47 | data = json.loads(body)
48 | if 'text' not in data:
49 | return Response("Invalid JSON data", status.HTTP_400_BAD_REQUEST)
50 | text = data.get('text')
51 | data = f'Congratulation your API just responded to POST request with text: {text}'
52 | return Response({'response': data}, status=status.HTTP_200_OK)
53 | except json.JSONDecodeError:
54 | return Response("Invalid JSON data", status.HTTP_400_BAD_REQUEST)
55 | return Response("Invalid JSON data", status.HTTP_400_BAD_REQUEST)
56 |
--------------------------------------------------------------------------------
/frontend/src/views/register.jsx:
--------------------------------------------------------------------------------
1 | import { useEffect, useState } from 'react';
2 | import { register } from '../utils/auth';
3 | import { useNavigate } from 'react-router-dom';
4 | import { useAuthStore } from '../store/auth';
5 |
6 | function Register() {
7 | const [username, setUsername] = useState('');
8 | const [password, setPassword] = useState('');
9 | const [password2, setPassword2] = useState('');
10 | const isLoggedIn = useAuthStore((state) => state.isLoggedIn);
11 | const navigate = useNavigate();
12 |
13 | useEffect(() => {
14 | if (isLoggedIn()) {
15 | navigate('/');
16 | }
17 | }, []);
18 |
19 | const resetForm = () => {
20 | setUsername('');
21 | setPassword('');
22 | setPassword2('');
23 | };
24 |
25 | const handleSubmit = async (e) => {
26 | e.preventDefault();
27 | const { error } = await register(username, password, password2);
28 | if (error) {
29 | alert(JSON.stringify(error));
30 | } else {
31 | navigate('/');
32 | resetForm();
33 | }
34 | };
35 |
36 | return (
37 |
77 | );
78 | }
79 |
80 | export default Register;
81 |
--------------------------------------------------------------------------------
/frontend/src/utils/auth.js:
--------------------------------------------------------------------------------
1 | import { useAuthStore } from '../store/auth';
2 | import axios from './axios';
3 | import jwt_decode from 'jwt-decode';
4 | import Cookies from 'js-cookie';
5 |
6 | export const login = async (username, password) => {
7 | try {
8 | const { data, status } = await axios.post('token/', {
9 | username,
10 | password,
11 | });
12 | if (status === 200) {
13 | setAuthUser(data.access, data.refresh);
14 | }
15 | return { data, error: null };
16 | } catch (error) {
17 | return {
18 | data: null,
19 | error: error.response.data?.detail || 'Something went wrong',
20 | };
21 | }
22 | };
23 |
24 | export const register = async (username, password, password2) => {
25 | try {
26 | const { data } = await axios.post('register/', {
27 | username,
28 | password,
29 | password2,
30 | });
31 | await login(username, password);
32 | return { data, error: null };
33 | } catch (error) {
34 | return {
35 | data: null,
36 | error: error.response.data || 'Something went wrong',
37 | };
38 | }
39 | };
40 |
41 | export const logout = () => {
42 | Cookies.remove('access_token');
43 | Cookies.remove('refresh_token');
44 | useAuthStore.getState().setUser(null);
45 | };
46 |
47 | export const setUser = async () => {
48 | // ON PAGE LOAD
49 | const accessToken = Cookies.get('access_token');
50 | const refreshToken = Cookies.get('refresh_token');
51 | if (!accessToken || !refreshToken) {
52 | return;
53 | }
54 | if (isAccessTokenExpired(accessToken)) {
55 | const response = await getRefreshToken(refreshToken);
56 | setAuthUser(response.access, response.refresh);
57 | } else {
58 | setAuthUser(accessToken, refreshToken);
59 | }
60 | };
61 |
62 | export const setAuthUser = (access_token, refresh_token) => {
63 | Cookies.set('access_token', access_token, {
64 | expires: 1,
65 | secure: true,
66 | });
67 |
68 | Cookies.set('refresh_token', refresh_token, {
69 | expires: 7,
70 | secure: true,
71 | });
72 |
73 | const user = jwt_decode(access_token) ?? null;
74 |
75 | if (user) {
76 | useAuthStore.getState().setUser(user);
77 | }
78 | useAuthStore.getState().setLoading(false);
79 | };
80 |
81 | export const getRefreshToken = async () => {
82 | const refresh_token = Cookies.get('refresh_token');
83 | const response = await axios.post('token/refresh/', {
84 | refresh: refresh_token,
85 | });
86 | return response.data;
87 | };
88 |
89 | export const isAccessTokenExpired = (accessToken) => {
90 | try {
91 | const decodedToken = jwt_decode(accessToken);
92 | return decodedToken.exp < Date.now() / 1000;
93 | } catch (err) {
94 | return true; // Token is invalid or expired
95 | }
96 | };
97 |
--------------------------------------------------------------------------------
/backend/.gitignore:
--------------------------------------------------------------------------------
1 | # Byte-compiled / optimized / DLL files
2 | __pycache__/
3 | *.py[cod]
4 | *$py.class
5 |
6 | # C extensions
7 | *.so
8 |
9 | # Distribution / packaging
10 | .Python
11 | build/
12 | develop-eggs/
13 | dist/
14 | downloads/
15 | eggs/
16 | .eggs/
17 | lib/
18 | lib64/
19 | parts/
20 | sdist/
21 | var/
22 | wheels/
23 | share/python-wheels/
24 | *.egg-info/
25 | .installed.cfg
26 | *.egg
27 | MANIFEST
28 |
29 | # PyInstaller
30 | # Usually these files are written by a python script from a template
31 | # before PyInstaller builds the exe, so as to inject date/other infos into it.
32 | *.manifest
33 | *.spec
34 |
35 | # Installer logs
36 | pip-log.txt
37 | pip-delete-this-directory.txt
38 |
39 | # Unit test / coverage reports
40 | htmlcov/
41 | .tox/
42 | .nox/
43 | .coverage
44 | .coverage.*
45 | .cache
46 | nosetests.xml
47 | coverage.xml
48 | *.cover
49 | *.py,cover
50 | .hypothesis/
51 | .pytest_cache/
52 | cover/
53 |
54 | # Translations
55 | *.mo
56 | *.pot
57 |
58 | # Django stuff:
59 | *.log
60 | local_settings.py
61 | db.sqlite3
62 | db.sqlite3-journal
63 |
64 | # Flask stuff:
65 | instance/
66 | .webassets-cache
67 |
68 | # Scrapy stuff:
69 | .scrapy
70 |
71 | # Sphinx documentation
72 | docs/_build/
73 |
74 | # PyBuilder
75 | .pybuilder/
76 | target/
77 |
78 | # Jupyter Notebook
79 | .ipynb_checkpoints
80 |
81 | # IPython
82 | profile_default/
83 | ipython_config.py
84 |
85 | # pyenv
86 | # For a library or package, you might want to ignore these files since the code is
87 | # intended to run in multiple environments; otherwise, check them in:
88 | # .python-version
89 |
90 | # pipenv
91 | # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
92 | # However, in case of collaboration, if having platform-specific dependencies or dependencies
93 | # having no cross-platform support, pipenv may install dependencies that don't work, or not
94 | # install all needed dependencies.
95 | #Pipfile.lock
96 |
97 | # poetry
98 | # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
99 | # This is especially recommended for binary packages to ensure reproducibility, and is more
100 | # commonly ignored for libraries.
101 | # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
102 | #poetry.lock
103 |
104 | # PEP 582; used by e.g. github.com/David-OConnor/pyflow
105 | __pypackages__/
106 |
107 | # Celery stuff
108 | celerybeat-schedule
109 | celerybeat.pid
110 |
111 | # SageMath parsed files
112 | *.sage.py
113 |
114 | # Environments
115 | .env
116 | .venv
117 | env/
118 | venv/
119 | ENV/
120 | env.bak/
121 | venv.bak/
122 |
123 | # Spyder project settings
124 | .spyderproject
125 | .spyproject
126 |
127 | # Rope project settings
128 | .ropeproject
129 |
130 | # mkdocs documentation
131 | /site
132 |
133 | # mypy
134 | .mypy_cache/
135 | .dmypy.json
136 | dmypy.json
137 |
138 | # Pyre type checker
139 | .pyre/
140 |
141 | # pytype static type analyzer
142 | .pytype/
143 |
144 | # Cython debug symbols
145 | cython_debug/
146 |
147 | # PyCharm
148 | # JetBrains specific template is maintainted in a separate JetBrains.gitignore that can
149 | # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
150 | # and can be added to the global gitignore or merged into this file. For a more nuclear
151 | # option (not recommended) you can uncomment the following to ignore the entire idea folder.
152 | .idea/
--------------------------------------------------------------------------------
/frontend/src/assets/react.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/backend/backend/settings.py:
--------------------------------------------------------------------------------
1 | """
2 | Django settings for backend project.
3 |
4 | Generated by 'django-admin startproject' using Django 4.0.1.
5 |
6 | For more information on this file, see
7 | https://docs.djangoproject.com/en/4.0/topics/settings/
8 |
9 | For the full list of settings and their values, see
10 | https://docs.djangoproject.com/en/4.0/ref/settings/
11 | """
12 |
13 | from pathlib import Path
14 | from datetime import timedelta
15 |
16 | # Build paths inside the project like this: BASE_DIR / 'subdir'.
17 | BASE_DIR = Path(__file__).resolve().parent.parent
18 |
19 |
20 | # Quick-start development settings - unsuitable for production
21 | # See https://docs.djangoproject.com/en/4.0/howto/deployment/checklist/
22 |
23 | # SECURITY WARNING: keep the secret key used in production secret!
24 | SECRET_KEY = 'django-insecure-xmyy56c+#c$!7u^#8#&(egh&2_+or##y4+t)xps)i#zbhlw(5o'
25 |
26 | # SECURITY WARNING: don't run with debug turned on in production!
27 | DEBUG = True
28 |
29 | ALLOWED_HOSTS = []
30 |
31 |
32 | # Application definition
33 |
34 | INSTALLED_APPS = [
35 | 'django.contrib.admin',
36 | 'django.contrib.auth',
37 | 'django.contrib.contenttypes',
38 | 'django.contrib.sessions',
39 | 'django.contrib.messages',
40 | 'django.contrib.staticfiles',
41 | 'rest_framework',
42 | 'rest_framework_simplejwt.token_blacklist',
43 | 'corsheaders',
44 | 'api',
45 | ]
46 |
47 | MIDDLEWARE = [
48 | 'django.middleware.security.SecurityMiddleware',
49 | 'corsheaders.middleware.CorsMiddleware',
50 | 'django.contrib.sessions.middleware.SessionMiddleware',
51 | 'django.middleware.common.CommonMiddleware',
52 | 'django.middleware.csrf.CsrfViewMiddleware',
53 | 'django.contrib.auth.middleware.AuthenticationMiddleware',
54 | 'django.contrib.messages.middleware.MessageMiddleware',
55 | 'django.middleware.clickjacking.XFrameOptionsMiddleware',
56 | ]
57 |
58 | ROOT_URLCONF = 'backend.urls'
59 |
60 | TEMPLATES = [
61 | {
62 | 'BACKEND': 'django.template.backends.django.DjangoTemplates',
63 | 'DIRS': [BASE_DIR / 'templates'],
64 | 'APP_DIRS': True,
65 | 'OPTIONS': {
66 | 'context_processors': [
67 | 'django.template.context_processors.debug',
68 | 'django.template.context_processors.request',
69 | 'django.contrib.auth.context_processors.auth',
70 | 'django.contrib.messages.context_processors.messages',
71 | ],
72 | },
73 | },
74 | ]
75 |
76 | WSGI_APPLICATION = 'backend.wsgi.application'
77 |
78 |
79 | # Database
80 | # https://docs.djangoproject.com/en/4.0/ref/settings/#databases
81 |
82 | DATABASES = {
83 | 'default': {
84 | 'ENGINE': 'django.db.backends.sqlite3',
85 | 'NAME': BASE_DIR / 'db.sqlite3',
86 | }
87 | }
88 |
89 |
90 | # Password validation
91 | # https://docs.djangoproject.com/en/4.0/ref/settings/#auth-password-validators
92 |
93 | AUTH_PASSWORD_VALIDATORS = [
94 | {
95 | 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
96 | },
97 | {
98 | 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
99 | },
100 | {
101 | 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
102 | },
103 | {
104 | 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
105 | },
106 | ]
107 |
108 | REST_FRAMEWORK = {
109 | 'DEFAULT_AUTHENTICATION_CLASSES': (
110 | 'rest_framework_simplejwt.authentication.JWTAuthentication',
111 | )
112 | }
113 |
114 | SIMPLE_JWT = {
115 | 'ACCESS_TOKEN_LIFETIME': timedelta(minutes=5),
116 | 'REFRESH_TOKEN_LIFETIME': timedelta(days=50),
117 | 'ROTATE_REFRESH_TOKENS': True,
118 | 'BLACKLIST_AFTER_ROTATION': True,
119 | 'UPDATE_LAST_LOGIN': False,
120 |
121 | 'ALGORITHM': 'HS256',
122 |
123 | 'VERIFYING_KEY': None,
124 | 'AUDIENCE': None,
125 | 'ISSUER': None,
126 | 'JWK_URL': None,
127 | 'LEEWAY': 0,
128 |
129 | 'AUTH_HEADER_TYPES': ('Bearer',),
130 | 'AUTH_HEADER_NAME': 'HTTP_AUTHORIZATION',
131 | 'USER_ID_FIELD': 'id',
132 | 'USER_ID_CLAIM': 'user_id',
133 | 'USER_AUTHENTICATION_RULE': 'rest_framework_simplejwt.authentication.default_user_authentication_rule',
134 |
135 | 'AUTH_TOKEN_CLASSES': ('rest_framework_simplejwt.tokens.AccessToken',),
136 | 'TOKEN_TYPE_CLAIM': 'token_type',
137 | 'TOKEN_USER_CLASS': 'rest_framework_simplejwt.models.TokenUser',
138 |
139 | 'JTI_CLAIM': 'jti',
140 |
141 | 'SLIDING_TOKEN_REFRESH_EXP_CLAIM': 'refresh_exp',
142 | 'SLIDING_TOKEN_LIFETIME': timedelta(minutes=5),
143 | 'SLIDING_TOKEN_REFRESH_LIFETIME': timedelta(days=1),
144 | }
145 |
146 | CORS_ALLOW_ALL_ORIGINS = True
147 |
148 | # Internationalization
149 | # https://docs.djangoproject.com/en/4.0/topics/i18n/
150 |
151 | LANGUAGE_CODE = 'en-us'
152 |
153 | TIME_ZONE = 'UTC'
154 |
155 | USE_I18N = True
156 |
157 | USE_TZ = True
158 |
159 |
160 | # Static files (CSS, JavaScript, Images)
161 | # https://docs.djangoproject.com/en/4.0/howto/static-files/
162 |
163 | STATIC_URL = 'static/'
164 |
165 | # Default primary key field type
166 | # https://docs.djangoproject.com/en/4.0/ref/settings/#default-auto-field
167 |
168 | DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
169 |
--------------------------------------------------------------------------------
/frontend/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@ampproject/remapping@^2.2.0":
6 | version "2.2.1"
7 | resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.1.tgz#99e8e11851128b8702cd57c33684f1d0f260b630"
8 | integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==
9 | dependencies:
10 | "@jridgewell/gen-mapping" "^0.3.0"
11 | "@jridgewell/trace-mapping" "^0.3.9"
12 |
13 | "@babel/code-frame@^7.21.4":
14 | version "7.21.4"
15 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.21.4.tgz#d0fa9e4413aca81f2b23b9442797bda1826edb39"
16 | integrity sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==
17 | dependencies:
18 | "@babel/highlight" "^7.18.6"
19 |
20 | "@babel/compat-data@^7.22.0":
21 | version "7.22.3"
22 | resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.22.3.tgz#cd502a6a0b6e37d7ad72ce7e71a7160a3ae36f7e"
23 | integrity sha512-aNtko9OPOwVESUFp3MZfD8Uzxl7JzSeJpd7npIoxCasU37PFbAQRpKglkaKwlHOyeJdrREpo8TW8ldrkYWwvIQ==
24 |
25 | "@babel/core@^7.21.4":
26 | version "7.22.1"
27 | resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.22.1.tgz#5de51c5206f4c6f5533562838337a603c1033cfd"
28 | integrity sha512-Hkqu7J4ynysSXxmAahpN1jjRwVJ+NdpraFLIWflgjpVob3KNyK3/tIUc7Q7szed8WMp0JNa7Qtd1E9Oo22F9gA==
29 | dependencies:
30 | "@ampproject/remapping" "^2.2.0"
31 | "@babel/code-frame" "^7.21.4"
32 | "@babel/generator" "^7.22.0"
33 | "@babel/helper-compilation-targets" "^7.22.1"
34 | "@babel/helper-module-transforms" "^7.22.1"
35 | "@babel/helpers" "^7.22.0"
36 | "@babel/parser" "^7.22.0"
37 | "@babel/template" "^7.21.9"
38 | "@babel/traverse" "^7.22.1"
39 | "@babel/types" "^7.22.0"
40 | convert-source-map "^1.7.0"
41 | debug "^4.1.0"
42 | gensync "^1.0.0-beta.2"
43 | json5 "^2.2.2"
44 | semver "^6.3.0"
45 |
46 | "@babel/generator@^7.22.0":
47 | version "7.22.3"
48 | resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.22.3.tgz#0ff675d2edb93d7596c5f6728b52615cfc0df01e"
49 | integrity sha512-C17MW4wlk//ES/CJDL51kPNwl+qiBQyN7b9SKyVp11BLGFeSPoVaHrv+MNt8jwQFhQWowW88z1eeBx3pFz9v8A==
50 | dependencies:
51 | "@babel/types" "^7.22.3"
52 | "@jridgewell/gen-mapping" "^0.3.2"
53 | "@jridgewell/trace-mapping" "^0.3.17"
54 | jsesc "^2.5.1"
55 |
56 | "@babel/helper-compilation-targets@^7.22.1":
57 | version "7.22.1"
58 | resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.1.tgz#bfcd6b7321ffebe33290d68550e2c9d7eb7c7a58"
59 | integrity sha512-Rqx13UM3yVB5q0D/KwQ8+SPfX/+Rnsy1Lw1k/UwOC4KC6qrzIQoY3lYnBu5EHKBlEHHcj0M0W8ltPSkD8rqfsQ==
60 | dependencies:
61 | "@babel/compat-data" "^7.22.0"
62 | "@babel/helper-validator-option" "^7.21.0"
63 | browserslist "^4.21.3"
64 | lru-cache "^5.1.1"
65 | semver "^6.3.0"
66 |
67 | "@babel/helper-environment-visitor@^7.22.1":
68 | version "7.22.1"
69 | resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.1.tgz#ac3a56dbada59ed969d712cf527bd8271fe3eba8"
70 | integrity sha512-Z2tgopurB/kTbidvzeBrc2To3PUP/9i5MUe+fU6QJCQDyPwSH2oRapkLw3KGECDYSjhQZCNxEvNvZlLw8JjGwA==
71 |
72 | "@babel/helper-function-name@^7.21.0":
73 | version "7.21.0"
74 | resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz#d552829b10ea9f120969304023cd0645fa00b1b4"
75 | integrity sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==
76 | dependencies:
77 | "@babel/template" "^7.20.7"
78 | "@babel/types" "^7.21.0"
79 |
80 | "@babel/helper-hoist-variables@^7.18.6":
81 | version "7.18.6"
82 | resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678"
83 | integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==
84 | dependencies:
85 | "@babel/types" "^7.18.6"
86 |
87 | "@babel/helper-module-imports@^7.21.4":
88 | version "7.21.4"
89 | resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz#ac88b2f76093637489e718a90cec6cf8a9b029af"
90 | integrity sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==
91 | dependencies:
92 | "@babel/types" "^7.21.4"
93 |
94 | "@babel/helper-module-transforms@^7.22.1":
95 | version "7.22.1"
96 | resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.22.1.tgz#e0cad47fedcf3cae83c11021696376e2d5a50c63"
97 | integrity sha512-dxAe9E7ySDGbQdCVOY/4+UcD8M9ZFqZcZhSPsPacvCG4M+9lwtDDQfI2EoaSvmf7W/8yCBkGU0m7Pvt1ru3UZw==
98 | dependencies:
99 | "@babel/helper-environment-visitor" "^7.22.1"
100 | "@babel/helper-module-imports" "^7.21.4"
101 | "@babel/helper-simple-access" "^7.21.5"
102 | "@babel/helper-split-export-declaration" "^7.18.6"
103 | "@babel/helper-validator-identifier" "^7.19.1"
104 | "@babel/template" "^7.21.9"
105 | "@babel/traverse" "^7.22.1"
106 | "@babel/types" "^7.22.0"
107 |
108 | "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.20.2":
109 | version "7.21.5"
110 | resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.21.5.tgz#345f2377d05a720a4e5ecfa39cbf4474a4daed56"
111 | integrity sha512-0WDaIlXKOX/3KfBK/dwP1oQGiPh6rjMkT7HIRv7i5RR2VUMwrx5ZL0dwBkKx7+SW1zwNdgjHd34IMk5ZjTeHVg==
112 |
113 | "@babel/helper-simple-access@^7.21.5":
114 | version "7.21.5"
115 | resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.21.5.tgz#d697a7971a5c39eac32c7e63c0921c06c8a249ee"
116 | integrity sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg==
117 | dependencies:
118 | "@babel/types" "^7.21.5"
119 |
120 | "@babel/helper-split-export-declaration@^7.18.6":
121 | version "7.18.6"
122 | resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075"
123 | integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==
124 | dependencies:
125 | "@babel/types" "^7.18.6"
126 |
127 | "@babel/helper-string-parser@^7.21.5":
128 | version "7.21.5"
129 | resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz#2b3eea65443c6bdc31c22d037c65f6d323b6b2bd"
130 | integrity sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==
131 |
132 | "@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1":
133 | version "7.19.1"
134 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2"
135 | integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==
136 |
137 | "@babel/helper-validator-option@^7.21.0":
138 | version "7.21.0"
139 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz#8224c7e13ace4bafdc4004da2cf064ef42673180"
140 | integrity sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==
141 |
142 | "@babel/helpers@^7.22.0":
143 | version "7.22.3"
144 | resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.22.3.tgz#53b74351da9684ea2f694bf0877998da26dd830e"
145 | integrity sha512-jBJ7jWblbgr7r6wYZHMdIqKc73ycaTcCaWRq4/2LpuPHcx7xMlZvpGQkOYc9HeSjn6rcx15CPlgVcBtZ4WZJ2w==
146 | dependencies:
147 | "@babel/template" "^7.21.9"
148 | "@babel/traverse" "^7.22.1"
149 | "@babel/types" "^7.22.3"
150 |
151 | "@babel/highlight@^7.18.6":
152 | version "7.18.6"
153 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf"
154 | integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==
155 | dependencies:
156 | "@babel/helper-validator-identifier" "^7.18.6"
157 | chalk "^2.0.0"
158 | js-tokens "^4.0.0"
159 |
160 | "@babel/parser@^7.21.9", "@babel/parser@^7.22.0":
161 | version "7.22.3"
162 | resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.22.3.tgz#838ae31893373222cd9062568e2192c670037e00"
163 | integrity sha512-vrukxyW/ep8UD1UDzOYpTKQ6abgjFoeG6L+4ar9+c5TN9QnlqiOi6QK7LSR5ewm/ERyGkT/Ai6VboNrxhbr9Uw==
164 |
165 | "@babel/plugin-transform-react-jsx-self@^7.21.0":
166 | version "7.21.0"
167 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.21.0.tgz#ec98d4a9baafc5a1eb398da4cf94afbb40254a54"
168 | integrity sha512-f/Eq+79JEu+KUANFks9UZCcvydOOGMgF7jBrcwjHa5jTZD8JivnhCJYvmlhR/WTXBWonDExPoW0eO/CR4QJirA==
169 | dependencies:
170 | "@babel/helper-plugin-utils" "^7.20.2"
171 |
172 | "@babel/plugin-transform-react-jsx-source@^7.19.6":
173 | version "7.19.6"
174 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.19.6.tgz#88578ae8331e5887e8ce28e4c9dc83fb29da0b86"
175 | integrity sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ==
176 | dependencies:
177 | "@babel/helper-plugin-utils" "^7.19.0"
178 |
179 | "@babel/template@^7.20.7", "@babel/template@^7.21.9":
180 | version "7.21.9"
181 | resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.21.9.tgz#bf8dad2859130ae46088a99c1f265394877446fb"
182 | integrity sha512-MK0X5k8NKOuWRamiEfc3KEJiHMTkGZNUjzMipqCGDDc6ijRl/B7RGSKVGncu4Ro/HdyzzY6cmoXuKI2Gffk7vQ==
183 | dependencies:
184 | "@babel/code-frame" "^7.21.4"
185 | "@babel/parser" "^7.21.9"
186 | "@babel/types" "^7.21.5"
187 |
188 | "@babel/traverse@^7.22.1":
189 | version "7.22.1"
190 | resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.22.1.tgz#bd22c50b1439cfcfc2fa137b7fdf6c06787456e9"
191 | integrity sha512-lAWkdCoUFnmwLBhIRLciFntGYsIIoC6vIbN8zrLPqBnJmPu7Z6nzqnKd7FsxQUNAvZfVZ0x6KdNvNp8zWIOHSQ==
192 | dependencies:
193 | "@babel/code-frame" "^7.21.4"
194 | "@babel/generator" "^7.22.0"
195 | "@babel/helper-environment-visitor" "^7.22.1"
196 | "@babel/helper-function-name" "^7.21.0"
197 | "@babel/helper-hoist-variables" "^7.18.6"
198 | "@babel/helper-split-export-declaration" "^7.18.6"
199 | "@babel/parser" "^7.22.0"
200 | "@babel/types" "^7.22.0"
201 | debug "^4.1.0"
202 | globals "^11.1.0"
203 |
204 | "@babel/types@^7.18.6", "@babel/types@^7.21.0", "@babel/types@^7.21.4", "@babel/types@^7.21.5", "@babel/types@^7.22.0", "@babel/types@^7.22.3":
205 | version "7.22.3"
206 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.22.3.tgz#0cc6af178b91490acaeb4a2f70dcbf27cdf3d8f3"
207 | integrity sha512-P3na3xIQHTKY4L0YOG7pM8M8uoUIB910WQaSiiMCZUC2Cy8XFEQONGABFnHWBa2gpGKODTAJcNhi5Zk0sLRrzg==
208 | dependencies:
209 | "@babel/helper-string-parser" "^7.21.5"
210 | "@babel/helper-validator-identifier" "^7.19.1"
211 | to-fast-properties "^2.0.0"
212 |
213 | "@esbuild/android-arm64@0.17.19":
214 | version "0.17.19"
215 | resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz#bafb75234a5d3d1b690e7c2956a599345e84a2fd"
216 | integrity sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==
217 |
218 | "@esbuild/android-arm@0.17.19":
219 | version "0.17.19"
220 | resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.19.tgz#5898f7832c2298bc7d0ab53701c57beb74d78b4d"
221 | integrity sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==
222 |
223 | "@esbuild/android-x64@0.17.19":
224 | version "0.17.19"
225 | resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.19.tgz#658368ef92067866d95fb268719f98f363d13ae1"
226 | integrity sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==
227 |
228 | "@esbuild/darwin-arm64@0.17.19":
229 | version "0.17.19"
230 | resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz#584c34c5991b95d4d48d333300b1a4e2ff7be276"
231 | integrity sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==
232 |
233 | "@esbuild/darwin-x64@0.17.19":
234 | version "0.17.19"
235 | resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz#7751d236dfe6ce136cce343dce69f52d76b7f6cb"
236 | integrity sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==
237 |
238 | "@esbuild/freebsd-arm64@0.17.19":
239 | version "0.17.19"
240 | resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz#cacd171665dd1d500f45c167d50c6b7e539d5fd2"
241 | integrity sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==
242 |
243 | "@esbuild/freebsd-x64@0.17.19":
244 | version "0.17.19"
245 | resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz#0769456eee2a08b8d925d7c00b79e861cb3162e4"
246 | integrity sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==
247 |
248 | "@esbuild/linux-arm64@0.17.19":
249 | version "0.17.19"
250 | resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz#38e162ecb723862c6be1c27d6389f48960b68edb"
251 | integrity sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==
252 |
253 | "@esbuild/linux-arm@0.17.19":
254 | version "0.17.19"
255 | resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz#1a2cd399c50040184a805174a6d89097d9d1559a"
256 | integrity sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==
257 |
258 | "@esbuild/linux-ia32@0.17.19":
259 | version "0.17.19"
260 | resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz#e28c25266b036ce1cabca3c30155222841dc035a"
261 | integrity sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==
262 |
263 | "@esbuild/linux-loong64@0.17.19":
264 | version "0.17.19"
265 | resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz#0f887b8bb3f90658d1a0117283e55dbd4c9dcf72"
266 | integrity sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==
267 |
268 | "@esbuild/linux-mips64el@0.17.19":
269 | version "0.17.19"
270 | resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz#f5d2a0b8047ea9a5d9f592a178ea054053a70289"
271 | integrity sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==
272 |
273 | "@esbuild/linux-ppc64@0.17.19":
274 | version "0.17.19"
275 | resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz#876590e3acbd9fa7f57a2c7d86f83717dbbac8c7"
276 | integrity sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==
277 |
278 | "@esbuild/linux-riscv64@0.17.19":
279 | version "0.17.19"
280 | resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz#7f49373df463cd9f41dc34f9b2262d771688bf09"
281 | integrity sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==
282 |
283 | "@esbuild/linux-s390x@0.17.19":
284 | version "0.17.19"
285 | resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz#e2afd1afcaf63afe2c7d9ceacd28ec57c77f8829"
286 | integrity sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==
287 |
288 | "@esbuild/linux-x64@0.17.19":
289 | version "0.17.19"
290 | resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz#8a0e9738b1635f0c53389e515ae83826dec22aa4"
291 | integrity sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==
292 |
293 | "@esbuild/netbsd-x64@0.17.19":
294 | version "0.17.19"
295 | resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz#c29fb2453c6b7ddef9a35e2c18b37bda1ae5c462"
296 | integrity sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==
297 |
298 | "@esbuild/openbsd-x64@0.17.19":
299 | version "0.17.19"
300 | resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz#95e75a391403cb10297280d524d66ce04c920691"
301 | integrity sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==
302 |
303 | "@esbuild/sunos-x64@0.17.19":
304 | version "0.17.19"
305 | resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz#722eaf057b83c2575937d3ffe5aeb16540da7273"
306 | integrity sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==
307 |
308 | "@esbuild/win32-arm64@0.17.19":
309 | version "0.17.19"
310 | resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz#9aa9dc074399288bdcdd283443e9aeb6b9552b6f"
311 | integrity sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==
312 |
313 | "@esbuild/win32-ia32@0.17.19":
314 | version "0.17.19"
315 | resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz#95ad43c62ad62485e210f6299c7b2571e48d2b03"
316 | integrity sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==
317 |
318 | "@esbuild/win32-x64@0.17.19":
319 | version "0.17.19"
320 | resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz#8cfaf2ff603e9aabb910e9c0558c26cf32744061"
321 | integrity sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==
322 |
323 | "@eslint-community/eslint-utils@^4.2.0":
324 | version "4.4.0"
325 | resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59"
326 | integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==
327 | dependencies:
328 | eslint-visitor-keys "^3.3.0"
329 |
330 | "@eslint-community/regexpp@^4.4.0":
331 | version "4.5.1"
332 | resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.5.1.tgz#cdd35dce4fa1a89a4fd42b1599eb35b3af408884"
333 | integrity sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==
334 |
335 | "@eslint/eslintrc@^2.0.3":
336 | version "2.0.3"
337 | resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.0.3.tgz#4910db5505f4d503f27774bf356e3704818a0331"
338 | integrity sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==
339 | dependencies:
340 | ajv "^6.12.4"
341 | debug "^4.3.2"
342 | espree "^9.5.2"
343 | globals "^13.19.0"
344 | ignore "^5.2.0"
345 | import-fresh "^3.2.1"
346 | js-yaml "^4.1.0"
347 | minimatch "^3.1.2"
348 | strip-json-comments "^3.1.1"
349 |
350 | "@eslint/js@8.41.0":
351 | version "8.41.0"
352 | resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.41.0.tgz#080321c3b68253522f7646b55b577dd99d2950b3"
353 | integrity sha512-LxcyMGxwmTh2lY9FwHPGWOHmYFCZvbrFCBZL4FzSSsxsRPuhrYUg/49/0KDfW8tnIEaEHtfmn6+NPN+1DqaNmA==
354 |
355 | "@humanwhocodes/config-array@^0.11.8":
356 | version "0.11.8"
357 | resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.8.tgz#03595ac2075a4dc0f191cc2131de14fbd7d410b9"
358 | integrity sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==
359 | dependencies:
360 | "@humanwhocodes/object-schema" "^1.2.1"
361 | debug "^4.1.1"
362 | minimatch "^3.0.5"
363 |
364 | "@humanwhocodes/module-importer@^1.0.1":
365 | version "1.0.1"
366 | resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c"
367 | integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==
368 |
369 | "@humanwhocodes/object-schema@^1.2.1":
370 | version "1.2.1"
371 | resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45"
372 | integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==
373 |
374 | "@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2":
375 | version "0.3.3"
376 | resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098"
377 | integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==
378 | dependencies:
379 | "@jridgewell/set-array" "^1.0.1"
380 | "@jridgewell/sourcemap-codec" "^1.4.10"
381 | "@jridgewell/trace-mapping" "^0.3.9"
382 |
383 | "@jridgewell/resolve-uri@3.1.0":
384 | version "3.1.0"
385 | resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78"
386 | integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==
387 |
388 | "@jridgewell/set-array@^1.0.1":
389 | version "1.1.2"
390 | resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72"
391 | integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==
392 |
393 | "@jridgewell/sourcemap-codec@1.4.14":
394 | version "1.4.14"
395 | resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24"
396 | integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==
397 |
398 | "@jridgewell/sourcemap-codec@^1.4.10":
399 | version "1.4.15"
400 | resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32"
401 | integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
402 |
403 | "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9":
404 | version "0.3.18"
405 | resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz#25783b2086daf6ff1dcb53c9249ae480e4dd4cd6"
406 | integrity sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==
407 | dependencies:
408 | "@jridgewell/resolve-uri" "3.1.0"
409 | "@jridgewell/sourcemap-codec" "1.4.14"
410 |
411 | "@nodelib/fs.scandir@2.1.5":
412 | version "2.1.5"
413 | resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
414 | integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==
415 | dependencies:
416 | "@nodelib/fs.stat" "2.0.5"
417 | run-parallel "^1.1.9"
418 |
419 | "@nodelib/fs.stat@2.0.5":
420 | version "2.0.5"
421 | resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b"
422 | integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
423 |
424 | "@nodelib/fs.walk@^1.2.8":
425 | version "1.2.8"
426 | resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a"
427 | integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==
428 | dependencies:
429 | "@nodelib/fs.scandir" "2.1.5"
430 | fastq "^1.6.0"
431 |
432 | "@remix-run/router@1.5.0":
433 | version "1.5.0"
434 | resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.5.0.tgz#57618e57942a5f0131374a9fdb0167e25a117fdc"
435 | integrity sha512-bkUDCp8o1MvFO+qxkODcbhSqRa6P2GXgrGZVpt0dCXNW2HCSCqYI0ZoAqEOSAjRWmmlKcYgFvN4B4S+zo/f8kg==
436 |
437 | "@types/prop-types@*":
438 | version "15.7.5"
439 | resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf"
440 | integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==
441 |
442 | "@types/react-dom@^18.0.11":
443 | version "18.2.4"
444 | resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.4.tgz#13f25bfbf4e404d26f62ac6e406591451acba9e0"
445 | integrity sha512-G2mHoTMTL4yoydITgOGwWdWMVd8sNgyEP85xVmMKAPUBwQWm9wBPQUmvbeF4V3WBY1P7mmL4BkjQ0SqUpf1snw==
446 | dependencies:
447 | "@types/react" "*"
448 |
449 | "@types/react@*", "@types/react@^18.0.28":
450 | version "18.2.7"
451 | resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.7.tgz#dfb4518042a3117a045b8c222316f83414a783b3"
452 | integrity sha512-ojrXpSH2XFCmHm7Jy3q44nXDyN54+EYKP2lBhJ2bqfyPj6cIUW/FZW/Csdia34NQgq7KYcAlHi5184m4X88+yw==
453 | dependencies:
454 | "@types/prop-types" "*"
455 | "@types/scheduler" "*"
456 | csstype "^3.0.2"
457 |
458 | "@types/scheduler@*":
459 | version "0.16.3"
460 | resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.3.tgz#cef09e3ec9af1d63d2a6cc5b383a737e24e6dcf5"
461 | integrity sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==
462 |
463 | "@vitejs/plugin-react@^4.0.0":
464 | version "4.0.0"
465 | resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-4.0.0.tgz#46d1c37c507447d10467be1c111595174555ef28"
466 | integrity sha512-HX0XzMjL3hhOYm+0s95pb0Z7F8O81G7joUHgfDd/9J/ZZf5k4xX6QAMFkKsHFxaHlf6X7GD7+XuaZ66ULiJuhQ==
467 | dependencies:
468 | "@babel/core" "^7.21.4"
469 | "@babel/plugin-transform-react-jsx-self" "^7.21.0"
470 | "@babel/plugin-transform-react-jsx-source" "^7.19.6"
471 | react-refresh "^0.14.0"
472 |
473 | acorn-jsx@^5.3.2:
474 | version "5.3.2"
475 | resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
476 | integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
477 |
478 | acorn@^8.8.0:
479 | version "8.8.2"
480 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a"
481 | integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==
482 |
483 | ajv@^6.10.0, ajv@^6.12.4:
484 | version "6.12.6"
485 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
486 | integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
487 | dependencies:
488 | fast-deep-equal "^3.1.1"
489 | fast-json-stable-stringify "^2.0.0"
490 | json-schema-traverse "^0.4.1"
491 | uri-js "^4.2.2"
492 |
493 | ansi-regex@^5.0.1:
494 | version "5.0.1"
495 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
496 | integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
497 |
498 | ansi-styles@^3.2.1:
499 | version "3.2.1"
500 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
501 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
502 | dependencies:
503 | color-convert "^1.9.0"
504 |
505 | ansi-styles@^4.1.0:
506 | version "4.3.0"
507 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
508 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
509 | dependencies:
510 | color-convert "^2.0.1"
511 |
512 | argparse@^2.0.1:
513 | version "2.0.1"
514 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38"
515 | integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
516 |
517 | array-buffer-byte-length@^1.0.0:
518 | version "1.0.0"
519 | resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz#fabe8bc193fea865f317fe7807085ee0dee5aead"
520 | integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==
521 | dependencies:
522 | call-bind "^1.0.2"
523 | is-array-buffer "^3.0.1"
524 |
525 | array-includes@^3.1.5, array-includes@^3.1.6:
526 | version "3.1.6"
527 | resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.6.tgz#9e9e720e194f198266ba9e18c29e6a9b0e4b225f"
528 | integrity sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==
529 | dependencies:
530 | call-bind "^1.0.2"
531 | define-properties "^1.1.4"
532 | es-abstract "^1.20.4"
533 | get-intrinsic "^1.1.3"
534 | is-string "^1.0.7"
535 |
536 | array.prototype.flatmap@^1.3.1:
537 | version "1.3.1"
538 | resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz#1aae7903c2100433cb8261cd4ed310aab5c4a183"
539 | integrity sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==
540 | dependencies:
541 | call-bind "^1.0.2"
542 | define-properties "^1.1.4"
543 | es-abstract "^1.20.4"
544 | es-shim-unscopables "^1.0.0"
545 |
546 | array.prototype.tosorted@^1.1.1:
547 | version "1.1.1"
548 | resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz#ccf44738aa2b5ac56578ffda97c03fd3e23dd532"
549 | integrity sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==
550 | dependencies:
551 | call-bind "^1.0.2"
552 | define-properties "^1.1.4"
553 | es-abstract "^1.20.4"
554 | es-shim-unscopables "^1.0.0"
555 | get-intrinsic "^1.1.3"
556 |
557 | asynckit@^0.4.0:
558 | version "0.4.0"
559 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
560 | integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==
561 |
562 | available-typed-arrays@^1.0.5:
563 | version "1.0.5"
564 | resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7"
565 | integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==
566 |
567 | axios@^1.4.0:
568 | version "1.4.0"
569 | resolved "https://registry.yarnpkg.com/axios/-/axios-1.4.0.tgz#38a7bf1224cd308de271146038b551d725f0be1f"
570 | integrity sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==
571 | dependencies:
572 | follow-redirects "^1.15.0"
573 | form-data "^4.0.0"
574 | proxy-from-env "^1.1.0"
575 |
576 | balanced-match@^1.0.0:
577 | version "1.0.2"
578 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
579 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
580 |
581 | brace-expansion@^1.1.7:
582 | version "1.1.11"
583 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
584 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
585 | dependencies:
586 | balanced-match "^1.0.0"
587 | concat-map "0.0.1"
588 |
589 | browserslist@^4.21.3:
590 | version "4.21.5"
591 | resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.5.tgz#75c5dae60063ee641f977e00edd3cfb2fb7af6a7"
592 | integrity sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==
593 | dependencies:
594 | caniuse-lite "^1.0.30001449"
595 | electron-to-chromium "^1.4.284"
596 | node-releases "^2.0.8"
597 | update-browserslist-db "^1.0.10"
598 |
599 | call-bind@^1.0.0, call-bind@^1.0.2:
600 | version "1.0.2"
601 | resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c"
602 | integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==
603 | dependencies:
604 | function-bind "^1.1.1"
605 | get-intrinsic "^1.0.2"
606 |
607 | callsites@^3.0.0:
608 | version "3.1.0"
609 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
610 | integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
611 |
612 | caniuse-lite@^1.0.30001449:
613 | version "1.0.30001489"
614 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001489.tgz#ca82ee2d4e4dbf2bd2589c9360d3fcc2c7ba3bd8"
615 | integrity sha512-x1mgZEXK8jHIfAxm+xgdpHpk50IN3z3q3zP261/WS+uvePxW8izXuCu6AHz0lkuYTlATDehiZ/tNyYBdSQsOUQ==
616 |
617 | chalk@^2.0.0:
618 | version "2.4.2"
619 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
620 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
621 | dependencies:
622 | ansi-styles "^3.2.1"
623 | escape-string-regexp "^1.0.5"
624 | supports-color "^5.3.0"
625 |
626 | chalk@^4.0.0:
627 | version "4.1.2"
628 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
629 | integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
630 | dependencies:
631 | ansi-styles "^4.1.0"
632 | supports-color "^7.1.0"
633 |
634 | color-convert@^1.9.0:
635 | version "1.9.3"
636 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
637 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
638 | dependencies:
639 | color-name "1.1.3"
640 |
641 | color-convert@^2.0.1:
642 | version "2.0.1"
643 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
644 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
645 | dependencies:
646 | color-name "~1.1.4"
647 |
648 | color-name@1.1.3:
649 | version "1.1.3"
650 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
651 | integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
652 |
653 | color-name@~1.1.4:
654 | version "1.1.4"
655 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
656 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
657 |
658 | combined-stream@^1.0.8:
659 | version "1.0.8"
660 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
661 | integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
662 | dependencies:
663 | delayed-stream "~1.0.0"
664 |
665 | concat-map@0.0.1:
666 | version "0.0.1"
667 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
668 | integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==
669 |
670 | convert-source-map@^1.7.0:
671 | version "1.9.0"
672 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f"
673 | integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==
674 |
675 | cross-spawn@^7.0.2:
676 | version "7.0.3"
677 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
678 | integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
679 | dependencies:
680 | path-key "^3.1.0"
681 | shebang-command "^2.0.0"
682 | which "^2.0.1"
683 |
684 | csstype@^3.0.2:
685 | version "3.1.2"
686 | resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.2.tgz#1d4bf9d572f11c14031f0436e1c10bc1f571f50b"
687 | integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==
688 |
689 | dayjs@^1.11.7:
690 | version "1.11.7"
691 | resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.7.tgz#4b296922642f70999544d1144a2c25730fce63e2"
692 | integrity sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==
693 |
694 | debug@^4.1.0, debug@^4.1.1, debug@^4.3.2:
695 | version "4.3.4"
696 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
697 | integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
698 | dependencies:
699 | ms "2.1.2"
700 |
701 | deep-is@^0.1.3:
702 | version "0.1.4"
703 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831"
704 | integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==
705 |
706 | define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0:
707 | version "1.2.0"
708 | resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.0.tgz#52988570670c9eacedd8064f4a990f2405849bd5"
709 | integrity sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==
710 | dependencies:
711 | has-property-descriptors "^1.0.0"
712 | object-keys "^1.1.1"
713 |
714 | delayed-stream@~1.0.0:
715 | version "1.0.0"
716 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
717 | integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
718 |
719 | doctrine@^2.1.0:
720 | version "2.1.0"
721 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d"
722 | integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==
723 | dependencies:
724 | esutils "^2.0.2"
725 |
726 | doctrine@^3.0.0:
727 | version "3.0.0"
728 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961"
729 | integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==
730 | dependencies:
731 | esutils "^2.0.2"
732 |
733 | electron-to-chromium@^1.4.284:
734 | version "1.4.411"
735 | resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.411.tgz#8cb7787f0442fcb4209590e9951bdb482caa93b2"
736 | integrity sha512-5VXLW4Qw89vM2WTICHua/y8v7fKGDRVa2VPOtBB9IpLvW316B+xd8yD1wTmLPY2ot/00P/qt87xdolj4aG/Lzg==
737 |
738 | es-abstract@^1.19.0, es-abstract@^1.20.4:
739 | version "1.21.2"
740 | resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.21.2.tgz#a56b9695322c8a185dc25975aa3b8ec31d0e7eff"
741 | integrity sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==
742 | dependencies:
743 | array-buffer-byte-length "^1.0.0"
744 | available-typed-arrays "^1.0.5"
745 | call-bind "^1.0.2"
746 | es-set-tostringtag "^2.0.1"
747 | es-to-primitive "^1.2.1"
748 | function.prototype.name "^1.1.5"
749 | get-intrinsic "^1.2.0"
750 | get-symbol-description "^1.0.0"
751 | globalthis "^1.0.3"
752 | gopd "^1.0.1"
753 | has "^1.0.3"
754 | has-property-descriptors "^1.0.0"
755 | has-proto "^1.0.1"
756 | has-symbols "^1.0.3"
757 | internal-slot "^1.0.5"
758 | is-array-buffer "^3.0.2"
759 | is-callable "^1.2.7"
760 | is-negative-zero "^2.0.2"
761 | is-regex "^1.1.4"
762 | is-shared-array-buffer "^1.0.2"
763 | is-string "^1.0.7"
764 | is-typed-array "^1.1.10"
765 | is-weakref "^1.0.2"
766 | object-inspect "^1.12.3"
767 | object-keys "^1.1.1"
768 | object.assign "^4.1.4"
769 | regexp.prototype.flags "^1.4.3"
770 | safe-regex-test "^1.0.0"
771 | string.prototype.trim "^1.2.7"
772 | string.prototype.trimend "^1.0.6"
773 | string.prototype.trimstart "^1.0.6"
774 | typed-array-length "^1.0.4"
775 | unbox-primitive "^1.0.2"
776 | which-typed-array "^1.1.9"
777 |
778 | es-set-tostringtag@^2.0.1:
779 | version "2.0.1"
780 | resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz#338d502f6f674301d710b80c8592de8a15f09cd8"
781 | integrity sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==
782 | dependencies:
783 | get-intrinsic "^1.1.3"
784 | has "^1.0.3"
785 | has-tostringtag "^1.0.0"
786 |
787 | es-shim-unscopables@^1.0.0:
788 | version "1.0.0"
789 | resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241"
790 | integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==
791 | dependencies:
792 | has "^1.0.3"
793 |
794 | es-to-primitive@^1.2.1:
795 | version "1.2.1"
796 | resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a"
797 | integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==
798 | dependencies:
799 | is-callable "^1.1.4"
800 | is-date-object "^1.0.1"
801 | is-symbol "^1.0.2"
802 |
803 | esbuild@^0.17.5:
804 | version "0.17.19"
805 | resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.19.tgz#087a727e98299f0462a3d0bcdd9cd7ff100bd955"
806 | integrity sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==
807 | optionalDependencies:
808 | "@esbuild/android-arm" "0.17.19"
809 | "@esbuild/android-arm64" "0.17.19"
810 | "@esbuild/android-x64" "0.17.19"
811 | "@esbuild/darwin-arm64" "0.17.19"
812 | "@esbuild/darwin-x64" "0.17.19"
813 | "@esbuild/freebsd-arm64" "0.17.19"
814 | "@esbuild/freebsd-x64" "0.17.19"
815 | "@esbuild/linux-arm" "0.17.19"
816 | "@esbuild/linux-arm64" "0.17.19"
817 | "@esbuild/linux-ia32" "0.17.19"
818 | "@esbuild/linux-loong64" "0.17.19"
819 | "@esbuild/linux-mips64el" "0.17.19"
820 | "@esbuild/linux-ppc64" "0.17.19"
821 | "@esbuild/linux-riscv64" "0.17.19"
822 | "@esbuild/linux-s390x" "0.17.19"
823 | "@esbuild/linux-x64" "0.17.19"
824 | "@esbuild/netbsd-x64" "0.17.19"
825 | "@esbuild/openbsd-x64" "0.17.19"
826 | "@esbuild/sunos-x64" "0.17.19"
827 | "@esbuild/win32-arm64" "0.17.19"
828 | "@esbuild/win32-ia32" "0.17.19"
829 | "@esbuild/win32-x64" "0.17.19"
830 |
831 | escalade@^3.1.1:
832 | version "3.1.1"
833 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
834 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
835 |
836 | escape-string-regexp@^1.0.5:
837 | version "1.0.5"
838 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
839 | integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==
840 |
841 | escape-string-regexp@^4.0.0:
842 | version "4.0.0"
843 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
844 | integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
845 |
846 | eslint-plugin-react-hooks@^4.6.0:
847 | version "4.6.0"
848 | resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3"
849 | integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==
850 |
851 | eslint-plugin-react-refresh@^0.3.4:
852 | version "0.3.5"
853 | resolved "https://registry.yarnpkg.com/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.3.5.tgz#0121e3f05f940250d3544bfaeff52e1c6adf4117"
854 | integrity sha512-61qNIsc7fo9Pp/mju0J83kzvLm0Bsayu7OQSLEoJxLDCBjIIyb87bkzufoOvdDxLkSlMfkF7UxomC4+eztUBSA==
855 |
856 | eslint-plugin-react@^7.32.2:
857 | version "7.32.2"
858 | resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz#e71f21c7c265ebce01bcbc9d0955170c55571f10"
859 | integrity sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==
860 | dependencies:
861 | array-includes "^3.1.6"
862 | array.prototype.flatmap "^1.3.1"
863 | array.prototype.tosorted "^1.1.1"
864 | doctrine "^2.1.0"
865 | estraverse "^5.3.0"
866 | jsx-ast-utils "^2.4.1 || ^3.0.0"
867 | minimatch "^3.1.2"
868 | object.entries "^1.1.6"
869 | object.fromentries "^2.0.6"
870 | object.hasown "^1.1.2"
871 | object.values "^1.1.6"
872 | prop-types "^15.8.1"
873 | resolve "^2.0.0-next.4"
874 | semver "^6.3.0"
875 | string.prototype.matchall "^4.0.8"
876 |
877 | eslint-scope@^7.2.0:
878 | version "7.2.0"
879 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.0.tgz#f21ebdafda02352f103634b96dd47d9f81ca117b"
880 | integrity sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==
881 | dependencies:
882 | esrecurse "^4.3.0"
883 | estraverse "^5.2.0"
884 |
885 | eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1:
886 | version "3.4.1"
887 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz#c22c48f48942d08ca824cc526211ae400478a994"
888 | integrity sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==
889 |
890 | eslint@^8.38.0:
891 | version "8.41.0"
892 | resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.41.0.tgz#3062ca73363b4714b16dbc1e60f035e6134b6f1c"
893 | integrity sha512-WQDQpzGBOP5IrXPo4Hc0814r4/v2rrIsB0rhT7jtunIalgg6gYXWhRMOejVO8yH21T/FGaxjmFjBMNqcIlmH1Q==
894 | dependencies:
895 | "@eslint-community/eslint-utils" "^4.2.0"
896 | "@eslint-community/regexpp" "^4.4.0"
897 | "@eslint/eslintrc" "^2.0.3"
898 | "@eslint/js" "8.41.0"
899 | "@humanwhocodes/config-array" "^0.11.8"
900 | "@humanwhocodes/module-importer" "^1.0.1"
901 | "@nodelib/fs.walk" "^1.2.8"
902 | ajv "^6.10.0"
903 | chalk "^4.0.0"
904 | cross-spawn "^7.0.2"
905 | debug "^4.3.2"
906 | doctrine "^3.0.0"
907 | escape-string-regexp "^4.0.0"
908 | eslint-scope "^7.2.0"
909 | eslint-visitor-keys "^3.4.1"
910 | espree "^9.5.2"
911 | esquery "^1.4.2"
912 | esutils "^2.0.2"
913 | fast-deep-equal "^3.1.3"
914 | file-entry-cache "^6.0.1"
915 | find-up "^5.0.0"
916 | glob-parent "^6.0.2"
917 | globals "^13.19.0"
918 | graphemer "^1.4.0"
919 | ignore "^5.2.0"
920 | import-fresh "^3.0.0"
921 | imurmurhash "^0.1.4"
922 | is-glob "^4.0.0"
923 | is-path-inside "^3.0.3"
924 | js-yaml "^4.1.0"
925 | json-stable-stringify-without-jsonify "^1.0.1"
926 | levn "^0.4.1"
927 | lodash.merge "^4.6.2"
928 | minimatch "^3.1.2"
929 | natural-compare "^1.4.0"
930 | optionator "^0.9.1"
931 | strip-ansi "^6.0.1"
932 | strip-json-comments "^3.1.0"
933 | text-table "^0.2.0"
934 |
935 | espree@^9.5.2:
936 | version "9.5.2"
937 | resolved "https://registry.yarnpkg.com/espree/-/espree-9.5.2.tgz#e994e7dc33a082a7a82dceaf12883a829353215b"
938 | integrity sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==
939 | dependencies:
940 | acorn "^8.8.0"
941 | acorn-jsx "^5.3.2"
942 | eslint-visitor-keys "^3.4.1"
943 |
944 | esquery@^1.4.2:
945 | version "1.5.0"
946 | resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b"
947 | integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==
948 | dependencies:
949 | estraverse "^5.1.0"
950 |
951 | esrecurse@^4.3.0:
952 | version "4.3.0"
953 | resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921"
954 | integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==
955 | dependencies:
956 | estraverse "^5.2.0"
957 |
958 | estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0:
959 | version "5.3.0"
960 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123"
961 | integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
962 |
963 | esutils@^2.0.2:
964 | version "2.0.3"
965 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
966 | integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
967 |
968 | fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
969 | version "3.1.3"
970 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
971 | integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
972 |
973 | fast-json-stable-stringify@^2.0.0:
974 | version "2.1.0"
975 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
976 | integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
977 |
978 | fast-levenshtein@^2.0.6:
979 | version "2.0.6"
980 | resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
981 | integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==
982 |
983 | fastq@^1.6.0:
984 | version "1.15.0"
985 | resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a"
986 | integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==
987 | dependencies:
988 | reusify "^1.0.4"
989 |
990 | file-entry-cache@^6.0.1:
991 | version "6.0.1"
992 | resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027"
993 | integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==
994 | dependencies:
995 | flat-cache "^3.0.4"
996 |
997 | find-up@^5.0.0:
998 | version "5.0.0"
999 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc"
1000 | integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==
1001 | dependencies:
1002 | locate-path "^6.0.0"
1003 | path-exists "^4.0.0"
1004 |
1005 | flat-cache@^3.0.4:
1006 | version "3.0.4"
1007 | resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11"
1008 | integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==
1009 | dependencies:
1010 | flatted "^3.1.0"
1011 | rimraf "^3.0.2"
1012 |
1013 | flatted@^3.1.0:
1014 | version "3.2.7"
1015 | resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787"
1016 | integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==
1017 |
1018 | follow-redirects@^1.15.0:
1019 | version "1.15.2"
1020 | resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13"
1021 | integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==
1022 |
1023 | for-each@^0.3.3:
1024 | version "0.3.3"
1025 | resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e"
1026 | integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==
1027 | dependencies:
1028 | is-callable "^1.1.3"
1029 |
1030 | form-data@^4.0.0:
1031 | version "4.0.0"
1032 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452"
1033 | integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==
1034 | dependencies:
1035 | asynckit "^0.4.0"
1036 | combined-stream "^1.0.8"
1037 | mime-types "^2.1.12"
1038 |
1039 | fs.realpath@^1.0.0:
1040 | version "1.0.0"
1041 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
1042 | integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
1043 |
1044 | fsevents@~2.3.2:
1045 | version "2.3.2"
1046 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
1047 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
1048 |
1049 | function-bind@^1.1.1:
1050 | version "1.1.1"
1051 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
1052 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
1053 |
1054 | function.prototype.name@^1.1.5:
1055 | version "1.1.5"
1056 | resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621"
1057 | integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==
1058 | dependencies:
1059 | call-bind "^1.0.2"
1060 | define-properties "^1.1.3"
1061 | es-abstract "^1.19.0"
1062 | functions-have-names "^1.2.2"
1063 |
1064 | functions-have-names@^1.2.2, functions-have-names@^1.2.3:
1065 | version "1.2.3"
1066 | resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834"
1067 | integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==
1068 |
1069 | gensync@^1.0.0-beta.2:
1070 | version "1.0.0-beta.2"
1071 | resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
1072 | integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==
1073 |
1074 | get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0:
1075 | version "1.2.1"
1076 | resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.1.tgz#d295644fed4505fc9cde952c37ee12b477a83d82"
1077 | integrity sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==
1078 | dependencies:
1079 | function-bind "^1.1.1"
1080 | has "^1.0.3"
1081 | has-proto "^1.0.1"
1082 | has-symbols "^1.0.3"
1083 |
1084 | get-symbol-description@^1.0.0:
1085 | version "1.0.0"
1086 | resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6"
1087 | integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==
1088 | dependencies:
1089 | call-bind "^1.0.2"
1090 | get-intrinsic "^1.1.1"
1091 |
1092 | glob-parent@^6.0.2:
1093 | version "6.0.2"
1094 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3"
1095 | integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==
1096 | dependencies:
1097 | is-glob "^4.0.3"
1098 |
1099 | glob@^7.1.3:
1100 | version "7.2.3"
1101 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b"
1102 | integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
1103 | dependencies:
1104 | fs.realpath "^1.0.0"
1105 | inflight "^1.0.4"
1106 | inherits "2"
1107 | minimatch "^3.1.1"
1108 | once "^1.3.0"
1109 | path-is-absolute "^1.0.0"
1110 |
1111 | globals@^11.1.0:
1112 | version "11.12.0"
1113 | resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
1114 | integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
1115 |
1116 | globals@^13.19.0:
1117 | version "13.20.0"
1118 | resolved "https://registry.yarnpkg.com/globals/-/globals-13.20.0.tgz#ea276a1e508ffd4f1612888f9d1bad1e2717bf82"
1119 | integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==
1120 | dependencies:
1121 | type-fest "^0.20.2"
1122 |
1123 | globalthis@^1.0.3:
1124 | version "1.0.3"
1125 | resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf"
1126 | integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==
1127 | dependencies:
1128 | define-properties "^1.1.3"
1129 |
1130 | gopd@^1.0.1:
1131 | version "1.0.1"
1132 | resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c"
1133 | integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==
1134 | dependencies:
1135 | get-intrinsic "^1.1.3"
1136 |
1137 | graphemer@^1.4.0:
1138 | version "1.4.0"
1139 | resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6"
1140 | integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==
1141 |
1142 | has-bigints@^1.0.1, has-bigints@^1.0.2:
1143 | version "1.0.2"
1144 | resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa"
1145 | integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==
1146 |
1147 | has-flag@^3.0.0:
1148 | version "3.0.0"
1149 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
1150 | integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==
1151 |
1152 | has-flag@^4.0.0:
1153 | version "4.0.0"
1154 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
1155 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
1156 |
1157 | has-property-descriptors@^1.0.0:
1158 | version "1.0.0"
1159 | resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861"
1160 | integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==
1161 | dependencies:
1162 | get-intrinsic "^1.1.1"
1163 |
1164 | has-proto@^1.0.1:
1165 | version "1.0.1"
1166 | resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0"
1167 | integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==
1168 |
1169 | has-symbols@^1.0.2, has-symbols@^1.0.3:
1170 | version "1.0.3"
1171 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8"
1172 | integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==
1173 |
1174 | has-tostringtag@^1.0.0:
1175 | version "1.0.0"
1176 | resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25"
1177 | integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==
1178 | dependencies:
1179 | has-symbols "^1.0.2"
1180 |
1181 | has@^1.0.3:
1182 | version "1.0.3"
1183 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
1184 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
1185 | dependencies:
1186 | function-bind "^1.1.1"
1187 |
1188 | ignore@^5.2.0:
1189 | version "5.2.4"
1190 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324"
1191 | integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==
1192 |
1193 | import-fresh@^3.0.0, import-fresh@^3.2.1:
1194 | version "3.3.0"
1195 | resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"
1196 | integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==
1197 | dependencies:
1198 | parent-module "^1.0.0"
1199 | resolve-from "^4.0.0"
1200 |
1201 | imurmurhash@^0.1.4:
1202 | version "0.1.4"
1203 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
1204 | integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==
1205 |
1206 | inflight@^1.0.4:
1207 | version "1.0.6"
1208 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
1209 | integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==
1210 | dependencies:
1211 | once "^1.3.0"
1212 | wrappy "1"
1213 |
1214 | inherits@2:
1215 | version "2.0.4"
1216 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
1217 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
1218 |
1219 | internal-slot@^1.0.3, internal-slot@^1.0.5:
1220 | version "1.0.5"
1221 | resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.5.tgz#f2a2ee21f668f8627a4667f309dc0f4fb6674986"
1222 | integrity sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==
1223 | dependencies:
1224 | get-intrinsic "^1.2.0"
1225 | has "^1.0.3"
1226 | side-channel "^1.0.4"
1227 |
1228 | is-array-buffer@^3.0.1, is-array-buffer@^3.0.2:
1229 | version "3.0.2"
1230 | resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz#f2653ced8412081638ecb0ebbd0c41c6e0aecbbe"
1231 | integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==
1232 | dependencies:
1233 | call-bind "^1.0.2"
1234 | get-intrinsic "^1.2.0"
1235 | is-typed-array "^1.1.10"
1236 |
1237 | is-bigint@^1.0.1:
1238 | version "1.0.4"
1239 | resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3"
1240 | integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==
1241 | dependencies:
1242 | has-bigints "^1.0.1"
1243 |
1244 | is-boolean-object@^1.1.0:
1245 | version "1.1.2"
1246 | resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719"
1247 | integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==
1248 | dependencies:
1249 | call-bind "^1.0.2"
1250 | has-tostringtag "^1.0.0"
1251 |
1252 | is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7:
1253 | version "1.2.7"
1254 | resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055"
1255 | integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==
1256 |
1257 | is-core-module@^2.9.0:
1258 | version "2.12.1"
1259 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.12.1.tgz#0c0b6885b6f80011c71541ce15c8d66cf5a4f9fd"
1260 | integrity sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==
1261 | dependencies:
1262 | has "^1.0.3"
1263 |
1264 | is-date-object@^1.0.1:
1265 | version "1.0.5"
1266 | resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f"
1267 | integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==
1268 | dependencies:
1269 | has-tostringtag "^1.0.0"
1270 |
1271 | is-extglob@^2.1.1:
1272 | version "2.1.1"
1273 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
1274 | integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
1275 |
1276 | is-glob@^4.0.0, is-glob@^4.0.3:
1277 | version "4.0.3"
1278 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
1279 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
1280 | dependencies:
1281 | is-extglob "^2.1.1"
1282 |
1283 | is-negative-zero@^2.0.2:
1284 | version "2.0.2"
1285 | resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150"
1286 | integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==
1287 |
1288 | is-number-object@^1.0.4:
1289 | version "1.0.7"
1290 | resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc"
1291 | integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==
1292 | dependencies:
1293 | has-tostringtag "^1.0.0"
1294 |
1295 | is-path-inside@^3.0.3:
1296 | version "3.0.3"
1297 | resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283"
1298 | integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==
1299 |
1300 | is-regex@^1.1.4:
1301 | version "1.1.4"
1302 | resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958"
1303 | integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==
1304 | dependencies:
1305 | call-bind "^1.0.2"
1306 | has-tostringtag "^1.0.0"
1307 |
1308 | is-shared-array-buffer@^1.0.2:
1309 | version "1.0.2"
1310 | resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79"
1311 | integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==
1312 | dependencies:
1313 | call-bind "^1.0.2"
1314 |
1315 | is-string@^1.0.5, is-string@^1.0.7:
1316 | version "1.0.7"
1317 | resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd"
1318 | integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==
1319 | dependencies:
1320 | has-tostringtag "^1.0.0"
1321 |
1322 | is-symbol@^1.0.2, is-symbol@^1.0.3:
1323 | version "1.0.4"
1324 | resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c"
1325 | integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==
1326 | dependencies:
1327 | has-symbols "^1.0.2"
1328 |
1329 | is-typed-array@^1.1.10, is-typed-array@^1.1.9:
1330 | version "1.1.10"
1331 | resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.10.tgz#36a5b5cb4189b575d1a3e4b08536bfb485801e3f"
1332 | integrity sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==
1333 | dependencies:
1334 | available-typed-arrays "^1.0.5"
1335 | call-bind "^1.0.2"
1336 | for-each "^0.3.3"
1337 | gopd "^1.0.1"
1338 | has-tostringtag "^1.0.0"
1339 |
1340 | is-weakref@^1.0.2:
1341 | version "1.0.2"
1342 | resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2"
1343 | integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==
1344 | dependencies:
1345 | call-bind "^1.0.2"
1346 |
1347 | isexe@^2.0.0:
1348 | version "2.0.0"
1349 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
1350 | integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
1351 |
1352 | js-cookie@^3.0.5:
1353 | version "3.0.5"
1354 | resolved "https://registry.yarnpkg.com/js-cookie/-/js-cookie-3.0.5.tgz#0b7e2fd0c01552c58ba86e0841f94dc2557dcdbc"
1355 | integrity sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==
1356 |
1357 | "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
1358 | version "4.0.0"
1359 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
1360 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
1361 |
1362 | js-yaml@^4.1.0:
1363 | version "4.1.0"
1364 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602"
1365 | integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==
1366 | dependencies:
1367 | argparse "^2.0.1"
1368 |
1369 | jsesc@^2.5.1:
1370 | version "2.5.2"
1371 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
1372 | integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==
1373 |
1374 | json-schema-traverse@^0.4.1:
1375 | version "0.4.1"
1376 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
1377 | integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
1378 |
1379 | json-stable-stringify-without-jsonify@^1.0.1:
1380 | version "1.0.1"
1381 | resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
1382 | integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==
1383 |
1384 | json5@^2.2.2:
1385 | version "2.2.3"
1386 | resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283"
1387 | integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==
1388 |
1389 | "jsx-ast-utils@^2.4.1 || ^3.0.0":
1390 | version "3.3.3"
1391 | resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz#76b3e6e6cece5c69d49a5792c3d01bd1a0cdc7ea"
1392 | integrity sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==
1393 | dependencies:
1394 | array-includes "^3.1.5"
1395 | object.assign "^4.1.3"
1396 |
1397 | jwt-decode@^3.1.2:
1398 | version "3.1.2"
1399 | resolved "https://registry.yarnpkg.com/jwt-decode/-/jwt-decode-3.1.2.tgz#3fb319f3675a2df0c2895c8f5e9fa4b67b04ed59"
1400 | integrity sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A==
1401 |
1402 | levn@^0.4.1:
1403 | version "0.4.1"
1404 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade"
1405 | integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==
1406 | dependencies:
1407 | prelude-ls "^1.2.1"
1408 | type-check "~0.4.0"
1409 |
1410 | locate-path@^6.0.0:
1411 | version "6.0.0"
1412 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286"
1413 | integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==
1414 | dependencies:
1415 | p-locate "^5.0.0"
1416 |
1417 | lodash.merge@^4.6.2:
1418 | version "4.6.2"
1419 | resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
1420 | integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
1421 |
1422 | loose-envify@^1.1.0, loose-envify@^1.4.0:
1423 | version "1.4.0"
1424 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
1425 | integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
1426 | dependencies:
1427 | js-tokens "^3.0.0 || ^4.0.0"
1428 |
1429 | lru-cache@^5.1.1:
1430 | version "5.1.1"
1431 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920"
1432 | integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==
1433 | dependencies:
1434 | yallist "^3.0.2"
1435 |
1436 | mime-db@1.52.0:
1437 | version "1.52.0"
1438 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
1439 | integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
1440 |
1441 | mime-types@^2.1.12:
1442 | version "2.1.35"
1443 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a"
1444 | integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
1445 | dependencies:
1446 | mime-db "1.52.0"
1447 |
1448 | minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2:
1449 | version "3.1.2"
1450 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
1451 | integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
1452 | dependencies:
1453 | brace-expansion "^1.1.7"
1454 |
1455 | ms@2.1.2:
1456 | version "2.1.2"
1457 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
1458 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
1459 |
1460 | nanoid@^3.3.6:
1461 | version "3.3.6"
1462 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c"
1463 | integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==
1464 |
1465 | natural-compare@^1.4.0:
1466 | version "1.4.0"
1467 | resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
1468 | integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==
1469 |
1470 | node-releases@^2.0.8:
1471 | version "2.0.12"
1472 | resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.12.tgz#35627cc224a23bfb06fb3380f2b3afaaa7eb1039"
1473 | integrity sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==
1474 |
1475 | object-assign@^4.1.1:
1476 | version "4.1.1"
1477 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
1478 | integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==
1479 |
1480 | object-inspect@^1.12.3, object-inspect@^1.9.0:
1481 | version "1.12.3"
1482 | resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9"
1483 | integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==
1484 |
1485 | object-keys@^1.1.1:
1486 | version "1.1.1"
1487 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
1488 | integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
1489 |
1490 | object.assign@^4.1.3, object.assign@^4.1.4:
1491 | version "4.1.4"
1492 | resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f"
1493 | integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==
1494 | dependencies:
1495 | call-bind "^1.0.2"
1496 | define-properties "^1.1.4"
1497 | has-symbols "^1.0.3"
1498 | object-keys "^1.1.1"
1499 |
1500 | object.entries@^1.1.6:
1501 | version "1.1.6"
1502 | resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.6.tgz#9737d0e5b8291edd340a3e3264bb8a3b00d5fa23"
1503 | integrity sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==
1504 | dependencies:
1505 | call-bind "^1.0.2"
1506 | define-properties "^1.1.4"
1507 | es-abstract "^1.20.4"
1508 |
1509 | object.fromentries@^2.0.6:
1510 | version "2.0.6"
1511 | resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.6.tgz#cdb04da08c539cffa912dcd368b886e0904bfa73"
1512 | integrity sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==
1513 | dependencies:
1514 | call-bind "^1.0.2"
1515 | define-properties "^1.1.4"
1516 | es-abstract "^1.20.4"
1517 |
1518 | object.hasown@^1.1.2:
1519 | version "1.1.2"
1520 | resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.2.tgz#f919e21fad4eb38a57bc6345b3afd496515c3f92"
1521 | integrity sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==
1522 | dependencies:
1523 | define-properties "^1.1.4"
1524 | es-abstract "^1.20.4"
1525 |
1526 | object.values@^1.1.6:
1527 | version "1.1.6"
1528 | resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.6.tgz#4abbaa71eba47d63589d402856f908243eea9b1d"
1529 | integrity sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==
1530 | dependencies:
1531 | call-bind "^1.0.2"
1532 | define-properties "^1.1.4"
1533 | es-abstract "^1.20.4"
1534 |
1535 | once@^1.3.0:
1536 | version "1.4.0"
1537 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
1538 | integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==
1539 | dependencies:
1540 | wrappy "1"
1541 |
1542 | optionator@^0.9.1:
1543 | version "0.9.1"
1544 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499"
1545 | integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==
1546 | dependencies:
1547 | deep-is "^0.1.3"
1548 | fast-levenshtein "^2.0.6"
1549 | levn "^0.4.1"
1550 | prelude-ls "^1.2.1"
1551 | type-check "^0.4.0"
1552 | word-wrap "^1.2.3"
1553 |
1554 | p-limit@^3.0.2:
1555 | version "3.1.0"
1556 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b"
1557 | integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==
1558 | dependencies:
1559 | yocto-queue "^0.1.0"
1560 |
1561 | p-locate@^5.0.0:
1562 | version "5.0.0"
1563 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834"
1564 | integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==
1565 | dependencies:
1566 | p-limit "^3.0.2"
1567 |
1568 | parent-module@^1.0.0:
1569 | version "1.0.1"
1570 | resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
1571 | integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
1572 | dependencies:
1573 | callsites "^3.0.0"
1574 |
1575 | path-exists@^4.0.0:
1576 | version "4.0.0"
1577 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
1578 | integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
1579 |
1580 | path-is-absolute@^1.0.0:
1581 | version "1.0.1"
1582 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
1583 | integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==
1584 |
1585 | path-key@^3.1.0:
1586 | version "3.1.1"
1587 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
1588 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
1589 |
1590 | path-parse@^1.0.7:
1591 | version "1.0.7"
1592 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
1593 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
1594 |
1595 | picocolors@^1.0.0:
1596 | version "1.0.0"
1597 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
1598 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
1599 |
1600 | postcss@^8.4.23:
1601 | version "8.4.23"
1602 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.23.tgz#df0aee9ac7c5e53e1075c24a3613496f9e6552ab"
1603 | integrity sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==
1604 | dependencies:
1605 | nanoid "^3.3.6"
1606 | picocolors "^1.0.0"
1607 | source-map-js "^1.0.2"
1608 |
1609 | prelude-ls@^1.2.1:
1610 | version "1.2.1"
1611 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
1612 | integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
1613 |
1614 | prettier@^2.8.8:
1615 | version "2.8.8"
1616 | resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da"
1617 | integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==
1618 |
1619 | prop-types@^15.8.1:
1620 | version "15.8.1"
1621 | resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5"
1622 | integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==
1623 | dependencies:
1624 | loose-envify "^1.4.0"
1625 | object-assign "^4.1.1"
1626 | react-is "^16.13.1"
1627 |
1628 | proxy-from-env@^1.1.0:
1629 | version "1.1.0"
1630 | resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2"
1631 | integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==
1632 |
1633 | punycode@^2.1.0:
1634 | version "2.3.0"
1635 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f"
1636 | integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==
1637 |
1638 | queue-microtask@^1.2.2:
1639 | version "1.2.3"
1640 | resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
1641 | integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
1642 |
1643 | react-dom@^18.2.0:
1644 | version "18.2.0"
1645 | resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d"
1646 | integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==
1647 | dependencies:
1648 | loose-envify "^1.1.0"
1649 | scheduler "^0.23.0"
1650 |
1651 | react-is@^16.13.1:
1652 | version "16.13.1"
1653 | resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
1654 | integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
1655 |
1656 | react-refresh@^0.14.0:
1657 | version "0.14.0"
1658 | resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.0.tgz#4e02825378a5f227079554d4284889354e5f553e"
1659 | integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==
1660 |
1661 | react-router-dom@6.10.0:
1662 | version "6.10.0"
1663 | resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.10.0.tgz#090ddc5c84dc41b583ce08468c4007c84245f61f"
1664 | integrity sha512-E5dfxRPuXKJqzwSe/qGcqdwa18QiWC6f3H3cWXM24qj4N0/beCIf/CWTipop2xm7mR0RCS99NnaqPNjHtrAzCg==
1665 | dependencies:
1666 | "@remix-run/router" "1.5.0"
1667 | react-router "6.10.0"
1668 |
1669 | react-router@6.10.0:
1670 | version "6.10.0"
1671 | resolved "https://registry.yarnpkg.com/react-router/-/react-router-6.10.0.tgz#230f824fde9dd0270781b5cb497912de32c0a971"
1672 | integrity sha512-Nrg0BWpQqrC3ZFFkyewrflCud9dio9ME3ojHCF/WLsprJVzkq3q3UeEhMCAW1dobjeGbWgjNn/PVF6m46ANxXQ==
1673 | dependencies:
1674 | "@remix-run/router" "1.5.0"
1675 |
1676 | react@^18.2.0:
1677 | version "18.2.0"
1678 | resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5"
1679 | integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==
1680 | dependencies:
1681 | loose-envify "^1.1.0"
1682 |
1683 | regexp.prototype.flags@^1.4.3:
1684 | version "1.5.0"
1685 | resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz#fe7ce25e7e4cca8db37b6634c8a2c7009199b9cb"
1686 | integrity sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==
1687 | dependencies:
1688 | call-bind "^1.0.2"
1689 | define-properties "^1.2.0"
1690 | functions-have-names "^1.2.3"
1691 |
1692 | resolve-from@^4.0.0:
1693 | version "4.0.0"
1694 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
1695 | integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
1696 |
1697 | resolve@^2.0.0-next.4:
1698 | version "2.0.0-next.4"
1699 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.4.tgz#3d37a113d6429f496ec4752d2a2e58efb1fd4660"
1700 | integrity sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==
1701 | dependencies:
1702 | is-core-module "^2.9.0"
1703 | path-parse "^1.0.7"
1704 | supports-preserve-symlinks-flag "^1.0.0"
1705 |
1706 | reusify@^1.0.4:
1707 | version "1.0.4"
1708 | resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
1709 | integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
1710 |
1711 | rimraf@^3.0.2:
1712 | version "3.0.2"
1713 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
1714 | integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
1715 | dependencies:
1716 | glob "^7.1.3"
1717 |
1718 | rollup@^3.21.0:
1719 | version "3.23.0"
1720 | resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.23.0.tgz#b8d6146dac4bf058ee817f92820988e9b358b564"
1721 | integrity sha512-h31UlwEi7FHihLe1zbk+3Q7z1k/84rb9BSwmBSr/XjOCEaBJ2YyedQDuM0t/kfOS0IxM+vk1/zI9XxYj9V+NJQ==
1722 | optionalDependencies:
1723 | fsevents "~2.3.2"
1724 |
1725 | run-parallel@^1.1.9:
1726 | version "1.2.0"
1727 | resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee"
1728 | integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==
1729 | dependencies:
1730 | queue-microtask "^1.2.2"
1731 |
1732 | safe-regex-test@^1.0.0:
1733 | version "1.0.0"
1734 | resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295"
1735 | integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==
1736 | dependencies:
1737 | call-bind "^1.0.2"
1738 | get-intrinsic "^1.1.3"
1739 | is-regex "^1.1.4"
1740 |
1741 | scheduler@^0.23.0:
1742 | version "0.23.0"
1743 | resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe"
1744 | integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==
1745 | dependencies:
1746 | loose-envify "^1.1.0"
1747 |
1748 | semver@^6.3.0:
1749 | version "6.3.0"
1750 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
1751 | integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
1752 |
1753 | shebang-command@^2.0.0:
1754 | version "2.0.0"
1755 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
1756 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
1757 | dependencies:
1758 | shebang-regex "^3.0.0"
1759 |
1760 | shebang-regex@^3.0.0:
1761 | version "3.0.0"
1762 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
1763 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
1764 |
1765 | side-channel@^1.0.4:
1766 | version "1.0.4"
1767 | resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf"
1768 | integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==
1769 | dependencies:
1770 | call-bind "^1.0.0"
1771 | get-intrinsic "^1.0.2"
1772 | object-inspect "^1.9.0"
1773 |
1774 | simple-zustand-devtools@^1.1.0:
1775 | version "1.1.0"
1776 | resolved "https://registry.yarnpkg.com/simple-zustand-devtools/-/simple-zustand-devtools-1.1.0.tgz#bb080b30c9930d2997f33881f63d47405226fd7f"
1777 | integrity sha512-Axfcfr9L3YL3kto7aschCQLY2VUlXXMnIVtaTe9Y0qWbNmPsX/y7KsNprmxBZoB0pww5ZGs1u/ohcrvQ3tE6jA==
1778 |
1779 | source-map-js@^1.0.2:
1780 | version "1.0.2"
1781 | resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
1782 | integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
1783 |
1784 | string.prototype.matchall@^4.0.8:
1785 | version "4.0.8"
1786 | resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz#3bf85722021816dcd1bf38bb714915887ca79fd3"
1787 | integrity sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==
1788 | dependencies:
1789 | call-bind "^1.0.2"
1790 | define-properties "^1.1.4"
1791 | es-abstract "^1.20.4"
1792 | get-intrinsic "^1.1.3"
1793 | has-symbols "^1.0.3"
1794 | internal-slot "^1.0.3"
1795 | regexp.prototype.flags "^1.4.3"
1796 | side-channel "^1.0.4"
1797 |
1798 | string.prototype.trim@^1.2.7:
1799 | version "1.2.7"
1800 | resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz#a68352740859f6893f14ce3ef1bb3037f7a90533"
1801 | integrity sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==
1802 | dependencies:
1803 | call-bind "^1.0.2"
1804 | define-properties "^1.1.4"
1805 | es-abstract "^1.20.4"
1806 |
1807 | string.prototype.trimend@^1.0.6:
1808 | version "1.0.6"
1809 | resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz#c4a27fa026d979d79c04f17397f250a462944533"
1810 | integrity sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==
1811 | dependencies:
1812 | call-bind "^1.0.2"
1813 | define-properties "^1.1.4"
1814 | es-abstract "^1.20.4"
1815 |
1816 | string.prototype.trimstart@^1.0.6:
1817 | version "1.0.6"
1818 | resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz#e90ab66aa8e4007d92ef591bbf3cd422c56bdcf4"
1819 | integrity sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==
1820 | dependencies:
1821 | call-bind "^1.0.2"
1822 | define-properties "^1.1.4"
1823 | es-abstract "^1.20.4"
1824 |
1825 | strip-ansi@^6.0.1:
1826 | version "6.0.1"
1827 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
1828 | integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
1829 | dependencies:
1830 | ansi-regex "^5.0.1"
1831 |
1832 | strip-json-comments@^3.1.0, strip-json-comments@^3.1.1:
1833 | version "3.1.1"
1834 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
1835 | integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
1836 |
1837 | supports-color@^5.3.0:
1838 | version "5.5.0"
1839 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
1840 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
1841 | dependencies:
1842 | has-flag "^3.0.0"
1843 |
1844 | supports-color@^7.1.0:
1845 | version "7.2.0"
1846 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
1847 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
1848 | dependencies:
1849 | has-flag "^4.0.0"
1850 |
1851 | supports-preserve-symlinks-flag@^1.0.0:
1852 | version "1.0.0"
1853 | resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
1854 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
1855 |
1856 | text-table@^0.2.0:
1857 | version "0.2.0"
1858 | resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
1859 | integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==
1860 |
1861 | to-fast-properties@^2.0.0:
1862 | version "2.0.0"
1863 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
1864 | integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==
1865 |
1866 | type-check@^0.4.0, type-check@~0.4.0:
1867 | version "0.4.0"
1868 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"
1869 | integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==
1870 | dependencies:
1871 | prelude-ls "^1.2.1"
1872 |
1873 | type-fest@^0.20.2:
1874 | version "0.20.2"
1875 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4"
1876 | integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==
1877 |
1878 | typed-array-length@^1.0.4:
1879 | version "1.0.4"
1880 | resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb"
1881 | integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==
1882 | dependencies:
1883 | call-bind "^1.0.2"
1884 | for-each "^0.3.3"
1885 | is-typed-array "^1.1.9"
1886 |
1887 | unbox-primitive@^1.0.2:
1888 | version "1.0.2"
1889 | resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e"
1890 | integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==
1891 | dependencies:
1892 | call-bind "^1.0.2"
1893 | has-bigints "^1.0.2"
1894 | has-symbols "^1.0.3"
1895 | which-boxed-primitive "^1.0.2"
1896 |
1897 | update-browserslist-db@^1.0.10:
1898 | version "1.0.11"
1899 | resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz#9a2a641ad2907ae7b3616506f4b977851db5b940"
1900 | integrity sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==
1901 | dependencies:
1902 | escalade "^3.1.1"
1903 | picocolors "^1.0.0"
1904 |
1905 | uri-js@^4.2.2:
1906 | version "4.4.1"
1907 | resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e"
1908 | integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==
1909 | dependencies:
1910 | punycode "^2.1.0"
1911 |
1912 | use-sync-external-store@1.2.0:
1913 | version "1.2.0"
1914 | resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz#7dbefd6ef3fe4e767a0cf5d7287aacfb5846928a"
1915 | integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==
1916 |
1917 | vite@^4.3.2:
1918 | version "4.3.9"
1919 | resolved "https://registry.yarnpkg.com/vite/-/vite-4.3.9.tgz#db896200c0b1aa13b37cdc35c9e99ee2fdd5f96d"
1920 | integrity sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==
1921 | dependencies:
1922 | esbuild "^0.17.5"
1923 | postcss "^8.4.23"
1924 | rollup "^3.21.0"
1925 | optionalDependencies:
1926 | fsevents "~2.3.2"
1927 |
1928 | which-boxed-primitive@^1.0.2:
1929 | version "1.0.2"
1930 | resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6"
1931 | integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==
1932 | dependencies:
1933 | is-bigint "^1.0.1"
1934 | is-boolean-object "^1.1.0"
1935 | is-number-object "^1.0.4"
1936 | is-string "^1.0.5"
1937 | is-symbol "^1.0.3"
1938 |
1939 | which-typed-array@^1.1.9:
1940 | version "1.1.9"
1941 | resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.9.tgz#307cf898025848cf995e795e8423c7f337efbde6"
1942 | integrity sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==
1943 | dependencies:
1944 | available-typed-arrays "^1.0.5"
1945 | call-bind "^1.0.2"
1946 | for-each "^0.3.3"
1947 | gopd "^1.0.1"
1948 | has-tostringtag "^1.0.0"
1949 | is-typed-array "^1.1.10"
1950 |
1951 | which@^2.0.1:
1952 | version "2.0.2"
1953 | resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
1954 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
1955 | dependencies:
1956 | isexe "^2.0.0"
1957 |
1958 | word-wrap@^1.2.3:
1959 | version "1.2.3"
1960 | resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
1961 | integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==
1962 |
1963 | wrappy@1:
1964 | version "1.0.2"
1965 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
1966 | integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
1967 |
1968 | yallist@^3.0.2:
1969 | version "3.1.1"
1970 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
1971 | integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
1972 |
1973 | yocto-queue@^0.1.0:
1974 | version "0.1.0"
1975 | resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
1976 | integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==
1977 |
1978 | zustand@^4.3.8:
1979 | version "4.3.8"
1980 | resolved "https://registry.yarnpkg.com/zustand/-/zustand-4.3.8.tgz#37113df8e9e1421b0be1b2dca02b49b76210e7c4"
1981 | integrity sha512-4h28KCkHg5ii/wcFFJ5Fp+k1J3gJoasaIbppdgZFO4BPJnsNxL0mQXBSFgOgAdCdBj35aDTPvdAJReTMntFPGg==
1982 | dependencies:
1983 | use-sync-external-store "1.2.0"
1984 |
--------------------------------------------------------------------------------