├── .env.example
├── src
├── vite-env.d.ts
├── constants
│ ├── colors.ts
│ └── urls.ts
├── assets
│ ├── baby_1.gif
│ ├── baby_2.gif
│ ├── baby_3.gif
│ ├── baby_4.png
│ └── react.svg
├── views
│ ├── ErrorPage.tsx
│ ├── index.tsx
│ ├── WrappedPage.tsx
│ └── products
│ │ ├── EditPage.tsx
│ │ └── ViewPage.tsx
├── context
│ └── index.ts
├── services
│ ├── index.ts
│ ├── globalService.ts
│ └── productService.ts
├── index.css
├── actionTypes
│ ├── index.ts
│ ├── globalTypes.ts
│ └── productTypes.ts
├── sagas
│ ├── index.ts
│ ├── globalSaga.ts
│ └── productSaga.ts
├── components
│ ├── RoundButton.tsx
│ └── Overlay.tsx
├── reducers
│ ├── index.ts
│ ├── globalReducer.ts
│ └── productReducer.ts
├── types
│ └── index.ts
├── store
│ └── index.ts
├── main.tsx
└── layouts
│ └── DashboardLayout.tsx
├── postcss.config.js
├── .prettierrc.json
├── vite.config.ts
├── tsconfig.node.json
├── tailwind.config.js
├── .gitignore
├── index.html
├── .eslintrc.cjs
├── README.md
├── tsconfig.json
├── public
└── vite.svg
├── package.json
└── pnpm-lock.yaml
/.env.example:
--------------------------------------------------------------------------------
1 | VITE_APP_ID = 1
2 | VITE_GOOGLE_MAP_API_KEY =
--------------------------------------------------------------------------------
/src/vite-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/src/constants/colors.ts:
--------------------------------------------------------------------------------
1 | export const PrimaryColor = '#272e71'
2 |
--------------------------------------------------------------------------------
/postcss.config.js:
--------------------------------------------------------------------------------
1 | export default {
2 | plugins: {
3 | tailwindcss: {},
4 | autoprefixer: {},
5 | },
6 | }
7 |
--------------------------------------------------------------------------------
/src/assets/baby_1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/inapeace0/react-redux-saga-tailwindcss-typescript/HEAD/src/assets/baby_1.gif
--------------------------------------------------------------------------------
/src/assets/baby_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/inapeace0/react-redux-saga-tailwindcss-typescript/HEAD/src/assets/baby_2.gif
--------------------------------------------------------------------------------
/src/assets/baby_3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/inapeace0/react-redux-saga-tailwindcss-typescript/HEAD/src/assets/baby_3.gif
--------------------------------------------------------------------------------
/src/assets/baby_4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/inapeace0/react-redux-saga-tailwindcss-typescript/HEAD/src/assets/baby_4.png
--------------------------------------------------------------------------------
/src/views/ErrorPage.tsx:
--------------------------------------------------------------------------------
1 | export default function ErrorPage() {
2 | return (
3 | <>
4 |
404 Not Found
5 | >
6 | )
7 | }
8 |
--------------------------------------------------------------------------------
/src/context/index.ts:
--------------------------------------------------------------------------------
1 | import { createContext } from 'react'
2 | import { PrimaryColor } from '@/constants/colors'
3 |
4 | export const ThemeContext = createContext(PrimaryColor)
5 |
--------------------------------------------------------------------------------
/src/views/index.tsx:
--------------------------------------------------------------------------------
1 | const RootPage = () => {
2 | return (
3 | <>
4 | Welcome to be here - Dashboard
5 | >
6 | )
7 | }
8 |
9 | export default RootPage
10 |
--------------------------------------------------------------------------------
/src/services/index.ts:
--------------------------------------------------------------------------------
1 | import * as globalService from './globalService'
2 | import * as productService from './productService'
3 |
4 | export default {
5 | ...globalService,
6 | ...productService,
7 | }
8 |
--------------------------------------------------------------------------------
/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "semi": false,
3 | "tabWidth": 3,
4 | "printWidth": 100,
5 | "singleQuote": true,
6 | "trailingComma": "all",
7 | "jsxSingleQuote": true,
8 | "bracketSpacing": true
9 | }
--------------------------------------------------------------------------------
/src/index.css:
--------------------------------------------------------------------------------
1 | @tailwind base;
2 | @tailwind components;
3 | @tailwind utilities;
4 |
5 | body {
6 | background-color: #ddd;
7 | }
8 |
9 | h1 {
10 | font-weight: bold;
11 | font-size: 1.5em;
12 | }
13 |
--------------------------------------------------------------------------------
/src/actionTypes/index.ts:
--------------------------------------------------------------------------------
1 | import globalTypes from './globalTypes'
2 | import ProductTypes from './productTypes'
3 |
4 | const Types = {
5 | ...globalTypes,
6 | ...ProductTypes,
7 | }
8 |
9 | export default Types
10 |
--------------------------------------------------------------------------------
/src/views/WrappedPage.tsx:
--------------------------------------------------------------------------------
1 | import DashboardLayout from '../layouts/DashboardLayout'
2 |
3 | export default function WrappedPage({ element }: { element: React.ReactNode }) {
4 | return {element}
5 | }
6 |
--------------------------------------------------------------------------------
/src/sagas/index.ts:
--------------------------------------------------------------------------------
1 | import { all } from 'redux-saga/effects'
2 | import GlobalSaga from './globalSaga'
3 | import productSaga from './productSaga'
4 |
5 | export default function* rootSaga() {
6 | yield all([GlobalSaga(), productSaga()])
7 | }
8 |
--------------------------------------------------------------------------------
/src/services/globalService.ts:
--------------------------------------------------------------------------------
1 | import { GET_APP_CONFIGURATION } from '@/constants/urls'
2 |
3 | export const getAppConfiguration = (id: number) => {
4 | return fetch(GET_APP_CONFIGURATION + id, { method: 'GET' }).then((res) => res.json())
5 | }
6 |
--------------------------------------------------------------------------------
/src/constants/urls.ts:
--------------------------------------------------------------------------------
1 | export const BASE_URL = 'https://api-test.innoloft.com/'
2 |
3 | export const GET_PRODUCT = BASE_URL + 'product/'
4 | export const GET_APP_CONFIGURATION = BASE_URL + 'configuration/'
5 | export const GET_TRL_LIST = BASE_URL + 'trl/'
6 |
--------------------------------------------------------------------------------
/vite.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from 'vite'
2 | import react from '@vitejs/plugin-react'
3 | import tsconfigPaths from 'vite-tsconfig-paths'
4 |
5 | // https://vitejs.dev/config/
6 | export default defineConfig({
7 | plugins: [react(), tsconfigPaths()],
8 | })
9 |
--------------------------------------------------------------------------------
/src/actionTypes/globalTypes.ts:
--------------------------------------------------------------------------------
1 | const Types = {
2 | GET_APP_CONFIGURATION: 'GET_APP_CONFIGURATION',
3 | GET_APP_CONFIGURATION_SUCCESS: 'GET_APP_CONFIGURATION_SUCCESS',
4 | GET_APP_CONFIGURATION_FAILURE: 'GET_APP_CONFIGURATION_FAILURE',
5 | }
6 |
7 | export default Types
8 |
--------------------------------------------------------------------------------
/tsconfig.node.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "composite": true,
4 | "skipLibCheck": true,
5 | "module": "ESNext",
6 | "moduleResolution": "bundler",
7 | "allowSyntheticDefaultImports": true
8 | },
9 | "include": ["vite.config.ts"]
10 | }
11 |
--------------------------------------------------------------------------------
/src/components/RoundButton.tsx:
--------------------------------------------------------------------------------
1 | const RoundButton = ({ children, color }: { children: string; color: string }) => (
2 |
5 | )
6 |
7 | export default RoundButton
8 |
--------------------------------------------------------------------------------
/tailwind.config.js:
--------------------------------------------------------------------------------
1 | /** @type {import('tailwindcss').Config} */
2 | export default {
3 | content: [
4 | "./index.html",
5 | "./src/**/*.{js,ts,jsx,tsx}",
6 | ],
7 | theme: {
8 | extend: {
9 | flex: {
10 | '3': '3 3 0%'
11 | }
12 | },
13 | },
14 | plugins: [],
15 | }
--------------------------------------------------------------------------------
/src/reducers/index.ts:
--------------------------------------------------------------------------------
1 | import { combineReducers } from 'redux'
2 | import globalReducer from './globalReducer'
3 | import productReducer from './productReducer'
4 |
5 | const rootReducer = combineReducers({
6 | global: globalReducer,
7 | product: productReducer,
8 | })
9 |
10 | export default rootReducer
11 |
--------------------------------------------------------------------------------
/.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 |
26 | # Env
27 | .env
28 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | INNOLOFT BLOG
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/.eslintrc.cjs:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | env: { browser: true, es2020: true },
3 | extends: [
4 | 'eslint:recommended',
5 | 'plugin:@typescript-eslint/recommended',
6 | 'plugin:react-hooks/recommended',
7 | ],
8 | parser: '@typescript-eslint/parser',
9 | parserOptions: { ecmaVersion: 'latest', sourceType: 'module' },
10 | plugins: ['react-refresh'],
11 | rules: {
12 | 'react-refresh/only-export-components': 'warn',
13 | '@typescript-eslint/no-explicit-any': 'off'
14 | },
15 | }
16 |
--------------------------------------------------------------------------------
/src/services/productService.ts:
--------------------------------------------------------------------------------
1 | import { GET_PRODUCT, GET_TRL_LIST } from '@/constants/urls'
2 |
3 | export const getProduct = (id: number) => {
4 | return fetch(GET_PRODUCT + id, { method: 'GET' }).then((res) => res.json())
5 | }
6 |
7 | export const updateProduct = (id: number) => {
8 | return fetch(GET_PRODUCT + id, { method: 'PUT' }).then((res) => res.json())
9 | }
10 |
11 | export const getTrlList = () => {
12 | return fetch(GET_TRL_LIST, { method: 'GET' }).then((res) => res.json())
13 | }
14 |
--------------------------------------------------------------------------------
/src/actionTypes/productTypes.ts:
--------------------------------------------------------------------------------
1 | const Types = {
2 | GET_PRODUCT: 'GET_PRODUCT',
3 | GET_PRODUCT_SUCCESS: 'GET_PRODUCT_SUCCESS',
4 | GET_PRODUCT_FAILURE: 'GET_PRODUCT_FAILURE',
5 |
6 | UPDATE_PRODUCT: 'UPDATE_PRODUCT',
7 | UPDATE_PRODUCT_SUCCESS: 'UPDATE_PRODUCT_SUCCESS',
8 | UPDATE_PRODUCT_FAILURE: 'UPDATE_PRODUCT_FAILURE',
9 |
10 | GET_TRL_LIST: 'GET_TRL_LIST',
11 | GET_TRL_LIST_SUCCESS: 'GET_TRL_LIST_SUCCESS',
12 | GET_TRL_LIST_FAILURE: 'GET_TRL_LIST_FAILURE',
13 | }
14 |
15 | export default Types
16 |
--------------------------------------------------------------------------------
/src/types/index.ts:
--------------------------------------------------------------------------------
1 | export interface ActionType {
2 | type: string
3 | payload?: any
4 | error?: null | string
5 | }
6 |
7 | export interface globalState {
8 | loading: boolean
9 | id: number
10 | logo: string
11 | mainColor: string
12 | hasUserSection: boolean
13 | }
14 |
15 | // interface Product {
16 |
17 | // }
18 |
19 | export interface productState {
20 | loading: boolean
21 | product: any
22 | error: null | string
23 | trls: string[]
24 | }
25 |
26 | export interface RootState {
27 | global: globalState
28 | product: productState
29 | }
30 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Project Architecture
2 |
3 | ### What are the main skills?
4 |
5 | ⚽ React.js
6 | ⚾ Redux + Saga
7 | 🥎 Tailwind CSS
8 | 🏀 Typescript
9 | 🏐 Vite
10 |
11 | ### Problem
12 | https://github.com/innoloft/Frontend-Application
13 |
14 | ### Solution
15 |
16 | 🛠 How to run in local
17 |
18 | ```
19 | npm run dev
20 | ```
21 |
22 | 🛠 How to link the code
23 |
24 | ```
25 | npm run lint
26 | ```
27 |
28 | 🛠 How to check the format of code
29 |
30 | ```
31 | npm run format:check
32 | ```
33 |
34 | 🛠 How to format the code
35 |
36 | ```
37 | npm run format
38 | ```
39 |
40 | 🛠 How to build
41 |
42 | ```
43 | npm run build
44 | ```
--------------------------------------------------------------------------------
/src/store/index.ts:
--------------------------------------------------------------------------------
1 | import { createStore, applyMiddleware, compose } from 'redux'
2 | import createSagaMiddleware from 'redux-saga'
3 | import rootReducer from '@/reducers/index'
4 | import rootSagas from '@/sagas/index'
5 |
6 | // Create sagas middleware
7 | const sagaMiddleware = createSagaMiddleware()
8 | const composeEnhancers =
9 | typeof window === 'object' && (window as any).__REDUX_DEVTOOLS_EXTENSION_COMPOSE__
10 | ? (window as any).__REDUX_DEVTOOLS_EXTENSION_COMPOSE__({})
11 | : compose
12 |
13 | export default function configureStore() {
14 | const store = createStore(rootReducer, composeEnhancers(applyMiddleware(sagaMiddleware)))
15 | // Running sagas
16 | sagaMiddleware.run(rootSagas)
17 | return store
18 | }
19 |
--------------------------------------------------------------------------------
/src/components/Overlay.tsx:
--------------------------------------------------------------------------------
1 | import { useMemo } from 'react'
2 |
3 | import babyImage1 from '@/assets/baby_1.gif'
4 | import babyImage2 from '@/assets/baby_2.gif'
5 | import babyImage3 from '@/assets/baby_3.gif'
6 | import babyImage4 from '@/assets/baby_4.png'
7 |
8 | const random = (length: number) => Math.floor(Math.random() * length)
9 | const Overlay = () => {
10 | const images = [babyImage1, babyImage2, babyImage3, babyImage4]
11 |
12 | const index = useMemo(() => random(images.length), [images.length])
13 |
14 | return (
15 |
16 |

17 |
18 |
19 | )
20 | }
21 |
22 | export default Overlay
23 |
--------------------------------------------------------------------------------
/src/sagas/globalSaga.ts:
--------------------------------------------------------------------------------
1 | import { all, call, put, takeLatest, Effect } from 'redux-saga/effects'
2 | import Types from '@/actionTypes/index'
3 | import API from '@/services/index'
4 | import { ActionType } from '@/types/index'
5 |
6 | const { getAppConfiguration } = API
7 |
8 | function* GetAppConfiguration(action: ActionType): Generator {
9 | try {
10 | const res = yield call(getAppConfiguration, action.payload)
11 | if (res) {
12 | yield put({
13 | type: Types.GET_APP_CONFIGURATION_SUCCESS,
14 | payload: res,
15 | })
16 | }
17 | } catch (error) {
18 | yield put({
19 | type: Types.GET_APP_CONFIGURATION_FAILURE,
20 | error: 'Network Connection Failed',
21 | })
22 | }
23 | }
24 |
25 | function* watchRequest() {
26 | yield takeLatest(Types.GET_APP_CONFIGURATION, GetAppConfiguration)
27 | }
28 |
29 | export default function* sagas() {
30 | yield all([watchRequest()])
31 | }
32 |
--------------------------------------------------------------------------------
/src/reducers/globalReducer.ts:
--------------------------------------------------------------------------------
1 | import Types from '@/actionTypes/index'
2 | import { ActionType } from '@/types/index'
3 | import { globalState } from '@/types/index'
4 |
5 | const initialState: globalState = {
6 | loading: false,
7 | id: 1,
8 | logo: 'https://img.innoloft.de/logo.svg',
9 | mainColor: '#272e71',
10 | hasUserSection: true,
11 | }
12 |
13 | const productReducer = (state = initialState, action: ActionType) => {
14 | switch (action.type) {
15 | case Types.GET_APP_CONFIGURATION:
16 | return {
17 | ...state,
18 | loading: true,
19 | }
20 | case Types.GET_APP_CONFIGURATION_SUCCESS:
21 | return {
22 | ...state,
23 | ...action.payload,
24 | loading: false,
25 | }
26 | case Types.GET_APP_CONFIGURATION_FAILURE:
27 | return {
28 | ...state,
29 | loading: false,
30 | error: action.error,
31 | }
32 | default:
33 | return state
34 | }
35 | }
36 |
37 | export default productReducer
38 |
--------------------------------------------------------------------------------
/src/reducers/productReducer.ts:
--------------------------------------------------------------------------------
1 | import Types from '@/actionTypes/index'
2 | import { ActionType } from '@/types/index'
3 | import { productState } from '@/types/index'
4 |
5 | const initialState: productState = {
6 | loading: false,
7 | product: null,
8 | error: null,
9 | trls: [],
10 | }
11 |
12 | const productReducer = (state = initialState, action: ActionType) => {
13 | switch (action.type) {
14 | case Types.GET_PRODUCT:
15 | return {
16 | ...state,
17 | loading: true,
18 | }
19 | case Types.GET_PRODUCT_SUCCESS:
20 | return {
21 | ...state,
22 | product: action.payload,
23 | loading: false,
24 | }
25 | case Types.GET_PRODUCT_FAILURE:
26 | return {
27 | ...state,
28 | loading: false,
29 | error: action.error,
30 | }
31 | case Types.GET_TRL_LIST_SUCCESS:
32 | return {
33 | ...state,
34 | trls: action.payload,
35 | }
36 | default:
37 | return state
38 | }
39 | }
40 |
41 | export default productReducer
42 |
--------------------------------------------------------------------------------
/src/main.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 | import ReactDOM from 'react-dom/client'
3 | import { Provider } from 'react-redux'
4 | import './index.css'
5 |
6 | import Root from './views'
7 | import ViewProductPage from './views/products/ViewPage'
8 | import EditProductPage from './views/products/EditPage'
9 | import WrappedPage from './views/WrappedPage'
10 |
11 | import configureStore from './store'
12 | const store = configureStore()
13 |
14 | import { createBrowserRouter, RouterProvider } from 'react-router-dom'
15 |
16 | const router = createBrowserRouter([
17 | {
18 | path: '/',
19 | element: } />,
20 | },
21 | {
22 | path: 'product/:id',
23 | element: } />,
24 | },
25 | {
26 | path: 'product/:id/edit',
27 | element: } />,
28 | },
29 | ])
30 |
31 | ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render(
32 |
33 |
34 |
35 |
36 | ,
37 | )
38 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ES2020",
4 | "useDefineForClassFields": true,
5 | "lib": ["ES2020", "DOM", "DOM.Iterable"],
6 | "module": "ESNext",
7 | "skipLibCheck": true,
8 |
9 | /* Bundler mode */
10 | "moduleResolution": "bundler",
11 | "allowImportingTsExtensions": true,
12 | "resolveJsonModule": true,
13 | "isolatedModules": true,
14 | "noEmit": true,
15 | "jsx": "react-jsx",
16 |
17 | /* Linting */
18 | "strict": true,
19 | "noUnusedLocals": true,
20 | "noUnusedParameters": true,
21 | "noFallthroughCasesInSwitch": true,
22 |
23 | "baseUrl": "./",
24 | "paths": {
25 | "@/actionTypes/*": ["src/actionTypes/*"],
26 | "@/assets/*": ["./src/assets/*"],
27 | "@/components/*": ["./src/components/*"],
28 | "@/constants/*": ["./src/constants/*"],
29 | "@/layouts/*": ["./src/layouts/*"],
30 | "@/reducers/*": ["./src/reducers/*"],
31 | "@/sagas/*": ["./src/sagas/*"],
32 | "@/services/*": ["./src/services/*"],
33 | "@/views/*": ["./src/views/*"],
34 | "@/types/*": ["./src/types/*"],
35 | "@/context/*": ["./src/context/*"]
36 | }
37 | },
38 | "include": ["src"],
39 | "references": [{ "path": "./tsconfig.node.json" }]
40 | }
41 |
--------------------------------------------------------------------------------
/public/vite.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "react-redux-tailwindcss-typescript",
3 | "private": true,
4 | "version": "0.0.0",
5 | "type": "module",
6 | "scripts": {
7 | "dev": "vite",
8 | "build": "tsc && vite build",
9 | "lint": "eslint src --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
10 | "preview": "vite preview",
11 | "format:check": "prettier --check src/**/*.{js,jsx,ts,tsx,css,md,json}",
12 | "format": "prettier --write src/**/*.{js,jsx,ts,tsx,css,md,json}"
13 | },
14 | "dependencies": {
15 | "@types/google-map-react": "^2.1.7",
16 | "google-map-react": "^2.2.1",
17 | "html-react-parser": "^4.0.0",
18 | "react": "^18.2.0",
19 | "react-dom": "^18.2.0",
20 | "react-quill": "^2.0.0",
21 | "react-redux": "^8.1.1",
22 | "react-router-dom": "^6.14.1",
23 | "redux": "^4.2.1",
24 | "redux-saga": "^1.2.3",
25 | "vite-tsconfig-paths": "^4.2.0"
26 | },
27 | "devDependencies": {
28 | "@types/react": "^18.0.37",
29 | "@types/react-dom": "^18.0.11",
30 | "@typescript-eslint/eslint-plugin": "^5.59.0",
31 | "@typescript-eslint/parser": "^5.59.0",
32 | "@vitejs/plugin-react": "^4.0.0",
33 | "autoprefixer": "^10.4.14",
34 | "eslint": "^8.38.0",
35 | "eslint-plugin-react-hooks": "^4.6.0",
36 | "eslint-plugin-react-refresh": "^0.3.4",
37 | "postcss": "^8.4.24",
38 | "prettier": "^2.8.8",
39 | "tailwindcss": "^3.3.2",
40 | "typescript": "^5.0.2",
41 | "vite": "^4.3.9"
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/src/sagas/productSaga.ts:
--------------------------------------------------------------------------------
1 | import { all, call, put, takeLatest, Effect } from 'redux-saga/effects'
2 | import Types from '@/actionTypes/index'
3 | import API from '@/services/index'
4 | import { ActionType } from '@/types/index'
5 |
6 | const { getProduct, getTrlList } = API
7 |
8 | function* GetProduct(action: ActionType): Generator {
9 | try {
10 | const res = yield call(getProduct, action.payload)
11 | if (res) {
12 | yield put({
13 | type: Types.GET_PRODUCT_SUCCESS,
14 | payload: res,
15 | })
16 | }
17 | } catch (error) {
18 | yield put({
19 | type: Types.GET_PRODUCT_FAILURE,
20 | error: 'Network Connection Failed',
21 | })
22 | }
23 | }
24 |
25 | function* UpdateProduct(action: ActionType): Generator {
26 | try {
27 | const res = yield call(getProduct, action.payload)
28 | if (res) {
29 | yield put({
30 | type: Types.GET_PRODUCT_SUCCESS,
31 | payload: res,
32 | })
33 | }
34 | } catch (error) {
35 | yield put({
36 | type: Types.GET_PRODUCT_FAILURE,
37 | error: 'Network Connection Failed',
38 | })
39 | }
40 | }
41 |
42 | function* GetTrlList(): Generator {
43 | try {
44 | const res = yield call(getTrlList)
45 | if (res) {
46 | yield put({
47 | type: Types.GET_TRL_LIST_SUCCESS,
48 | payload: res,
49 | })
50 | }
51 | } catch (error) {
52 | yield put({
53 | type: Types.GET_TRL_LIST_FAILURE,
54 | error: 'Network Connection Failed',
55 | })
56 | }
57 | }
58 |
59 | function* watchRequest() {
60 | yield takeLatest(Types.GET_PRODUCT, GetProduct)
61 | yield takeLatest(Types.UPDATE_PRODUCT, UpdateProduct)
62 | yield takeLatest(Types.GET_TRL_LIST, GetTrlList)
63 | }
64 |
65 | export default function* sagas() {
66 | yield all([watchRequest()])
67 | }
68 |
--------------------------------------------------------------------------------
/src/layouts/DashboardLayout.tsx:
--------------------------------------------------------------------------------
1 | import { useEffect, useMemo } from 'react'
2 | import { Link } from 'react-router-dom'
3 | import { useSelector, useDispatch } from 'react-redux'
4 |
5 | import Types from '@/actionTypes/index'
6 |
7 | import { ThemeContext } from '@/context/index'
8 |
9 | import { RootState } from '@/types/index'
10 |
11 | import Overlay from '@/components/Overlay'
12 |
13 | const APP_ID = import.meta.env.VITE_APP_ID === undefined ? '1' : import.meta.env.VITE_APP_ID
14 |
15 | export default function DashboardLayout({ children }: { children: React.ReactNode }) {
16 | const dispatch = useDispatch()
17 |
18 | const { id, mainColor, hasUserSection, logo, loading } = useSelector(
19 | (state: RootState) => state.global,
20 | )
21 |
22 | const theme = useMemo(() => mainColor, [mainColor])
23 |
24 | useEffect(() => {
25 | if (id != APP_ID) dispatch({ type: Types.GET_APP_CONFIGURATION, payload: APP_ID })
26 | // eslint-disable-next-line react-hooks/exhaustive-deps
27 | }, [])
28 |
29 | return (
30 |
31 | {loading ? (
32 |
33 | ) : (
34 |
35 |
39 |
40 |
41 |

42 |
43 |
44 |
45 | {hasUserSection &&
}
46 |
47 |
48 |
49 |
50 |
51 | -
52 | Home
53 |
54 | -
55 | Product
56 |
57 |
58 |
59 |
{children}
60 |
61 |
62 | )}
63 |
64 | )
65 | }
66 |
--------------------------------------------------------------------------------
/src/views/products/EditPage.tsx:
--------------------------------------------------------------------------------
1 | import { useEffect, useState } from 'react'
2 | import { useSelector, useDispatch } from 'react-redux'
3 | import { useParams } from 'react-router-dom'
4 | import ReactQuill from 'react-quill'
5 | import 'react-quill/dist/quill.snow.css'
6 |
7 | import { productState } from '@/types/index'
8 |
9 | import Types from '@/actionTypes/index'
10 |
11 | import Overlay from '@/components/Overlay'
12 |
13 | const EditProductPage = () => {
14 | const dispatch = useDispatch()
15 | const { id } = useParams()
16 | const { loading, product, trls } = useSelector((state: productState) => state.product)
17 | const [value, setValue] = useState(product ? product.description : '')
18 | const [title, setTitle] = useState(product ? product.name : '')
19 |
20 | useEffect(() => {
21 | dispatch({
22 | type: Types.GET_PRODUCT,
23 | payload: id,
24 | })
25 | dispatch({
26 | type: Types.GET_TRL_LIST,
27 | })
28 | // eslint-disable-next-line react-hooks/exhaustive-deps
29 | }, [])
30 |
31 | useEffect(() => {
32 | setValue(product ? product.description : '')
33 | setTitle(product ? product.name : '')
34 | }, [product])
35 |
36 | return (
37 | <>
38 | {loading ? (
39 |
40 | ) : (
41 | product && (
42 |
43 |
44 |

49 |
50 |
51 | setTitle(e.target.value)}
56 | className='w-full border-2 border-gray-300 rounded-sm p-1'
57 | />
58 |
59 |
60 |
61 |
62 |
63 |
70 |
71 |
72 | )
73 | )}
74 | >
75 | )
76 | }
77 |
78 | export default EditProductPage
79 |
--------------------------------------------------------------------------------
/src/assets/react.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/views/products/ViewPage.tsx:
--------------------------------------------------------------------------------
1 | import { useSelector, useDispatch } from 'react-redux'
2 | import { useEffect, useContext, useMemo } from 'react'
3 | import parse from 'html-react-parser'
4 | import { Link } from 'react-router-dom'
5 | import GoogleMapReact from 'google-map-react'
6 |
7 | import Types from '@/actionTypes/index'
8 | import { productState } from '@/types/index'
9 |
10 | import RoundButton from '@/components/RoundButton'
11 |
12 | import { ThemeContext } from '@/context/index'
13 |
14 | import Overlay from '@/components/Overlay'
15 |
16 | const Tag = ({ children }: { children: string }) => (
17 | {children}
18 | )
19 |
20 | interface ModelType {
21 | id: number
22 | name: string
23 | }
24 |
25 | const GOOGLE_API_KEY = import.meta.env.VITE_GOOGLE_MAP_API_KEY
26 |
27 | export default function ViewProduct() {
28 | const dispatch = useDispatch()
29 | const { loading, product } = useSelector((state: productState) => state.product)
30 |
31 | useEffect(() => {
32 | dispatch({ type: Types.GET_PRODUCT, payload: 6781 })
33 | // eslint-disable-next-line react-hooks/exhaustive-deps
34 | }, [])
35 |
36 | const videoOptions = {
37 | controls: true,
38 | autoPlay: false,
39 | muted: false,
40 | }
41 |
42 | const theme = useContext(ThemeContext)
43 |
44 | const center = useMemo(
45 | () => ({
46 | lat: Number(product ? product.company.address.latitude : 0),
47 | lng: Number(product ? product.company.address.longitude : 0),
48 | }),
49 | [product],
50 | )
51 |
52 | return (
53 |
54 | {loading ? (
55 |
56 | ) : (
57 | product && (
58 |
59 |
60 |
61 | Edit
62 |
63 |
64 |
65 |
66 |
67 |

72 |
73 | {product.type.name}
74 |
75 |
76 |
77 |
{product.name}
78 |
{parse(product.description)}
79 |
80 |
81 |
82 |
83 |
Offered By
84 |

89 |
90 |
91 |
92 |

97 |
98 |
99 |
{product.user.firstName + ' ' + product.user.lastName}
100 |
{product.user.position}
101 |
102 |
103 |
104 |
105 | {product.company.address.street +
106 | ' ' +
107 | product.company.address.house +
108 | ', ' +
109 | product.company.address.city.name +
110 | ' ' +
111 | product.company.address.zipCode +
112 | ', ' +
113 | product.company.address.country.name}
114 |
115 |
116 |
117 |
122 |
123 |
124 |
125 |
126 |
Video
127 |
128 |
129 |
130 |
131 |
132 |
Offer details
133 |
134 |
135 |
Technology
136 |
137 | {product.categories.map((category: ModelType) => (
138 | {category.name}
139 | ))}
140 |
141 |
142 |
143 |
Business Model
144 |
145 | {product.businessModels.map((model: ModelType) => (
146 | {model.name}
147 | ))}
148 |
149 |
150 |
151 |
152 |
TRL
153 |
154 | {product.trl.name}
155 |
156 |
157 |
158 |
159 |
160 |
Costs
161 |
162 | {product.investmentEffort}
163 |
164 |
165 |
166 |
167 |
168 |
169 | )
170 | )}
171 |
172 | )
173 | }
174 |
--------------------------------------------------------------------------------
/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: '6.0'
2 |
3 | settings:
4 | autoInstallPeers: true
5 | excludeLinksFromLockfile: false
6 |
7 | dependencies:
8 | '@types/google-map-react':
9 | specifier: ^2.1.7
10 | version: 2.1.7
11 | google-map-react:
12 | specifier: ^2.2.1
13 | version: 2.2.1(react-dom@18.2.0)(react@18.2.0)
14 | html-react-parser:
15 | specifier: ^4.0.0
16 | version: 4.0.0(react@18.2.0)
17 | react:
18 | specifier: ^18.2.0
19 | version: 18.2.0
20 | react-dom:
21 | specifier: ^18.2.0
22 | version: 18.2.0(react@18.2.0)
23 | react-quill:
24 | specifier: ^2.0.0
25 | version: 2.0.0(react-dom@18.2.0)(react@18.2.0)
26 | react-redux:
27 | specifier: ^8.1.1
28 | version: 8.1.1(@types/react-dom@18.0.11)(@types/react@18.0.37)(react-dom@18.2.0)(react@18.2.0)(redux@4.2.1)
29 | react-router-dom:
30 | specifier: ^6.14.1
31 | version: 6.14.1(react-dom@18.2.0)(react@18.2.0)
32 | redux:
33 | specifier: ^4.2.1
34 | version: 4.2.1
35 | redux-saga:
36 | specifier: ^1.2.3
37 | version: 1.2.3
38 | vite-tsconfig-paths:
39 | specifier: ^4.2.0
40 | version: 4.2.0(typescript@5.0.2)(vite@4.3.9)
41 |
42 | devDependencies:
43 | '@types/react':
44 | specifier: ^18.0.37
45 | version: 18.0.37
46 | '@types/react-dom':
47 | specifier: ^18.0.11
48 | version: 18.0.11
49 | '@typescript-eslint/eslint-plugin':
50 | specifier: ^5.59.0
51 | version: 5.59.0(@typescript-eslint/parser@5.59.0)(eslint@8.38.0)(typescript@5.0.2)
52 | '@typescript-eslint/parser':
53 | specifier: ^5.59.0
54 | version: 5.59.0(eslint@8.38.0)(typescript@5.0.2)
55 | '@vitejs/plugin-react':
56 | specifier: ^4.0.0
57 | version: 4.0.0(vite@4.3.9)
58 | autoprefixer:
59 | specifier: ^10.4.14
60 | version: 10.4.14(postcss@8.4.24)
61 | eslint:
62 | specifier: ^8.38.0
63 | version: 8.38.0
64 | eslint-plugin-react-hooks:
65 | specifier: ^4.6.0
66 | version: 4.6.0(eslint@8.38.0)
67 | eslint-plugin-react-refresh:
68 | specifier: ^0.3.4
69 | version: 0.3.4(eslint@8.38.0)
70 | postcss:
71 | specifier: ^8.4.24
72 | version: 8.4.24
73 | prettier:
74 | specifier: ^2.8.8
75 | version: 2.8.8
76 | tailwindcss:
77 | specifier: ^3.3.2
78 | version: 3.3.2
79 | typescript:
80 | specifier: ^5.0.2
81 | version: 5.0.2
82 | vite:
83 | specifier: ^4.3.9
84 | version: 4.3.9
85 |
86 | packages:
87 |
88 | /@aashutoshrathi/word-wrap@1.2.6:
89 | resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==}
90 | engines: {node: '>=0.10.0'}
91 | dev: true
92 |
93 | /@alloc/quick-lru@5.2.0:
94 | resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
95 | engines: {node: '>=10'}
96 | dev: true
97 |
98 | /@ampproject/remapping@2.2.1:
99 | resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==}
100 | engines: {node: '>=6.0.0'}
101 | dependencies:
102 | '@jridgewell/gen-mapping': 0.3.3
103 | '@jridgewell/trace-mapping': 0.3.18
104 | dev: true
105 |
106 | /@babel/code-frame@7.22.5:
107 | resolution: {integrity: sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==}
108 | engines: {node: '>=6.9.0'}
109 | dependencies:
110 | '@babel/highlight': 7.22.5
111 | dev: true
112 |
113 | /@babel/compat-data@7.22.6:
114 | resolution: {integrity: sha512-29tfsWTq2Ftu7MXmimyC0C5FDZv5DYxOZkh3XD3+QW4V/BYuv/LyEsjj3c0hqedEaDt6DBfDvexMKU8YevdqFg==}
115 | engines: {node: '>=6.9.0'}
116 | dev: true
117 |
118 | /@babel/core@7.22.8:
119 | resolution: {integrity: sha512-75+KxFB4CZqYRXjx4NlR4J7yGvKumBuZTmV4NV6v09dVXXkuYVYLT68N6HCzLvfJ+fWCxQsntNzKwwIXL4bHnw==}
120 | engines: {node: '>=6.9.0'}
121 | dependencies:
122 | '@ampproject/remapping': 2.2.1
123 | '@babel/code-frame': 7.22.5
124 | '@babel/generator': 7.22.7
125 | '@babel/helper-compilation-targets': 7.22.6(@babel/core@7.22.8)
126 | '@babel/helper-module-transforms': 7.22.5
127 | '@babel/helpers': 7.22.6
128 | '@babel/parser': 7.22.7
129 | '@babel/template': 7.22.5
130 | '@babel/traverse': 7.22.8
131 | '@babel/types': 7.22.5
132 | '@nicolo-ribaudo/semver-v6': 6.3.3
133 | convert-source-map: 1.9.0
134 | debug: 4.3.4
135 | gensync: 1.0.0-beta.2
136 | json5: 2.2.3
137 | transitivePeerDependencies:
138 | - supports-color
139 | dev: true
140 |
141 | /@babel/generator@7.22.7:
142 | resolution: {integrity: sha512-p+jPjMG+SI8yvIaxGgeW24u7q9+5+TGpZh8/CuB7RhBKd7RCy8FayNEFNNKrNK/eUcY/4ExQqLmyrvBXKsIcwQ==}
143 | engines: {node: '>=6.9.0'}
144 | dependencies:
145 | '@babel/types': 7.22.5
146 | '@jridgewell/gen-mapping': 0.3.3
147 | '@jridgewell/trace-mapping': 0.3.18
148 | jsesc: 2.5.2
149 | dev: true
150 |
151 | /@babel/helper-compilation-targets@7.22.6(@babel/core@7.22.8):
152 | resolution: {integrity: sha512-534sYEqWD9VfUm3IPn2SLcH4Q3P86XL+QvqdC7ZsFrzyyPF3T4XGiVghF6PTYNdWg6pXuoqXxNQAhbYeEInTzA==}
153 | engines: {node: '>=6.9.0'}
154 | peerDependencies:
155 | '@babel/core': ^7.0.0
156 | dependencies:
157 | '@babel/compat-data': 7.22.6
158 | '@babel/core': 7.22.8
159 | '@babel/helper-validator-option': 7.22.5
160 | '@nicolo-ribaudo/semver-v6': 6.3.3
161 | browserslist: 4.21.9
162 | lru-cache: 5.1.1
163 | dev: true
164 |
165 | /@babel/helper-environment-visitor@7.22.5:
166 | resolution: {integrity: sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==}
167 | engines: {node: '>=6.9.0'}
168 | dev: true
169 |
170 | /@babel/helper-function-name@7.22.5:
171 | resolution: {integrity: sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==}
172 | engines: {node: '>=6.9.0'}
173 | dependencies:
174 | '@babel/template': 7.22.5
175 | '@babel/types': 7.22.5
176 | dev: true
177 |
178 | /@babel/helper-hoist-variables@7.22.5:
179 | resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==}
180 | engines: {node: '>=6.9.0'}
181 | dependencies:
182 | '@babel/types': 7.22.5
183 | dev: true
184 |
185 | /@babel/helper-module-imports@7.22.5:
186 | resolution: {integrity: sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==}
187 | engines: {node: '>=6.9.0'}
188 | dependencies:
189 | '@babel/types': 7.22.5
190 | dev: true
191 |
192 | /@babel/helper-module-transforms@7.22.5:
193 | resolution: {integrity: sha512-+hGKDt/Ze8GFExiVHno/2dvG5IdstpzCq0y4Qc9OJ25D4q3pKfiIP/4Vp3/JvhDkLKsDK2api3q3fpIgiIF5bw==}
194 | engines: {node: '>=6.9.0'}
195 | dependencies:
196 | '@babel/helper-environment-visitor': 7.22.5
197 | '@babel/helper-module-imports': 7.22.5
198 | '@babel/helper-simple-access': 7.22.5
199 | '@babel/helper-split-export-declaration': 7.22.6
200 | '@babel/helper-validator-identifier': 7.22.5
201 | '@babel/template': 7.22.5
202 | '@babel/traverse': 7.22.8
203 | '@babel/types': 7.22.5
204 | transitivePeerDependencies:
205 | - supports-color
206 | dev: true
207 |
208 | /@babel/helper-plugin-utils@7.22.5:
209 | resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==}
210 | engines: {node: '>=6.9.0'}
211 | dev: true
212 |
213 | /@babel/helper-simple-access@7.22.5:
214 | resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==}
215 | engines: {node: '>=6.9.0'}
216 | dependencies:
217 | '@babel/types': 7.22.5
218 | dev: true
219 |
220 | /@babel/helper-split-export-declaration@7.22.6:
221 | resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==}
222 | engines: {node: '>=6.9.0'}
223 | dependencies:
224 | '@babel/types': 7.22.5
225 | dev: true
226 |
227 | /@babel/helper-string-parser@7.22.5:
228 | resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==}
229 | engines: {node: '>=6.9.0'}
230 | dev: true
231 |
232 | /@babel/helper-validator-identifier@7.22.5:
233 | resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==}
234 | engines: {node: '>=6.9.0'}
235 | dev: true
236 |
237 | /@babel/helper-validator-option@7.22.5:
238 | resolution: {integrity: sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==}
239 | engines: {node: '>=6.9.0'}
240 | dev: true
241 |
242 | /@babel/helpers@7.22.6:
243 | resolution: {integrity: sha512-YjDs6y/fVOYFV8hAf1rxd1QvR9wJe1pDBZ2AREKq/SDayfPzgk0PBnVuTCE5X1acEpMMNOVUqoe+OwiZGJ+OaA==}
244 | engines: {node: '>=6.9.0'}
245 | dependencies:
246 | '@babel/template': 7.22.5
247 | '@babel/traverse': 7.22.8
248 | '@babel/types': 7.22.5
249 | transitivePeerDependencies:
250 | - supports-color
251 | dev: true
252 |
253 | /@babel/highlight@7.22.5:
254 | resolution: {integrity: sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==}
255 | engines: {node: '>=6.9.0'}
256 | dependencies:
257 | '@babel/helper-validator-identifier': 7.22.5
258 | chalk: 2.4.2
259 | js-tokens: 4.0.0
260 | dev: true
261 |
262 | /@babel/parser@7.22.7:
263 | resolution: {integrity: sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q==}
264 | engines: {node: '>=6.0.0'}
265 | hasBin: true
266 | dependencies:
267 | '@babel/types': 7.22.5
268 | dev: true
269 |
270 | /@babel/plugin-transform-react-jsx-self@7.22.5(@babel/core@7.22.8):
271 | resolution: {integrity: sha512-nTh2ogNUtxbiSbxaT4Ds6aXnXEipHweN9YRgOX/oNXdf0cCrGn/+2LozFa3lnPV5D90MkjhgckCPBrsoSc1a7g==}
272 | engines: {node: '>=6.9.0'}
273 | peerDependencies:
274 | '@babel/core': ^7.0.0-0
275 | dependencies:
276 | '@babel/core': 7.22.8
277 | '@babel/helper-plugin-utils': 7.22.5
278 | dev: true
279 |
280 | /@babel/plugin-transform-react-jsx-source@7.22.5(@babel/core@7.22.8):
281 | resolution: {integrity: sha512-yIiRO6yobeEIaI0RTbIr8iAK9FcBHLtZq0S89ZPjDLQXBA4xvghaKqI0etp/tF3htTM0sazJKKLz9oEiGRtu7w==}
282 | engines: {node: '>=6.9.0'}
283 | peerDependencies:
284 | '@babel/core': ^7.0.0-0
285 | dependencies:
286 | '@babel/core': 7.22.8
287 | '@babel/helper-plugin-utils': 7.22.5
288 | dev: true
289 |
290 | /@babel/runtime@7.22.6:
291 | resolution: {integrity: sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ==}
292 | engines: {node: '>=6.9.0'}
293 | dependencies:
294 | regenerator-runtime: 0.13.11
295 | dev: false
296 |
297 | /@babel/template@7.22.5:
298 | resolution: {integrity: sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==}
299 | engines: {node: '>=6.9.0'}
300 | dependencies:
301 | '@babel/code-frame': 7.22.5
302 | '@babel/parser': 7.22.7
303 | '@babel/types': 7.22.5
304 | dev: true
305 |
306 | /@babel/traverse@7.22.8:
307 | resolution: {integrity: sha512-y6LPR+wpM2I3qJrsheCTwhIinzkETbplIgPBbwvqPKc+uljeA5gP+3nP8irdYt1mjQaDnlIcG+dw8OjAco4GXw==}
308 | engines: {node: '>=6.9.0'}
309 | dependencies:
310 | '@babel/code-frame': 7.22.5
311 | '@babel/generator': 7.22.7
312 | '@babel/helper-environment-visitor': 7.22.5
313 | '@babel/helper-function-name': 7.22.5
314 | '@babel/helper-hoist-variables': 7.22.5
315 | '@babel/helper-split-export-declaration': 7.22.6
316 | '@babel/parser': 7.22.7
317 | '@babel/types': 7.22.5
318 | debug: 4.3.4
319 | globals: 11.12.0
320 | transitivePeerDependencies:
321 | - supports-color
322 | dev: true
323 |
324 | /@babel/types@7.22.5:
325 | resolution: {integrity: sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==}
326 | engines: {node: '>=6.9.0'}
327 | dependencies:
328 | '@babel/helper-string-parser': 7.22.5
329 | '@babel/helper-validator-identifier': 7.22.5
330 | to-fast-properties: 2.0.0
331 | dev: true
332 |
333 | /@esbuild/android-arm64@0.17.19:
334 | resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==}
335 | engines: {node: '>=12'}
336 | cpu: [arm64]
337 | os: [android]
338 | requiresBuild: true
339 | optional: true
340 |
341 | /@esbuild/android-arm@0.17.19:
342 | resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==}
343 | engines: {node: '>=12'}
344 | cpu: [arm]
345 | os: [android]
346 | requiresBuild: true
347 | optional: true
348 |
349 | /@esbuild/android-x64@0.17.19:
350 | resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==}
351 | engines: {node: '>=12'}
352 | cpu: [x64]
353 | os: [android]
354 | requiresBuild: true
355 | optional: true
356 |
357 | /@esbuild/darwin-arm64@0.17.19:
358 | resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==}
359 | engines: {node: '>=12'}
360 | cpu: [arm64]
361 | os: [darwin]
362 | requiresBuild: true
363 | optional: true
364 |
365 | /@esbuild/darwin-x64@0.17.19:
366 | resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==}
367 | engines: {node: '>=12'}
368 | cpu: [x64]
369 | os: [darwin]
370 | requiresBuild: true
371 | optional: true
372 |
373 | /@esbuild/freebsd-arm64@0.17.19:
374 | resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==}
375 | engines: {node: '>=12'}
376 | cpu: [arm64]
377 | os: [freebsd]
378 | requiresBuild: true
379 | optional: true
380 |
381 | /@esbuild/freebsd-x64@0.17.19:
382 | resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==}
383 | engines: {node: '>=12'}
384 | cpu: [x64]
385 | os: [freebsd]
386 | requiresBuild: true
387 | optional: true
388 |
389 | /@esbuild/linux-arm64@0.17.19:
390 | resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==}
391 | engines: {node: '>=12'}
392 | cpu: [arm64]
393 | os: [linux]
394 | requiresBuild: true
395 | optional: true
396 |
397 | /@esbuild/linux-arm@0.17.19:
398 | resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==}
399 | engines: {node: '>=12'}
400 | cpu: [arm]
401 | os: [linux]
402 | requiresBuild: true
403 | optional: true
404 |
405 | /@esbuild/linux-ia32@0.17.19:
406 | resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==}
407 | engines: {node: '>=12'}
408 | cpu: [ia32]
409 | os: [linux]
410 | requiresBuild: true
411 | optional: true
412 |
413 | /@esbuild/linux-loong64@0.17.19:
414 | resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==}
415 | engines: {node: '>=12'}
416 | cpu: [loong64]
417 | os: [linux]
418 | requiresBuild: true
419 | optional: true
420 |
421 | /@esbuild/linux-mips64el@0.17.19:
422 | resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==}
423 | engines: {node: '>=12'}
424 | cpu: [mips64el]
425 | os: [linux]
426 | requiresBuild: true
427 | optional: true
428 |
429 | /@esbuild/linux-ppc64@0.17.19:
430 | resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==}
431 | engines: {node: '>=12'}
432 | cpu: [ppc64]
433 | os: [linux]
434 | requiresBuild: true
435 | optional: true
436 |
437 | /@esbuild/linux-riscv64@0.17.19:
438 | resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==}
439 | engines: {node: '>=12'}
440 | cpu: [riscv64]
441 | os: [linux]
442 | requiresBuild: true
443 | optional: true
444 |
445 | /@esbuild/linux-s390x@0.17.19:
446 | resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==}
447 | engines: {node: '>=12'}
448 | cpu: [s390x]
449 | os: [linux]
450 | requiresBuild: true
451 | optional: true
452 |
453 | /@esbuild/linux-x64@0.17.19:
454 | resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==}
455 | engines: {node: '>=12'}
456 | cpu: [x64]
457 | os: [linux]
458 | requiresBuild: true
459 | optional: true
460 |
461 | /@esbuild/netbsd-x64@0.17.19:
462 | resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==}
463 | engines: {node: '>=12'}
464 | cpu: [x64]
465 | os: [netbsd]
466 | requiresBuild: true
467 | optional: true
468 |
469 | /@esbuild/openbsd-x64@0.17.19:
470 | resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==}
471 | engines: {node: '>=12'}
472 | cpu: [x64]
473 | os: [openbsd]
474 | requiresBuild: true
475 | optional: true
476 |
477 | /@esbuild/sunos-x64@0.17.19:
478 | resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==}
479 | engines: {node: '>=12'}
480 | cpu: [x64]
481 | os: [sunos]
482 | requiresBuild: true
483 | optional: true
484 |
485 | /@esbuild/win32-arm64@0.17.19:
486 | resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==}
487 | engines: {node: '>=12'}
488 | cpu: [arm64]
489 | os: [win32]
490 | requiresBuild: true
491 | optional: true
492 |
493 | /@esbuild/win32-ia32@0.17.19:
494 | resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==}
495 | engines: {node: '>=12'}
496 | cpu: [ia32]
497 | os: [win32]
498 | requiresBuild: true
499 | optional: true
500 |
501 | /@esbuild/win32-x64@0.17.19:
502 | resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==}
503 | engines: {node: '>=12'}
504 | cpu: [x64]
505 | os: [win32]
506 | requiresBuild: true
507 | optional: true
508 |
509 | /@eslint-community/eslint-utils@4.4.0(eslint@8.38.0):
510 | resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
511 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
512 | peerDependencies:
513 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
514 | dependencies:
515 | eslint: 8.38.0
516 | eslint-visitor-keys: 3.4.1
517 | dev: true
518 |
519 | /@eslint-community/regexpp@4.5.1:
520 | resolution: {integrity: sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==}
521 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
522 | dev: true
523 |
524 | /@eslint/eslintrc@2.1.0:
525 | resolution: {integrity: sha512-Lj7DECXqIVCqnqjjHMPna4vn6GJcMgul/wuS0je9OZ9gsL0zzDpKPVtcG1HaDVc+9y+qgXneTeUMbCqXJNpH1A==}
526 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
527 | dependencies:
528 | ajv: 6.12.6
529 | debug: 4.3.4
530 | espree: 9.6.0
531 | globals: 13.20.0
532 | ignore: 5.2.4
533 | import-fresh: 3.3.0
534 | js-yaml: 4.1.0
535 | minimatch: 3.1.2
536 | strip-json-comments: 3.1.1
537 | transitivePeerDependencies:
538 | - supports-color
539 | dev: true
540 |
541 | /@eslint/js@8.38.0:
542 | resolution: {integrity: sha512-IoD2MfUnOV58ghIHCiil01PcohxjbYR/qCxsoC+xNgUwh1EY8jOOrYmu3d3a71+tJJ23uscEV4X2HJWMsPJu4g==}
543 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
544 | dev: true
545 |
546 | /@googlemaps/js-api-loader@1.16.2:
547 | resolution: {integrity: sha512-psGw5u0QM6humao48Hn4lrChOM2/rA43ZCm3tKK9qQsEj1/VzqkCqnvGfEOshDbBQflydfaRovbKwZMF4AyqbA==}
548 | dependencies:
549 | fast-deep-equal: 3.1.3
550 | dev: false
551 |
552 | /@humanwhocodes/config-array@0.11.10:
553 | resolution: {integrity: sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==}
554 | engines: {node: '>=10.10.0'}
555 | dependencies:
556 | '@humanwhocodes/object-schema': 1.2.1
557 | debug: 4.3.4
558 | minimatch: 3.1.2
559 | transitivePeerDependencies:
560 | - supports-color
561 | dev: true
562 |
563 | /@humanwhocodes/module-importer@1.0.1:
564 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
565 | engines: {node: '>=12.22'}
566 | dev: true
567 |
568 | /@humanwhocodes/object-schema@1.2.1:
569 | resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==}
570 | dev: true
571 |
572 | /@jridgewell/gen-mapping@0.3.3:
573 | resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==}
574 | engines: {node: '>=6.0.0'}
575 | dependencies:
576 | '@jridgewell/set-array': 1.1.2
577 | '@jridgewell/sourcemap-codec': 1.4.15
578 | '@jridgewell/trace-mapping': 0.3.18
579 | dev: true
580 |
581 | /@jridgewell/resolve-uri@3.1.0:
582 | resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==}
583 | engines: {node: '>=6.0.0'}
584 | dev: true
585 |
586 | /@jridgewell/set-array@1.1.2:
587 | resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==}
588 | engines: {node: '>=6.0.0'}
589 | dev: true
590 |
591 | /@jridgewell/sourcemap-codec@1.4.14:
592 | resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==}
593 | dev: true
594 |
595 | /@jridgewell/sourcemap-codec@1.4.15:
596 | resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
597 | dev: true
598 |
599 | /@jridgewell/trace-mapping@0.3.18:
600 | resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==}
601 | dependencies:
602 | '@jridgewell/resolve-uri': 3.1.0
603 | '@jridgewell/sourcemap-codec': 1.4.14
604 | dev: true
605 |
606 | /@mapbox/point-geometry@0.1.0:
607 | resolution: {integrity: sha512-6j56HdLTwWGO0fJPlrZtdU/B13q8Uwmo18Ck2GnGgN9PCFyKTZ3UbXeEdRFh18i9XQ92eH2VdtpJHpBD3aripQ==}
608 | dev: false
609 |
610 | /@nicolo-ribaudo/semver-v6@6.3.3:
611 | resolution: {integrity: sha512-3Yc1fUTs69MG/uZbJlLSI3JISMn2UV2rg+1D/vROUqZyh3l6iYHCs7GMp+M40ZD7yOdDbYjJcU1oTJhrc+dGKg==}
612 | hasBin: true
613 | dev: true
614 |
615 | /@nodelib/fs.scandir@2.1.5:
616 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
617 | engines: {node: '>= 8'}
618 | dependencies:
619 | '@nodelib/fs.stat': 2.0.5
620 | run-parallel: 1.2.0
621 | dev: true
622 |
623 | /@nodelib/fs.stat@2.0.5:
624 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
625 | engines: {node: '>= 8'}
626 | dev: true
627 |
628 | /@nodelib/fs.walk@1.2.8:
629 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
630 | engines: {node: '>= 8'}
631 | dependencies:
632 | '@nodelib/fs.scandir': 2.1.5
633 | fastq: 1.15.0
634 | dev: true
635 |
636 | /@redux-saga/core@1.2.3:
637 | resolution: {integrity: sha512-U1JO6ncFBAklFTwoQ3mjAeQZ6QGutsJzwNBjgVLSWDpZTRhobUzuVDS1qH3SKGJD8fvqoaYOjp6XJ3gCmeZWgA==}
638 | dependencies:
639 | '@babel/runtime': 7.22.6
640 | '@redux-saga/deferred': 1.2.1
641 | '@redux-saga/delay-p': 1.2.1
642 | '@redux-saga/is': 1.1.3
643 | '@redux-saga/symbols': 1.1.3
644 | '@redux-saga/types': 1.2.1
645 | redux: 4.2.1
646 | typescript-tuple: 2.2.1
647 | dev: false
648 |
649 | /@redux-saga/deferred@1.2.1:
650 | resolution: {integrity: sha512-cmin3IuuzMdfQjA0lG4B+jX+9HdTgHZZ+6u3jRAOwGUxy77GSlTi4Qp2d6PM1PUoTmQUR5aijlA39scWWPF31g==}
651 | dev: false
652 |
653 | /@redux-saga/delay-p@1.2.1:
654 | resolution: {integrity: sha512-MdiDxZdvb1m+Y0s4/hgdcAXntpUytr9g0hpcOO1XFVyyzkrDu3SKPgBFOtHn7lhu7n24ZKIAT1qtKyQjHqRd+w==}
655 | dependencies:
656 | '@redux-saga/symbols': 1.1.3
657 | dev: false
658 |
659 | /@redux-saga/is@1.1.3:
660 | resolution: {integrity: sha512-naXrkETG1jLRfVfhOx/ZdLj0EyAzHYbgJWkXbB3qFliPcHKiWbv/ULQryOAEKyjrhiclmr6AMdgsXFyx7/yE6Q==}
661 | dependencies:
662 | '@redux-saga/symbols': 1.1.3
663 | '@redux-saga/types': 1.2.1
664 | dev: false
665 |
666 | /@redux-saga/symbols@1.1.3:
667 | resolution: {integrity: sha512-hCx6ZvU4QAEUojETnX8EVg4ubNLBFl1Lps4j2tX7o45x/2qg37m3c6v+kSp8xjDJY+2tJw4QB3j8o8dsl1FDXg==}
668 | dev: false
669 |
670 | /@redux-saga/types@1.2.1:
671 | resolution: {integrity: sha512-1dgmkh+3so0+LlBWRhGA33ua4MYr7tUOj+a9Si28vUi0IUFNbff1T3sgpeDJI/LaC75bBYnQ0A3wXjn0OrRNBA==}
672 | dev: false
673 |
674 | /@remix-run/router@1.7.1:
675 | resolution: {integrity: sha512-bgVQM4ZJ2u2CM8k1ey70o1ePFXsEzYVZoWghh6WjM8p59jQ7HxzbHW4SbnWFG7V9ig9chLawQxDTZ3xzOF8MkQ==}
676 | engines: {node: '>=14'}
677 | dev: false
678 |
679 | /@types/google-map-react@2.1.7:
680 | resolution: {integrity: sha512-7pquMUU20kVwbfEV91iAWXjApSkqoODkfUwTSmJpU9Tgd+ecX+MrQnplCqrSqKrPF1VjfvyWnDEicdoSd0G5qA==}
681 | dependencies:
682 | '@types/react': 18.0.37
683 | dev: false
684 |
685 | /@types/hoist-non-react-statics@3.3.1:
686 | resolution: {integrity: sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==}
687 | dependencies:
688 | '@types/react': 18.0.37
689 | hoist-non-react-statics: 3.3.2
690 | dev: false
691 |
692 | /@types/json-schema@7.0.12:
693 | resolution: {integrity: sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==}
694 | dev: true
695 |
696 | /@types/prop-types@15.7.5:
697 | resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==}
698 |
699 | /@types/quill@1.3.10:
700 | resolution: {integrity: sha512-IhW3fPW+bkt9MLNlycw8u8fWb7oO7W5URC9MfZYHBlA24rex9rs23D5DETChu1zvgVdc5ka64ICjJOgQMr6Shw==}
701 | dependencies:
702 | parchment: 1.1.4
703 | dev: false
704 |
705 | /@types/react-dom@18.0.11:
706 | resolution: {integrity: sha512-O38bPbI2CWtgw/OoQoY+BRelw7uysmXbWvw3nLWO21H1HSh+GOlqPuXshJfjmpNlKiiSDG9cc1JZAaMmVdcTlw==}
707 | dependencies:
708 | '@types/react': 18.0.37
709 |
710 | /@types/react@18.0.37:
711 | resolution: {integrity: sha512-4yaZZtkRN3ZIQD3KSEwkfcik8s0SWV+82dlJot1AbGYHCzJkWP3ENBY6wYeDRmKZ6HkrgoGAmR2HqdwYGp6OEw==}
712 | dependencies:
713 | '@types/prop-types': 15.7.5
714 | '@types/scheduler': 0.16.3
715 | csstype: 3.1.2
716 |
717 | /@types/scheduler@0.16.3:
718 | resolution: {integrity: sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==}
719 |
720 | /@types/semver@7.5.0:
721 | resolution: {integrity: sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==}
722 | dev: true
723 |
724 | /@types/use-sync-external-store@0.0.3:
725 | resolution: {integrity: sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==}
726 | dev: false
727 |
728 | /@typescript-eslint/eslint-plugin@5.59.0(@typescript-eslint/parser@5.59.0)(eslint@8.38.0)(typescript@5.0.2):
729 | resolution: {integrity: sha512-p0QgrEyrxAWBecR56gyn3wkG15TJdI//eetInP3zYRewDh0XS+DhB3VUAd3QqvziFsfaQIoIuZMxZRB7vXYaYw==}
730 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
731 | peerDependencies:
732 | '@typescript-eslint/parser': ^5.0.0
733 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
734 | typescript: '*'
735 | peerDependenciesMeta:
736 | typescript:
737 | optional: true
738 | dependencies:
739 | '@eslint-community/regexpp': 4.5.1
740 | '@typescript-eslint/parser': 5.59.0(eslint@8.38.0)(typescript@5.0.2)
741 | '@typescript-eslint/scope-manager': 5.59.0
742 | '@typescript-eslint/type-utils': 5.59.0(eslint@8.38.0)(typescript@5.0.2)
743 | '@typescript-eslint/utils': 5.59.0(eslint@8.38.0)(typescript@5.0.2)
744 | debug: 4.3.4
745 | eslint: 8.38.0
746 | grapheme-splitter: 1.0.4
747 | ignore: 5.2.4
748 | natural-compare-lite: 1.4.0
749 | semver: 7.5.4
750 | tsutils: 3.21.0(typescript@5.0.2)
751 | typescript: 5.0.2
752 | transitivePeerDependencies:
753 | - supports-color
754 | dev: true
755 |
756 | /@typescript-eslint/parser@5.59.0(eslint@8.38.0)(typescript@5.0.2):
757 | resolution: {integrity: sha512-qK9TZ70eJtjojSUMrrEwA9ZDQ4N0e/AuoOIgXuNBorXYcBDk397D2r5MIe1B3cok/oCtdNC5j+lUUpVB+Dpb+w==}
758 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
759 | peerDependencies:
760 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
761 | typescript: '*'
762 | peerDependenciesMeta:
763 | typescript:
764 | optional: true
765 | dependencies:
766 | '@typescript-eslint/scope-manager': 5.59.0
767 | '@typescript-eslint/types': 5.59.0
768 | '@typescript-eslint/typescript-estree': 5.59.0(typescript@5.0.2)
769 | debug: 4.3.4
770 | eslint: 8.38.0
771 | typescript: 5.0.2
772 | transitivePeerDependencies:
773 | - supports-color
774 | dev: true
775 |
776 | /@typescript-eslint/scope-manager@5.59.0:
777 | resolution: {integrity: sha512-tsoldKaMh7izN6BvkK6zRMINj4Z2d6gGhO2UsI8zGZY3XhLq1DndP3Ycjhi1JwdwPRwtLMW4EFPgpuKhbCGOvQ==}
778 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
779 | dependencies:
780 | '@typescript-eslint/types': 5.59.0
781 | '@typescript-eslint/visitor-keys': 5.59.0
782 | dev: true
783 |
784 | /@typescript-eslint/type-utils@5.59.0(eslint@8.38.0)(typescript@5.0.2):
785 | resolution: {integrity: sha512-d/B6VSWnZwu70kcKQSCqjcXpVH+7ABKH8P1KNn4K7j5PXXuycZTPXF44Nui0TEm6rbWGi8kc78xRgOC4n7xFgA==}
786 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
787 | peerDependencies:
788 | eslint: '*'
789 | typescript: '*'
790 | peerDependenciesMeta:
791 | typescript:
792 | optional: true
793 | dependencies:
794 | '@typescript-eslint/typescript-estree': 5.59.0(typescript@5.0.2)
795 | '@typescript-eslint/utils': 5.59.0(eslint@8.38.0)(typescript@5.0.2)
796 | debug: 4.3.4
797 | eslint: 8.38.0
798 | tsutils: 3.21.0(typescript@5.0.2)
799 | typescript: 5.0.2
800 | transitivePeerDependencies:
801 | - supports-color
802 | dev: true
803 |
804 | /@typescript-eslint/types@5.59.0:
805 | resolution: {integrity: sha512-yR2h1NotF23xFFYKHZs17QJnB51J/s+ud4PYU4MqdZbzeNxpgUr05+dNeCN/bb6raslHvGdd6BFCkVhpPk/ZeA==}
806 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
807 | dev: true
808 |
809 | /@typescript-eslint/typescript-estree@5.59.0(typescript@5.0.2):
810 | resolution: {integrity: sha512-sUNnktjmI8DyGzPdZ8dRwW741zopGxltGs/SAPgGL/AAgDpiLsCFLcMNSpbfXfmnNeHmK9h3wGmCkGRGAoUZAg==}
811 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
812 | peerDependencies:
813 | typescript: '*'
814 | peerDependenciesMeta:
815 | typescript:
816 | optional: true
817 | dependencies:
818 | '@typescript-eslint/types': 5.59.0
819 | '@typescript-eslint/visitor-keys': 5.59.0
820 | debug: 4.3.4
821 | globby: 11.1.0
822 | is-glob: 4.0.3
823 | semver: 7.5.4
824 | tsutils: 3.21.0(typescript@5.0.2)
825 | typescript: 5.0.2
826 | transitivePeerDependencies:
827 | - supports-color
828 | dev: true
829 |
830 | /@typescript-eslint/utils@5.59.0(eslint@8.38.0)(typescript@5.0.2):
831 | resolution: {integrity: sha512-GGLFd+86drlHSvPgN/el6dRQNYYGOvRSDVydsUaQluwIW3HvbXuxyuD5JETvBt/9qGYe+lOrDk6gRrWOHb/FvA==}
832 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
833 | peerDependencies:
834 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
835 | dependencies:
836 | '@eslint-community/eslint-utils': 4.4.0(eslint@8.38.0)
837 | '@types/json-schema': 7.0.12
838 | '@types/semver': 7.5.0
839 | '@typescript-eslint/scope-manager': 5.59.0
840 | '@typescript-eslint/types': 5.59.0
841 | '@typescript-eslint/typescript-estree': 5.59.0(typescript@5.0.2)
842 | eslint: 8.38.0
843 | eslint-scope: 5.1.1
844 | semver: 7.5.4
845 | transitivePeerDependencies:
846 | - supports-color
847 | - typescript
848 | dev: true
849 |
850 | /@typescript-eslint/visitor-keys@5.59.0:
851 | resolution: {integrity: sha512-qZ3iXxQhanchCeaExlKPV3gDQFxMUmU35xfd5eCXB6+kUw1TUAbIy2n7QIrwz9s98DQLzNWyHp61fY0da4ZcbA==}
852 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
853 | dependencies:
854 | '@typescript-eslint/types': 5.59.0
855 | eslint-visitor-keys: 3.4.1
856 | dev: true
857 |
858 | /@vitejs/plugin-react@4.0.0(vite@4.3.9):
859 | resolution: {integrity: sha512-HX0XzMjL3hhOYm+0s95pb0Z7F8O81G7joUHgfDd/9J/ZZf5k4xX6QAMFkKsHFxaHlf6X7GD7+XuaZ66ULiJuhQ==}
860 | engines: {node: ^14.18.0 || >=16.0.0}
861 | peerDependencies:
862 | vite: ^4.2.0
863 | dependencies:
864 | '@babel/core': 7.22.8
865 | '@babel/plugin-transform-react-jsx-self': 7.22.5(@babel/core@7.22.8)
866 | '@babel/plugin-transform-react-jsx-source': 7.22.5(@babel/core@7.22.8)
867 | react-refresh: 0.14.0
868 | vite: 4.3.9
869 | transitivePeerDependencies:
870 | - supports-color
871 | dev: true
872 |
873 | /acorn-jsx@5.3.2(acorn@8.10.0):
874 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
875 | peerDependencies:
876 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
877 | dependencies:
878 | acorn: 8.10.0
879 | dev: true
880 |
881 | /acorn@8.10.0:
882 | resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==}
883 | engines: {node: '>=0.4.0'}
884 | hasBin: true
885 | dev: true
886 |
887 | /ajv@6.12.6:
888 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
889 | dependencies:
890 | fast-deep-equal: 3.1.3
891 | fast-json-stable-stringify: 2.1.0
892 | json-schema-traverse: 0.4.1
893 | uri-js: 4.4.1
894 | dev: true
895 |
896 | /ansi-regex@5.0.1:
897 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
898 | engines: {node: '>=8'}
899 | dev: true
900 |
901 | /ansi-styles@3.2.1:
902 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
903 | engines: {node: '>=4'}
904 | dependencies:
905 | color-convert: 1.9.3
906 | dev: true
907 |
908 | /ansi-styles@4.3.0:
909 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
910 | engines: {node: '>=8'}
911 | dependencies:
912 | color-convert: 2.0.1
913 | dev: true
914 |
915 | /any-promise@1.3.0:
916 | resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
917 | dev: true
918 |
919 | /anymatch@3.1.3:
920 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
921 | engines: {node: '>= 8'}
922 | dependencies:
923 | normalize-path: 3.0.0
924 | picomatch: 2.3.1
925 | dev: true
926 |
927 | /arg@5.0.2:
928 | resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
929 | dev: true
930 |
931 | /argparse@2.0.1:
932 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
933 | dev: true
934 |
935 | /array-union@2.1.0:
936 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
937 | engines: {node: '>=8'}
938 | dev: true
939 |
940 | /autoprefixer@10.4.14(postcss@8.4.24):
941 | resolution: {integrity: sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==}
942 | engines: {node: ^10 || ^12 || >=14}
943 | hasBin: true
944 | peerDependencies:
945 | postcss: ^8.1.0
946 | dependencies:
947 | browserslist: 4.21.9
948 | caniuse-lite: 1.0.30001513
949 | fraction.js: 4.2.0
950 | normalize-range: 0.1.2
951 | picocolors: 1.0.0
952 | postcss: 8.4.24
953 | postcss-value-parser: 4.2.0
954 | dev: true
955 |
956 | /balanced-match@1.0.2:
957 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
958 | dev: true
959 |
960 | /binary-extensions@2.2.0:
961 | resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
962 | engines: {node: '>=8'}
963 | dev: true
964 |
965 | /brace-expansion@1.1.11:
966 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
967 | dependencies:
968 | balanced-match: 1.0.2
969 | concat-map: 0.0.1
970 | dev: true
971 |
972 | /braces@3.0.2:
973 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
974 | engines: {node: '>=8'}
975 | dependencies:
976 | fill-range: 7.0.1
977 | dev: true
978 |
979 | /browserslist@4.21.9:
980 | resolution: {integrity: sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==}
981 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
982 | hasBin: true
983 | dependencies:
984 | caniuse-lite: 1.0.30001513
985 | electron-to-chromium: 1.4.454
986 | node-releases: 2.0.13
987 | update-browserslist-db: 1.0.11(browserslist@4.21.9)
988 | dev: true
989 |
990 | /call-bind@1.0.2:
991 | resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==}
992 | dependencies:
993 | function-bind: 1.1.1
994 | get-intrinsic: 1.2.1
995 | dev: false
996 |
997 | /callsites@3.1.0:
998 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
999 | engines: {node: '>=6'}
1000 | dev: true
1001 |
1002 | /camelcase-css@2.0.1:
1003 | resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
1004 | engines: {node: '>= 6'}
1005 | dev: true
1006 |
1007 | /caniuse-lite@1.0.30001513:
1008 | resolution: {integrity: sha512-pnjGJo7SOOjAGytZZ203Em95MRM8Cr6jhCXNF/FAXTpCTRTECnqQWLpiTRqrFtdYcth8hf4WECUpkezuYsMVww==}
1009 | dev: true
1010 |
1011 | /chalk@2.4.2:
1012 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
1013 | engines: {node: '>=4'}
1014 | dependencies:
1015 | ansi-styles: 3.2.1
1016 | escape-string-regexp: 1.0.5
1017 | supports-color: 5.5.0
1018 | dev: true
1019 |
1020 | /chalk@4.1.2:
1021 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
1022 | engines: {node: '>=10'}
1023 | dependencies:
1024 | ansi-styles: 4.3.0
1025 | supports-color: 7.2.0
1026 | dev: true
1027 |
1028 | /chokidar@3.5.3:
1029 | resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
1030 | engines: {node: '>= 8.10.0'}
1031 | dependencies:
1032 | anymatch: 3.1.3
1033 | braces: 3.0.2
1034 | glob-parent: 5.1.2
1035 | is-binary-path: 2.1.0
1036 | is-glob: 4.0.3
1037 | normalize-path: 3.0.0
1038 | readdirp: 3.6.0
1039 | optionalDependencies:
1040 | fsevents: 2.3.2
1041 | dev: true
1042 |
1043 | /clone@2.1.2:
1044 | resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==}
1045 | engines: {node: '>=0.8'}
1046 | dev: false
1047 |
1048 | /color-convert@1.9.3:
1049 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
1050 | dependencies:
1051 | color-name: 1.1.3
1052 | dev: true
1053 |
1054 | /color-convert@2.0.1:
1055 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
1056 | engines: {node: '>=7.0.0'}
1057 | dependencies:
1058 | color-name: 1.1.4
1059 | dev: true
1060 |
1061 | /color-name@1.1.3:
1062 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
1063 | dev: true
1064 |
1065 | /color-name@1.1.4:
1066 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
1067 | dev: true
1068 |
1069 | /commander@4.1.1:
1070 | resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
1071 | engines: {node: '>= 6'}
1072 | dev: true
1073 |
1074 | /concat-map@0.0.1:
1075 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
1076 | dev: true
1077 |
1078 | /convert-source-map@1.9.0:
1079 | resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==}
1080 | dev: true
1081 |
1082 | /cross-spawn@7.0.3:
1083 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
1084 | engines: {node: '>= 8'}
1085 | dependencies:
1086 | path-key: 3.1.1
1087 | shebang-command: 2.0.0
1088 | which: 2.0.2
1089 | dev: true
1090 |
1091 | /cssesc@3.0.0:
1092 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
1093 | engines: {node: '>=4'}
1094 | hasBin: true
1095 | dev: true
1096 |
1097 | /csstype@3.1.2:
1098 | resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==}
1099 |
1100 | /debug@4.3.4:
1101 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
1102 | engines: {node: '>=6.0'}
1103 | peerDependencies:
1104 | supports-color: '*'
1105 | peerDependenciesMeta:
1106 | supports-color:
1107 | optional: true
1108 | dependencies:
1109 | ms: 2.1.2
1110 |
1111 | /deep-equal@1.1.1:
1112 | resolution: {integrity: sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==}
1113 | dependencies:
1114 | is-arguments: 1.1.1
1115 | is-date-object: 1.0.5
1116 | is-regex: 1.1.4
1117 | object-is: 1.1.5
1118 | object-keys: 1.1.1
1119 | regexp.prototype.flags: 1.5.0
1120 | dev: false
1121 |
1122 | /deep-is@0.1.4:
1123 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
1124 | dev: true
1125 |
1126 | /define-properties@1.2.0:
1127 | resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==}
1128 | engines: {node: '>= 0.4'}
1129 | dependencies:
1130 | has-property-descriptors: 1.0.0
1131 | object-keys: 1.1.1
1132 | dev: false
1133 |
1134 | /didyoumean@1.2.2:
1135 | resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
1136 | dev: true
1137 |
1138 | /dir-glob@3.0.1:
1139 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
1140 | engines: {node: '>=8'}
1141 | dependencies:
1142 | path-type: 4.0.0
1143 | dev: true
1144 |
1145 | /dlv@1.1.3:
1146 | resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
1147 | dev: true
1148 |
1149 | /doctrine@3.0.0:
1150 | resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
1151 | engines: {node: '>=6.0.0'}
1152 | dependencies:
1153 | esutils: 2.0.3
1154 | dev: true
1155 |
1156 | /dom-serializer@2.0.0:
1157 | resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==}
1158 | dependencies:
1159 | domelementtype: 2.3.0
1160 | domhandler: 5.0.3
1161 | entities: 4.5.0
1162 | dev: false
1163 |
1164 | /domelementtype@2.3.0:
1165 | resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==}
1166 | dev: false
1167 |
1168 | /domhandler@5.0.3:
1169 | resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==}
1170 | engines: {node: '>= 4'}
1171 | dependencies:
1172 | domelementtype: 2.3.0
1173 | dev: false
1174 |
1175 | /domutils@3.1.0:
1176 | resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==}
1177 | dependencies:
1178 | dom-serializer: 2.0.0
1179 | domelementtype: 2.3.0
1180 | domhandler: 5.0.3
1181 | dev: false
1182 |
1183 | /electron-to-chromium@1.4.454:
1184 | resolution: {integrity: sha512-pmf1rbAStw8UEQ0sr2cdJtWl48ZMuPD9Sto8HVQOq9vx9j2WgDEN6lYoaqFvqEHYOmGA9oRGn7LqWI9ta0YugQ==}
1185 | dev: true
1186 |
1187 | /entities@4.5.0:
1188 | resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
1189 | engines: {node: '>=0.12'}
1190 | dev: false
1191 |
1192 | /esbuild@0.17.19:
1193 | resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==}
1194 | engines: {node: '>=12'}
1195 | hasBin: true
1196 | requiresBuild: true
1197 | optionalDependencies:
1198 | '@esbuild/android-arm': 0.17.19
1199 | '@esbuild/android-arm64': 0.17.19
1200 | '@esbuild/android-x64': 0.17.19
1201 | '@esbuild/darwin-arm64': 0.17.19
1202 | '@esbuild/darwin-x64': 0.17.19
1203 | '@esbuild/freebsd-arm64': 0.17.19
1204 | '@esbuild/freebsd-x64': 0.17.19
1205 | '@esbuild/linux-arm': 0.17.19
1206 | '@esbuild/linux-arm64': 0.17.19
1207 | '@esbuild/linux-ia32': 0.17.19
1208 | '@esbuild/linux-loong64': 0.17.19
1209 | '@esbuild/linux-mips64el': 0.17.19
1210 | '@esbuild/linux-ppc64': 0.17.19
1211 | '@esbuild/linux-riscv64': 0.17.19
1212 | '@esbuild/linux-s390x': 0.17.19
1213 | '@esbuild/linux-x64': 0.17.19
1214 | '@esbuild/netbsd-x64': 0.17.19
1215 | '@esbuild/openbsd-x64': 0.17.19
1216 | '@esbuild/sunos-x64': 0.17.19
1217 | '@esbuild/win32-arm64': 0.17.19
1218 | '@esbuild/win32-ia32': 0.17.19
1219 | '@esbuild/win32-x64': 0.17.19
1220 |
1221 | /escalade@3.1.1:
1222 | resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
1223 | engines: {node: '>=6'}
1224 | dev: true
1225 |
1226 | /escape-string-regexp@1.0.5:
1227 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
1228 | engines: {node: '>=0.8.0'}
1229 | dev: true
1230 |
1231 | /escape-string-regexp@4.0.0:
1232 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
1233 | engines: {node: '>=10'}
1234 | dev: true
1235 |
1236 | /eslint-plugin-react-hooks@4.6.0(eslint@8.38.0):
1237 | resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==}
1238 | engines: {node: '>=10'}
1239 | peerDependencies:
1240 | eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0
1241 | dependencies:
1242 | eslint: 8.38.0
1243 | dev: true
1244 |
1245 | /eslint-plugin-react-refresh@0.3.4(eslint@8.38.0):
1246 | resolution: {integrity: sha512-E0ViBglxSQAERBp6eTj5fPgtCRtDonnbCFiVQBhf4Dto2blJRxg1dFUMdMh7N6ljTI4UwPhHwYDQ3Dyo4m6bwA==}
1247 | peerDependencies:
1248 | eslint: '>=7'
1249 | dependencies:
1250 | eslint: 8.38.0
1251 | dev: true
1252 |
1253 | /eslint-scope@5.1.1:
1254 | resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==}
1255 | engines: {node: '>=8.0.0'}
1256 | dependencies:
1257 | esrecurse: 4.3.0
1258 | estraverse: 4.3.0
1259 | dev: true
1260 |
1261 | /eslint-scope@7.2.0:
1262 | resolution: {integrity: sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==}
1263 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1264 | dependencies:
1265 | esrecurse: 4.3.0
1266 | estraverse: 5.3.0
1267 | dev: true
1268 |
1269 | /eslint-visitor-keys@3.4.1:
1270 | resolution: {integrity: sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==}
1271 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1272 | dev: true
1273 |
1274 | /eslint@8.38.0:
1275 | resolution: {integrity: sha512-pIdsD2jwlUGf/U38Jv97t8lq6HpaU/G9NKbYmpWpZGw3LdTNhZLbJePqxOXGB5+JEKfOPU/XLxYxFh03nr1KTg==}
1276 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1277 | hasBin: true
1278 | dependencies:
1279 | '@eslint-community/eslint-utils': 4.4.0(eslint@8.38.0)
1280 | '@eslint-community/regexpp': 4.5.1
1281 | '@eslint/eslintrc': 2.1.0
1282 | '@eslint/js': 8.38.0
1283 | '@humanwhocodes/config-array': 0.11.10
1284 | '@humanwhocodes/module-importer': 1.0.1
1285 | '@nodelib/fs.walk': 1.2.8
1286 | ajv: 6.12.6
1287 | chalk: 4.1.2
1288 | cross-spawn: 7.0.3
1289 | debug: 4.3.4
1290 | doctrine: 3.0.0
1291 | escape-string-regexp: 4.0.0
1292 | eslint-scope: 7.2.0
1293 | eslint-visitor-keys: 3.4.1
1294 | espree: 9.6.0
1295 | esquery: 1.5.0
1296 | esutils: 2.0.3
1297 | fast-deep-equal: 3.1.3
1298 | file-entry-cache: 6.0.1
1299 | find-up: 5.0.0
1300 | glob-parent: 6.0.2
1301 | globals: 13.20.0
1302 | grapheme-splitter: 1.0.4
1303 | ignore: 5.2.4
1304 | import-fresh: 3.3.0
1305 | imurmurhash: 0.1.4
1306 | is-glob: 4.0.3
1307 | is-path-inside: 3.0.3
1308 | js-sdsl: 4.4.1
1309 | js-yaml: 4.1.0
1310 | json-stable-stringify-without-jsonify: 1.0.1
1311 | levn: 0.4.1
1312 | lodash.merge: 4.6.2
1313 | minimatch: 3.1.2
1314 | natural-compare: 1.4.0
1315 | optionator: 0.9.3
1316 | strip-ansi: 6.0.1
1317 | strip-json-comments: 3.1.1
1318 | text-table: 0.2.0
1319 | transitivePeerDependencies:
1320 | - supports-color
1321 | dev: true
1322 |
1323 | /espree@9.6.0:
1324 | resolution: {integrity: sha512-1FH/IiruXZ84tpUlm0aCUEwMl2Ho5ilqVh0VvQXw+byAz/4SAciyHLlfmL5WYqsvD38oymdUwBss0LtK8m4s/A==}
1325 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1326 | dependencies:
1327 | acorn: 8.10.0
1328 | acorn-jsx: 5.3.2(acorn@8.10.0)
1329 | eslint-visitor-keys: 3.4.1
1330 | dev: true
1331 |
1332 | /esquery@1.5.0:
1333 | resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==}
1334 | engines: {node: '>=0.10'}
1335 | dependencies:
1336 | estraverse: 5.3.0
1337 | dev: true
1338 |
1339 | /esrecurse@4.3.0:
1340 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
1341 | engines: {node: '>=4.0'}
1342 | dependencies:
1343 | estraverse: 5.3.0
1344 | dev: true
1345 |
1346 | /estraverse@4.3.0:
1347 | resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==}
1348 | engines: {node: '>=4.0'}
1349 | dev: true
1350 |
1351 | /estraverse@5.3.0:
1352 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
1353 | engines: {node: '>=4.0'}
1354 | dev: true
1355 |
1356 | /esutils@2.0.3:
1357 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
1358 | engines: {node: '>=0.10.0'}
1359 | dev: true
1360 |
1361 | /eventemitter3@2.0.3:
1362 | resolution: {integrity: sha512-jLN68Dx5kyFHaePoXWPsCGW5qdyZQtLYHkxkg02/Mz6g0kYpDx4FyP6XfArhQdlOC4b8Mv+EMxPo/8La7Tzghg==}
1363 | dev: false
1364 |
1365 | /eventemitter3@4.0.7:
1366 | resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==}
1367 | dev: false
1368 |
1369 | /extend@3.0.2:
1370 | resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
1371 | dev: false
1372 |
1373 | /fast-deep-equal@3.1.3:
1374 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
1375 |
1376 | /fast-diff@1.1.2:
1377 | resolution: {integrity: sha512-KaJUt+M9t1qaIteSvjc6P3RbMdXsNhK61GRftR6SNxqmhthcd9MGIi4T+o0jD8LUSpSnSKXE20nLtJ3fOHxQig==}
1378 | dev: false
1379 |
1380 | /fast-glob@3.3.0:
1381 | resolution: {integrity: sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA==}
1382 | engines: {node: '>=8.6.0'}
1383 | dependencies:
1384 | '@nodelib/fs.stat': 2.0.5
1385 | '@nodelib/fs.walk': 1.2.8
1386 | glob-parent: 5.1.2
1387 | merge2: 1.4.1
1388 | micromatch: 4.0.5
1389 | dev: true
1390 |
1391 | /fast-json-stable-stringify@2.1.0:
1392 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
1393 | dev: true
1394 |
1395 | /fast-levenshtein@2.0.6:
1396 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
1397 | dev: true
1398 |
1399 | /fastq@1.15.0:
1400 | resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==}
1401 | dependencies:
1402 | reusify: 1.0.4
1403 | dev: true
1404 |
1405 | /file-entry-cache@6.0.1:
1406 | resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
1407 | engines: {node: ^10.12.0 || >=12.0.0}
1408 | dependencies:
1409 | flat-cache: 3.0.4
1410 | dev: true
1411 |
1412 | /fill-range@7.0.1:
1413 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
1414 | engines: {node: '>=8'}
1415 | dependencies:
1416 | to-regex-range: 5.0.1
1417 | dev: true
1418 |
1419 | /find-up@5.0.0:
1420 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
1421 | engines: {node: '>=10'}
1422 | dependencies:
1423 | locate-path: 6.0.0
1424 | path-exists: 4.0.0
1425 | dev: true
1426 |
1427 | /flat-cache@3.0.4:
1428 | resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==}
1429 | engines: {node: ^10.12.0 || >=12.0.0}
1430 | dependencies:
1431 | flatted: 3.2.7
1432 | rimraf: 3.0.2
1433 | dev: true
1434 |
1435 | /flatted@3.2.7:
1436 | resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==}
1437 | dev: true
1438 |
1439 | /fraction.js@4.2.0:
1440 | resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==}
1441 | dev: true
1442 |
1443 | /fs.realpath@1.0.0:
1444 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
1445 | dev: true
1446 |
1447 | /fsevents@2.3.2:
1448 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
1449 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
1450 | os: [darwin]
1451 | requiresBuild: true
1452 | optional: true
1453 |
1454 | /function-bind@1.1.1:
1455 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
1456 |
1457 | /functions-have-names@1.2.3:
1458 | resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
1459 | dev: false
1460 |
1461 | /gensync@1.0.0-beta.2:
1462 | resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
1463 | engines: {node: '>=6.9.0'}
1464 | dev: true
1465 |
1466 | /get-intrinsic@1.2.1:
1467 | resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==}
1468 | dependencies:
1469 | function-bind: 1.1.1
1470 | has: 1.0.3
1471 | has-proto: 1.0.1
1472 | has-symbols: 1.0.3
1473 | dev: false
1474 |
1475 | /glob-parent@5.1.2:
1476 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
1477 | engines: {node: '>= 6'}
1478 | dependencies:
1479 | is-glob: 4.0.3
1480 | dev: true
1481 |
1482 | /glob-parent@6.0.2:
1483 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
1484 | engines: {node: '>=10.13.0'}
1485 | dependencies:
1486 | is-glob: 4.0.3
1487 | dev: true
1488 |
1489 | /glob@7.1.6:
1490 | resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==}
1491 | dependencies:
1492 | fs.realpath: 1.0.0
1493 | inflight: 1.0.6
1494 | inherits: 2.0.4
1495 | minimatch: 3.1.2
1496 | once: 1.4.0
1497 | path-is-absolute: 1.0.1
1498 | dev: true
1499 |
1500 | /glob@7.2.3:
1501 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
1502 | dependencies:
1503 | fs.realpath: 1.0.0
1504 | inflight: 1.0.6
1505 | inherits: 2.0.4
1506 | minimatch: 3.1.2
1507 | once: 1.4.0
1508 | path-is-absolute: 1.0.1
1509 | dev: true
1510 |
1511 | /globals@11.12.0:
1512 | resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
1513 | engines: {node: '>=4'}
1514 | dev: true
1515 |
1516 | /globals@13.20.0:
1517 | resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==}
1518 | engines: {node: '>=8'}
1519 | dependencies:
1520 | type-fest: 0.20.2
1521 | dev: true
1522 |
1523 | /globby@11.1.0:
1524 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
1525 | engines: {node: '>=10'}
1526 | dependencies:
1527 | array-union: 2.1.0
1528 | dir-glob: 3.0.1
1529 | fast-glob: 3.3.0
1530 | ignore: 5.2.4
1531 | merge2: 1.4.1
1532 | slash: 3.0.0
1533 | dev: true
1534 |
1535 | /globrex@0.1.2:
1536 | resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==}
1537 | dev: false
1538 |
1539 | /google-map-react@2.2.1(react-dom@18.2.0)(react@18.2.0):
1540 | resolution: {integrity: sha512-Dg8aexf5rNSmywj0XKQ5m4RNzVcWwKEM2BGDj5aPChD0um8ZRjB5Upcb/yg/i0oG1aES29asQ5+6BHVgrK5xGA==}
1541 | engines: {node: '>=10'}
1542 | peerDependencies:
1543 | react: ^16.0.0 || ^17.0.0 || ^18.0.0
1544 | react-dom: ^16.0.0 || ^17.0.0 || ^18.0.0
1545 | dependencies:
1546 | '@googlemaps/js-api-loader': 1.16.2
1547 | '@mapbox/point-geometry': 0.1.0
1548 | eventemitter3: 4.0.7
1549 | prop-types: 15.8.1
1550 | react: 18.2.0
1551 | react-dom: 18.2.0(react@18.2.0)
1552 | dev: false
1553 |
1554 | /grapheme-splitter@1.0.4:
1555 | resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==}
1556 | dev: true
1557 |
1558 | /has-flag@3.0.0:
1559 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
1560 | engines: {node: '>=4'}
1561 | dev: true
1562 |
1563 | /has-flag@4.0.0:
1564 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
1565 | engines: {node: '>=8'}
1566 | dev: true
1567 |
1568 | /has-property-descriptors@1.0.0:
1569 | resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==}
1570 | dependencies:
1571 | get-intrinsic: 1.2.1
1572 | dev: false
1573 |
1574 | /has-proto@1.0.1:
1575 | resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==}
1576 | engines: {node: '>= 0.4'}
1577 | dev: false
1578 |
1579 | /has-symbols@1.0.3:
1580 | resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
1581 | engines: {node: '>= 0.4'}
1582 | dev: false
1583 |
1584 | /has-tostringtag@1.0.0:
1585 | resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==}
1586 | engines: {node: '>= 0.4'}
1587 | dependencies:
1588 | has-symbols: 1.0.3
1589 | dev: false
1590 |
1591 | /has@1.0.3:
1592 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
1593 | engines: {node: '>= 0.4.0'}
1594 | dependencies:
1595 | function-bind: 1.1.1
1596 |
1597 | /hoist-non-react-statics@3.3.2:
1598 | resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==}
1599 | dependencies:
1600 | react-is: 16.13.1
1601 | dev: false
1602 |
1603 | /html-dom-parser@4.0.0:
1604 | resolution: {integrity: sha512-TUa3wIwi80f5NF8CVWzkopBVqVAtlawUzJoLwVLHns0XSJGynss4jiY0mTWpiDOsuyw+afP+ujjMgRh9CoZcXw==}
1605 | dependencies:
1606 | domhandler: 5.0.3
1607 | htmlparser2: 9.0.0
1608 | dev: false
1609 |
1610 | /html-react-parser@4.0.0(react@18.2.0):
1611 | resolution: {integrity: sha512-OzlOavs9lLyBxoRiXbXfODIX/nSShukMtdx3+WSMjon/FF1gJZRq0rBELoR5OswfbN56C0oKpAii7i3yzO/uVQ==}
1612 | peerDependencies:
1613 | react: 0.14 || 15 || 16 || 17 || 18
1614 | dependencies:
1615 | domhandler: 5.0.3
1616 | html-dom-parser: 4.0.0
1617 | react: 18.2.0
1618 | react-property: 2.0.0
1619 | style-to-js: 1.1.3
1620 | dev: false
1621 |
1622 | /htmlparser2@9.0.0:
1623 | resolution: {integrity: sha512-uxbSI98wmFT/G4P2zXx4OVx04qWUmyFPrD2/CNepa2Zo3GPNaCaaxElDgwUrwYWkK1nr9fft0Ya8dws8coDLLQ==}
1624 | dependencies:
1625 | domelementtype: 2.3.0
1626 | domhandler: 5.0.3
1627 | domutils: 3.1.0
1628 | entities: 4.5.0
1629 | dev: false
1630 |
1631 | /ignore@5.2.4:
1632 | resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==}
1633 | engines: {node: '>= 4'}
1634 | dev: true
1635 |
1636 | /import-fresh@3.3.0:
1637 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
1638 | engines: {node: '>=6'}
1639 | dependencies:
1640 | parent-module: 1.0.1
1641 | resolve-from: 4.0.0
1642 | dev: true
1643 |
1644 | /imurmurhash@0.1.4:
1645 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
1646 | engines: {node: '>=0.8.19'}
1647 | dev: true
1648 |
1649 | /inflight@1.0.6:
1650 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
1651 | dependencies:
1652 | once: 1.4.0
1653 | wrappy: 1.0.2
1654 | dev: true
1655 |
1656 | /inherits@2.0.4:
1657 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
1658 | dev: true
1659 |
1660 | /inline-style-parser@0.1.1:
1661 | resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==}
1662 | dev: false
1663 |
1664 | /is-arguments@1.1.1:
1665 | resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==}
1666 | engines: {node: '>= 0.4'}
1667 | dependencies:
1668 | call-bind: 1.0.2
1669 | has-tostringtag: 1.0.0
1670 | dev: false
1671 |
1672 | /is-binary-path@2.1.0:
1673 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
1674 | engines: {node: '>=8'}
1675 | dependencies:
1676 | binary-extensions: 2.2.0
1677 | dev: true
1678 |
1679 | /is-core-module@2.12.1:
1680 | resolution: {integrity: sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==}
1681 | dependencies:
1682 | has: 1.0.3
1683 | dev: true
1684 |
1685 | /is-date-object@1.0.5:
1686 | resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
1687 | engines: {node: '>= 0.4'}
1688 | dependencies:
1689 | has-tostringtag: 1.0.0
1690 | dev: false
1691 |
1692 | /is-extglob@2.1.1:
1693 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
1694 | engines: {node: '>=0.10.0'}
1695 | dev: true
1696 |
1697 | /is-glob@4.0.3:
1698 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
1699 | engines: {node: '>=0.10.0'}
1700 | dependencies:
1701 | is-extglob: 2.1.1
1702 | dev: true
1703 |
1704 | /is-number@7.0.0:
1705 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
1706 | engines: {node: '>=0.12.0'}
1707 | dev: true
1708 |
1709 | /is-path-inside@3.0.3:
1710 | resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
1711 | engines: {node: '>=8'}
1712 | dev: true
1713 |
1714 | /is-regex@1.1.4:
1715 | resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
1716 | engines: {node: '>= 0.4'}
1717 | dependencies:
1718 | call-bind: 1.0.2
1719 | has-tostringtag: 1.0.0
1720 | dev: false
1721 |
1722 | /isexe@2.0.0:
1723 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
1724 | dev: true
1725 |
1726 | /jiti@1.19.1:
1727 | resolution: {integrity: sha512-oVhqoRDaBXf7sjkll95LHVS6Myyyb1zaunVwk4Z0+WPSW4gjS0pl01zYKHScTuyEhQsFxV5L4DR5r+YqSyqyyg==}
1728 | hasBin: true
1729 | dev: true
1730 |
1731 | /js-sdsl@4.4.1:
1732 | resolution: {integrity: sha512-6Gsx8R0RucyePbWqPssR8DyfuXmLBooYN5cZFZKjHGnQuaf7pEzhtpceagJxVu4LqhYY5EYA7nko3FmeHZ1KbA==}
1733 | dev: true
1734 |
1735 | /js-tokens@4.0.0:
1736 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
1737 |
1738 | /js-yaml@4.1.0:
1739 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
1740 | hasBin: true
1741 | dependencies:
1742 | argparse: 2.0.1
1743 | dev: true
1744 |
1745 | /jsesc@2.5.2:
1746 | resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
1747 | engines: {node: '>=4'}
1748 | hasBin: true
1749 | dev: true
1750 |
1751 | /json-schema-traverse@0.4.1:
1752 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
1753 | dev: true
1754 |
1755 | /json-stable-stringify-without-jsonify@1.0.1:
1756 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
1757 | dev: true
1758 |
1759 | /json5@2.2.3:
1760 | resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
1761 | engines: {node: '>=6'}
1762 | hasBin: true
1763 | dev: true
1764 |
1765 | /levn@0.4.1:
1766 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
1767 | engines: {node: '>= 0.8.0'}
1768 | dependencies:
1769 | prelude-ls: 1.2.1
1770 | type-check: 0.4.0
1771 | dev: true
1772 |
1773 | /lilconfig@2.1.0:
1774 | resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
1775 | engines: {node: '>=10'}
1776 | dev: true
1777 |
1778 | /lines-and-columns@1.2.4:
1779 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
1780 | dev: true
1781 |
1782 | /locate-path@6.0.0:
1783 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
1784 | engines: {node: '>=10'}
1785 | dependencies:
1786 | p-locate: 5.0.0
1787 | dev: true
1788 |
1789 | /lodash.merge@4.6.2:
1790 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
1791 | dev: true
1792 |
1793 | /lodash@4.17.21:
1794 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
1795 | dev: false
1796 |
1797 | /loose-envify@1.4.0:
1798 | resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
1799 | hasBin: true
1800 | dependencies:
1801 | js-tokens: 4.0.0
1802 | dev: false
1803 |
1804 | /lru-cache@5.1.1:
1805 | resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
1806 | dependencies:
1807 | yallist: 3.1.1
1808 | dev: true
1809 |
1810 | /lru-cache@6.0.0:
1811 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
1812 | engines: {node: '>=10'}
1813 | dependencies:
1814 | yallist: 4.0.0
1815 | dev: true
1816 |
1817 | /merge2@1.4.1:
1818 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
1819 | engines: {node: '>= 8'}
1820 | dev: true
1821 |
1822 | /micromatch@4.0.5:
1823 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
1824 | engines: {node: '>=8.6'}
1825 | dependencies:
1826 | braces: 3.0.2
1827 | picomatch: 2.3.1
1828 | dev: true
1829 |
1830 | /minimatch@3.1.2:
1831 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
1832 | dependencies:
1833 | brace-expansion: 1.1.11
1834 | dev: true
1835 |
1836 | /ms@2.1.2:
1837 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
1838 |
1839 | /mz@2.7.0:
1840 | resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
1841 | dependencies:
1842 | any-promise: 1.3.0
1843 | object-assign: 4.1.1
1844 | thenify-all: 1.6.0
1845 | dev: true
1846 |
1847 | /nanoid@3.3.6:
1848 | resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==}
1849 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
1850 | hasBin: true
1851 |
1852 | /natural-compare-lite@1.4.0:
1853 | resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==}
1854 | dev: true
1855 |
1856 | /natural-compare@1.4.0:
1857 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
1858 | dev: true
1859 |
1860 | /node-releases@2.0.13:
1861 | resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==}
1862 | dev: true
1863 |
1864 | /normalize-path@3.0.0:
1865 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
1866 | engines: {node: '>=0.10.0'}
1867 | dev: true
1868 |
1869 | /normalize-range@0.1.2:
1870 | resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
1871 | engines: {node: '>=0.10.0'}
1872 | dev: true
1873 |
1874 | /object-assign@4.1.1:
1875 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
1876 | engines: {node: '>=0.10.0'}
1877 |
1878 | /object-hash@3.0.0:
1879 | resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
1880 | engines: {node: '>= 6'}
1881 | dev: true
1882 |
1883 | /object-is@1.1.5:
1884 | resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==}
1885 | engines: {node: '>= 0.4'}
1886 | dependencies:
1887 | call-bind: 1.0.2
1888 | define-properties: 1.2.0
1889 | dev: false
1890 |
1891 | /object-keys@1.1.1:
1892 | resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
1893 | engines: {node: '>= 0.4'}
1894 | dev: false
1895 |
1896 | /once@1.4.0:
1897 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
1898 | dependencies:
1899 | wrappy: 1.0.2
1900 | dev: true
1901 |
1902 | /optionator@0.9.3:
1903 | resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==}
1904 | engines: {node: '>= 0.8.0'}
1905 | dependencies:
1906 | '@aashutoshrathi/word-wrap': 1.2.6
1907 | deep-is: 0.1.4
1908 | fast-levenshtein: 2.0.6
1909 | levn: 0.4.1
1910 | prelude-ls: 1.2.1
1911 | type-check: 0.4.0
1912 | dev: true
1913 |
1914 | /p-limit@3.1.0:
1915 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
1916 | engines: {node: '>=10'}
1917 | dependencies:
1918 | yocto-queue: 0.1.0
1919 | dev: true
1920 |
1921 | /p-locate@5.0.0:
1922 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
1923 | engines: {node: '>=10'}
1924 | dependencies:
1925 | p-limit: 3.1.0
1926 | dev: true
1927 |
1928 | /parchment@1.1.4:
1929 | resolution: {integrity: sha512-J5FBQt/pM2inLzg4hEWmzQx/8h8D0CiDxaG3vyp9rKrQRSDgBlhjdP5jQGgosEajXPSQouXGHOmVdgo7QmJuOg==}
1930 | dev: false
1931 |
1932 | /parent-module@1.0.1:
1933 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
1934 | engines: {node: '>=6'}
1935 | dependencies:
1936 | callsites: 3.1.0
1937 | dev: true
1938 |
1939 | /path-exists@4.0.0:
1940 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
1941 | engines: {node: '>=8'}
1942 | dev: true
1943 |
1944 | /path-is-absolute@1.0.1:
1945 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
1946 | engines: {node: '>=0.10.0'}
1947 | dev: true
1948 |
1949 | /path-key@3.1.1:
1950 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
1951 | engines: {node: '>=8'}
1952 | dev: true
1953 |
1954 | /path-parse@1.0.7:
1955 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
1956 | dev: true
1957 |
1958 | /path-type@4.0.0:
1959 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
1960 | engines: {node: '>=8'}
1961 | dev: true
1962 |
1963 | /picocolors@1.0.0:
1964 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
1965 |
1966 | /picomatch@2.3.1:
1967 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
1968 | engines: {node: '>=8.6'}
1969 | dev: true
1970 |
1971 | /pify@2.3.0:
1972 | resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
1973 | engines: {node: '>=0.10.0'}
1974 | dev: true
1975 |
1976 | /pirates@4.0.6:
1977 | resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
1978 | engines: {node: '>= 6'}
1979 | dev: true
1980 |
1981 | /postcss-import@15.1.0(postcss@8.4.24):
1982 | resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
1983 | engines: {node: '>=14.0.0'}
1984 | peerDependencies:
1985 | postcss: ^8.0.0
1986 | dependencies:
1987 | postcss: 8.4.24
1988 | postcss-value-parser: 4.2.0
1989 | read-cache: 1.0.0
1990 | resolve: 1.22.2
1991 | dev: true
1992 |
1993 | /postcss-js@4.0.1(postcss@8.4.24):
1994 | resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
1995 | engines: {node: ^12 || ^14 || >= 16}
1996 | peerDependencies:
1997 | postcss: ^8.4.21
1998 | dependencies:
1999 | camelcase-css: 2.0.1
2000 | postcss: 8.4.24
2001 | dev: true
2002 |
2003 | /postcss-load-config@4.0.1(postcss@8.4.24):
2004 | resolution: {integrity: sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==}
2005 | engines: {node: '>= 14'}
2006 | peerDependencies:
2007 | postcss: '>=8.0.9'
2008 | ts-node: '>=9.0.0'
2009 | peerDependenciesMeta:
2010 | postcss:
2011 | optional: true
2012 | ts-node:
2013 | optional: true
2014 | dependencies:
2015 | lilconfig: 2.1.0
2016 | postcss: 8.4.24
2017 | yaml: 2.3.1
2018 | dev: true
2019 |
2020 | /postcss-nested@6.0.1(postcss@8.4.24):
2021 | resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==}
2022 | engines: {node: '>=12.0'}
2023 | peerDependencies:
2024 | postcss: ^8.2.14
2025 | dependencies:
2026 | postcss: 8.4.24
2027 | postcss-selector-parser: 6.0.13
2028 | dev: true
2029 |
2030 | /postcss-selector-parser@6.0.13:
2031 | resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==}
2032 | engines: {node: '>=4'}
2033 | dependencies:
2034 | cssesc: 3.0.0
2035 | util-deprecate: 1.0.2
2036 | dev: true
2037 |
2038 | /postcss-value-parser@4.2.0:
2039 | resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
2040 | dev: true
2041 |
2042 | /postcss@8.4.24:
2043 | resolution: {integrity: sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==}
2044 | engines: {node: ^10 || ^12 || >=14}
2045 | dependencies:
2046 | nanoid: 3.3.6
2047 | picocolors: 1.0.0
2048 | source-map-js: 1.0.2
2049 |
2050 | /prelude-ls@1.2.1:
2051 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
2052 | engines: {node: '>= 0.8.0'}
2053 | dev: true
2054 |
2055 | /prettier@2.8.8:
2056 | resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==}
2057 | engines: {node: '>=10.13.0'}
2058 | hasBin: true
2059 | dev: true
2060 |
2061 | /prop-types@15.8.1:
2062 | resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
2063 | dependencies:
2064 | loose-envify: 1.4.0
2065 | object-assign: 4.1.1
2066 | react-is: 16.13.1
2067 | dev: false
2068 |
2069 | /punycode@2.3.0:
2070 | resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==}
2071 | engines: {node: '>=6'}
2072 | dev: true
2073 |
2074 | /queue-microtask@1.2.3:
2075 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
2076 | dev: true
2077 |
2078 | /quill-delta@3.6.3:
2079 | resolution: {integrity: sha512-wdIGBlcX13tCHOXGMVnnTVFtGRLoP0imqxM696fIPwIf5ODIYUHIvHbZcyvGlZFiFhK5XzDC2lpjbxRhnM05Tg==}
2080 | engines: {node: '>=0.10'}
2081 | dependencies:
2082 | deep-equal: 1.1.1
2083 | extend: 3.0.2
2084 | fast-diff: 1.1.2
2085 | dev: false
2086 |
2087 | /quill@1.3.7:
2088 | resolution: {integrity: sha512-hG/DVzh/TiknWtE6QmWAF/pxoZKYxfe3J/d/+ShUWkDvvkZQVTPeVmUJVu1uE6DDooC4fWTiCLh84ul89oNz5g==}
2089 | dependencies:
2090 | clone: 2.1.2
2091 | deep-equal: 1.1.1
2092 | eventemitter3: 2.0.3
2093 | extend: 3.0.2
2094 | parchment: 1.1.4
2095 | quill-delta: 3.6.3
2096 | dev: false
2097 |
2098 | /react-dom@18.2.0(react@18.2.0):
2099 | resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==}
2100 | peerDependencies:
2101 | react: ^18.2.0
2102 | dependencies:
2103 | loose-envify: 1.4.0
2104 | react: 18.2.0
2105 | scheduler: 0.23.0
2106 | dev: false
2107 |
2108 | /react-is@16.13.1:
2109 | resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
2110 | dev: false
2111 |
2112 | /react-is@18.2.0:
2113 | resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==}
2114 | dev: false
2115 |
2116 | /react-property@2.0.0:
2117 | resolution: {integrity: sha512-kzmNjIgU32mO4mmH5+iUyrqlpFQhF8K2k7eZ4fdLSOPFrD1XgEuSBv9LDEgxRXTMBqMd8ppT0x6TIzqE5pdGdw==}
2118 | dev: false
2119 |
2120 | /react-quill@2.0.0(react-dom@18.2.0)(react@18.2.0):
2121 | resolution: {integrity: sha512-4qQtv1FtCfLgoD3PXAur5RyxuUbPXQGOHgTlFie3jtxp43mXDtzCKaOgQ3mLyZfi1PUlyjycfivKelFhy13QUg==}
2122 | peerDependencies:
2123 | react: ^16 || ^17 || ^18
2124 | react-dom: ^16 || ^17 || ^18
2125 | dependencies:
2126 | '@types/quill': 1.3.10
2127 | lodash: 4.17.21
2128 | quill: 1.3.7
2129 | react: 18.2.0
2130 | react-dom: 18.2.0(react@18.2.0)
2131 | dev: false
2132 |
2133 | /react-redux@8.1.1(@types/react-dom@18.0.11)(@types/react@18.0.37)(react-dom@18.2.0)(react@18.2.0)(redux@4.2.1):
2134 | resolution: {integrity: sha512-5W0QaKtEhj+3bC0Nj0NkqkhIv8gLADH/2kYFMTHxCVqQILiWzLv6MaLuV5wJU3BQEdHKzTfcvPN0WMS6SC1oyA==}
2135 | peerDependencies:
2136 | '@types/react': ^16.8 || ^17.0 || ^18.0
2137 | '@types/react-dom': ^16.8 || ^17.0 || ^18.0
2138 | react: ^16.8 || ^17.0 || ^18.0
2139 | react-dom: ^16.8 || ^17.0 || ^18.0
2140 | react-native: '>=0.59'
2141 | redux: ^4 || ^5.0.0-beta.0
2142 | peerDependenciesMeta:
2143 | '@types/react':
2144 | optional: true
2145 | '@types/react-dom':
2146 | optional: true
2147 | react-dom:
2148 | optional: true
2149 | react-native:
2150 | optional: true
2151 | redux:
2152 | optional: true
2153 | dependencies:
2154 | '@babel/runtime': 7.22.6
2155 | '@types/hoist-non-react-statics': 3.3.1
2156 | '@types/react': 18.0.37
2157 | '@types/react-dom': 18.0.11
2158 | '@types/use-sync-external-store': 0.0.3
2159 | hoist-non-react-statics: 3.3.2
2160 | react: 18.2.0
2161 | react-dom: 18.2.0(react@18.2.0)
2162 | react-is: 18.2.0
2163 | redux: 4.2.1
2164 | use-sync-external-store: 1.2.0(react@18.2.0)
2165 | dev: false
2166 |
2167 | /react-refresh@0.14.0:
2168 | resolution: {integrity: sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==}
2169 | engines: {node: '>=0.10.0'}
2170 | dev: true
2171 |
2172 | /react-router-dom@6.14.1(react-dom@18.2.0)(react@18.2.0):
2173 | resolution: {integrity: sha512-ssF6M5UkQjHK70fgukCJyjlda0Dgono2QGwqGvuk7D+EDGHdacEN3Yke2LTMjkrpHuFwBfDFsEjGVXBDmL+bWw==}
2174 | engines: {node: '>=14'}
2175 | peerDependencies:
2176 | react: '>=16.8'
2177 | react-dom: '>=16.8'
2178 | dependencies:
2179 | '@remix-run/router': 1.7.1
2180 | react: 18.2.0
2181 | react-dom: 18.2.0(react@18.2.0)
2182 | react-router: 6.14.1(react@18.2.0)
2183 | dev: false
2184 |
2185 | /react-router@6.14.1(react@18.2.0):
2186 | resolution: {integrity: sha512-U4PfgvG55LdvbQjg5Y9QRWyVxIdO1LlpYT7x+tMAxd9/vmiPuJhIwdxZuIQLN/9e3O4KFDHYfR9gzGeYMasW8g==}
2187 | engines: {node: '>=14'}
2188 | peerDependencies:
2189 | react: '>=16.8'
2190 | dependencies:
2191 | '@remix-run/router': 1.7.1
2192 | react: 18.2.0
2193 | dev: false
2194 |
2195 | /react@18.2.0:
2196 | resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==}
2197 | engines: {node: '>=0.10.0'}
2198 | dependencies:
2199 | loose-envify: 1.4.0
2200 | dev: false
2201 |
2202 | /read-cache@1.0.0:
2203 | resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
2204 | dependencies:
2205 | pify: 2.3.0
2206 | dev: true
2207 |
2208 | /readdirp@3.6.0:
2209 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
2210 | engines: {node: '>=8.10.0'}
2211 | dependencies:
2212 | picomatch: 2.3.1
2213 | dev: true
2214 |
2215 | /redux-saga@1.2.3:
2216 | resolution: {integrity: sha512-HDe0wTR5nhd8Xr5xjGzoyTbdAw6rjy1GDplFt3JKtKN8/MnkQSRqK/n6aQQhpw5NI4ekDVOaW+w4sdxPBaCoTQ==}
2217 | dependencies:
2218 | '@redux-saga/core': 1.2.3
2219 | dev: false
2220 |
2221 | /redux@4.2.1:
2222 | resolution: {integrity: sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==}
2223 | dependencies:
2224 | '@babel/runtime': 7.22.6
2225 | dev: false
2226 |
2227 | /regenerator-runtime@0.13.11:
2228 | resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==}
2229 | dev: false
2230 |
2231 | /regexp.prototype.flags@1.5.0:
2232 | resolution: {integrity: sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==}
2233 | engines: {node: '>= 0.4'}
2234 | dependencies:
2235 | call-bind: 1.0.2
2236 | define-properties: 1.2.0
2237 | functions-have-names: 1.2.3
2238 | dev: false
2239 |
2240 | /resolve-from@4.0.0:
2241 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
2242 | engines: {node: '>=4'}
2243 | dev: true
2244 |
2245 | /resolve@1.22.2:
2246 | resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==}
2247 | hasBin: true
2248 | dependencies:
2249 | is-core-module: 2.12.1
2250 | path-parse: 1.0.7
2251 | supports-preserve-symlinks-flag: 1.0.0
2252 | dev: true
2253 |
2254 | /reusify@1.0.4:
2255 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
2256 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
2257 | dev: true
2258 |
2259 | /rimraf@3.0.2:
2260 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
2261 | hasBin: true
2262 | dependencies:
2263 | glob: 7.2.3
2264 | dev: true
2265 |
2266 | /rollup@3.26.2:
2267 | resolution: {integrity: sha512-6umBIGVz93er97pMgQO08LuH3m6PUb3jlDUUGFsNJB6VgTCUaDFpupf5JfU30529m/UKOgmiX+uY6Sx8cOYpLA==}
2268 | engines: {node: '>=14.18.0', npm: '>=8.0.0'}
2269 | hasBin: true
2270 | optionalDependencies:
2271 | fsevents: 2.3.2
2272 |
2273 | /run-parallel@1.2.0:
2274 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
2275 | dependencies:
2276 | queue-microtask: 1.2.3
2277 | dev: true
2278 |
2279 | /scheduler@0.23.0:
2280 | resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==}
2281 | dependencies:
2282 | loose-envify: 1.4.0
2283 | dev: false
2284 |
2285 | /semver@7.5.4:
2286 | resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==}
2287 | engines: {node: '>=10'}
2288 | hasBin: true
2289 | dependencies:
2290 | lru-cache: 6.0.0
2291 | dev: true
2292 |
2293 | /shebang-command@2.0.0:
2294 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
2295 | engines: {node: '>=8'}
2296 | dependencies:
2297 | shebang-regex: 3.0.0
2298 | dev: true
2299 |
2300 | /shebang-regex@3.0.0:
2301 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
2302 | engines: {node: '>=8'}
2303 | dev: true
2304 |
2305 | /slash@3.0.0:
2306 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
2307 | engines: {node: '>=8'}
2308 | dev: true
2309 |
2310 | /source-map-js@1.0.2:
2311 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
2312 | engines: {node: '>=0.10.0'}
2313 |
2314 | /strip-ansi@6.0.1:
2315 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
2316 | engines: {node: '>=8'}
2317 | dependencies:
2318 | ansi-regex: 5.0.1
2319 | dev: true
2320 |
2321 | /strip-json-comments@3.1.1:
2322 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
2323 | engines: {node: '>=8'}
2324 | dev: true
2325 |
2326 | /style-to-js@1.1.3:
2327 | resolution: {integrity: sha512-zKI5gN/zb7LS/Vm0eUwjmjrXWw8IMtyA8aPBJZdYiQTXj4+wQ3IucOLIOnF7zCHxvW8UhIGh/uZh/t9zEHXNTQ==}
2328 | dependencies:
2329 | style-to-object: 0.4.1
2330 | dev: false
2331 |
2332 | /style-to-object@0.4.1:
2333 | resolution: {integrity: sha512-HFpbb5gr2ypci7Qw+IOhnP2zOU7e77b+rzM+wTzXzfi1PrtBCX0E7Pk4wL4iTLnhzZ+JgEGAhX81ebTg/aYjQw==}
2334 | dependencies:
2335 | inline-style-parser: 0.1.1
2336 | dev: false
2337 |
2338 | /sucrase@3.32.0:
2339 | resolution: {integrity: sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ==}
2340 | engines: {node: '>=8'}
2341 | hasBin: true
2342 | dependencies:
2343 | '@jridgewell/gen-mapping': 0.3.3
2344 | commander: 4.1.1
2345 | glob: 7.1.6
2346 | lines-and-columns: 1.2.4
2347 | mz: 2.7.0
2348 | pirates: 4.0.6
2349 | ts-interface-checker: 0.1.13
2350 | dev: true
2351 |
2352 | /supports-color@5.5.0:
2353 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
2354 | engines: {node: '>=4'}
2355 | dependencies:
2356 | has-flag: 3.0.0
2357 | dev: true
2358 |
2359 | /supports-color@7.2.0:
2360 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
2361 | engines: {node: '>=8'}
2362 | dependencies:
2363 | has-flag: 4.0.0
2364 | dev: true
2365 |
2366 | /supports-preserve-symlinks-flag@1.0.0:
2367 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
2368 | engines: {node: '>= 0.4'}
2369 | dev: true
2370 |
2371 | /tailwindcss@3.3.2:
2372 | resolution: {integrity: sha512-9jPkMiIBXvPc2KywkraqsUfbfj+dHDb+JPWtSJa9MLFdrPyazI7q6WX2sUrm7R9eVR7qqv3Pas7EvQFzxKnI6w==}
2373 | engines: {node: '>=14.0.0'}
2374 | hasBin: true
2375 | dependencies:
2376 | '@alloc/quick-lru': 5.2.0
2377 | arg: 5.0.2
2378 | chokidar: 3.5.3
2379 | didyoumean: 1.2.2
2380 | dlv: 1.1.3
2381 | fast-glob: 3.3.0
2382 | glob-parent: 6.0.2
2383 | is-glob: 4.0.3
2384 | jiti: 1.19.1
2385 | lilconfig: 2.1.0
2386 | micromatch: 4.0.5
2387 | normalize-path: 3.0.0
2388 | object-hash: 3.0.0
2389 | picocolors: 1.0.0
2390 | postcss: 8.4.24
2391 | postcss-import: 15.1.0(postcss@8.4.24)
2392 | postcss-js: 4.0.1(postcss@8.4.24)
2393 | postcss-load-config: 4.0.1(postcss@8.4.24)
2394 | postcss-nested: 6.0.1(postcss@8.4.24)
2395 | postcss-selector-parser: 6.0.13
2396 | postcss-value-parser: 4.2.0
2397 | resolve: 1.22.2
2398 | sucrase: 3.32.0
2399 | transitivePeerDependencies:
2400 | - ts-node
2401 | dev: true
2402 |
2403 | /text-table@0.2.0:
2404 | resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
2405 | dev: true
2406 |
2407 | /thenify-all@1.6.0:
2408 | resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
2409 | engines: {node: '>=0.8'}
2410 | dependencies:
2411 | thenify: 3.3.1
2412 | dev: true
2413 |
2414 | /thenify@3.3.1:
2415 | resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
2416 | dependencies:
2417 | any-promise: 1.3.0
2418 | dev: true
2419 |
2420 | /to-fast-properties@2.0.0:
2421 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
2422 | engines: {node: '>=4'}
2423 | dev: true
2424 |
2425 | /to-regex-range@5.0.1:
2426 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
2427 | engines: {node: '>=8.0'}
2428 | dependencies:
2429 | is-number: 7.0.0
2430 | dev: true
2431 |
2432 | /ts-interface-checker@0.1.13:
2433 | resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
2434 | dev: true
2435 |
2436 | /tsconfck@2.1.1(typescript@5.0.2):
2437 | resolution: {integrity: sha512-ZPCkJBKASZBmBUNqGHmRhdhM8pJYDdOXp4nRgj/O0JwUwsMq50lCDRQP/M5GBNAA0elPrq4gAeu4dkaVCuKWww==}
2438 | engines: {node: ^14.13.1 || ^16 || >=18}
2439 | hasBin: true
2440 | peerDependencies:
2441 | typescript: ^4.3.5 || ^5.0.0
2442 | peerDependenciesMeta:
2443 | typescript:
2444 | optional: true
2445 | dependencies:
2446 | typescript: 5.0.2
2447 | dev: false
2448 |
2449 | /tslib@1.14.1:
2450 | resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
2451 | dev: true
2452 |
2453 | /tsutils@3.21.0(typescript@5.0.2):
2454 | resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
2455 | engines: {node: '>= 6'}
2456 | peerDependencies:
2457 | typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta'
2458 | dependencies:
2459 | tslib: 1.14.1
2460 | typescript: 5.0.2
2461 | dev: true
2462 |
2463 | /type-check@0.4.0:
2464 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
2465 | engines: {node: '>= 0.8.0'}
2466 | dependencies:
2467 | prelude-ls: 1.2.1
2468 | dev: true
2469 |
2470 | /type-fest@0.20.2:
2471 | resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
2472 | engines: {node: '>=10'}
2473 | dev: true
2474 |
2475 | /typescript-compare@0.0.2:
2476 | resolution: {integrity: sha512-8ja4j7pMHkfLJQO2/8tut7ub+J3Lw2S3061eJLFQcvs3tsmJKp8KG5NtpLn7KcY2w08edF74BSVN7qJS0U6oHA==}
2477 | dependencies:
2478 | typescript-logic: 0.0.0
2479 | dev: false
2480 |
2481 | /typescript-logic@0.0.0:
2482 | resolution: {integrity: sha512-zXFars5LUkI3zP492ls0VskH3TtdeHCqu0i7/duGt60i5IGPIpAHE/DWo5FqJ6EjQ15YKXrt+AETjv60Dat34Q==}
2483 | dev: false
2484 |
2485 | /typescript-tuple@2.2.1:
2486 | resolution: {integrity: sha512-Zcr0lbt8z5ZdEzERHAMAniTiIKerFCMgd7yjq1fPnDJ43et/k9twIFQMUYff9k5oXcsQ0WpvFcgzK2ZKASoW6Q==}
2487 | dependencies:
2488 | typescript-compare: 0.0.2
2489 | dev: false
2490 |
2491 | /typescript@5.0.2:
2492 | resolution: {integrity: sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw==}
2493 | engines: {node: '>=12.20'}
2494 | hasBin: true
2495 |
2496 | /update-browserslist-db@1.0.11(browserslist@4.21.9):
2497 | resolution: {integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==}
2498 | hasBin: true
2499 | peerDependencies:
2500 | browserslist: '>= 4.21.0'
2501 | dependencies:
2502 | browserslist: 4.21.9
2503 | escalade: 3.1.1
2504 | picocolors: 1.0.0
2505 | dev: true
2506 |
2507 | /uri-js@4.4.1:
2508 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
2509 | dependencies:
2510 | punycode: 2.3.0
2511 | dev: true
2512 |
2513 | /use-sync-external-store@1.2.0(react@18.2.0):
2514 | resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==}
2515 | peerDependencies:
2516 | react: ^16.8.0 || ^17.0.0 || ^18.0.0
2517 | dependencies:
2518 | react: 18.2.0
2519 | dev: false
2520 |
2521 | /util-deprecate@1.0.2:
2522 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
2523 | dev: true
2524 |
2525 | /vite-tsconfig-paths@4.2.0(typescript@5.0.2)(vite@4.3.9):
2526 | resolution: {integrity: sha512-jGpus0eUy5qbbMVGiTxCL1iB9ZGN6Bd37VGLJU39kTDD6ZfULTTb1bcc5IeTWqWJKiWV5YihCaibeASPiGi8kw==}
2527 | peerDependencies:
2528 | vite: '*'
2529 | peerDependenciesMeta:
2530 | vite:
2531 | optional: true
2532 | dependencies:
2533 | debug: 4.3.4
2534 | globrex: 0.1.2
2535 | tsconfck: 2.1.1(typescript@5.0.2)
2536 | vite: 4.3.9
2537 | transitivePeerDependencies:
2538 | - supports-color
2539 | - typescript
2540 | dev: false
2541 |
2542 | /vite@4.3.9:
2543 | resolution: {integrity: sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==}
2544 | engines: {node: ^14.18.0 || >=16.0.0}
2545 | hasBin: true
2546 | peerDependencies:
2547 | '@types/node': '>= 14'
2548 | less: '*'
2549 | sass: '*'
2550 | stylus: '*'
2551 | sugarss: '*'
2552 | terser: ^5.4.0
2553 | peerDependenciesMeta:
2554 | '@types/node':
2555 | optional: true
2556 | less:
2557 | optional: true
2558 | sass:
2559 | optional: true
2560 | stylus:
2561 | optional: true
2562 | sugarss:
2563 | optional: true
2564 | terser:
2565 | optional: true
2566 | dependencies:
2567 | esbuild: 0.17.19
2568 | postcss: 8.4.24
2569 | rollup: 3.26.2
2570 | optionalDependencies:
2571 | fsevents: 2.3.2
2572 |
2573 | /which@2.0.2:
2574 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
2575 | engines: {node: '>= 8'}
2576 | hasBin: true
2577 | dependencies:
2578 | isexe: 2.0.0
2579 | dev: true
2580 |
2581 | /wrappy@1.0.2:
2582 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
2583 | dev: true
2584 |
2585 | /yallist@3.1.1:
2586 | resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
2587 | dev: true
2588 |
2589 | /yallist@4.0.0:
2590 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
2591 | dev: true
2592 |
2593 | /yaml@2.3.1:
2594 | resolution: {integrity: sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==}
2595 | engines: {node: '>= 14'}
2596 | dev: true
2597 |
2598 | /yocto-queue@0.1.0:
2599 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
2600 | engines: {node: '>=10'}
2601 | dev: true
2602 |
--------------------------------------------------------------------------------