├── .gitignore
├── backend
├── src
│ ├── main
│ │ ├── resources
│ │ │ └── application.properties
│ │ └── java
│ │ │ └── de
│ │ │ └── neuefische
│ │ │ └── sharoz
│ │ │ └── backend
│ │ │ └── BackendApplication.java
│ └── test
│ │ └── java
│ │ └── de
│ │ └── neuefische
│ │ └── sharoz
│ │ └── backend
│ │ └── BackendApplicationTests.java
├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ └── maven-wrapper.properties
├── .gitignore
├── pom.xml
├── mvnw.cmd
└── mvnw
├── frontend
├── src
│ ├── vite-env.d.ts
│ ├── main.tsx
│ ├── App.css
│ ├── App.tsx
│ ├── index.css
│ └── assets
│ │ └── react.svg
├── tsconfig.node.json
├── vite.config.ts
├── .gitignore
├── index.html
├── .eslintrc.cjs
├── tsconfig.json
├── package.json
├── public
│ └── vite.svg
└── package-lock.json
├── Dockerfile
├── sonar-project.properties
└── .github
└── workflows
├── sonar-frontend.yml
├── show-logs.yml
├── maven.yml
├── sonar-backend.yml
└── deploy.yml
/.gitignore:
--------------------------------------------------------------------------------
1 | /.idea/
2 | *.iml
3 |
--------------------------------------------------------------------------------
/backend/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/frontend/src/vite-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/backend/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shreazy/flightchecker/HEAD/backend/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM openjdk:20
2 |
3 | ENV ENVIRONMENT=prod
4 |
5 | LABEL maintainer="flightchecker"
6 |
7 | EXPOSE 8080
8 |
9 | ADD backend/target/app.jar app.jar
10 |
11 | CMD [ "sh", "-c", "java -jar /app.jar" ]
--------------------------------------------------------------------------------
/backend/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.3/apache-maven-3.9.3-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar
3 |
--------------------------------------------------------------------------------
/frontend/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 |
--------------------------------------------------------------------------------
/frontend/vite.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from 'vite'
2 | import react from '@vitejs/plugin-react'
3 |
4 | // https://vitejs.dev/config/
5 | export default defineConfig({
6 | plugins: [react()],
7 | server: {
8 | proxy: {
9 | '/api': 'http: //localhost: 8080'
10 | }}
11 | })
12 |
--------------------------------------------------------------------------------
/frontend/src/main.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 | import ReactDOM from 'react-dom/client'
3 | import App from './App.tsx'
4 | import './index.css'
5 |
6 | ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render(
7 |
8 |
9 | ,
10 | )
11 |
--------------------------------------------------------------------------------
/backend/src/test/java/de/neuefische/sharoz/backend/BackendApplicationTests.java:
--------------------------------------------------------------------------------
1 | package de.neuefische.sharoz.backend;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.springframework.boot.test.context.SpringBootTest;
5 |
6 | @SpringBootTest
7 | class BackendApplicationTests {
8 |
9 | @Test
10 | void contextLoads() {
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/frontend/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | pnpm-debug.log*
8 | lerna-debug.log*
9 |
10 | node_modules
11 | dist
12 | dist-ssr
13 | *.local
14 |
15 | # Editor directories and files
16 | .vscode/*
17 | !.vscode/extensions.json
18 | .idea
19 | .DS_Store
20 | *.suo
21 | *.ntvs*
22 | *.njsproj
23 | *.sln
24 | *.sw?
25 |
--------------------------------------------------------------------------------
/frontend/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Vite + React + TS
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/backend/src/main/java/de/neuefische/sharoz/backend/BackendApplication.java:
--------------------------------------------------------------------------------
1 | package de.neuefische.sharoz.backend;
2 |
3 | import org.springframework.boot.SpringApplication;
4 | import org.springframework.boot.autoconfigure.SpringBootApplication;
5 |
6 | @SpringBootApplication
7 | public class BackendApplication {
8 |
9 | public static void main(String[] args) {
10 | SpringApplication.run(BackendApplication.class, args);
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/frontend/.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 | },
14 | }
15 |
--------------------------------------------------------------------------------
/sonar-project.properties:
--------------------------------------------------------------------------------
1 | sonar.projectKey=shreazy_flightchecker-frontend
2 | sonar.organization=shreazy
3 |
4 | # This is the name and version displayed in the SonarCloud UI.
5 | #sonar.projectName=shreazy_flightchecker-frontend
6 | #sonar.projectVersion=1.0
7 |
8 |
9 | # Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows.
10 | sonar.sources=./frontend/src
11 |
12 | # Encoding of the source code. Default is default system encoding
13 | #sonar.sourceEncoding=UTF-8
--------------------------------------------------------------------------------
/backend/.gitignore:
--------------------------------------------------------------------------------
1 | HELP.md
2 | target/
3 | !.mvn/wrapper/maven-wrapper.jar
4 | !**/src/main/**/target/
5 | !**/src/test/**/target/
6 |
7 | ### STS ###
8 | .apt_generated
9 | .classpath
10 | .factorypath
11 | .project
12 | .settings
13 | .springBeans
14 | .sts4-cache
15 |
16 | ### IntelliJ IDEA ###
17 | .idea
18 | *.iws
19 | *.iml
20 | *.ipr
21 |
22 | ### NetBeans ###
23 | /nbproject/private/
24 | /nbbuild/
25 | /dist/
26 | /nbdist/
27 | /.nb-gradle/
28 | build/
29 | !**/src/main/**/build/
30 | !**/src/test/**/build/
31 |
32 | ### VS Code ###
33 | .vscode/
34 |
--------------------------------------------------------------------------------
/.github/workflows/sonar-frontend.yml:
--------------------------------------------------------------------------------
1 | name: Sonar-frontend
2 | on:
3 | push:
4 | branches:
5 | - main
6 | pull_request:
7 | types: [opened, synchronize, reopened]
8 | jobs:
9 | sonarcloud:
10 | name: SonarCloud
11 | runs-on: ubuntu-latest
12 | steps:
13 | - uses: actions/checkout@v3
14 | with:
15 | fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
16 | - name: SonarCloud Scan
17 | uses: SonarSource/sonarcloud-github-action@master
18 | env:
19 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
20 | SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
--------------------------------------------------------------------------------
/frontend/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 | "include": ["src"],
24 | "references": [{ "path": "./tsconfig.node.json" }]
25 | }
26 |
--------------------------------------------------------------------------------
/frontend/src/App.css:
--------------------------------------------------------------------------------
1 | #root {
2 | max-width: 1280px;
3 | margin: 0 auto;
4 | padding: 2rem;
5 | text-align: center;
6 | }
7 |
8 | .logo {
9 | height: 6em;
10 | padding: 1.5em;
11 | will-change: filter;
12 | transition: filter 300ms;
13 | }
14 | .logo:hover {
15 | filter: drop-shadow(0 0 2em #646cffaa);
16 | }
17 | .logo.react:hover {
18 | filter: drop-shadow(0 0 2em #61dafbaa);
19 | }
20 |
21 | @keyframes logo-spin {
22 | from {
23 | transform: rotate(0deg);
24 | }
25 | to {
26 | transform: rotate(360deg);
27 | }
28 | }
29 |
30 | @media (prefers-reduced-motion: no-preference) {
31 | a:nth-of-type(2) .logo {
32 | animation: logo-spin infinite 20s linear;
33 | }
34 | }
35 |
36 | .card {
37 | padding: 2em;
38 | }
39 |
40 | .read-the-docs {
41 | color: #888;
42 | }
43 |
--------------------------------------------------------------------------------
/frontend/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "frontend",
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 | },
12 | "dependencies": {
13 | "react": "^18.2.0",
14 | "react-dom": "^18.2.0"
15 | },
16 | "devDependencies": {
17 | "@types/react": "^18.0.37",
18 | "@types/react-dom": "^18.0.11",
19 | "@typescript-eslint/eslint-plugin": "^5.59.0",
20 | "@typescript-eslint/parser": "^5.59.0",
21 | "@vitejs/plugin-react": "^4.0.0",
22 | "eslint": "^8.38.0",
23 | "eslint-plugin-react-hooks": "^4.6.0",
24 | "eslint-plugin-react-refresh": "^0.3.4",
25 | "typescript": "^5.0.2",
26 | "vite": "^4.3.9"
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/.github/workflows/show-logs.yml:
--------------------------------------------------------------------------------
1 | name: "Get Logs"
2 |
3 | on:
4 | workflow_dispatch:
5 |
6 | jobs:
7 | get-logs:
8 | runs-on: ubuntu-latest
9 | steps:
10 | - name: Get logs from docker
11 | uses: appleboy/ssh-action@master
12 | with:
13 | host: capstone-project.de
14 | #Set App Name (replace "example" with "alpha"-"tango")
15 | username: flightchecker
16 | password: ${{ secrets.SSH_PASSWORD }}
17 | #Set App Name (replace "example" with "alpha"-"tango")
18 | script: |
19 | sudo docker logs flightchecker
20 | - name: Check the deployed service URL
21 | uses: jtalk/url-health-check-action@v3
22 | with:
23 | #Set App Name (replace "example" with "alpha"-"tango")
24 | url: http://cgn-java-23-2-sharoz.capstone-project.de
25 | max-attempts: 3
26 | retry-delay: 5s
27 | retry-all: true
--------------------------------------------------------------------------------
/.github/workflows/maven.yml:
--------------------------------------------------------------------------------
1 | # This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time
2 | # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-maven
3 |
4 | # This workflow uses actions that are not certified by GitHub.
5 | # They are provided by a third-party and are governed by
6 | # separate terms of service, privacy policy, and support
7 | # documentation.
8 |
9 | name: Java CI with Maven
10 |
11 | on:
12 | push:
13 | branches: [ "main" ]
14 | pull_request:
15 | branches: [ "main" ]
16 |
17 | jobs:
18 | build:
19 |
20 | runs-on: ubuntu-latest
21 |
22 | steps:
23 | - uses: actions/checkout@v3
24 | - name: Set up JDK 20
25 | uses: actions/setup-java@v3
26 | with:
27 | java-version: '20'
28 | distribution: 'temurin'
29 | cache: maven
30 | - name: Build with Maven
31 | run: mvn -B package --file backend/pom.xml
32 |
--------------------------------------------------------------------------------
/frontend/src/App.tsx:
--------------------------------------------------------------------------------
1 | import { useState } from 'react'
2 | import reactLogo from './assets/react.svg'
3 | import viteLogo from '/vite.svg'
4 | import './App.css'
5 |
6 | function App() {
7 | const [count, setCount] = useState(0)
8 |
9 | return (
10 | <>
11 |
19 | Vite + React
20 |
21 |
24 |
25 | Edit src/App.tsx and save to test HMR
26 |
27 |
28 |
29 | Click on the Vite and React logos to learn more
30 |
31 | >
32 | )
33 | }
34 |
35 | export default App
36 |
--------------------------------------------------------------------------------
/.github/workflows/sonar-backend.yml:
--------------------------------------------------------------------------------
1 | name: SonarCloud-backend
2 | on:
3 | push:
4 | branches:
5 | - main
6 | pull_request:
7 | types: [opened, synchronize, reopened]
8 | jobs:
9 | build:
10 | name: Build and analyze
11 | runs-on: ubuntu-latest
12 | steps:
13 | - uses: actions/checkout@v3
14 | with:
15 | fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
16 | - name: Set up JDK 20
17 | uses: actions/setup-java@v3
18 | with:
19 | java-version: 20
20 | distribution: 'zulu' # Alternative distribution options are available.
21 | - name: Cache SonarCloud packages
22 | uses: actions/cache@v3
23 | with:
24 | path: ~/.sonar/cache
25 | key: ${{ runner.os }}-sonar
26 | restore-keys: ${{ runner.os }}-sonar
27 | - name: Cache Maven packages
28 | uses: actions/cache@v3
29 | with:
30 | path: ~/.m2
31 | key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
32 | restore-keys: ${{ runner.os }}-m2
33 | - name: Build and analyze
34 | env:
35 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
36 | SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
37 | run: mvn -B verify org.sonarsource.scanner.maven:sonar-maven-plugin:sonar -Dsonar.projectKey=shreazy_flightchecker-backend --file backend/pom.xml
--------------------------------------------------------------------------------
/frontend/public/vite.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/frontend/src/index.css:
--------------------------------------------------------------------------------
1 | :root {
2 | font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
3 | line-height: 1.5;
4 | font-weight: 400;
5 |
6 | color-scheme: light dark;
7 | color: rgba(255, 255, 255, 0.87);
8 | background-color: #242424;
9 |
10 | font-synthesis: none;
11 | text-rendering: optimizeLegibility;
12 | -webkit-font-smoothing: antialiased;
13 | -moz-osx-font-smoothing: grayscale;
14 | -webkit-text-size-adjust: 100%;
15 | }
16 |
17 | a {
18 | font-weight: 500;
19 | color: #646cff;
20 | text-decoration: inherit;
21 | }
22 | a:hover {
23 | color: #535bf2;
24 | }
25 |
26 | body {
27 | margin: 0;
28 | display: flex;
29 | place-items: center;
30 | min-width: 320px;
31 | min-height: 100vh;
32 | }
33 |
34 | h1 {
35 | font-size: 3.2em;
36 | line-height: 1.1;
37 | }
38 |
39 | button {
40 | border-radius: 8px;
41 | border: 1px solid transparent;
42 | padding: 0.6em 1.2em;
43 | font-size: 1em;
44 | font-weight: 500;
45 | font-family: inherit;
46 | background-color: #1a1a1a;
47 | cursor: pointer;
48 | transition: border-color 0.25s;
49 | }
50 | button:hover {
51 | border-color: #646cff;
52 | }
53 | button:focus,
54 | button:focus-visible {
55 | outline: 4px auto -webkit-focus-ring-color;
56 | }
57 |
58 | @media (prefers-color-scheme: light) {
59 | :root {
60 | color: #213547;
61 | background-color: #ffffff;
62 | }
63 | a:hover {
64 | color: #747bff;
65 | }
66 | button {
67 | background-color: #f9f9f9;
68 | }
69 | }
70 |
--------------------------------------------------------------------------------
/backend/pom.xml:
--------------------------------------------------------------------------------
1 |
4 | 4.0.0
5 |
6 | de.neuefische.sharoz
7 | backend
8 | 0.0.1-SNAPSHOT
9 |
10 | org.springframework.boot
11 | spring-boot-starter-parent
12 | 2.4.4
13 |
14 |
15 |
16 | 17
17 | shreazy
18 | https://sonarcloud.io
19 | shreazy_flightchecker-backend
20 |
21 |
22 |
23 |
24 | org.springframework.boot
25 | spring-boot-starter
26 |
27 |
28 |
29 |
30 | org.junit.jupiter
31 | junit-jupiter-api
32 | 5.7.0
33 | test
34 |
35 |
36 |
37 |
38 | org.junit.jupiter
39 | junit-jupiter-engine
40 | 5.7.0
41 | test
42 |
43 |
44 |
45 |
46 | org.springframework.boot
47 | spring-boot-starter-test
48 | test
49 |
50 |
51 |
52 |
53 | app
54 |
55 |
56 | org.springframework.boot
57 | spring-boot-maven-plugin
58 |
59 |
60 |
61 |
62 |
--------------------------------------------------------------------------------
/.github/workflows/deploy.yml:
--------------------------------------------------------------------------------
1 | name: "Deploy App"
2 |
3 | on:
4 | push:
5 | branches:
6 | - main
7 |
8 | jobs:
9 | build-frontend:
10 | runs-on: ubuntu-latest
11 | steps:
12 | - uses: actions/checkout@v3
13 |
14 | - uses: actions/setup-node@v3
15 | with:
16 | node-version: '18'
17 |
18 | - name: Build Frontend
19 | working-directory: frontend
20 | run: |
21 | npm install
22 | npm run build
23 |
24 | - uses: actions/upload-artifact@v3
25 | with:
26 | name: frontend-build
27 | path: frontend/dist/
28 |
29 | build-backend:
30 | runs-on: ubuntu-latest
31 | needs: build-frontend
32 | steps:
33 | - uses: actions/checkout@v2
34 |
35 | - uses: actions/download-artifact@v2
36 | with:
37 | name: frontend-build
38 | path: backend/src/main/resources/static
39 |
40 | - name: Set up JDK
41 | uses: actions/setup-java@v2
42 | with:
43 | #Set Java Version
44 | java-version: '20'
45 | distribution: 'adopt'
46 | cache: 'maven'
47 |
48 | - name: Build with maven
49 | run: mvn -B package --file backend/pom.xml
50 |
51 | - uses: actions/upload-artifact@v2
52 | with:
53 | name: app.jar
54 | path: backend/target/app.jar
55 |
56 | push-to-docker-hub:
57 | runs-on: ubuntu-latest
58 | needs: build-backend
59 | steps:
60 | - uses: actions/checkout@v2
61 |
62 | - uses: actions/download-artifact@v2
63 | with:
64 | name: app.jar
65 | path: backend/target
66 |
67 | - name: Login to DockerHub
68 | uses: docker/login-action@v1
69 | with:
70 | #Set dockerhub username
71 | username: shreazy
72 | password: ${{ secrets.DOCKERHUB_PASSWORD }}
73 |
74 | - name: Build and push
75 | uses: docker/build-push-action@v2
76 | with:
77 | push: true
78 | #Set dockerhub project (replace "bartfastiel/java-capstone-project.de-example-app")
79 | tags: shreazy/flightchecker:latest
80 | context: .
81 |
82 | deploy:
83 | runs-on: ubuntu-latest
84 | needs: push-to-docker-hub
85 | steps:
86 | - name: Restart docker container
87 | uses: appleboy/ssh-action@master
88 | with:
89 | host: capstone-project.de
90 | #Set App Name (replace "example" with your ssh user name)
91 | username: cgn-java-23-2-sharoz
92 | password: ${{ secrets.SSH_PASSWORD }}
93 | #Set App Name (replace "example" with your ssh user name)
94 | #Set dockerhub project (replace "bartfastiel/java-capstone-project.de-example-app")
95 | #Set IP (replace "10.0.1.99" with your ip address)
96 | script: |
97 | sudo docker stop cgn-java-23-2-sharoz
98 | sudo docker rm cgn-java-23-2-sharoz
99 | sudo docker run --pull=always --name cgn-java-23-2-sharoz --network capstones --ip 10.0.5.19 --restart always --detach --env MONGO_DB_URI=${{ secrets.MONGO_DB_URI }} shreazy/flightchecker:latest
100 | sleep 15s
101 | sudo docker logs cgn-java-23-2-sharoz
102 |
103 | - name: Check the deployed service URL
104 | uses: jtalk/url-health-check-action@v3
105 | with:
106 | #Set App Name (replace "example" with your ssh username)
107 | url: http://cgn-java-23-2-sharoz.capstone-project.de
108 | max-attempts: 3
109 | retry-delay: 5s
110 | retry-all: true
--------------------------------------------------------------------------------
/frontend/src/assets/react.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/backend/mvnw.cmd:
--------------------------------------------------------------------------------
1 | @REM ----------------------------------------------------------------------------
2 | @REM Licensed to the Apache Software Foundation (ASF) under one
3 | @REM or more contributor license agreements. See the NOTICE file
4 | @REM distributed with this work for additional information
5 | @REM regarding copyright ownership. The ASF licenses this file
6 | @REM to you under the Apache License, Version 2.0 (the
7 | @REM "License"); you may not use this file except in compliance
8 | @REM with the License. You may obtain a copy of the License at
9 | @REM
10 | @REM https://www.apache.org/licenses/LICENSE-2.0
11 | @REM
12 | @REM Unless required by applicable law or agreed to in writing,
13 | @REM software distributed under the License is distributed on an
14 | @REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 | @REM KIND, either express or implied. See the License for the
16 | @REM specific language governing permissions and limitations
17 | @REM under the License.
18 | @REM ----------------------------------------------------------------------------
19 |
20 | @REM ----------------------------------------------------------------------------
21 | @REM Apache Maven Wrapper startup batch script, version 3.2.0
22 | @REM
23 | @REM Required ENV vars:
24 | @REM JAVA_HOME - location of a JDK home dir
25 | @REM
26 | @REM Optional ENV vars
27 | @REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
28 | @REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending
29 | @REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
30 | @REM e.g. to debug Maven itself, use
31 | @REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
32 | @REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
33 | @REM ----------------------------------------------------------------------------
34 |
35 | @REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
36 | @echo off
37 | @REM set title of command window
38 | title %0
39 | @REM enable echoing by setting MAVEN_BATCH_ECHO to 'on'
40 | @if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO%
41 |
42 | @REM set %HOME% to equivalent of $HOME
43 | if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%")
44 |
45 | @REM Execute a user defined script before this one
46 | if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre
47 | @REM check for pre script, once with legacy .bat ending and once with .cmd ending
48 | if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %*
49 | if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %*
50 | :skipRcPre
51 |
52 | @setlocal
53 |
54 | set ERROR_CODE=0
55 |
56 | @REM To isolate internal variables from possible post scripts, we use another setlocal
57 | @setlocal
58 |
59 | @REM ==== START VALIDATION ====
60 | if not "%JAVA_HOME%" == "" goto OkJHome
61 |
62 | echo.
63 | echo Error: JAVA_HOME not found in your environment. >&2
64 | echo Please set the JAVA_HOME variable in your environment to match the >&2
65 | echo location of your Java installation. >&2
66 | echo.
67 | goto error
68 |
69 | :OkJHome
70 | if exist "%JAVA_HOME%\bin\java.exe" goto init
71 |
72 | echo.
73 | echo Error: JAVA_HOME is set to an invalid directory. >&2
74 | echo JAVA_HOME = "%JAVA_HOME%" >&2
75 | echo Please set the JAVA_HOME variable in your environment to match the >&2
76 | echo location of your Java installation. >&2
77 | echo.
78 | goto error
79 |
80 | @REM ==== END VALIDATION ====
81 |
82 | :init
83 |
84 | @REM Find the project base dir, i.e. the directory that contains the folder ".mvn".
85 | @REM Fallback to current working directory if not found.
86 |
87 | set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%
88 | IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir
89 |
90 | set EXEC_DIR=%CD%
91 | set WDIR=%EXEC_DIR%
92 | :findBaseDir
93 | IF EXIST "%WDIR%"\.mvn goto baseDirFound
94 | cd ..
95 | IF "%WDIR%"=="%CD%" goto baseDirNotFound
96 | set WDIR=%CD%
97 | goto findBaseDir
98 |
99 | :baseDirFound
100 | set MAVEN_PROJECTBASEDIR=%WDIR%
101 | cd "%EXEC_DIR%"
102 | goto endDetectBaseDir
103 |
104 | :baseDirNotFound
105 | set MAVEN_PROJECTBASEDIR=%EXEC_DIR%
106 | cd "%EXEC_DIR%"
107 |
108 | :endDetectBaseDir
109 |
110 | IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig
111 |
112 | @setlocal EnableExtensions EnableDelayedExpansion
113 | for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a
114 | @endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS%
115 |
116 | :endReadAdditionalConfig
117 |
118 | SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
119 | set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar"
120 | set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
121 |
122 | set WRAPPER_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar"
123 |
124 | FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO (
125 | IF "%%A"=="wrapperUrl" SET WRAPPER_URL=%%B
126 | )
127 |
128 | @REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
129 | @REM This allows using the maven wrapper in projects that prohibit checking in binary data.
130 | if exist %WRAPPER_JAR% (
131 | if "%MVNW_VERBOSE%" == "true" (
132 | echo Found %WRAPPER_JAR%
133 | )
134 | ) else (
135 | if not "%MVNW_REPOURL%" == "" (
136 | SET WRAPPER_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar"
137 | )
138 | if "%MVNW_VERBOSE%" == "true" (
139 | echo Couldn't find %WRAPPER_JAR%, downloading it ...
140 | echo Downloading from: %WRAPPER_URL%
141 | )
142 |
143 | powershell -Command "&{"^
144 | "$webclient = new-object System.Net.WebClient;"^
145 | "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^
146 | "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^
147 | "}"^
148 | "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%WRAPPER_URL%', '%WRAPPER_JAR%')"^
149 | "}"
150 | if "%MVNW_VERBOSE%" == "true" (
151 | echo Finished downloading %WRAPPER_JAR%
152 | )
153 | )
154 | @REM End of extension
155 |
156 | @REM If specified, validate the SHA-256 sum of the Maven wrapper jar file
157 | SET WRAPPER_SHA_256_SUM=""
158 | FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO (
159 | IF "%%A"=="wrapperSha256Sum" SET WRAPPER_SHA_256_SUM=%%B
160 | )
161 | IF NOT %WRAPPER_SHA_256_SUM%=="" (
162 | powershell -Command "&{"^
163 | "$hash = (Get-FileHash \"%WRAPPER_JAR%\" -Algorithm SHA256).Hash.ToLower();"^
164 | "If('%WRAPPER_SHA_256_SUM%' -ne $hash){"^
165 | " Write-Output 'Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised.';"^
166 | " Write-Output 'Investigate or delete %WRAPPER_JAR% to attempt a clean download.';"^
167 | " Write-Output 'If you updated your Maven version, you need to update the specified wrapperSha256Sum property.';"^
168 | " exit 1;"^
169 | "}"^
170 | "}"
171 | if ERRORLEVEL 1 goto error
172 | )
173 |
174 | @REM Provide a "standardized" way to retrieve the CLI args that will
175 | @REM work with both Windows and non-Windows executions.
176 | set MAVEN_CMD_LINE_ARGS=%*
177 |
178 | %MAVEN_JAVA_EXE% ^
179 | %JVM_CONFIG_MAVEN_PROPS% ^
180 | %MAVEN_OPTS% ^
181 | %MAVEN_DEBUG_OPTS% ^
182 | -classpath %WRAPPER_JAR% ^
183 | "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^
184 | %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %*
185 | if ERRORLEVEL 1 goto error
186 | goto end
187 |
188 | :error
189 | set ERROR_CODE=1
190 |
191 | :end
192 | @endlocal & set ERROR_CODE=%ERROR_CODE%
193 |
194 | if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost
195 | @REM check for post script, once with legacy .bat ending and once with .cmd ending
196 | if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat"
197 | if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd"
198 | :skipRcPost
199 |
200 | @REM pause the script if MAVEN_BATCH_PAUSE is set to 'on'
201 | if "%MAVEN_BATCH_PAUSE%"=="on" pause
202 |
203 | if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE%
204 |
205 | cmd /C exit /B %ERROR_CODE%
206 |
--------------------------------------------------------------------------------
/backend/mvnw:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | # ----------------------------------------------------------------------------
3 | # Licensed to the Apache Software Foundation (ASF) under one
4 | # or more contributor license agreements. See the NOTICE file
5 | # distributed with this work for additional information
6 | # regarding copyright ownership. The ASF licenses this file
7 | # to you under the Apache License, Version 2.0 (the
8 | # "License"); you may not use this file except in compliance
9 | # with the License. You may obtain a copy of the License at
10 | #
11 | # https://www.apache.org/licenses/LICENSE-2.0
12 | #
13 | # Unless required by applicable law or agreed to in writing,
14 | # software distributed under the License is distributed on an
15 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 | # KIND, either express or implied. See the License for the
17 | # specific language governing permissions and limitations
18 | # under the License.
19 | # ----------------------------------------------------------------------------
20 |
21 | # ----------------------------------------------------------------------------
22 | # Apache Maven Wrapper startup batch script, version 3.2.0
23 | #
24 | # Required ENV vars:
25 | # ------------------
26 | # JAVA_HOME - location of a JDK home dir
27 | #
28 | # Optional ENV vars
29 | # -----------------
30 | # MAVEN_OPTS - parameters passed to the Java VM when running Maven
31 | # e.g. to debug Maven itself, use
32 | # set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
33 | # MAVEN_SKIP_RC - flag to disable loading of mavenrc files
34 | # ----------------------------------------------------------------------------
35 |
36 | if [ -z "$MAVEN_SKIP_RC" ] ; then
37 |
38 | if [ -f /usr/local/etc/mavenrc ] ; then
39 | . /usr/local/etc/mavenrc
40 | fi
41 |
42 | if [ -f /etc/mavenrc ] ; then
43 | . /etc/mavenrc
44 | fi
45 |
46 | if [ -f "$HOME/.mavenrc" ] ; then
47 | . "$HOME/.mavenrc"
48 | fi
49 |
50 | fi
51 |
52 | # OS specific support. $var _must_ be set to either true or false.
53 | cygwin=false;
54 | darwin=false;
55 | mingw=false
56 | case "$(uname)" in
57 | CYGWIN*) cygwin=true ;;
58 | MINGW*) mingw=true;;
59 | Darwin*) darwin=true
60 | # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home
61 | # See https://developer.apple.com/library/mac/qa/qa1170/_index.html
62 | if [ -z "$JAVA_HOME" ]; then
63 | if [ -x "/usr/libexec/java_home" ]; then
64 | JAVA_HOME="$(/usr/libexec/java_home)"; export JAVA_HOME
65 | else
66 | JAVA_HOME="/Library/Java/Home"; export JAVA_HOME
67 | fi
68 | fi
69 | ;;
70 | esac
71 |
72 | if [ -z "$JAVA_HOME" ] ; then
73 | if [ -r /etc/gentoo-release ] ; then
74 | JAVA_HOME=$(java-config --jre-home)
75 | fi
76 | fi
77 |
78 | # For Cygwin, ensure paths are in UNIX format before anything is touched
79 | if $cygwin ; then
80 | [ -n "$JAVA_HOME" ] &&
81 | JAVA_HOME=$(cygpath --unix "$JAVA_HOME")
82 | [ -n "$CLASSPATH" ] &&
83 | CLASSPATH=$(cygpath --path --unix "$CLASSPATH")
84 | fi
85 |
86 | # For Mingw, ensure paths are in UNIX format before anything is touched
87 | if $mingw ; then
88 | [ -n "$JAVA_HOME" ] && [ -d "$JAVA_HOME" ] &&
89 | JAVA_HOME="$(cd "$JAVA_HOME" || (echo "cannot cd into $JAVA_HOME."; exit 1); pwd)"
90 | fi
91 |
92 | if [ -z "$JAVA_HOME" ]; then
93 | javaExecutable="$(which javac)"
94 | if [ -n "$javaExecutable" ] && ! [ "$(expr "\"$javaExecutable\"" : '\([^ ]*\)')" = "no" ]; then
95 | # readlink(1) is not available as standard on Solaris 10.
96 | readLink=$(which readlink)
97 | if [ ! "$(expr "$readLink" : '\([^ ]*\)')" = "no" ]; then
98 | if $darwin ; then
99 | javaHome="$(dirname "\"$javaExecutable\"")"
100 | javaExecutable="$(cd "\"$javaHome\"" && pwd -P)/javac"
101 | else
102 | javaExecutable="$(readlink -f "\"$javaExecutable\"")"
103 | fi
104 | javaHome="$(dirname "\"$javaExecutable\"")"
105 | javaHome=$(expr "$javaHome" : '\(.*\)/bin')
106 | JAVA_HOME="$javaHome"
107 | export JAVA_HOME
108 | fi
109 | fi
110 | fi
111 |
112 | if [ -z "$JAVACMD" ] ; then
113 | if [ -n "$JAVA_HOME" ] ; then
114 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
115 | # IBM's JDK on AIX uses strange locations for the executables
116 | JAVACMD="$JAVA_HOME/jre/sh/java"
117 | else
118 | JAVACMD="$JAVA_HOME/bin/java"
119 | fi
120 | else
121 | JAVACMD="$(\unset -f command 2>/dev/null; \command -v java)"
122 | fi
123 | fi
124 |
125 | if [ ! -x "$JAVACMD" ] ; then
126 | echo "Error: JAVA_HOME is not defined correctly." >&2
127 | echo " We cannot execute $JAVACMD" >&2
128 | exit 1
129 | fi
130 |
131 | if [ -z "$JAVA_HOME" ] ; then
132 | echo "Warning: JAVA_HOME environment variable is not set."
133 | fi
134 |
135 | # traverses directory structure from process work directory to filesystem root
136 | # first directory with .mvn subdirectory is considered project base directory
137 | find_maven_basedir() {
138 | if [ -z "$1" ]
139 | then
140 | echo "Path not specified to find_maven_basedir"
141 | return 1
142 | fi
143 |
144 | basedir="$1"
145 | wdir="$1"
146 | while [ "$wdir" != '/' ] ; do
147 | if [ -d "$wdir"/.mvn ] ; then
148 | basedir=$wdir
149 | break
150 | fi
151 | # workaround for JBEAP-8937 (on Solaris 10/Sparc)
152 | if [ -d "${wdir}" ]; then
153 | wdir=$(cd "$wdir/.." || exit 1; pwd)
154 | fi
155 | # end of workaround
156 | done
157 | printf '%s' "$(cd "$basedir" || exit 1; pwd)"
158 | }
159 |
160 | # concatenates all lines of a file
161 | concat_lines() {
162 | if [ -f "$1" ]; then
163 | # Remove \r in case we run on Windows within Git Bash
164 | # and check out the repository with auto CRLF management
165 | # enabled. Otherwise, we may read lines that are delimited with
166 | # \r\n and produce $'-Xarg\r' rather than -Xarg due to word
167 | # splitting rules.
168 | tr -s '\r\n' ' ' < "$1"
169 | fi
170 | }
171 |
172 | log() {
173 | if [ "$MVNW_VERBOSE" = true ]; then
174 | printf '%s\n' "$1"
175 | fi
176 | }
177 |
178 | BASE_DIR=$(find_maven_basedir "$(dirname "$0")")
179 | if [ -z "$BASE_DIR" ]; then
180 | exit 1;
181 | fi
182 |
183 | MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}; export MAVEN_PROJECTBASEDIR
184 | log "$MAVEN_PROJECTBASEDIR"
185 |
186 | ##########################################################################################
187 | # Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
188 | # This allows using the maven wrapper in projects that prohibit checking in binary data.
189 | ##########################################################################################
190 | wrapperJarPath="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar"
191 | if [ -r "$wrapperJarPath" ]; then
192 | log "Found $wrapperJarPath"
193 | else
194 | log "Couldn't find $wrapperJarPath, downloading it ..."
195 |
196 | if [ -n "$MVNW_REPOURL" ]; then
197 | wrapperUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar"
198 | else
199 | wrapperUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar"
200 | fi
201 | while IFS="=" read -r key value; do
202 | # Remove '\r' from value to allow usage on windows as IFS does not consider '\r' as a separator ( considers space, tab, new line ('\n'), and custom '=' )
203 | safeValue=$(echo "$value" | tr -d '\r')
204 | case "$key" in (wrapperUrl) wrapperUrl="$safeValue"; break ;;
205 | esac
206 | done < "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties"
207 | log "Downloading from: $wrapperUrl"
208 |
209 | if $cygwin; then
210 | wrapperJarPath=$(cygpath --path --windows "$wrapperJarPath")
211 | fi
212 |
213 | if command -v wget > /dev/null; then
214 | log "Found wget ... using wget"
215 | [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--quiet"
216 | if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
217 | wget $QUIET "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath"
218 | else
219 | wget $QUIET --http-user="$MVNW_USERNAME" --http-password="$MVNW_PASSWORD" "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath"
220 | fi
221 | elif command -v curl > /dev/null; then
222 | log "Found curl ... using curl"
223 | [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--silent"
224 | if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
225 | curl $QUIET -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath"
226 | else
227 | curl $QUIET --user "$MVNW_USERNAME:$MVNW_PASSWORD" -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath"
228 | fi
229 | else
230 | log "Falling back to using Java to download"
231 | javaSource="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.java"
232 | javaClass="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.class"
233 | # For Cygwin, switch paths to Windows format before running javac
234 | if $cygwin; then
235 | javaSource=$(cygpath --path --windows "$javaSource")
236 | javaClass=$(cygpath --path --windows "$javaClass")
237 | fi
238 | if [ -e "$javaSource" ]; then
239 | if [ ! -e "$javaClass" ]; then
240 | log " - Compiling MavenWrapperDownloader.java ..."
241 | ("$JAVA_HOME/bin/javac" "$javaSource")
242 | fi
243 | if [ -e "$javaClass" ]; then
244 | log " - Running MavenWrapperDownloader.java ..."
245 | ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$wrapperUrl" "$wrapperJarPath") || rm -f "$wrapperJarPath"
246 | fi
247 | fi
248 | fi
249 | fi
250 | ##########################################################################################
251 | # End of extension
252 | ##########################################################################################
253 |
254 | # If specified, validate the SHA-256 sum of the Maven wrapper jar file
255 | wrapperSha256Sum=""
256 | while IFS="=" read -r key value; do
257 | case "$key" in (wrapperSha256Sum) wrapperSha256Sum=$value; break ;;
258 | esac
259 | done < "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties"
260 | if [ -n "$wrapperSha256Sum" ]; then
261 | wrapperSha256Result=false
262 | if command -v sha256sum > /dev/null; then
263 | if echo "$wrapperSha256Sum $wrapperJarPath" | sha256sum -c > /dev/null 2>&1; then
264 | wrapperSha256Result=true
265 | fi
266 | elif command -v shasum > /dev/null; then
267 | if echo "$wrapperSha256Sum $wrapperJarPath" | shasum -a 256 -c > /dev/null 2>&1; then
268 | wrapperSha256Result=true
269 | fi
270 | else
271 | echo "Checksum validation was requested but neither 'sha256sum' or 'shasum' are available."
272 | echo "Please install either command, or disable validation by removing 'wrapperSha256Sum' from your maven-wrapper.properties."
273 | exit 1
274 | fi
275 | if [ $wrapperSha256Result = false ]; then
276 | echo "Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised." >&2
277 | echo "Investigate or delete $wrapperJarPath to attempt a clean download." >&2
278 | echo "If you updated your Maven version, you need to update the specified wrapperSha256Sum property." >&2
279 | exit 1
280 | fi
281 | fi
282 |
283 | MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
284 |
285 | # For Cygwin, switch paths to Windows format before running java
286 | if $cygwin; then
287 | [ -n "$JAVA_HOME" ] &&
288 | JAVA_HOME=$(cygpath --path --windows "$JAVA_HOME")
289 | [ -n "$CLASSPATH" ] &&
290 | CLASSPATH=$(cygpath --path --windows "$CLASSPATH")
291 | [ -n "$MAVEN_PROJECTBASEDIR" ] &&
292 | MAVEN_PROJECTBASEDIR=$(cygpath --path --windows "$MAVEN_PROJECTBASEDIR")
293 | fi
294 |
295 | # Provide a "standardized" way to retrieve the CLI args that will
296 | # work with both Windows and non-Windows executions.
297 | MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $*"
298 | export MAVEN_CMD_LINE_ARGS
299 |
300 | WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
301 |
302 | # shellcheck disable=SC2086 # safe args
303 | exec "$JAVACMD" \
304 | $MAVEN_OPTS \
305 | $MAVEN_DEBUG_OPTS \
306 | -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
307 | "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
308 | ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@"
309 |
--------------------------------------------------------------------------------
/frontend/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "frontend",
3 | "version": "0.0.0",
4 | "lockfileVersion": 3,
5 | "requires": true,
6 | "packages": {
7 | "": {
8 | "name": "frontend",
9 | "version": "0.0.0",
10 | "dependencies": {
11 | "react": "^18.2.0",
12 | "react-dom": "^18.2.0"
13 | },
14 | "devDependencies": {
15 | "@types/react": "^18.0.37",
16 | "@types/react-dom": "^18.0.11",
17 | "@typescript-eslint/eslint-plugin": "^5.59.0",
18 | "@typescript-eslint/parser": "^5.59.0",
19 | "@vitejs/plugin-react": "^4.0.0",
20 | "eslint": "^8.38.0",
21 | "eslint-plugin-react-hooks": "^4.6.0",
22 | "eslint-plugin-react-refresh": "^0.3.4",
23 | "typescript": "^5.0.2",
24 | "vite": "^4.3.9"
25 | }
26 | },
27 | "node_modules/@aashutoshrathi/word-wrap": {
28 | "version": "1.2.6",
29 | "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz",
30 | "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==",
31 | "dev": true,
32 | "engines": {
33 | "node": ">=0.10.0"
34 | }
35 | },
36 | "node_modules/@ampproject/remapping": {
37 | "version": "2.2.1",
38 | "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz",
39 | "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==",
40 | "dev": true,
41 | "dependencies": {
42 | "@jridgewell/gen-mapping": "^0.3.0",
43 | "@jridgewell/trace-mapping": "^0.3.9"
44 | },
45 | "engines": {
46 | "node": ">=6.0.0"
47 | }
48 | },
49 | "node_modules/@babel/code-frame": {
50 | "version": "7.22.5",
51 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz",
52 | "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==",
53 | "dev": true,
54 | "dependencies": {
55 | "@babel/highlight": "^7.22.5"
56 | },
57 | "engines": {
58 | "node": ">=6.9.0"
59 | }
60 | },
61 | "node_modules/@babel/compat-data": {
62 | "version": "7.22.9",
63 | "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.9.tgz",
64 | "integrity": "sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==",
65 | "dev": true,
66 | "engines": {
67 | "node": ">=6.9.0"
68 | }
69 | },
70 | "node_modules/@babel/core": {
71 | "version": "7.22.9",
72 | "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.9.tgz",
73 | "integrity": "sha512-G2EgeufBcYw27U4hhoIwFcgc1XU7TlXJ3mv04oOv1WCuo900U/anZSPzEqNjwdjgffkk2Gs0AN0dW1CKVLcG7w==",
74 | "dev": true,
75 | "dependencies": {
76 | "@ampproject/remapping": "^2.2.0",
77 | "@babel/code-frame": "^7.22.5",
78 | "@babel/generator": "^7.22.9",
79 | "@babel/helper-compilation-targets": "^7.22.9",
80 | "@babel/helper-module-transforms": "^7.22.9",
81 | "@babel/helpers": "^7.22.6",
82 | "@babel/parser": "^7.22.7",
83 | "@babel/template": "^7.22.5",
84 | "@babel/traverse": "^7.22.8",
85 | "@babel/types": "^7.22.5",
86 | "convert-source-map": "^1.7.0",
87 | "debug": "^4.1.0",
88 | "gensync": "^1.0.0-beta.2",
89 | "json5": "^2.2.2",
90 | "semver": "^6.3.1"
91 | },
92 | "engines": {
93 | "node": ">=6.9.0"
94 | },
95 | "funding": {
96 | "type": "opencollective",
97 | "url": "https://opencollective.com/babel"
98 | }
99 | },
100 | "node_modules/@babel/core/node_modules/semver": {
101 | "version": "6.3.1",
102 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
103 | "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
104 | "dev": true,
105 | "bin": {
106 | "semver": "bin/semver.js"
107 | }
108 | },
109 | "node_modules/@babel/generator": {
110 | "version": "7.22.9",
111 | "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.9.tgz",
112 | "integrity": "sha512-KtLMbmicyuK2Ak/FTCJVbDnkN1SlT8/kceFTiuDiiRUUSMnHMidxSCdG4ndkTOHHpoomWe/4xkvHkEOncwjYIw==",
113 | "dev": true,
114 | "dependencies": {
115 | "@babel/types": "^7.22.5",
116 | "@jridgewell/gen-mapping": "^0.3.2",
117 | "@jridgewell/trace-mapping": "^0.3.17",
118 | "jsesc": "^2.5.1"
119 | },
120 | "engines": {
121 | "node": ">=6.9.0"
122 | }
123 | },
124 | "node_modules/@babel/helper-compilation-targets": {
125 | "version": "7.22.9",
126 | "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.9.tgz",
127 | "integrity": "sha512-7qYrNM6HjpnPHJbopxmb8hSPoZ0gsX8IvUS32JGVoy+pU9e5N0nLr1VjJoR6kA4d9dmGLxNYOjeB8sUDal2WMw==",
128 | "dev": true,
129 | "dependencies": {
130 | "@babel/compat-data": "^7.22.9",
131 | "@babel/helper-validator-option": "^7.22.5",
132 | "browserslist": "^4.21.9",
133 | "lru-cache": "^5.1.1",
134 | "semver": "^6.3.1"
135 | },
136 | "engines": {
137 | "node": ">=6.9.0"
138 | },
139 | "peerDependencies": {
140 | "@babel/core": "^7.0.0"
141 | }
142 | },
143 | "node_modules/@babel/helper-compilation-targets/node_modules/semver": {
144 | "version": "6.3.1",
145 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
146 | "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
147 | "dev": true,
148 | "bin": {
149 | "semver": "bin/semver.js"
150 | }
151 | },
152 | "node_modules/@babel/helper-environment-visitor": {
153 | "version": "7.22.5",
154 | "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz",
155 | "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==",
156 | "dev": true,
157 | "engines": {
158 | "node": ">=6.9.0"
159 | }
160 | },
161 | "node_modules/@babel/helper-function-name": {
162 | "version": "7.22.5",
163 | "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz",
164 | "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==",
165 | "dev": true,
166 | "dependencies": {
167 | "@babel/template": "^7.22.5",
168 | "@babel/types": "^7.22.5"
169 | },
170 | "engines": {
171 | "node": ">=6.9.0"
172 | }
173 | },
174 | "node_modules/@babel/helper-hoist-variables": {
175 | "version": "7.22.5",
176 | "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz",
177 | "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==",
178 | "dev": true,
179 | "dependencies": {
180 | "@babel/types": "^7.22.5"
181 | },
182 | "engines": {
183 | "node": ">=6.9.0"
184 | }
185 | },
186 | "node_modules/@babel/helper-module-imports": {
187 | "version": "7.22.5",
188 | "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz",
189 | "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==",
190 | "dev": true,
191 | "dependencies": {
192 | "@babel/types": "^7.22.5"
193 | },
194 | "engines": {
195 | "node": ">=6.9.0"
196 | }
197 | },
198 | "node_modules/@babel/helper-module-transforms": {
199 | "version": "7.22.9",
200 | "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz",
201 | "integrity": "sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==",
202 | "dev": true,
203 | "dependencies": {
204 | "@babel/helper-environment-visitor": "^7.22.5",
205 | "@babel/helper-module-imports": "^7.22.5",
206 | "@babel/helper-simple-access": "^7.22.5",
207 | "@babel/helper-split-export-declaration": "^7.22.6",
208 | "@babel/helper-validator-identifier": "^7.22.5"
209 | },
210 | "engines": {
211 | "node": ">=6.9.0"
212 | },
213 | "peerDependencies": {
214 | "@babel/core": "^7.0.0"
215 | }
216 | },
217 | "node_modules/@babel/helper-plugin-utils": {
218 | "version": "7.22.5",
219 | "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz",
220 | "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==",
221 | "dev": true,
222 | "engines": {
223 | "node": ">=6.9.0"
224 | }
225 | },
226 | "node_modules/@babel/helper-simple-access": {
227 | "version": "7.22.5",
228 | "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz",
229 | "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==",
230 | "dev": true,
231 | "dependencies": {
232 | "@babel/types": "^7.22.5"
233 | },
234 | "engines": {
235 | "node": ">=6.9.0"
236 | }
237 | },
238 | "node_modules/@babel/helper-split-export-declaration": {
239 | "version": "7.22.6",
240 | "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz",
241 | "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==",
242 | "dev": true,
243 | "dependencies": {
244 | "@babel/types": "^7.22.5"
245 | },
246 | "engines": {
247 | "node": ">=6.9.0"
248 | }
249 | },
250 | "node_modules/@babel/helper-string-parser": {
251 | "version": "7.22.5",
252 | "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz",
253 | "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==",
254 | "dev": true,
255 | "engines": {
256 | "node": ">=6.9.0"
257 | }
258 | },
259 | "node_modules/@babel/helper-validator-identifier": {
260 | "version": "7.22.5",
261 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz",
262 | "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==",
263 | "dev": true,
264 | "engines": {
265 | "node": ">=6.9.0"
266 | }
267 | },
268 | "node_modules/@babel/helper-validator-option": {
269 | "version": "7.22.5",
270 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz",
271 | "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==",
272 | "dev": true,
273 | "engines": {
274 | "node": ">=6.9.0"
275 | }
276 | },
277 | "node_modules/@babel/helpers": {
278 | "version": "7.22.6",
279 | "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.6.tgz",
280 | "integrity": "sha512-YjDs6y/fVOYFV8hAf1rxd1QvR9wJe1pDBZ2AREKq/SDayfPzgk0PBnVuTCE5X1acEpMMNOVUqoe+OwiZGJ+OaA==",
281 | "dev": true,
282 | "dependencies": {
283 | "@babel/template": "^7.22.5",
284 | "@babel/traverse": "^7.22.6",
285 | "@babel/types": "^7.22.5"
286 | },
287 | "engines": {
288 | "node": ">=6.9.0"
289 | }
290 | },
291 | "node_modules/@babel/highlight": {
292 | "version": "7.22.5",
293 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz",
294 | "integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==",
295 | "dev": true,
296 | "dependencies": {
297 | "@babel/helper-validator-identifier": "^7.22.5",
298 | "chalk": "^2.0.0",
299 | "js-tokens": "^4.0.0"
300 | },
301 | "engines": {
302 | "node": ">=6.9.0"
303 | }
304 | },
305 | "node_modules/@babel/parser": {
306 | "version": "7.22.7",
307 | "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.7.tgz",
308 | "integrity": "sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q==",
309 | "dev": true,
310 | "bin": {
311 | "parser": "bin/babel-parser.js"
312 | },
313 | "engines": {
314 | "node": ">=6.0.0"
315 | }
316 | },
317 | "node_modules/@babel/plugin-transform-react-jsx-self": {
318 | "version": "7.22.5",
319 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.22.5.tgz",
320 | "integrity": "sha512-nTh2ogNUtxbiSbxaT4Ds6aXnXEipHweN9YRgOX/oNXdf0cCrGn/+2LozFa3lnPV5D90MkjhgckCPBrsoSc1a7g==",
321 | "dev": true,
322 | "dependencies": {
323 | "@babel/helper-plugin-utils": "^7.22.5"
324 | },
325 | "engines": {
326 | "node": ">=6.9.0"
327 | },
328 | "peerDependencies": {
329 | "@babel/core": "^7.0.0-0"
330 | }
331 | },
332 | "node_modules/@babel/plugin-transform-react-jsx-source": {
333 | "version": "7.22.5",
334 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.22.5.tgz",
335 | "integrity": "sha512-yIiRO6yobeEIaI0RTbIr8iAK9FcBHLtZq0S89ZPjDLQXBA4xvghaKqI0etp/tF3htTM0sazJKKLz9oEiGRtu7w==",
336 | "dev": true,
337 | "dependencies": {
338 | "@babel/helper-plugin-utils": "^7.22.5"
339 | },
340 | "engines": {
341 | "node": ">=6.9.0"
342 | },
343 | "peerDependencies": {
344 | "@babel/core": "^7.0.0-0"
345 | }
346 | },
347 | "node_modules/@babel/template": {
348 | "version": "7.22.5",
349 | "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz",
350 | "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==",
351 | "dev": true,
352 | "dependencies": {
353 | "@babel/code-frame": "^7.22.5",
354 | "@babel/parser": "^7.22.5",
355 | "@babel/types": "^7.22.5"
356 | },
357 | "engines": {
358 | "node": ">=6.9.0"
359 | }
360 | },
361 | "node_modules/@babel/traverse": {
362 | "version": "7.22.8",
363 | "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.8.tgz",
364 | "integrity": "sha512-y6LPR+wpM2I3qJrsheCTwhIinzkETbplIgPBbwvqPKc+uljeA5gP+3nP8irdYt1mjQaDnlIcG+dw8OjAco4GXw==",
365 | "dev": true,
366 | "dependencies": {
367 | "@babel/code-frame": "^7.22.5",
368 | "@babel/generator": "^7.22.7",
369 | "@babel/helper-environment-visitor": "^7.22.5",
370 | "@babel/helper-function-name": "^7.22.5",
371 | "@babel/helper-hoist-variables": "^7.22.5",
372 | "@babel/helper-split-export-declaration": "^7.22.6",
373 | "@babel/parser": "^7.22.7",
374 | "@babel/types": "^7.22.5",
375 | "debug": "^4.1.0",
376 | "globals": "^11.1.0"
377 | },
378 | "engines": {
379 | "node": ">=6.9.0"
380 | }
381 | },
382 | "node_modules/@babel/types": {
383 | "version": "7.22.5",
384 | "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz",
385 | "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==",
386 | "dev": true,
387 | "dependencies": {
388 | "@babel/helper-string-parser": "^7.22.5",
389 | "@babel/helper-validator-identifier": "^7.22.5",
390 | "to-fast-properties": "^2.0.0"
391 | },
392 | "engines": {
393 | "node": ">=6.9.0"
394 | }
395 | },
396 | "node_modules/@esbuild/android-arm": {
397 | "version": "0.18.16",
398 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.16.tgz",
399 | "integrity": "sha512-gCHjjQmA8L0soklKbLKA6pgsLk1byULuHe94lkZDzcO3/Ta+bbeewJioEn1Fr7kgy9NWNFy/C+MrBwC6I/WCug==",
400 | "cpu": [
401 | "arm"
402 | ],
403 | "dev": true,
404 | "optional": true,
405 | "os": [
406 | "android"
407 | ],
408 | "engines": {
409 | "node": ">=12"
410 | }
411 | },
412 | "node_modules/@esbuild/android-arm64": {
413 | "version": "0.18.16",
414 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.16.tgz",
415 | "integrity": "sha512-wsCqSPqLz+6Ov+OM4EthU43DyYVVyfn15S4j1bJzylDpc1r1jZFFfJQNfDuT8SlgwuqpmpJXK4uPlHGw6ve7eA==",
416 | "cpu": [
417 | "arm64"
418 | ],
419 | "dev": true,
420 | "optional": true,
421 | "os": [
422 | "android"
423 | ],
424 | "engines": {
425 | "node": ">=12"
426 | }
427 | },
428 | "node_modules/@esbuild/android-x64": {
429 | "version": "0.18.16",
430 | "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.16.tgz",
431 | "integrity": "sha512-ldsTXolyA3eTQ1//4DS+E15xl0H/3DTRJaRL0/0PgkqDsI0fV/FlOtD+h0u/AUJr+eOTlZv4aC9gvfppo3C4sw==",
432 | "cpu": [
433 | "x64"
434 | ],
435 | "dev": true,
436 | "optional": true,
437 | "os": [
438 | "android"
439 | ],
440 | "engines": {
441 | "node": ">=12"
442 | }
443 | },
444 | "node_modules/@esbuild/darwin-arm64": {
445 | "version": "0.18.16",
446 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.16.tgz",
447 | "integrity": "sha512-aBxruWCII+OtluORR/KvisEw0ALuw/qDQWvkoosA+c/ngC/Kwk0lLaZ+B++LLS481/VdydB2u6tYpWxUfnLAIw==",
448 | "cpu": [
449 | "arm64"
450 | ],
451 | "dev": true,
452 | "optional": true,
453 | "os": [
454 | "darwin"
455 | ],
456 | "engines": {
457 | "node": ">=12"
458 | }
459 | },
460 | "node_modules/@esbuild/darwin-x64": {
461 | "version": "0.18.16",
462 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.16.tgz",
463 | "integrity": "sha512-6w4Dbue280+rp3LnkgmriS1icOUZDyPuZo/9VsuMUTns7SYEiOaJ7Ca1cbhu9KVObAWfmdjUl4gwy9TIgiO5eA==",
464 | "cpu": [
465 | "x64"
466 | ],
467 | "dev": true,
468 | "optional": true,
469 | "os": [
470 | "darwin"
471 | ],
472 | "engines": {
473 | "node": ">=12"
474 | }
475 | },
476 | "node_modules/@esbuild/freebsd-arm64": {
477 | "version": "0.18.16",
478 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.16.tgz",
479 | "integrity": "sha512-x35fCebhe9s979DGKbVAwXUOcTmCIE32AIqB9CB1GralMIvxdnMLAw5CnID17ipEw9/3MvDsusj/cspYt2ZLNQ==",
480 | "cpu": [
481 | "arm64"
482 | ],
483 | "dev": true,
484 | "optional": true,
485 | "os": [
486 | "freebsd"
487 | ],
488 | "engines": {
489 | "node": ">=12"
490 | }
491 | },
492 | "node_modules/@esbuild/freebsd-x64": {
493 | "version": "0.18.16",
494 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.16.tgz",
495 | "integrity": "sha512-YM98f+PeNXF3GbxIJlUsj+McUWG1irguBHkszCIwfr3BXtXZsXo0vqybjUDFfu9a8Wr7uUD/YSmHib+EeGAFlg==",
496 | "cpu": [
497 | "x64"
498 | ],
499 | "dev": true,
500 | "optional": true,
501 | "os": [
502 | "freebsd"
503 | ],
504 | "engines": {
505 | "node": ">=12"
506 | }
507 | },
508 | "node_modules/@esbuild/linux-arm": {
509 | "version": "0.18.16",
510 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.16.tgz",
511 | "integrity": "sha512-b5ABb+5Ha2C9JkeZXV+b+OruR1tJ33ePmv9ZwMeETSEKlmu/WJ45XTTG+l6a2KDsQtJJ66qo/hbSGBtk0XVLHw==",
512 | "cpu": [
513 | "arm"
514 | ],
515 | "dev": true,
516 | "optional": true,
517 | "os": [
518 | "linux"
519 | ],
520 | "engines": {
521 | "node": ">=12"
522 | }
523 | },
524 | "node_modules/@esbuild/linux-arm64": {
525 | "version": "0.18.16",
526 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.16.tgz",
527 | "integrity": "sha512-XIqhNUxJiuy+zsR77+H5Z2f7s4YRlriSJKtvx99nJuG5ATuJPjmZ9n0ANgnGlPCpXGSReFpgcJ7O3SMtzIFeiQ==",
528 | "cpu": [
529 | "arm64"
530 | ],
531 | "dev": true,
532 | "optional": true,
533 | "os": [
534 | "linux"
535 | ],
536 | "engines": {
537 | "node": ">=12"
538 | }
539 | },
540 | "node_modules/@esbuild/linux-ia32": {
541 | "version": "0.18.16",
542 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.16.tgz",
543 | "integrity": "sha512-no+pfEpwnRvIyH+txbBAWtjxPU9grslmTBfsmDndj7bnBmr55rOo/PfQmRfz7Qg9isswt1FP5hBbWb23fRWnow==",
544 | "cpu": [
545 | "ia32"
546 | ],
547 | "dev": true,
548 | "optional": true,
549 | "os": [
550 | "linux"
551 | ],
552 | "engines": {
553 | "node": ">=12"
554 | }
555 | },
556 | "node_modules/@esbuild/linux-loong64": {
557 | "version": "0.18.16",
558 | "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.16.tgz",
559 | "integrity": "sha512-Zbnczs9ZXjmo0oZSS0zbNlJbcwKXa/fcNhYQjahDs4Xg18UumpXG/lwM2lcSvHS3mTrRyCYZvJbmzYc4laRI1g==",
560 | "cpu": [
561 | "loong64"
562 | ],
563 | "dev": true,
564 | "optional": true,
565 | "os": [
566 | "linux"
567 | ],
568 | "engines": {
569 | "node": ">=12"
570 | }
571 | },
572 | "node_modules/@esbuild/linux-mips64el": {
573 | "version": "0.18.16",
574 | "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.16.tgz",
575 | "integrity": "sha512-YMF7hih1HVR/hQVa/ot4UVffc5ZlrzEb3k2ip0nZr1w6fnYypll9td2qcoMLvd3o8j3y6EbJM3MyIcXIVzXvQQ==",
576 | "cpu": [
577 | "mips64el"
578 | ],
579 | "dev": true,
580 | "optional": true,
581 | "os": [
582 | "linux"
583 | ],
584 | "engines": {
585 | "node": ">=12"
586 | }
587 | },
588 | "node_modules/@esbuild/linux-ppc64": {
589 | "version": "0.18.16",
590 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.16.tgz",
591 | "integrity": "sha512-Wkz++LZ29lDwUyTSEnzDaaP5OveOgTU69q9IyIw9WqLRxM4BjTBjz9un4G6TOvehWpf/J3gYVFN96TjGHrbcNQ==",
592 | "cpu": [
593 | "ppc64"
594 | ],
595 | "dev": true,
596 | "optional": true,
597 | "os": [
598 | "linux"
599 | ],
600 | "engines": {
601 | "node": ">=12"
602 | }
603 | },
604 | "node_modules/@esbuild/linux-riscv64": {
605 | "version": "0.18.16",
606 | "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.16.tgz",
607 | "integrity": "sha512-LFMKZ30tk78/mUv1ygvIP+568bwf4oN6reG/uczXnz6SvFn4e2QUFpUpZY9iSJT6Qpgstrhef/nMykIXZtZWGQ==",
608 | "cpu": [
609 | "riscv64"
610 | ],
611 | "dev": true,
612 | "optional": true,
613 | "os": [
614 | "linux"
615 | ],
616 | "engines": {
617 | "node": ">=12"
618 | }
619 | },
620 | "node_modules/@esbuild/linux-s390x": {
621 | "version": "0.18.16",
622 | "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.16.tgz",
623 | "integrity": "sha512-3ZC0BgyYHYKfZo3AV2/66TD/I9tlSBaW7eWTEIkrQQKfJIifKMMttXl9FrAg+UT0SGYsCRLI35Gwdmm96vlOjg==",
624 | "cpu": [
625 | "s390x"
626 | ],
627 | "dev": true,
628 | "optional": true,
629 | "os": [
630 | "linux"
631 | ],
632 | "engines": {
633 | "node": ">=12"
634 | }
635 | },
636 | "node_modules/@esbuild/linux-x64": {
637 | "version": "0.18.16",
638 | "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.16.tgz",
639 | "integrity": "sha512-xu86B3647DihHJHv/wx3NCz2Dg1gjQ8bbf9cVYZzWKY+gsvxYmn/lnVlqDRazObc3UMwoHpUhNYaZset4X8IPA==",
640 | "cpu": [
641 | "x64"
642 | ],
643 | "dev": true,
644 | "optional": true,
645 | "os": [
646 | "linux"
647 | ],
648 | "engines": {
649 | "node": ">=12"
650 | }
651 | },
652 | "node_modules/@esbuild/netbsd-x64": {
653 | "version": "0.18.16",
654 | "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.16.tgz",
655 | "integrity": "sha512-uVAgpimx9Ffw3xowtg/7qQPwHFx94yCje+DoBx+LNm2ePDpQXHrzE+Sb0Si2VBObYz+LcRps15cq+95YM7gkUw==",
656 | "cpu": [
657 | "x64"
658 | ],
659 | "dev": true,
660 | "optional": true,
661 | "os": [
662 | "netbsd"
663 | ],
664 | "engines": {
665 | "node": ">=12"
666 | }
667 | },
668 | "node_modules/@esbuild/openbsd-x64": {
669 | "version": "0.18.16",
670 | "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.16.tgz",
671 | "integrity": "sha512-6OjCQM9wf7z8/MBi6BOWaTL2AS/SZudsZtBziXMtNI8r/U41AxS9x7jn0ATOwVy08OotwkPqGRMkpPR2wcTJXA==",
672 | "cpu": [
673 | "x64"
674 | ],
675 | "dev": true,
676 | "optional": true,
677 | "os": [
678 | "openbsd"
679 | ],
680 | "engines": {
681 | "node": ">=12"
682 | }
683 | },
684 | "node_modules/@esbuild/sunos-x64": {
685 | "version": "0.18.16",
686 | "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.16.tgz",
687 | "integrity": "sha512-ZoNkruFYJp9d1LbUYCh8awgQDvB9uOMZqlQ+gGEZR7v6C+N6u7vPr86c+Chih8niBR81Q/bHOSKGBK3brJyvkQ==",
688 | "cpu": [
689 | "x64"
690 | ],
691 | "dev": true,
692 | "optional": true,
693 | "os": [
694 | "sunos"
695 | ],
696 | "engines": {
697 | "node": ">=12"
698 | }
699 | },
700 | "node_modules/@esbuild/win32-arm64": {
701 | "version": "0.18.16",
702 | "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.16.tgz",
703 | "integrity": "sha512-+j4anzQ9hrs+iqO+/wa8UE6TVkKua1pXUb0XWFOx0FiAj6R9INJ+WE//1/Xo6FG1vB5EpH3ko+XcgwiDXTxcdw==",
704 | "cpu": [
705 | "arm64"
706 | ],
707 | "dev": true,
708 | "optional": true,
709 | "os": [
710 | "win32"
711 | ],
712 | "engines": {
713 | "node": ">=12"
714 | }
715 | },
716 | "node_modules/@esbuild/win32-ia32": {
717 | "version": "0.18.16",
718 | "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.16.tgz",
719 | "integrity": "sha512-5PFPmq3sSKTp9cT9dzvI67WNfRZGvEVctcZa1KGjDDu4n3H8k59Inbk0du1fz0KrAbKKNpJbdFXQMDUz7BG4rQ==",
720 | "cpu": [
721 | "ia32"
722 | ],
723 | "dev": true,
724 | "optional": true,
725 | "os": [
726 | "win32"
727 | ],
728 | "engines": {
729 | "node": ">=12"
730 | }
731 | },
732 | "node_modules/@esbuild/win32-x64": {
733 | "version": "0.18.16",
734 | "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.16.tgz",
735 | "integrity": "sha512-sCIVrrtcWN5Ua7jYXNG1xD199IalrbfV2+0k/2Zf2OyV2FtnQnMgdzgpRAbi4AWlKJj1jkX+M+fEGPQj6BQB4w==",
736 | "cpu": [
737 | "x64"
738 | ],
739 | "dev": true,
740 | "optional": true,
741 | "os": [
742 | "win32"
743 | ],
744 | "engines": {
745 | "node": ">=12"
746 | }
747 | },
748 | "node_modules/@eslint-community/eslint-utils": {
749 | "version": "4.4.0",
750 | "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
751 | "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
752 | "dev": true,
753 | "dependencies": {
754 | "eslint-visitor-keys": "^3.3.0"
755 | },
756 | "engines": {
757 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
758 | },
759 | "peerDependencies": {
760 | "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
761 | }
762 | },
763 | "node_modules/@eslint-community/regexpp": {
764 | "version": "4.6.1",
765 | "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.6.1.tgz",
766 | "integrity": "sha512-O7x6dMstWLn2ktjcoiNLDkAGG2EjveHL+Vvc+n0fXumkJYAcSqcVYKtwDU+hDZ0uDUsnUagSYaZrOLAYE8un1A==",
767 | "dev": true,
768 | "engines": {
769 | "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
770 | }
771 | },
772 | "node_modules/@eslint/eslintrc": {
773 | "version": "2.1.0",
774 | "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.0.tgz",
775 | "integrity": "sha512-Lj7DECXqIVCqnqjjHMPna4vn6GJcMgul/wuS0je9OZ9gsL0zzDpKPVtcG1HaDVc+9y+qgXneTeUMbCqXJNpH1A==",
776 | "dev": true,
777 | "dependencies": {
778 | "ajv": "^6.12.4",
779 | "debug": "^4.3.2",
780 | "espree": "^9.6.0",
781 | "globals": "^13.19.0",
782 | "ignore": "^5.2.0",
783 | "import-fresh": "^3.2.1",
784 | "js-yaml": "^4.1.0",
785 | "minimatch": "^3.1.2",
786 | "strip-json-comments": "^3.1.1"
787 | },
788 | "engines": {
789 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
790 | },
791 | "funding": {
792 | "url": "https://opencollective.com/eslint"
793 | }
794 | },
795 | "node_modules/@eslint/eslintrc/node_modules/globals": {
796 | "version": "13.20.0",
797 | "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz",
798 | "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==",
799 | "dev": true,
800 | "dependencies": {
801 | "type-fest": "^0.20.2"
802 | },
803 | "engines": {
804 | "node": ">=8"
805 | },
806 | "funding": {
807 | "url": "https://github.com/sponsors/sindresorhus"
808 | }
809 | },
810 | "node_modules/@eslint/js": {
811 | "version": "8.44.0",
812 | "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.44.0.tgz",
813 | "integrity": "sha512-Ag+9YM4ocKQx9AarydN0KY2j0ErMHNIocPDrVo8zAE44xLTjEtz81OdR68/cydGtk6m6jDb5Za3r2useMzYmSw==",
814 | "dev": true,
815 | "engines": {
816 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
817 | }
818 | },
819 | "node_modules/@humanwhocodes/config-array": {
820 | "version": "0.11.10",
821 | "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz",
822 | "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==",
823 | "dev": true,
824 | "dependencies": {
825 | "@humanwhocodes/object-schema": "^1.2.1",
826 | "debug": "^4.1.1",
827 | "minimatch": "^3.0.5"
828 | },
829 | "engines": {
830 | "node": ">=10.10.0"
831 | }
832 | },
833 | "node_modules/@humanwhocodes/module-importer": {
834 | "version": "1.0.1",
835 | "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
836 | "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
837 | "dev": true,
838 | "engines": {
839 | "node": ">=12.22"
840 | },
841 | "funding": {
842 | "type": "github",
843 | "url": "https://github.com/sponsors/nzakas"
844 | }
845 | },
846 | "node_modules/@humanwhocodes/object-schema": {
847 | "version": "1.2.1",
848 | "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
849 | "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
850 | "dev": true
851 | },
852 | "node_modules/@jridgewell/gen-mapping": {
853 | "version": "0.3.3",
854 | "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz",
855 | "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==",
856 | "dev": true,
857 | "dependencies": {
858 | "@jridgewell/set-array": "^1.0.1",
859 | "@jridgewell/sourcemap-codec": "^1.4.10",
860 | "@jridgewell/trace-mapping": "^0.3.9"
861 | },
862 | "engines": {
863 | "node": ">=6.0.0"
864 | }
865 | },
866 | "node_modules/@jridgewell/resolve-uri": {
867 | "version": "3.1.0",
868 | "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
869 | "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==",
870 | "dev": true,
871 | "engines": {
872 | "node": ">=6.0.0"
873 | }
874 | },
875 | "node_modules/@jridgewell/set-array": {
876 | "version": "1.1.2",
877 | "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
878 | "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
879 | "dev": true,
880 | "engines": {
881 | "node": ">=6.0.0"
882 | }
883 | },
884 | "node_modules/@jridgewell/sourcemap-codec": {
885 | "version": "1.4.15",
886 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
887 | "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==",
888 | "dev": true
889 | },
890 | "node_modules/@jridgewell/trace-mapping": {
891 | "version": "0.3.18",
892 | "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz",
893 | "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==",
894 | "dev": true,
895 | "dependencies": {
896 | "@jridgewell/resolve-uri": "3.1.0",
897 | "@jridgewell/sourcemap-codec": "1.4.14"
898 | }
899 | },
900 | "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": {
901 | "version": "1.4.14",
902 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
903 | "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==",
904 | "dev": true
905 | },
906 | "node_modules/@nodelib/fs.scandir": {
907 | "version": "2.1.5",
908 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
909 | "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
910 | "dev": true,
911 | "dependencies": {
912 | "@nodelib/fs.stat": "2.0.5",
913 | "run-parallel": "^1.1.9"
914 | },
915 | "engines": {
916 | "node": ">= 8"
917 | }
918 | },
919 | "node_modules/@nodelib/fs.stat": {
920 | "version": "2.0.5",
921 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
922 | "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
923 | "dev": true,
924 | "engines": {
925 | "node": ">= 8"
926 | }
927 | },
928 | "node_modules/@nodelib/fs.walk": {
929 | "version": "1.2.8",
930 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
931 | "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
932 | "dev": true,
933 | "dependencies": {
934 | "@nodelib/fs.scandir": "2.1.5",
935 | "fastq": "^1.6.0"
936 | },
937 | "engines": {
938 | "node": ">= 8"
939 | }
940 | },
941 | "node_modules/@types/json-schema": {
942 | "version": "7.0.12",
943 | "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz",
944 | "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==",
945 | "dev": true
946 | },
947 | "node_modules/@types/prop-types": {
948 | "version": "15.7.5",
949 | "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz",
950 | "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==",
951 | "dev": true
952 | },
953 | "node_modules/@types/react": {
954 | "version": "18.2.16",
955 | "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.16.tgz",
956 | "integrity": "sha512-LLFWr12ZhBJ4YVw7neWLe6Pk7Ey5R9OCydfuMsz1L8bZxzaawJj2p06Q8/EFEHDeTBQNFLF62X+CG7B2zIyu0Q==",
957 | "dev": true,
958 | "dependencies": {
959 | "@types/prop-types": "*",
960 | "@types/scheduler": "*",
961 | "csstype": "^3.0.2"
962 | }
963 | },
964 | "node_modules/@types/react-dom": {
965 | "version": "18.2.7",
966 | "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.7.tgz",
967 | "integrity": "sha512-GRaAEriuT4zp9N4p1i8BDBYmEyfo+xQ3yHjJU4eiK5NDa1RmUZG+unZABUTK4/Ox/M+GaHwb6Ow8rUITrtjszA==",
968 | "dev": true,
969 | "dependencies": {
970 | "@types/react": "*"
971 | }
972 | },
973 | "node_modules/@types/scheduler": {
974 | "version": "0.16.3",
975 | "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz",
976 | "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==",
977 | "dev": true
978 | },
979 | "node_modules/@types/semver": {
980 | "version": "7.5.0",
981 | "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz",
982 | "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==",
983 | "dev": true
984 | },
985 | "node_modules/@typescript-eslint/eslint-plugin": {
986 | "version": "5.62.0",
987 | "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz",
988 | "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==",
989 | "dev": true,
990 | "dependencies": {
991 | "@eslint-community/regexpp": "^4.4.0",
992 | "@typescript-eslint/scope-manager": "5.62.0",
993 | "@typescript-eslint/type-utils": "5.62.0",
994 | "@typescript-eslint/utils": "5.62.0",
995 | "debug": "^4.3.4",
996 | "graphemer": "^1.4.0",
997 | "ignore": "^5.2.0",
998 | "natural-compare-lite": "^1.4.0",
999 | "semver": "^7.3.7",
1000 | "tsutils": "^3.21.0"
1001 | },
1002 | "engines": {
1003 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
1004 | },
1005 | "funding": {
1006 | "type": "opencollective",
1007 | "url": "https://opencollective.com/typescript-eslint"
1008 | },
1009 | "peerDependencies": {
1010 | "@typescript-eslint/parser": "^5.0.0",
1011 | "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
1012 | },
1013 | "peerDependenciesMeta": {
1014 | "typescript": {
1015 | "optional": true
1016 | }
1017 | }
1018 | },
1019 | "node_modules/@typescript-eslint/parser": {
1020 | "version": "5.62.0",
1021 | "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz",
1022 | "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==",
1023 | "dev": true,
1024 | "dependencies": {
1025 | "@typescript-eslint/scope-manager": "5.62.0",
1026 | "@typescript-eslint/types": "5.62.0",
1027 | "@typescript-eslint/typescript-estree": "5.62.0",
1028 | "debug": "^4.3.4"
1029 | },
1030 | "engines": {
1031 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
1032 | },
1033 | "funding": {
1034 | "type": "opencollective",
1035 | "url": "https://opencollective.com/typescript-eslint"
1036 | },
1037 | "peerDependencies": {
1038 | "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
1039 | },
1040 | "peerDependenciesMeta": {
1041 | "typescript": {
1042 | "optional": true
1043 | }
1044 | }
1045 | },
1046 | "node_modules/@typescript-eslint/scope-manager": {
1047 | "version": "5.62.0",
1048 | "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz",
1049 | "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==",
1050 | "dev": true,
1051 | "dependencies": {
1052 | "@typescript-eslint/types": "5.62.0",
1053 | "@typescript-eslint/visitor-keys": "5.62.0"
1054 | },
1055 | "engines": {
1056 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
1057 | },
1058 | "funding": {
1059 | "type": "opencollective",
1060 | "url": "https://opencollective.com/typescript-eslint"
1061 | }
1062 | },
1063 | "node_modules/@typescript-eslint/type-utils": {
1064 | "version": "5.62.0",
1065 | "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz",
1066 | "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==",
1067 | "dev": true,
1068 | "dependencies": {
1069 | "@typescript-eslint/typescript-estree": "5.62.0",
1070 | "@typescript-eslint/utils": "5.62.0",
1071 | "debug": "^4.3.4",
1072 | "tsutils": "^3.21.0"
1073 | },
1074 | "engines": {
1075 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
1076 | },
1077 | "funding": {
1078 | "type": "opencollective",
1079 | "url": "https://opencollective.com/typescript-eslint"
1080 | },
1081 | "peerDependencies": {
1082 | "eslint": "*"
1083 | },
1084 | "peerDependenciesMeta": {
1085 | "typescript": {
1086 | "optional": true
1087 | }
1088 | }
1089 | },
1090 | "node_modules/@typescript-eslint/types": {
1091 | "version": "5.62.0",
1092 | "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz",
1093 | "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==",
1094 | "dev": true,
1095 | "engines": {
1096 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
1097 | },
1098 | "funding": {
1099 | "type": "opencollective",
1100 | "url": "https://opencollective.com/typescript-eslint"
1101 | }
1102 | },
1103 | "node_modules/@typescript-eslint/typescript-estree": {
1104 | "version": "5.62.0",
1105 | "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz",
1106 | "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==",
1107 | "dev": true,
1108 | "dependencies": {
1109 | "@typescript-eslint/types": "5.62.0",
1110 | "@typescript-eslint/visitor-keys": "5.62.0",
1111 | "debug": "^4.3.4",
1112 | "globby": "^11.1.0",
1113 | "is-glob": "^4.0.3",
1114 | "semver": "^7.3.7",
1115 | "tsutils": "^3.21.0"
1116 | },
1117 | "engines": {
1118 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
1119 | },
1120 | "funding": {
1121 | "type": "opencollective",
1122 | "url": "https://opencollective.com/typescript-eslint"
1123 | },
1124 | "peerDependenciesMeta": {
1125 | "typescript": {
1126 | "optional": true
1127 | }
1128 | }
1129 | },
1130 | "node_modules/@typescript-eslint/utils": {
1131 | "version": "5.62.0",
1132 | "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz",
1133 | "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==",
1134 | "dev": true,
1135 | "dependencies": {
1136 | "@eslint-community/eslint-utils": "^4.2.0",
1137 | "@types/json-schema": "^7.0.9",
1138 | "@types/semver": "^7.3.12",
1139 | "@typescript-eslint/scope-manager": "5.62.0",
1140 | "@typescript-eslint/types": "5.62.0",
1141 | "@typescript-eslint/typescript-estree": "5.62.0",
1142 | "eslint-scope": "^5.1.1",
1143 | "semver": "^7.3.7"
1144 | },
1145 | "engines": {
1146 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
1147 | },
1148 | "funding": {
1149 | "type": "opencollective",
1150 | "url": "https://opencollective.com/typescript-eslint"
1151 | },
1152 | "peerDependencies": {
1153 | "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
1154 | }
1155 | },
1156 | "node_modules/@typescript-eslint/visitor-keys": {
1157 | "version": "5.62.0",
1158 | "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz",
1159 | "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==",
1160 | "dev": true,
1161 | "dependencies": {
1162 | "@typescript-eslint/types": "5.62.0",
1163 | "eslint-visitor-keys": "^3.3.0"
1164 | },
1165 | "engines": {
1166 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
1167 | },
1168 | "funding": {
1169 | "type": "opencollective",
1170 | "url": "https://opencollective.com/typescript-eslint"
1171 | }
1172 | },
1173 | "node_modules/@vitejs/plugin-react": {
1174 | "version": "4.0.3",
1175 | "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.0.3.tgz",
1176 | "integrity": "sha512-pwXDog5nwwvSIzwrvYYmA2Ljcd/ZNlcsSG2Q9CNDBwnsd55UGAyr2doXtB5j+2uymRCnCfExlznzzSFbBRcoCg==",
1177 | "dev": true,
1178 | "dependencies": {
1179 | "@babel/core": "^7.22.5",
1180 | "@babel/plugin-transform-react-jsx-self": "^7.22.5",
1181 | "@babel/plugin-transform-react-jsx-source": "^7.22.5",
1182 | "react-refresh": "^0.14.0"
1183 | },
1184 | "engines": {
1185 | "node": "^14.18.0 || >=16.0.0"
1186 | },
1187 | "peerDependencies": {
1188 | "vite": "^4.2.0"
1189 | }
1190 | },
1191 | "node_modules/acorn": {
1192 | "version": "8.10.0",
1193 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz",
1194 | "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==",
1195 | "dev": true,
1196 | "bin": {
1197 | "acorn": "bin/acorn"
1198 | },
1199 | "engines": {
1200 | "node": ">=0.4.0"
1201 | }
1202 | },
1203 | "node_modules/acorn-jsx": {
1204 | "version": "5.3.2",
1205 | "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
1206 | "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
1207 | "dev": true,
1208 | "peerDependencies": {
1209 | "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
1210 | }
1211 | },
1212 | "node_modules/ajv": {
1213 | "version": "6.12.6",
1214 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
1215 | "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
1216 | "dev": true,
1217 | "dependencies": {
1218 | "fast-deep-equal": "^3.1.1",
1219 | "fast-json-stable-stringify": "^2.0.0",
1220 | "json-schema-traverse": "^0.4.1",
1221 | "uri-js": "^4.2.2"
1222 | },
1223 | "funding": {
1224 | "type": "github",
1225 | "url": "https://github.com/sponsors/epoberezkin"
1226 | }
1227 | },
1228 | "node_modules/ansi-regex": {
1229 | "version": "5.0.1",
1230 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
1231 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
1232 | "dev": true,
1233 | "engines": {
1234 | "node": ">=8"
1235 | }
1236 | },
1237 | "node_modules/ansi-styles": {
1238 | "version": "3.2.1",
1239 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
1240 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
1241 | "dev": true,
1242 | "dependencies": {
1243 | "color-convert": "^1.9.0"
1244 | },
1245 | "engines": {
1246 | "node": ">=4"
1247 | }
1248 | },
1249 | "node_modules/argparse": {
1250 | "version": "2.0.1",
1251 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
1252 | "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
1253 | "dev": true
1254 | },
1255 | "node_modules/array-union": {
1256 | "version": "2.1.0",
1257 | "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
1258 | "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
1259 | "dev": true,
1260 | "engines": {
1261 | "node": ">=8"
1262 | }
1263 | },
1264 | "node_modules/balanced-match": {
1265 | "version": "1.0.2",
1266 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
1267 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
1268 | "dev": true
1269 | },
1270 | "node_modules/brace-expansion": {
1271 | "version": "1.1.11",
1272 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
1273 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
1274 | "dev": true,
1275 | "dependencies": {
1276 | "balanced-match": "^1.0.0",
1277 | "concat-map": "0.0.1"
1278 | }
1279 | },
1280 | "node_modules/braces": {
1281 | "version": "3.0.2",
1282 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
1283 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
1284 | "dev": true,
1285 | "dependencies": {
1286 | "fill-range": "^7.0.1"
1287 | },
1288 | "engines": {
1289 | "node": ">=8"
1290 | }
1291 | },
1292 | "node_modules/browserslist": {
1293 | "version": "4.21.9",
1294 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.9.tgz",
1295 | "integrity": "sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==",
1296 | "dev": true,
1297 | "funding": [
1298 | {
1299 | "type": "opencollective",
1300 | "url": "https://opencollective.com/browserslist"
1301 | },
1302 | {
1303 | "type": "tidelift",
1304 | "url": "https://tidelift.com/funding/github/npm/browserslist"
1305 | },
1306 | {
1307 | "type": "github",
1308 | "url": "https://github.com/sponsors/ai"
1309 | }
1310 | ],
1311 | "dependencies": {
1312 | "caniuse-lite": "^1.0.30001503",
1313 | "electron-to-chromium": "^1.4.431",
1314 | "node-releases": "^2.0.12",
1315 | "update-browserslist-db": "^1.0.11"
1316 | },
1317 | "bin": {
1318 | "browserslist": "cli.js"
1319 | },
1320 | "engines": {
1321 | "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
1322 | }
1323 | },
1324 | "node_modules/callsites": {
1325 | "version": "3.1.0",
1326 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
1327 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
1328 | "dev": true,
1329 | "engines": {
1330 | "node": ">=6"
1331 | }
1332 | },
1333 | "node_modules/caniuse-lite": {
1334 | "version": "1.0.30001517",
1335 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001517.tgz",
1336 | "integrity": "sha512-Vdhm5S11DaFVLlyiKu4hiUTkpZu+y1KA/rZZqVQfOD5YdDT/eQKlkt7NaE0WGOFgX32diqt9MiP9CAiFeRklaA==",
1337 | "dev": true,
1338 | "funding": [
1339 | {
1340 | "type": "opencollective",
1341 | "url": "https://opencollective.com/browserslist"
1342 | },
1343 | {
1344 | "type": "tidelift",
1345 | "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
1346 | },
1347 | {
1348 | "type": "github",
1349 | "url": "https://github.com/sponsors/ai"
1350 | }
1351 | ]
1352 | },
1353 | "node_modules/chalk": {
1354 | "version": "2.4.2",
1355 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
1356 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
1357 | "dev": true,
1358 | "dependencies": {
1359 | "ansi-styles": "^3.2.1",
1360 | "escape-string-regexp": "^1.0.5",
1361 | "supports-color": "^5.3.0"
1362 | },
1363 | "engines": {
1364 | "node": ">=4"
1365 | }
1366 | },
1367 | "node_modules/color-convert": {
1368 | "version": "1.9.3",
1369 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
1370 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
1371 | "dev": true,
1372 | "dependencies": {
1373 | "color-name": "1.1.3"
1374 | }
1375 | },
1376 | "node_modules/color-name": {
1377 | "version": "1.1.3",
1378 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
1379 | "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
1380 | "dev": true
1381 | },
1382 | "node_modules/concat-map": {
1383 | "version": "0.0.1",
1384 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
1385 | "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
1386 | "dev": true
1387 | },
1388 | "node_modules/convert-source-map": {
1389 | "version": "1.9.0",
1390 | "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz",
1391 | "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==",
1392 | "dev": true
1393 | },
1394 | "node_modules/cross-spawn": {
1395 | "version": "7.0.3",
1396 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
1397 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
1398 | "dev": true,
1399 | "dependencies": {
1400 | "path-key": "^3.1.0",
1401 | "shebang-command": "^2.0.0",
1402 | "which": "^2.0.1"
1403 | },
1404 | "engines": {
1405 | "node": ">= 8"
1406 | }
1407 | },
1408 | "node_modules/csstype": {
1409 | "version": "3.1.2",
1410 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz",
1411 | "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==",
1412 | "dev": true
1413 | },
1414 | "node_modules/debug": {
1415 | "version": "4.3.4",
1416 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
1417 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
1418 | "dev": true,
1419 | "dependencies": {
1420 | "ms": "2.1.2"
1421 | },
1422 | "engines": {
1423 | "node": ">=6.0"
1424 | },
1425 | "peerDependenciesMeta": {
1426 | "supports-color": {
1427 | "optional": true
1428 | }
1429 | }
1430 | },
1431 | "node_modules/deep-is": {
1432 | "version": "0.1.4",
1433 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
1434 | "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
1435 | "dev": true
1436 | },
1437 | "node_modules/dir-glob": {
1438 | "version": "3.0.1",
1439 | "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
1440 | "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
1441 | "dev": true,
1442 | "dependencies": {
1443 | "path-type": "^4.0.0"
1444 | },
1445 | "engines": {
1446 | "node": ">=8"
1447 | }
1448 | },
1449 | "node_modules/doctrine": {
1450 | "version": "3.0.0",
1451 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
1452 | "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
1453 | "dev": true,
1454 | "dependencies": {
1455 | "esutils": "^2.0.2"
1456 | },
1457 | "engines": {
1458 | "node": ">=6.0.0"
1459 | }
1460 | },
1461 | "node_modules/electron-to-chromium": {
1462 | "version": "1.4.469",
1463 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.469.tgz",
1464 | "integrity": "sha512-HRN9XQjElxJBrdDky5iiUUr3eDwXGTg6Cp4IV8MuNc8VqMkYSneSnIe6poFKx9PsNzkudCgaWCBVxwDqirwQWQ==",
1465 | "dev": true
1466 | },
1467 | "node_modules/esbuild": {
1468 | "version": "0.18.16",
1469 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.16.tgz",
1470 | "integrity": "sha512-1xLsOXrDqwdHxyXb/x/SOyg59jpf/SH7YMvU5RNSU7z3TInaASNJWNFJ6iRvLvLETZMasF3d1DdZLg7sgRimRQ==",
1471 | "dev": true,
1472 | "hasInstallScript": true,
1473 | "bin": {
1474 | "esbuild": "bin/esbuild"
1475 | },
1476 | "engines": {
1477 | "node": ">=12"
1478 | },
1479 | "optionalDependencies": {
1480 | "@esbuild/android-arm": "0.18.16",
1481 | "@esbuild/android-arm64": "0.18.16",
1482 | "@esbuild/android-x64": "0.18.16",
1483 | "@esbuild/darwin-arm64": "0.18.16",
1484 | "@esbuild/darwin-x64": "0.18.16",
1485 | "@esbuild/freebsd-arm64": "0.18.16",
1486 | "@esbuild/freebsd-x64": "0.18.16",
1487 | "@esbuild/linux-arm": "0.18.16",
1488 | "@esbuild/linux-arm64": "0.18.16",
1489 | "@esbuild/linux-ia32": "0.18.16",
1490 | "@esbuild/linux-loong64": "0.18.16",
1491 | "@esbuild/linux-mips64el": "0.18.16",
1492 | "@esbuild/linux-ppc64": "0.18.16",
1493 | "@esbuild/linux-riscv64": "0.18.16",
1494 | "@esbuild/linux-s390x": "0.18.16",
1495 | "@esbuild/linux-x64": "0.18.16",
1496 | "@esbuild/netbsd-x64": "0.18.16",
1497 | "@esbuild/openbsd-x64": "0.18.16",
1498 | "@esbuild/sunos-x64": "0.18.16",
1499 | "@esbuild/win32-arm64": "0.18.16",
1500 | "@esbuild/win32-ia32": "0.18.16",
1501 | "@esbuild/win32-x64": "0.18.16"
1502 | }
1503 | },
1504 | "node_modules/escalade": {
1505 | "version": "3.1.1",
1506 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
1507 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
1508 | "dev": true,
1509 | "engines": {
1510 | "node": ">=6"
1511 | }
1512 | },
1513 | "node_modules/escape-string-regexp": {
1514 | "version": "1.0.5",
1515 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
1516 | "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
1517 | "dev": true,
1518 | "engines": {
1519 | "node": ">=0.8.0"
1520 | }
1521 | },
1522 | "node_modules/eslint": {
1523 | "version": "8.45.0",
1524 | "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.45.0.tgz",
1525 | "integrity": "sha512-pd8KSxiQpdYRfYa9Wufvdoct3ZPQQuVuU5O6scNgMuOMYuxvH0IGaYK0wUFjo4UYYQQCUndlXiMbnxopwvvTiw==",
1526 | "dev": true,
1527 | "dependencies": {
1528 | "@eslint-community/eslint-utils": "^4.2.0",
1529 | "@eslint-community/regexpp": "^4.4.0",
1530 | "@eslint/eslintrc": "^2.1.0",
1531 | "@eslint/js": "8.44.0",
1532 | "@humanwhocodes/config-array": "^0.11.10",
1533 | "@humanwhocodes/module-importer": "^1.0.1",
1534 | "@nodelib/fs.walk": "^1.2.8",
1535 | "ajv": "^6.10.0",
1536 | "chalk": "^4.0.0",
1537 | "cross-spawn": "^7.0.2",
1538 | "debug": "^4.3.2",
1539 | "doctrine": "^3.0.0",
1540 | "escape-string-regexp": "^4.0.0",
1541 | "eslint-scope": "^7.2.0",
1542 | "eslint-visitor-keys": "^3.4.1",
1543 | "espree": "^9.6.0",
1544 | "esquery": "^1.4.2",
1545 | "esutils": "^2.0.2",
1546 | "fast-deep-equal": "^3.1.3",
1547 | "file-entry-cache": "^6.0.1",
1548 | "find-up": "^5.0.0",
1549 | "glob-parent": "^6.0.2",
1550 | "globals": "^13.19.0",
1551 | "graphemer": "^1.4.0",
1552 | "ignore": "^5.2.0",
1553 | "imurmurhash": "^0.1.4",
1554 | "is-glob": "^4.0.0",
1555 | "is-path-inside": "^3.0.3",
1556 | "js-yaml": "^4.1.0",
1557 | "json-stable-stringify-without-jsonify": "^1.0.1",
1558 | "levn": "^0.4.1",
1559 | "lodash.merge": "^4.6.2",
1560 | "minimatch": "^3.1.2",
1561 | "natural-compare": "^1.4.0",
1562 | "optionator": "^0.9.3",
1563 | "strip-ansi": "^6.0.1",
1564 | "text-table": "^0.2.0"
1565 | },
1566 | "bin": {
1567 | "eslint": "bin/eslint.js"
1568 | },
1569 | "engines": {
1570 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
1571 | },
1572 | "funding": {
1573 | "url": "https://opencollective.com/eslint"
1574 | }
1575 | },
1576 | "node_modules/eslint-plugin-react-hooks": {
1577 | "version": "4.6.0",
1578 | "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz",
1579 | "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==",
1580 | "dev": true,
1581 | "engines": {
1582 | "node": ">=10"
1583 | },
1584 | "peerDependencies": {
1585 | "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0"
1586 | }
1587 | },
1588 | "node_modules/eslint-plugin-react-refresh": {
1589 | "version": "0.3.5",
1590 | "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.3.5.tgz",
1591 | "integrity": "sha512-61qNIsc7fo9Pp/mju0J83kzvLm0Bsayu7OQSLEoJxLDCBjIIyb87bkzufoOvdDxLkSlMfkF7UxomC4+eztUBSA==",
1592 | "dev": true,
1593 | "peerDependencies": {
1594 | "eslint": ">=7"
1595 | }
1596 | },
1597 | "node_modules/eslint-scope": {
1598 | "version": "5.1.1",
1599 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
1600 | "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
1601 | "dev": true,
1602 | "dependencies": {
1603 | "esrecurse": "^4.3.0",
1604 | "estraverse": "^4.1.1"
1605 | },
1606 | "engines": {
1607 | "node": ">=8.0.0"
1608 | }
1609 | },
1610 | "node_modules/eslint-visitor-keys": {
1611 | "version": "3.4.1",
1612 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz",
1613 | "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==",
1614 | "dev": true,
1615 | "engines": {
1616 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
1617 | },
1618 | "funding": {
1619 | "url": "https://opencollective.com/eslint"
1620 | }
1621 | },
1622 | "node_modules/eslint/node_modules/ansi-styles": {
1623 | "version": "4.3.0",
1624 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
1625 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
1626 | "dev": true,
1627 | "dependencies": {
1628 | "color-convert": "^2.0.1"
1629 | },
1630 | "engines": {
1631 | "node": ">=8"
1632 | },
1633 | "funding": {
1634 | "url": "https://github.com/chalk/ansi-styles?sponsor=1"
1635 | }
1636 | },
1637 | "node_modules/eslint/node_modules/chalk": {
1638 | "version": "4.1.2",
1639 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
1640 | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
1641 | "dev": true,
1642 | "dependencies": {
1643 | "ansi-styles": "^4.1.0",
1644 | "supports-color": "^7.1.0"
1645 | },
1646 | "engines": {
1647 | "node": ">=10"
1648 | },
1649 | "funding": {
1650 | "url": "https://github.com/chalk/chalk?sponsor=1"
1651 | }
1652 | },
1653 | "node_modules/eslint/node_modules/color-convert": {
1654 | "version": "2.0.1",
1655 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
1656 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
1657 | "dev": true,
1658 | "dependencies": {
1659 | "color-name": "~1.1.4"
1660 | },
1661 | "engines": {
1662 | "node": ">=7.0.0"
1663 | }
1664 | },
1665 | "node_modules/eslint/node_modules/color-name": {
1666 | "version": "1.1.4",
1667 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
1668 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
1669 | "dev": true
1670 | },
1671 | "node_modules/eslint/node_modules/escape-string-regexp": {
1672 | "version": "4.0.0",
1673 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
1674 | "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
1675 | "dev": true,
1676 | "engines": {
1677 | "node": ">=10"
1678 | },
1679 | "funding": {
1680 | "url": "https://github.com/sponsors/sindresorhus"
1681 | }
1682 | },
1683 | "node_modules/eslint/node_modules/eslint-scope": {
1684 | "version": "7.2.1",
1685 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.1.tgz",
1686 | "integrity": "sha512-CvefSOsDdaYYvxChovdrPo/ZGt8d5lrJWleAc1diXRKhHGiTYEI26cvo8Kle/wGnsizoCJjK73FMg1/IkIwiNA==",
1687 | "dev": true,
1688 | "dependencies": {
1689 | "esrecurse": "^4.3.0",
1690 | "estraverse": "^5.2.0"
1691 | },
1692 | "engines": {
1693 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
1694 | },
1695 | "funding": {
1696 | "url": "https://opencollective.com/eslint"
1697 | }
1698 | },
1699 | "node_modules/eslint/node_modules/estraverse": {
1700 | "version": "5.3.0",
1701 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
1702 | "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
1703 | "dev": true,
1704 | "engines": {
1705 | "node": ">=4.0"
1706 | }
1707 | },
1708 | "node_modules/eslint/node_modules/globals": {
1709 | "version": "13.20.0",
1710 | "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz",
1711 | "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==",
1712 | "dev": true,
1713 | "dependencies": {
1714 | "type-fest": "^0.20.2"
1715 | },
1716 | "engines": {
1717 | "node": ">=8"
1718 | },
1719 | "funding": {
1720 | "url": "https://github.com/sponsors/sindresorhus"
1721 | }
1722 | },
1723 | "node_modules/eslint/node_modules/has-flag": {
1724 | "version": "4.0.0",
1725 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
1726 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
1727 | "dev": true,
1728 | "engines": {
1729 | "node": ">=8"
1730 | }
1731 | },
1732 | "node_modules/eslint/node_modules/supports-color": {
1733 | "version": "7.2.0",
1734 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
1735 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
1736 | "dev": true,
1737 | "dependencies": {
1738 | "has-flag": "^4.0.0"
1739 | },
1740 | "engines": {
1741 | "node": ">=8"
1742 | }
1743 | },
1744 | "node_modules/espree": {
1745 | "version": "9.6.1",
1746 | "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz",
1747 | "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==",
1748 | "dev": true,
1749 | "dependencies": {
1750 | "acorn": "^8.9.0",
1751 | "acorn-jsx": "^5.3.2",
1752 | "eslint-visitor-keys": "^3.4.1"
1753 | },
1754 | "engines": {
1755 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
1756 | },
1757 | "funding": {
1758 | "url": "https://opencollective.com/eslint"
1759 | }
1760 | },
1761 | "node_modules/esquery": {
1762 | "version": "1.5.0",
1763 | "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz",
1764 | "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==",
1765 | "dev": true,
1766 | "dependencies": {
1767 | "estraverse": "^5.1.0"
1768 | },
1769 | "engines": {
1770 | "node": ">=0.10"
1771 | }
1772 | },
1773 | "node_modules/esquery/node_modules/estraverse": {
1774 | "version": "5.3.0",
1775 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
1776 | "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
1777 | "dev": true,
1778 | "engines": {
1779 | "node": ">=4.0"
1780 | }
1781 | },
1782 | "node_modules/esrecurse": {
1783 | "version": "4.3.0",
1784 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
1785 | "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
1786 | "dev": true,
1787 | "dependencies": {
1788 | "estraverse": "^5.2.0"
1789 | },
1790 | "engines": {
1791 | "node": ">=4.0"
1792 | }
1793 | },
1794 | "node_modules/esrecurse/node_modules/estraverse": {
1795 | "version": "5.3.0",
1796 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
1797 | "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
1798 | "dev": true,
1799 | "engines": {
1800 | "node": ">=4.0"
1801 | }
1802 | },
1803 | "node_modules/estraverse": {
1804 | "version": "4.3.0",
1805 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
1806 | "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
1807 | "dev": true,
1808 | "engines": {
1809 | "node": ">=4.0"
1810 | }
1811 | },
1812 | "node_modules/esutils": {
1813 | "version": "2.0.3",
1814 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
1815 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
1816 | "dev": true,
1817 | "engines": {
1818 | "node": ">=0.10.0"
1819 | }
1820 | },
1821 | "node_modules/fast-deep-equal": {
1822 | "version": "3.1.3",
1823 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
1824 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
1825 | "dev": true
1826 | },
1827 | "node_modules/fast-glob": {
1828 | "version": "3.3.1",
1829 | "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz",
1830 | "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==",
1831 | "dev": true,
1832 | "dependencies": {
1833 | "@nodelib/fs.stat": "^2.0.2",
1834 | "@nodelib/fs.walk": "^1.2.3",
1835 | "glob-parent": "^5.1.2",
1836 | "merge2": "^1.3.0",
1837 | "micromatch": "^4.0.4"
1838 | },
1839 | "engines": {
1840 | "node": ">=8.6.0"
1841 | }
1842 | },
1843 | "node_modules/fast-glob/node_modules/glob-parent": {
1844 | "version": "5.1.2",
1845 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
1846 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
1847 | "dev": true,
1848 | "dependencies": {
1849 | "is-glob": "^4.0.1"
1850 | },
1851 | "engines": {
1852 | "node": ">= 6"
1853 | }
1854 | },
1855 | "node_modules/fast-json-stable-stringify": {
1856 | "version": "2.1.0",
1857 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
1858 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
1859 | "dev": true
1860 | },
1861 | "node_modules/fast-levenshtein": {
1862 | "version": "2.0.6",
1863 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
1864 | "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
1865 | "dev": true
1866 | },
1867 | "node_modules/fastq": {
1868 | "version": "1.15.0",
1869 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz",
1870 | "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==",
1871 | "dev": true,
1872 | "dependencies": {
1873 | "reusify": "^1.0.4"
1874 | }
1875 | },
1876 | "node_modules/file-entry-cache": {
1877 | "version": "6.0.1",
1878 | "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
1879 | "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
1880 | "dev": true,
1881 | "dependencies": {
1882 | "flat-cache": "^3.0.4"
1883 | },
1884 | "engines": {
1885 | "node": "^10.12.0 || >=12.0.0"
1886 | }
1887 | },
1888 | "node_modules/fill-range": {
1889 | "version": "7.0.1",
1890 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
1891 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
1892 | "dev": true,
1893 | "dependencies": {
1894 | "to-regex-range": "^5.0.1"
1895 | },
1896 | "engines": {
1897 | "node": ">=8"
1898 | }
1899 | },
1900 | "node_modules/find-up": {
1901 | "version": "5.0.0",
1902 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
1903 | "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
1904 | "dev": true,
1905 | "dependencies": {
1906 | "locate-path": "^6.0.0",
1907 | "path-exists": "^4.0.0"
1908 | },
1909 | "engines": {
1910 | "node": ">=10"
1911 | },
1912 | "funding": {
1913 | "url": "https://github.com/sponsors/sindresorhus"
1914 | }
1915 | },
1916 | "node_modules/flat-cache": {
1917 | "version": "3.0.4",
1918 | "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
1919 | "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
1920 | "dev": true,
1921 | "dependencies": {
1922 | "flatted": "^3.1.0",
1923 | "rimraf": "^3.0.2"
1924 | },
1925 | "engines": {
1926 | "node": "^10.12.0 || >=12.0.0"
1927 | }
1928 | },
1929 | "node_modules/flatted": {
1930 | "version": "3.2.7",
1931 | "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz",
1932 | "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==",
1933 | "dev": true
1934 | },
1935 | "node_modules/fs.realpath": {
1936 | "version": "1.0.0",
1937 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
1938 | "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
1939 | "dev": true
1940 | },
1941 | "node_modules/fsevents": {
1942 | "version": "2.3.2",
1943 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
1944 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
1945 | "dev": true,
1946 | "hasInstallScript": true,
1947 | "optional": true,
1948 | "os": [
1949 | "darwin"
1950 | ],
1951 | "engines": {
1952 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
1953 | }
1954 | },
1955 | "node_modules/gensync": {
1956 | "version": "1.0.0-beta.2",
1957 | "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
1958 | "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
1959 | "dev": true,
1960 | "engines": {
1961 | "node": ">=6.9.0"
1962 | }
1963 | },
1964 | "node_modules/glob": {
1965 | "version": "7.2.3",
1966 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
1967 | "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
1968 | "dev": true,
1969 | "dependencies": {
1970 | "fs.realpath": "^1.0.0",
1971 | "inflight": "^1.0.4",
1972 | "inherits": "2",
1973 | "minimatch": "^3.1.1",
1974 | "once": "^1.3.0",
1975 | "path-is-absolute": "^1.0.0"
1976 | },
1977 | "engines": {
1978 | "node": "*"
1979 | },
1980 | "funding": {
1981 | "url": "https://github.com/sponsors/isaacs"
1982 | }
1983 | },
1984 | "node_modules/glob-parent": {
1985 | "version": "6.0.2",
1986 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
1987 | "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
1988 | "dev": true,
1989 | "dependencies": {
1990 | "is-glob": "^4.0.3"
1991 | },
1992 | "engines": {
1993 | "node": ">=10.13.0"
1994 | }
1995 | },
1996 | "node_modules/globals": {
1997 | "version": "11.12.0",
1998 | "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
1999 | "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
2000 | "dev": true,
2001 | "engines": {
2002 | "node": ">=4"
2003 | }
2004 | },
2005 | "node_modules/globby": {
2006 | "version": "11.1.0",
2007 | "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
2008 | "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
2009 | "dev": true,
2010 | "dependencies": {
2011 | "array-union": "^2.1.0",
2012 | "dir-glob": "^3.0.1",
2013 | "fast-glob": "^3.2.9",
2014 | "ignore": "^5.2.0",
2015 | "merge2": "^1.4.1",
2016 | "slash": "^3.0.0"
2017 | },
2018 | "engines": {
2019 | "node": ">=10"
2020 | },
2021 | "funding": {
2022 | "url": "https://github.com/sponsors/sindresorhus"
2023 | }
2024 | },
2025 | "node_modules/graphemer": {
2026 | "version": "1.4.0",
2027 | "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
2028 | "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==",
2029 | "dev": true
2030 | },
2031 | "node_modules/has-flag": {
2032 | "version": "3.0.0",
2033 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
2034 | "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
2035 | "dev": true,
2036 | "engines": {
2037 | "node": ">=4"
2038 | }
2039 | },
2040 | "node_modules/ignore": {
2041 | "version": "5.2.4",
2042 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz",
2043 | "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==",
2044 | "dev": true,
2045 | "engines": {
2046 | "node": ">= 4"
2047 | }
2048 | },
2049 | "node_modules/import-fresh": {
2050 | "version": "3.3.0",
2051 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
2052 | "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
2053 | "dev": true,
2054 | "dependencies": {
2055 | "parent-module": "^1.0.0",
2056 | "resolve-from": "^4.0.0"
2057 | },
2058 | "engines": {
2059 | "node": ">=6"
2060 | },
2061 | "funding": {
2062 | "url": "https://github.com/sponsors/sindresorhus"
2063 | }
2064 | },
2065 | "node_modules/imurmurhash": {
2066 | "version": "0.1.4",
2067 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
2068 | "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
2069 | "dev": true,
2070 | "engines": {
2071 | "node": ">=0.8.19"
2072 | }
2073 | },
2074 | "node_modules/inflight": {
2075 | "version": "1.0.6",
2076 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
2077 | "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
2078 | "dev": true,
2079 | "dependencies": {
2080 | "once": "^1.3.0",
2081 | "wrappy": "1"
2082 | }
2083 | },
2084 | "node_modules/inherits": {
2085 | "version": "2.0.4",
2086 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
2087 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
2088 | "dev": true
2089 | },
2090 | "node_modules/is-extglob": {
2091 | "version": "2.1.1",
2092 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
2093 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
2094 | "dev": true,
2095 | "engines": {
2096 | "node": ">=0.10.0"
2097 | }
2098 | },
2099 | "node_modules/is-glob": {
2100 | "version": "4.0.3",
2101 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
2102 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
2103 | "dev": true,
2104 | "dependencies": {
2105 | "is-extglob": "^2.1.1"
2106 | },
2107 | "engines": {
2108 | "node": ">=0.10.0"
2109 | }
2110 | },
2111 | "node_modules/is-number": {
2112 | "version": "7.0.0",
2113 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
2114 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
2115 | "dev": true,
2116 | "engines": {
2117 | "node": ">=0.12.0"
2118 | }
2119 | },
2120 | "node_modules/is-path-inside": {
2121 | "version": "3.0.3",
2122 | "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
2123 | "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
2124 | "dev": true,
2125 | "engines": {
2126 | "node": ">=8"
2127 | }
2128 | },
2129 | "node_modules/isexe": {
2130 | "version": "2.0.0",
2131 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
2132 | "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
2133 | "dev": true
2134 | },
2135 | "node_modules/js-tokens": {
2136 | "version": "4.0.0",
2137 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
2138 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
2139 | },
2140 | "node_modules/js-yaml": {
2141 | "version": "4.1.0",
2142 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
2143 | "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
2144 | "dev": true,
2145 | "dependencies": {
2146 | "argparse": "^2.0.1"
2147 | },
2148 | "bin": {
2149 | "js-yaml": "bin/js-yaml.js"
2150 | }
2151 | },
2152 | "node_modules/jsesc": {
2153 | "version": "2.5.2",
2154 | "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
2155 | "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
2156 | "dev": true,
2157 | "bin": {
2158 | "jsesc": "bin/jsesc"
2159 | },
2160 | "engines": {
2161 | "node": ">=4"
2162 | }
2163 | },
2164 | "node_modules/json-schema-traverse": {
2165 | "version": "0.4.1",
2166 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
2167 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
2168 | "dev": true
2169 | },
2170 | "node_modules/json-stable-stringify-without-jsonify": {
2171 | "version": "1.0.1",
2172 | "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
2173 | "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
2174 | "dev": true
2175 | },
2176 | "node_modules/json5": {
2177 | "version": "2.2.3",
2178 | "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
2179 | "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
2180 | "dev": true,
2181 | "bin": {
2182 | "json5": "lib/cli.js"
2183 | },
2184 | "engines": {
2185 | "node": ">=6"
2186 | }
2187 | },
2188 | "node_modules/levn": {
2189 | "version": "0.4.1",
2190 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
2191 | "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
2192 | "dev": true,
2193 | "dependencies": {
2194 | "prelude-ls": "^1.2.1",
2195 | "type-check": "~0.4.0"
2196 | },
2197 | "engines": {
2198 | "node": ">= 0.8.0"
2199 | }
2200 | },
2201 | "node_modules/locate-path": {
2202 | "version": "6.0.0",
2203 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
2204 | "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
2205 | "dev": true,
2206 | "dependencies": {
2207 | "p-locate": "^5.0.0"
2208 | },
2209 | "engines": {
2210 | "node": ">=10"
2211 | },
2212 | "funding": {
2213 | "url": "https://github.com/sponsors/sindresorhus"
2214 | }
2215 | },
2216 | "node_modules/lodash.merge": {
2217 | "version": "4.6.2",
2218 | "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
2219 | "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
2220 | "dev": true
2221 | },
2222 | "node_modules/loose-envify": {
2223 | "version": "1.4.0",
2224 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
2225 | "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
2226 | "dependencies": {
2227 | "js-tokens": "^3.0.0 || ^4.0.0"
2228 | },
2229 | "bin": {
2230 | "loose-envify": "cli.js"
2231 | }
2232 | },
2233 | "node_modules/lru-cache": {
2234 | "version": "5.1.1",
2235 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
2236 | "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
2237 | "dev": true,
2238 | "dependencies": {
2239 | "yallist": "^3.0.2"
2240 | }
2241 | },
2242 | "node_modules/merge2": {
2243 | "version": "1.4.1",
2244 | "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
2245 | "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
2246 | "dev": true,
2247 | "engines": {
2248 | "node": ">= 8"
2249 | }
2250 | },
2251 | "node_modules/micromatch": {
2252 | "version": "4.0.5",
2253 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
2254 | "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
2255 | "dev": true,
2256 | "dependencies": {
2257 | "braces": "^3.0.2",
2258 | "picomatch": "^2.3.1"
2259 | },
2260 | "engines": {
2261 | "node": ">=8.6"
2262 | }
2263 | },
2264 | "node_modules/minimatch": {
2265 | "version": "3.1.2",
2266 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
2267 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
2268 | "dev": true,
2269 | "dependencies": {
2270 | "brace-expansion": "^1.1.7"
2271 | },
2272 | "engines": {
2273 | "node": "*"
2274 | }
2275 | },
2276 | "node_modules/ms": {
2277 | "version": "2.1.2",
2278 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
2279 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
2280 | "dev": true
2281 | },
2282 | "node_modules/nanoid": {
2283 | "version": "3.3.6",
2284 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
2285 | "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==",
2286 | "dev": true,
2287 | "funding": [
2288 | {
2289 | "type": "github",
2290 | "url": "https://github.com/sponsors/ai"
2291 | }
2292 | ],
2293 | "bin": {
2294 | "nanoid": "bin/nanoid.cjs"
2295 | },
2296 | "engines": {
2297 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
2298 | }
2299 | },
2300 | "node_modules/natural-compare": {
2301 | "version": "1.4.0",
2302 | "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
2303 | "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
2304 | "dev": true
2305 | },
2306 | "node_modules/natural-compare-lite": {
2307 | "version": "1.4.0",
2308 | "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz",
2309 | "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==",
2310 | "dev": true
2311 | },
2312 | "node_modules/node-releases": {
2313 | "version": "2.0.13",
2314 | "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz",
2315 | "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==",
2316 | "dev": true
2317 | },
2318 | "node_modules/once": {
2319 | "version": "1.4.0",
2320 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
2321 | "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
2322 | "dev": true,
2323 | "dependencies": {
2324 | "wrappy": "1"
2325 | }
2326 | },
2327 | "node_modules/optionator": {
2328 | "version": "0.9.3",
2329 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz",
2330 | "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==",
2331 | "dev": true,
2332 | "dependencies": {
2333 | "@aashutoshrathi/word-wrap": "^1.2.3",
2334 | "deep-is": "^0.1.3",
2335 | "fast-levenshtein": "^2.0.6",
2336 | "levn": "^0.4.1",
2337 | "prelude-ls": "^1.2.1",
2338 | "type-check": "^0.4.0"
2339 | },
2340 | "engines": {
2341 | "node": ">= 0.8.0"
2342 | }
2343 | },
2344 | "node_modules/p-limit": {
2345 | "version": "3.1.0",
2346 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
2347 | "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
2348 | "dev": true,
2349 | "dependencies": {
2350 | "yocto-queue": "^0.1.0"
2351 | },
2352 | "engines": {
2353 | "node": ">=10"
2354 | },
2355 | "funding": {
2356 | "url": "https://github.com/sponsors/sindresorhus"
2357 | }
2358 | },
2359 | "node_modules/p-locate": {
2360 | "version": "5.0.0",
2361 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
2362 | "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
2363 | "dev": true,
2364 | "dependencies": {
2365 | "p-limit": "^3.0.2"
2366 | },
2367 | "engines": {
2368 | "node": ">=10"
2369 | },
2370 | "funding": {
2371 | "url": "https://github.com/sponsors/sindresorhus"
2372 | }
2373 | },
2374 | "node_modules/parent-module": {
2375 | "version": "1.0.1",
2376 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
2377 | "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
2378 | "dev": true,
2379 | "dependencies": {
2380 | "callsites": "^3.0.0"
2381 | },
2382 | "engines": {
2383 | "node": ">=6"
2384 | }
2385 | },
2386 | "node_modules/path-exists": {
2387 | "version": "4.0.0",
2388 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
2389 | "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
2390 | "dev": true,
2391 | "engines": {
2392 | "node": ">=8"
2393 | }
2394 | },
2395 | "node_modules/path-is-absolute": {
2396 | "version": "1.0.1",
2397 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
2398 | "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
2399 | "dev": true,
2400 | "engines": {
2401 | "node": ">=0.10.0"
2402 | }
2403 | },
2404 | "node_modules/path-key": {
2405 | "version": "3.1.1",
2406 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
2407 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
2408 | "dev": true,
2409 | "engines": {
2410 | "node": ">=8"
2411 | }
2412 | },
2413 | "node_modules/path-type": {
2414 | "version": "4.0.0",
2415 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
2416 | "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
2417 | "dev": true,
2418 | "engines": {
2419 | "node": ">=8"
2420 | }
2421 | },
2422 | "node_modules/picocolors": {
2423 | "version": "1.0.0",
2424 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
2425 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
2426 | "dev": true
2427 | },
2428 | "node_modules/picomatch": {
2429 | "version": "2.3.1",
2430 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
2431 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
2432 | "dev": true,
2433 | "engines": {
2434 | "node": ">=8.6"
2435 | },
2436 | "funding": {
2437 | "url": "https://github.com/sponsors/jonschlinkert"
2438 | }
2439 | },
2440 | "node_modules/postcss": {
2441 | "version": "8.4.27",
2442 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.27.tgz",
2443 | "integrity": "sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==",
2444 | "dev": true,
2445 | "funding": [
2446 | {
2447 | "type": "opencollective",
2448 | "url": "https://opencollective.com/postcss/"
2449 | },
2450 | {
2451 | "type": "tidelift",
2452 | "url": "https://tidelift.com/funding/github/npm/postcss"
2453 | },
2454 | {
2455 | "type": "github",
2456 | "url": "https://github.com/sponsors/ai"
2457 | }
2458 | ],
2459 | "dependencies": {
2460 | "nanoid": "^3.3.6",
2461 | "picocolors": "^1.0.0",
2462 | "source-map-js": "^1.0.2"
2463 | },
2464 | "engines": {
2465 | "node": "^10 || ^12 || >=14"
2466 | }
2467 | },
2468 | "node_modules/prelude-ls": {
2469 | "version": "1.2.1",
2470 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
2471 | "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
2472 | "dev": true,
2473 | "engines": {
2474 | "node": ">= 0.8.0"
2475 | }
2476 | },
2477 | "node_modules/punycode": {
2478 | "version": "2.3.0",
2479 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz",
2480 | "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==",
2481 | "dev": true,
2482 | "engines": {
2483 | "node": ">=6"
2484 | }
2485 | },
2486 | "node_modules/queue-microtask": {
2487 | "version": "1.2.3",
2488 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
2489 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
2490 | "dev": true,
2491 | "funding": [
2492 | {
2493 | "type": "github",
2494 | "url": "https://github.com/sponsors/feross"
2495 | },
2496 | {
2497 | "type": "patreon",
2498 | "url": "https://www.patreon.com/feross"
2499 | },
2500 | {
2501 | "type": "consulting",
2502 | "url": "https://feross.org/support"
2503 | }
2504 | ]
2505 | },
2506 | "node_modules/react": {
2507 | "version": "18.2.0",
2508 | "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz",
2509 | "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==",
2510 | "dependencies": {
2511 | "loose-envify": "^1.1.0"
2512 | },
2513 | "engines": {
2514 | "node": ">=0.10.0"
2515 | }
2516 | },
2517 | "node_modules/react-dom": {
2518 | "version": "18.2.0",
2519 | "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz",
2520 | "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==",
2521 | "dependencies": {
2522 | "loose-envify": "^1.1.0",
2523 | "scheduler": "^0.23.0"
2524 | },
2525 | "peerDependencies": {
2526 | "react": "^18.2.0"
2527 | }
2528 | },
2529 | "node_modules/react-refresh": {
2530 | "version": "0.14.0",
2531 | "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz",
2532 | "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==",
2533 | "dev": true,
2534 | "engines": {
2535 | "node": ">=0.10.0"
2536 | }
2537 | },
2538 | "node_modules/resolve-from": {
2539 | "version": "4.0.0",
2540 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
2541 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
2542 | "dev": true,
2543 | "engines": {
2544 | "node": ">=4"
2545 | }
2546 | },
2547 | "node_modules/reusify": {
2548 | "version": "1.0.4",
2549 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
2550 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
2551 | "dev": true,
2552 | "engines": {
2553 | "iojs": ">=1.0.0",
2554 | "node": ">=0.10.0"
2555 | }
2556 | },
2557 | "node_modules/rimraf": {
2558 | "version": "3.0.2",
2559 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
2560 | "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
2561 | "dev": true,
2562 | "dependencies": {
2563 | "glob": "^7.1.3"
2564 | },
2565 | "bin": {
2566 | "rimraf": "bin.js"
2567 | },
2568 | "funding": {
2569 | "url": "https://github.com/sponsors/isaacs"
2570 | }
2571 | },
2572 | "node_modules/rollup": {
2573 | "version": "3.26.3",
2574 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.26.3.tgz",
2575 | "integrity": "sha512-7Tin0C8l86TkpcMtXvQu6saWH93nhG3dGQ1/+l5V2TDMceTxO7kDiK6GzbfLWNNxqJXm591PcEZUozZm51ogwQ==",
2576 | "dev": true,
2577 | "bin": {
2578 | "rollup": "dist/bin/rollup"
2579 | },
2580 | "engines": {
2581 | "node": ">=14.18.0",
2582 | "npm": ">=8.0.0"
2583 | },
2584 | "optionalDependencies": {
2585 | "fsevents": "~2.3.2"
2586 | }
2587 | },
2588 | "node_modules/run-parallel": {
2589 | "version": "1.2.0",
2590 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
2591 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
2592 | "dev": true,
2593 | "funding": [
2594 | {
2595 | "type": "github",
2596 | "url": "https://github.com/sponsors/feross"
2597 | },
2598 | {
2599 | "type": "patreon",
2600 | "url": "https://www.patreon.com/feross"
2601 | },
2602 | {
2603 | "type": "consulting",
2604 | "url": "https://feross.org/support"
2605 | }
2606 | ],
2607 | "dependencies": {
2608 | "queue-microtask": "^1.2.2"
2609 | }
2610 | },
2611 | "node_modules/scheduler": {
2612 | "version": "0.23.0",
2613 | "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz",
2614 | "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==",
2615 | "dependencies": {
2616 | "loose-envify": "^1.1.0"
2617 | }
2618 | },
2619 | "node_modules/semver": {
2620 | "version": "7.5.4",
2621 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
2622 | "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
2623 | "dev": true,
2624 | "dependencies": {
2625 | "lru-cache": "^6.0.0"
2626 | },
2627 | "bin": {
2628 | "semver": "bin/semver.js"
2629 | },
2630 | "engines": {
2631 | "node": ">=10"
2632 | }
2633 | },
2634 | "node_modules/semver/node_modules/lru-cache": {
2635 | "version": "6.0.0",
2636 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
2637 | "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
2638 | "dev": true,
2639 | "dependencies": {
2640 | "yallist": "^4.0.0"
2641 | },
2642 | "engines": {
2643 | "node": ">=10"
2644 | }
2645 | },
2646 | "node_modules/semver/node_modules/yallist": {
2647 | "version": "4.0.0",
2648 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
2649 | "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
2650 | "dev": true
2651 | },
2652 | "node_modules/shebang-command": {
2653 | "version": "2.0.0",
2654 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
2655 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
2656 | "dev": true,
2657 | "dependencies": {
2658 | "shebang-regex": "^3.0.0"
2659 | },
2660 | "engines": {
2661 | "node": ">=8"
2662 | }
2663 | },
2664 | "node_modules/shebang-regex": {
2665 | "version": "3.0.0",
2666 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
2667 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
2668 | "dev": true,
2669 | "engines": {
2670 | "node": ">=8"
2671 | }
2672 | },
2673 | "node_modules/slash": {
2674 | "version": "3.0.0",
2675 | "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
2676 | "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
2677 | "dev": true,
2678 | "engines": {
2679 | "node": ">=8"
2680 | }
2681 | },
2682 | "node_modules/source-map-js": {
2683 | "version": "1.0.2",
2684 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
2685 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
2686 | "dev": true,
2687 | "engines": {
2688 | "node": ">=0.10.0"
2689 | }
2690 | },
2691 | "node_modules/strip-ansi": {
2692 | "version": "6.0.1",
2693 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
2694 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
2695 | "dev": true,
2696 | "dependencies": {
2697 | "ansi-regex": "^5.0.1"
2698 | },
2699 | "engines": {
2700 | "node": ">=8"
2701 | }
2702 | },
2703 | "node_modules/strip-json-comments": {
2704 | "version": "3.1.1",
2705 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
2706 | "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
2707 | "dev": true,
2708 | "engines": {
2709 | "node": ">=8"
2710 | },
2711 | "funding": {
2712 | "url": "https://github.com/sponsors/sindresorhus"
2713 | }
2714 | },
2715 | "node_modules/supports-color": {
2716 | "version": "5.5.0",
2717 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
2718 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
2719 | "dev": true,
2720 | "dependencies": {
2721 | "has-flag": "^3.0.0"
2722 | },
2723 | "engines": {
2724 | "node": ">=4"
2725 | }
2726 | },
2727 | "node_modules/text-table": {
2728 | "version": "0.2.0",
2729 | "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
2730 | "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
2731 | "dev": true
2732 | },
2733 | "node_modules/to-fast-properties": {
2734 | "version": "2.0.0",
2735 | "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
2736 | "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
2737 | "dev": true,
2738 | "engines": {
2739 | "node": ">=4"
2740 | }
2741 | },
2742 | "node_modules/to-regex-range": {
2743 | "version": "5.0.1",
2744 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
2745 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
2746 | "dev": true,
2747 | "dependencies": {
2748 | "is-number": "^7.0.0"
2749 | },
2750 | "engines": {
2751 | "node": ">=8.0"
2752 | }
2753 | },
2754 | "node_modules/tslib": {
2755 | "version": "1.14.1",
2756 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
2757 | "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
2758 | "dev": true
2759 | },
2760 | "node_modules/tsutils": {
2761 | "version": "3.21.0",
2762 | "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz",
2763 | "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==",
2764 | "dev": true,
2765 | "dependencies": {
2766 | "tslib": "^1.8.1"
2767 | },
2768 | "engines": {
2769 | "node": ">= 6"
2770 | },
2771 | "peerDependencies": {
2772 | "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"
2773 | }
2774 | },
2775 | "node_modules/type-check": {
2776 | "version": "0.4.0",
2777 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
2778 | "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
2779 | "dev": true,
2780 | "dependencies": {
2781 | "prelude-ls": "^1.2.1"
2782 | },
2783 | "engines": {
2784 | "node": ">= 0.8.0"
2785 | }
2786 | },
2787 | "node_modules/type-fest": {
2788 | "version": "0.20.2",
2789 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
2790 | "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
2791 | "dev": true,
2792 | "engines": {
2793 | "node": ">=10"
2794 | },
2795 | "funding": {
2796 | "url": "https://github.com/sponsors/sindresorhus"
2797 | }
2798 | },
2799 | "node_modules/typescript": {
2800 | "version": "5.1.6",
2801 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz",
2802 | "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==",
2803 | "dev": true,
2804 | "bin": {
2805 | "tsc": "bin/tsc",
2806 | "tsserver": "bin/tsserver"
2807 | },
2808 | "engines": {
2809 | "node": ">=14.17"
2810 | }
2811 | },
2812 | "node_modules/update-browserslist-db": {
2813 | "version": "1.0.11",
2814 | "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz",
2815 | "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==",
2816 | "dev": true,
2817 | "funding": [
2818 | {
2819 | "type": "opencollective",
2820 | "url": "https://opencollective.com/browserslist"
2821 | },
2822 | {
2823 | "type": "tidelift",
2824 | "url": "https://tidelift.com/funding/github/npm/browserslist"
2825 | },
2826 | {
2827 | "type": "github",
2828 | "url": "https://github.com/sponsors/ai"
2829 | }
2830 | ],
2831 | "dependencies": {
2832 | "escalade": "^3.1.1",
2833 | "picocolors": "^1.0.0"
2834 | },
2835 | "bin": {
2836 | "update-browserslist-db": "cli.js"
2837 | },
2838 | "peerDependencies": {
2839 | "browserslist": ">= 4.21.0"
2840 | }
2841 | },
2842 | "node_modules/uri-js": {
2843 | "version": "4.4.1",
2844 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
2845 | "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
2846 | "dev": true,
2847 | "dependencies": {
2848 | "punycode": "^2.1.0"
2849 | }
2850 | },
2851 | "node_modules/vite": {
2852 | "version": "4.4.7",
2853 | "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.7.tgz",
2854 | "integrity": "sha512-6pYf9QJ1mHylfVh39HpuSfMPojPSKVxZvnclX1K1FyZ1PXDOcLBibdq5t1qxJSnL63ca8Wf4zts6mD8u8oc9Fw==",
2855 | "dev": true,
2856 | "dependencies": {
2857 | "esbuild": "^0.18.10",
2858 | "postcss": "^8.4.26",
2859 | "rollup": "^3.25.2"
2860 | },
2861 | "bin": {
2862 | "vite": "bin/vite.js"
2863 | },
2864 | "engines": {
2865 | "node": "^14.18.0 || >=16.0.0"
2866 | },
2867 | "funding": {
2868 | "url": "https://github.com/vitejs/vite?sponsor=1"
2869 | },
2870 | "optionalDependencies": {
2871 | "fsevents": "~2.3.2"
2872 | },
2873 | "peerDependencies": {
2874 | "@types/node": ">= 14",
2875 | "less": "*",
2876 | "lightningcss": "^1.21.0",
2877 | "sass": "*",
2878 | "stylus": "*",
2879 | "sugarss": "*",
2880 | "terser": "^5.4.0"
2881 | },
2882 | "peerDependenciesMeta": {
2883 | "@types/node": {
2884 | "optional": true
2885 | },
2886 | "less": {
2887 | "optional": true
2888 | },
2889 | "lightningcss": {
2890 | "optional": true
2891 | },
2892 | "sass": {
2893 | "optional": true
2894 | },
2895 | "stylus": {
2896 | "optional": true
2897 | },
2898 | "sugarss": {
2899 | "optional": true
2900 | },
2901 | "terser": {
2902 | "optional": true
2903 | }
2904 | }
2905 | },
2906 | "node_modules/which": {
2907 | "version": "2.0.2",
2908 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
2909 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
2910 | "dev": true,
2911 | "dependencies": {
2912 | "isexe": "^2.0.0"
2913 | },
2914 | "bin": {
2915 | "node-which": "bin/node-which"
2916 | },
2917 | "engines": {
2918 | "node": ">= 8"
2919 | }
2920 | },
2921 | "node_modules/wrappy": {
2922 | "version": "1.0.2",
2923 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
2924 | "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
2925 | "dev": true
2926 | },
2927 | "node_modules/yallist": {
2928 | "version": "3.1.1",
2929 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
2930 | "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
2931 | "dev": true
2932 | },
2933 | "node_modules/yocto-queue": {
2934 | "version": "0.1.0",
2935 | "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
2936 | "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
2937 | "dev": true,
2938 | "engines": {
2939 | "node": ">=10"
2940 | },
2941 | "funding": {
2942 | "url": "https://github.com/sponsors/sindresorhus"
2943 | }
2944 | }
2945 | }
2946 | }
2947 |
--------------------------------------------------------------------------------