timetable-app

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit 7ea91c370429b0817e863fadedf2e7b301ed73df
parent 44f68386983056315f1cb167b5d00df5cfc9590b
Author: Yuukin256 <52195426+Yuukin256@users.noreply.github.com>
Date:   Mon, 10 Apr 2023 23:26:53 +0900

Merge pull request #4 from Yuukin256/dev

202304機能追加1
Diffstat:
M.eslintrc.yml | 1+
M.husky/pre-push | 1+
M.vscode/extensions.json | 4+++-
M.vscode/settings.json | 4++--
Mignore-step.sh | 27+++++++++++++++------------
Mnext.config.js | 29++++++++++++++++++++++++++++-
Mpackage.json | 80++++++++++++++++++++++++++++++++++++++++++-------------------------------------
Mpnpm-lock.yaml | 4704+++++++++++++++++++++++++++++++++++++++----------------------------------------
Aprisma/migrations/20230324181509_cascade/migration.sql | 5+++++
Aprisma/migrations/20230408160935_temporary_group_optional/migration.sql | 2++
Aprisma/migrations/20230408165310_add_event_table/migration.sql | 11+++++++++++
Aprisma/reset.ts | 46++++++++++++++++++++++++++++++++++++++++++++++
Mprisma/schema.prisma | 25+++++++++++++++++--------
Mprisma/seed.ts | 2+-
Mpublic/favicon.ico | 0
Dpublic/icon-192x192.png | 0
Dpublic/icon-256x256.png | 0
Dpublic/icon-384x384.png | 0
Dpublic/icon-512x512.png | 0
Apublic/icon_x512.png | 0
Mpublic/manifest.json | 36+++++++++++++++++++++---------------
Apublic/maskable_icon_x192.png | 0
Apublic/maskable_icon_x384.png | 0
Apublic/maskable_icon_x512.png | 0
Asrc/client/components/ClassPicker/index.tsx | 48++++++++++++++++++++++++++++++++++++++++++++++++
Msrc/client/components/DatePicker/index.tsx | 19+++++--------------
Asrc/client/components/DatePickerLocalizationProvider/index.tsx | 24++++++++++++++++++++++++
Asrc/client/components/IconButtonDatePicker/index.tsx | 40++++++++++++++++++++++++++++++++++++++++
Asrc/client/components/Layout/Menu.tsx | 143+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Msrc/client/components/Layout/index.tsx | 95+++++++++++++++++++++++++++++++++++++++----------------------------------------
Msrc/client/components/Link/index.tsx | 2+-
Msrc/client/components/SlideFooter/index.tsx | 101+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------
Msrc/client/components/WarningOfUse/index.tsx | 44++++++++++++++++++++++++++++++++++++--------
Dsrc/client/features/console/classStandard/components/ClassPicker.tsx | 46----------------------------------------------
Msrc/client/features/console/classStandard/components/InputForm.tsx | 10++++------
Msrc/client/features/console/classStandard/components/InputTable.tsx | 30++++++++++++++++--------------
Msrc/client/features/console/classStandard/components/LessonCell.tsx | 3+--
Msrc/client/features/console/classStandard/hooks/useStandardTimetable.ts | 12+++++-------
Msrc/client/features/console/classStandard/index.tsx | 14+++++++-------
Asrc/client/features/console/classTemporarySchedule/components/CreateForm.tsx | 146+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Asrc/client/features/console/classTemporarySchedule/components/EditTable/DeleteCell.tsx | 103+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Asrc/client/features/console/classTemporarySchedule/components/EditTable/Row.tsx | 35+++++++++++++++++++++++++++++++++++
Asrc/client/features/console/classTemporarySchedule/components/EditTable/UpdateCell.tsx | 182+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Asrc/client/features/console/classTemporarySchedule/components/EditTable/index.tsx | 49+++++++++++++++++++++++++++++++++++++++++++++++++
Asrc/client/features/console/classTemporarySchedule/components/InputView.tsx | 23+++++++++++++++++++++++
Asrc/client/features/console/classTemporarySchedule/hooks/useGetAllQuery.ts | 37+++++++++++++++++++++++++++++++++++++
Asrc/client/features/console/classTemporarySchedule/index.tsx | 30++++++++++++++++++++++++++++++
Asrc/client/features/console/event/components/CreateForm.tsx | 85+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Asrc/client/features/console/event/components/EditTable/DeleteCell.tsx | 72++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Asrc/client/features/console/event/components/EditTable/GradeSelector.tsx | 38++++++++++++++++++++++++++++++++++++++
Asrc/client/features/console/event/components/EditTable/UpdateCell.tsx | 122+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Asrc/client/features/console/event/components/EditTable/index.tsx | 86+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Asrc/client/features/console/event/hooks/useCreateForm.ts | 65+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Asrc/client/features/console/event/hooks/useDeleteMutation.ts | 27+++++++++++++++++++++++++++
Asrc/client/features/console/event/hooks/useFilteredEvents.ts | 34++++++++++++++++++++++++++++++++++
Asrc/client/features/console/event/hooks/useUpdateForm.ts | 75+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Asrc/client/features/console/event/index.tsx | 13+++++++++++++
Msrc/client/features/console/gradeSchedule/components/DatePicker.tsx | 4+---
Msrc/client/features/console/gradeSchedule/components/InputForm.tsx | 76+++++++++++++++++++++++++++++++++++++++++-----------------------------------
Msrc/client/features/console/gradeSchedule/hooks/useGradeSchedule.ts | 16++++++++++------
Msrc/client/features/console/gradeSchedule/index.tsx | 14+++++++++-----
Asrc/client/features/daily/atoms.ts | 12++++++++++++
Msrc/client/features/daily/components/DatePicker.tsx | 72+++++++++++++++++++++++++++++++++++++++++-------------------------------
Asrc/client/features/daily/components/Lessons/BasisChip.tsx | 35+++++++++++++++++++++++++++++++++++
Asrc/client/features/daily/components/Lessons/Events.tsx | 50++++++++++++++++++++++++++++++++++++++++++++++++++
Msrc/client/features/daily/components/Lessons/Lesson.tsx | 64+++++++++++++++++++++++++++++++---------------------------------
Asrc/client/features/daily/components/Lessons/Note.tsx | 130+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Msrc/client/features/daily/components/Lessons/UpdateDateChip.tsx | 93++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------
Msrc/client/features/daily/components/Lessons/index.tsx | 57+++++++++++++++++++++++++++++++++++----------------------
Asrc/client/features/daily/components/SetDefaultClassFab.tsx | 47+++++++++++++++++++++++++++++++++++++++++++++++
Msrc/client/features/daily/hooks/useIndexAndDate.ts | 89+++++++++++++++++++++++++++++++------------------------------------------------
Msrc/client/features/daily/index.tsx | 111++++++++++++++++++++++++++++++++++++++++++++++++++-----------------------------
Msrc/client/features/daily/types.ts | 9+++++++--
Asrc/client/features/setting/components/DefaultClassForm.tsx | 96+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Asrc/client/features/setting/components/ThemeSwitch.tsx | 53+++++++++++++++++++++++++++++++++++++++++++++++++++++
Asrc/client/features/setting/index.tsx | 40++++++++++++++++++++++++++++++++++++++++
Asrc/client/hooks/useDefaultClass.ts | 51+++++++++++++++++++++++++++++++++++++++++++++++++++
Asrc/client/hooks/useMap.ts | 51+++++++++++++++++++++++++++++++++++++++++++++++++++
Asrc/client/types/index.ts | 16++++++++++++++++
Asrc/client/utils/getMuiTheme.ts | 53+++++++++++++++++++++++++++++++++++++++++++++++++++++
Msrc/common/constant/index.ts | 31++++++++++++++++++++++++++++++-
Msrc/common/types/index.ts | 2++
Dsrc/common/utils/date.ts | 11-----------
Asrc/common/utils/formatDate.ts | 11+++++++++++
Msrc/common/utils/zod.ts | 8+++++---
Msrc/middleware.ts | 4+++-
Msrc/pages/[class].tsx | 118+++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------
Msrc/pages/_app.tsx | 106++++++++++++++++++++++++++++++++++++++++++++-----------------------------------
Msrc/pages/_document.tsx | 18+++++++++++++++---
Msrc/pages/about.tsx | 120++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------
Msrc/pages/console/class-standard.tsx | 27++++++++++-----------------
Asrc/pages/console/class-temporary-schedule.tsx | 63+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Asrc/pages/console/event.tsx | 35+++++++++++++++++++++++++++++++++++
Msrc/pages/console/grade-schedule.tsx | 19+++++--------------
Msrc/pages/console/index.tsx | 24+++++++++---------------
Asrc/pages/how-to-use.tsx | 21+++++++++++++++++++++
Msrc/pages/index.tsx | 7++-----
Asrc/pages/setting.tsx | 33+++++++++++++++++++++++++++++++++
Msrc/server/routers/_app.ts | 6++++++
Asrc/server/routers/classTemporarySchedule.ts | 101+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Asrc/server/routers/classTemporaryScheduleGroup.ts | 67+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Asrc/server/routers/event.ts | 79+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Msrc/server/routers/gradeSchedule.ts | 22+++++++++++-----------
Mtsconfig.json | 26++++++++++++++++++++------
Mvercel.json | 4++--
105 files changed, 5946 insertions(+), 3086 deletions(-)

diff --git a/.eslintrc.yml b/.eslintrc.yml @@ -9,6 +9,7 @@ extends: - plugin:@typescript-eslint/recommended - plugin:import/recommended - plugin:import/typescript + - plugin:css-import-order/recommended - prettier parser: '@typescript-eslint/parser' diff --git a/.husky/pre-push b/.husky/pre-push @@ -1,4 +1,5 @@ #!/bin/sh . "$(dirname "$0")/_/husky.sh" +pnpm lint pnpm type-check diff --git a/.vscode/extensions.json b/.vscode/extensions.json @@ -2,6 +2,8 @@ "recommendations": [ "dbaeumer.vscode-eslint", "esbenp.prettier-vscode", - "editorconfig.editorconfig" + "editorconfig.editorconfig", + "styled-components.vscode-styled-components", + "prisma.prisma" ] } diff --git a/.vscode/settings.json b/.vscode/settings.json @@ -1,6 +1,6 @@ { - "npm.packageManager": "yarn", - "eslint.packageManager": "yarn", + "npm.packageManager": "pnpm", + "eslint.packageManager": "pnpm", "editor.defaultFormatter": "esbenp.prettier-vscode", "editor.formatOnPaste": true, "editor.formatOnSave": true, diff --git a/ignore-step.sh b/ignore-step.sh @@ -1,14 +1,17 @@ #!/bin/bash -echo "VERCEL_GIT_COMMIT_REF: $VERCEL_GIT_COMMIT_REF" - -if [[ "$VERCEL_GIT_COMMIT_REF" == "staging" || "$VERCEL_GIT_COMMIT_REF" == "main" ]] ; then - # Proceed with the build - echo "✅ - Build can proceed" - exit 1; - -else - # Don't build - echo "🛑 - Build cancelled" - exit 0; -fi +# echo "VERCEL_GIT_COMMIT_REF: $VERCEL_GIT_COMMIT_REF" + +# if [[ "$VERCEL_GIT_COMMIT_REF" == "staging" || "$VERCEL_GIT_COMMIT_REF" == "main" ]] ; then +# # Proceed with the build +# echo "✅ - Build can proceed" +# exit 1; + +# else +# # Don't build +# echo "🛑 - Build cancelled" +# exit 0; +# fi + +echo "✅ - Build can proceed" +exit 1; diff --git a/next.config.js b/next.config.js @@ -1,17 +1,44 @@ /* eslint-disable */ -/** @type {import('next').NextConfig} */ const withPWA = require('next-pwa')({ dest: 'public', disable: process.env.NODE_ENV === 'development', }); +/** @type {import('next').NextConfig} */ const nextConfig = withPWA({ reactStrictMode: true, trailingSlash: false, experimental: { swcPlugins: [['next-superjson-plugin', {}]], }, + redirects: async () => { + const startClassRedirects = [1, 2, 3].flatMap((g) => + [1, 2, 3, 4, 5, 6, 7, 8].map((c) => { + const className = `${g}-${c}`; + return { + source: '/start', + has: [ + { + type: 'cookie', + key: 'default_class', + value: className, + }, + ], + destination: '/' + className, + permanent: false, + }; + }) + ); + + const startDefaultRedirect = { + source: '/start', + destination: '/', + permanent: false, + }; + + return [...startClassRedirects, startDefaultRedirect]; + }, }); module.exports = nextConfig; diff --git a/package.json b/package.json @@ -7,7 +7,7 @@ "dev": "next dev", "build": "next build", "start": "next start", - "lint": "eslint src/**/*.{ts,tsx} && tsc --noEmit", + "lint": "eslint src/**/*.{ts,tsx}", "lint:fix": "eslint src/**/*.{ts,tsx} --fix", "type-check": "tsc --noEmit", "format": "prettier --write ." @@ -16,61 +16,67 @@ "seed": "tsx prisma/seed.ts" }, "dependencies": { - "@babel/core": "^7.21.3", - "@emotion/cache": "^11.10.5", + "@babel/core": "^7.21.4", + "@emotion/cache": "^11.10.7", "@emotion/react": "^11.10.6", "@emotion/styled": "^11.10.6", "@fontsource/noto-sans-jp": "^4.5.12", - "@js-temporal/polyfill": "^0.4.3", - "@mui/icons-material": "^5.11.11", - "@mui/lab": "5.0.0-alpha.122", - "@mui/material": "^5.11.13", - "@mui/system": "^5.11.13", - "@mui/x-date-pickers": "^6.0.2", - "@prisma/client": "^4.11.0", - "@tanstack/react-query": "^4.26.1", - "@trpc/client": "^10.16.0", - "@trpc/next": "^10.16.0", - "@trpc/react-query": "^10.16.0", - "@trpc/server": "^10.16.0", + "@hookform/resolvers": "^3.0.1", + "@mantine/hooks": "^6.0.6", + "@mui/icons-material": "^5.11.16", + "@mui/lab": "5.0.0-alpha.124", + "@mui/material": "^5.11.16", + "@mui/system": "^5.11.16", + "@mui/x-date-pickers": "^6.0.4", + "@prisma/client": "^4.12.0", + "@tanstack/react-query": "^4.28.0", + "@trpc/client": "^10.19.1", + "@trpc/next": "^10.19.1", + "@trpc/react-query": "^10.19.1", + "@trpc/server": "^10.19.1", "clsx": "^1.2.1", - "csstype": "^3.1.1", + "csstype": "^3.1.2", "date-fns": "^2.29.3", + "jotai": "^2.0.3", + "lodash": "^4.17.21", "next": "13.2.3", "next-pwa": "^5.6.0", "next-superjson-plugin": "^0.5.6", "notistack": "^3.0.1", "react": "^18.2.0", + "react-cookie": "^4.1.1", "react-dom": "^18.2.0", - "react-use": "^17.4.0", + "react-hook-form": "^7.43.9", + "react-hook-form-mui": "^6.0.1", "superjson": "^1.12.2", - "swiper": "^9.1.1", - "swr": "^2.1.0", + "swiper": "^8.4.7", + "swr": "^2.1.2", "usehooks-ts": "^2.9.1", - "webpack": "^5.76.2", + "webpack": "^5.78.0", "zod": "^3.21.4" }, "devDependencies": { - "@next/eslint-plugin-next": "^13.2.4", - "@tsconfig/strictest": "^1.0.2", - "@types/node": "^18.15.3", - "@types/react": "^18.0.28", + "@next/eslint-plugin-next": "^13.3.0", + "@types/lodash": "^4.14.192", + "@types/node": "^18.15.11", + "@types/react": "^18.0.33", "@types/react-dom": "^18.0.11", - "@typescript-eslint/eslint-plugin": "^5.55.0", - "@typescript-eslint/parser": "^5.55.0", - "eslint": "^8.36.0", - "eslint-config-next": "^13.2.4", - "eslint-config-prettier": "^8.7.0", - "eslint-import-resolver-typescript": "^3.5.3", + "@typescript-eslint/eslint-plugin": "^5.57.1", + "@typescript-eslint/parser": "^5.57.1", + "eslint": "^8.38.0", + "eslint-config-next": "^13.3.0", + "eslint-config-prettier": "^8.8.0", + "eslint-import-resolver-typescript": "^3.5.5", + "eslint-plugin-css-import-order": "^1.1.0", "eslint-plugin-import": "^2.27.5", "eslint-plugin-unused-imports": "^2.0.0", "husky": "^8.0.3", - "lint-staged": "^13.2.0", - "prettier": "^2.8.4", - "prisma": "^4.11.0", - "tsx": "^3.12.5", - "typescript": "^4.9.5", - "vercel": "^28.16.15" + "lint-staged": "^13.2.1", + "prettier": "^2.8.7", + "prisma": "^4.12.0", + "tsx": "^3.12.6", + "typescript": "^5.0.4", + "vercel": "^28.18.4" }, - "packageManager": "pnpm@7.29.1" + "packageManager": "pnpm@8.1.1" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml @@ -1,127 +1,196 @@ -lockfileVersion: 5.4 - -specifiers: - '@babel/core': ^7.21.3 - '@emotion/cache': ^11.10.5 - '@emotion/react': ^11.10.6 - '@emotion/styled': ^11.10.6 - '@fontsource/noto-sans-jp': ^4.5.12 - '@js-temporal/polyfill': ^0.4.3 - '@mui/icons-material': ^5.11.11 - '@mui/lab': 5.0.0-alpha.122 - '@mui/material': ^5.11.13 - '@mui/system': ^5.11.13 - '@mui/x-date-pickers': ^6.0.2 - '@next/eslint-plugin-next': ^13.2.4 - '@prisma/client': ^4.11.0 - '@tanstack/react-query': ^4.26.1 - '@trpc/client': ^10.16.0 - '@trpc/next': ^10.16.0 - '@trpc/react-query': ^10.16.0 - '@trpc/server': ^10.16.0 - '@tsconfig/strictest': ^1.0.2 - '@types/node': ^18.15.3 - '@types/react': ^18.0.28 - '@types/react-dom': ^18.0.11 - '@typescript-eslint/eslint-plugin': ^5.55.0 - '@typescript-eslint/parser': ^5.55.0 - clsx: ^1.2.1 - csstype: ^3.1.1 - date-fns: ^2.29.3 - eslint: ^8.36.0 - eslint-config-next: ^13.2.4 - eslint-config-prettier: ^8.7.0 - eslint-import-resolver-typescript: ^3.5.3 - eslint-plugin-import: ^2.27.5 - eslint-plugin-unused-imports: ^2.0.0 - husky: ^8.0.3 - lint-staged: ^13.2.0 - next: 13.2.3 - next-pwa: ^5.6.0 - next-superjson-plugin: ^0.5.6 - notistack: ^3.0.1 - prettier: ^2.8.4 - prisma: ^4.11.0 - react: ^18.2.0 - react-dom: ^18.2.0 - react-use: ^17.4.0 - superjson: ^1.12.2 - swiper: ^9.1.1 - swr: ^2.1.0 - tsx: ^3.12.5 - typescript: ^4.9.5 - usehooks-ts: ^2.9.1 - vercel: ^28.16.15 - webpack: ^5.76.2 - zod: ^3.21.4 +lockfileVersion: '6.0' dependencies: - '@babel/core': 7.21.3 - '@emotion/cache': 11.10.5 - '@emotion/react': 11.10.6_pmekkgnqduwlme35zpnqhenc34 - '@emotion/styled': 11.10.6_oouaibmszuch5k64ms7uxp2aia - '@fontsource/noto-sans-jp': 4.5.12 - '@js-temporal/polyfill': 0.4.3 - '@mui/icons-material': 5.11.11_4lyzeezzeeal3x6jtb4ni26w7u - '@mui/lab': 5.0.0-alpha.122_ugjihivlx7hzkcasxdumj5y3om - '@mui/material': 5.11.13_xqeqsl5kvjjtyxwyi3jhw3yuli - '@mui/system': 5.11.13_d2lgyfpecxdc2bsiwyag5wf7ti - '@mui/x-date-pickers': 6.0.2_h5r5nhzqabfcf22wwvloz33ugm - '@prisma/client': 4.11.0_prisma@4.11.0 - '@tanstack/react-query': 4.26.1_biqbaboplfbrettd7655fr4n2y - '@trpc/client': 10.16.0_@trpc+server@10.16.0 - '@trpc/next': 10.16.0_zslzdzxqpynrtvs4svdtzo4vxy - '@trpc/react-query': 10.16.0_tnkr7fi5fbqnhgn52yurs4dymi - '@trpc/server': 10.16.0 - clsx: 1.2.1 - csstype: 3.1.1 - date-fns: 2.29.3 - next: 13.2.3_hrdbe576m4w26u2yfpqpvbxyky - next-pwa: 5.6.0_5lv2eiwt3l225y6qlenxc3apli - next-superjson-plugin: 0.5.6_bybiisvvvxj62fig2dzdxxp2ea - notistack: 3.0.1_owo25xnefcwdq3zjgtohz6dbju - react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 - react-use: 17.4.0_biqbaboplfbrettd7655fr4n2y - superjson: 1.12.2 - swiper: 9.1.1 - swr: 2.1.0_react@18.2.0 - usehooks-ts: 2.9.1_biqbaboplfbrettd7655fr4n2y - webpack: 5.76.2 - zod: 3.21.4 + '@babel/core': + specifier: ^7.21.4 + version: 7.21.4 + '@emotion/cache': + specifier: ^11.10.7 + version: 11.10.7 + '@emotion/react': + specifier: ^11.10.6 + version: 11.10.6(@types/react@18.0.33)(react@18.2.0) + '@emotion/styled': + specifier: ^11.10.6 + version: 11.10.6(@emotion/react@11.10.6)(@types/react@18.0.33)(react@18.2.0) + '@fontsource/noto-sans-jp': + specifier: ^4.5.12 + version: 4.5.12 + '@hookform/resolvers': + specifier: ^3.0.1 + version: 3.0.1(react-hook-form@7.43.9) + '@mantine/hooks': + specifier: ^6.0.6 + version: 6.0.6(react@18.2.0) + '@mui/icons-material': + specifier: ^5.11.16 + version: 5.11.16(@mui/material@5.11.16)(@types/react@18.0.33)(react@18.2.0) + '@mui/lab': + specifier: 5.0.0-alpha.124 + version: 5.0.0-alpha.124(@emotion/react@11.10.6)(@emotion/styled@11.10.6)(@mui/material@5.11.16)(@types/react@18.0.33)(react-dom@18.2.0)(react@18.2.0) + '@mui/material': + specifier: ^5.11.16 + version: 5.11.16(@emotion/react@11.10.6)(@emotion/styled@11.10.6)(@types/react@18.0.33)(react-dom@18.2.0)(react@18.2.0) + '@mui/system': + specifier: ^5.11.16 + version: 5.11.16(@emotion/react@11.10.6)(@emotion/styled@11.10.6)(@types/react@18.0.33)(react@18.2.0) + '@mui/x-date-pickers': + specifier: ^6.0.4 + version: 6.0.4(@emotion/react@11.10.6)(@emotion/styled@11.10.6)(@mui/material@5.11.16)(@mui/system@5.11.16)(date-fns@2.29.3)(react-dom@18.2.0)(react@18.2.0) + '@prisma/client': + specifier: ^4.12.0 + version: 4.12.0(prisma@4.12.0) + '@tanstack/react-query': + specifier: ^4.28.0 + version: 4.28.0(react-dom@18.2.0)(react@18.2.0) + '@trpc/client': + specifier: ^10.19.1 + version: 10.19.1(@trpc/server@10.19.1) + '@trpc/next': + specifier: ^10.19.1 + version: 10.19.1(@tanstack/react-query@4.28.0)(@trpc/client@10.19.1)(@trpc/react-query@10.19.1)(@trpc/server@10.19.1)(next@13.2.3)(react-dom@18.2.0)(react@18.2.0) + '@trpc/react-query': + specifier: ^10.19.1 + version: 10.19.1(@tanstack/react-query@4.28.0)(@trpc/client@10.19.1)(@trpc/server@10.19.1)(react-dom@18.2.0)(react@18.2.0) + '@trpc/server': + specifier: ^10.19.1 + version: 10.19.1 + clsx: + specifier: ^1.2.1 + version: 1.2.1 + csstype: + specifier: ^3.1.2 + version: 3.1.2 + date-fns: + specifier: ^2.29.3 + version: 2.29.3 + jotai: + specifier: ^2.0.3 + version: 2.0.3(react@18.2.0) + lodash: + specifier: ^4.17.21 + version: 4.17.21 + next: + specifier: 13.2.3 + version: 13.2.3(@babel/core@7.21.4)(react-dom@18.2.0)(react@18.2.0) + next-pwa: + specifier: ^5.6.0 + version: 5.6.0(@babel/core@7.21.4)(esbuild@0.16.3)(next@13.2.3)(webpack@5.78.0) + next-superjson-plugin: + specifier: ^0.5.6 + version: 0.5.6(next@13.2.3)(superjson@1.12.2) + notistack: + specifier: ^3.0.1 + version: 3.0.1(csstype@3.1.2)(react-dom@18.2.0)(react@18.2.0) + react: + specifier: ^18.2.0 + version: 18.2.0 + react-cookie: + specifier: ^4.1.1 + version: 4.1.1(react@18.2.0) + react-dom: + specifier: ^18.2.0 + version: 18.2.0(react@18.2.0) + react-hook-form: + specifier: ^7.43.9 + version: 7.43.9(react@18.2.0) + react-hook-form-mui: + specifier: ^6.0.1 + version: 6.0.1(@mui/icons-material@5.11.16)(@mui/material@5.11.16)(@mui/x-date-pickers@6.0.4)(react-hook-form@7.43.9)(react@18.2.0) + superjson: + specifier: ^1.12.2 + version: 1.12.2 + swiper: + specifier: ^8.4.7 + version: 8.4.7 + swr: + specifier: ^2.1.2 + version: 2.1.2(react@18.2.0) + usehooks-ts: + specifier: ^2.9.1 + version: 2.9.1(react-dom@18.2.0)(react@18.2.0) + webpack: + specifier: ^5.78.0 + version: 5.78.0(esbuild@0.16.3) + zod: + specifier: ^3.21.4 + version: 3.21.4 devDependencies: - '@next/eslint-plugin-next': 13.2.4 - '@tsconfig/strictest': 1.0.2 - '@types/node': 18.15.3 - '@types/react': 18.0.28 - '@types/react-dom': 18.0.11 - '@typescript-eslint/eslint-plugin': 5.55.0_342y7v4tc7ytrrysmit6jo4wri - '@typescript-eslint/parser': 5.55.0_vgl77cfdswitgr47lm5swmv43m - eslint: 8.36.0 - eslint-config-next: 13.2.4_vgl77cfdswitgr47lm5swmv43m - eslint-config-prettier: 8.7.0_eslint@8.36.0 - eslint-import-resolver-typescript: 3.5.3_eakrjjutlgqjxe5ydhtnd4qdmy - eslint-plugin-import: 2.27.5_v7jo3sddp7aqau7pajjy572cju - eslint-plugin-unused-imports: 2.0.0_dchlkxfdm6cbfc25bfo3oeha6e - husky: 8.0.3 - lint-staged: 13.2.0 - prettier: 2.8.4 - prisma: 4.11.0 - tsx: 3.12.5 - typescript: 4.9.5 - vercel: 28.16.15_@types+node@18.15.3 + '@next/eslint-plugin-next': + specifier: ^13.3.0 + version: 13.3.0 + '@types/lodash': + specifier: ^4.14.192 + version: 4.14.192 + '@types/node': + specifier: ^18.15.11 + version: 18.15.11 + '@types/react': + specifier: ^18.0.33 + version: 18.0.33 + '@types/react-dom': + specifier: ^18.0.11 + version: 18.0.11 + '@typescript-eslint/eslint-plugin': + specifier: ^5.57.1 + version: 5.57.1(@typescript-eslint/parser@5.57.1)(eslint@8.38.0)(typescript@5.0.4) + '@typescript-eslint/parser': + specifier: ^5.57.1 + version: 5.57.1(eslint@8.38.0)(typescript@5.0.4) + eslint: + specifier: ^8.38.0 + version: 8.38.0 + eslint-config-next: + specifier: ^13.3.0 + version: 13.3.0(eslint@8.38.0)(typescript@5.0.4) + eslint-config-prettier: + specifier: ^8.8.0 + version: 8.8.0(eslint@8.38.0) + eslint-import-resolver-typescript: + specifier: ^3.5.5 + version: 3.5.5(@typescript-eslint/parser@5.57.1)(eslint-import-resolver-node@0.3.7)(eslint-plugin-import@2.27.5)(eslint@8.38.0) + eslint-plugin-css-import-order: + specifier: ^1.1.0 + version: 1.1.0(eslint@8.38.0) + eslint-plugin-import: + specifier: ^2.27.5 + version: 2.27.5(@typescript-eslint/parser@5.57.1)(eslint-import-resolver-typescript@3.5.5)(eslint@8.38.0) + eslint-plugin-unused-imports: + specifier: ^2.0.0 + version: 2.0.0(@typescript-eslint/eslint-plugin@5.57.1)(eslint@8.38.0) + husky: + specifier: ^8.0.3 + version: 8.0.3 + lint-staged: + specifier: ^13.2.1 + version: 13.2.1 + prettier: + specifier: ^2.8.7 + version: 2.8.7 + prisma: + specifier: ^4.12.0 + version: 4.12.0 + tsx: + specifier: ^3.12.6 + version: 3.12.6 + typescript: + specifier: ^5.0.4 + version: 5.0.4 + vercel: + specifier: ^28.18.4 + version: 28.18.4(@types/node@18.15.11) packages: - /@ampproject/remapping/2.2.0: - resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==} + /@ampproject/remapping@2.2.1: + resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} engines: {node: '>=6.0.0'} dependencies: - '@jridgewell/gen-mapping': 0.1.1 - '@jridgewell/trace-mapping': 0.3.17 + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.18 - /@apideck/better-ajv-errors/0.3.6_ajv@8.12.0: + /@apideck/better-ajv-errors@0.3.6(ajv@8.12.0): resolution: {integrity: sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==} engines: {node: '>=10'} peerDependencies: @@ -133,30 +202,30 @@ packages: leven: 3.1.0 dev: false - /@babel/code-frame/7.18.6: - resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==} + /@babel/code-frame@7.21.4: + resolution: {integrity: sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==} engines: {node: '>=6.9.0'} dependencies: '@babel/highlight': 7.18.6 - /@babel/compat-data/7.21.0: - resolution: {integrity: sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g==} + /@babel/compat-data@7.21.4: + resolution: {integrity: sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g==} engines: {node: '>=6.9.0'} - /@babel/core/7.21.3: - resolution: {integrity: sha512-qIJONzoa/qiHghnm0l1n4i/6IIziDpzqc36FBs4pzMhDUraHqponwJLiAKm1hGLP3OSB/TVNz6rMwVGpwxxySw==} + /@babel/core@7.21.4: + resolution: {integrity: sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA==} engines: {node: '>=6.9.0'} dependencies: - '@ampproject/remapping': 2.2.0 - '@babel/code-frame': 7.18.6 - '@babel/generator': 7.21.3 - '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.21.3 + '@ampproject/remapping': 2.2.1 + '@babel/code-frame': 7.21.4 + '@babel/generator': 7.21.4 + '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.21.4) '@babel/helper-module-transforms': 7.21.2 '@babel/helpers': 7.21.0 - '@babel/parser': 7.21.3 + '@babel/parser': 7.21.4 '@babel/template': 7.20.7 - '@babel/traverse': 7.21.3 - '@babel/types': 7.21.3 + '@babel/traverse': 7.21.4 + '@babel/types': 7.21.4 convert-source-map: 1.9.0 debug: 4.3.4 gensync: 1.0.0-beta.2 @@ -165,48 +234,48 @@ packages: transitivePeerDependencies: - supports-color - /@babel/generator/7.21.3: - resolution: {integrity: sha512-QS3iR1GYC/YGUnW7IdggFeN5c1poPUurnGttOV/bZgPGV+izC/D8HnD6DLwod0fsatNyVn1G3EVWMYIF0nHbeA==} + /@babel/generator@7.21.4: + resolution: {integrity: sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.3 - '@jridgewell/gen-mapping': 0.3.2 - '@jridgewell/trace-mapping': 0.3.17 + '@babel/types': 7.21.4 + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.18 jsesc: 2.5.2 - /@babel/helper-annotate-as-pure/7.18.6: + /@babel/helper-annotate-as-pure@7.18.6: resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.3 + '@babel/types': 7.21.4 - /@babel/helper-builder-binary-assignment-operator-visitor/7.18.9: + /@babel/helper-builder-binary-assignment-operator-visitor@7.18.9: resolution: {integrity: sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-explode-assignable-expression': 7.18.6 - '@babel/types': 7.21.3 + '@babel/types': 7.21.4 - /@babel/helper-compilation-targets/7.20.7_@babel+core@7.21.3: - resolution: {integrity: sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==} + /@babel/helper-compilation-targets@7.21.4(@babel/core@7.21.4): + resolution: {integrity: sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/compat-data': 7.21.0 - '@babel/core': 7.21.3 + '@babel/compat-data': 7.21.4 + '@babel/core': 7.21.4 '@babel/helper-validator-option': 7.21.0 browserslist: 4.21.5 lru-cache: 5.1.1 semver: 6.3.0 - /@babel/helper-create-class-features-plugin/7.21.0_@babel+core@7.21.3: - resolution: {integrity: sha512-Q8wNiMIdwsv5la5SPxNYzzkPnjgC0Sy0i7jLkVOCdllu/xcVNkr3TeZzbHBJrj+XXRqzX5uCyCoV9eu6xUG7KQ==} + /@babel/helper-create-class-features-plugin@7.21.4(@babel/core@7.21.4): + resolution: {integrity: sha512-46QrX2CQlaFRF4TkwfTt6nJD7IHq8539cCL7SDpqWSDeJKY1xylKKY5F/33mJhLZ3mFvKv2gGrVS6NkyF6qs+Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-annotate-as-pure': 7.18.6 '@babel/helper-environment-visitor': 7.18.9 '@babel/helper-function-name': 7.21.0 @@ -218,106 +287,106 @@ packages: transitivePeerDependencies: - supports-color - /@babel/helper-create-regexp-features-plugin/7.21.0_@babel+core@7.21.3: - resolution: {integrity: sha512-N+LaFW/auRSWdx7SHD/HiARwXQju1vXTW4fKr4u5SgBUTm51OKEjKgj+cs00ggW3kEvNqwErnlwuq7Y3xBe4eg==} + /@babel/helper-create-regexp-features-plugin@7.21.4(@babel/core@7.21.4): + resolution: {integrity: sha512-M00OuhU+0GyZ5iBBN9czjugzWrEq2vDpf/zCYHxxf93ul/Q5rv+a5h+/+0WnI1AebHNVtl5bFV0qsJoH23DbfA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-annotate-as-pure': 7.18.6 regexpu-core: 5.3.2 - /@babel/helper-define-polyfill-provider/0.3.3_@babel+core@7.21.3: + /@babel/helper-define-polyfill-provider@0.3.3(@babel/core@7.21.4): resolution: {integrity: sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==} peerDependencies: '@babel/core': ^7.4.0-0 dependencies: - '@babel/core': 7.21.3 - '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.21.3 + '@babel/core': 7.21.4 + '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.21.4) '@babel/helper-plugin-utils': 7.20.2 debug: 4.3.4 lodash.debounce: 4.0.8 - resolve: 1.22.1 + resolve: 1.22.2 semver: 6.3.0 transitivePeerDependencies: - supports-color - /@babel/helper-environment-visitor/7.18.9: + /@babel/helper-environment-visitor@7.18.9: resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==} engines: {node: '>=6.9.0'} - /@babel/helper-explode-assignable-expression/7.18.6: + /@babel/helper-explode-assignable-expression@7.18.6: resolution: {integrity: sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.3 + '@babel/types': 7.21.4 - /@babel/helper-function-name/7.21.0: + /@babel/helper-function-name@7.21.0: resolution: {integrity: sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==} engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.20.7 - '@babel/types': 7.21.3 + '@babel/types': 7.21.4 - /@babel/helper-hoist-variables/7.18.6: + /@babel/helper-hoist-variables@7.18.6: resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.3 + '@babel/types': 7.21.4 - /@babel/helper-member-expression-to-functions/7.21.0: + /@babel/helper-member-expression-to-functions@7.21.0: resolution: {integrity: sha512-Muu8cdZwNN6mRRNG6lAYErJ5X3bRevgYR2O8wN0yn7jJSnGDu6eG59RfT29JHxGUovyfrh6Pj0XzmR7drNVL3Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.3 + '@babel/types': 7.21.4 - /@babel/helper-module-imports/7.18.6: - resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==} + /@babel/helper-module-imports@7.21.4: + resolution: {integrity: sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.3 + '@babel/types': 7.21.4 - /@babel/helper-module-transforms/7.21.2: + /@babel/helper-module-transforms@7.21.2: resolution: {integrity: sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-module-imports': 7.18.6 + '@babel/helper-module-imports': 7.21.4 '@babel/helper-simple-access': 7.20.2 '@babel/helper-split-export-declaration': 7.18.6 '@babel/helper-validator-identifier': 7.19.1 '@babel/template': 7.20.7 - '@babel/traverse': 7.21.3 - '@babel/types': 7.21.3 + '@babel/traverse': 7.21.4 + '@babel/types': 7.21.4 transitivePeerDependencies: - supports-color - /@babel/helper-optimise-call-expression/7.18.6: + /@babel/helper-optimise-call-expression@7.18.6: resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.3 + '@babel/types': 7.21.4 - /@babel/helper-plugin-utils/7.20.2: + /@babel/helper-plugin-utils@7.20.2: resolution: {integrity: sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==} engines: {node: '>=6.9.0'} - /@babel/helper-remap-async-to-generator/7.18.9_@babel+core@7.21.3: + /@babel/helper-remap-async-to-generator@7.18.9(@babel/core@7.21.4): resolution: {integrity: sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-annotate-as-pure': 7.18.6 '@babel/helper-environment-visitor': 7.18.9 '@babel/helper-wrap-function': 7.20.5 - '@babel/types': 7.21.3 + '@babel/types': 7.21.4 transitivePeerDependencies: - supports-color - /@babel/helper-replace-supers/7.20.7: + /@babel/helper-replace-supers@7.20.7: resolution: {integrity: sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==} engines: {node: '>=6.9.0'} dependencies: @@ -325,63 +394,63 @@ packages: '@babel/helper-member-expression-to-functions': 7.21.0 '@babel/helper-optimise-call-expression': 7.18.6 '@babel/template': 7.20.7 - '@babel/traverse': 7.21.3 - '@babel/types': 7.21.3 + '@babel/traverse': 7.21.4 + '@babel/types': 7.21.4 transitivePeerDependencies: - supports-color - /@babel/helper-simple-access/7.20.2: + /@babel/helper-simple-access@7.20.2: resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.3 + '@babel/types': 7.21.4 - /@babel/helper-skip-transparent-expression-wrappers/7.20.0: + /@babel/helper-skip-transparent-expression-wrappers@7.20.0: resolution: {integrity: sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.3 + '@babel/types': 7.21.4 - /@babel/helper-split-export-declaration/7.18.6: + /@babel/helper-split-export-declaration@7.18.6: resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.3 + '@babel/types': 7.21.4 - /@babel/helper-string-parser/7.19.4: + /@babel/helper-string-parser@7.19.4: resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==} engines: {node: '>=6.9.0'} - /@babel/helper-validator-identifier/7.19.1: + /@babel/helper-validator-identifier@7.19.1: resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} engines: {node: '>=6.9.0'} - /@babel/helper-validator-option/7.21.0: + /@babel/helper-validator-option@7.21.0: resolution: {integrity: sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==} engines: {node: '>=6.9.0'} - /@babel/helper-wrap-function/7.20.5: + /@babel/helper-wrap-function@7.20.5: resolution: {integrity: sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-function-name': 7.21.0 '@babel/template': 7.20.7 - '@babel/traverse': 7.21.3 - '@babel/types': 7.21.3 + '@babel/traverse': 7.21.4 + '@babel/types': 7.21.4 transitivePeerDependencies: - supports-color - /@babel/helpers/7.21.0: + /@babel/helpers@7.21.0: resolution: {integrity: sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==} engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.20.7 - '@babel/traverse': 7.21.3 - '@babel/types': 7.21.3 + '@babel/traverse': 7.21.4 + '@babel/types': 7.21.4 transitivePeerDependencies: - supports-color - /@babel/highlight/7.18.6: + /@babel/highlight@7.18.6: resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} engines: {node: '>=6.9.0'} dependencies: @@ -389,395 +458,395 @@ packages: chalk: 2.4.2 js-tokens: 4.0.0 - /@babel/parser/7.21.3: - resolution: {integrity: sha512-lobG0d7aOfQRXh8AyklEAgZGvA4FShxo6xQbUrrT/cNBPUdIDojlokwJsQyCC/eKia7ifqM0yP+2DRZ4WKw2RQ==} + /@babel/parser@7.21.4: + resolution: {integrity: sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==} engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.21.3 + '@babel/types': 7.21.4 - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/7.18.6_@babel+core@7.21.3: + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.18.6(@babel/core@7.21.4): resolution: {integrity: sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/7.20.7_@babel+core@7.21.3: + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.20.7(@babel/core@7.21.4): resolution: {integrity: sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 - '@babel/plugin-proposal-optional-chaining': 7.21.0_@babel+core@7.21.3 + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.21.4) - /@babel/plugin-proposal-async-generator-functions/7.20.7_@babel+core@7.21.3: + /@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.21.4): resolution: {integrity: sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-environment-visitor': 7.18.9 '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-remap-async-to-generator': 7.18.9_@babel+core@7.21.3 - '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.21.3 + '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.21.4) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.21.4) transitivePeerDependencies: - supports-color - /@babel/plugin-proposal-class-properties/7.18.6_@babel+core@7.21.3: + /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.21.4): resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 - '@babel/helper-create-class-features-plugin': 7.21.0_@babel+core@7.21.3 + '@babel/core': 7.21.4 + '@babel/helper-create-class-features-plugin': 7.21.4(@babel/core@7.21.4) '@babel/helper-plugin-utils': 7.20.2 transitivePeerDependencies: - supports-color - /@babel/plugin-proposal-class-static-block/7.21.0_@babel+core@7.21.3: + /@babel/plugin-proposal-class-static-block@7.21.0(@babel/core@7.21.4): resolution: {integrity: sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.12.0 dependencies: - '@babel/core': 7.21.3 - '@babel/helper-create-class-features-plugin': 7.21.0_@babel+core@7.21.3 + '@babel/core': 7.21.4 + '@babel/helper-create-class-features-plugin': 7.21.4(@babel/core@7.21.4) '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.21.3 + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.21.4) transitivePeerDependencies: - supports-color - /@babel/plugin-proposal-dynamic-import/7.18.6_@babel+core@7.21.3: + /@babel/plugin-proposal-dynamic-import@7.18.6(@babel/core@7.21.4): resolution: {integrity: sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.21.3 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.21.4) - /@babel/plugin-proposal-export-namespace-from/7.18.9_@babel+core@7.21.3: + /@babel/plugin-proposal-export-namespace-from@7.18.9(@babel/core@7.21.4): resolution: {integrity: sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.21.3 + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.21.4) - /@babel/plugin-proposal-json-strings/7.18.6_@babel+core@7.21.3: + /@babel/plugin-proposal-json-strings@7.18.6(@babel/core@7.21.4): resolution: {integrity: sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.21.3 + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.21.4) - /@babel/plugin-proposal-logical-assignment-operators/7.20.7_@babel+core@7.21.3: + /@babel/plugin-proposal-logical-assignment-operators@7.20.7(@babel/core@7.21.4): resolution: {integrity: sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.21.3 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.21.4) - /@babel/plugin-proposal-nullish-coalescing-operator/7.18.6_@babel+core@7.21.3: + /@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.21.4): resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.21.3 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.21.4) - /@babel/plugin-proposal-numeric-separator/7.18.6_@babel+core@7.21.3: + /@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.21.4): resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.21.3 + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.21.4) - /@babel/plugin-proposal-object-rest-spread/7.20.7_@babel+core@7.21.3: + /@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.21.4): resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.21.0 - '@babel/core': 7.21.3 - '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.21.3 + '@babel/compat-data': 7.21.4 + '@babel/core': 7.21.4 + '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.21.4) '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.21.3 - '@babel/plugin-transform-parameters': 7.21.3_@babel+core@7.21.3 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.21.4) + '@babel/plugin-transform-parameters': 7.21.3(@babel/core@7.21.4) - /@babel/plugin-proposal-optional-catch-binding/7.18.6_@babel+core@7.21.3: + /@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.21.4): resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.21.3 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.21.4) - /@babel/plugin-proposal-optional-chaining/7.21.0_@babel+core@7.21.3: + /@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.21.4): resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 - '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.21.3 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.21.4) - /@babel/plugin-proposal-private-methods/7.18.6_@babel+core@7.21.3: + /@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.21.4): resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 - '@babel/helper-create-class-features-plugin': 7.21.0_@babel+core@7.21.3 + '@babel/core': 7.21.4 + '@babel/helper-create-class-features-plugin': 7.21.4(@babel/core@7.21.4) '@babel/helper-plugin-utils': 7.20.2 transitivePeerDependencies: - supports-color - /@babel/plugin-proposal-private-property-in-object/7.21.0_@babel+core@7.21.3: + /@babel/plugin-proposal-private-property-in-object@7.21.0(@babel/core@7.21.4): resolution: {integrity: sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-create-class-features-plugin': 7.21.0_@babel+core@7.21.3 + '@babel/helper-create-class-features-plugin': 7.21.4(@babel/core@7.21.4) '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.21.3 + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.21.4) transitivePeerDependencies: - supports-color - /@babel/plugin-proposal-unicode-property-regex/7.18.6_@babel+core@7.21.3: + /@babel/plugin-proposal-unicode-property-regex@7.18.6(@babel/core@7.21.4): resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==} engines: {node: '>=4'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 - '@babel/helper-create-regexp-features-plugin': 7.21.0_@babel+core@7.21.3 + '@babel/core': 7.21.4 + '@babel/helper-create-regexp-features-plugin': 7.21.4(@babel/core@7.21.4) '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.21.3: + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.21.4): resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.21.3: + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.21.4): resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-syntax-class-static-block/7.14.5_@babel+core@7.21.3: + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.21.4): resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-syntax-dynamic-import/7.8.3_@babel+core@7.21.3: + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.21.4): resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-syntax-export-namespace-from/7.8.3_@babel+core@7.21.3: + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.21.4): resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-syntax-import-assertions/7.20.0_@babel+core@7.21.3: + /@babel/plugin-syntax-import-assertions@7.20.0(@babel/core@7.21.4): resolution: {integrity: sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.21.3: + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.21.4): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-syntax-jsx/7.18.6_@babel+core@7.21.3: - resolution: {integrity: sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==} + /@babel/plugin-syntax-jsx@7.21.4(@babel/core@7.21.4): + resolution: {integrity: sha512-5hewiLct5OKyh6PLKEYaFclcqtIgCb6bmELouxjF6up5q3Sov7rOayW4RwhbaBL0dit8rA80GNfY+UuDp2mBbQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.21.3: + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.21.4): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.21.3: + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.21.4): resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.21.3: + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.21.4): resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.21.3: + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.21.4): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.21.3: + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.21.4): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.21.3: + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.21.4): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-syntax-private-property-in-object/7.14.5_@babel+core@7.21.3: + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.21.4): resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.21.3: + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.21.4): resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-syntax-typescript/7.20.0_@babel+core@7.21.3: - resolution: {integrity: sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==} + /@babel/plugin-syntax-typescript@7.21.4(@babel/core@7.21.4): + resolution: {integrity: sha512-xz0D39NvhQn4t4RNsHmDnnsaQizIlUkdtYvLs8La1BlfjQ6JEwxkJGeqJMW2tAXx+q6H+WFuUTXNdYVpEya0YA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-arrow-functions/7.20.7_@babel+core@7.21.3: + /@babel/plugin-transform-arrow-functions@7.20.7(@babel/core@7.21.4): resolution: {integrity: sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-transform-async-to-generator/7.20.7_@babel+core@7.21.3: + /@babel/plugin-transform-async-to-generator@7.20.7(@babel/core@7.21.4): resolution: {integrity: sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 - '@babel/helper-module-imports': 7.18.6 + '@babel/core': 7.21.4 + '@babel/helper-module-imports': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-remap-async-to-generator': 7.18.9_@babel+core@7.21.3 + '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.21.4) transitivePeerDependencies: - supports-color - /@babel/plugin-transform-block-scoped-functions/7.18.6_@babel+core@7.21.3: + /@babel/plugin-transform-block-scoped-functions@7.18.6(@babel/core@7.21.4): resolution: {integrity: sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-transform-block-scoping/7.21.0_@babel+core@7.21.3: + /@babel/plugin-transform-block-scoping@7.21.0(@babel/core@7.21.4): resolution: {integrity: sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-transform-classes/7.21.0_@babel+core@7.21.3: + /@babel/plugin-transform-classes@7.21.0(@babel/core@7.21.4): resolution: {integrity: sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.21.3 + '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.21.4) '@babel/helper-environment-visitor': 7.18.9 '@babel/helper-function-name': 7.21.0 '@babel/helper-optimise-call-expression': 7.18.6 @@ -788,124 +857,124 @@ packages: transitivePeerDependencies: - supports-color - /@babel/plugin-transform-computed-properties/7.20.7_@babel+core@7.21.3: + /@babel/plugin-transform-computed-properties@7.20.7(@babel/core@7.21.4): resolution: {integrity: sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 '@babel/template': 7.20.7 - /@babel/plugin-transform-destructuring/7.21.3_@babel+core@7.21.3: + /@babel/plugin-transform-destructuring@7.21.3(@babel/core@7.21.4): resolution: {integrity: sha512-bp6hwMFzuiE4HqYEyoGJ/V2LeIWn+hLVKc4pnj++E5XQptwhtcGmSayM029d/j2X1bPKGTlsyPwAubuU22KhMA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-transform-dotall-regex/7.18.6_@babel+core@7.21.3: + /@babel/plugin-transform-dotall-regex@7.18.6(@babel/core@7.21.4): resolution: {integrity: sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 - '@babel/helper-create-regexp-features-plugin': 7.21.0_@babel+core@7.21.3 + '@babel/core': 7.21.4 + '@babel/helper-create-regexp-features-plugin': 7.21.4(@babel/core@7.21.4) '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-transform-duplicate-keys/7.18.9_@babel+core@7.21.3: + /@babel/plugin-transform-duplicate-keys@7.18.9(@babel/core@7.21.4): resolution: {integrity: sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-transform-exponentiation-operator/7.18.6_@babel+core@7.21.3: + /@babel/plugin-transform-exponentiation-operator@7.18.6(@babel/core@7.21.4): resolution: {integrity: sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-builder-binary-assignment-operator-visitor': 7.18.9 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-transform-for-of/7.21.0_@babel+core@7.21.3: + /@babel/plugin-transform-for-of@7.21.0(@babel/core@7.21.4): resolution: {integrity: sha512-LlUYlydgDkKpIY7mcBWvyPPmMcOphEyYA27Ef4xpbh1IiDNLr0kZsos2nf92vz3IccvJI25QUwp86Eo5s6HmBQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-transform-function-name/7.18.9_@babel+core@7.21.3: + /@babel/plugin-transform-function-name@7.18.9(@babel/core@7.21.4): resolution: {integrity: sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 - '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.21.3 + '@babel/core': 7.21.4 + '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.21.4) '@babel/helper-function-name': 7.21.0 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-transform-literals/7.18.9_@babel+core@7.21.3: + /@babel/plugin-transform-literals@7.18.9(@babel/core@7.21.4): resolution: {integrity: sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-transform-member-expression-literals/7.18.6_@babel+core@7.21.3: + /@babel/plugin-transform-member-expression-literals@7.18.6(@babel/core@7.21.4): resolution: {integrity: sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-transform-modules-amd/7.20.11_@babel+core@7.21.3: + /@babel/plugin-transform-modules-amd@7.20.11(@babel/core@7.21.4): resolution: {integrity: sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-module-transforms': 7.21.2 '@babel/helper-plugin-utils': 7.20.2 transitivePeerDependencies: - supports-color - /@babel/plugin-transform-modules-commonjs/7.21.2_@babel+core@7.21.3: + /@babel/plugin-transform-modules-commonjs@7.21.2(@babel/core@7.21.4): resolution: {integrity: sha512-Cln+Yy04Gxua7iPdj6nOV96smLGjpElir5YwzF0LBPKoPlLDNJePNlrGGaybAJkd0zKRnOVXOgizSqPYMNYkzA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-module-transforms': 7.21.2 '@babel/helper-plugin-utils': 7.20.2 '@babel/helper-simple-access': 7.20.2 transitivePeerDependencies: - supports-color - /@babel/plugin-transform-modules-systemjs/7.20.11_@babel+core@7.21.3: + /@babel/plugin-transform-modules-systemjs@7.20.11(@babel/core@7.21.4): resolution: {integrity: sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-hoist-variables': 7.18.6 '@babel/helper-module-transforms': 7.21.2 '@babel/helper-plugin-utils': 7.20.2 @@ -913,337 +982,339 @@ packages: transitivePeerDependencies: - supports-color - /@babel/plugin-transform-modules-umd/7.18.6_@babel+core@7.21.3: + /@babel/plugin-transform-modules-umd@7.18.6(@babel/core@7.21.4): resolution: {integrity: sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-module-transforms': 7.21.2 '@babel/helper-plugin-utils': 7.20.2 transitivePeerDependencies: - supports-color - /@babel/plugin-transform-named-capturing-groups-regex/7.20.5_@babel+core@7.21.3: + /@babel/plugin-transform-named-capturing-groups-regex@7.20.5(@babel/core@7.21.4): resolution: {integrity: sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.3 - '@babel/helper-create-regexp-features-plugin': 7.21.0_@babel+core@7.21.3 + '@babel/core': 7.21.4 + '@babel/helper-create-regexp-features-plugin': 7.21.4(@babel/core@7.21.4) '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-transform-new-target/7.18.6_@babel+core@7.21.3: + /@babel/plugin-transform-new-target@7.18.6(@babel/core@7.21.4): resolution: {integrity: sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-transform-object-super/7.18.6_@babel+core@7.21.3: + /@babel/plugin-transform-object-super@7.18.6(@babel/core@7.21.4): resolution: {integrity: sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 '@babel/helper-replace-supers': 7.20.7 transitivePeerDependencies: - supports-color - /@babel/plugin-transform-parameters/7.21.3_@babel+core@7.21.3: + /@babel/plugin-transform-parameters@7.21.3(@babel/core@7.21.4): resolution: {integrity: sha512-Wxc+TvppQG9xWFYatvCGPvZ6+SIUxQ2ZdiBP+PHYMIjnPXD+uThCshaz4NZOnODAtBjjcVQQ/3OKs9LW28purQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-transform-property-literals/7.18.6_@babel+core@7.21.3: + /@babel/plugin-transform-property-literals@7.18.6(@babel/core@7.21.4): resolution: {integrity: sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-transform-regenerator/7.20.5_@babel+core@7.21.3: + /@babel/plugin-transform-regenerator@7.20.5(@babel/core@7.21.4): resolution: {integrity: sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 regenerator-transform: 0.15.1 - /@babel/plugin-transform-reserved-words/7.18.6_@babel+core@7.21.3: + /@babel/plugin-transform-reserved-words@7.18.6(@babel/core@7.21.4): resolution: {integrity: sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-transform-shorthand-properties/7.18.6_@babel+core@7.21.3: + /@babel/plugin-transform-shorthand-properties@7.18.6(@babel/core@7.21.4): resolution: {integrity: sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-transform-spread/7.20.7_@babel+core@7.21.3: + /@babel/plugin-transform-spread@7.20.7(@babel/core@7.21.4): resolution: {integrity: sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 - /@babel/plugin-transform-sticky-regex/7.18.6_@babel+core@7.21.3: + /@babel/plugin-transform-sticky-regex@7.18.6(@babel/core@7.21.4): resolution: {integrity: sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-transform-template-literals/7.18.9_@babel+core@7.21.3: + /@babel/plugin-transform-template-literals@7.18.9(@babel/core@7.21.4): resolution: {integrity: sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-transform-typeof-symbol/7.18.9_@babel+core@7.21.3: + /@babel/plugin-transform-typeof-symbol@7.18.9(@babel/core@7.21.4): resolution: {integrity: sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-transform-typescript/7.21.3_@babel+core@7.21.3: + /@babel/plugin-transform-typescript@7.21.3(@babel/core@7.21.4): resolution: {integrity: sha512-RQxPz6Iqt8T0uw/WsJNReuBpWpBqs/n7mNo18sKLoTbMp+UrEekhH+pKSVC7gWz+DNjo9gryfV8YzCiT45RgMw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-create-class-features-plugin': 7.21.0_@babel+core@7.21.3 + '@babel/helper-create-class-features-plugin': 7.21.4(@babel/core@7.21.4) '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-typescript': 7.20.0_@babel+core@7.21.3 + '@babel/plugin-syntax-typescript': 7.21.4(@babel/core@7.21.4) transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-unicode-escapes/7.18.10_@babel+core@7.21.3: + /@babel/plugin-transform-unicode-escapes@7.18.10(@babel/core@7.21.4): resolution: {integrity: sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-transform-unicode-regex/7.18.6_@babel+core@7.21.3: + /@babel/plugin-transform-unicode-regex@7.18.6(@babel/core@7.21.4): resolution: {integrity: sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 - '@babel/helper-create-regexp-features-plugin': 7.21.0_@babel+core@7.21.3 + '@babel/core': 7.21.4 + '@babel/helper-create-regexp-features-plugin': 7.21.4(@babel/core@7.21.4) '@babel/helper-plugin-utils': 7.20.2 - /@babel/preset-env/7.20.2_@babel+core@7.21.3: - resolution: {integrity: sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==} + /@babel/preset-env@7.21.4(@babel/core@7.21.4): + resolution: {integrity: sha512-2W57zHs2yDLm6GD5ZpvNn71lZ0B/iypSdIeq25OurDKji6AdzV07qp4s3n1/x5BqtiGaTrPN3nerlSCaC5qNTw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.21.0 - '@babel/core': 7.21.3 - '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.21.3 + '@babel/compat-data': 7.21.4 + '@babel/core': 7.21.4 + '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.21.4) '@babel/helper-plugin-utils': 7.20.2 '@babel/helper-validator-option': 7.21.0 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.18.6_@babel+core@7.21.3 - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.20.7_@babel+core@7.21.3 - '@babel/plugin-proposal-async-generator-functions': 7.20.7_@babel+core@7.21.3 - '@babel/plugin-proposal-class-properties': 7.18.6_@babel+core@7.21.3 - '@babel/plugin-proposal-class-static-block': 7.21.0_@babel+core@7.21.3 - '@babel/plugin-proposal-dynamic-import': 7.18.6_@babel+core@7.21.3 - '@babel/plugin-proposal-export-namespace-from': 7.18.9_@babel+core@7.21.3 - '@babel/plugin-proposal-json-strings': 7.18.6_@babel+core@7.21.3 - '@babel/plugin-proposal-logical-assignment-operators': 7.20.7_@babel+core@7.21.3 - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6_@babel+core@7.21.3 - '@babel/plugin-proposal-numeric-separator': 7.18.6_@babel+core@7.21.3 - '@babel/plugin-proposal-object-rest-spread': 7.20.7_@babel+core@7.21.3 - '@babel/plugin-proposal-optional-catch-binding': 7.18.6_@babel+core@7.21.3 - '@babel/plugin-proposal-optional-chaining': 7.21.0_@babel+core@7.21.3 - '@babel/plugin-proposal-private-methods': 7.18.6_@babel+core@7.21.3 - '@babel/plugin-proposal-private-property-in-object': 7.21.0_@babel+core@7.21.3 - '@babel/plugin-proposal-unicode-property-regex': 7.18.6_@babel+core@7.21.3 - '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.21.3 - '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.21.3 - '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.21.3 - '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.21.3 - '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.21.3 - '@babel/plugin-syntax-import-assertions': 7.20.0_@babel+core@7.21.3 - '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.21.3 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.21.3 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.21.3 - '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.21.3 - '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.21.3 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.21.3 - '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.21.3 - '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.21.3 - '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.21.3 - '@babel/plugin-transform-arrow-functions': 7.20.7_@babel+core@7.21.3 - '@babel/plugin-transform-async-to-generator': 7.20.7_@babel+core@7.21.3 - '@babel/plugin-transform-block-scoped-functions': 7.18.6_@babel+core@7.21.3 - '@babel/plugin-transform-block-scoping': 7.21.0_@babel+core@7.21.3 - '@babel/plugin-transform-classes': 7.21.0_@babel+core@7.21.3 - '@babel/plugin-transform-computed-properties': 7.20.7_@babel+core@7.21.3 - '@babel/plugin-transform-destructuring': 7.21.3_@babel+core@7.21.3 - '@babel/plugin-transform-dotall-regex': 7.18.6_@babel+core@7.21.3 - '@babel/plugin-transform-duplicate-keys': 7.18.9_@babel+core@7.21.3 - '@babel/plugin-transform-exponentiation-operator': 7.18.6_@babel+core@7.21.3 - '@babel/plugin-transform-for-of': 7.21.0_@babel+core@7.21.3 - '@babel/plugin-transform-function-name': 7.18.9_@babel+core@7.21.3 - '@babel/plugin-transform-literals': 7.18.9_@babel+core@7.21.3 - '@babel/plugin-transform-member-expression-literals': 7.18.6_@babel+core@7.21.3 - '@babel/plugin-transform-modules-amd': 7.20.11_@babel+core@7.21.3 - '@babel/plugin-transform-modules-commonjs': 7.21.2_@babel+core@7.21.3 - '@babel/plugin-transform-modules-systemjs': 7.20.11_@babel+core@7.21.3 - '@babel/plugin-transform-modules-umd': 7.18.6_@babel+core@7.21.3 - '@babel/plugin-transform-named-capturing-groups-regex': 7.20.5_@babel+core@7.21.3 - '@babel/plugin-transform-new-target': 7.18.6_@babel+core@7.21.3 - '@babel/plugin-transform-object-super': 7.18.6_@babel+core@7.21.3 - '@babel/plugin-transform-parameters': 7.21.3_@babel+core@7.21.3 - '@babel/plugin-transform-property-literals': 7.18.6_@babel+core@7.21.3 - '@babel/plugin-transform-regenerator': 7.20.5_@babel+core@7.21.3 - '@babel/plugin-transform-reserved-words': 7.18.6_@babel+core@7.21.3 - '@babel/plugin-transform-shorthand-properties': 7.18.6_@babel+core@7.21.3 - '@babel/plugin-transform-spread': 7.20.7_@babel+core@7.21.3 - '@babel/plugin-transform-sticky-regex': 7.18.6_@babel+core@7.21.3 - '@babel/plugin-transform-template-literals': 7.18.9_@babel+core@7.21.3 - '@babel/plugin-transform-typeof-symbol': 7.18.9_@babel+core@7.21.3 - '@babel/plugin-transform-unicode-escapes': 7.18.10_@babel+core@7.21.3 - '@babel/plugin-transform-unicode-regex': 7.18.6_@babel+core@7.21.3 - '@babel/preset-modules': 0.1.5_@babel+core@7.21.3 - '@babel/types': 7.21.3 - babel-plugin-polyfill-corejs2: 0.3.3_@babel+core@7.21.3 - babel-plugin-polyfill-corejs3: 0.6.0_@babel+core@7.21.3 - babel-plugin-polyfill-regenerator: 0.4.1_@babel+core@7.21.3 - core-js-compat: 3.29.1 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.20.7(@babel/core@7.21.4) + '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.21.4) + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-proposal-class-static-block': 7.21.0(@babel/core@7.21.4) + '@babel/plugin-proposal-dynamic-import': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-proposal-export-namespace-from': 7.18.9(@babel/core@7.21.4) + '@babel/plugin-proposal-json-strings': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-proposal-logical-assignment-operators': 7.20.7(@babel/core@7.21.4) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.21.4) + '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.21.4) + '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-proposal-private-property-in-object': 7.21.0(@babel/core@7.21.4) + '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.21.4) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.21.4) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.21.4) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.21.4) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.21.4) + '@babel/plugin-syntax-import-assertions': 7.20.0(@babel/core@7.21.4) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.21.4) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.21.4) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.21.4) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.21.4) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.21.4) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.21.4) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.21.4) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.21.4) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.21.4) + '@babel/plugin-transform-arrow-functions': 7.20.7(@babel/core@7.21.4) + '@babel/plugin-transform-async-to-generator': 7.20.7(@babel/core@7.21.4) + '@babel/plugin-transform-block-scoped-functions': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-transform-block-scoping': 7.21.0(@babel/core@7.21.4) + '@babel/plugin-transform-classes': 7.21.0(@babel/core@7.21.4) + '@babel/plugin-transform-computed-properties': 7.20.7(@babel/core@7.21.4) + '@babel/plugin-transform-destructuring': 7.21.3(@babel/core@7.21.4) + '@babel/plugin-transform-dotall-regex': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-transform-duplicate-keys': 7.18.9(@babel/core@7.21.4) + '@babel/plugin-transform-exponentiation-operator': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-transform-for-of': 7.21.0(@babel/core@7.21.4) + '@babel/plugin-transform-function-name': 7.18.9(@babel/core@7.21.4) + '@babel/plugin-transform-literals': 7.18.9(@babel/core@7.21.4) + '@babel/plugin-transform-member-expression-literals': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-transform-modules-amd': 7.20.11(@babel/core@7.21.4) + '@babel/plugin-transform-modules-commonjs': 7.21.2(@babel/core@7.21.4) + '@babel/plugin-transform-modules-systemjs': 7.20.11(@babel/core@7.21.4) + '@babel/plugin-transform-modules-umd': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-transform-named-capturing-groups-regex': 7.20.5(@babel/core@7.21.4) + '@babel/plugin-transform-new-target': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-transform-object-super': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-transform-parameters': 7.21.3(@babel/core@7.21.4) + '@babel/plugin-transform-property-literals': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-transform-regenerator': 7.20.5(@babel/core@7.21.4) + '@babel/plugin-transform-reserved-words': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-transform-shorthand-properties': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-transform-spread': 7.20.7(@babel/core@7.21.4) + '@babel/plugin-transform-sticky-regex': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-transform-template-literals': 7.18.9(@babel/core@7.21.4) + '@babel/plugin-transform-typeof-symbol': 7.18.9(@babel/core@7.21.4) + '@babel/plugin-transform-unicode-escapes': 7.18.10(@babel/core@7.21.4) + '@babel/plugin-transform-unicode-regex': 7.18.6(@babel/core@7.21.4) + '@babel/preset-modules': 0.1.5(@babel/core@7.21.4) + '@babel/types': 7.21.4 + babel-plugin-polyfill-corejs2: 0.3.3(@babel/core@7.21.4) + babel-plugin-polyfill-corejs3: 0.6.0(@babel/core@7.21.4) + babel-plugin-polyfill-regenerator: 0.4.1(@babel/core@7.21.4) + core-js-compat: 3.30.0 semver: 6.3.0 transitivePeerDependencies: - supports-color - /@babel/preset-modules/0.1.5_@babel+core@7.21.3: + /@babel/preset-modules@0.1.5(@babel/core@7.21.4): resolution: {integrity: sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-proposal-unicode-property-regex': 7.18.6_@babel+core@7.21.3 - '@babel/plugin-transform-dotall-regex': 7.18.6_@babel+core@7.21.3 - '@babel/types': 7.21.3 + '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-transform-dotall-regex': 7.18.6(@babel/core@7.21.4) + '@babel/types': 7.21.4 esutils: 2.0.3 - /@babel/preset-typescript/7.21.0_@babel+core@7.21.3: - resolution: {integrity: sha512-myc9mpoVA5m1rF8K8DgLEatOYFDpwC+RkMkjZ0Du6uI62YvDe8uxIEYVs/VCdSJ097nlALiU/yBC7//3nI+hNg==} + /@babel/preset-typescript@7.21.4(@babel/core@7.21.4): + resolution: {integrity: sha512-sMLNWY37TCdRH/bJ6ZeeOH1nPuanED7Ai9Y/vH31IPqalioJ6ZNFUWONsakhv4r4n+I6gm5lmoE0olkgib/j/A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 '@babel/helper-validator-option': 7.21.0 - '@babel/plugin-transform-typescript': 7.21.3_@babel+core@7.21.3 + '@babel/plugin-syntax-jsx': 7.21.4(@babel/core@7.21.4) + '@babel/plugin-transform-modules-commonjs': 7.21.2(@babel/core@7.21.4) + '@babel/plugin-transform-typescript': 7.21.3(@babel/core@7.21.4) transitivePeerDependencies: - supports-color dev: true - /@babel/regjsgen/0.8.0: + /@babel/regjsgen@0.8.0: resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} - /@babel/runtime/7.12.1: + /@babel/runtime@7.12.1: resolution: {integrity: sha512-J5AIf3vPj3UwXaAzb5j1xM4WAQDX3EMgemF8rjCP3SoW09LfRKAXQKt6CoVYl230P6iWdRcBbnLDDdnqWxZSCA==} dependencies: regenerator-runtime: 0.13.11 dev: true - /@babel/runtime/7.21.0: + /@babel/runtime@7.21.0: resolution: {integrity: sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==} engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.13.11 - /@babel/template/7.20.7: + /@babel/template@7.20.7: resolution: {integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.18.6 - '@babel/parser': 7.21.3 - '@babel/types': 7.21.3 + '@babel/code-frame': 7.21.4 + '@babel/parser': 7.21.4 + '@babel/types': 7.21.4 - /@babel/traverse/7.21.3: - resolution: {integrity: sha512-XLyopNeaTancVitYZe2MlUEvgKb6YVVPXzofHgqHijCImG33b/uTurMS488ht/Hbsb2XK3U2BnSTxKVNGV3nGQ==} + /@babel/traverse@7.21.4: + resolution: {integrity: sha512-eyKrRHKdyZxqDm+fV1iqL9UAHMoIg0nDaGqfIOd8rKH17m5snv7Gn4qgjBoFfLz9APvjFU/ICT00NVCv1Epp8Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.18.6 - '@babel/generator': 7.21.3 + '@babel/code-frame': 7.21.4 + '@babel/generator': 7.21.4 '@babel/helper-environment-visitor': 7.18.9 '@babel/helper-function-name': 7.21.0 '@babel/helper-hoist-variables': 7.18.6 '@babel/helper-split-export-declaration': 7.18.6 - '@babel/parser': 7.21.3 - '@babel/types': 7.21.3 + '@babel/parser': 7.21.4 + '@babel/types': 7.21.4 debug: 4.3.4 globals: 11.12.0 transitivePeerDependencies: - supports-color - /@babel/types/7.21.3: - resolution: {integrity: sha512-sBGdETxC+/M4o/zKC0sl6sjWv62WFR/uzxrJ6uYyMLZOUlPnwzw0tKgVHOXxaAd5l2g8pEDM5RZ495GPQI77kg==} + /@babel/types@7.21.4: + resolution: {integrity: sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-string-parser': 7.19.4 '@babel/helper-validator-identifier': 7.19.1 to-fast-properties: 2.0.0 - /@cspotcode/source-map-support/0.8.1: + /@cspotcode/source-map-support@0.8.1: resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} dependencies: '@jridgewell/trace-mapping': 0.3.9 dev: true - /@date-io/core/2.16.0: + /@date-io/core@2.16.0: resolution: {integrity: sha512-DYmSzkr+jToahwWrsiRA2/pzMEtz9Bq1euJwoOuYwuwIYXnZFtHajY2E6a1VNVDc9jP8YUXK1BvnZH9mmT19Zg==} dev: false - /@date-io/date-fns-jalali/2.16.0: + /@date-io/date-fns-jalali@2.16.0: resolution: {integrity: sha512-MNVvGYwRiBydbvY7gvZM14W2kosIG29G1Ekw5qmYWOXkIIFngh6ZvV7/uVGDCW+gqlIeSz/XitZXA9n8RO0tJw==} peerDependencies: date-fns-jalali: ^2.13.0-0 @@ -1254,7 +1325,7 @@ packages: '@date-io/core': 2.16.0 dev: false - /@date-io/date-fns/2.16.0_date-fns@2.29.3: + /@date-io/date-fns@2.16.0(date-fns@2.29.3): resolution: {integrity: sha512-bfm5FJjucqlrnQcXDVU5RD+nlGmL3iWgkHTq3uAZWVIuBu6dDmGa3m8a6zo2VQQpu8ambq9H22UyUpn7590joA==} peerDependencies: date-fns: ^2.0.0 @@ -1266,7 +1337,7 @@ packages: date-fns: 2.29.3 dev: false - /@date-io/dayjs/2.16.0: + /@date-io/dayjs@2.16.0: resolution: {integrity: sha512-y5qKyX2j/HG3zMvIxTobYZRGnd1FUW2olZLS0vTj7bEkBQkjd2RO7/FEwDY03Z1geVGlXKnzIATEVBVaGzV4Iw==} peerDependencies: dayjs: ^1.8.17 @@ -1277,7 +1348,7 @@ packages: '@date-io/core': 2.16.0 dev: false - /@date-io/hijri/2.16.1: + /@date-io/hijri@2.16.1: resolution: {integrity: sha512-6BxY0mtnqj5cBiXluRs3uWN0mSJwGw0AB2ZxqtEHvBFoiSYEojW51AETnfPIWpdvDsBn+WAC7QrfBvQZnoyIkQ==} peerDependencies: moment-hijri: ^2.1.2 @@ -1290,7 +1361,7 @@ packages: - moment dev: false - /@date-io/jalaali/2.16.1: + /@date-io/jalaali@2.16.1: resolution: {integrity: sha512-GLw87G/WJ1DNrQHW8p/LqkqAqTUSqBSRin0H1pRPwCccB5Fh7GT64sadjzEvjW56lPJ0aq2vp5yI2eIjZajfrw==} peerDependencies: moment-jalaali: ^0.7.4 || ^0.8.0 || ^0.9.0 @@ -1303,7 +1374,7 @@ packages: - moment dev: false - /@date-io/luxon/2.16.1: + /@date-io/luxon@2.16.1: resolution: {integrity: sha512-aeYp5K9PSHV28946pC+9UKUi/xMMYoaGelrpDibZSgHu2VWHXrr7zWLEr+pMPThSs5vt8Ei365PO+84pCm37WQ==} peerDependencies: luxon: ^1.21.3 || ^2.x || ^3.x @@ -1314,7 +1385,7 @@ packages: '@date-io/core': 2.16.0 dev: false - /@date-io/moment/2.16.1: + /@date-io/moment@2.16.1: resolution: {integrity: sha512-JkxldQxUqZBfZtsaCcCMkm/dmytdyq5pS1RxshCQ4fHhsvP5A7gSqPD22QbVXMcJydi3d3v1Y8BQdUKEuGACZQ==} peerDependencies: moment: ^2.24.0 @@ -1325,24 +1396,24 @@ packages: '@date-io/core': 2.16.0 dev: false - /@edge-runtime/format/1.1.0: + /@edge-runtime/format@1.1.0: resolution: {integrity: sha512-MkLDDtPhXZIMx83NykdFmOpF7gVWIdd6GBHYb8V/E+PKWvD2pK/qWx9B30oN1iDJ2XBm0SGDjz02S8nDHI9lMQ==} dev: true - /@edge-runtime/primitives/2.0.0: + /@edge-runtime/primitives@2.0.0: resolution: {integrity: sha512-AXqUq1zruTJAICrllUvZcgciIcEGHdF6KJ3r6FM0n4k8LpFxZ62tPWVIJ9HKm+xt+ncTBUZxwgUaQ73QMUQEKw==} dev: true - /@edge-runtime/vm/2.0.0: + /@edge-runtime/vm@2.0.0: resolution: {integrity: sha512-BOLrAX8IWHRXu1siZocwLguKJPEUv7cr+rG8tI4hvHgMdIsBWHJlLeB8EjuUVnIURFrUiM49lVKn8DRrECmngw==} dependencies: '@edge-runtime/primitives': 2.0.0 dev: true - /@emotion/babel-plugin/11.10.6: + /@emotion/babel-plugin@11.10.6: resolution: {integrity: sha512-p2dAqtVrkhSa7xz1u/m9eHYdLi+en8NowrmXeF/dKtJpU8lCWli8RUAati7NcSl0afsBott48pdnANuD0wh9QQ==} dependencies: - '@babel/helper-module-imports': 7.18.6 + '@babel/helper-module-imports': 7.21.4 '@babel/runtime': 7.21.0 '@emotion/hash': 0.9.0 '@emotion/memoize': 0.8.0 @@ -1355,8 +1426,8 @@ packages: stylis: 4.1.3 dev: false - /@emotion/cache/11.10.5: - resolution: {integrity: sha512-dGYHWyzTdmK+f2+EnIGBpkz1lKc4Zbj2KHd4cX3Wi8/OWr5pKslNjc3yABKH4adRGCvSX4VDC0i04mrrq0aiRA==} + /@emotion/cache@11.10.7: + resolution: {integrity: sha512-VLl1/2D6LOjH57Y8Vem1RoZ9haWF4jesHDGiHtKozDQuBIkJm2gimVo0I02sWCuzZtVACeixTVB4jeE8qvCBoQ==} dependencies: '@emotion/memoize': 0.8.0 '@emotion/sheet': 1.2.1 @@ -1365,20 +1436,20 @@ packages: stylis: 4.1.3 dev: false - /@emotion/hash/0.9.0: + /@emotion/hash@0.9.0: resolution: {integrity: sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ==} - /@emotion/is-prop-valid/1.2.0: + /@emotion/is-prop-valid@1.2.0: resolution: {integrity: sha512-3aDpDprjM0AwaxGE09bOPkNxHpBd+kA6jty3RnaEXdweX1DF1U3VQpPYb0g1IStAuK7SVQ1cy+bNBBKp4W3Fjg==} dependencies: '@emotion/memoize': 0.8.0 dev: false - /@emotion/memoize/0.8.0: + /@emotion/memoize@0.8.0: resolution: {integrity: sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA==} dev: false - /@emotion/react/11.10.6_pmekkgnqduwlme35zpnqhenc34: + /@emotion/react@11.10.6(@types/react@18.0.33)(react@18.2.0): resolution: {integrity: sha512-6HT8jBmcSkfzO7mc+N1L9uwvOnlcGoix8Zn7srt+9ga0MjREo6lRpuVX0kzo6Jp6oTqDhREOFsygN6Ew4fEQbw==} peerDependencies: '@types/react': '*' @@ -1389,31 +1460,31 @@ packages: dependencies: '@babel/runtime': 7.21.0 '@emotion/babel-plugin': 11.10.6 - '@emotion/cache': 11.10.5 + '@emotion/cache': 11.10.7 '@emotion/serialize': 1.1.1 - '@emotion/use-insertion-effect-with-fallbacks': 1.0.0_react@18.2.0 + '@emotion/use-insertion-effect-with-fallbacks': 1.0.0(react@18.2.0) '@emotion/utils': 1.2.0 '@emotion/weak-memoize': 0.3.0 - '@types/react': 18.0.28 + '@types/react': 18.0.33 hoist-non-react-statics: 3.3.2 react: 18.2.0 dev: false - /@emotion/serialize/1.1.1: + /@emotion/serialize@1.1.1: resolution: {integrity: sha512-Zl/0LFggN7+L1liljxXdsVSVlg6E/Z/olVWpfxUTxOAmi8NU7YoeWeLfi1RmnB2TATHoaWwIBRoL+FvAJiTUQA==} dependencies: '@emotion/hash': 0.9.0 '@emotion/memoize': 0.8.0 '@emotion/unitless': 0.8.0 '@emotion/utils': 1.2.0 - csstype: 3.1.1 + csstype: 3.1.2 dev: false - /@emotion/sheet/1.2.1: + /@emotion/sheet@1.2.1: resolution: {integrity: sha512-zxRBwl93sHMsOj4zs+OslQKg/uhF38MB+OMKoCrVuS0nyTkqnau+BM3WGEoOptg9Oz45T/aIGs1qbVAsEFo3nA==} dev: false - /@emotion/styled/11.10.6_oouaibmszuch5k64ms7uxp2aia: + /@emotion/styled@11.10.6(@emotion/react@11.10.6)(@types/react@18.0.33)(react@18.2.0): resolution: {integrity: sha512-OXtBzOmDSJo5Q0AFemHCfl+bUueT8BIcPSxu0EGTpGk6DmI5dnhSzQANm1e1ze0YZL7TDyAyy6s/b/zmGOS3Og==} peerDependencies: '@emotion/react': ^11.0.0-rc.0 @@ -1426,19 +1497,19 @@ packages: '@babel/runtime': 7.21.0 '@emotion/babel-plugin': 11.10.6 '@emotion/is-prop-valid': 1.2.0 - '@emotion/react': 11.10.6_pmekkgnqduwlme35zpnqhenc34 + '@emotion/react': 11.10.6(@types/react@18.0.33)(react@18.2.0) '@emotion/serialize': 1.1.1 - '@emotion/use-insertion-effect-with-fallbacks': 1.0.0_react@18.2.0 + '@emotion/use-insertion-effect-with-fallbacks': 1.0.0(react@18.2.0) '@emotion/utils': 1.2.0 - '@types/react': 18.0.28 + '@types/react': 18.0.33 react: 18.2.0 dev: false - /@emotion/unitless/0.8.0: + /@emotion/unitless@0.8.0: resolution: {integrity: sha512-VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw==} dev: false - /@emotion/use-insertion-effect-with-fallbacks/1.0.0_react@18.2.0: + /@emotion/use-insertion-effect-with-fallbacks@1.0.0(react@18.2.0): resolution: {integrity: sha512-1eEgUGmkaljiBnRMTdksDV1W4kUnmwgp7X9G8B++9GYwl1lUdqSndSriIrTJ0N7LQaoauY9JJ2yhiOYK5+NI4A==} peerDependencies: react: '>=16.8.0' @@ -1446,36 +1517,36 @@ packages: react: 18.2.0 dev: false - /@emotion/utils/1.2.0: + /@emotion/utils@1.2.0: resolution: {integrity: sha512-sn3WH53Kzpw8oQ5mgMmIzzyAaH2ZqFEbozVVBSYp538E06OSE6ytOp7pRAjNQR+Q/orwqdQYJSe2m3hCOeznkw==} dev: false - /@emotion/weak-memoize/0.3.0: + /@emotion/weak-memoize@0.3.0: resolution: {integrity: sha512-AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg==} dev: false - /@esbuild-kit/cjs-loader/2.4.2: + /@esbuild-kit/cjs-loader@2.4.2: resolution: {integrity: sha512-BDXFbYOJzT/NBEtp71cvsrGPwGAMGRB/349rwKuoxNSiKjPraNNnlK6MIIabViCjqZugu6j+xeMDlEkWdHHJSg==} dependencies: '@esbuild-kit/core-utils': 3.1.0 - get-tsconfig: 4.4.0 + get-tsconfig: 4.5.0 dev: true - /@esbuild-kit/core-utils/3.1.0: + /@esbuild-kit/core-utils@3.1.0: resolution: {integrity: sha512-Uuk8RpCg/7fdHSceR1M6XbSZFSuMrxcePFuGgyvsBn+u339dk5OeL4jv2EojwTN2st/unJGsVm4qHWjWNmJ/tw==} dependencies: - esbuild: 0.17.11 + esbuild: 0.17.15 source-map-support: 0.5.21 dev: true - /@esbuild-kit/esm-loader/2.5.5: + /@esbuild-kit/esm-loader@2.5.5: resolution: {integrity: sha512-Qwfvj/qoPbClxCRNuac1Du01r9gvNOT+pMYtJDapfB1eoGN1YlJ1BixLyL9WVENRx5RXgNLdfYdx/CuswlGhMw==} dependencies: '@esbuild-kit/core-utils': 3.1.0 - get-tsconfig: 4.4.0 + get-tsconfig: 4.5.0 dev: true - /@esbuild-plugins/node-modules-polyfill/0.1.4_esbuild@0.16.3: + /@esbuild-plugins/node-modules-polyfill@0.1.4(esbuild@0.16.3): resolution: {integrity: sha512-uZbcXi0zbmKC/050p3gJnne5Qdzw8vkXIv+c2BW0Lsc1ji1SkrxbKPUy5Efr0blbTu1SL8w4eyfpnSdPg3G0Qg==} peerDependencies: esbuild: '*' @@ -1485,71 +1556,68 @@ packages: rollup-plugin-node-polyfills: 0.2.1 dev: true - /@esbuild/android-arm/0.16.3: - resolution: {integrity: sha512-mueuEoh+s1eRbSJqq9KNBQwI4QhQV6sRXIfTyLXSHGMpyew61rOK4qY21uKbXl1iBoMb0AdL1deWFCQVlN2qHA==} + /@esbuild/android-arm64@0.16.3: + resolution: {integrity: sha512-RolFVeinkeraDvN/OoRf1F/lP0KUfGNb5jxy/vkIMeRRChkrX/HTYN6TYZosRJs3a1+8wqpxAo5PI5hFmxyPRg==} engines: {node: '>=12'} - cpu: [arm] + cpu: [arm64] os: [android] requiresBuild: true - dev: true optional: true - /@esbuild/android-arm/0.17.11: - resolution: {integrity: sha512-CdyX6sRVh1NzFCsf5vw3kULwlAhfy9wVt8SZlrhQ7eL2qBjGbFhRBWkkAzuZm9IIEOCKJw4DXA6R85g+qc8RDw==} + /@esbuild/android-arm64@0.17.15: + resolution: {integrity: sha512-0kOB6Y7Br3KDVgHeg8PRcvfLkq+AccreK///B4Z6fNZGr/tNHX0z2VywCc7PTeWp+bPvjA5WMvNXltHw5QjAIA==} engines: {node: '>=12'} - cpu: [arm] + cpu: [arm64] os: [android] requiresBuild: true dev: true optional: true - /@esbuild/android-arm/0.17.6: - resolution: {integrity: sha512-bSC9YVUjADDy1gae8RrioINU6e1lCkg3VGVwm0QQ2E1CWcC4gnMce9+B6RpxuSsrsXsk1yojn7sp1fnG8erE2g==} + /@esbuild/android-arm64@0.17.6: + resolution: {integrity: sha512-YnYSCceN/dUzUr5kdtUzB+wZprCafuD89Hs0Aqv9QSdwhYQybhXTaSTcrl6X/aWThn1a/j0eEpUBGOE7269REg==} engines: {node: '>=12'} - cpu: [arm] + cpu: [arm64] os: [android] requiresBuild: true dev: true optional: true - /@esbuild/android-arm64/0.16.3: - resolution: {integrity: sha512-RolFVeinkeraDvN/OoRf1F/lP0KUfGNb5jxy/vkIMeRRChkrX/HTYN6TYZosRJs3a1+8wqpxAo5PI5hFmxyPRg==} + /@esbuild/android-arm@0.16.3: + resolution: {integrity: sha512-mueuEoh+s1eRbSJqq9KNBQwI4QhQV6sRXIfTyLXSHGMpyew61rOK4qY21uKbXl1iBoMb0AdL1deWFCQVlN2qHA==} engines: {node: '>=12'} - cpu: [arm64] + cpu: [arm] os: [android] requiresBuild: true - dev: true optional: true - /@esbuild/android-arm64/0.17.11: - resolution: {integrity: sha512-QnK4d/zhVTuV4/pRM4HUjcsbl43POALU2zvBynmrrqZt9LPcLA3x1fTZPBg2RRguBQnJcnU059yKr+bydkntjg==} + /@esbuild/android-arm@0.17.15: + resolution: {integrity: sha512-sRSOVlLawAktpMvDyJIkdLI/c/kdRTOqo8t6ImVxg8yT7LQDUYV5Rp2FKeEosLr6ZCja9UjYAzyRSxGteSJPYg==} engines: {node: '>=12'} - cpu: [arm64] + cpu: [arm] os: [android] requiresBuild: true dev: true optional: true - /@esbuild/android-arm64/0.17.6: - resolution: {integrity: sha512-YnYSCceN/dUzUr5kdtUzB+wZprCafuD89Hs0Aqv9QSdwhYQybhXTaSTcrl6X/aWThn1a/j0eEpUBGOE7269REg==} + /@esbuild/android-arm@0.17.6: + resolution: {integrity: sha512-bSC9YVUjADDy1gae8RrioINU6e1lCkg3VGVwm0QQ2E1CWcC4gnMce9+B6RpxuSsrsXsk1yojn7sp1fnG8erE2g==} engines: {node: '>=12'} - cpu: [arm64] + cpu: [arm] os: [android] requiresBuild: true dev: true optional: true - /@esbuild/android-x64/0.16.3: + /@esbuild/android-x64@0.16.3: resolution: {integrity: sha512-SFpTUcIT1bIJuCCBMCQWq1bL2gPTjWoLZdjmIhjdcQHaUfV41OQfho6Ici5uvvkMmZRXIUGpM3GxysP/EU7ifQ==} engines: {node: '>=12'} cpu: [x64] os: [android] requiresBuild: true - dev: true optional: true - /@esbuild/android-x64/0.17.11: - resolution: {integrity: sha512-3PL3HKtsDIXGQcSCKtWD/dy+mgc4p2Tvo2qKgKHj9Yf+eniwFnuoQ0OUhlSfAEpKAFzF9N21Nwgnap6zy3L3MQ==} + /@esbuild/android-x64@0.17.15: + resolution: {integrity: sha512-MzDqnNajQZ63YkaUWVl9uuhcWyEyh69HGpMIrf+acR4otMkfLJ4sUCxqwbCyPGicE9dVlrysI3lMcDBjGiBBcQ==} engines: {node: '>=12'} cpu: [x64] os: [android] @@ -1557,7 +1625,7 @@ packages: dev: true optional: true - /@esbuild/android-x64/0.17.6: + /@esbuild/android-x64@0.17.6: resolution: {integrity: sha512-MVcYcgSO7pfu/x34uX9u2QIZHmXAB7dEiLQC5bBl5Ryqtpj9lT2sg3gNDEsrPEmimSJW2FXIaxqSQ501YLDsZQ==} engines: {node: '>=12'} cpu: [x64] @@ -1566,17 +1634,16 @@ packages: dev: true optional: true - /@esbuild/darwin-arm64/0.16.3: + /@esbuild/darwin-arm64@0.16.3: resolution: {integrity: sha512-DO8WykMyB+N9mIDfI/Hug70Dk1KipavlGAecxS3jDUwAbTpDXj0Lcwzw9svkhxfpCagDmpaTMgxWK8/C/XcXvw==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] requiresBuild: true - dev: true optional: true - /@esbuild/darwin-arm64/0.17.11: - resolution: {integrity: sha512-pJ950bNKgzhkGNO3Z9TeHzIFtEyC2GDQL3wxkMApDEghYx5Qers84UTNc1bAxWbRkuJOgmOha5V0WUeh8G+YGw==} + /@esbuild/darwin-arm64@0.17.15: + resolution: {integrity: sha512-7siLjBc88Z4+6qkMDxPT2juf2e8SJxmsbNVKFY2ifWCDT72v5YJz9arlvBw5oB4W/e61H1+HDB/jnu8nNg0rLA==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] @@ -1584,7 +1651,7 @@ packages: dev: true optional: true - /@esbuild/darwin-arm64/0.17.6: + /@esbuild/darwin-arm64@0.17.6: resolution: {integrity: sha512-bsDRvlbKMQMt6Wl08nHtFz++yoZHsyTOxnjfB2Q95gato+Yi4WnRl13oC2/PJJA9yLCoRv9gqT/EYX0/zDsyMA==} engines: {node: '>=12'} cpu: [arm64] @@ -1593,17 +1660,16 @@ packages: dev: true optional: true - /@esbuild/darwin-x64/0.16.3: + /@esbuild/darwin-x64@0.16.3: resolution: {integrity: sha512-uEqZQ2omc6BvWqdCiyZ5+XmxuHEi1SPzpVxXCSSV2+Sh7sbXbpeNhHIeFrIpRjAs0lI1FmA1iIOxFozKBhKgRQ==} engines: {node: '>=12'} cpu: [x64] os: [darwin] requiresBuild: true - dev: true optional: true - /@esbuild/darwin-x64/0.17.11: - resolution: {integrity: sha512-iB0dQkIHXyczK3BZtzw1tqegf0F0Ab5texX2TvMQjiJIWXAfM4FQl7D909YfXWnB92OQz4ivBYQ2RlxBJrMJOw==} + /@esbuild/darwin-x64@0.17.15: + resolution: {integrity: sha512-NbImBas2rXwYI52BOKTW342Tm3LTeVlaOQ4QPZ7XuWNKiO226DisFk/RyPk3T0CKZkKMuU69yOvlapJEmax7cg==} engines: {node: '>=12'} cpu: [x64] os: [darwin] @@ -1611,7 +1677,7 @@ packages: dev: true optional: true - /@esbuild/darwin-x64/0.17.6: + /@esbuild/darwin-x64@0.17.6: resolution: {integrity: sha512-xh2A5oPrYRfMFz74QXIQTQo8uA+hYzGWJFoeTE8EvoZGHb+idyV4ATaukaUvnnxJiauhs/fPx3vYhU4wiGfosg==} engines: {node: '>=12'} cpu: [x64] @@ -1620,17 +1686,16 @@ packages: dev: true optional: true - /@esbuild/freebsd-arm64/0.16.3: + /@esbuild/freebsd-arm64@0.16.3: resolution: {integrity: sha512-nJansp3sSXakNkOD5i5mIz2Is/HjzIhFs49b1tjrPrpCmwgBmH9SSzhC/Z1UqlkivqMYkhfPwMw1dGFUuwmXhw==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] requiresBuild: true - dev: true optional: true - /@esbuild/freebsd-arm64/0.17.11: - resolution: {integrity: sha512-7EFzUADmI1jCHeDRGKgbnF5sDIceZsQGapoO6dmw7r/ZBEKX7CCDnIz8m9yEclzr7mFsd+DyasHzpjfJnmBB1Q==} + /@esbuild/freebsd-arm64@0.17.15: + resolution: {integrity: sha512-Xk9xMDjBVG6CfgoqlVczHAdJnCs0/oeFOspFap5NkYAmRCT2qTn1vJWA2f419iMtsHSLm+O8B6SLV/HlY5cYKg==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] @@ -1638,7 +1703,7 @@ packages: dev: true optional: true - /@esbuild/freebsd-arm64/0.17.6: + /@esbuild/freebsd-arm64@0.17.6: resolution: {integrity: sha512-EnUwjRc1inT4ccZh4pB3v1cIhohE2S4YXlt1OvI7sw/+pD+dIE4smwekZlEPIwY6PhU6oDWwITrQQm5S2/iZgg==} engines: {node: '>=12'} cpu: [arm64] @@ -1647,17 +1712,16 @@ packages: dev: true optional: true - /@esbuild/freebsd-x64/0.16.3: + /@esbuild/freebsd-x64@0.16.3: resolution: {integrity: sha512-TfoDzLw+QHfc4a8aKtGSQ96Wa+6eimljjkq9HKR0rHlU83vw8aldMOUSJTUDxbcUdcgnJzPaX8/vGWm7vyV7ug==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] requiresBuild: true - dev: true optional: true - /@esbuild/freebsd-x64/0.17.11: - resolution: {integrity: sha512-iPgenptC8i8pdvkHQvXJFzc1eVMR7W2lBPrTE6GbhR54sLcF42mk3zBOjKPOodezzuAz/KSu8CPyFSjcBMkE9g==} + /@esbuild/freebsd-x64@0.17.15: + resolution: {integrity: sha512-3TWAnnEOdclvb2pnfsTWtdwthPfOz7qAfcwDLcfZyGJwm1SRZIMOeB5FODVhnM93mFSPsHB9b/PmxNNbSnd0RQ==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] @@ -1665,7 +1729,7 @@ packages: dev: true optional: true - /@esbuild/freebsd-x64/0.17.6: + /@esbuild/freebsd-x64@0.17.6: resolution: {integrity: sha512-Uh3HLWGzH6FwpviUcLMKPCbZUAFzv67Wj5MTwK6jn89b576SR2IbEp+tqUHTr8DIl0iDmBAf51MVaP7pw6PY5Q==} engines: {node: '>=12'} cpu: [x64] @@ -1674,71 +1738,68 @@ packages: dev: true optional: true - /@esbuild/linux-arm/0.16.3: - resolution: {integrity: sha512-VwswmSYwVAAq6LysV59Fyqk3UIjbhuc6wb3vEcJ7HEJUtFuLK9uXWuFoH1lulEbE4+5GjtHi3MHX+w1gNHdOWQ==} + /@esbuild/linux-arm64@0.16.3: + resolution: {integrity: sha512-7I3RlsnxEFCHVZNBLb2w7unamgZ5sVwO0/ikE2GaYvYuUQs9Qte/w7TqWcXHtCwxvZx/2+F97ndiUQAWs47ZfQ==} engines: {node: '>=12'} - cpu: [arm] + cpu: [arm64] os: [linux] requiresBuild: true - dev: true optional: true - /@esbuild/linux-arm/0.17.11: - resolution: {integrity: sha512-M9iK/d4lgZH0U5M1R2p2gqhPV/7JPJcRz+8O8GBKVgqndTzydQ7B2XGDbxtbvFkvIs53uXTobOhv+RyaqhUiMg==} + /@esbuild/linux-arm64@0.17.15: + resolution: {integrity: sha512-T0MVnYw9KT6b83/SqyznTs/3Jg2ODWrZfNccg11XjDehIved2oQfrX/wVuev9N936BpMRaTR9I1J0tdGgUgpJA==} engines: {node: '>=12'} - cpu: [arm] + cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /@esbuild/linux-arm/0.17.6: - resolution: {integrity: sha512-7YdGiurNt7lqO0Bf/U9/arrPWPqdPqcV6JCZda4LZgEn+PTQ5SMEI4MGR52Bfn3+d6bNEGcWFzlIxiQdS48YUw==} + /@esbuild/linux-arm64@0.17.6: + resolution: {integrity: sha512-bUR58IFOMJX523aDVozswnlp5yry7+0cRLCXDsxnUeQYJik1DukMY+apBsLOZJblpH+K7ox7YrKrHmJoWqVR9w==} engines: {node: '>=12'} - cpu: [arm] + cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /@esbuild/linux-arm64/0.16.3: - resolution: {integrity: sha512-7I3RlsnxEFCHVZNBLb2w7unamgZ5sVwO0/ikE2GaYvYuUQs9Qte/w7TqWcXHtCwxvZx/2+F97ndiUQAWs47ZfQ==} + /@esbuild/linux-arm@0.16.3: + resolution: {integrity: sha512-VwswmSYwVAAq6LysV59Fyqk3UIjbhuc6wb3vEcJ7HEJUtFuLK9uXWuFoH1lulEbE4+5GjtHi3MHX+w1gNHdOWQ==} engines: {node: '>=12'} - cpu: [arm64] + cpu: [arm] os: [linux] requiresBuild: true - dev: true optional: true - /@esbuild/linux-arm64/0.17.11: - resolution: {integrity: sha512-Qxth3gsWWGKz2/qG2d5DsW/57SeA2AmpSMhdg9TSB5Svn2KDob3qxfQSkdnWjSd42kqoxIPy3EJFs+6w1+6Qjg==} + /@esbuild/linux-arm@0.17.15: + resolution: {integrity: sha512-MLTgiXWEMAMr8nmS9Gigx43zPRmEfeBfGCwxFQEMgJ5MC53QKajaclW6XDPjwJvhbebv+RzK05TQjvH3/aM4Xw==} engines: {node: '>=12'} - cpu: [arm64] + cpu: [arm] os: [linux] requiresBuild: true dev: true optional: true - /@esbuild/linux-arm64/0.17.6: - resolution: {integrity: sha512-bUR58IFOMJX523aDVozswnlp5yry7+0cRLCXDsxnUeQYJik1DukMY+apBsLOZJblpH+K7ox7YrKrHmJoWqVR9w==} + /@esbuild/linux-arm@0.17.6: + resolution: {integrity: sha512-7YdGiurNt7lqO0Bf/U9/arrPWPqdPqcV6JCZda4LZgEn+PTQ5SMEI4MGR52Bfn3+d6bNEGcWFzlIxiQdS48YUw==} engines: {node: '>=12'} - cpu: [arm64] + cpu: [arm] os: [linux] requiresBuild: true dev: true optional: true - /@esbuild/linux-ia32/0.16.3: + /@esbuild/linux-ia32@0.16.3: resolution: {integrity: sha512-X8FDDxM9cqda2rJE+iblQhIMYY49LfvW4kaEjoFbTTQ4Go8G96Smj2w3BRTwA8IHGoi9dPOPGAX63dhuv19UqA==} engines: {node: '>=12'} cpu: [ia32] os: [linux] requiresBuild: true - dev: true optional: true - /@esbuild/linux-ia32/0.17.11: - resolution: {integrity: sha512-dB1nGaVWtUlb/rRDHmuDQhfqazWE0LMro/AIbT2lWM3CDMHJNpLckH+gCddQyhhcLac2OYw69ikUMO34JLt3wA==} + /@esbuild/linux-ia32@0.17.15: + resolution: {integrity: sha512-wp02sHs015T23zsQtU4Cj57WiteiuASHlD7rXjKUyAGYzlOKDAjqK6bk5dMi2QEl/KVOcsjwL36kD+WW7vJt8Q==} engines: {node: '>=12'} cpu: [ia32] os: [linux] @@ -1746,7 +1807,7 @@ packages: dev: true optional: true - /@esbuild/linux-ia32/0.17.6: + /@esbuild/linux-ia32@0.17.6: resolution: {integrity: sha512-ujp8uoQCM9FRcbDfkqECoARsLnLfCUhKARTP56TFPog8ie9JG83D5GVKjQ6yVrEVdMie1djH86fm98eY3quQkQ==} engines: {node: '>=12'} cpu: [ia32] @@ -1755,17 +1816,16 @@ packages: dev: true optional: true - /@esbuild/linux-loong64/0.16.3: + /@esbuild/linux-loong64@0.16.3: resolution: {integrity: sha512-hIbeejCOyO0X9ujfIIOKjBjNAs9XD/YdJ9JXAy1lHA+8UXuOqbFe4ErMCqMr8dhlMGBuvcQYGF7+kO7waj2KHw==} engines: {node: '>=12'} cpu: [loong64] os: [linux] requiresBuild: true - dev: true optional: true - /@esbuild/linux-loong64/0.17.11: - resolution: {integrity: sha512-aCWlq70Q7Nc9WDnormntGS1ar6ZFvUpqr8gXtO+HRejRYPweAFQN615PcgaSJkZjhHp61+MNLhzyVALSF2/Q0g==} + /@esbuild/linux-loong64@0.17.15: + resolution: {integrity: sha512-k7FsUJjGGSxwnBmMh8d7IbObWu+sF/qbwc+xKZkBe/lTAF16RqxRCnNHA7QTd3oS2AfGBAnHlXL67shV5bBThQ==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -1773,7 +1833,7 @@ packages: dev: true optional: true - /@esbuild/linux-loong64/0.17.6: + /@esbuild/linux-loong64@0.17.6: resolution: {integrity: sha512-y2NX1+X/Nt+izj9bLoiaYB9YXT/LoaQFYvCkVD77G/4F+/yuVXYCWz4SE9yr5CBMbOxOfBcy/xFL4LlOeNlzYQ==} engines: {node: '>=12'} cpu: [loong64] @@ -1782,17 +1842,16 @@ packages: dev: true optional: true - /@esbuild/linux-mips64el/0.16.3: + /@esbuild/linux-mips64el@0.16.3: resolution: {integrity: sha512-znFRzICT/V8VZQMt6rjb21MtAVJv/3dmKRMlohlShrbVXdBuOdDrGb+C2cZGQAR8RFyRe7HS6klmHq103WpmVw==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] requiresBuild: true - dev: true optional: true - /@esbuild/linux-mips64el/0.17.11: - resolution: {integrity: sha512-cGeGNdQxqY8qJwlYH1BP6rjIIiEcrM05H7k3tR7WxOLmD1ZxRMd6/QIOWMb8mD2s2YJFNRuNQ+wjMhgEL2oCEw==} + /@esbuild/linux-mips64el@0.17.15: + resolution: {integrity: sha512-ZLWk6czDdog+Q9kE/Jfbilu24vEe/iW/Sj2d8EVsmiixQ1rM2RKH2n36qfxK4e8tVcaXkvuV3mU5zTZviE+NVQ==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] @@ -1800,7 +1859,7 @@ packages: dev: true optional: true - /@esbuild/linux-mips64el/0.17.6: + /@esbuild/linux-mips64el@0.17.6: resolution: {integrity: sha512-09AXKB1HDOzXD+j3FdXCiL/MWmZP0Ex9eR8DLMBVcHorrWJxWmY8Nms2Nm41iRM64WVx7bA/JVHMv081iP2kUA==} engines: {node: '>=12'} cpu: [mips64el] @@ -1809,17 +1868,16 @@ packages: dev: true optional: true - /@esbuild/linux-ppc64/0.16.3: + /@esbuild/linux-ppc64@0.16.3: resolution: {integrity: sha512-EV7LuEybxhXrVTDpbqWF2yehYRNz5e5p+u3oQUS2+ZFpknyi1NXxr8URk4ykR8Efm7iu04//4sBg249yNOwy5Q==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] requiresBuild: true - dev: true optional: true - /@esbuild/linux-ppc64/0.17.11: - resolution: {integrity: sha512-BdlziJQPW/bNe0E8eYsHB40mYOluS+jULPCjlWiHzDgr+ZBRXPtgMV1nkLEGdpjrwgmtkZHEGEPaKdS/8faLDA==} + /@esbuild/linux-ppc64@0.17.15: + resolution: {integrity: sha512-mY6dPkIRAiFHRsGfOYZC8Q9rmr8vOBZBme0/j15zFUKM99d4ILY4WpOC7i/LqoY+RE7KaMaSfvY8CqjJtuO4xg==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] @@ -1827,7 +1885,7 @@ packages: dev: true optional: true - /@esbuild/linux-ppc64/0.17.6: + /@esbuild/linux-ppc64@0.17.6: resolution: {integrity: sha512-AmLhMzkM8JuqTIOhxnX4ubh0XWJIznEynRnZAVdA2mMKE6FAfwT2TWKTwdqMG+qEaeyDPtfNoZRpJbD4ZBv0Tg==} engines: {node: '>=12'} cpu: [ppc64] @@ -1836,17 +1894,16 @@ packages: dev: true optional: true - /@esbuild/linux-riscv64/0.16.3: + /@esbuild/linux-riscv64@0.16.3: resolution: {integrity: sha512-uDxqFOcLzFIJ+r/pkTTSE9lsCEaV/Y6rMlQjUI9BkzASEChYL/aSQjZjchtEmdnVxDKETnUAmsaZ4pqK1eE5BQ==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] requiresBuild: true - dev: true optional: true - /@esbuild/linux-riscv64/0.17.11: - resolution: {integrity: sha512-MDLwQbtF+83oJCI1Cixn68Et/ME6gelmhssPebC40RdJaect+IM+l7o/CuG0ZlDs6tZTEIoxUe53H3GmMn8oMA==} + /@esbuild/linux-riscv64@0.17.15: + resolution: {integrity: sha512-EcyUtxffdDtWjjwIH8sKzpDRLcVtqANooMNASO59y+xmqqRYBBM7xVLQhqF7nksIbm2yHABptoioS9RAbVMWVA==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] @@ -1854,7 +1911,7 @@ packages: dev: true optional: true - /@esbuild/linux-riscv64/0.17.6: + /@esbuild/linux-riscv64@0.17.6: resolution: {integrity: sha512-Y4Ri62PfavhLQhFbqucysHOmRamlTVK10zPWlqjNbj2XMea+BOs4w6ASKwQwAiqf9ZqcY9Ab7NOU4wIgpxwoSQ==} engines: {node: '>=12'} cpu: [riscv64] @@ -1863,17 +1920,16 @@ packages: dev: true optional: true - /@esbuild/linux-s390x/0.16.3: + /@esbuild/linux-s390x@0.16.3: resolution: {integrity: sha512-NbeREhzSxYwFhnCAQOQZmajsPYtX71Ufej3IQ8W2Gxskfz9DK58ENEju4SbpIj48VenktRASC52N5Fhyf/aliQ==} engines: {node: '>=12'} cpu: [s390x] os: [linux] requiresBuild: true - dev: true optional: true - /@esbuild/linux-s390x/0.17.11: - resolution: {integrity: sha512-4N5EMESvws0Ozr2J94VoUD8HIRi7X0uvUv4c0wpTHZyZY9qpaaN7THjosdiW56irQ4qnJ6Lsc+i+5zGWnyqWqQ==} + /@esbuild/linux-s390x@0.17.15: + resolution: {integrity: sha512-BuS6Jx/ezxFuHxgsfvz7T4g4YlVrmCmg7UAwboeyNNg0OzNzKsIZXpr3Sb/ZREDXWgt48RO4UQRDBxJN3B9Rbg==} engines: {node: '>=12'} cpu: [s390x] os: [linux] @@ -1881,7 +1937,7 @@ packages: dev: true optional: true - /@esbuild/linux-s390x/0.17.6: + /@esbuild/linux-s390x@0.17.6: resolution: {integrity: sha512-SPUiz4fDbnNEm3JSdUW8pBJ/vkop3M1YwZAVwvdwlFLoJwKEZ9L98l3tzeyMzq27CyepDQ3Qgoba44StgbiN5Q==} engines: {node: '>=12'} cpu: [s390x] @@ -1890,17 +1946,16 @@ packages: dev: true optional: true - /@esbuild/linux-x64/0.16.3: + /@esbuild/linux-x64@0.16.3: resolution: {integrity: sha512-SDiG0nCixYO9JgpehoKgScwic7vXXndfasjnD5DLbp1xltANzqZ425l7LSdHynt19UWOcDjG9wJJzSElsPvk0w==} engines: {node: '>=12'} cpu: [x64] os: [linux] requiresBuild: true - dev: true optional: true - /@esbuild/linux-x64/0.17.11: - resolution: {integrity: sha512-rM/v8UlluxpytFSmVdbCe1yyKQd/e+FmIJE2oPJvbBo+D0XVWi1y/NQ4iTNx+436WmDHQBjVLrbnAQLQ6U7wlw==} + /@esbuild/linux-x64@0.17.15: + resolution: {integrity: sha512-JsdS0EgEViwuKsw5tiJQo9UdQdUJYuB+Mf6HxtJSPN35vez1hlrNb1KajvKWF5Sa35j17+rW1ECEO9iNrIXbNg==} engines: {node: '>=12'} cpu: [x64] os: [linux] @@ -1908,7 +1963,7 @@ packages: dev: true optional: true - /@esbuild/linux-x64/0.17.6: + /@esbuild/linux-x64@0.17.6: resolution: {integrity: sha512-a3yHLmOodHrzuNgdpB7peFGPx1iJ2x6m+uDvhP2CKdr2CwOaqEFMeSqYAHU7hG+RjCq8r2NFujcd/YsEsFgTGw==} engines: {node: '>=12'} cpu: [x64] @@ -1917,17 +1972,16 @@ packages: dev: true optional: true - /@esbuild/netbsd-x64/0.16.3: + /@esbuild/netbsd-x64@0.16.3: resolution: {integrity: sha512-AzbsJqiHEq1I/tUvOfAzCY15h4/7Ivp3ff/o1GpP16n48JMNAtbW0qui2WCgoIZArEHD0SUQ95gvR0oSO7ZbdA==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] requiresBuild: true - dev: true optional: true - /@esbuild/netbsd-x64/0.17.11: - resolution: {integrity: sha512-4WaAhuz5f91h3/g43VBGdto1Q+X7VEZfpcWGtOFXnggEuLvjV+cP6DyLRU15IjiU9fKLLk41OoJfBFN5DhPvag==} + /@esbuild/netbsd-x64@0.17.15: + resolution: {integrity: sha512-R6fKjtUysYGym6uXf6qyNephVUQAGtf3n2RCsOST/neIwPqRWcnc3ogcielOd6pT+J0RDR1RGcy0ZY7d3uHVLA==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] @@ -1935,7 +1989,7 @@ packages: dev: true optional: true - /@esbuild/netbsd-x64/0.17.6: + /@esbuild/netbsd-x64@0.17.6: resolution: {integrity: sha512-EanJqcU/4uZIBreTrnbnre2DXgXSa+Gjap7ifRfllpmyAU7YMvaXmljdArptTHmjrkkKm9BK6GH5D5Yo+p6y5A==} engines: {node: '>=12'} cpu: [x64] @@ -1944,17 +1998,16 @@ packages: dev: true optional: true - /@esbuild/openbsd-x64/0.16.3: + /@esbuild/openbsd-x64@0.16.3: resolution: {integrity: sha512-gSABi8qHl8k3Cbi/4toAzHiykuBuWLZs43JomTcXkjMZVkp0gj3gg9mO+9HJW/8GB5H89RX/V0QP4JGL7YEEVg==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] requiresBuild: true - dev: true optional: true - /@esbuild/openbsd-x64/0.17.11: - resolution: {integrity: sha512-UBj135Nx4FpnvtE+C8TWGp98oUgBcmNmdYgl5ToKc0mBHxVVqVE7FUS5/ELMImOp205qDAittL6Ezhasc2Ev/w==} + /@esbuild/openbsd-x64@0.17.15: + resolution: {integrity: sha512-mVD4PGc26b8PI60QaPUltYKeSX0wxuy0AltC+WCTFwvKCq2+OgLP4+fFd+hZXzO2xW1HPKcytZBdjqL6FQFa7w==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] @@ -1962,7 +2015,7 @@ packages: dev: true optional: true - /@esbuild/openbsd-x64/0.17.6: + /@esbuild/openbsd-x64@0.17.6: resolution: {integrity: sha512-xaxeSunhQRsTNGFanoOkkLtnmMn5QbA0qBhNet/XLVsc+OVkpIWPHcr3zTW2gxVU5YOHFbIHR9ODuaUdNza2Vw==} engines: {node: '>=12'} cpu: [x64] @@ -1971,17 +2024,16 @@ packages: dev: true optional: true - /@esbuild/sunos-x64/0.16.3: + /@esbuild/sunos-x64@0.16.3: resolution: {integrity: sha512-SF9Kch5Ete4reovvRO6yNjMxrvlfT0F0Flm+NPoUw5Z4Q3r1d23LFTgaLwm3Cp0iGbrU/MoUI+ZqwCv5XJijCw==} engines: {node: '>=12'} cpu: [x64] os: [sunos] requiresBuild: true - dev: true optional: true - /@esbuild/sunos-x64/0.17.11: - resolution: {integrity: sha512-1/gxTifDC9aXbV2xOfCbOceh5AlIidUrPsMpivgzo8P8zUtczlq1ncFpeN1ZyQJ9lVs2hILy1PG5KPp+w8QPPg==} + /@esbuild/sunos-x64@0.17.15: + resolution: {integrity: sha512-U6tYPovOkw3459t2CBwGcFYfFRjivcJJc1WC8Q3funIwX8x4fP+R6xL/QuTPNGOblbq/EUDxj9GU+dWKX0oWlQ==} engines: {node: '>=12'} cpu: [x64] os: [sunos] @@ -1989,7 +2041,7 @@ packages: dev: true optional: true - /@esbuild/sunos-x64/0.17.6: + /@esbuild/sunos-x64@0.17.6: resolution: {integrity: sha512-gnMnMPg5pfMkZvhHee21KbKdc6W3GR8/JuE0Da1kjwpK6oiFU3nqfHuVPgUX2rsOx9N2SadSQTIYV1CIjYG+xw==} engines: {node: '>=12'} cpu: [x64] @@ -1998,17 +2050,16 @@ packages: dev: true optional: true - /@esbuild/win32-arm64/0.16.3: + /@esbuild/win32-arm64@0.16.3: resolution: {integrity: sha512-u5aBonZIyGopAZyOnoPAA6fGsDeHByZ9CnEzyML9NqntK6D/xl5jteZUKm/p6nD09+v3pTM6TuUIqSPcChk5gg==} engines: {node: '>=12'} cpu: [arm64] os: [win32] requiresBuild: true - dev: true optional: true - /@esbuild/win32-arm64/0.17.11: - resolution: {integrity: sha512-vtSfyx5yRdpiOW9yp6Ax0zyNOv9HjOAw8WaZg3dF5djEHKKm3UnoohftVvIJtRh0Ec7Hso0RIdTqZvPXJ7FdvQ==} + /@esbuild/win32-arm64@0.17.15: + resolution: {integrity: sha512-W+Z5F++wgKAleDABemiyXVnzXgvRFs+GVKThSI+mGgleLWluv0D7Diz4oQpgdpNzh4i2nNDzQtWbjJiqutRp6Q==} engines: {node: '>=12'} cpu: [arm64] os: [win32] @@ -2016,7 +2067,7 @@ packages: dev: true optional: true - /@esbuild/win32-arm64/0.17.6: + /@esbuild/win32-arm64@0.17.6: resolution: {integrity: sha512-G95n7vP1UnGJPsVdKXllAJPtqjMvFYbN20e8RK8LVLhlTiSOH1sd7+Gt7rm70xiG+I5tM58nYgwWrLs6I1jHqg==} engines: {node: '>=12'} cpu: [arm64] @@ -2025,17 +2076,16 @@ packages: dev: true optional: true - /@esbuild/win32-ia32/0.16.3: + /@esbuild/win32-ia32@0.16.3: resolution: {integrity: sha512-GlgVq1WpvOEhNioh74TKelwla9KDuAaLZrdxuuUgsP2vayxeLgVc+rbpIv0IYF4+tlIzq2vRhofV+KGLD+37EQ==} engines: {node: '>=12'} cpu: [ia32] os: [win32] requiresBuild: true - dev: true optional: true - /@esbuild/win32-ia32/0.17.11: - resolution: {integrity: sha512-GFPSLEGQr4wHFTiIUJQrnJKZhZjjq4Sphf+mM76nQR6WkQn73vm7IsacmBRPkALfpOCHsopSvLgqdd4iUW2mYw==} + /@esbuild/win32-ia32@0.17.15: + resolution: {integrity: sha512-Muz/+uGgheShKGqSVS1KsHtCyEzcdOn/W/Xbh6H91Etm+wiIfwZaBn1W58MeGtfI8WA961YMHFYTthBdQs4t+w==} engines: {node: '>=12'} cpu: [ia32] os: [win32] @@ -2043,7 +2093,7 @@ packages: dev: true optional: true - /@esbuild/win32-ia32/0.17.6: + /@esbuild/win32-ia32@0.17.6: resolution: {integrity: sha512-96yEFzLhq5bv9jJo5JhTs1gI+1cKQ83cUpyxHuGqXVwQtY5Eq54ZEsKs8veKtiKwlrNimtckHEkj4mRh4pPjsg==} engines: {node: '>=12'} cpu: [ia32] @@ -2052,17 +2102,16 @@ packages: dev: true optional: true - /@esbuild/win32-x64/0.16.3: + /@esbuild/win32-x64@0.16.3: resolution: {integrity: sha512-5/JuTd8OWW8UzEtyf19fbrtMJENza+C9JoPIkvItgTBQ1FO2ZLvjbPO6Xs54vk0s5JB5QsfieUEshRQfu7ZHow==} engines: {node: '>=12'} cpu: [x64] os: [win32] requiresBuild: true - dev: true optional: true - /@esbuild/win32-x64/0.17.11: - resolution: {integrity: sha512-N9vXqLP3eRL8BqSy8yn4Y98cZI2pZ8fyuHx6lKjiG2WABpT2l01TXdzq5Ma2ZUBzfB7tx5dXVhge8X9u0S70ZQ==} + /@esbuild/win32-x64@0.17.15: + resolution: {integrity: sha512-DjDa9ywLUUmjhV2Y9wUTIF+1XsmuFGvZoCmOWkli1XcNAh5t25cc7fgsCx4Zi/Uurep3TTLyDiKATgGEg61pkA==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -2070,7 +2119,7 @@ packages: dev: true optional: true - /@esbuild/win32-x64/0.17.6: + /@esbuild/win32-x64@0.17.6: resolution: {integrity: sha512-n6d8MOyUrNp6G4VSpRcgjs5xj4A91svJSaiwLIDWVWEsZtpN5FA9NlBbZHDmAJc2e8e6SF4tkBD3HAvPF+7igA==} engines: {node: '>=12'} cpu: [x64] @@ -2079,28 +2128,28 @@ packages: dev: true optional: true - /@eslint-community/eslint-utils/4.2.0_eslint@8.36.0: - resolution: {integrity: sha512-gB8T4H4DEfX2IV9zGDJPOBgP1e/DbfCPDTtEqUMckpvzS1OYtva8JdFYBqMwYk7xAQ429WGF/UPqn8uQ//h2vQ==} + /@eslint-community/eslint-utils@4.4.0(eslint@8.38.0): + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.36.0 - eslint-visitor-keys: 3.3.0 + eslint: 8.38.0 + eslint-visitor-keys: 3.4.0 dev: true - /@eslint-community/regexpp/4.4.0: - resolution: {integrity: sha512-A9983Q0LnDGdLPjxyXQ00sbV+K+O+ko2Dr+CZigbHWtX9pNfxlaBkMR8X1CztI73zuEyEBXTVjx7CE+/VSwDiQ==} + /@eslint-community/regexpp@4.5.0: + resolution: {integrity: sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: true - /@eslint/eslintrc/2.0.1: - resolution: {integrity: sha512-eFRmABvW2E5Ho6f5fHLqgena46rOj7r7OKHYfLElqcBfGFHHpjBhivyi5+jOEQuSpdc/1phIZJlbC2te+tZNIw==} + /@eslint/eslintrc@2.0.2: + resolution: {integrity: sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 debug: 4.3.4 - espree: 9.5.0 + espree: 9.5.1 globals: 13.20.0 ignore: 5.2.4 import-fresh: 3.3.0 @@ -2111,20 +2160,28 @@ packages: - supports-color dev: true - /@eslint/js/8.36.0: - resolution: {integrity: sha512-lxJ9R5ygVm8ZWgYdUweoq5ownDlJ4upvoWmO4eLxBYHdMo+vZ/Rx0EN6MbKWDJOSUGrqJy2Gt+Dyv/VKml0fjg==} + /@eslint/js@8.38.0: + resolution: {integrity: sha512-IoD2MfUnOV58ghIHCiil01PcohxjbYR/qCxsoC+xNgUwh1EY8jOOrYmu3d3a71+tJJ23uscEV4X2HJWMsPJu4g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@fontsource/noto-sans-jp/4.5.12: + /@fontsource/noto-sans-jp@4.5.12: resolution: {integrity: sha512-tdJAUEyuyyCRD4Ot4ZE8+3uyGeSJQD/soSHr7LoltEQr22IotDDWOlqQKF7CpTaJPwt4iOBoXWtAoSN0huVW6A==} dev: false - /@gar/promisify/1.1.3: + /@gar/promisify@1.1.3: resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} dev: true - /@humanwhocodes/config-array/0.11.8: + /@hookform/resolvers@3.0.1(react-hook-form@7.43.9): + resolution: {integrity: sha512-n5oOt0cLw9mQNW3/k9zWaPsNWQcc0k6Jpc7XUrg2Q/AqqsHp3IVa1juqHCxczXI6uXHBa69ILc4pdtsRGyuzsw==} + peerDependencies: + react-hook-form: ^7.0.0 + dependencies: + react-hook-form: 7.43.9(react@18.2.0) + dev: false + + /@humanwhocodes/config-array@0.11.8: resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==} engines: {node: '>=10.10.0'} dependencies: @@ -2135,70 +2192,71 @@ packages: - supports-color dev: true - /@humanwhocodes/module-importer/1.0.1: + /@humanwhocodes/module-importer@1.0.1: resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} dev: true - /@humanwhocodes/object-schema/1.2.1: + /@humanwhocodes/object-schema@1.2.1: resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} dev: true - /@jridgewell/gen-mapping/0.1.1: - resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==} + /@jridgewell/gen-mapping@0.3.3: + resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} engines: {node: '>=6.0.0'} dependencies: '@jridgewell/set-array': 1.1.2 - '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.18 - /@jridgewell/gen-mapping/0.3.2: - resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==} + /@jridgewell/resolve-uri@3.1.0: + resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/set-array': 1.1.2 - '@jridgewell/sourcemap-codec': 1.4.14 - '@jridgewell/trace-mapping': 0.3.17 - /@jridgewell/resolve-uri/3.1.0: - resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} + /@jridgewell/resolve-uri@3.1.1: + resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} engines: {node: '>=6.0.0'} + dev: true - /@jridgewell/set-array/1.1.2: + /@jridgewell/set-array@1.1.2: resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} engines: {node: '>=6.0.0'} - /@jridgewell/source-map/0.3.2: - resolution: {integrity: sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==} + /@jridgewell/source-map@0.3.3: + resolution: {integrity: sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==} dependencies: - '@jridgewell/gen-mapping': 0.3.2 - '@jridgewell/trace-mapping': 0.3.17 + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.18 dev: false - /@jridgewell/sourcemap-codec/1.4.14: + /@jridgewell/sourcemap-codec@1.4.14: resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} - /@jridgewell/trace-mapping/0.3.17: - resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==} + /@jridgewell/sourcemap-codec@1.4.15: + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + + /@jridgewell/trace-mapping@0.3.18: + resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==} dependencies: '@jridgewell/resolve-uri': 3.1.0 '@jridgewell/sourcemap-codec': 1.4.14 - /@jridgewell/trace-mapping/0.3.9: + /@jridgewell/trace-mapping@0.3.9: resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} dependencies: - '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/resolve-uri': 3.1.1 + '@jridgewell/sourcemap-codec': 1.4.15 dev: true - /@js-temporal/polyfill/0.4.3: - resolution: {integrity: sha512-6Fmjo/HlkyVCmJzAPnvtEWlcbQUSRhi8qlN9EtJA/wP7FqXsevLLrlojR44kzNzrRkpf7eDJ+z7b4xQD/Ycypw==} - engines: {node: '>=12'} + /@mantine/hooks@6.0.6(react@18.2.0): + resolution: {integrity: sha512-yGqGIZVgvL33XL+4UbP/BcvH/R5SKJYfrNcKIQY+SZ4y3CP05Q/p0BpjcLUJowKbD+xHaqXnMxE8yGf9KWAZig==} + peerDependencies: + react: '>=16.8.0' dependencies: - jsbi: 4.3.0 - tslib: 2.5.0 + react: 18.2.0 dev: false - /@mapbox/node-pre-gyp/1.0.10: + /@mapbox/node-pre-gyp@1.0.10: resolution: {integrity: sha512-4ySo4CjzStuprMwk35H5pPbkymjv1SF3jGLj6rAHp/xT/RF7TL7bd9CTm1xDY49K2qF7jmR/g7k+SkLETP6opA==} hasBin: true dependencies: @@ -2216,8 +2274,8 @@ packages: - supports-color dev: true - /@mui/base/5.0.0-alpha.120_zula6vjvt3wdocc4mwcxqa6nzi: - resolution: {integrity: sha512-UoIXLjbl8ghK7OSD1dYzHIj79sx9v5S2J7vYeuhxUS0QR0FwGZ3WLHd31TQ2CT2faPX/AXsHQeFn93wKSnjPUQ==} + /@mui/base@5.0.0-alpha.122(@types/react@18.0.33)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-IgZEFQyHa39J1+Q3tekVdhPuUm1fr3icddaNLmiAIeYTVXmR7KR5FhBAIL0P+4shlPq0liUPGlXryoTm0iCeFg==} engines: {node: '>=12.0.0'} peerDependencies: '@types/react': ^17.0.0 || ^18.0.0 @@ -2229,19 +2287,19 @@ packages: dependencies: '@babel/runtime': 7.21.0 '@emotion/is-prop-valid': 1.2.0 - '@mui/types': 7.2.3_@types+react@18.0.28 - '@mui/utils': 5.11.13_react@18.2.0 - '@popperjs/core': 2.11.6 - '@types/react': 18.0.28 + '@mui/types': 7.2.3(@types/react@18.0.33) + '@mui/utils': 5.11.13(react@18.2.0) + '@popperjs/core': 2.11.7 + '@types/react': 18.0.33 clsx: 1.2.1 prop-types: 15.8.1 react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) react-is: 18.2.0 dev: false - /@mui/base/5.0.0-alpha.121_zula6vjvt3wdocc4mwcxqa6nzi: - resolution: {integrity: sha512-8nJRY76UqlJV+q/Yzo0tgGfPWEOa+4N9rjO81fMmcJqP0I6m54hLDXsjvMg4tvelY5eKHXUK6Tb7en+GHfTqZA==} + /@mui/base@5.0.0-alpha.124(@types/react@18.0.33)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-I6M+FrjRCybQCr8I8JTu6L2MkUobSQFgNIpOJyDNKL5zq/73LvZIQXvsKumAzthVGvI1PYaarM9vGDrDYbumKA==} engines: {node: '>=12.0.0'} peerDependencies: '@types/react': ^17.0.0 || ^18.0.0 @@ -2253,23 +2311,23 @@ packages: dependencies: '@babel/runtime': 7.21.0 '@emotion/is-prop-valid': 1.2.0 - '@mui/types': 7.2.3_@types+react@18.0.28 - '@mui/utils': 5.11.13_react@18.2.0 - '@popperjs/core': 2.11.6 - '@types/react': 18.0.28 + '@mui/types': 7.2.3(@types/react@18.0.33) + '@mui/utils': 5.11.13(react@18.2.0) + '@popperjs/core': 2.11.7 + '@types/react': 18.0.33 clsx: 1.2.1 prop-types: 15.8.1 react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) react-is: 18.2.0 dev: false - /@mui/core-downloads-tracker/5.11.13: - resolution: {integrity: sha512-lx+GXBR9h/ApZsEP728tl0pyZyuajto+VnBgsoAzw1d5+CbmOo8ZWieKwVUGxZlPT1wMYNUYS5NtKzCli0xYjw==} + /@mui/core-downloads-tracker@5.11.16: + resolution: {integrity: sha512-GxRfZ/HquQ/1nUc9qQVGReP6oOMS8/3QjPJ+23a7TMrxl2wjlmXrMNn7tRa30vZcGcDgEG+J0aseefUN0AoawQ==} dev: false - /@mui/icons-material/5.11.11_4lyzeezzeeal3x6jtb4ni26w7u: - resolution: {integrity: sha512-Eell3ADmQVE8HOpt/LZ3zIma8JSvPh3XgnhwZLT0k5HRqZcd6F/QDHc7xsWtgz09t+UEFvOYJXjtrwKmLdwwpw==} + /@mui/icons-material@5.11.16(@mui/material@5.11.16)(@types/react@18.0.33)(react@18.2.0): + resolution: {integrity: sha512-oKkx9z9Kwg40NtcIajF9uOXhxiyTZrrm9nmIJ4UjkU2IdHpd4QVLbCc/5hZN/y0C6qzi2Zlxyr9TGddQx2vx2A==} engines: {node: '>=12.0.0'} peerDependencies: '@mui/material': ^5.0.0 @@ -2280,13 +2338,13 @@ packages: optional: true dependencies: '@babel/runtime': 7.21.0 - '@mui/material': 5.11.13_xqeqsl5kvjjtyxwyi3jhw3yuli - '@types/react': 18.0.28 + '@mui/material': 5.11.16(@emotion/react@11.10.6)(@emotion/styled@11.10.6)(@types/react@18.0.33)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.0.33 react: 18.2.0 dev: false - /@mui/lab/5.0.0-alpha.122_ugjihivlx7hzkcasxdumj5y3om: - resolution: {integrity: sha512-rJyu9llUWAluUQgDEmN0WrpcFxeTdJgu+XYriJtp/MchdvKl/qVTlx+vhnIhqas2bySj5N1VQnkI6qOvfXiYvQ==} + /@mui/lab@5.0.0-alpha.124(@emotion/react@11.10.6)(@emotion/styled@11.10.6)(@mui/material@5.11.16)(@types/react@18.0.33)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-K/XEv1zYyLi3tS63tyDta1mqWql+at5w7rWp5Yd63Jx1NjPUtgopAvyRZG2SVYPs/yBwfyDPW1iqQXpRw8h9Xw==} engines: {node: '>=12.0.0'} peerDependencies: '@emotion/react': ^11.5.0 @@ -2304,23 +2362,23 @@ packages: optional: true dependencies: '@babel/runtime': 7.21.0 - '@emotion/react': 11.10.6_pmekkgnqduwlme35zpnqhenc34 - '@emotion/styled': 11.10.6_oouaibmszuch5k64ms7uxp2aia - '@mui/base': 5.0.0-alpha.120_zula6vjvt3wdocc4mwcxqa6nzi - '@mui/material': 5.11.13_xqeqsl5kvjjtyxwyi3jhw3yuli - '@mui/system': 5.11.13_d2lgyfpecxdc2bsiwyag5wf7ti - '@mui/types': 7.2.3_@types+react@18.0.28 - '@mui/utils': 5.11.13_react@18.2.0 - '@types/react': 18.0.28 + '@emotion/react': 11.10.6(@types/react@18.0.33)(react@18.2.0) + '@emotion/styled': 11.10.6(@emotion/react@11.10.6)(@types/react@18.0.33)(react@18.2.0) + '@mui/base': 5.0.0-alpha.122(@types/react@18.0.33)(react-dom@18.2.0)(react@18.2.0) + '@mui/material': 5.11.16(@emotion/react@11.10.6)(@emotion/styled@11.10.6)(@types/react@18.0.33)(react-dom@18.2.0)(react@18.2.0) + '@mui/system': 5.11.16(@emotion/react@11.10.6)(@emotion/styled@11.10.6)(@types/react@18.0.33)(react@18.2.0) + '@mui/types': 7.2.3(@types/react@18.0.33) + '@mui/utils': 5.11.13(react@18.2.0) + '@types/react': 18.0.33 clsx: 1.2.1 prop-types: 15.8.1 react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) react-is: 18.2.0 dev: false - /@mui/material/5.11.13_xqeqsl5kvjjtyxwyi3jhw3yuli: - resolution: {integrity: sha512-2CnSj43F+159LbGmTLLQs5xbGYMiYlpTByQhP7c7cMX6opbScctBFE1PuyElpAmwW8Ag9ysfZH1d1MFAmJQkjg==} + /@mui/material@5.11.16(@emotion/react@11.10.6)(@emotion/styled@11.10.6)(@types/react@18.0.33)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-++glQqbZ3rMzOWB77yOvqRG+k8+scYTUKVWZpWff+GWsf6L10g9L2wgRhhAS8bDLuxCbXZlPNbSZowXDDw6z6Q==} engines: {node: '>=12.0.0'} peerDependencies: '@emotion/react': ^11.5.0 @@ -2337,25 +2395,25 @@ packages: optional: true dependencies: '@babel/runtime': 7.21.0 - '@emotion/react': 11.10.6_pmekkgnqduwlme35zpnqhenc34 - '@emotion/styled': 11.10.6_oouaibmszuch5k64ms7uxp2aia - '@mui/base': 5.0.0-alpha.121_zula6vjvt3wdocc4mwcxqa6nzi - '@mui/core-downloads-tracker': 5.11.13 - '@mui/system': 5.11.13_d2lgyfpecxdc2bsiwyag5wf7ti - '@mui/types': 7.2.3_@types+react@18.0.28 - '@mui/utils': 5.11.13_react@18.2.0 - '@types/react': 18.0.28 + '@emotion/react': 11.10.6(@types/react@18.0.33)(react@18.2.0) + '@emotion/styled': 11.10.6(@emotion/react@11.10.6)(@types/react@18.0.33)(react@18.2.0) + '@mui/base': 5.0.0-alpha.124(@types/react@18.0.33)(react-dom@18.2.0)(react@18.2.0) + '@mui/core-downloads-tracker': 5.11.16 + '@mui/system': 5.11.16(@emotion/react@11.10.6)(@emotion/styled@11.10.6)(@types/react@18.0.33)(react@18.2.0) + '@mui/types': 7.2.3(@types/react@18.0.33) + '@mui/utils': 5.11.13(react@18.2.0) + '@types/react': 18.0.33 '@types/react-transition-group': 4.4.5 clsx: 1.2.1 - csstype: 3.1.1 + csstype: 3.1.2 prop-types: 15.8.1 react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) react-is: 18.2.0 - react-transition-group: 4.4.5_biqbaboplfbrettd7655fr4n2y + react-transition-group: 4.4.5(react-dom@18.2.0)(react@18.2.0) dev: false - /@mui/private-theming/5.11.13_pmekkgnqduwlme35zpnqhenc34: + /@mui/private-theming@5.11.13(@types/react@18.0.33)(react@18.2.0): resolution: {integrity: sha512-PJnYNKzW5LIx3R+Zsp6WZVPs6w5sEKJ7mgLNnUXuYB1zo5aX71FVLtV7geyPXRcaN2tsoRNK7h444ED0t7cIjA==} engines: {node: '>=12.0.0'} peerDependencies: @@ -2366,14 +2424,14 @@ packages: optional: true dependencies: '@babel/runtime': 7.21.0 - '@mui/utils': 5.11.13_react@18.2.0 - '@types/react': 18.0.28 + '@mui/utils': 5.11.13(react@18.2.0) + '@types/react': 18.0.33 prop-types: 15.8.1 react: 18.2.0 dev: false - /@mui/styled-engine/5.11.11_xqp3pgpqjlfxxa3zxu4zoc4fba: - resolution: {integrity: sha512-wV0UgW4lN5FkDBXefN8eTYeuE9sjyQdg5h94vtwZCUamGQEzmCOtir4AakgmbWMy0x8OLjdEUESn9wnf5J9MOg==} + /@mui/styled-engine@5.11.16(@emotion/react@11.10.6)(@emotion/styled@11.10.6)(react@18.2.0): + resolution: {integrity: sha512-8dJRR/LqtGGaZN21p1vU9euwrKERlgtQIWyuzBKZ8/cuSlW5rIzlp46liP+Uh0+7d9NcHU0H4hBMoPt3ax64PA==} engines: {node: '>=12.0.0'} peerDependencies: '@emotion/react': ^11.4.1 @@ -2386,16 +2444,16 @@ packages: optional: true dependencies: '@babel/runtime': 7.21.0 - '@emotion/cache': 11.10.5 - '@emotion/react': 11.10.6_pmekkgnqduwlme35zpnqhenc34 - '@emotion/styled': 11.10.6_oouaibmszuch5k64ms7uxp2aia - csstype: 3.1.1 + '@emotion/cache': 11.10.7 + '@emotion/react': 11.10.6(@types/react@18.0.33)(react@18.2.0) + '@emotion/styled': 11.10.6(@emotion/react@11.10.6)(@types/react@18.0.33)(react@18.2.0) + csstype: 3.1.2 prop-types: 15.8.1 react: 18.2.0 dev: false - /@mui/system/5.11.13_d2lgyfpecxdc2bsiwyag5wf7ti: - resolution: {integrity: sha512-OWP0Alp6C8ufnGm9+CZcl3d+OoRXL2PnrRT5ohaMLxvGL9OfNcL2t4JOjMmA0k1UAGd6E/Ygbu5lEPrZSDlvCg==} + /@mui/system@5.11.16(@emotion/react@11.10.6)(@emotion/styled@11.10.6)(@types/react@18.0.33)(react@18.2.0): + resolution: {integrity: sha512-JY7CNm7ik2Gr4kQpz1+C9N/f4ET3QjVBo/iaHcmlSOgjdxnOzFbv+vCdb1DMzBGew+UbqckppZpZwbgbrBE2Rw==} engines: {node: '>=12.0.0'} peerDependencies: '@emotion/react': ^11.5.0 @@ -2411,20 +2469,20 @@ packages: optional: true dependencies: '@babel/runtime': 7.21.0 - '@emotion/react': 11.10.6_pmekkgnqduwlme35zpnqhenc34 - '@emotion/styled': 11.10.6_oouaibmszuch5k64ms7uxp2aia - '@mui/private-theming': 5.11.13_pmekkgnqduwlme35zpnqhenc34 - '@mui/styled-engine': 5.11.11_xqp3pgpqjlfxxa3zxu4zoc4fba - '@mui/types': 7.2.3_@types+react@18.0.28 - '@mui/utils': 5.11.13_react@18.2.0 - '@types/react': 18.0.28 + '@emotion/react': 11.10.6(@types/react@18.0.33)(react@18.2.0) + '@emotion/styled': 11.10.6(@emotion/react@11.10.6)(@types/react@18.0.33)(react@18.2.0) + '@mui/private-theming': 5.11.13(@types/react@18.0.33)(react@18.2.0) + '@mui/styled-engine': 5.11.16(@emotion/react@11.10.6)(@emotion/styled@11.10.6)(react@18.2.0) + '@mui/types': 7.2.3(@types/react@18.0.33) + '@mui/utils': 5.11.13(react@18.2.0) + '@types/react': 18.0.33 clsx: 1.2.1 - csstype: 3.1.1 + csstype: 3.1.2 prop-types: 15.8.1 react: 18.2.0 dev: false - /@mui/types/7.2.3_@types+react@18.0.28: + /@mui/types@7.2.3(@types/react@18.0.33): resolution: {integrity: sha512-tZ+CQggbe9Ol7e/Fs5RcKwg/woU+o8DCtOnccX6KmbBc7YrfqMYEYuaIcXHuhpT880QwNkZZ3wQwvtlDFA2yOw==} peerDependencies: '@types/react': '*' @@ -2432,10 +2490,10 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.0.28 + '@types/react': 18.0.33 dev: false - /@mui/utils/5.11.13_react@18.2.0: + /@mui/utils@5.11.13(react@18.2.0): resolution: {integrity: sha512-5ltA58MM9euOuUcnvwFJqpLdEugc9XFsRR8Gt4zZNb31XzMfSKJPR4eumulyhsOTK1rWf7K4D63NKFPfX0AxqA==} engines: {node: '>=12.0.0'} peerDependencies: @@ -2449,8 +2507,8 @@ packages: react-is: 18.2.0 dev: false - /@mui/x-date-pickers/6.0.2_h5r5nhzqabfcf22wwvloz33ugm: - resolution: {integrity: sha512-FfGLOqRnv1PTOyRpZjVMy2+0se2O0z8OjXG239GnMBna2Xj6G1UMHwfGqYT5oCbNor6uej+5f+p4h/9fcOFNuw==} + /@mui/x-date-pickers@6.0.4(@emotion/react@11.10.6)(@emotion/styled@11.10.6)(@mui/material@5.11.16)(@mui/system@5.11.16)(date-fns@2.29.3)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-blh91rqgnr8mdm+bn5vdde7fQII0gUDmeOMttKrMLv6P6OxkQXdz5aLSroXUpPTAAbX53zciFW/UG5Ynxqxtpw==} engines: {node: '>=14.0.0'} peerDependencies: '@emotion/react': ^11.9.0 @@ -2488,38 +2546,38 @@ packages: dependencies: '@babel/runtime': 7.21.0 '@date-io/core': 2.16.0 - '@date-io/date-fns': 2.16.0_date-fns@2.29.3 + '@date-io/date-fns': 2.16.0(date-fns@2.29.3) '@date-io/date-fns-jalali': 2.16.0 '@date-io/dayjs': 2.16.0 '@date-io/hijri': 2.16.1 '@date-io/jalaali': 2.16.1 '@date-io/luxon': 2.16.1 '@date-io/moment': 2.16.1 - '@emotion/react': 11.10.6_pmekkgnqduwlme35zpnqhenc34 - '@emotion/styled': 11.10.6_oouaibmszuch5k64ms7uxp2aia - '@mui/material': 5.11.13_xqeqsl5kvjjtyxwyi3jhw3yuli - '@mui/system': 5.11.13_d2lgyfpecxdc2bsiwyag5wf7ti - '@mui/utils': 5.11.13_react@18.2.0 + '@emotion/react': 11.10.6(@types/react@18.0.33)(react@18.2.0) + '@emotion/styled': 11.10.6(@emotion/react@11.10.6)(@types/react@18.0.33)(react@18.2.0) + '@mui/material': 5.11.16(@emotion/react@11.10.6)(@emotion/styled@11.10.6)(@types/react@18.0.33)(react-dom@18.2.0)(react@18.2.0) + '@mui/system': 5.11.16(@emotion/react@11.10.6)(@emotion/styled@11.10.6)(@types/react@18.0.33)(react@18.2.0) + '@mui/utils': 5.11.13(react@18.2.0) '@types/react-transition-group': 4.4.5 clsx: 1.2.1 date-fns: 2.29.3 prop-types: 15.8.1 react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 - react-transition-group: 4.4.5_biqbaboplfbrettd7655fr4n2y + react-dom: 18.2.0(react@18.2.0) + react-transition-group: 4.4.5(react-dom@18.2.0)(react@18.2.0) dev: false - /@next/env/13.2.3: + /@next/env@13.2.3: resolution: {integrity: sha512-FN50r/E+b8wuqyRjmGaqvqNDuWBWYWQiigfZ50KnSFH0f+AMQQyaZl+Zm2+CIpKk0fL9QxhLxOpTVA3xFHgFow==} dev: false - /@next/eslint-plugin-next/13.2.4: - resolution: {integrity: sha512-ck1lI+7r1mMJpqLNa3LJ5pxCfOB1lfJncKmRJeJxcJqcngaFwylreLP7da6Rrjr6u2gVRTfmnkSkjc80IiQCwQ==} + /@next/eslint-plugin-next@13.3.0: + resolution: {integrity: sha512-wuGN5qSEjSgcq9fVkH0Y/qIPFjnZtW3ZPwfjJOn7l/rrf6y8J24h/lo61kwqunTyzZJm/ETGfGVU9PUs8cnzEA==} dependencies: glob: 7.1.7 dev: true - /@next/swc-android-arm-eabi/13.2.3: + /@next/swc-android-arm-eabi@13.2.3: resolution: {integrity: sha512-mykdVaAXX/gm+eFO2kPeVjnOCKwanJ9mV2U0lsUGLrEdMUifPUjiXKc6qFAIs08PvmTMOLMNnUxqhGsJlWGKSw==} engines: {node: '>= 10'} cpu: [arm] @@ -2528,7 +2586,7 @@ packages: dev: false optional: true - /@next/swc-android-arm64/13.2.3: + /@next/swc-android-arm64@13.2.3: resolution: {integrity: sha512-8XwHPpA12gdIFtope+n9xCtJZM3U4gH4vVTpUwJ2w1kfxFmCpwQ4xmeGSkR67uOg80yRMuF0h9V1ueo05sws5w==} engines: {node: '>= 10'} cpu: [arm64] @@ -2537,7 +2595,7 @@ packages: dev: false optional: true - /@next/swc-darwin-arm64/13.2.3: + /@next/swc-darwin-arm64@13.2.3: resolution: {integrity: sha512-TXOubiFdLpMfMtaRu1K5d1I9ipKbW5iS2BNbu8zJhoqrhk3Kp7aRKTxqFfWrbliAHhWVE/3fQZUYZOWSXVQi1w==} engines: {node: '>= 10'} cpu: [arm64] @@ -2546,7 +2604,7 @@ packages: dev: false optional: true - /@next/swc-darwin-x64/13.2.3: + /@next/swc-darwin-x64@13.2.3: resolution: {integrity: sha512-GZctkN6bJbpjlFiS5pylgB2pifHvgkqLAPumJzxnxkf7kqNm6rOGuNjsROvOWVWXmKhrzQkREO/WPS2aWsr/yw==} engines: {node: '>= 10'} cpu: [x64] @@ -2555,7 +2613,7 @@ packages: dev: false optional: true - /@next/swc-freebsd-x64/13.2.3: + /@next/swc-freebsd-x64@13.2.3: resolution: {integrity: sha512-rK6GpmMt/mU6MPuav0/M7hJ/3t8HbKPCELw/Uqhi4732xoq2hJ2zbo2FkYs56y6w0KiXrIp4IOwNB9K8L/q62g==} engines: {node: '>= 10'} cpu: [x64] @@ -2564,7 +2622,7 @@ packages: dev: false optional: true - /@next/swc-linux-arm-gnueabihf/13.2.3: + /@next/swc-linux-arm-gnueabihf@13.2.3: resolution: {integrity: sha512-yeiCp/Odt1UJ4KUE89XkeaaboIDiVFqKP4esvoLKGJ0fcqJXMofj4ad3tuQxAMs3F+qqrz9MclqhAHkex1aPZA==} engines: {node: '>= 10'} cpu: [arm] @@ -2573,7 +2631,7 @@ packages: dev: false optional: true - /@next/swc-linux-arm64-gnu/13.2.3: + /@next/swc-linux-arm64-gnu@13.2.3: resolution: {integrity: sha512-/miIopDOUsuNlvjBjTipvoyjjaxgkOuvlz+cIbbPcm1eFvzX2ltSfgMgty15GuOiR8Hub4FeTSiq3g2dmCkzGA==} engines: {node: '>= 10'} cpu: [arm64] @@ -2582,7 +2640,7 @@ packages: dev: false optional: true - /@next/swc-linux-arm64-musl/13.2.3: + /@next/swc-linux-arm64-musl@13.2.3: resolution: {integrity: sha512-sujxFDhMMDjqhruup8LLGV/y+nCPi6nm5DlFoThMJFvaaKr/imhkXuk8uCTq4YJDbtRxnjydFv2y8laBSJVC2g==} engines: {node: '>= 10'} cpu: [arm64] @@ -2591,7 +2649,7 @@ packages: dev: false optional: true - /@next/swc-linux-x64-gnu/13.2.3: + /@next/swc-linux-x64-gnu@13.2.3: resolution: {integrity: sha512-w5MyxPknVvC9LVnMenAYMXMx4KxPwXuJRMQFvY71uXg68n7cvcas85U5zkdrbmuZ+JvsO5SIG8k36/6X3nUhmQ==} engines: {node: '>= 10'} cpu: [x64] @@ -2600,7 +2658,7 @@ packages: dev: false optional: true - /@next/swc-linux-x64-musl/13.2.3: + /@next/swc-linux-x64-musl@13.2.3: resolution: {integrity: sha512-CTeelh8OzSOVqpzMFMFnVRJIFAFQoTsI9RmVJWW/92S4xfECGcOzgsX37CZ8K982WHRzKU7exeh7vYdG/Eh4CA==} engines: {node: '>= 10'} cpu: [x64] @@ -2609,7 +2667,7 @@ packages: dev: false optional: true - /@next/swc-win32-arm64-msvc/13.2.3: + /@next/swc-win32-arm64-msvc@13.2.3: resolution: {integrity: sha512-7N1KBQP5mo4xf52cFCHgMjzbc9jizIlkTepe9tMa2WFvEIlKDfdt38QYcr9mbtny17yuaIw02FXOVEytGzqdOQ==} engines: {node: '>= 10'} cpu: [arm64] @@ -2618,7 +2676,7 @@ packages: dev: false optional: true - /@next/swc-win32-ia32-msvc/13.2.3: + /@next/swc-win32-ia32-msvc@13.2.3: resolution: {integrity: sha512-LzWD5pTSipUXTEMRjtxES/NBYktuZdo7xExJqGDMnZU8WOI+v9mQzsmQgZS/q02eIv78JOCSemqVVKZBGCgUvA==} engines: {node: '>= 10'} cpu: [ia32] @@ -2627,7 +2685,7 @@ packages: dev: false optional: true - /@next/swc-win32-x64-msvc/13.2.3: + /@next/swc-win32-x64-msvc@13.2.3: resolution: {integrity: sha512-aLG2MaFs4y7IwaMTosz2r4mVbqRyCnMoFqOcmfTi7/mAS+G4IMH0vJp4oLdbshqiVoiVuKrAfqtXj55/m7Qu1Q==} engines: {node: '>= 10'} cpu: [x64] @@ -2636,32 +2694,32 @@ packages: dev: false optional: true - /@nodelib/fs.scandir/2.1.5: + /@nodelib/fs.scandir@2.1.5: resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} dependencies: '@nodelib/fs.stat': 2.0.5 run-parallel: 1.2.0 - /@nodelib/fs.stat/2.0.5: + /@nodelib/fs.stat@2.0.5: resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} engines: {node: '>= 8'} - /@nodelib/fs.walk/1.2.8: + /@nodelib/fs.walk@1.2.8: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} dependencies: '@nodelib/fs.scandir': 2.1.5 fastq: 1.15.0 - /@npmcli/fs/1.1.1: + /@npmcli/fs@1.1.1: resolution: {integrity: sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==} dependencies: '@gar/promisify': 1.1.3 semver: 7.3.8 dev: true - /@npmcli/move-file/1.1.2: + /@npmcli/move-file@1.1.2: resolution: {integrity: sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==} engines: {node: '>=10'} deprecated: This functionality has been moved to @npmcli/fs @@ -2670,14 +2728,14 @@ packages: rimraf: 3.0.2 dev: true - /@npmcli/package-json/2.0.0: + /@npmcli/package-json@2.0.0: resolution: {integrity: sha512-42jnZ6yl16GzjWSH7vtrmWyJDGVa/LXPdpN2rcUWolFjc9ON2N3uz0qdBbQACfmhuJZ2lbKYtmK5qx68ZPLHMA==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dependencies: json-parse-even-better-errors: 2.3.1 dev: true - /@pkgr/utils/2.3.1: + /@pkgr/utils@2.3.1: resolution: {integrity: sha512-wfzX8kc1PMyUILA+1Z/EqoE4UCXGy0iRGMhPwdfae1+f0OXlLqCk+By+aMzgJBzR9AzS4CDizioG6Ss1gvAFJw==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} dependencies: @@ -2689,12 +2747,12 @@ packages: tslib: 2.5.0 dev: true - /@popperjs/core/2.11.6: - resolution: {integrity: sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==} + /@popperjs/core@2.11.7: + resolution: {integrity: sha512-Cr4OjIkipTtcXKjAsm8agyleBuDHvxzeBoa1v543lbv1YaIwQjESsVcmjiWiPEbC1FIeHOG/Op9kdCmAmiS3Kw==} dev: false - /@prisma/client/4.11.0_prisma@4.11.0: - resolution: {integrity: sha512-0INHYkQIqgAjrt7NzhYpeDQi8x3Nvylc2uDngKyFDDj1tTRQ4uV1HnVmd1sQEraeVAN63SOK0dgCKQHlvjL0KA==} + /@prisma/client@4.12.0(prisma@4.12.0): + resolution: {integrity: sha512-j9/ighfWwux97J2dS15nqhl60tYoH8V0IuSsgZDb6bCFcQD3fXbXmxjYC8GHhIgOk3lB7Pq+8CwElz2MiDpsSg==} engines: {node: '>=14.17'} requiresBuild: true peerDependencies: @@ -2703,37 +2761,37 @@ packages: prisma: optional: true dependencies: - '@prisma/engines-version': 4.11.0-57.8fde8fef4033376662cad983758335009d522acb - prisma: 4.11.0 + '@prisma/engines-version': 4.12.0-67.659ef412370fa3b41cd7bf6e94587c1dfb7f67e7 + prisma: 4.12.0 dev: false - /@prisma/engines-version/4.11.0-57.8fde8fef4033376662cad983758335009d522acb: - resolution: {integrity: sha512-3Vd8Qq06d5xD8Ch5WauWcUUrsVPdMC6Ge8ILji8RFfyhUpqon6qSyGM0apvr1O8n8qH8cKkEFqRPsYjuz5r83g==} + /@prisma/engines-version@4.12.0-67.659ef412370fa3b41cd7bf6e94587c1dfb7f67e7: + resolution: {integrity: sha512-JIHNj5jlXb9mcaJwakM0vpgRYJIAurxTUqM0iX0tfEQA5XLZ9ONkIckkhuAKdAzocZ+80GYg7QSsfpjg7OxbOA==} dev: false - /@prisma/engines/4.11.0: - resolution: {integrity: sha512-0AEBi2HXGV02cf6ASsBPhfsVIbVSDC9nbQed4iiY5eHttW9ZtMxHThuKZE1pnESbr8HRdgmFSa/Kn4OSNYuibg==} + /@prisma/engines@4.12.0: + resolution: {integrity: sha512-0alKtnxhNB5hYU+ymESBlGI4b9XrGGSdv7Ud+8TE/fBNOEhIud0XQsAR+TrvUZgS4na5czubiMsODw0TUrgkIA==} requiresBuild: true - /@remix-run/router/1.3.3: - resolution: {integrity: sha512-YRHie1yQEj0kqqCTCJEfHqYSSNlZQ696QJG+MMiW4mxSl9I0ojz/eRhJS4fs88Z5i6D1SmoF9d3K99/QOhI8/w==} + /@remix-run/router@1.5.0: + resolution: {integrity: sha512-bkUDCp8o1MvFO+qxkODcbhSqRa6P2GXgrGZVpt0dCXNW2HCSCqYI0ZoAqEOSAjRWmmlKcYgFvN4B4S+zo/f8kg==} engines: {node: '>=14'} dev: true - /@remix-run/server-runtime/1.14.0: - resolution: {integrity: sha512-qkqfT7DDwVzLICtJxMGthIU4T7DVtLy+oxKAzOi9eiCFlr3aWqV30YJ5Kq6r/kP8tighlnHbj1uEo41+WbD8uA==} + /@remix-run/server-runtime@1.15.0: + resolution: {integrity: sha512-DL9xjHfYYrEcOq5VbhYtrjJUWo/nFQAT7Y+Np/oC55HokyU6cb2jGhl52nx96aAxKwaFCse5N90GeodFsRzX7w==} engines: {node: '>=14'} dependencies: - '@remix-run/router': 1.3.3 + '@remix-run/router': 1.5.0 '@types/cookie': 0.4.1 - '@types/react': 18.0.28 + '@types/react': 18.0.33 '@web3-storage/multipart-parser': 1.0.0 cookie: 0.4.2 - set-cookie-parser: 2.5.1 + set-cookie-parser: 2.6.0 source-map: 0.7.4 dev: true - /@rollup/plugin-babel/5.3.1_hqhlikriuul7byjexqnpgcmenu: + /@rollup/plugin-babel@5.3.1(@babel/core@7.21.4)(rollup@2.79.1): resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==} engines: {node: '>= 10.0.0'} peerDependencies: @@ -2744,38 +2802,38 @@ packages: '@types/babel__core': optional: true dependencies: - '@babel/core': 7.21.3 - '@babel/helper-module-imports': 7.18.6 - '@rollup/pluginutils': 3.1.0_rollup@2.79.1 + '@babel/core': 7.21.4 + '@babel/helper-module-imports': 7.21.4 + '@rollup/pluginutils': 3.1.0(rollup@2.79.1) rollup: 2.79.1 dev: false - /@rollup/plugin-node-resolve/11.2.1_rollup@2.79.1: + /@rollup/plugin-node-resolve@11.2.1(rollup@2.79.1): resolution: {integrity: sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==} engines: {node: '>= 10.0.0'} peerDependencies: rollup: ^1.20.0||^2.0.0 dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.79.1 + '@rollup/pluginutils': 3.1.0(rollup@2.79.1) '@types/resolve': 1.17.1 builtin-modules: 3.3.0 - deepmerge: 4.3.0 + deepmerge: 4.3.1 is-module: 1.0.0 - resolve: 1.22.1 + resolve: 1.22.2 rollup: 2.79.1 dev: false - /@rollup/plugin-replace/2.4.2_rollup@2.79.1: + /@rollup/plugin-replace@2.4.2(rollup@2.79.1): resolution: {integrity: sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==} peerDependencies: rollup: ^1.20.0 || ^2.0.0 dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.79.1 + '@rollup/pluginutils': 3.1.0(rollup@2.79.1) magic-string: 0.25.9 rollup: 2.79.1 dev: false - /@rollup/pluginutils/3.1.0_rollup@2.79.1: + /@rollup/pluginutils@3.1.0(rollup@2.79.1): resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} engines: {node: '>= 8.0.0'} peerDependencies: @@ -2787,7 +2845,7 @@ packages: rollup: 2.79.1 dev: false - /@rollup/pluginutils/4.2.1: + /@rollup/pluginutils@4.2.1: resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} engines: {node: '>= 8.0.0'} dependencies: @@ -2795,20 +2853,20 @@ packages: picomatch: 2.3.1 dev: true - /@rushstack/eslint-patch/1.2.0: + /@rushstack/eslint-patch@1.2.0: resolution: {integrity: sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg==} dev: true - /@sinclair/typebox/0.25.24: + /@sinclair/typebox@0.25.24: resolution: {integrity: sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==} dev: true - /@sindresorhus/is/4.6.0: + /@sindresorhus/is@4.6.0: resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} engines: {node: '>=10'} dev: true - /@surma/rollup-plugin-off-main-thread/2.2.3: + /@surma/rollup-plugin-off-main-thread@2.2.3: resolution: {integrity: sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==} dependencies: ejs: 3.1.9 @@ -2817,25 +2875,25 @@ packages: string.prototype.matchall: 4.0.8 dev: false - /@swc/helpers/0.4.14: + /@swc/helpers@0.4.14: resolution: {integrity: sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==} dependencies: tslib: 2.5.0 dev: false - /@szmarczak/http-timer/4.0.6: + /@szmarczak/http-timer@4.0.6: resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} engines: {node: '>=10'} dependencies: defer-to-connect: 2.0.1 dev: true - /@tanstack/query-core/4.26.1: - resolution: {integrity: sha512-Zrx2pVQUP4ndnsu6+K/m8zerXSVY8QM+YSbxA1/jbBY21GeCd5oKfYl92oXPK0hPEUtoNuunIdiq0ZMqLos+Zg==} + /@tanstack/query-core@4.27.0: + resolution: {integrity: sha512-sm+QncWaPmM73IPwFlmWSKPqjdTXZeFf/7aEmWh00z7yl2FjqophPt0dE1EHW9P1giMC5rMviv7OUbSDmWzXXA==} dev: false - /@tanstack/react-query/4.26.1_biqbaboplfbrettd7655fr4n2y: - resolution: {integrity: sha512-i3dnz4TOARGIXrXQ5P7S25Zfi4noii/bxhcwPurh2nrf5EUCcAt/95TB2HSmMweUBx206yIMWUMEQ7ptd6zwDg==} + /@tanstack/react-query@4.28.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-8cGBV5300RHlvYdS4ea+G1JcZIt5CIuprXYFnsWggkmGoC0b5JaqG0fIX3qwDL9PTNkKvG76NGThIWbpXivMrQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -2846,67 +2904,67 @@ packages: react-native: optional: true dependencies: - '@tanstack/query-core': 4.26.1 + '@tanstack/query-core': 4.27.0 react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 - use-sync-external-store: 1.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) + use-sync-external-store: 1.2.0(react@18.2.0) dev: false - /@tootallnate/once/1.1.2: + /@tootallnate/once@1.1.2: resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} engines: {node: '>= 6'} dev: true - /@trpc/client/10.16.0_@trpc+server@10.16.0: - resolution: {integrity: sha512-Hxxi3mOcUyszosj6xpPDIIBV1TOhXKpZ191BW/60r1lXBAfNrDUWHOTol1Dfu+hpcx4bpj3WRyob5cf+6KeCDA==} + /@trpc/client@10.19.1(@trpc/server@10.19.1): + resolution: {integrity: sha512-H61dIgoAjiA7/SfuHlUAsqshhaxOSSRFyEfaoBwYvXzLyno+fvQRUXvxpsC4A8IsDuNX2pxiggAK8AwTNKqIzg==} peerDependencies: - '@trpc/server': 10.16.0 + '@trpc/server': 10.19.1 dependencies: - '@trpc/server': 10.16.0 + '@trpc/server': 10.19.1 dev: false - /@trpc/next/10.16.0_zslzdzxqpynrtvs4svdtzo4vxy: - resolution: {integrity: sha512-2AohDydvvLk2IjnQ1hTnT8cVmLItYf6cFRwJVYnyi35y2DVKXLiIWuKSTzc9xzR5enYFUQJZivXaWx/i0jjcfQ==} + /@trpc/next@10.19.1(@tanstack/react-query@4.28.0)(@trpc/client@10.19.1)(@trpc/react-query@10.19.1)(@trpc/server@10.19.1)(next@13.2.3)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-xe1Ygp4oGtn+zUJu+pCKhbfZ7aveyVAMyYrka81v0BwZTKAAGzp6YuO4t6JtW+3x+ZSJ7sHphJP2bwThJQo9kQ==} peerDependencies: '@tanstack/react-query': ^4.18.0 - '@trpc/client': 10.16.0 - '@trpc/react-query': 10.16.0 - '@trpc/server': 10.16.0 + '@trpc/client': 10.19.1 + '@trpc/react-query': 10.19.1 + '@trpc/server': 10.19.1 next: '*' react: '>=16.8.0' react-dom: '>=16.8.0' dependencies: - '@tanstack/react-query': 4.26.1_biqbaboplfbrettd7655fr4n2y - '@trpc/client': 10.16.0_@trpc+server@10.16.0 - '@trpc/react-query': 10.16.0_tnkr7fi5fbqnhgn52yurs4dymi - '@trpc/server': 10.16.0 - next: 13.2.3_hrdbe576m4w26u2yfpqpvbxyky + '@tanstack/react-query': 4.28.0(react-dom@18.2.0)(react@18.2.0) + '@trpc/client': 10.19.1(@trpc/server@10.19.1) + '@trpc/react-query': 10.19.1(@tanstack/react-query@4.28.0)(@trpc/client@10.19.1)(@trpc/server@10.19.1)(react-dom@18.2.0)(react@18.2.0) + '@trpc/server': 10.19.1 + next: 13.2.3(@babel/core@7.21.4)(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 - react-ssr-prepass: 1.5.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-ssr-prepass: 1.5.0(react@18.2.0) dev: false - /@trpc/react-query/10.16.0_tnkr7fi5fbqnhgn52yurs4dymi: - resolution: {integrity: sha512-LHLkyYgmmmaqMK33Hil7+DxCRG+8cRl2hF/rY8DQneh7e/u4cBA/wbun5vs8BAJxmYcHsQNPlq5aBy80CyU78g==} + /@trpc/react-query@10.19.1(@tanstack/react-query@4.28.0)(@trpc/client@10.19.1)(@trpc/server@10.19.1)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-bKtv/hz1ssoH/56i72skRcJ2Q4/gUJhrxvqDD0sJ6PczsPq4xbyO2GDs/cPaVqDpYf2EEAG9nHo48t8fW/XQ/w==} peerDependencies: '@tanstack/react-query': ^4.18.0 - '@trpc/client': 10.16.0 - '@trpc/server': 10.16.0 + '@trpc/client': 10.19.1 + '@trpc/server': 10.19.1 react: '>=16.8.0' react-dom: '>=16.8.0' dependencies: - '@tanstack/react-query': 4.26.1_biqbaboplfbrettd7655fr4n2y - '@trpc/client': 10.16.0_@trpc+server@10.16.0 - '@trpc/server': 10.16.0 + '@tanstack/react-query': 4.28.0(react-dom@18.2.0)(react@18.2.0) + '@trpc/client': 10.19.1(@trpc/server@10.19.1) + '@trpc/server': 10.19.1 react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) dev: false - /@trpc/server/10.16.0: - resolution: {integrity: sha512-lCUq7AB7vcgrNbaN+xP/AN62OjKDgrRyG7fTDPv5K633ut7KJ3m57qs60VRBOgp9vow6elAg51pKFFDtPHbTRA==} + /@trpc/server@10.19.1: + resolution: {integrity: sha512-LAa8BQhMYJL+GU28cigOPKlEogCEBeff1wIKflnUj34ou1ythwTboe7Mi6rjDW3Q9EasP7s9YmqRv9Fkp8fL4Q==} dev: false - /@ts-morph/common/0.11.1: + /@ts-morph/common@0.11.1: resolution: {integrity: sha512-7hWZS0NRpEsNV8vWJzg7FEz6V8MaLNeJOmwmghqUXTpzk16V1LLZhdo+4QvE/+zv4cVci0OviuJFnqhEfoV3+g==} dependencies: fast-glob: 3.2.12 @@ -2915,207 +2973,214 @@ packages: path-browserify: 1.0.1 dev: true - /@tsconfig/node10/1.0.9: + /@tsconfig/node10@1.0.9: resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} dev: true - /@tsconfig/node12/1.0.11: + /@tsconfig/node12@1.0.11: resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} dev: true - /@tsconfig/node14/1.0.3: + /@tsconfig/node14@1.0.3: resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} dev: true - /@tsconfig/node16/1.0.3: + /@tsconfig/node16@1.0.3: resolution: {integrity: sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==} dev: true - /@tsconfig/strictest/1.0.2: - resolution: {integrity: sha512-IRKlC8cnP7zMz1SDBjyIVyPapkEGWLZ6wkF6Z8T+xU80P9sO5uGXlIUvtzjx+7ehPJRWxkB6CeIDwUfyqNtYkQ==} - dev: true - - /@types/acorn/4.0.6: + /@types/acorn@4.0.6: resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==} dependencies: '@types/estree': 1.0.0 dev: true - /@types/cacheable-request/6.0.3: + /@types/cacheable-request@6.0.3: resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==} dependencies: '@types/http-cache-semantics': 4.0.1 '@types/keyv': 3.1.4 - '@types/node': 18.15.3 + '@types/node': 18.15.11 '@types/responselike': 1.0.0 dev: true - /@types/cookie/0.4.1: + /@types/cookie@0.3.3: + resolution: {integrity: sha512-LKVP3cgXBT9RYj+t+9FDKwS5tdI+rPBXaNSkma7hvqy35lc7mAokC2zsqWJH0LaqIt3B962nuYI77hsJoT1gow==} + dev: false + + /@types/cookie@0.4.1: resolution: {integrity: sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==} dev: true - /@types/debug/4.1.7: + /@types/debug@4.1.7: resolution: {integrity: sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==} dependencies: '@types/ms': 0.7.31 dev: true - /@types/eslint-scope/3.7.4: + /@types/eslint-scope@3.7.4: resolution: {integrity: sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==} dependencies: - '@types/eslint': 8.21.2 + '@types/eslint': 8.37.0 '@types/estree': 0.0.51 dev: false - /@types/eslint/8.21.2: - resolution: {integrity: sha512-EMpxUyystd3uZVByZap1DACsMXvb82ypQnGn89e1Y0a+LYu3JJscUd/gqhRsVFDkaD2MIiWo0MT8EfXr3DGRKw==} + /@types/eslint@8.37.0: + resolution: {integrity: sha512-Piet7dG2JBuDIfohBngQ3rCt7MgO9xCO4xIMKxBThCq5PNRB91IjlJ10eJVwfoNtvTErmxLzwBZ7rHZtbOMmFQ==} dependencies: '@types/estree': 0.0.51 '@types/json-schema': 7.0.11 dev: false - /@types/estree-jsx/0.0.1: + /@types/estree-jsx@0.0.1: resolution: {integrity: sha512-gcLAYiMfQklDCPjQegGn0TBAn9it05ISEsEhlKQUddIk7o2XDokOcTN7HBO8tznM0D9dGezvHEfRZBfZf6me0A==} dependencies: '@types/estree': 1.0.0 dev: true - /@types/estree-jsx/1.0.0: + /@types/estree-jsx@1.0.0: resolution: {integrity: sha512-3qvGd0z8F2ENTGr/GG1yViqfiKmRfrXVx5sJyHGFu3z7m5g5utCQtGp/g29JnjflhtQJBv1WDQukHiT58xPcYQ==} dependencies: '@types/estree': 1.0.0 dev: true - /@types/estree/0.0.39: + /@types/estree@0.0.39: resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} dev: false - /@types/estree/0.0.51: + /@types/estree@0.0.51: resolution: {integrity: sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==} dev: false - /@types/estree/1.0.0: + /@types/estree@1.0.0: resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==} dev: true - /@types/glob/7.2.0: + /@types/glob@7.2.0: resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} dependencies: '@types/minimatch': 5.1.2 - '@types/node': 18.15.3 + '@types/node': 18.15.11 - /@types/hast/2.3.4: + /@types/hast@2.3.4: resolution: {integrity: sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==} dependencies: '@types/unist': 2.0.6 dev: true - /@types/http-cache-semantics/4.0.1: + /@types/hoist-non-react-statics@3.3.1: + resolution: {integrity: sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==} + dependencies: + '@types/react': 18.0.33 + hoist-non-react-statics: 3.3.2 + dev: false + + /@types/http-cache-semantics@4.0.1: resolution: {integrity: sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==} dev: true - /@types/js-cookie/2.2.7: - resolution: {integrity: sha512-aLkWa0C0vO5b4Sr798E26QgOkss68Un0bLjs7u9qxzPT5CG+8DuNTffWES58YzJs3hrVAOs1wonycqEBqNJubA==} - dev: false - - /@types/json-schema/7.0.11: + /@types/json-schema@7.0.11: resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} - /@types/json5/0.0.29: + /@types/json5@0.0.29: resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} dev: true - /@types/keyv/3.1.4: + /@types/keyv@3.1.4: resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} dependencies: - '@types/node': 18.15.3 + '@types/node': 18.15.11 dev: true - /@types/mdast/3.0.10: - resolution: {integrity: sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==} + /@types/lodash@4.14.192: + resolution: {integrity: sha512-km+Vyn3BYm5ytMO13k9KTp27O75rbQ0NFw+U//g+PX7VZyjCioXaRFisqSIJRECljcTv73G3i6BpglNGHgUQ5A==} + dev: true + + /@types/mdast@3.0.11: + resolution: {integrity: sha512-Y/uImid8aAwrEA24/1tcRZwpxX3pIFTSilcNDKSPn+Y2iDywSEachzRuvgAYYLR3wpGXAsMbv5lvKLDZLeYPAw==} dependencies: '@types/unist': 2.0.6 dev: true - /@types/mdurl/1.0.2: + /@types/mdurl@1.0.2: resolution: {integrity: sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==} dev: true - /@types/minimatch/5.1.2: + /@types/minimatch@5.1.2: resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==} - /@types/ms/0.7.31: + /@types/ms@0.7.31: resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==} dev: true - /@types/node/14.18.33: + /@types/node@14.18.33: resolution: {integrity: sha512-qelS/Ra6sacc4loe/3MSjXNL1dNQ/GjxNHVzuChwMfmk7HuycRLVQN2qNY3XahK+fZc5E2szqQSKUyAF0E+2bg==} dev: true - /@types/node/18.15.3: - resolution: {integrity: sha512-p6ua9zBxz5otCmbpb5D3U4B5Nanw6Pk3PPyX05xnxbB/fRv71N7CPmORg7uAD5P70T0xmx1pzAx/FUfa5X+3cw==} + /@types/node@18.15.11: + resolution: {integrity: sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==} - /@types/parse-json/4.0.0: + /@types/parse-json@4.0.0: resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} dev: false - /@types/prop-types/15.7.5: + /@types/prop-types@15.7.5: resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} - /@types/react-dom/18.0.11: + /@types/react-dom@18.0.11: resolution: {integrity: sha512-O38bPbI2CWtgw/OoQoY+BRelw7uysmXbWvw3nLWO21H1HSh+GOlqPuXshJfjmpNlKiiSDG9cc1JZAaMmVdcTlw==} dependencies: - '@types/react': 18.0.28 + '@types/react': 18.0.33 dev: true - /@types/react-is/17.0.3: + /@types/react-is@17.0.3: resolution: {integrity: sha512-aBTIWg1emtu95bLTLx0cpkxwGW3ueZv71nE2YFBpL8k/z5czEW8yYpOo8Dp+UUAFAtKwNaOsh/ioSeQnWlZcfw==} dependencies: - '@types/react': 18.0.28 + '@types/react': 18.0.33 dev: false - /@types/react-transition-group/4.4.5: + /@types/react-transition-group@4.4.5: resolution: {integrity: sha512-juKD/eiSM3/xZYzjuzH6ZwpP+/lejltmiS3QEzV/vmb/Q8+HfDmxu+Baga8UEMGBqV88Nbg4l2hY/K2DkyaLLA==} dependencies: - '@types/react': 18.0.28 + '@types/react': 18.0.33 dev: false - /@types/react/18.0.28: - resolution: {integrity: sha512-RD0ivG1kEztNBdoAK7lekI9M+azSnitIn85h4iOiaLjaTrMjzslhaqCGaI4IyCJ1RljWiLCEu4jyrLLgqxBTew==} + /@types/react@18.0.33: + resolution: {integrity: sha512-sHxzVxeanvQyQ1lr8NSHaj0kDzcNiGpILEVt69g9S31/7PfMvNCKLKcsHw4lYKjs3cGNJjXSP4mYzX43QlnjNA==} dependencies: '@types/prop-types': 15.7.5 - '@types/scheduler': 0.16.2 - csstype: 3.1.1 + '@types/scheduler': 0.16.3 + csstype: 3.1.2 - /@types/resolve/1.17.1: + /@types/resolve@1.17.1: resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} dependencies: - '@types/node': 18.15.3 + '@types/node': 18.15.11 dev: false - /@types/responselike/1.0.0: + /@types/responselike@1.0.0: resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} dependencies: - '@types/node': 18.15.3 + '@types/node': 18.15.11 dev: true - /@types/scheduler/0.16.2: - resolution: {integrity: sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==} + /@types/scheduler@0.16.3: + resolution: {integrity: sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==} - /@types/semver/7.3.13: + /@types/semver@7.3.13: resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==} dev: true - /@types/trusted-types/2.0.3: + /@types/trusted-types@2.0.3: resolution: {integrity: sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g==} dev: false - /@types/unist/2.0.6: + /@types/unist@2.0.6: resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} dev: true - /@typescript-eslint/eslint-plugin/5.55.0_342y7v4tc7ytrrysmit6jo4wri: - resolution: {integrity: sha512-IZGc50rtbjk+xp5YQoJvmMPmJEYoC53SiKPXyqWfv15XoD2Y5Kju6zN0DwlmaGJp1Iw33JsWJcQ7nw0lGCGjVg==} + /@typescript-eslint/eslint-plugin@5.57.1(@typescript-eslint/parser@5.57.1)(eslint@8.38.0)(typescript@5.0.4): + resolution: {integrity: sha512-1MeobQkQ9tztuleT3v72XmY0XuKXVXusAhryoLuU5YZ+mXoYKZP9SQ7Flulh1NX4DTjpGTc2b/eMu4u7M7dhnQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: '@typescript-eslint/parser': ^5.0.0 @@ -3125,25 +3190,25 @@ packages: typescript: optional: true dependencies: - '@eslint-community/regexpp': 4.4.0 - '@typescript-eslint/parser': 5.55.0_vgl77cfdswitgr47lm5swmv43m - '@typescript-eslint/scope-manager': 5.55.0 - '@typescript-eslint/type-utils': 5.55.0_vgl77cfdswitgr47lm5swmv43m - '@typescript-eslint/utils': 5.55.0_vgl77cfdswitgr47lm5swmv43m + '@eslint-community/regexpp': 4.5.0 + '@typescript-eslint/parser': 5.57.1(eslint@8.38.0)(typescript@5.0.4) + '@typescript-eslint/scope-manager': 5.57.1 + '@typescript-eslint/type-utils': 5.57.1(eslint@8.38.0)(typescript@5.0.4) + '@typescript-eslint/utils': 5.57.1(eslint@8.38.0)(typescript@5.0.4) debug: 4.3.4 - eslint: 8.36.0 + eslint: 8.38.0 grapheme-splitter: 1.0.4 ignore: 5.2.4 natural-compare-lite: 1.4.0 semver: 7.3.8 - tsutils: 3.21.0_typescript@4.9.5 - typescript: 4.9.5 + tsutils: 3.21.0(typescript@5.0.4) + typescript: 5.0.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser/5.55.0_vgl77cfdswitgr47lm5swmv43m: - resolution: {integrity: sha512-ppvmeF7hvdhUUZWSd2EEWfzcFkjJzgNQzVST22nzg958CR+sphy8A6K7LXQZd6V75m1VKjp+J4g/PCEfSCmzhw==} + /@typescript-eslint/parser@5.57.1(eslint@8.38.0)(typescript@5.0.4): + resolution: {integrity: sha512-hlA0BLeVSA/wBPKdPGxoVr9Pp6GutGoY380FEhbVi0Ph4WNe8kLvqIRx76RSQt1lynZKfrXKs0/XeEk4zZycuA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -3152,26 +3217,26 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.55.0 - '@typescript-eslint/types': 5.55.0 - '@typescript-eslint/typescript-estree': 5.55.0_typescript@4.9.5 + '@typescript-eslint/scope-manager': 5.57.1 + '@typescript-eslint/types': 5.57.1 + '@typescript-eslint/typescript-estree': 5.57.1(typescript@5.0.4) debug: 4.3.4 - eslint: 8.36.0 - typescript: 4.9.5 + eslint: 8.38.0 + typescript: 5.0.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/scope-manager/5.55.0: - resolution: {integrity: sha512-OK+cIO1ZGhJYNCL//a3ROpsd83psf4dUJ4j7pdNVzd5DmIk+ffkuUIX2vcZQbEW/IR41DYsfJTB19tpCboxQuw==} + /@typescript-eslint/scope-manager@5.57.1: + resolution: {integrity: sha512-N/RrBwEUKMIYxSKl0oDK5sFVHd6VI7p9K5MyUlVYAY6dyNb/wHUqndkTd3XhpGlXgnQsBkRZuu4f9kAHghvgPw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.55.0 - '@typescript-eslint/visitor-keys': 5.55.0 + '@typescript-eslint/types': 5.57.1 + '@typescript-eslint/visitor-keys': 5.57.1 dev: true - /@typescript-eslint/type-utils/5.55.0_vgl77cfdswitgr47lm5swmv43m: - resolution: {integrity: sha512-ObqxBgHIXj8rBNm0yh8oORFrICcJuZPZTqtAFh0oZQyr5DnAHZWfyw54RwpEEH+fD8suZaI0YxvWu5tYE/WswA==} + /@typescript-eslint/type-utils@5.57.1(eslint@8.38.0)(typescript@5.0.4): + resolution: {integrity: sha512-/RIPQyx60Pt6ga86hKXesXkJ2WOS4UemFrmmq/7eOyiYjYv/MUSHPlkhU6k9T9W1ytnTJueqASW+wOmW4KrViw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '*' @@ -3180,23 +3245,23 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.55.0_typescript@4.9.5 - '@typescript-eslint/utils': 5.55.0_vgl77cfdswitgr47lm5swmv43m + '@typescript-eslint/typescript-estree': 5.57.1(typescript@5.0.4) + '@typescript-eslint/utils': 5.57.1(eslint@8.38.0)(typescript@5.0.4) debug: 4.3.4 - eslint: 8.36.0 - tsutils: 3.21.0_typescript@4.9.5 - typescript: 4.9.5 + eslint: 8.38.0 + tsutils: 3.21.0(typescript@5.0.4) + typescript: 5.0.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/types/5.55.0: - resolution: {integrity: sha512-M4iRh4AG1ChrOL6Y+mETEKGeDnT7Sparn6fhZ5LtVJF1909D5O4uqK+C5NPbLmpfZ0XIIxCdwzKiijpZUOvOug==} + /@typescript-eslint/types@5.57.1: + resolution: {integrity: sha512-bSs4LOgyV3bJ08F5RDqO2KXqg3WAdwHCu06zOqcQ6vqbTJizyBhuh1o1ImC69X4bV2g1OJxbH71PJqiO7Y1RuA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/typescript-estree/5.55.0_typescript@4.9.5: - resolution: {integrity: sha512-I7X4A9ovA8gdpWMpr7b1BN9eEbvlEtWhQvpxp/yogt48fy9Lj3iE3ild/1H3jKBBIYj5YYJmS2+9ystVhC7eaQ==} + /@typescript-eslint/typescript-estree@5.57.1(typescript@5.0.4): + resolution: {integrity: sha512-A2MZqD8gNT0qHKbk2wRspg7cHbCDCk2tcqt6ScCFLr5Ru8cn+TCfM786DjPhqwseiS+PrYwcXht5ztpEQ6TFTw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' @@ -3204,31 +3269,31 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.55.0 - '@typescript-eslint/visitor-keys': 5.55.0 + '@typescript-eslint/types': 5.57.1 + '@typescript-eslint/visitor-keys': 5.57.1 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 semver: 7.3.8 - tsutils: 3.21.0_typescript@4.9.5 - typescript: 4.9.5 + tsutils: 3.21.0(typescript@5.0.4) + typescript: 5.0.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils/5.55.0_vgl77cfdswitgr47lm5swmv43m: - resolution: {integrity: sha512-FkW+i2pQKcpDC3AY6DU54yl8Lfl14FVGYDgBTyGKB75cCwV3KpkpTMFi9d9j2WAJ4271LR2HeC5SEWF/CZmmfw==} + /@typescript-eslint/utils@5.57.1(eslint@8.38.0)(typescript@5.0.4): + resolution: {integrity: sha512-kN6vzzf9NkEtawECqze6v99LtmDiUJCVpvieTFA1uL7/jDghiJGubGZ5csicYHU1Xoqb3oH/R5cN5df6W41Nfg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.2.0_eslint@8.36.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.38.0) '@types/json-schema': 7.0.11 '@types/semver': 7.3.13 - '@typescript-eslint/scope-manager': 5.55.0 - '@typescript-eslint/types': 5.55.0 - '@typescript-eslint/typescript-estree': 5.55.0_typescript@4.9.5 - eslint: 8.36.0 + '@typescript-eslint/scope-manager': 5.57.1 + '@typescript-eslint/types': 5.57.1 + '@typescript-eslint/typescript-estree': 5.57.1(typescript@5.0.4) + eslint: 8.38.0 eslint-scope: 5.1.1 semver: 7.3.8 transitivePeerDependencies: @@ -3236,24 +3301,24 @@ packages: - typescript dev: true - /@typescript-eslint/visitor-keys/5.55.0: - resolution: {integrity: sha512-q2dlHHwWgirKh1D3acnuApXG+VNXpEY5/AwRxDVuEQpxWaB0jCDe0jFMVMALJ3ebSfuOVE8/rMS+9ZOYGg1GWw==} + /@typescript-eslint/visitor-keys@5.57.1: + resolution: {integrity: sha512-RjQrAniDU0CEk5r7iphkm731zKlFiUjvcBS2yHAg8WWqFMCaCrD0rKEVOMUyMMcbGPZ0bPp56srkGWrgfZqLRA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.55.0 - eslint-visitor-keys: 3.3.0 + '@typescript-eslint/types': 5.57.1 + eslint-visitor-keys: 3.4.0 dev: true - /@vanilla-extract/babel-plugin-debug-ids/1.0.2: + /@vanilla-extract/babel-plugin-debug-ids@1.0.2: resolution: {integrity: sha512-LjnbQWGeMwaydmovx8jWUR8BxLtLiPyq0xz5C8G5OvFhsuJxvavLdrBHNNizvr1dq7/3qZGlPv0znsvU4P44YA==} dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 transitivePeerDependencies: - supports-color dev: true - /@vanilla-extract/css/1.10.0: - resolution: {integrity: sha512-s/EFfLDKbU1c2jnELNl+l14AufvIyryDh09ZZxRRqKjRKitiKvEjoiUy964pGKmfHngc9O0mkbzqrbhWaH+96Q==} + /@vanilla-extract/css@1.11.0: + resolution: {integrity: sha512-uohj+8cGWbnrVzTfrjlJeXqdGjH3d3TcscdQxKe3h5bb5QQXTpPSq+c+SeWADIGiZybzcW0CBvZV8jsy1ywY9w==} dependencies: '@emotion/hash': 0.9.0 '@vanilla-extract/private': 1.0.3 @@ -3261,20 +3326,20 @@ packages: chalk: 4.1.2 css-what: 5.1.0 cssesc: 3.0.0 - csstype: 3.1.1 + csstype: 3.1.2 deep-object-diff: 1.1.9 - deepmerge: 4.3.0 + deepmerge: 4.3.1 media-query-parser: 2.0.2 outdent: 0.8.0 dev: true - /@vanilla-extract/integration/6.2.1_@types+node@18.15.3: + /@vanilla-extract/integration@6.2.1(@types/node@18.15.11): resolution: {integrity: sha512-+xYJz07G7TFAMZGrOqArOsURG+xcYvqctujEkANjw2McCBvGEK505RxQqOuNiA9Mi9hgGdNp2JedSa94f3eoLg==} dependencies: - '@babel/core': 7.21.3 - '@babel/plugin-syntax-typescript': 7.20.0_@babel+core@7.21.3 + '@babel/core': 7.21.4 + '@babel/plugin-syntax-typescript': 7.21.4(@babel/core@7.21.4) '@vanilla-extract/babel-plugin-debug-ids': 1.0.2 - '@vanilla-extract/css': 1.10.0 + '@vanilla-extract/css': 1.11.0 esbuild: 0.17.6 eval: 0.1.6 find-up: 5.0.0 @@ -3282,8 +3347,8 @@ packages: lodash: 4.17.21 mlly: 1.2.0 outdent: 0.8.0 - vite: 4.2.0_@types+node@18.15.3 - vite-node: 0.28.5_@types+node@18.15.3 + vite: 4.2.1(@types/node@18.15.11) + vite-node: 0.28.5(@types/node@18.15.11) transitivePeerDependencies: - '@types/node' - less @@ -3294,28 +3359,28 @@ packages: - terser dev: true - /@vanilla-extract/private/1.0.3: + /@vanilla-extract/private@1.0.3: resolution: {integrity: sha512-17kVyLq3ePTKOkveHxXuIJZtGYs+cSoev7BlP+Lf4916qfDhk/HBjvlYDe8egrea7LNPHKwSZJK/bzZC+Q6AwQ==} dev: true - /@vercel/build-utils/6.3.4: - resolution: {integrity: sha512-7qhJP/5yz/9aBmkJirRxcTrvrLdV6PUT9DpxsILnfdw7WAJ5KSa59kBj8Aw4VhW4CqK4pFcuMMHr73aYRcEmkg==} + /@vercel/build-utils@6.7.1: + resolution: {integrity: sha512-Ecc9oQBSVwk1suENcRcj1L6gQrUt4+0XA9oPFxrUpoFEk04lP/ZV3qAQPk+ex08N+vfUulYdqb+cmVTnwqsmqw==} dev: true - /@vercel/gatsby-plugin-vercel-analytics/1.0.8: - resolution: {integrity: sha512-EL5xH3KOtAwzLc50NA2Df5BQwIV9tu8QBIG0unSTUtOpIaqqnOMBZT86DxadsAniUs7xYRcaeXOkQog/PbpWDw==} + /@vercel/gatsby-plugin-vercel-analytics@1.0.9: + resolution: {integrity: sha512-JEzoLxjAVFZT1569dEZKKrhq9UvMjJZ13ACMAsGx33hf2QeH/okkVnIeAiy1yGQKFFRKyhFQ6N29JSdV7zD/Zg==} dependencies: '@babel/runtime': 7.12.1 web-vitals: 0.2.4 dev: true - /@vercel/gatsby-plugin-vercel-builder/1.2.1: - resolution: {integrity: sha512-L4Sydz8JJPZM9ZmIoxCMCc6TnQVEgbwPbmKNPESLPPUZkPpyaNcMYa8APkbyiEQMp8tuq5flEE21Aoq5tDkD3A==} + /@vercel/gatsby-plugin-vercel-builder@1.2.7: + resolution: {integrity: sha512-v/HDXZhJeO3Z8BaGHa9ecllyu4Y91AaH77w3+InOmRwDqX5HshcZnXwvoW7UC408eU2stkqZbSShvIyCOwG+4g==} dependencies: '@sinclair/typebox': 0.25.24 - '@vercel/build-utils': 6.3.4 - '@vercel/node': 2.9.12 - '@vercel/routing-utils': 2.1.10 + '@vercel/build-utils': 6.7.1 + '@vercel/node': 2.10.3 + '@vercel/routing-utils': 2.2.0 esbuild: 0.14.47 etag: 1.8.1 fs-extra: 11.1.0 @@ -3325,19 +3390,19 @@ packages: - encoding dev: true - /@vercel/go/2.3.11: - resolution: {integrity: sha512-IuFnrQzTuTBp08/+2UHWIZ4KYB0TJvTjVEvGE275nsDXqlssZRDNHXfjGTEouScCN7HuYQMkEFRn+xlMb+0qHg==} + /@vercel/go@2.4.4: + resolution: {integrity: sha512-JXez+dQ6nXv68SnBor6FJqYy3X71FKnFc+OL4nxrsEsTzhCbqjLS/9hm4ztB0KQslWJvDp+2aRr++zLtyiCeQQ==} dev: true - /@vercel/hydrogen/0.0.57: - resolution: {integrity: sha512-VOI7AYJlrrxoPaxbYpAJz/t0516a7/sMtukAT834T7Ne/MOgj5fU6n/IOTBqz3si8tZ7NybWIlM+T5iJSozoZw==} + /@vercel/hydrogen@0.0.62: + resolution: {integrity: sha512-A1Ttgc4pBrLEK5CpeLuf4TQp0IsXjISDMZVnRrpWhu10hKUV/KfJ8r8df1w+dEq5Qd9LmJAwvVXlpX5vcJLDRQ==} dev: true - /@vercel/next/3.6.6: - resolution: {integrity: sha512-vnlMCHwyXkUGB3Bc5nUwf27fe1Q8t+1VosSAY+97tCJURlIodvSKDBMmR/x+Fb/uoWip66MmO63DH9szLUw0cQ==} + /@vercel/next@3.7.4: + resolution: {integrity: sha512-ADM6ZvAOldy0QZCmKP4pMad145bcO3bZK+pAS7SQ/68jFun50Boz7Ophb5J/CYvRyCybIraJ1TxDEf+dyo9GeA==} dev: true - /@vercel/nft/0.22.5: + /@vercel/nft@0.22.5: resolution: {integrity: sha512-mug57Wd1BL7GMj9gXMgMeKUjdqO0e4u+0QLPYMFE1rwdJ+55oPy6lp3nIBCS8gOvigT62UI4QKUL2sGqcoW4Hw==} engines: {node: '>=14'} hasBin: true @@ -3349,7 +3414,7 @@ packages: bindings: 1.5.0 estree-walker: 2.0.2 glob: 7.2.3 - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 micromatch: 4.0.5 node-gyp-build: 4.6.0 resolve-from: 5.0.0 @@ -3358,23 +3423,23 @@ packages: - supports-color dev: true - /@vercel/node-bridge/3.1.14: - resolution: {integrity: sha512-TAbo0rwBenmWywcEup+5lZgr6ILPPq55P33JRX+oJJuTxYib0NqVj47gEvLTxaj3MoJFgp0iDlC9A0uAf4ykxQ==} + /@vercel/node-bridge@4.0.1: + resolution: {integrity: sha512-XEfKfnLGzlIBpad7eGNPql1HnMhoSTv9q3uDNC4axdaAC/kI5yvl8kXjuCPAXYvpbJnVQPpcSUC5/r5ap8F3jA==} dev: true - /@vercel/node/2.9.12: - resolution: {integrity: sha512-NGbOK9bl7Lhnr1OfB+iz2yIOuMhOQKZz66jn11153mDqqlQ93i7cNcQeMU61A1waJj1KubqViMGWKgxO7QTCUw==} + /@vercel/node@2.10.3: + resolution: {integrity: sha512-R6YwD7YTV4OPEjXnthTP2Zn96ZF2TAjmBhGKfYC9ZuqlmFzSxqyuHn+RUSkknkKBO46b4OzaNdi5XVnAdJizLA==} dependencies: '@edge-runtime/vm': 2.0.0 '@types/node': 14.18.33 - '@vercel/build-utils': 6.3.4 - '@vercel/node-bridge': 3.1.14 - '@vercel/static-config': 2.0.13 + '@vercel/build-utils': 6.7.1 + '@vercel/node-bridge': 4.0.1 + '@vercel/static-config': 2.0.15 edge-runtime: 2.0.0 esbuild: 0.14.47 exit-hook: 2.2.1 node-fetch: 2.6.7 - ts-node: 10.9.1_jh3j7gf3qptnaxtpzk3sx5vjku + ts-node: 10.9.1(@types/node@14.18.33)(typescript@4.3.4) typescript: 4.3.4 transitivePeerDependencies: - '@swc/core' @@ -3382,44 +3447,70 @@ packages: - encoding dev: true - /@vercel/python/3.1.53: - resolution: {integrity: sha512-jr6D7AZ70cFfTV7+dmqFL9d1ssbx/3/o1AwOm1iq/XlAGLNhoMYVaT/m/oC7st82OyBUk7X0Ek5NLaUZsjlQbg==} + /@vercel/python@3.1.58: + resolution: {integrity: sha512-RZJkNLyxZMuNcBwJMU589noyuNAq2pNxwAqrMs7bdBucWkNRTURiEh3/rWjUSADOq3eUx4vhfQDzwvaeZyRxoA==} dev: true - /@vercel/redwood/1.1.9: - resolution: {integrity: sha512-blFWThhosa+LhqReoXI+xnXoD9Gj2PK/jIfvSo9vP2Kzbzr/hLfcaDqv1ZQted/PuZilaa3gX9j7e/kPFsXulw==} + /@vercel/redwood@1.1.14: + resolution: {integrity: sha512-QFIhLegvfVp2OLdv96krTyz6C5/cUncUg4CEEfx3U48+l31hWaWcnjI6+MhgN4PZC4YN+s21vKZNz/UWnGnTiA==} dependencies: '@vercel/nft': 0.22.5 - '@vercel/routing-utils': 2.1.10 + '@vercel/routing-utils': 2.2.0 semver: 6.1.1 transitivePeerDependencies: - encoding - supports-color dev: true - /@vercel/remix-run-dev/1.14.0_@types+node@18.15.3: - resolution: {integrity: sha512-567BSCe3YNTKVKFYWSjC7sj8y0AbiAolCz1roW2JpdZXY7GoxoP+I8mtQV7RGrgpvUzhVL0go1B2EIxFJzZhDQ==} + /@vercel/remix-builder@1.8.4(@types/node@18.15.11): + resolution: {integrity: sha512-bexJo+z0kCZf2nhlne5TBcxWHQ4/xGT2JgmOJ5SaJOhhuZXt0BUZ3B38+2MPScUnItNWPSmn86xzp/VMWNuzuw==} + dependencies: + '@remix-run/dev': /@vercel/remix-run-dev@1.15.0(@types/node@18.15.11) + '@vercel/build-utils': 6.7.1 + '@vercel/nft': 0.22.5 + '@vercel/static-config': 2.0.15 + path-to-regexp: 6.2.1 + semver: 7.3.8 + ts-morph: 12.0.0 + transitivePeerDependencies: + - '@remix-run/serve' + - '@types/node' + - bluebird + - bufferutil + - encoding + - less + - sass + - stylus + - sugarss + - supports-color + - terser + - ts-node + - utf-8-validate + dev: true + + /@vercel/remix-run-dev@1.15.0(@types/node@18.15.11): + resolution: {integrity: sha512-pQTM5WmOzrvhpPSHFDShwqX71YnLaTUxffhnly4MxVNKJ2WKV9zqx8bGQ/7cLfpEu9JfY2c+pVjYYb3wAMBt+Q==} engines: {node: '>=14'} hasBin: true peerDependencies: - '@remix-run/serve': ^1.14.0 + '@remix-run/serve': ^1.15.0 peerDependenciesMeta: '@remix-run/serve': optional: true dependencies: - '@babel/core': 7.21.3 - '@babel/generator': 7.21.3 - '@babel/parser': 7.21.3 - '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.21.3 - '@babel/plugin-syntax-typescript': 7.20.0_@babel+core@7.21.3 - '@babel/preset-env': 7.20.2_@babel+core@7.21.3 - '@babel/preset-typescript': 7.21.0_@babel+core@7.21.3 - '@babel/traverse': 7.21.3 - '@babel/types': 7.21.3 - '@esbuild-plugins/node-modules-polyfill': 0.1.4_esbuild@0.16.3 + '@babel/core': 7.21.4 + '@babel/generator': 7.21.4 + '@babel/parser': 7.21.4 + '@babel/plugin-syntax-jsx': 7.21.4(@babel/core@7.21.4) + '@babel/plugin-syntax-typescript': 7.21.4(@babel/core@7.21.4) + '@babel/preset-env': 7.21.4(@babel/core@7.21.4) + '@babel/preset-typescript': 7.21.4(@babel/core@7.21.4) + '@babel/traverse': 7.21.4 + '@babel/types': 7.21.4 + '@esbuild-plugins/node-modules-polyfill': 0.1.4(esbuild@0.16.3) '@npmcli/package-json': 2.0.0 - '@remix-run/server-runtime': 1.14.0 - '@vanilla-extract/integration': 6.2.1_@types+node@18.15.3 + '@remix-run/server-runtime': 1.15.0 + '@vanilla-extract/integration': 6.2.1(@types/node@18.15.11) arg: 5.0.2 cacache: 15.3.0 chalk: 4.1.2 @@ -3432,6 +3523,7 @@ packages: fast-glob: 3.2.11 fs-extra: 10.1.0 get-port: 5.1.1 + glob-to-regexp: 0.4.1 gunzip-maybe: 1.4.2 inquirer: 8.2.5 jsesc: 3.0.2 @@ -3443,9 +3535,9 @@ packages: node-fetch: 2.6.9 ora: 5.4.1 postcss: 8.4.21 - postcss-discard-duplicates: 5.1.0_postcss@8.4.21 - postcss-load-config: 4.0.1_postcss@8.4.21 - postcss-modules: 6.0.0_postcss@8.4.21 + postcss-discard-duplicates: 5.1.0(postcss@8.4.21) + postcss-load-config: 4.0.1(postcss@8.4.21) + postcss-modules: 6.0.0(postcss@8.4.21) prettier: 2.7.1 pretty-ms: 7.0.1 proxy-agent: 5.0.0 @@ -3456,7 +3548,7 @@ packages: semver: 7.3.8 sort-package-json: 1.57.0 tar-fs: 2.1.1 - tsconfig-paths: 4.1.2 + tsconfig-paths: 4.2.0 ws: 7.5.9 xdm: 2.1.0 transitivePeerDependencies: @@ -3474,85 +3566,61 @@ packages: - utf-8-validate dev: true - /@vercel/remix/1.6.2_@types+node@18.15.3: - resolution: {integrity: sha512-y0b32OJbQpvcEZPIB+BNyoCIpXH+hN/T/WN6PEPYOFzMQzb9Zjh2SEMBO+mh3azbq64RWWedxljIrSyR59jfAQ==} - dependencies: - '@remix-run/dev': /@vercel/remix-run-dev/1.14.0_@types+node@18.15.3 - '@vercel/nft': 0.22.5 - '@vercel/static-config': 2.0.13 - path-to-regexp: 6.2.1 - ts-morph: 12.0.0 - transitivePeerDependencies: - - '@remix-run/serve' - - '@types/node' - - bluebird - - bufferutil - - encoding - - less - - sass - - stylus - - sugarss - - supports-color - - terser - - ts-node - - utf-8-validate - dev: true - - /@vercel/routing-utils/2.1.10: - resolution: {integrity: sha512-eOde+TQBcGOpEMd5EVTE36rK5NQOewEepEUCX1jrSgwbf/vzYP5B82zwcGdtddxEwzWqJV4QjltS6H0GZOgf6A==} + /@vercel/routing-utils@2.2.0: + resolution: {integrity: sha512-Ro90s1mStpbgu2HV8I4LFEKNG8GVxkWm238ebD/23BCO9/DxIJ3+wCzga8j8BMmG57x4etVlaHNV25bbzW5r2g==} dependencies: path-to-regexp: 6.1.0 optionalDependencies: ajv: 6.12.6 dev: true - /@vercel/ruby/1.3.70: - resolution: {integrity: sha512-tVCl78XWuZEzi8oyumzB7pAuxLPK54zTko6yJVqXtytOyuLorTB+LLEV9wDzh+Yird8bVsA/hDf6qoYJaFYagA==} + /@vercel/ruby@1.3.75: + resolution: {integrity: sha512-sUmzJnd9O1N7StFEpKG9JvHJvHmJjgfrmhgQsQLEQ7OOQJkO9DYoLomlrIDW9qNdu7dNOeyj7gQY5B8y8RMntw==} dev: true - /@vercel/static-build/1.3.16: - resolution: {integrity: sha512-Nz1qXjcgaWZfZd3CU/1WITLIu9kcGu7tiBs1+t2Fh1013rwQdb/YothpjXKauUhMbUm3blgH0Jej86N2ctrpTw==} + /@vercel/static-build@1.3.22: + resolution: {integrity: sha512-ILMhikPs8mcHtUeJoNOGtRHfg0XlQH3yWQkD9AQe8YE9XoiJWfDkHFSy6kdpiWjHQH4C5N2sEgRSpIGnSuGAZg==} dependencies: - '@vercel/gatsby-plugin-vercel-analytics': 1.0.8 - '@vercel/gatsby-plugin-vercel-builder': 1.2.1 + '@vercel/gatsby-plugin-vercel-analytics': 1.0.9 + '@vercel/gatsby-plugin-vercel-builder': 1.2.7 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' - encoding dev: true - /@vercel/static-config/2.0.13: - resolution: {integrity: sha512-09bVISGyhRMoL6gQTfM7n89SeUmyOlIzVMo2oNOj3thy4AIKGuN0SzEp0qNRw8d9j07rifp9JPD4rOuDRx4+eA==} + /@vercel/static-config@2.0.15: + resolution: {integrity: sha512-A/N3ZGiOOMql9JArwBTIfhFngFtmVC7ndKQKp0FoFq8MO79AS5qBBtdpILS5QA71M5v+9CPjVkHxN6QweU55Xg==} dependencies: ajv: 8.6.3 json-schema-to-ts: 1.6.4 ts-morph: 12.0.0 dev: true - /@web3-storage/multipart-parser/1.0.0: + /@web3-storage/multipart-parser@1.0.0: resolution: {integrity: sha512-BEO6al7BYqcnfX15W2cnGR+Q566ACXAT9UQykORCWW80lmkpWsnEob6zJS1ZVBKsSJC8+7vJkHwlp+lXG1UCdw==} dev: true - /@webassemblyjs/ast/1.11.1: + /@webassemblyjs/ast@1.11.1: resolution: {integrity: sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==} dependencies: '@webassemblyjs/helper-numbers': 1.11.1 '@webassemblyjs/helper-wasm-bytecode': 1.11.1 dev: false - /@webassemblyjs/floating-point-hex-parser/1.11.1: + /@webassemblyjs/floating-point-hex-parser@1.11.1: resolution: {integrity: sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==} dev: false - /@webassemblyjs/helper-api-error/1.11.1: + /@webassemblyjs/helper-api-error@1.11.1: resolution: {integrity: sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==} dev: false - /@webassemblyjs/helper-buffer/1.11.1: + /@webassemblyjs/helper-buffer@1.11.1: resolution: {integrity: sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==} dev: false - /@webassemblyjs/helper-numbers/1.11.1: + /@webassemblyjs/helper-numbers@1.11.1: resolution: {integrity: sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==} dependencies: '@webassemblyjs/floating-point-hex-parser': 1.11.1 @@ -3560,11 +3628,11 @@ packages: '@xtuc/long': 4.2.2 dev: false - /@webassemblyjs/helper-wasm-bytecode/1.11.1: + /@webassemblyjs/helper-wasm-bytecode@1.11.1: resolution: {integrity: sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==} dev: false - /@webassemblyjs/helper-wasm-section/1.11.1: + /@webassemblyjs/helper-wasm-section@1.11.1: resolution: {integrity: sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==} dependencies: '@webassemblyjs/ast': 1.11.1 @@ -3573,23 +3641,23 @@ packages: '@webassemblyjs/wasm-gen': 1.11.1 dev: false - /@webassemblyjs/ieee754/1.11.1: + /@webassemblyjs/ieee754@1.11.1: resolution: {integrity: sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==} dependencies: '@xtuc/ieee754': 1.2.0 dev: false - /@webassemblyjs/leb128/1.11.1: + /@webassemblyjs/leb128@1.11.1: resolution: {integrity: sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==} dependencies: '@xtuc/long': 4.2.2 dev: false - /@webassemblyjs/utf8/1.11.1: + /@webassemblyjs/utf8@1.11.1: resolution: {integrity: sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==} dev: false - /@webassemblyjs/wasm-edit/1.11.1: + /@webassemblyjs/wasm-edit@1.11.1: resolution: {integrity: sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==} dependencies: '@webassemblyjs/ast': 1.11.1 @@ -3602,7 +3670,7 @@ packages: '@webassemblyjs/wast-printer': 1.11.1 dev: false - /@webassemblyjs/wasm-gen/1.11.1: + /@webassemblyjs/wasm-gen@1.11.1: resolution: {integrity: sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==} dependencies: '@webassemblyjs/ast': 1.11.1 @@ -3612,7 +3680,7 @@ packages: '@webassemblyjs/utf8': 1.11.1 dev: false - /@webassemblyjs/wasm-opt/1.11.1: + /@webassemblyjs/wasm-opt@1.11.1: resolution: {integrity: sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==} dependencies: '@webassemblyjs/ast': 1.11.1 @@ -3621,7 +3689,7 @@ packages: '@webassemblyjs/wasm-parser': 1.11.1 dev: false - /@webassemblyjs/wasm-parser/1.11.1: + /@webassemblyjs/wasm-parser@1.11.1: resolution: {integrity: sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==} dependencies: '@webassemblyjs/ast': 1.11.1 @@ -3632,30 +3700,26 @@ packages: '@webassemblyjs/utf8': 1.11.1 dev: false - /@webassemblyjs/wast-printer/1.11.1: + /@webassemblyjs/wast-printer@1.11.1: resolution: {integrity: sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==} dependencies: '@webassemblyjs/ast': 1.11.1 '@xtuc/long': 4.2.2 dev: false - /@xobotyi/scrollbar-width/1.9.5: - resolution: {integrity: sha512-N8tkAACJx2ww8vFMneJmaAgmjAG1tnVBZJRLRcx061tmsLRZHSEZSLuGWnwPtunsSLvSqXQ2wfp7Mgqg1I+2dQ==} - dev: false - - /@xtuc/ieee754/1.2.0: + /@xtuc/ieee754@1.2.0: resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} dev: false - /@xtuc/long/4.2.2: + /@xtuc/long@4.2.2: resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} dev: false - /abbrev/1.1.1: + /abbrev@1.1.1: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} dev: true - /accepts/1.3.8: + /accepts@1.3.8: resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} engines: {node: '>= 0.6'} dependencies: @@ -3663,7 +3727,7 @@ packages: negotiator: 0.6.3 dev: true - /acorn-import-assertions/1.8.0_acorn@8.8.2: + /acorn-import-assertions@1.8.0(acorn@8.8.2): resolution: {integrity: sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==} peerDependencies: acorn: ^8 @@ -3671,7 +3735,7 @@ packages: acorn: 8.8.2 dev: false - /acorn-jsx/5.3.2_acorn@8.8.2: + /acorn-jsx@5.3.2(acorn@8.8.2): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -3679,17 +3743,17 @@ packages: acorn: 8.8.2 dev: true - /acorn-walk/8.2.0: + /acorn-walk@8.2.0: resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} engines: {node: '>=0.4.0'} dev: true - /acorn/8.8.2: + /acorn@8.8.2: resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} engines: {node: '>=0.4.0'} hasBin: true - /agent-base/6.0.2: + /agent-base@6.0.2: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} dependencies: @@ -3698,7 +3762,7 @@ packages: - supports-color dev: true - /aggregate-error/3.1.0: + /aggregate-error@3.1.0: resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} engines: {node: '>=8'} dependencies: @@ -3706,11 +3770,11 @@ packages: indent-string: 4.0.0 dev: true - /ahocorasick/1.0.2: + /ahocorasick@1.0.2: resolution: {integrity: sha512-hCOfMzbFx5IDutmWLAt6MZwOUjIfSM9G9FyVxytmE4Rs/5YDPWQrD/+IR1w+FweD9H2oOZEnv36TmkjhNURBVA==} dev: true - /ajv-keywords/3.5.2_ajv@6.12.6: + /ajv-keywords@3.5.2(ajv@6.12.6): resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} peerDependencies: ajv: ^6.9.1 @@ -3718,7 +3782,7 @@ packages: ajv: 6.12.6 dev: false - /ajv/6.12.6: + /ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} dependencies: fast-deep-equal: 3.1.3 @@ -3726,7 +3790,7 @@ packages: json-schema-traverse: 0.4.1 uri-js: 4.4.1 - /ajv/8.12.0: + /ajv@8.12.0: resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} dependencies: fast-deep-equal: 3.1.3 @@ -3735,7 +3799,7 @@ packages: uri-js: 4.4.1 dev: false - /ajv/8.6.3: + /ajv@8.6.3: resolution: {integrity: sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw==} dependencies: fast-deep-equal: 3.1.3 @@ -3744,41 +3808,41 @@ packages: uri-js: 4.4.1 dev: true - /ansi-escapes/4.3.2: + /ansi-escapes@4.3.2: resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} engines: {node: '>=8'} dependencies: type-fest: 0.21.3 dev: true - /ansi-regex/5.0.1: + /ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} dev: true - /ansi-regex/6.0.1: + /ansi-regex@6.0.1: resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} engines: {node: '>=12'} dev: true - /ansi-styles/3.2.1: + /ansi-styles@3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} engines: {node: '>=4'} dependencies: color-convert: 1.9.3 - /ansi-styles/4.3.0: + /ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} dependencies: color-convert: 2.0.1 - /ansi-styles/6.2.1: + /ansi-styles@6.2.1: resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} engines: {node: '>=12'} dev: true - /anymatch/3.1.3: + /anymatch@3.1.3: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} dependencies: @@ -3786,11 +3850,11 @@ packages: picomatch: 2.3.1 dev: true - /aproba/2.0.0: + /aproba@2.0.0: resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} dev: true - /are-we-there-yet/2.0.0: + /are-we-there-yet@2.0.0: resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==} engines: {node: '>=10'} dependencies: @@ -3798,35 +3862,35 @@ packages: readable-stream: 3.6.2 dev: true - /arg/4.1.3: + /arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} dev: true - /arg/5.0.2: + /arg@5.0.2: resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} dev: true - /argparse/2.0.1: + /argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} dev: true - /aria-query/5.1.3: + /aria-query@5.1.3: resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} dependencies: deep-equal: 2.2.0 dev: true - /array-buffer-byte-length/1.0.0: + /array-buffer-byte-length@1.0.0: resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} dependencies: call-bind: 1.0.2 is-array-buffer: 3.0.2 - /array-flatten/1.1.1: + /array-flatten@1.1.1: resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} dev: true - /array-includes/3.1.6: + /array-includes@3.1.6: resolution: {integrity: sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==} engines: {node: '>= 0.4'} dependencies: @@ -3837,23 +3901,23 @@ packages: is-string: 1.0.7 dev: true - /array-union/1.0.2: + /array-union@1.0.2: resolution: {integrity: sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==} engines: {node: '>=0.10.0'} dependencies: array-uniq: 1.0.3 dev: false - /array-union/2.1.0: + /array-union@2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} - /array-uniq/1.0.3: + /array-uniq@1.0.3: resolution: {integrity: sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==} engines: {node: '>=0.10.0'} dev: false - /array.prototype.flat/1.3.1: + /array.prototype.flat@1.3.1: resolution: {integrity: sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==} engines: {node: '>= 0.4'} dependencies: @@ -3863,7 +3927,7 @@ packages: es-shim-unscopables: 1.0.0 dev: true - /array.prototype.flatmap/1.3.1: + /array.prototype.flatmap@1.3.1: resolution: {integrity: sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==} engines: {node: '>= 0.4'} dependencies: @@ -3873,7 +3937,7 @@ packages: es-shim-unscopables: 1.0.0 dev: true - /array.prototype.tosorted/1.1.1: + /array.prototype.tosorted@1.1.1: resolution: {integrity: sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==} dependencies: call-bind: 1.0.2 @@ -3883,145 +3947,145 @@ packages: get-intrinsic: 1.2.0 dev: true - /ast-types-flow/0.0.7: + /ast-types-flow@0.0.7: resolution: {integrity: sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==} dev: true - /ast-types/0.13.4: + /ast-types@0.13.4: resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==} engines: {node: '>=4'} dependencies: tslib: 2.5.0 dev: true - /ast-types/0.15.2: + /ast-types@0.15.2: resolution: {integrity: sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==} engines: {node: '>=4'} dependencies: tslib: 2.5.0 dev: true - /astral-regex/2.0.0: + /astral-regex@2.0.0: resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} engines: {node: '>=8'} dev: true - /astring/1.8.4: + /astring@1.8.4: resolution: {integrity: sha512-97a+l2LBU3Op3bBQEff79i/E4jMD2ZLFD8rHx9B6mXyB2uQwhJQYfiDqUwtfjF4QA1F2qs//N6Cw8LetMbQjcw==} hasBin: true dev: true - /async-sema/3.1.1: + /async-sema@3.1.1: resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==} dev: true - /async/3.2.4: + /async@3.2.4: resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} dev: false - /at-least-node/1.0.0: + /at-least-node@1.0.0: resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} engines: {node: '>= 4.0.0'} dev: false - /available-typed-arrays/1.0.5: + /available-typed-arrays@1.0.5: resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} engines: {node: '>= 0.4'} - /axe-core/4.6.3: + /axe-core@4.6.3: resolution: {integrity: sha512-/BQzOX780JhsxDnPpH4ZiyrJAzcd8AfzFPkv+89veFSr1rcMjuq2JDCwypKaPeB6ljHp9KjXhPpjgCvQlWYuqg==} engines: {node: '>=4'} dev: true - /axobject-query/3.1.1: + /axobject-query@3.1.1: resolution: {integrity: sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==} dependencies: deep-equal: 2.2.0 dev: true - /babel-loader/8.3.0_h5x7dh6zbbyopr7jvxivhylqpa: + /babel-loader@8.3.0(@babel/core@7.21.4)(webpack@5.78.0): resolution: {integrity: sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==} engines: {node: '>= 8.9'} peerDependencies: '@babel/core': ^7.0.0 webpack: '>=2' dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 find-cache-dir: 3.3.2 loader-utils: 2.0.4 make-dir: 3.1.0 schema-utils: 2.7.1 - webpack: 5.76.2 + webpack: 5.78.0(esbuild@0.16.3) dev: false - /babel-plugin-macros/3.1.0: + /babel-plugin-macros@3.1.0: resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} engines: {node: '>=10', npm: '>=6'} dependencies: '@babel/runtime': 7.21.0 cosmiconfig: 7.1.0 - resolve: 1.22.1 + resolve: 1.22.2 dev: false - /babel-plugin-polyfill-corejs2/0.3.3_@babel+core@7.21.3: + /babel-plugin-polyfill-corejs2@0.3.3(@babel/core@7.21.4): resolution: {integrity: sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.21.0 - '@babel/core': 7.21.3 - '@babel/helper-define-polyfill-provider': 0.3.3_@babel+core@7.21.3 + '@babel/compat-data': 7.21.4 + '@babel/core': 7.21.4 + '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.21.4) semver: 6.3.0 transitivePeerDependencies: - supports-color - /babel-plugin-polyfill-corejs3/0.6.0_@babel+core@7.21.3: + /babel-plugin-polyfill-corejs3@0.6.0(@babel/core@7.21.4): resolution: {integrity: sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 - '@babel/helper-define-polyfill-provider': 0.3.3_@babel+core@7.21.3 - core-js-compat: 3.29.1 + '@babel/core': 7.21.4 + '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.21.4) + core-js-compat: 3.30.0 transitivePeerDependencies: - supports-color - /babel-plugin-polyfill-regenerator/0.4.1_@babel+core@7.21.3: + /babel-plugin-polyfill-regenerator@0.4.1(@babel/core@7.21.4): resolution: {integrity: sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.3 - '@babel/helper-define-polyfill-provider': 0.3.3_@babel+core@7.21.3 + '@babel/core': 7.21.4 + '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.21.4) transitivePeerDependencies: - supports-color - /bail/2.0.2: + /bail@2.0.2: resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} dev: true - /balanced-match/1.0.2: + /balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - /base64-js/1.5.1: + /base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} dev: true - /big.js/5.2.2: + /big.js@5.2.2: resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} - /binary-extensions/2.2.0: + /binary-extensions@2.2.0: resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} engines: {node: '>=8'} dev: true - /bindings/1.5.0: + /bindings@1.5.0: resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} dependencies: file-uri-to-path: 1.0.0 dev: true - /bl/4.1.0: + /bl@4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} dependencies: buffer: 5.7.1 @@ -4029,7 +4093,7 @@ packages: readable-stream: 3.6.2 dev: true - /body-parser/1.20.1: + /body-parser@1.20.1: resolution: {integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} dependencies: @@ -4049,66 +4113,66 @@ packages: - supports-color dev: true - /brace-expansion/1.1.11: + /brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 - /brace-expansion/2.0.1: + /brace-expansion@2.0.1: resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} dependencies: balanced-match: 1.0.2 dev: false - /braces/3.0.2: + /braces@3.0.2: resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} engines: {node: '>=8'} dependencies: fill-range: 7.0.1 - /browserify-zlib/0.1.4: + /browserify-zlib@0.1.4: resolution: {integrity: sha512-19OEpq7vWgsH6WkvkBJQDFvJS1uPcbFOQ4v9CU839dO+ZZXUZO6XpE6hNCqvlIIj+4fZvRiJ6DsAQ382GwiyTQ==} dependencies: pako: 0.2.9 dev: true - /browserslist/4.21.5: + /browserslist@4.21.5: resolution: {integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001466 - electron-to-chromium: 1.4.332 + caniuse-lite: 1.0.30001476 + electron-to-chromium: 1.4.356 node-releases: 2.0.10 - update-browserslist-db: 1.0.10_browserslist@4.21.5 + update-browserslist-db: 1.0.10(browserslist@4.21.5) - /buffer-from/1.1.2: + /buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - /buffer/5.7.1: + /buffer@5.7.1: resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} dependencies: base64-js: 1.5.1 ieee754: 1.2.1 dev: true - /builtin-modules/3.3.0: + /builtin-modules@3.3.0: resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} engines: {node: '>=6'} dev: false - /bytes/3.1.2: + /bytes@3.1.2: resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} engines: {node: '>= 0.8'} dev: true - /cac/6.7.14: + /cac@6.7.14: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} dev: true - /cacache/15.3.0: + /cacache@15.3.0: resolution: {integrity: sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==} engines: {node: '>= 10'} dependencies: @@ -4134,12 +4198,12 @@ packages: - bluebird dev: true - /cacheable-lookup/5.0.4: + /cacheable-lookup@5.0.4: resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==} engines: {node: '>=10.6.0'} dev: true - /cacheable-request/7.0.2: + /cacheable-request@7.0.2: resolution: {integrity: sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==} engines: {node: '>=8'} dependencies: @@ -4152,20 +4216,20 @@ packages: responselike: 2.0.1 dev: true - /call-bind/1.0.2: + /call-bind@1.0.2: resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} dependencies: function-bind: 1.1.1 get-intrinsic: 1.2.0 - /callsites/3.1.0: + /callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} - /caniuse-lite/1.0.30001466: - resolution: {integrity: sha512-ewtFBSfWjEmxUgNBSZItFSmVtvk9zkwkl1OfRZlKA8slltRN+/C/tuGVrF9styXkN36Yu3+SeJ1qkXxDEyNZ5w==} + /caniuse-lite@1.0.30001476: + resolution: {integrity: sha512-JmpktFppVSvyUN4gsLS0bShY2L9ZUslHLE72vgemBkS43JD2fOvKTKs+GtRwuxrtRGnwJFW0ye7kWRRlLJS9vQ==} - /chalk/2.4.2: + /chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} dependencies: @@ -4173,39 +4237,39 @@ packages: escape-string-regexp: 1.0.5 supports-color: 5.5.0 - /chalk/4.1.2: + /chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 - /chalk/5.2.0: + /chalk@5.2.0: resolution: {integrity: sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} dev: true - /character-entities-html4/2.1.0: + /character-entities-html4@2.1.0: resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} dev: true - /character-entities-legacy/3.0.0: + /character-entities-legacy@3.0.0: resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} dev: true - /character-entities/2.0.2: + /character-entities@2.0.2: resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} dev: true - /character-reference-invalid/2.0.1: + /character-reference-invalid@2.0.1: resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} dev: true - /chardet/0.7.0: + /chardet@0.7.0: resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} dev: true - /chokidar/3.5.3: + /chokidar@3.5.3: resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} engines: {node: '>= 8.10.0'} dependencies: @@ -4220,48 +4284,48 @@ packages: fsevents: 2.3.2 dev: true - /chownr/1.1.4: + /chownr@1.1.4: resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} dev: true - /chownr/2.0.0: + /chownr@2.0.0: resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} engines: {node: '>=10'} dev: true - /chrome-trace-event/1.0.3: + /chrome-trace-event@1.0.3: resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==} engines: {node: '>=6.0'} dev: false - /clean-stack/2.2.0: + /clean-stack@2.2.0: resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} engines: {node: '>=6'} dev: true - /clean-webpack-plugin/4.0.0_webpack@5.76.2: + /clean-webpack-plugin@4.0.0(webpack@5.78.0): resolution: {integrity: sha512-WuWE1nyTNAyW5T7oNyys2EN0cfP2fdRxhxnIQWiAp0bMabPdHhoGxM8A6YL2GhqwgrPnnaemVE7nv5XJ2Fhh2w==} engines: {node: '>=10.0.0'} peerDependencies: webpack: '>=4.0.0 <6.0.0' dependencies: del: 4.1.1 - webpack: 5.76.2 + webpack: 5.78.0(esbuild@0.16.3) dev: false - /cli-cursor/3.1.0: + /cli-cursor@3.1.0: resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} engines: {node: '>=8'} dependencies: restore-cursor: 3.1.0 dev: true - /cli-spinners/2.7.0: - resolution: {integrity: sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==} + /cli-spinners@2.8.0: + resolution: {integrity: sha512-/eG5sJcvEIwxcdYM86k5tPwn0MUzkX5YY3eImTGpJOZgVe4SdTMY14vQpcxgBzJ0wXwAYrS8E+c3uHeK4JNyzQ==} engines: {node: '>=6'} dev: true - /cli-truncate/2.1.0: + /cli-truncate@2.1.0: resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} engines: {node: '>=8'} dependencies: @@ -4269,7 +4333,7 @@ packages: string-width: 4.2.3 dev: true - /cli-truncate/3.1.0: + /cli-truncate@3.1.0: resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: @@ -4277,147 +4341,140 @@ packages: string-width: 5.1.2 dev: true - /cli-width/3.0.0: + /cli-width@3.0.0: resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} engines: {node: '>= 10'} dev: true - /client-only/0.0.1: + /client-only@0.0.1: resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} dev: false - /clone-response/1.0.3: + /clone-response@1.0.3: resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==} dependencies: mimic-response: 1.0.1 dev: true - /clone/1.0.4: + /clone@1.0.4: resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} engines: {node: '>=0.8'} dev: true - /clsx/1.2.1: + /clsx@1.2.1: resolution: {integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==} engines: {node: '>=6'} dev: false - /code-block-writer/10.1.1: + /code-block-writer@10.1.1: resolution: {integrity: sha512-67ueh2IRGst/51p0n6FvPrnRjAGHY5F8xdjkgrYE7DDzpJe6qA07RYQ9VcoUeo5ATOjSOiWpSL3SWBRRbempMw==} dev: true - /color-convert/1.9.3: + /color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} dependencies: color-name: 1.1.3 - /color-convert/2.0.1: + /color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} dependencies: color-name: 1.1.4 - /color-name/1.1.3: + /color-name@1.1.3: resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - /color-name/1.1.4: + /color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - /color-support/1.1.3: + /color-support@1.1.3: resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} hasBin: true dev: true - /colorette/2.0.19: + /colorette@2.0.19: resolution: {integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==} dev: true - /comma-separated-tokens/2.0.3: + /comma-separated-tokens@2.0.3: resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} dev: true - /commander/10.0.0: + /commander@10.0.0: resolution: {integrity: sha512-zS5PnTI22FIRM6ylNW8G4Ap0IEOyk62fhLSD0+uHRT9McRCLGpkVNvao4bjimpK/GShynyQkFFxHhwMcETmduA==} engines: {node: '>=14'} dev: true - /commander/2.20.3: + /commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} dev: false - /common-tags/1.8.2: + /common-tags@1.8.2: resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==} engines: {node: '>=4.0.0'} dev: false - /commondir/1.0.1: + /commondir@1.0.1: resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} dev: false - /concat-map/0.0.1: + /concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - /console-control-strings/1.1.0: + /console-control-strings@1.1.0: resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} dev: true - /content-disposition/0.5.4: + /content-disposition@0.5.4: resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} engines: {node: '>= 0.6'} dependencies: safe-buffer: 5.2.1 dev: true - /content-type/1.0.5: + /content-type@1.0.5: resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} engines: {node: '>= 0.6'} dev: true - /convert-hrtime/3.0.0: + /convert-hrtime@3.0.0: resolution: {integrity: sha512-7V+KqSvMiHp8yWDuwfww06XleMWVVB9b9tURBx+G7UTADuo5hYPuowKloz4OzOqbPezxgo+fdQ1522WzPG4OeA==} engines: {node: '>=8'} dev: true - /convert-source-map/1.9.0: + /convert-source-map@1.9.0: resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} - /cookie-signature/1.0.6: + /cookie-signature@1.0.6: resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} dev: true - /cookie/0.4.2: + /cookie@0.4.2: resolution: {integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==} engines: {node: '>= 0.6'} - dev: true - /cookie/0.5.0: + /cookie@0.5.0: resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} engines: {node: '>= 0.6'} dev: true - /copy-anything/3.0.3: + /copy-anything@3.0.3: resolution: {integrity: sha512-fpW2W/BqEzqPp29QS+MwwfisHCQZtiduTe/m8idFo0xbti9fIZ2WVhAsCv4ggFVH3AgCkVdpoOCtQC6gBrdhjw==} engines: {node: '>=12.13'} dependencies: is-what: 4.1.8 dev: false - /copy-to-clipboard/3.3.3: - resolution: {integrity: sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==} - dependencies: - toggle-selection: 1.0.6 - dev: false - - /core-js-compat/3.29.1: - resolution: {integrity: sha512-QmchCua884D8wWskMX8tW5ydINzd8oSJVx38lx/pVkFGqztxt73GYre3pm/hyYq8bPf+MW5In4I/uRShFDsbrA==} + /core-js-compat@3.30.0: + resolution: {integrity: sha512-P5A2h/9mRYZFIAP+5Ab8ns6083IyVpSclU74UNvbGVQ8VM7n3n3/g2yF3AkKQ9NXz2O+ioxLbEWKnDtgsFamhg==} dependencies: browserslist: 4.21.5 - /core-util-is/1.0.3: + /core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} dev: true - /cosmiconfig/7.1.0: + /cosmiconfig@7.1.0: resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} engines: {node: '>=10'} dependencies: @@ -4428,11 +4485,11 @@ packages: yaml: 1.10.2 dev: false - /create-require/1.1.1: + /create-require@1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} dev: true - /cross-spawn/7.0.3: + /cross-spawn@7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} dependencies: @@ -4441,54 +4498,40 @@ packages: which: 2.0.2 dev: true - /crypto-random-string/2.0.0: + /crypto-random-string@2.0.0: resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} engines: {node: '>=8'} dev: false - /css-in-js-utils/3.1.0: - resolution: {integrity: sha512-fJAcud6B3rRu+KHYk+Bwf+WFL2MDCJJ1XG9x137tJQ0xYxor7XziQtuGFbWNdqrvF4Tk26O3H73nfVqXt/fW1A==} - dependencies: - hyphenate-style-name: 1.0.4 - dev: false - - /css-tree/1.1.3: - resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==} - engines: {node: '>=8.0.0'} - dependencies: - mdn-data: 2.0.14 - source-map: 0.6.1 - dev: false - - /css-what/5.1.0: + /css-what@5.1.0: resolution: {integrity: sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==} engines: {node: '>= 6'} dev: true - /cssesc/3.0.0: + /cssesc@3.0.0: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} engines: {node: '>=4'} hasBin: true dev: true - /csstype/3.1.1: - resolution: {integrity: sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==} + /csstype@3.1.2: + resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} - /damerau-levenshtein/1.0.8: + /damerau-levenshtein@1.0.8: resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} dev: true - /data-uri-to-buffer/3.0.1: + /data-uri-to-buffer@3.0.1: resolution: {integrity: sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og==} engines: {node: '>= 6'} dev: true - /date-fns/2.29.3: + /date-fns@2.29.3: resolution: {integrity: sha512-dDCnyH2WnnKusqvZZ6+jA1O51Ibt8ZMRNkDZdyAyK4YfbDwa/cEmuztzG5pk6hqlp9aSBPYcjOlktquahGwGeA==} engines: {node: '>=0.11'} dev: false - /deasync/0.1.28: + /deasync@0.1.28: resolution: {integrity: sha512-QqLF6inIDwiATrfROIyQtwOQxjZuek13WRYZ7donU5wJPLoP67MnYxA6QtqdvdBy2mMqv5m3UefBVdJjvevOYg==} engines: {node: '>=0.11.0'} requiresBuild: true @@ -4498,7 +4541,7 @@ packages: dev: true optional: true - /debug/2.6.9: + /debug@2.6.9: resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} peerDependencies: supports-color: '*' @@ -4509,7 +4552,7 @@ packages: ms: 2.0.0 dev: true - /debug/3.2.7: + /debug@3.2.7: resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} peerDependencies: supports-color: '*' @@ -4520,7 +4563,7 @@ packages: ms: 2.1.3 dev: true - /debug/4.3.4: + /debug@4.3.4: resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} engines: {node: '>=6.0'} peerDependencies: @@ -4531,20 +4574,20 @@ packages: dependencies: ms: 2.1.2 - /decode-named-character-reference/1.0.2: + /decode-named-character-reference@1.0.2: resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} dependencies: character-entities: 2.0.2 dev: true - /decompress-response/6.0.0: + /decompress-response@6.0.0: resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} engines: {node: '>=10'} dependencies: mimic-response: 3.1.0 dev: true - /deep-equal/2.2.0: + /deep-equal@2.2.0: resolution: {integrity: sha512-RdpzE0Hv4lhowpIUKKMJfeH6C1pXdtT1/it80ubgWqwI3qpuxUBpC1S4hnHg+zjnuOoDkzUtUCEEkG+XG5l3Mw==} dependencies: call-bind: 1.0.2 @@ -4566,52 +4609,52 @@ packages: which-typed-array: 1.1.9 dev: true - /deep-is/0.1.4: + /deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} dev: true - /deep-object-diff/1.1.9: + /deep-object-diff@1.1.9: resolution: {integrity: sha512-Rn+RuwkmkDwCi2/oXOFS9Gsr5lJZu/yTGpK7wAaAIE75CC+LCGEZHpY6VQJa/RoJcrmaA/docWJZvYohlNkWPA==} dev: true - /deepmerge/4.3.0: - resolution: {integrity: sha512-z2wJZXrmeHdvYJp/Ux55wIjqo81G5Bp4c+oELTW+7ar6SogWHajt5a9gO3s3IDaGSAXjDk0vlQKN3rms8ab3og==} + /deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} engines: {node: '>=0.10.0'} - /defaults/1.0.4: + /defaults@1.0.4: resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} dependencies: clone: 1.0.4 dev: true - /defer-to-connect/2.0.1: + /defer-to-connect@2.0.1: resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} engines: {node: '>=10'} dev: true - /define-lazy-prop/2.0.0: + /define-lazy-prop@2.0.0: resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} engines: {node: '>=8'} dev: true - /define-properties/1.2.0: + /define-properties@1.2.0: resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==} engines: {node: '>= 0.4'} dependencies: has-property-descriptors: 1.0.0 object-keys: 1.1.1 - /degenerator/3.0.2: - resolution: {integrity: sha512-c0mef3SNQo56t6urUU6tdQAs+ThoD0o9B9MJ8HEt7NQcGEILCRFqQb7ZbP9JAv+QF1Ky5plydhMR/IrqWDm+TQ==} + /degenerator@3.0.3: + resolution: {integrity: sha512-FTq/qYMeBJACu1gHcXJvzsRBTK6aw5zWCYbEnIOyamOt5UJufWJRQ5XfDb6OuayfJWvmWAHgcZyt43vm/hbj7g==} engines: {node: '>= 6'} dependencies: ast-types: 0.13.4 escodegen: 1.14.3 esprima: 4.0.1 - vm2: 3.9.14 + vm2: 3.9.15 dev: true - /del/4.1.1: + /del@4.1.1: resolution: {integrity: sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==} engines: {node: '>=6'} dependencies: @@ -4624,83 +4667,89 @@ packages: rimraf: 2.7.1 dev: false - /delegates/1.0.0: + /delegates@1.0.0: resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} dev: true - /depd/2.0.0: + /depd@2.0.0: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} dev: true - /dequal/2.0.3: + /dequal@2.0.3: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} dev: true - /destroy/1.2.0: + /destroy@1.2.0: resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} dev: true - /detect-indent/6.1.0: + /detect-indent@6.1.0: resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} engines: {node: '>=8'} dev: true - /detect-libc/2.0.1: + /detect-libc@2.0.1: resolution: {integrity: sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==} engines: {node: '>=8'} dev: true - /detect-newline/3.1.0: + /detect-newline@3.1.0: resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} engines: {node: '>=8'} dev: true - /diff/4.0.2: + /diff@4.0.2: resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} engines: {node: '>=0.3.1'} dev: true - /diff/5.1.0: + /diff@5.1.0: resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==} engines: {node: '>=0.3.1'} dev: true - /dir-glob/3.0.1: + /dir-glob@3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} dependencies: path-type: 4.0.0 - /doctrine/2.1.0: + /doctrine@2.1.0: resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} engines: {node: '>=0.10.0'} dependencies: esutils: 2.0.3 dev: true - /doctrine/3.0.0: + /doctrine@3.0.0: resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} engines: {node: '>=6.0.0'} dependencies: esutils: 2.0.3 dev: true - /dom-helpers/5.2.1: + /dom-helpers@5.2.1: resolution: {integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==} dependencies: '@babel/runtime': 7.21.0 - csstype: 3.1.1 + csstype: 3.1.2 + dev: false + + /dom7@4.0.6: + resolution: {integrity: sha512-emjdpPLhpNubapLFdjNL9tP06Sr+GZkrIHEXLWvOGsytACUrkbeIdjO5g77m00BrHTznnlcNqgmn7pCN192TBA==} + dependencies: + ssr-window: 4.0.2 dev: false - /dotenv/16.0.3: + /dotenv@16.0.3: resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==} engines: {node: '>=12'} dev: true - /duplexify/3.7.1: + /duplexify@3.7.1: resolution: {integrity: sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==} dependencies: end-of-stream: 1.4.4 @@ -4709,11 +4758,11 @@ packages: stream-shift: 1.0.1 dev: true - /eastasianwidth/0.2.0: + /eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} dev: true - /edge-runtime/2.0.0: + /edge-runtime@2.0.0: resolution: {integrity: sha512-TmRJhKi4mlM1e+zgF4CSzVU5gJ1sWj7ia+XhVgZ8PYyYUxk4PPjJU8qScpSLsAbdSxoBghLxdMuwuCzdYLd1sQ==} hasBin: true dependencies: @@ -4728,11 +4777,11 @@ packages: time-span: 4.0.0 dev: true - /ee-first/1.1.1: + /ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} dev: true - /ejs/3.1.9: + /ejs@3.1.9: resolution: {integrity: sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==} engines: {node: '>=0.10.0'} hasBin: true @@ -4740,52 +4789,46 @@ packages: jake: 10.8.5 dev: false - /electron-to-chromium/1.4.332: - resolution: {integrity: sha512-c1Vbv5tuUlBFp0mb3mCIjw+REEsgthRgNE8BlbEDKmvzb8rxjcVki6OkQP83vLN34s0XCxpSkq7AZNep1a6xhw==} + /electron-to-chromium@1.4.356: + resolution: {integrity: sha512-nEftV1dRX3omlxAj42FwqRZT0i4xd2dIg39sog/CnCJeCcL1TRd2Uh0i9Oebgv8Ou0vzTPw++xc+Z20jzS2B6A==} - /emoji-regex/8.0.0: + /emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} dev: true - /emoji-regex/9.2.2: + /emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} dev: true - /emojis-list/3.0.0: + /emojis-list@3.0.0: resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} engines: {node: '>= 4'} - /encodeurl/1.0.2: + /encodeurl@1.0.2: resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} engines: {node: '>= 0.8'} dev: true - /end-of-stream/1.4.4: + /end-of-stream@1.4.4: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} dependencies: once: 1.4.0 dev: true - /enhanced-resolve/5.12.0: + /enhanced-resolve@5.12.0: resolution: {integrity: sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==} engines: {node: '>=10.13.0'} dependencies: - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 tapable: 2.2.1 - /error-ex/1.3.2: + /error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} dependencies: is-arrayish: 0.2.1 dev: false - /error-stack-parser/2.1.4: - resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} - dependencies: - stackframe: 1.3.4 - dev: false - - /es-abstract/1.21.2: + /es-abstract@1.21.2: resolution: {integrity: sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==} engines: {node: '>= 0.4'} dependencies: @@ -4824,7 +4867,7 @@ packages: unbox-primitive: 1.0.2 which-typed-array: 1.1.9 - /es-get-iterator/1.1.3: + /es-get-iterator@1.1.3: resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} dependencies: call-bind: 1.0.2 @@ -4838,11 +4881,11 @@ packages: stop-iteration-iterator: 1.0.0 dev: true - /es-module-lexer/0.9.3: + /es-module-lexer@0.9.3: resolution: {integrity: sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==} dev: false - /es-set-tostringtag/2.0.1: + /es-set-tostringtag@2.0.1: resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} engines: {node: '>= 0.4'} dependencies: @@ -4850,13 +4893,13 @@ packages: has: 1.0.3 has-tostringtag: 1.0.0 - /es-shim-unscopables/1.0.0: + /es-shim-unscopables@1.0.0: resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} dependencies: has: 1.0.3 dev: true - /es-to-primitive/1.2.1: + /es-to-primitive@1.2.1: resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} engines: {node: '>= 0.4'} dependencies: @@ -4864,7 +4907,7 @@ packages: is-date-object: 1.0.5 is-symbol: 1.0.4 - /esbuild-android-64/0.14.47: + /esbuild-android-64@0.14.47: resolution: {integrity: sha512-R13Bd9+tqLVFndncMHssZrPWe6/0Kpv2/dt4aA69soX4PRxlzsVpCvoJeFE8sOEoeVEiBkI0myjlkDodXlHa0g==} engines: {node: '>=12'} cpu: [x64] @@ -4873,7 +4916,7 @@ packages: dev: true optional: true - /esbuild-android-arm64/0.14.47: + /esbuild-android-arm64@0.14.47: resolution: {integrity: sha512-OkwOjj7ts4lBp/TL6hdd8HftIzOy/pdtbrNA4+0oVWgGG64HrdVzAF5gxtJufAPOsEjkyh1oIYvKAUinKKQRSQ==} engines: {node: '>=12'} cpu: [arm64] @@ -4882,7 +4925,7 @@ packages: dev: true optional: true - /esbuild-darwin-64/0.14.47: + /esbuild-darwin-64@0.14.47: resolution: {integrity: sha512-R6oaW0y5/u6Eccti/TS6c/2c1xYTb1izwK3gajJwi4vIfNs1s8B1dQzI1UiC9T61YovOQVuePDcfqHLT3mUZJA==} engines: {node: '>=12'} cpu: [x64] @@ -4891,7 +4934,7 @@ packages: dev: true optional: true - /esbuild-darwin-arm64/0.14.47: + /esbuild-darwin-arm64@0.14.47: resolution: {integrity: sha512-seCmearlQyvdvM/noz1L9+qblC5vcBrhUaOoLEDDoLInF/VQ9IkobGiLlyTPYP5dW1YD4LXhtBgOyevoIHGGnw==} engines: {node: '>=12'} cpu: [arm64] @@ -4900,7 +4943,7 @@ packages: dev: true optional: true - /esbuild-freebsd-64/0.14.47: + /esbuild-freebsd-64@0.14.47: resolution: {integrity: sha512-ZH8K2Q8/Ux5kXXvQMDsJcxvkIwut69KVrYQhza/ptkW50DC089bCVrJZZ3sKzIoOx+YPTrmsZvqeZERjyYrlvQ==} engines: {node: '>=12'} cpu: [x64] @@ -4909,7 +4952,7 @@ packages: dev: true optional: true - /esbuild-freebsd-arm64/0.14.47: + /esbuild-freebsd-arm64@0.14.47: resolution: {integrity: sha512-ZJMQAJQsIOhn3XTm7MPQfCzEu5b9STNC+s90zMWe2afy9EwnHV7Ov7ohEMv2lyWlc2pjqLW8QJnz2r0KZmeAEQ==} engines: {node: '>=12'} cpu: [arm64] @@ -4918,7 +4961,7 @@ packages: dev: true optional: true - /esbuild-linux-32/0.14.47: + /esbuild-linux-32@0.14.47: resolution: {integrity: sha512-FxZOCKoEDPRYvq300lsWCTv1kcHgiiZfNrPtEhFAiqD7QZaXrad8LxyJ8fXGcWzIFzRiYZVtB3ttvITBvAFhKw==} engines: {node: '>=12'} cpu: [ia32] @@ -4927,7 +4970,7 @@ packages: dev: true optional: true - /esbuild-linux-64/0.14.47: + /esbuild-linux-64@0.14.47: resolution: {integrity: sha512-nFNOk9vWVfvWYF9YNYksZptgQAdstnDCMtR6m42l5Wfugbzu11VpMCY9XrD4yFxvPo9zmzcoUL/88y0lfJZJJw==} engines: {node: '>=12'} cpu: [x64] @@ -4936,25 +4979,25 @@ packages: dev: true optional: true - /esbuild-linux-arm/0.14.47: - resolution: {integrity: sha512-ZGE1Bqg/gPRXrBpgpvH81tQHpiaGxa8c9Rx/XOylkIl2ypLuOcawXEAo8ls+5DFCcRGt/o3sV+PzpAFZobOsmA==} + /esbuild-linux-arm64@0.14.47: + resolution: {integrity: sha512-ywfme6HVrhWcevzmsufjd4iT3PxTfCX9HOdxA7Hd+/ZM23Y9nXeb+vG6AyA6jgq/JovkcqRHcL9XwRNpWG6XRw==} engines: {node: '>=12'} - cpu: [arm] + cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /esbuild-linux-arm64/0.14.47: - resolution: {integrity: sha512-ywfme6HVrhWcevzmsufjd4iT3PxTfCX9HOdxA7Hd+/ZM23Y9nXeb+vG6AyA6jgq/JovkcqRHcL9XwRNpWG6XRw==} + /esbuild-linux-arm@0.14.47: + resolution: {integrity: sha512-ZGE1Bqg/gPRXrBpgpvH81tQHpiaGxa8c9Rx/XOylkIl2ypLuOcawXEAo8ls+5DFCcRGt/o3sV+PzpAFZobOsmA==} engines: {node: '>=12'} - cpu: [arm64] + cpu: [arm] os: [linux] requiresBuild: true dev: true optional: true - /esbuild-linux-mips64le/0.14.47: + /esbuild-linux-mips64le@0.14.47: resolution: {integrity: sha512-mg3D8YndZ1LvUiEdDYR3OsmeyAew4MA/dvaEJxvyygahWmpv1SlEEnhEZlhPokjsUMfRagzsEF/d/2XF+kTQGg==} engines: {node: '>=12'} cpu: [mips64el] @@ -4963,7 +5006,7 @@ packages: dev: true optional: true - /esbuild-linux-ppc64le/0.14.47: + /esbuild-linux-ppc64le@0.14.47: resolution: {integrity: sha512-WER+f3+szmnZiWoK6AsrTKGoJoErG2LlauSmk73LEZFQ/iWC+KhhDsOkn1xBUpzXWsxN9THmQFltLoaFEH8F8w==} engines: {node: '>=12'} cpu: [ppc64] @@ -4972,7 +5015,7 @@ packages: dev: true optional: true - /esbuild-linux-riscv64/0.14.47: + /esbuild-linux-riscv64@0.14.47: resolution: {integrity: sha512-1fI6bP3A3rvI9BsaaXbMoaOjLE3lVkJtLxsgLHqlBhLlBVY7UqffWBvkrX/9zfPhhVMd9ZRFiaqXnB1T7BsL2g==} engines: {node: '>=12'} cpu: [riscv64] @@ -4981,7 +5024,7 @@ packages: dev: true optional: true - /esbuild-linux-s390x/0.14.47: + /esbuild-linux-s390x@0.14.47: resolution: {integrity: sha512-eZrWzy0xFAhki1CWRGnhsHVz7IlSKX6yT2tj2Eg8lhAwlRE5E96Hsb0M1mPSE1dHGpt1QVwwVivXIAacF/G6mw==} engines: {node: '>=12'} cpu: [s390x] @@ -4990,7 +5033,7 @@ packages: dev: true optional: true - /esbuild-netbsd-64/0.14.47: + /esbuild-netbsd-64@0.14.47: resolution: {integrity: sha512-Qjdjr+KQQVH5Q2Q1r6HBYswFTToPpss3gqCiSw2Fpq/ua8+eXSQyAMG+UvULPqXceOwpnPo4smyZyHdlkcPppQ==} engines: {node: '>=12'} cpu: [x64] @@ -4999,7 +5042,7 @@ packages: dev: true optional: true - /esbuild-openbsd-64/0.14.47: + /esbuild-openbsd-64@0.14.47: resolution: {integrity: sha512-QpgN8ofL7B9z8g5zZqJE+eFvD1LehRlxr25PBkjyyasakm4599iroUpaj96rdqRlO2ShuyqwJdr+oNqWwTUmQw==} engines: {node: '>=12'} cpu: [x64] @@ -5008,7 +5051,7 @@ packages: dev: true optional: true - /esbuild-sunos-64/0.14.47: + /esbuild-sunos-64@0.14.47: resolution: {integrity: sha512-uOeSgLUwukLioAJOiGYm3kNl+1wJjgJA8R671GYgcPgCx7QR73zfvYqXFFcIO93/nBdIbt5hd8RItqbbf3HtAQ==} engines: {node: '>=12'} cpu: [x64] @@ -5017,7 +5060,7 @@ packages: dev: true optional: true - /esbuild-windows-32/0.14.47: + /esbuild-windows-32@0.14.47: resolution: {integrity: sha512-H0fWsLTp2WBfKLBgwYT4OTfFly4Im/8B5f3ojDv1Kx//kiubVY0IQunP2Koc/fr/0wI7hj3IiBDbSrmKlrNgLQ==} engines: {node: '>=12'} cpu: [ia32] @@ -5026,7 +5069,7 @@ packages: dev: true optional: true - /esbuild-windows-64/0.14.47: + /esbuild-windows-64@0.14.47: resolution: {integrity: sha512-/Pk5jIEH34T68r8PweKRi77W49KwanZ8X6lr3vDAtOlH5EumPE4pBHqkCUdELanvsT14yMXLQ/C/8XPi1pAtkQ==} engines: {node: '>=12'} cpu: [x64] @@ -5035,7 +5078,7 @@ packages: dev: true optional: true - /esbuild-windows-arm64/0.14.47: + /esbuild-windows-arm64@0.14.47: resolution: {integrity: sha512-HFSW2lnp62fl86/qPQlqw6asIwCnEsEoNIL1h2uVMgakddf+vUuMcCbtUY1i8sst7KkgHrVKCJQB33YhhOweCQ==} engines: {node: '>=12'} cpu: [arm64] @@ -5044,7 +5087,7 @@ packages: dev: true optional: true - /esbuild/0.14.47: + /esbuild@0.14.47: resolution: {integrity: sha512-wI4ZiIfFxpkuxB8ju4MHrGwGLyp1+awEHAHVpx6w7a+1pmYIq8T9FGEVVwFo0iFierDoMj++Xq69GXWYn2EiwA==} engines: {node: '>=12'} hasBin: true @@ -5072,7 +5115,7 @@ packages: esbuild-windows-arm64: 0.14.47 dev: true - /esbuild/0.16.3: + /esbuild@0.16.3: resolution: {integrity: sha512-71f7EjPWTiSguen8X/kxEpkAS7BFHwtQKisCDDV3Y4GLGWBaoSCyD5uXkaUew6JDzA9FEN1W23mdnSwW9kqCeg==} engines: {node: '>=12'} hasBin: true @@ -5100,39 +5143,38 @@ packages: '@esbuild/win32-arm64': 0.16.3 '@esbuild/win32-ia32': 0.16.3 '@esbuild/win32-x64': 0.16.3 - dev: true - /esbuild/0.17.11: - resolution: {integrity: sha512-pAMImyokbWDtnA/ufPxjQg0fYo2DDuzAlqwnDvbXqHLphe+m80eF++perYKVm8LeTuj2zUuFXC+xgSVxyoHUdg==} + /esbuild@0.17.15: + resolution: {integrity: sha512-LBUV2VsUIc/iD9ME75qhT4aJj0r75abCVS0jakhFzOtR7TQsqQA5w0tZ+KTKnwl3kXE0MhskNdHDh/I5aCR1Zw==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/android-arm': 0.17.11 - '@esbuild/android-arm64': 0.17.11 - '@esbuild/android-x64': 0.17.11 - '@esbuild/darwin-arm64': 0.17.11 - '@esbuild/darwin-x64': 0.17.11 - '@esbuild/freebsd-arm64': 0.17.11 - '@esbuild/freebsd-x64': 0.17.11 - '@esbuild/linux-arm': 0.17.11 - '@esbuild/linux-arm64': 0.17.11 - '@esbuild/linux-ia32': 0.17.11 - '@esbuild/linux-loong64': 0.17.11 - '@esbuild/linux-mips64el': 0.17.11 - '@esbuild/linux-ppc64': 0.17.11 - '@esbuild/linux-riscv64': 0.17.11 - '@esbuild/linux-s390x': 0.17.11 - '@esbuild/linux-x64': 0.17.11 - '@esbuild/netbsd-x64': 0.17.11 - '@esbuild/openbsd-x64': 0.17.11 - '@esbuild/sunos-x64': 0.17.11 - '@esbuild/win32-arm64': 0.17.11 - '@esbuild/win32-ia32': 0.17.11 - '@esbuild/win32-x64': 0.17.11 - dev: true - - /esbuild/0.17.6: + '@esbuild/android-arm': 0.17.15 + '@esbuild/android-arm64': 0.17.15 + '@esbuild/android-x64': 0.17.15 + '@esbuild/darwin-arm64': 0.17.15 + '@esbuild/darwin-x64': 0.17.15 + '@esbuild/freebsd-arm64': 0.17.15 + '@esbuild/freebsd-x64': 0.17.15 + '@esbuild/linux-arm': 0.17.15 + '@esbuild/linux-arm64': 0.17.15 + '@esbuild/linux-ia32': 0.17.15 + '@esbuild/linux-loong64': 0.17.15 + '@esbuild/linux-mips64el': 0.17.15 + '@esbuild/linux-ppc64': 0.17.15 + '@esbuild/linux-riscv64': 0.17.15 + '@esbuild/linux-s390x': 0.17.15 + '@esbuild/linux-x64': 0.17.15 + '@esbuild/netbsd-x64': 0.17.15 + '@esbuild/openbsd-x64': 0.17.15 + '@esbuild/sunos-x64': 0.17.15 + '@esbuild/win32-arm64': 0.17.15 + '@esbuild/win32-ia32': 0.17.15 + '@esbuild/win32-x64': 0.17.15 + dev: true + + /esbuild@0.17.6: resolution: {integrity: sha512-TKFRp9TxrJDdRWfSsSERKEovm6v30iHnrjlcGhLBOtReE28Yp1VSBRfO3GTaOFMoxsNerx4TjrhzSuma9ha83Q==} engines: {node: '>=12'} hasBin: true @@ -5162,23 +5204,23 @@ packages: '@esbuild/win32-x64': 0.17.6 dev: true - /escalade/3.1.1: + /escalade@3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} - /escape-html/1.0.3: + /escape-html@1.0.3: resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} dev: true - /escape-string-regexp/1.0.5: + /escape-string-regexp@1.0.5: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} - /escape-string-regexp/4.0.0: + /escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} - /escodegen/1.14.3: + /escodegen@1.14.3: resolution: {integrity: sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==} engines: {node: '>=4.0'} hasBin: true @@ -5191,8 +5233,8 @@ packages: source-map: 0.6.1 dev: true - /eslint-config-next/13.2.4_vgl77cfdswitgr47lm5swmv43m: - resolution: {integrity: sha512-lunIBhsoeqw6/Lfkd6zPt25w1bn0znLA/JCL+au1HoEpSb4/PpsOYsYtgV/q+YPsoKIOzFyU5xnb04iZnXjUvg==} + /eslint-config-next@13.3.0(eslint@8.38.0)(typescript@5.0.4): + resolution: {integrity: sha512-6YEwmFBX0VjBd3ODGW9df0Is0FLaRFdMN8eAahQG9CN6LjQ28J8AFr19ngxqMSg7Qv6Uca/3VeeBosJh1bzu0w==} peerDependencies: eslint: ^7.23.0 || ^8.0.0 typescript: '>=3.3.1' @@ -5200,43 +5242,43 @@ packages: typescript: optional: true dependencies: - '@next/eslint-plugin-next': 13.2.4 + '@next/eslint-plugin-next': 13.3.0 '@rushstack/eslint-patch': 1.2.0 - '@typescript-eslint/parser': 5.55.0_vgl77cfdswitgr47lm5swmv43m - eslint: 8.36.0 + '@typescript-eslint/parser': 5.57.1(eslint@8.38.0)(typescript@5.0.4) + eslint: 8.38.0 eslint-import-resolver-node: 0.3.7 - eslint-import-resolver-typescript: 3.5.3_eakrjjutlgqjxe5ydhtnd4qdmy - eslint-plugin-import: 2.27.5_v7jo3sddp7aqau7pajjy572cju - eslint-plugin-jsx-a11y: 6.7.1_eslint@8.36.0 - eslint-plugin-react: 7.32.2_eslint@8.36.0 - eslint-plugin-react-hooks: 4.6.0_eslint@8.36.0 - typescript: 4.9.5 + eslint-import-resolver-typescript: 3.5.5(@typescript-eslint/parser@5.57.1)(eslint-import-resolver-node@0.3.7)(eslint-plugin-import@2.27.5)(eslint@8.38.0) + eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.57.1)(eslint-import-resolver-typescript@3.5.5)(eslint@8.38.0) + eslint-plugin-jsx-a11y: 6.7.1(eslint@8.38.0) + eslint-plugin-react: 7.32.2(eslint@8.38.0) + eslint-plugin-react-hooks: 4.6.0(eslint@8.38.0) + typescript: 5.0.4 transitivePeerDependencies: - eslint-import-resolver-webpack - supports-color dev: true - /eslint-config-prettier/8.7.0_eslint@8.36.0: - resolution: {integrity: sha512-HHVXLSlVUhMSmyW4ZzEuvjpwqamgmlfkutD53cYXLikh4pt/modINRcCIApJ84czDxM4GZInwUrromsDdTImTA==} + /eslint-config-prettier@8.8.0(eslint@8.38.0): + resolution: {integrity: sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 8.36.0 + eslint: 8.38.0 dev: true - /eslint-import-resolver-node/0.3.7: + /eslint-import-resolver-node@0.3.7: resolution: {integrity: sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==} dependencies: debug: 3.2.7 is-core-module: 2.11.0 - resolve: 1.22.1 + resolve: 1.22.2 transitivePeerDependencies: - supports-color dev: true - /eslint-import-resolver-typescript/3.5.3_eakrjjutlgqjxe5ydhtnd4qdmy: - resolution: {integrity: sha512-njRcKYBc3isE42LaTcJNVANR3R99H9bAxBDMNDr2W7yq5gYPxbU3MkdhsQukxZ/Xg9C2vcyLlDsbKfRDg0QvCQ==} + /eslint-import-resolver-typescript@3.5.5(@typescript-eslint/parser@5.57.1)(eslint-import-resolver-node@0.3.7)(eslint-plugin-import@2.27.5)(eslint@8.38.0): + resolution: {integrity: sha512-TdJqPHs2lW5J9Zpe17DZNQuDnox4xo2o+0tE7Pggain9Rbc19ik8kFtXdxZ250FVx2kF4vlt2RSf4qlUpG7bhw==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: eslint: '*' @@ -5244,18 +5286,22 @@ packages: dependencies: debug: 4.3.4 enhanced-resolve: 5.12.0 - eslint: 8.36.0 - eslint-plugin-import: 2.27.5_v7jo3sddp7aqau7pajjy572cju - get-tsconfig: 4.4.0 + eslint: 8.38.0 + eslint-module-utils: 2.7.4(@typescript-eslint/parser@5.57.1)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.5)(eslint@8.38.0) + eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.57.1)(eslint-import-resolver-typescript@3.5.5)(eslint@8.38.0) + get-tsconfig: 4.5.0 globby: 13.1.3 is-core-module: 2.11.0 is-glob: 4.0.3 synckit: 0.8.5 transitivePeerDependencies: + - '@typescript-eslint/parser' + - eslint-import-resolver-node + - eslint-import-resolver-webpack - supports-color dev: true - /eslint-module-utils/2.7.4_wgltsi2kbncdpzwytonvdf2oba: + /eslint-module-utils@2.7.4(@typescript-eslint/parser@5.57.1)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.5)(eslint@8.38.0): resolution: {integrity: sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==} engines: {node: '>=4'} peerDependencies: @@ -5276,16 +5322,24 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 5.55.0_vgl77cfdswitgr47lm5swmv43m + '@typescript-eslint/parser': 5.57.1(eslint@8.38.0)(typescript@5.0.4) debug: 3.2.7 - eslint: 8.36.0 + eslint: 8.38.0 eslint-import-resolver-node: 0.3.7 - eslint-import-resolver-typescript: 3.5.3_eakrjjutlgqjxe5ydhtnd4qdmy + eslint-import-resolver-typescript: 3.5.5(@typescript-eslint/parser@5.57.1)(eslint-import-resolver-node@0.3.7)(eslint-plugin-import@2.27.5)(eslint@8.38.0) transitivePeerDependencies: - supports-color dev: true - /eslint-plugin-import/2.27.5_v7jo3sddp7aqau7pajjy572cju: + /eslint-plugin-css-import-order@1.1.0(eslint@8.38.0): + resolution: {integrity: sha512-43ODxP1sXpmgI4c+NCtXqmhkLsYGe8El1ewOlvsXKchLjWLxJw5zfp4eEg31Eni+is3jGkBL2TrNyUOOnbOMDg==} + peerDependencies: + eslint: '>= 6.0.0 < 9.0.0' + dependencies: + eslint: 8.38.0 + dev: true + + /eslint-plugin-import@2.27.5(@typescript-eslint/parser@5.57.1)(eslint-import-resolver-typescript@3.5.5)(eslint@8.38.0): resolution: {integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==} engines: {node: '>=4'} peerDependencies: @@ -5295,21 +5349,21 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 5.55.0_vgl77cfdswitgr47lm5swmv43m + '@typescript-eslint/parser': 5.57.1(eslint@8.38.0)(typescript@5.0.4) array-includes: 3.1.6 array.prototype.flat: 1.3.1 array.prototype.flatmap: 1.3.1 debug: 3.2.7 doctrine: 2.1.0 - eslint: 8.36.0 + eslint: 8.38.0 eslint-import-resolver-node: 0.3.7 - eslint-module-utils: 2.7.4_wgltsi2kbncdpzwytonvdf2oba + eslint-module-utils: 2.7.4(@typescript-eslint/parser@5.57.1)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.5)(eslint@8.38.0) has: 1.0.3 is-core-module: 2.11.0 is-glob: 4.0.3 minimatch: 3.1.2 object.values: 1.1.6 - resolve: 1.22.1 + resolve: 1.22.2 semver: 6.3.0 tsconfig-paths: 3.14.2 transitivePeerDependencies: @@ -5318,7 +5372,7 @@ packages: - supports-color dev: true - /eslint-plugin-jsx-a11y/6.7.1_eslint@8.36.0: + /eslint-plugin-jsx-a11y@6.7.1(eslint@8.38.0): resolution: {integrity: sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==} engines: {node: '>=4.0'} peerDependencies: @@ -5333,7 +5387,7 @@ packages: axobject-query: 3.1.1 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 - eslint: 8.36.0 + eslint: 8.38.0 has: 1.0.3 jsx-ast-utils: 3.3.3 language-tags: 1.0.5 @@ -5343,16 +5397,16 @@ packages: semver: 6.3.0 dev: true - /eslint-plugin-react-hooks/4.6.0_eslint@8.36.0: + /eslint-plugin-react-hooks@4.6.0(eslint@8.38.0): resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} engines: {node: '>=10'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 dependencies: - eslint: 8.36.0 + eslint: 8.38.0 dev: true - /eslint-plugin-react/7.32.2_eslint@8.36.0: + /eslint-plugin-react@7.32.2(eslint@8.38.0): resolution: {integrity: sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==} engines: {node: '>=4'} peerDependencies: @@ -5362,7 +5416,7 @@ packages: array.prototype.flatmap: 1.3.1 array.prototype.tosorted: 1.1.1 doctrine: 2.1.0 - eslint: 8.36.0 + eslint: 8.38.0 estraverse: 5.3.0 jsx-ast-utils: 3.3.3 minimatch: 3.1.2 @@ -5376,7 +5430,7 @@ packages: string.prototype.matchall: 4.0.8 dev: true - /eslint-plugin-unused-imports/2.0.0_dchlkxfdm6cbfc25bfo3oeha6e: + /eslint-plugin-unused-imports@2.0.0(@typescript-eslint/eslint-plugin@5.57.1)(eslint@8.38.0): resolution: {integrity: sha512-3APeS/tQlTrFa167ThtP0Zm0vctjr4M44HMpeg1P4bK6wItarumq0Ma82xorMKdFsWpphQBlRPzw/pxiVELX1A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -5386,24 +5440,24 @@ packages: '@typescript-eslint/eslint-plugin': optional: true dependencies: - '@typescript-eslint/eslint-plugin': 5.55.0_342y7v4tc7ytrrysmit6jo4wri - eslint: 8.36.0 + '@typescript-eslint/eslint-plugin': 5.57.1(@typescript-eslint/parser@5.57.1)(eslint@8.38.0)(typescript@5.0.4) + eslint: 8.38.0 eslint-rule-composer: 0.3.0 dev: true - /eslint-rule-composer/0.3.0: + /eslint-rule-composer@0.3.0: resolution: {integrity: sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==} engines: {node: '>=4.0.0'} dev: true - /eslint-scope/5.1.1: + /eslint-scope@5.1.1: resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} engines: {node: '>=8.0.0'} dependencies: esrecurse: 4.3.0 estraverse: 4.3.0 - /eslint-scope/7.1.1: + /eslint-scope@7.1.1: resolution: {integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: @@ -5411,20 +5465,20 @@ packages: estraverse: 5.3.0 dev: true - /eslint-visitor-keys/3.3.0: - resolution: {integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==} + /eslint-visitor-keys@3.4.0: + resolution: {integrity: sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint/8.36.0: - resolution: {integrity: sha512-Y956lmS7vDqomxlaaQAHVmeb4tNMp2FWIvU/RnU5BD3IKMD/MJPr76xdyr68P8tV1iNMvN2mRK0yy3c+UjL+bw==} + /eslint@8.38.0: + resolution: {integrity: sha512-pIdsD2jwlUGf/U38Jv97t8lq6HpaU/G9NKbYmpWpZGw3LdTNhZLbJePqxOXGB5+JEKfOPU/XLxYxFh03nr1KTg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.2.0_eslint@8.36.0 - '@eslint-community/regexpp': 4.4.0 - '@eslint/eslintrc': 2.0.1 - '@eslint/js': 8.36.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.38.0) + '@eslint-community/regexpp': 4.5.0 + '@eslint/eslintrc': 2.0.2 + '@eslint/js': 8.38.0 '@humanwhocodes/config-array': 0.11.8 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 @@ -5435,8 +5489,8 @@ packages: doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.1.1 - eslint-visitor-keys: 3.3.0 - espree: 9.5.0 + eslint-visitor-keys: 3.4.0 + espree: 9.5.1 esquery: 1.5.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 @@ -5450,7 +5504,7 @@ packages: imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 - js-sdsl: 4.3.0 + js-sdsl: 4.4.0 js-yaml: 4.1.0 json-stable-stringify-without-jsonify: 1.0.1 levn: 0.4.1 @@ -5465,49 +5519,49 @@ packages: - supports-color dev: true - /espree/9.5.0: - resolution: {integrity: sha512-JPbJGhKc47++oo4JkEoTe2wjy4fmMwvFpgJT9cQzmfXKp22Dr6Hf1tdCteLz1h0P3t+mGvWZ+4Uankvh8+c6zw==} + /espree@9.5.1: + resolution: {integrity: sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: acorn: 8.8.2 - acorn-jsx: 5.3.2_acorn@8.8.2 - eslint-visitor-keys: 3.3.0 + acorn-jsx: 5.3.2(acorn@8.8.2) + eslint-visitor-keys: 3.4.0 dev: true - /esprima/4.0.1: + /esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} engines: {node: '>=4'} hasBin: true dev: true - /esquery/1.5.0: + /esquery@1.5.0: resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} engines: {node: '>=0.10'} dependencies: estraverse: 5.3.0 dev: true - /esrecurse/4.3.0: + /esrecurse@4.3.0: resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} engines: {node: '>=4.0'} dependencies: estraverse: 5.3.0 - /estraverse/4.3.0: + /estraverse@4.3.0: resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} engines: {node: '>=4.0'} - /estraverse/5.3.0: + /estraverse@5.3.0: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} - /estree-util-attach-comments/2.1.1: + /estree-util-attach-comments@2.1.1: resolution: {integrity: sha512-+5Ba/xGGS6mnwFbXIuQiDPTbuTxuMCooq3arVv7gPZtYpjp+VXH/NkHAP35OOefPhNG/UGqU3vt/LTABwcHX0w==} dependencies: '@types/estree': 1.0.0 dev: true - /estree-util-build-jsx/2.2.2: + /estree-util-build-jsx@2.2.2: resolution: {integrity: sha512-m56vOXcOBuaF+Igpb9OPAy7f9w9OIkb5yhjsZuaPm7HoGi4oTOQi0h2+yZ+AtKklYFZ+rPC4n0wYCJCEU1ONqg==} dependencies: '@types/estree-jsx': 1.0.0 @@ -5515,68 +5569,68 @@ packages: estree-walker: 3.0.3 dev: true - /estree-util-is-identifier-name/1.1.0: + /estree-util-is-identifier-name@1.1.0: resolution: {integrity: sha512-OVJZ3fGGt9By77Ix9NhaRbzfbDV/2rx9EP7YIDJTmsZSEc5kYn2vWcNccYyahJL2uAQZK2a5Or2i0wtIKTPoRQ==} dev: true - /estree-util-is-identifier-name/2.1.0: + /estree-util-is-identifier-name@2.1.0: resolution: {integrity: sha512-bEN9VHRyXAUOjkKVQVvArFym08BTWB0aJPppZZr0UNyAqWsLaVfAqP7hbaTJjzHifmB5ebnR8Wm7r7yGN/HonQ==} dev: true - /estree-util-value-to-estree/1.3.0: + /estree-util-value-to-estree@1.3.0: resolution: {integrity: sha512-Y+ughcF9jSUJvncXwqRageavjrNPAI+1M/L3BI3PyLp1nmgYTGUXU6t5z1Y7OWuThoDdhPME07bQU+d5LxdJqw==} engines: {node: '>=12.0.0'} dependencies: is-plain-obj: 3.0.0 dev: true - /estree-util-visit/1.2.1: + /estree-util-visit@1.2.1: resolution: {integrity: sha512-xbgqcrkIVbIG+lI/gzbvd9SGTJL4zqJKBFttUl5pP27KhAjtMKbX/mQXJ7qgyXpMgVy/zvpm0xoQQaGL8OloOw==} dependencies: '@types/estree-jsx': 1.0.0 '@types/unist': 2.0.6 dev: true - /estree-walker/0.6.1: + /estree-walker@0.6.1: resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==} dev: true - /estree-walker/1.0.1: + /estree-walker@1.0.1: resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==} dev: false - /estree-walker/2.0.2: + /estree-walker@2.0.2: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} dev: true - /estree-walker/3.0.3: + /estree-walker@3.0.3: resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} dependencies: '@types/estree': 1.0.0 dev: true - /esutils/2.0.3: + /esutils@2.0.3: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} - /etag/1.8.1: + /etag@1.8.1: resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} engines: {node: '>= 0.6'} dev: true - /eval/0.1.6: + /eval@0.1.6: resolution: {integrity: sha512-o0XUw+5OGkXw4pJZzQoXUk+H87DHuC+7ZE//oSrRGtatTmr12oTnLfg6QOq9DyTt0c/p4TwzgmkKrBzWTSizyQ==} engines: {node: '>= 0.8'} dependencies: require-like: 0.1.2 dev: true - /events/3.3.0: + /events@3.3.0: resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} engines: {node: '>=0.8.x'} dev: false - /execa/5.1.1: + /execa@5.1.1: resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} engines: {node: '>=10'} dependencies: @@ -5591,13 +5645,13 @@ packages: strip-final-newline: 2.0.0 dev: true - /execa/7.1.1: + /execa@7.1.1: resolution: {integrity: sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==} engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} dependencies: cross-spawn: 7.0.3 get-stream: 6.0.1 - human-signals: 4.3.0 + human-signals: 4.3.1 is-stream: 3.0.0 merge-stream: 2.0.0 npm-run-path: 5.1.0 @@ -5606,12 +5660,12 @@ packages: strip-final-newline: 3.0.0 dev: true - /exit-hook/2.2.1: + /exit-hook@2.2.1: resolution: {integrity: sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==} engines: {node: '>=6'} dev: true - /express/4.18.2: + /express@4.18.2: resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==} engines: {node: '>= 0.10.0'} dependencies: @@ -5650,11 +5704,11 @@ packages: - supports-color dev: true - /extend/3.0.2: + /extend@3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} dev: true - /external-editor/3.1.0: + /external-editor@3.1.0: resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} engines: {node: '>=4'} dependencies: @@ -5663,10 +5717,10 @@ packages: tmp: 0.0.33 dev: true - /fast-deep-equal/3.1.3: + /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - /fast-glob/3.2.11: + /fast-glob@3.2.11: resolution: {integrity: sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==} engines: {node: '>=8.6.0'} dependencies: @@ -5677,7 +5731,7 @@ packages: micromatch: 4.0.5 dev: true - /fast-glob/3.2.12: + /fast-glob@3.2.12: resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} engines: {node: '>=8.6.0'} dependencies: @@ -5687,72 +5741,60 @@ packages: merge2: 1.4.1 micromatch: 4.0.5 - /fast-json-stable-stringify/2.1.0: + /fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - /fast-levenshtein/2.0.6: + /fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} dev: true - /fast-loops/1.1.3: - resolution: {integrity: sha512-8EZzEP0eKkEEVX+drtd9mtuQ+/QrlfW/5MlwcwK5Nds6EkZ/tRzEexkzUY2mIssnAyVLT+TKHuRXmFNNXYUd6g==} - dev: false - - /fast-shallow-equal/1.0.0: - resolution: {integrity: sha512-HPtaa38cPgWvaCFmRNhlc6NG7pv6NUHqjPgVAkWGoB9mQMwYB27/K0CvOM5Czy+qpT3e8XJ6Q4aPAnzpNpzNaw==} - dev: false - - /fastest-stable-stringify/2.0.2: - resolution: {integrity: sha512-bijHueCGd0LqqNK9b5oCMHc0MluJAx0cwqASgbWMvkO01lCYgIhacVRLcaDz3QnyYIRNJRDwMb41VuT6pHJ91Q==} - dev: false - - /fastq/1.15.0: + /fastq@1.15.0: resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} dependencies: reusify: 1.0.4 - /fault/2.0.1: + /fault@2.0.1: resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==} dependencies: format: 0.2.2 dev: true - /figures/3.2.0: + /figures@3.2.0: resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} engines: {node: '>=8'} dependencies: escape-string-regexp: 1.0.5 dev: true - /file-entry-cache/6.0.1: + /file-entry-cache@6.0.1: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: flat-cache: 3.0.4 dev: true - /file-uri-to-path/1.0.0: + /file-uri-to-path@1.0.0: resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} dev: true - /file-uri-to-path/2.0.0: + /file-uri-to-path@2.0.0: resolution: {integrity: sha512-hjPFI8oE/2iQPVe4gbrJ73Pp+Xfub2+WI2LlXDbsaJBwT5wuMh35WNWVYYTpnz895shtwfyutMFLFywpQAFdLg==} engines: {node: '>= 6'} dev: true - /filelist/1.0.4: + /filelist@1.0.4: resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} dependencies: minimatch: 5.1.6 dev: false - /fill-range/7.0.1: + /fill-range@7.0.1: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 - /finalhandler/1.2.0: + /finalhandler@1.2.0: resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} engines: {node: '>= 0.8'} dependencies: @@ -5767,7 +5809,7 @@ packages: - supports-color dev: true - /find-cache-dir/3.3.2: + /find-cache-dir@3.3.2: resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} engines: {node: '>=8'} dependencies: @@ -5776,11 +5818,11 @@ packages: pkg-dir: 4.2.0 dev: false - /find-root/1.1.0: + /find-root@1.1.0: resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==} dev: false - /find-up/4.1.0: + /find-up@4.1.0: resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} engines: {node: '>=8'} dependencies: @@ -5788,7 +5830,7 @@ packages: path-exists: 4.0.0 dev: false - /find-up/5.0.0: + /find-up@5.0.0: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} dependencies: @@ -5796,7 +5838,7 @@ packages: path-exists: 4.0.0 dev: true - /flat-cache/3.0.4: + /flat-cache@3.0.4: resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: @@ -5804,89 +5846,89 @@ packages: rimraf: 3.0.2 dev: true - /flatted/3.2.7: + /flatted@3.2.7: resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} dev: true - /for-each/0.3.3: + /for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} dependencies: is-callable: 1.2.7 - /format/0.2.2: + /format@0.2.2: resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} engines: {node: '>=0.4.x'} dev: true - /forwarded/0.2.0: + /forwarded@0.2.0: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} dev: true - /fresh/0.5.2: + /fresh@0.5.2: resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} engines: {node: '>= 0.6'} dev: true - /fs-constants/1.0.0: + /fs-constants@1.0.0: resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} dev: true - /fs-extra/10.1.0: + /fs-extra@10.1.0: resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} engines: {node: '>=12'} dependencies: - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 jsonfile: 6.1.0 universalify: 2.0.0 dev: true - /fs-extra/11.1.0: + /fs-extra@11.1.0: resolution: {integrity: sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==} engines: {node: '>=14.14'} dependencies: - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 jsonfile: 6.1.0 universalify: 2.0.0 dev: true - /fs-extra/8.1.0: + /fs-extra@8.1.0: resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} engines: {node: '>=6 <7 || >=8'} dependencies: - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 jsonfile: 4.0.0 universalify: 0.1.2 dev: true - /fs-extra/9.1.0: + /fs-extra@9.1.0: resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} engines: {node: '>=10'} dependencies: at-least-node: 1.0.0 - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 jsonfile: 6.1.0 universalify: 2.0.0 dev: false - /fs-minipass/2.1.0: + /fs-minipass@2.1.0: resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} engines: {node: '>= 8'} dependencies: minipass: 3.3.6 dev: true - /fs.realpath/1.0.0: + /fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - /fsevents/2.3.2: + /fsevents@2.3.2: resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] requiresBuild: true optional: true - /ftp/0.3.10: + /ftp@0.3.10: resolution: {integrity: sha512-faFVML1aBx2UoDStmLwv2Wptt4vw5x03xxX172nhA5Y5HBshW5JweqQ2W4xL4dezQTG8inJsuYcpPHHU3X5OTQ==} engines: {node: '>=0.8.0'} dependencies: @@ -5894,10 +5936,10 @@ packages: xregexp: 2.0.0 dev: true - /function-bind/1.1.1: + /function-bind@1.1.1: resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} - /function.prototype.name/1.1.5: + /function.prototype.name@1.1.5: resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} engines: {node: '>= 0.4'} dependencies: @@ -5906,10 +5948,10 @@ packages: es-abstract: 1.21.2 functions-have-names: 1.2.3 - /functions-have-names/1.2.3: + /functions-have-names@1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} - /gauge/3.0.2: + /gauge@3.0.2: resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} engines: {node: '>=10'} dependencies: @@ -5924,56 +5966,56 @@ packages: wide-align: 1.1.5 dev: true - /generic-names/4.0.0: + /generic-names@4.0.0: resolution: {integrity: sha512-ySFolZQfw9FoDb3ed9d80Cm9f0+r7qj+HJkWjeD9RBfpxEVTlVhol+gvaQB/78WbwYfbnNh8nWHHBSlg072y6A==} dependencies: loader-utils: 3.2.1 dev: true - /gensync/1.0.0-beta.2: + /gensync@1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} - /get-intrinsic/1.2.0: + /get-intrinsic@1.2.0: resolution: {integrity: sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==} dependencies: function-bind: 1.1.1 has: 1.0.3 has-symbols: 1.0.3 - /get-own-enumerable-property-symbols/3.0.2: + /get-own-enumerable-property-symbols@3.0.2: resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} dev: false - /get-port/5.1.1: + /get-port@5.1.1: resolution: {integrity: sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==} engines: {node: '>=8'} dev: true - /get-stream/5.2.0: + /get-stream@5.2.0: resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} engines: {node: '>=8'} dependencies: pump: 3.0.0 dev: true - /get-stream/6.0.1: + /get-stream@6.0.1: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} dev: true - /get-symbol-description/1.0.0: + /get-symbol-description@1.0.0: resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 get-intrinsic: 1.2.0 - /get-tsconfig/4.4.0: - resolution: {integrity: sha512-0Gdjo/9+FzsYhXCEFueo2aY1z1tpXrxWZzP7k8ul9qt1U5o8rYJwTJYmaeHdrVosYIVYkOy2iwCJ9FdpocJhPQ==} + /get-tsconfig@4.5.0: + resolution: {integrity: sha512-MjhiaIWCJ1sAU4pIQ5i5OfOuHHxVo1oYeNsWTON7jxYkod8pHocXeh+SSbmu5OZZZK73B6cbJ2XADzXehLyovQ==} dev: true - /get-uri/3.0.2: + /get-uri@3.0.2: resolution: {integrity: sha512-+5s0SJbGoyiJTZZ2JTpFPLMPSch72KEqGOTvQsBqg0RBWvwhWUSYZFAtz3TPW0GXJuLBJPts1E241iHg+VRfhg==} engines: {node: '>= 6'} dependencies: @@ -5987,28 +6029,27 @@ packages: - supports-color dev: true - /git-hooks-list/1.0.3: + /git-hooks-list@1.0.3: resolution: {integrity: sha512-Y7wLWcrLUXwk2noSka166byGCvhMtDRpgHdzCno1UQv/n/Hegp++a2xBWJL1lJarnKD3SWaljD+0z1ztqxuKyQ==} dev: true - /glob-parent/5.1.2: + /glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} dependencies: is-glob: 4.0.3 - /glob-parent/6.0.2: + /glob-parent@6.0.2: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} dependencies: is-glob: 4.0.3 dev: true - /glob-to-regexp/0.4.1: + /glob-to-regexp@0.4.1: resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} - dev: false - /glob/7.1.7: + /glob@7.1.7: resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==} dependencies: fs.realpath: 1.0.0 @@ -6019,7 +6060,7 @@ packages: path-is-absolute: 1.0.1 dev: true - /glob/7.2.3: + /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} dependencies: fs.realpath: 1.0.0 @@ -6029,42 +6070,42 @@ packages: once: 1.4.0 path-is-absolute: 1.0.1 - /globals/11.12.0: + /globals@11.12.0: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} - /globals/13.20.0: + /globals@13.20.0: resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} engines: {node: '>=8'} dependencies: type-fest: 0.20.2 dev: true - /globalthis/1.0.3: + /globalthis@1.0.3: resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} engines: {node: '>= 0.4'} dependencies: define-properties: 1.2.0 - /globalyzer/0.1.0: + /globalyzer@0.1.0: resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==} dev: true - /globby/10.0.0: + /globby@10.0.0: resolution: {integrity: sha512-3LifW9M4joGZasyYPz2A1U74zbC/45fvpXUvO/9KbSa+VV0aGZarWkfdgKyR9sExNP0t0x0ss/UMJpNpcaTspw==} engines: {node: '>=8'} dependencies: '@types/glob': 7.2.0 array-union: 2.1.0 dir-glob: 3.0.1 - fast-glob: 3.2.12 + fast-glob: 3.2.11 glob: 7.2.3 ignore: 5.2.4 merge2: 1.4.1 slash: 3.0.0 dev: true - /globby/11.1.0: + /globby@11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} dependencies: @@ -6075,7 +6116,7 @@ packages: merge2: 1.4.1 slash: 3.0.0 - /globby/13.1.3: + /globby@13.1.3: resolution: {integrity: sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: @@ -6086,7 +6127,7 @@ packages: slash: 4.0.0 dev: true - /globby/6.1.0: + /globby@6.1.0: resolution: {integrity: sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==} engines: {node: '>=0.10.0'} dependencies: @@ -6097,24 +6138,24 @@ packages: pinkie-promise: 2.0.1 dev: false - /globrex/0.1.2: + /globrex@0.1.2: resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} dev: true - /goober/2.1.12_csstype@3.1.1: + /goober@2.1.12(csstype@3.1.2): resolution: {integrity: sha512-yXHAvO08FU1JgTXX6Zn6sYCUFfB/OJSX8HHjDSgerZHZmFKAb08cykp5LBw5QnmyMcZyPRMqkdyHUSSzge788Q==} peerDependencies: csstype: ^3.0.10 dependencies: - csstype: 3.1.1 + csstype: 3.1.2 dev: false - /gopd/1.0.1: + /gopd@1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} dependencies: get-intrinsic: 1.2.0 - /got/11.8.6: + /got@11.8.6: resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==} engines: {node: '>=10.19.0'} dependencies: @@ -6131,14 +6172,14 @@ packages: responselike: 2.0.1 dev: true - /graceful-fs/4.2.10: - resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - /grapheme-splitter/1.0.4: + /grapheme-splitter@1.0.4: resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} dev: true - /gunzip-maybe/1.4.2: + /gunzip-maybe@1.4.2: resolution: {integrity: sha512-4haO1M4mLO91PW57BMsDFf75UmwoRX0GkdD+Faw+Lr+r/OZrOCS0pIBwOL1xCKQqnQzbNFGgK2V2CpBUPeFNTw==} hasBin: true dependencies: @@ -6150,47 +6191,47 @@ packages: through2: 2.0.5 dev: true - /has-bigints/1.0.2: + /has-bigints@1.0.2: resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} - /has-flag/3.0.0: + /has-flag@3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} - /has-flag/4.0.0: + /has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - /has-property-descriptors/1.0.0: + /has-property-descriptors@1.0.0: resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} dependencies: get-intrinsic: 1.2.0 - /has-proto/1.0.1: + /has-proto@1.0.1: resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} engines: {node: '>= 0.4'} - /has-symbols/1.0.3: + /has-symbols@1.0.3: resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} engines: {node: '>= 0.4'} - /has-tostringtag/1.0.0: + /has-tostringtag@1.0.0: resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} engines: {node: '>= 0.4'} dependencies: has-symbols: 1.0.3 - /has-unicode/2.0.1: + /has-unicode@2.0.1: resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} dev: true - /has/1.0.3: + /has@1.0.3: resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} engines: {node: '>= 0.4.0'} dependencies: function-bind: 1.1.1 - /hast-util-to-estree/2.3.2: + /hast-util-to-estree@2.3.2: resolution: {integrity: sha512-YYDwATNdnvZi3Qi84iatPIl1lWpXba1MeNrNbDfJfVzEBZL8uUmtR7mt7bxKBC8kuAuvb0bkojXYZzsNHyHCLg==} dependencies: '@types/estree': 1.0.0 @@ -6212,21 +6253,21 @@ packages: - supports-color dev: true - /hast-util-whitespace/2.0.1: + /hast-util-whitespace@2.0.1: resolution: {integrity: sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==} dev: true - /hoist-non-react-statics/3.3.2: + /hoist-non-react-statics@3.3.2: resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} dependencies: react-is: 16.13.1 dev: false - /http-cache-semantics/4.1.1: + /http-cache-semantics@4.1.1: resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} dev: true - /http-errors/2.0.0: + /http-errors@2.0.0: resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} engines: {node: '>= 0.8'} dependencies: @@ -6237,7 +6278,7 @@ packages: toidentifier: 1.0.1 dev: true - /http-proxy-agent/4.0.1: + /http-proxy-agent@4.0.1: resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==} engines: {node: '>= 6'} dependencies: @@ -6248,12 +6289,12 @@ packages: - supports-color dev: true - /http-status/1.5.3: + /http-status@1.5.3: resolution: {integrity: sha512-jCClqdnnwigYslmtfb28vPplOgoiZ0siP2Z8C5Ua+3UKbx410v+c+jT+jh1bbI4TvcEySuX0vd/CfFZFbDkJeQ==} engines: {node: '>= 0.4.0'} dev: true - /http2-wrapper/1.0.3: + /http2-wrapper@1.0.3: resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==} engines: {node: '>=10.19.0'} dependencies: @@ -6261,7 +6302,7 @@ packages: resolve-alpn: 1.2.1 dev: true - /https-proxy-agent/5.0.1: + /https-proxy-agent@5.0.1: resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} engines: {node: '>= 6'} dependencies: @@ -6271,34 +6312,30 @@ packages: - supports-color dev: true - /human-signals/2.1.0: + /human-signals@2.1.0: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} dev: true - /human-signals/4.3.0: - resolution: {integrity: sha512-zyzVyMjpGBX2+6cDVZeFPCdtOtdsxOeseRhB9tkQ6xXmGUNrcnBzdEKPy3VPNYz+4gy1oukVOXcrJCunSyc6QQ==} + /human-signals@4.3.1: + resolution: {integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==} engines: {node: '>=14.18.0'} dev: true - /husky/8.0.3: + /husky@8.0.3: resolution: {integrity: sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==} engines: {node: '>=14'} hasBin: true dev: true - /hyphenate-style-name/1.0.4: - resolution: {integrity: sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==} - dev: false - - /iconv-lite/0.4.24: + /iconv-lite@0.4.24: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} engines: {node: '>=0.10.0'} dependencies: safer-buffer: 2.1.2 dev: true - /icss-utils/5.1.0_postcss@8.4.21: + /icss-utils@5.1.0(postcss@8.4.21): resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: @@ -6307,60 +6344,53 @@ packages: postcss: 8.4.21 dev: true - /idb/7.1.1: + /idb@7.1.1: resolution: {integrity: sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==} dev: false - /ieee754/1.2.1: + /ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} dev: true - /ignore/5.2.4: + /ignore@5.2.4: resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} engines: {node: '>= 4'} - /import-fresh/3.3.0: + /import-fresh@3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 - /imurmurhash/0.1.4: + /imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} dev: true - /indent-string/4.0.0: + /indent-string@4.0.0: resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} engines: {node: '>=8'} dev: true - /infer-owner/1.0.4: + /infer-owner@1.0.4: resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==} dev: true - /inflight/1.0.6: + /inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} dependencies: once: 1.4.0 wrappy: 1.0.2 - /inherits/2.0.4: + /inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - /inline-style-parser/0.1.1: + /inline-style-parser@0.1.1: resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==} dev: true - /inline-style-prefixer/6.0.4: - resolution: {integrity: sha512-FwXmZC2zbeeS7NzGjJ6pAiqRhXR0ugUShSNb6GApMl6da0/XGc4MOJsoWAywia52EEWbXNSy0pzkwz/+Y+swSg==} - dependencies: - css-in-js-utils: 3.1.0 - fast-loops: 1.1.3 - dev: false - - /inquirer/8.2.5: + /inquirer@8.2.5: resolution: {integrity: sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ==} engines: {node: '>=12.0.0'} dependencies: @@ -6381,7 +6411,7 @@ packages: wrap-ansi: 7.0.0 dev: true - /internal-slot/1.0.5: + /internal-slot@1.0.5: resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} engines: {node: '>= 0.4'} dependencies: @@ -6389,31 +6419,31 @@ packages: has: 1.0.3 side-channel: 1.0.4 - /ip/1.1.8: + /ip@1.1.8: resolution: {integrity: sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==} dev: true - /ip/2.0.0: + /ip@2.0.0: resolution: {integrity: sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==} dev: true - /ipaddr.js/1.9.1: + /ipaddr.js@1.9.1: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} engines: {node: '>= 0.10'} dev: true - /is-alphabetical/2.0.1: + /is-alphabetical@2.0.1: resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} dev: true - /is-alphanumerical/2.0.1: + /is-alphanumerical@2.0.1: resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} dependencies: is-alphabetical: 2.0.1 is-decimal: 2.0.1 dev: true - /is-arguments/1.1.1: + /is-arguments@1.1.1: resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} engines: {node: '>= 0.4'} dependencies: @@ -6421,219 +6451,219 @@ packages: has-tostringtag: 1.0.0 dev: true - /is-array-buffer/3.0.2: + /is-array-buffer@3.0.2: resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} dependencies: call-bind: 1.0.2 get-intrinsic: 1.2.0 is-typed-array: 1.1.10 - /is-arrayish/0.2.1: + /is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} dev: false - /is-bigint/1.0.4: + /is-bigint@1.0.4: resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} dependencies: has-bigints: 1.0.2 - /is-binary-path/2.1.0: + /is-binary-path@2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} dependencies: binary-extensions: 2.2.0 dev: true - /is-boolean-object/1.1.2: + /is-boolean-object@1.1.2: resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 has-tostringtag: 1.0.0 - /is-buffer/2.0.5: + /is-buffer@2.0.5: resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} engines: {node: '>=4'} dev: true - /is-callable/1.2.7: + /is-callable@1.2.7: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} - /is-core-module/2.11.0: + /is-core-module@2.11.0: resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==} dependencies: has: 1.0.3 - /is-date-object/1.0.5: + /is-date-object@1.0.5: resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.0 - /is-decimal/2.0.1: + /is-decimal@2.0.1: resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} dev: true - /is-deflate/1.0.0: + /is-deflate@1.0.0: resolution: {integrity: sha512-YDoFpuZWu1VRXlsnlYMzKyVRITXj7Ej/V9gXQ2/pAe7X1J7M/RNOqaIYi6qUn+B7nGyB9pDXrv02dsB58d2ZAQ==} dev: true - /is-docker/2.2.1: + /is-docker@2.2.1: resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} engines: {node: '>=8'} hasBin: true dev: true - /is-extglob/2.1.1: + /is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} - /is-fullwidth-code-point/3.0.0: + /is-fullwidth-code-point@3.0.0: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} dev: true - /is-fullwidth-code-point/4.0.0: + /is-fullwidth-code-point@4.0.0: resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} engines: {node: '>=12'} dev: true - /is-glob/4.0.3: + /is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} dependencies: is-extglob: 2.1.1 - /is-gzip/1.0.0: + /is-gzip@1.0.0: resolution: {integrity: sha512-rcfALRIb1YewtnksfRIHGcIY93QnK8BIQ/2c9yDYcG/Y6+vRoJuTWBmmSEbyLLYtXm7q35pHOHbZFQBaLrhlWQ==} engines: {node: '>=0.10.0'} dev: true - /is-hexadecimal/2.0.1: + /is-hexadecimal@2.0.1: resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} dev: true - /is-interactive/1.0.0: + /is-interactive@1.0.0: resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} engines: {node: '>=8'} dev: true - /is-map/2.0.2: + /is-map@2.0.2: resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==} dev: true - /is-module/1.0.0: + /is-module@1.0.0: resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} dev: false - /is-negative-zero/2.0.2: + /is-negative-zero@2.0.2: resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} engines: {node: '>= 0.4'} - /is-number-object/1.0.7: + /is-number-object@1.0.7: resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.0 - /is-number/7.0.0: + /is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - /is-obj/1.0.1: + /is-obj@1.0.1: resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==} engines: {node: '>=0.10.0'} dev: false - /is-path-cwd/2.2.0: + /is-path-cwd@2.2.0: resolution: {integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==} engines: {node: '>=6'} dev: false - /is-path-in-cwd/2.1.0: + /is-path-in-cwd@2.1.0: resolution: {integrity: sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==} engines: {node: '>=6'} dependencies: is-path-inside: 2.1.0 dev: false - /is-path-inside/2.1.0: + /is-path-inside@2.1.0: resolution: {integrity: sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==} engines: {node: '>=6'} dependencies: path-is-inside: 1.0.2 dev: false - /is-path-inside/3.0.3: + /is-path-inside@3.0.3: resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} engines: {node: '>=8'} dev: true - /is-plain-obj/2.1.0: + /is-plain-obj@2.1.0: resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} engines: {node: '>=8'} dev: true - /is-plain-obj/3.0.0: + /is-plain-obj@3.0.0: resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==} engines: {node: '>=10'} dev: true - /is-plain-obj/4.1.0: + /is-plain-obj@4.1.0: resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} engines: {node: '>=12'} dev: true - /is-reference/3.0.1: + /is-reference@3.0.1: resolution: {integrity: sha512-baJJdQLiYaJdvFbJqXrcGv3WU3QCzBlUcI5QhbesIm6/xPsvmO+2CDoi/GMOFBQEQm+PXkwOPrp9KK5ozZsp2w==} dependencies: '@types/estree': 1.0.0 dev: true - /is-regex/1.1.4: + /is-regex@1.1.4: resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 has-tostringtag: 1.0.0 - /is-regexp/1.0.0: + /is-regexp@1.0.0: resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==} engines: {node: '>=0.10.0'} dev: false - /is-set/2.0.2: + /is-set@2.0.2: resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==} dev: true - /is-shared-array-buffer/1.0.2: + /is-shared-array-buffer@1.0.2: resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} dependencies: call-bind: 1.0.2 - /is-stream/2.0.1: + /is-stream@2.0.1: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} - /is-stream/3.0.0: + /is-stream@3.0.0: resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true - /is-string/1.0.7: + /is-string@1.0.7: resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.0 - /is-symbol/1.0.4: + /is-symbol@1.0.4: resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} engines: {node: '>= 0.4'} dependencies: has-symbols: 1.0.3 - /is-typed-array/1.1.10: + /is-typed-array@1.1.10: resolution: {integrity: sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==} engines: {node: '>= 0.4'} dependencies: @@ -6643,56 +6673,56 @@ packages: gopd: 1.0.1 has-tostringtag: 1.0.0 - /is-unicode-supported/0.1.0: + /is-unicode-supported@0.1.0: resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} engines: {node: '>=10'} dev: true - /is-weakmap/2.0.1: + /is-weakmap@2.0.1: resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==} dev: true - /is-weakref/1.0.2: + /is-weakref@1.0.2: resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} dependencies: call-bind: 1.0.2 - /is-weakset/2.0.2: + /is-weakset@2.0.2: resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==} dependencies: call-bind: 1.0.2 get-intrinsic: 1.2.0 dev: true - /is-what/4.1.8: + /is-what@4.1.8: resolution: {integrity: sha512-yq8gMao5upkPoGEU9LsB2P+K3Kt8Q3fQFCGyNCWOAnJAMzEXVV9drYb0TXr42TTliLLhKIBvulgAXgtLLnwzGA==} engines: {node: '>=12.13'} dev: false - /is-wsl/2.2.0: + /is-wsl@2.2.0: resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} engines: {node: '>=8'} dependencies: is-docker: 2.2.1 dev: true - /isarray/0.0.1: + /isarray@0.0.1: resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} dev: true - /isarray/1.0.0: + /isarray@1.0.0: resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} dev: true - /isarray/2.0.5: + /isarray@2.0.5: resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} dev: true - /isexe/2.0.0: + /isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} dev: true - /jake/10.8.5: + /jake@10.8.5: resolution: {integrity: sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==} engines: {node: '>=10'} hasBin: true @@ -6703,128 +6733,132 @@ packages: minimatch: 3.1.2 dev: false - /javascript-stringify/2.1.0: + /javascript-stringify@2.1.0: resolution: {integrity: sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==} dev: true - /jest-worker/26.6.2: + /jest-worker@26.6.2: resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 18.15.3 + '@types/node': 18.15.11 merge-stream: 2.0.0 supports-color: 7.2.0 dev: false - /jest-worker/27.5.1: + /jest-worker@27.5.1: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 18.15.3 + '@types/node': 18.15.11 merge-stream: 2.0.0 supports-color: 8.1.1 dev: false - /js-cookie/2.2.1: - resolution: {integrity: sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ==} + /jotai@2.0.3(react@18.2.0): + resolution: {integrity: sha512-MMjhSPAL3RoeZD9WbObufRT2quThEAEknHHridf2ma8Ml7ZVQmUiHk0ssdbR3F0h3kcwhYqSGJ59OjhPge7RRg==} + engines: {node: '>=12.20.0'} + peerDependencies: + react: '>=17.0.0' + peerDependenciesMeta: + react: + optional: true + dependencies: + react: 18.2.0 dev: false - /js-sdsl/4.3.0: - resolution: {integrity: sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==} + /js-sdsl@4.4.0: + resolution: {integrity: sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==} dev: true - /js-tokens/4.0.0: + /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - /js-yaml/4.1.0: + /js-yaml@4.1.0: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true dependencies: argparse: 2.0.1 dev: true - /jsbi/4.3.0: - resolution: {integrity: sha512-SnZNcinB4RIcnEyZqFPdGPVgrg2AcnykiBy0sHVJQKHYeaLUvi3Exj+iaPpLnFVkDPZIV4U0yvgC9/R4uEAZ9g==} - dev: false - - /jsesc/0.5.0: + /jsesc@0.5.0: resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} hasBin: true - /jsesc/2.5.2: + /jsesc@2.5.2: resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} engines: {node: '>=4'} hasBin: true - /jsesc/3.0.2: + /jsesc@3.0.2: resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} engines: {node: '>=6'} hasBin: true dev: true - /json-buffer/3.0.1: + /json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} dev: true - /json-parse-even-better-errors/2.3.1: + /json-parse-even-better-errors@2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - /json-schema-to-ts/1.6.4: + /json-schema-to-ts@1.6.4: resolution: {integrity: sha512-pR4yQ9DHz6itqswtHCm26mw45FSNfQ9rEQjosaZErhn5J3J2sIViQiz8rDaezjKAhFGpmsoczYVBgGHzFw/stA==} dependencies: '@types/json-schema': 7.0.11 ts-toolbelt: 6.15.5 dev: true - /json-schema-traverse/0.4.1: + /json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - /json-schema-traverse/1.0.0: + /json-schema-traverse@1.0.0: resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} - /json-schema/0.4.0: + /json-schema@0.4.0: resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} dev: false - /json-stable-stringify-without-jsonify/1.0.1: + /json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} dev: true - /json5/1.0.2: + /json5@1.0.2: resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} hasBin: true dependencies: minimist: 1.2.8 dev: true - /json5/2.2.3: + /json5@2.2.3: resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} engines: {node: '>=6'} hasBin: true - /jsonc-parser/3.2.0: + /jsonc-parser@3.2.0: resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} dev: true - /jsonfile/4.0.0: + /jsonfile@4.0.0: resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} optionalDependencies: - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 dev: true - /jsonfile/6.1.0: + /jsonfile@6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} dependencies: universalify: 2.0.0 optionalDependencies: - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 - /jsonpointer/5.0.1: + /jsonpointer@5.0.1: resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} engines: {node: '>=0.10.0'} dev: false - /jsx-ast-utils/3.3.3: + /jsx-ast-utils@3.3.3: resolution: {integrity: sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==} engines: {node: '>=4.0'} dependencies: @@ -6832,33 +6866,33 @@ packages: object.assign: 4.1.4 dev: true - /keyv/4.5.2: + /keyv@4.5.2: resolution: {integrity: sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g==} dependencies: json-buffer: 3.0.1 dev: true - /kleur/4.1.5: + /kleur@4.1.5: resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} engines: {node: '>=6'} dev: true - /language-subtag-registry/0.3.22: + /language-subtag-registry@0.3.22: resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==} dev: true - /language-tags/1.0.5: + /language-tags@1.0.5: resolution: {integrity: sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==} dependencies: language-subtag-registry: 0.3.22 dev: true - /leven/3.1.0: + /leven@3.1.0: resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} engines: {node: '>=6'} dev: false - /levn/0.3.0: + /levn@0.3.0: resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==} engines: {node: '>= 0.8.0'} dependencies: @@ -6866,7 +6900,7 @@ packages: type-check: 0.3.2 dev: true - /levn/0.4.1: + /levn@0.4.1: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} dependencies: @@ -6874,17 +6908,17 @@ packages: type-check: 0.4.0 dev: true - /lilconfig/2.1.0: + /lilconfig@2.1.0: resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} engines: {node: '>=10'} dev: true - /lines-and-columns/1.2.4: + /lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} dev: false - /lint-staged/13.2.0: - resolution: {integrity: sha512-GbyK5iWinax5Dfw5obm2g2ccUiZXNGtAS4mCbJ0Lv4rq6iEtfBSjOYdcbOtAIFtM114t0vdpViDDetjVTSd8Vw==} + /lint-staged@13.2.1: + resolution: {integrity: sha512-8gfzinVXoPfga5Dz/ZOn8I2GOhf81Wvs+KwbEXQn/oWZAvCVS2PivrXfVbFJc93zD16uC0neS47RXHIjXKYZQw==} engines: {node: ^14.13.1 || >=16.0.0} hasBin: true dependencies: @@ -6906,7 +6940,7 @@ packages: - supports-color dev: true - /listr2/5.0.8: + /listr2@5.0.8: resolution: {integrity: sha512-mC73LitKHj9w6v30nLNGPetZIlfpUniNSsxxrbaPcWOjDb92SHPzJPi/t+v1YC/lxKz/AJ9egOjww0qUuFxBpA==} engines: {node: ^14.13.1 || >=16.0.0} peerDependencies: @@ -6925,12 +6959,12 @@ packages: wrap-ansi: 7.0.0 dev: true - /loader-runner/4.3.0: + /loader-runner@4.3.0: resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} engines: {node: '>=6.11.5'} dev: false - /loader-utils/2.0.4: + /loader-utils@2.0.4: resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==} engines: {node: '>=8.9.0'} dependencies: @@ -6938,44 +6972,44 @@ packages: emojis-list: 3.0.0 json5: 2.2.3 - /loader-utils/3.2.1: + /loader-utils@3.2.1: resolution: {integrity: sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==} engines: {node: '>= 12.13.0'} dev: true - /locate-path/5.0.0: + /locate-path@5.0.0: resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} engines: {node: '>=8'} dependencies: p-locate: 4.1.0 dev: false - /locate-path/6.0.0: + /locate-path@6.0.0: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} dependencies: p-locate: 5.0.0 dev: true - /lodash.camelcase/4.3.0: + /lodash.camelcase@4.3.0: resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} dev: true - /lodash.debounce/4.0.8: + /lodash.debounce@4.0.8: resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} - /lodash.merge/4.6.2: + /lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} dev: true - /lodash.sortby/4.7.0: + /lodash.sortby@4.7.0: resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} dev: false - /lodash/4.17.21: + /lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - /log-symbols/4.1.0: + /log-symbols@4.1.0: resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} engines: {node: '>=10'} dependencies: @@ -6983,7 +7017,7 @@ packages: is-unicode-supported: 0.1.0 dev: true - /log-update/4.0.0: + /log-update@4.0.0: resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} engines: {node: '>=10'} dependencies: @@ -6993,73 +7027,73 @@ packages: wrap-ansi: 6.2.0 dev: true - /longest-streak/3.1.0: + /longest-streak@3.1.0: resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} dev: true - /loose-envify/1.4.0: + /loose-envify@1.4.0: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true dependencies: js-tokens: 4.0.0 - /lowercase-keys/2.0.0: + /lowercase-keys@2.0.0: resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} engines: {node: '>=8'} dev: true - /lru-cache/5.1.1: + /lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} dependencies: yallist: 3.1.1 - /lru-cache/6.0.0: + /lru-cache@6.0.0: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} engines: {node: '>=10'} dependencies: yallist: 4.0.0 dev: true - /lru-cache/7.18.3: + /lru-cache@7.18.3: resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} engines: {node: '>=12'} dev: true - /magic-string/0.25.9: + /magic-string@0.25.9: resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} dependencies: sourcemap-codec: 1.4.8 - /make-dir/3.1.0: + /make-dir@3.1.0: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} dependencies: semver: 6.3.0 - /make-error/1.3.6: + /make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} dev: true - /markdown-extensions/1.1.1: + /markdown-extensions@1.1.1: resolution: {integrity: sha512-WWC0ZuMzCyDHYCasEGs4IPvLyTGftYwh6wIEOULOF0HXcqZlhwRzrK0w2VUlxWA98xnvb/jszw4ZSkJ6ADpM6Q==} engines: {node: '>=0.10.0'} dev: true - /mdast-util-definitions/5.1.2: + /mdast-util-definitions@5.1.2: resolution: {integrity: sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==} dependencies: - '@types/mdast': 3.0.10 + '@types/mdast': 3.0.11 '@types/unist': 2.0.6 unist-util-visit: 4.1.2 dev: true - /mdast-util-from-markdown/1.3.0: + /mdast-util-from-markdown@1.3.0: resolution: {integrity: sha512-HN3W1gRIuN/ZW295c7zi7g9lVBllMgZE40RxCX37wrTPWXCWtpvOZdfnuK+1WNpvZje6XuJeI3Wnb4TJEUem+g==} dependencies: - '@types/mdast': 3.0.10 + '@types/mdast': 3.0.11 '@types/unist': 2.0.6 decode-named-character-reference: 1.0.2 - mdast-util-to-string: 3.1.1 + mdast-util-to-string: 3.2.0 micromark: 3.1.0 micromark-util-decode-numeric-character-reference: 1.0.0 micromark-util-decode-string: 1.0.2 @@ -7072,31 +7106,31 @@ packages: - supports-color dev: true - /mdast-util-frontmatter/1.0.1: + /mdast-util-frontmatter@1.0.1: resolution: {integrity: sha512-JjA2OjxRqAa8wEG8hloD0uTU0kdn8kbtOWpPP94NBkfAlbxn4S8gCGf/9DwFtEeGPXrDcNXdiDjVaRdUFqYokw==} dependencies: - '@types/mdast': 3.0.10 + '@types/mdast': 3.0.11 mdast-util-to-markdown: 1.5.0 - micromark-extension-frontmatter: 1.0.1 + micromark-extension-frontmatter: 1.1.0 dev: true - /mdast-util-mdx-expression/1.3.2: + /mdast-util-mdx-expression@1.3.2: resolution: {integrity: sha512-xIPmR5ReJDu/DHH1OoIT1HkuybIfRGYRywC+gJtI7qHjCJp/M9jrmBEJW22O8lskDWm562BX2W8TiAwRTb0rKA==} dependencies: '@types/estree-jsx': 1.0.0 '@types/hast': 2.3.4 - '@types/mdast': 3.0.10 + '@types/mdast': 3.0.11 mdast-util-from-markdown: 1.3.0 mdast-util-to-markdown: 1.5.0 transitivePeerDependencies: - supports-color dev: true - /mdast-util-mdx-jsx/1.2.0: + /mdast-util-mdx-jsx@1.2.0: resolution: {integrity: sha512-5+ot/kfxYd3ChgEMwsMUO71oAfYjyRI3pADEK4I7xTmWLGQ8Y7ghm1CG36zUoUvDPxMlIYwQV/9DYHAUWdG4dA==} dependencies: '@types/estree-jsx': 0.0.1 - '@types/mdast': 3.0.10 + '@types/mdast': 3.0.11 mdast-util-to-markdown: 1.5.0 parse-entities: 4.0.1 stringify-entities: 4.0.3 @@ -7105,7 +7139,7 @@ packages: vfile-message: 3.1.4 dev: true - /mdast-util-mdx/1.1.0: + /mdast-util-mdx@1.1.0: resolution: {integrity: sha512-leKb9uG7laXdyFlTleYV4ZEaCpsxeU1LlkkR/xp35pgKrfV1Y0fNCuOw9vaRc2a9YDpH22wd145Wt7UY5yzeZw==} dependencies: mdast-util-mdx-expression: 1.3.2 @@ -7115,30 +7149,30 @@ packages: - supports-color dev: true - /mdast-util-mdxjs-esm/1.3.1: + /mdast-util-mdxjs-esm@1.3.1: resolution: {integrity: sha512-SXqglS0HrEvSdUEfoXFtcg7DRl7S2cwOXc7jkuusG472Mmjag34DUDeOJUZtl+BVnyeO1frIgVpHlNRWc2gk/w==} dependencies: '@types/estree-jsx': 1.0.0 '@types/hast': 2.3.4 - '@types/mdast': 3.0.10 + '@types/mdast': 3.0.11 mdast-util-from-markdown: 1.3.0 mdast-util-to-markdown: 1.5.0 transitivePeerDependencies: - supports-color dev: true - /mdast-util-phrasing/3.0.1: + /mdast-util-phrasing@3.0.1: resolution: {integrity: sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==} dependencies: - '@types/mdast': 3.0.10 + '@types/mdast': 3.0.11 unist-util-is: 5.2.1 dev: true - /mdast-util-to-hast/11.3.0: + /mdast-util-to-hast@11.3.0: resolution: {integrity: sha512-4o3Cli3hXPmm1LhB+6rqhfsIUBjnKFlIUZvudaermXB+4/KONdd/W4saWWkC+LBLbPMqhFSSTSRgafHsT5fVJw==} dependencies: '@types/hast': 2.3.4 - '@types/mdast': 3.0.10 + '@types/mdast': 3.0.11 '@types/mdurl': 1.0.2 mdast-util-definitions: 5.1.2 mdurl: 1.0.1 @@ -7148,61 +7182,57 @@ packages: unist-util-visit: 4.1.2 dev: true - /mdast-util-to-markdown/1.5.0: + /mdast-util-to-markdown@1.5.0: resolution: {integrity: sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==} dependencies: - '@types/mdast': 3.0.10 + '@types/mdast': 3.0.11 '@types/unist': 2.0.6 longest-streak: 3.1.0 mdast-util-phrasing: 3.0.1 - mdast-util-to-string: 3.1.1 + mdast-util-to-string: 3.2.0 micromark-util-decode-string: 1.0.2 unist-util-visit: 4.1.2 zwitch: 2.0.4 dev: true - /mdast-util-to-string/3.1.1: - resolution: {integrity: sha512-tGvhT94e+cVnQt8JWE9/b3cUQZWS732TJxXHktvP+BYo62PpYD53Ls/6cC60rW21dW+txxiM4zMdc6abASvZKA==} + /mdast-util-to-string@3.2.0: + resolution: {integrity: sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==} dependencies: - '@types/mdast': 3.0.10 + '@types/mdast': 3.0.11 dev: true - /mdn-data/2.0.14: - resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} - dev: false - - /mdurl/1.0.1: + /mdurl@1.0.1: resolution: {integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==} dev: true - /media-query-parser/2.0.2: + /media-query-parser@2.0.2: resolution: {integrity: sha512-1N4qp+jE0pL5Xv4uEcwVUhIkwdUO3S/9gML90nqKA7v7FcOS5vUtatfzok9S9U1EJU8dHWlcv95WLnKmmxZI9w==} dependencies: '@babel/runtime': 7.21.0 dev: true - /media-typer/0.3.0: + /media-typer@0.3.0: resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} engines: {node: '>= 0.6'} dev: true - /merge-descriptors/1.0.1: + /merge-descriptors@1.0.1: resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} dev: true - /merge-stream/2.0.0: + /merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - /merge2/1.4.1: + /merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - /methods/1.1.2: + /methods@1.1.2: resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} engines: {node: '>= 0.6'} dev: true - /micromark-core-commonmark/1.0.6: + /micromark-core-commonmark@1.0.6: resolution: {integrity: sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA==} dependencies: decode-named-character-reference: 1.0.2 @@ -7223,8 +7253,8 @@ packages: uvu: 0.5.6 dev: true - /micromark-extension-frontmatter/1.0.1: - resolution: {integrity: sha512-9OJhCXkrpj8qIXW5AAgRZGvS8Q4GTMdH5+Ljt98kV4XQVflRGeEhNRYp6O/zCvf8c8lZ+wc4uwmbly27pS/s4Q==} + /micromark-extension-frontmatter@1.1.0: + resolution: {integrity: sha512-0nLelmvXR5aZ+F2IL6/Ed4cDnHLpL/VD/EELKuclsTWHrLI8UgxGHEmeoumeX2FXiM6z2WrBIOEcbKUZR8RYNg==} dependencies: fault: 2.0.1 micromark-util-character: 1.1.0 @@ -7232,7 +7262,7 @@ packages: micromark-util-types: 1.0.2 dev: true - /micromark-extension-mdx-expression/1.0.4: + /micromark-extension-mdx-expression@1.0.4: resolution: {integrity: sha512-TCgLxqW6ReQ3AJgtj1P0P+8ZThBTloLbeb7jNaqr6mCOLDpxUiBFE/9STgooMZttEwOQu5iEcCCa3ZSDhY9FGw==} dependencies: micromark-factory-mdx-expression: 1.0.7 @@ -7244,7 +7274,7 @@ packages: uvu: 0.5.6 dev: true - /micromark-extension-mdx-jsx/1.0.3: + /micromark-extension-mdx-jsx@1.0.3: resolution: {integrity: sha512-VfA369RdqUISF0qGgv2FfV7gGjHDfn9+Qfiv5hEwpyr1xscRj/CiVRkU7rywGFCO7JwJ5L0e7CJz60lY52+qOA==} dependencies: '@types/acorn': 4.0.6 @@ -7258,13 +7288,13 @@ packages: vfile-message: 3.1.4 dev: true - /micromark-extension-mdx-md/1.0.0: + /micromark-extension-mdx-md@1.0.0: resolution: {integrity: sha512-xaRAMoSkKdqZXDAoSgp20Azm0aRQKGOl0RrS81yGu8Hr/JhMsBmfs4wR7m9kgVUIO36cMUQjNyiyDKPrsv8gOw==} dependencies: micromark-util-types: 1.0.2 dev: true - /micromark-extension-mdxjs-esm/1.0.3: + /micromark-extension-mdxjs-esm@1.0.3: resolution: {integrity: sha512-2N13ol4KMoxb85rdDwTAC6uzs8lMX0zeqpcyx7FhS7PxXomOnLactu8WI8iBNXW8AVyea3KIJd/1CKnUmwrK9A==} dependencies: micromark-core-commonmark: 1.0.6 @@ -7277,11 +7307,11 @@ packages: vfile-message: 3.1.4 dev: true - /micromark-extension-mdxjs/1.0.0: + /micromark-extension-mdxjs@1.0.0: resolution: {integrity: sha512-TZZRZgeHvtgm+IhtgC2+uDMR7h8eTKF0QUX9YsgoL9+bADBpBY6SiLvWqnBlLbCEevITmTqmEuY3FoxMKVs1rQ==} dependencies: acorn: 8.8.2 - acorn-jsx: 5.3.2_acorn@8.8.2 + acorn-jsx: 5.3.2(acorn@8.8.2) micromark-extension-mdx-expression: 1.0.4 micromark-extension-mdx-jsx: 1.0.3 micromark-extension-mdx-md: 1.0.0 @@ -7290,7 +7320,7 @@ packages: micromark-util-types: 1.0.2 dev: true - /micromark-factory-destination/1.0.0: + /micromark-factory-destination@1.0.0: resolution: {integrity: sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw==} dependencies: micromark-util-character: 1.1.0 @@ -7298,7 +7328,7 @@ packages: micromark-util-types: 1.0.2 dev: true - /micromark-factory-label/1.0.2: + /micromark-factory-label@1.0.2: resolution: {integrity: sha512-CTIwxlOnU7dEshXDQ+dsr2n+yxpP0+fn271pu0bwDIS8uqfFcumXpj5mLn3hSC8iw2MUr6Gx8EcKng1dD7i6hg==} dependencies: micromark-util-character: 1.1.0 @@ -7307,7 +7337,7 @@ packages: uvu: 0.5.6 dev: true - /micromark-factory-mdx-expression/1.0.7: + /micromark-factory-mdx-expression@1.0.7: resolution: {integrity: sha512-QAdFbkQagTZ/eKb8zDGqmjvgevgJH3+aQpvvKrXWxNJp3o8/l2cAbbrBd0E04r0Gx6nssPpqWIjnbHFvZu5qsQ==} dependencies: micromark-factory-space: 1.0.0 @@ -7320,14 +7350,14 @@ packages: vfile-message: 3.1.4 dev: true - /micromark-factory-space/1.0.0: + /micromark-factory-space@1.0.0: resolution: {integrity: sha512-qUmqs4kj9a5yBnk3JMLyjtWYN6Mzfcx8uJfi5XAveBniDevmZasdGBba5b4QsvRcAkmvGo5ACmSUmyGiKTLZew==} dependencies: micromark-util-character: 1.1.0 micromark-util-types: 1.0.2 dev: true - /micromark-factory-title/1.0.2: + /micromark-factory-title@1.0.2: resolution: {integrity: sha512-zily+Nr4yFqgMGRKLpTVsNl5L4PMu485fGFDOQJQBl2NFpjGte1e86zC0da93wf97jrc4+2G2GQudFMHn3IX+A==} dependencies: micromark-factory-space: 1.0.0 @@ -7337,7 +7367,7 @@ packages: uvu: 0.5.6 dev: true - /micromark-factory-whitespace/1.0.0: + /micromark-factory-whitespace@1.0.0: resolution: {integrity: sha512-Qx7uEyahU1lt1RnsECBiuEbfr9INjQTGa6Err+gF3g0Tx4YEviPbqqGKNv/NrBaE7dVHdn1bVZKM/n5I/Bak7A==} dependencies: micromark-factory-space: 1.0.0 @@ -7346,20 +7376,20 @@ packages: micromark-util-types: 1.0.2 dev: true - /micromark-util-character/1.1.0: + /micromark-util-character@1.1.0: resolution: {integrity: sha512-agJ5B3unGNJ9rJvADMJ5ZiYjBRyDpzKAOk01Kpi1TKhlT1APx3XZk6eN7RtSz1erbWHC2L8T3xLZ81wdtGRZzg==} dependencies: micromark-util-symbol: 1.0.1 micromark-util-types: 1.0.2 dev: true - /micromark-util-chunked/1.0.0: + /micromark-util-chunked@1.0.0: resolution: {integrity: sha512-5e8xTis5tEZKgesfbQMKRCyzvffRRUX+lK/y+DvsMFdabAicPkkZV6gO+FEWi9RfuKKoxxPwNL+dFF0SMImc1g==} dependencies: micromark-util-symbol: 1.0.1 dev: true - /micromark-util-classify-character/1.0.0: + /micromark-util-classify-character@1.0.0: resolution: {integrity: sha512-F8oW2KKrQRb3vS5ud5HIqBVkCqQi224Nm55o5wYLzY/9PwHGXC01tr3d7+TqHHz6zrKQ72Okwtvm/xQm6OVNZA==} dependencies: micromark-util-character: 1.1.0 @@ -7367,20 +7397,20 @@ packages: micromark-util-types: 1.0.2 dev: true - /micromark-util-combine-extensions/1.0.0: + /micromark-util-combine-extensions@1.0.0: resolution: {integrity: sha512-J8H058vFBdo/6+AsjHp2NF7AJ02SZtWaVUjsayNFeAiydTxUwViQPxN0Hf8dp4FmCQi0UUFovFsEyRSUmFH3MA==} dependencies: micromark-util-chunked: 1.0.0 micromark-util-types: 1.0.2 dev: true - /micromark-util-decode-numeric-character-reference/1.0.0: + /micromark-util-decode-numeric-character-reference@1.0.0: resolution: {integrity: sha512-OzO9AI5VUtrTD7KSdagf4MWgHMtET17Ua1fIpXTpuhclCqD8egFWo85GxSGvxgkGS74bEahvtM0WP0HjvV0e4w==} dependencies: micromark-util-symbol: 1.0.1 dev: true - /micromark-util-decode-string/1.0.2: + /micromark-util-decode-string@1.0.2: resolution: {integrity: sha512-DLT5Ho02qr6QWVNYbRZ3RYOSSWWFuH3tJexd3dgN1odEuPNxCngTCXJum7+ViRAd9BbdxCvMToPOD/IvVhzG6Q==} dependencies: decode-named-character-reference: 1.0.2 @@ -7389,11 +7419,11 @@ packages: micromark-util-symbol: 1.0.1 dev: true - /micromark-util-encode/1.0.1: + /micromark-util-encode@1.0.1: resolution: {integrity: sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA==} dev: true - /micromark-util-events-to-acorn/1.2.1: + /micromark-util-events-to-acorn@1.2.1: resolution: {integrity: sha512-mkg3BaWlw6ZTkQORrKVBW4o9ICXPxLtGz51vml5mQpKFdo9vqIX68CAx5JhTOdjQyAHH7JFmm4rh8toSPQZUmg==} dependencies: '@types/acorn': 4.0.6 @@ -7405,23 +7435,23 @@ packages: vfile-message: 3.1.4 dev: true - /micromark-util-html-tag-name/1.1.0: + /micromark-util-html-tag-name@1.1.0: resolution: {integrity: sha512-BKlClMmYROy9UiV03SwNmckkjn8QHVaWkqoAqzivabvdGcwNGMMMH/5szAnywmsTBUzDsU57/mFi0sp4BQO6dA==} dev: true - /micromark-util-normalize-identifier/1.0.0: + /micromark-util-normalize-identifier@1.0.0: resolution: {integrity: sha512-yg+zrL14bBTFrQ7n35CmByWUTFsgst5JhA4gJYoty4Dqzj4Z4Fr/DHekSS5aLfH9bdlfnSvKAWsAgJhIbogyBg==} dependencies: micromark-util-symbol: 1.0.1 dev: true - /micromark-util-resolve-all/1.0.0: + /micromark-util-resolve-all@1.0.0: resolution: {integrity: sha512-CB/AGk98u50k42kvgaMM94wzBqozSzDDaonKU7P7jwQIuH2RU0TeBqGYJz2WY1UdihhjweivStrJ2JdkdEmcfw==} dependencies: micromark-util-types: 1.0.2 dev: true - /micromark-util-sanitize-uri/1.1.0: + /micromark-util-sanitize-uri@1.1.0: resolution: {integrity: sha512-RoxtuSCX6sUNtxhbmsEFQfWzs8VN7cTctmBPvYivo98xb/kDEoTCtJQX5wyzIYEmk/lvNFTat4hL8oW0KndFpg==} dependencies: micromark-util-character: 1.1.0 @@ -7429,7 +7459,7 @@ packages: micromark-util-symbol: 1.0.1 dev: true - /micromark-util-subtokenize/1.0.2: + /micromark-util-subtokenize@1.0.2: resolution: {integrity: sha512-d90uqCnXp/cy4G881Ub4psE57Sf8YD0pim9QdjCRNjfas2M1u6Lbt+XZK9gnHL2XFhnozZiEdCa9CNfXSfQ6xA==} dependencies: micromark-util-chunked: 1.0.0 @@ -7438,15 +7468,15 @@ packages: uvu: 0.5.6 dev: true - /micromark-util-symbol/1.0.1: + /micromark-util-symbol@1.0.1: resolution: {integrity: sha512-oKDEMK2u5qqAptasDAwWDXq0tG9AssVwAx3E9bBF3t/shRIGsWIRG+cGafs2p/SnDSOecnt6hZPCE2o6lHfFmQ==} dev: true - /micromark-util-types/1.0.2: + /micromark-util-types@1.0.2: resolution: {integrity: sha512-DCfg/T8fcrhrRKTPjRrw/5LLvdGV7BHySf/1LOZx7TzWZdYRjogNtyNq885z3nNallwr3QUKARjqvHqX1/7t+w==} dev: true - /micromark/3.1.0: + /micromark@3.1.0: resolution: {integrity: sha512-6Mj0yHLdUZjHnOPgr5xfWIMqMWS12zDN6iws9SLuSz76W8jTtAv24MN4/CL7gJrl5vtxGInkkqDv/JIoRsQOvA==} dependencies: '@types/debug': 4.1.7 @@ -7470,99 +7500,99 @@ packages: - supports-color dev: true - /micromatch/4.0.5: + /micromatch@4.0.5: resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} engines: {node: '>=8.6'} dependencies: braces: 3.0.2 picomatch: 2.3.1 - /mime-db/1.52.0: + /mime-db@1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} - /mime-types/2.1.35: + /mime-types@2.1.35: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} dependencies: mime-db: 1.52.0 - /mime/1.6.0: + /mime@1.6.0: resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} engines: {node: '>=4'} hasBin: true dev: true - /mimic-fn/2.1.0: + /mimic-fn@2.1.0: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} dev: true - /mimic-fn/4.0.0: + /mimic-fn@4.0.0: resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} engines: {node: '>=12'} dev: true - /mimic-response/1.0.1: + /mimic-response@1.0.1: resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} engines: {node: '>=4'} dev: true - /mimic-response/3.1.0: + /mimic-response@3.1.0: resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} engines: {node: '>=10'} dev: true - /minimatch/3.1.2: + /minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: brace-expansion: 1.1.11 - /minimatch/5.1.6: + /minimatch@5.1.6: resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} engines: {node: '>=10'} dependencies: brace-expansion: 2.0.1 dev: false - /minimist/1.2.8: + /minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} dev: true - /minipass-collect/1.0.2: + /minipass-collect@1.0.2: resolution: {integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==} engines: {node: '>= 8'} dependencies: minipass: 3.3.6 dev: true - /minipass-flush/1.0.5: + /minipass-flush@1.0.5: resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} engines: {node: '>= 8'} dependencies: minipass: 3.3.6 dev: true - /minipass-pipeline/1.2.4: + /minipass-pipeline@1.2.4: resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==} engines: {node: '>=8'} dependencies: minipass: 3.3.6 dev: true - /minipass/3.3.6: + /minipass@3.3.6: resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} engines: {node: '>=8'} dependencies: yallist: 4.0.0 dev: true - /minipass/4.2.5: + /minipass@4.2.5: resolution: {integrity: sha512-+yQl7SX3bIT83Lhb4BVorMAHVuqsskxRdlmO9kTpyukp8vsm2Sn/fUOV9xlnG8/a5JsypJzap21lz/y3FBMJ8Q==} engines: {node: '>=8'} dev: true - /minizlib/2.1.2: + /minizlib@2.1.2: resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} engines: {node: '>= 8'} dependencies: @@ -7570,17 +7600,17 @@ packages: yallist: 4.0.0 dev: true - /mkdirp-classic/0.5.3: + /mkdirp-classic@0.5.3: resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} dev: true - /mkdirp/1.0.4: + /mkdirp@1.0.4: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} engines: {node: '>=10'} hasBin: true dev: true - /mlly/1.2.0: + /mlly@1.2.0: resolution: {integrity: sha512-+c7A3CV0KGdKcylsI6khWyts/CYrGTrRVo4R/I7u/cUsy0Conxa6LUhiEzVKIw14lc2L5aiO4+SeVe4TeGRKww==} dependencies: acorn: 8.8.2 @@ -7589,82 +7619,64 @@ packages: ufo: 1.1.1 dev: true - /mri/1.2.0: + /mri@1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} dev: true - /ms/2.0.0: + /ms@2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} dev: true - /ms/2.1.2: + /ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - /ms/2.1.3: + /ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} dev: true - /mute-stream/0.0.8: + /mute-stream@0.0.8: resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} dev: true - /nano-css/5.3.5_biqbaboplfbrettd7655fr4n2y: - resolution: {integrity: sha512-vSB9X12bbNu4ALBu7nigJgRViZ6ja3OU7CeuiV1zMIbXOdmkLahgtPmh3GBOlDxbKY0CitqlPdOReGlBLSp+yg==} - peerDependencies: - react: '*' - react-dom: '*' - dependencies: - css-tree: 1.1.3 - csstype: 3.1.1 - fastest-stable-stringify: 2.0.2 - inline-style-prefixer: 6.0.4 - react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 - rtl-css-js: 1.16.1 - sourcemap-codec: 1.4.8 - stacktrace-js: 2.0.2 - stylis: 4.1.3 - dev: false - - /nanoid/3.3.4: - resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} + /nanoid@3.3.6: + resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - /natural-compare-lite/1.4.0: + /natural-compare-lite@1.4.0: resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} dev: true - /natural-compare/1.4.0: + /natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true - /negotiator/0.6.3: + /negotiator@0.6.3: resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} engines: {node: '>= 0.6'} dev: true - /neo-async/2.6.2: + /neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} dev: false - /netmask/2.0.2: + /netmask@2.0.2: resolution: {integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==} engines: {node: '>= 0.4.0'} dev: true - /next-pwa/5.6.0_5lv2eiwt3l225y6qlenxc3apli: + /next-pwa@5.6.0(@babel/core@7.21.4)(esbuild@0.16.3)(next@13.2.3)(webpack@5.78.0): resolution: {integrity: sha512-XV8g8C6B7UmViXU8askMEYhWwQ4qc/XqJGnexbLV68hzKaGHZDMtHsm2TNxFcbR7+ypVuth/wwpiIlMwpRJJ5A==} peerDependencies: next: '>=9.0.0' dependencies: - babel-loader: 8.3.0_h5x7dh6zbbyopr7jvxivhylqpa - clean-webpack-plugin: 4.0.0_webpack@5.76.2 + babel-loader: 8.3.0(@babel/core@7.21.4)(webpack@5.78.0) + clean-webpack-plugin: 4.0.0(webpack@5.78.0) globby: 11.1.0 - next: 13.2.3_hrdbe576m4w26u2yfpqpvbxyky - terser-webpack-plugin: 5.3.7_webpack@5.76.2 - workbox-webpack-plugin: 6.5.4_webpack@5.76.2 + next: 13.2.3(@babel/core@7.21.4)(react-dom@18.2.0)(react@18.2.0) + terser-webpack-plugin: 5.3.7(esbuild@0.16.3)(webpack@5.78.0) + workbox-webpack-plugin: 6.5.4(webpack@5.78.0) workbox-window: 6.5.4 transitivePeerDependencies: - '@babel/core' @@ -7676,18 +7688,18 @@ packages: - webpack dev: false - /next-superjson-plugin/0.5.6_bybiisvvvxj62fig2dzdxxp2ea: + /next-superjson-plugin@0.5.6(next@13.2.3)(superjson@1.12.2): resolution: {integrity: sha512-vokzkgtr3axon5uXobhXJWN6/YlPOHdcAb/BeR+d0rXA3h1b5h98A+V0TgMUf+vcy9RvBqte/ppaJfkOwi4NGA==} peerDependencies: next: ^13 superjson: ^1 dependencies: hoist-non-react-statics: 3.3.2 - next: 13.2.3_hrdbe576m4w26u2yfpqpvbxyky + next: 13.2.3(@babel/core@7.21.4)(react-dom@18.2.0)(react@18.2.0) superjson: 1.12.2 dev: false - /next/13.2.3_hrdbe576m4w26u2yfpqpvbxyky: + /next@13.2.3(@babel/core@7.21.4)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-nKFJC6upCPN7DWRx4+0S/1PIOT7vNlCT157w9AzbXEgKy6zkiPKEt5YyRUsRZkmpEqBVrGgOqNfwecTociyg+w==} engines: {node: '>=14.6.0'} hasBin: true @@ -7710,11 +7722,11 @@ packages: dependencies: '@next/env': 13.2.3 '@swc/helpers': 0.4.14 - caniuse-lite: 1.0.30001466 + caniuse-lite: 1.0.30001476 postcss: 8.4.14 react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 - styled-jsx: 5.1.1_ogvc6ewgr3qq5z6tmbtquhqyui + react-dom: 18.2.0(react@18.2.0) + styled-jsx: 5.1.1(@babel/core@7.21.4)(react@18.2.0) optionalDependencies: '@next/swc-android-arm-eabi': 13.2.3 '@next/swc-android-arm64': 13.2.3 @@ -7734,12 +7746,12 @@ packages: - babel-plugin-macros dev: false - /node-addon-api/1.7.2: + /node-addon-api@1.7.2: resolution: {integrity: sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==} dev: true optional: true - /node-fetch/2.6.7: + /node-fetch@2.6.7: resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} engines: {node: 4.x || >=6.0.0} peerDependencies: @@ -7751,7 +7763,7 @@ packages: whatwg-url: 5.0.0 dev: true - /node-fetch/2.6.9: + /node-fetch@2.6.9: resolution: {integrity: sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==} engines: {node: 4.x || >=6.0.0} peerDependencies: @@ -7763,15 +7775,15 @@ packages: whatwg-url: 5.0.0 dev: true - /node-gyp-build/4.6.0: + /node-gyp-build@4.6.0: resolution: {integrity: sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==} hasBin: true dev: true - /node-releases/2.0.10: + /node-releases@2.0.10: resolution: {integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==} - /nopt/5.0.0: + /nopt@5.0.0: resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} engines: {node: '>=6'} hasBin: true @@ -7779,17 +7791,17 @@ packages: abbrev: 1.1.1 dev: true - /normalize-path/3.0.0: + /normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} dev: true - /normalize-url/6.1.0: + /normalize-url@6.1.0: resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} engines: {node: '>=10'} dev: true - /notistack/3.0.1_owo25xnefcwdq3zjgtohz6dbju: + /notistack@3.0.1(csstype@3.1.2)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-ntVZXXgSQH5WYfyU+3HfcXuKaapzAJ8fBLQ/G618rn3yvSzEbnOB8ZSOwhX+dAORy/lw+GC2N061JA0+gYWTVA==} engines: {node: '>=12.0.0', npm: '>=6.0.0'} peerDependencies: @@ -7797,28 +7809,28 @@ packages: react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: clsx: 1.2.1 - goober: 2.1.12_csstype@3.1.1 + goober: 2.1.12(csstype@3.1.2) react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) transitivePeerDependencies: - csstype dev: false - /npm-run-path/4.0.1: + /npm-run-path@4.0.1: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} engines: {node: '>=8'} dependencies: path-key: 3.1.1 dev: true - /npm-run-path/5.1.0: + /npm-run-path@5.1.0: resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: path-key: 4.0.0 dev: true - /npmlog/5.0.1: + /npmlog@5.0.1: resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} dependencies: are-we-there-yet: 2.0.0 @@ -7827,14 +7839,14 @@ packages: set-blocking: 2.0.0 dev: true - /object-assign/4.1.1: + /object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} - /object-inspect/1.12.3: + /object-inspect@1.12.3: resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} - /object-is/1.1.5: + /object-is@1.1.5: resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==} engines: {node: '>= 0.4'} dependencies: @@ -7842,11 +7854,11 @@ packages: define-properties: 1.2.0 dev: true - /object-keys/1.1.1: + /object-keys@1.1.1: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} engines: {node: '>= 0.4'} - /object.assign/4.1.4: + /object.assign@4.1.4: resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} engines: {node: '>= 0.4'} dependencies: @@ -7855,7 +7867,7 @@ packages: has-symbols: 1.0.3 object-keys: 1.1.1 - /object.entries/1.1.6: + /object.entries@1.1.6: resolution: {integrity: sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==} engines: {node: '>= 0.4'} dependencies: @@ -7864,7 +7876,7 @@ packages: es-abstract: 1.21.2 dev: true - /object.fromentries/2.0.6: + /object.fromentries@2.0.6: resolution: {integrity: sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==} engines: {node: '>= 0.4'} dependencies: @@ -7873,14 +7885,14 @@ packages: es-abstract: 1.21.2 dev: true - /object.hasown/1.1.2: + /object.hasown@1.1.2: resolution: {integrity: sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==} dependencies: define-properties: 1.2.0 es-abstract: 1.21.2 dev: true - /object.values/1.1.6: + /object.values@1.1.6: resolution: {integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==} engines: {node: '>= 0.4'} dependencies: @@ -7889,33 +7901,33 @@ packages: es-abstract: 1.21.2 dev: true - /on-finished/2.4.1: + /on-finished@2.4.1: resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} engines: {node: '>= 0.8'} dependencies: ee-first: 1.1.1 dev: true - /once/1.4.0: + /once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: wrappy: 1.0.2 - /onetime/5.1.2: + /onetime@5.1.2: resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} engines: {node: '>=6'} dependencies: mimic-fn: 2.1.0 dev: true - /onetime/6.0.0: + /onetime@6.0.0: resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} engines: {node: '>=12'} dependencies: mimic-fn: 4.0.0 dev: true - /open/8.4.2: + /open@8.4.2: resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} engines: {node: '>=12'} dependencies: @@ -7924,7 +7936,7 @@ packages: is-wsl: 2.2.0 dev: true - /optionator/0.8.3: + /optionator@0.8.3: resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} engines: {node: '>= 0.8.0'} dependencies: @@ -7936,7 +7948,7 @@ packages: word-wrap: 1.2.3 dev: true - /optionator/0.9.1: + /optionator@0.9.1: resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} engines: {node: '>= 0.8.0'} dependencies: @@ -7948,14 +7960,14 @@ packages: word-wrap: 1.2.3 dev: true - /ora/5.4.1: + /ora@5.4.1: resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} engines: {node: '>=10'} dependencies: bl: 4.1.0 chalk: 4.1.2 cli-cursor: 3.1.0 - cli-spinners: 2.7.0 + cli-spinners: 2.8.0 is-interactive: 1.0.0 is-unicode-supported: 0.1.0 log-symbols: 4.1.0 @@ -7963,66 +7975,66 @@ packages: wcwidth: 1.0.1 dev: true - /os-tmpdir/1.0.2: + /os-tmpdir@1.0.2: resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} engines: {node: '>=0.10.0'} dev: true - /outdent/0.8.0: + /outdent@0.8.0: resolution: {integrity: sha512-KiOAIsdpUTcAXuykya5fnVVT+/5uS0Q1mrkRHcF89tpieSmY33O/tmc54CqwA+bfhbtEfZUNLHaPUiB9X3jt1A==} dev: true - /p-cancelable/2.1.1: + /p-cancelable@2.1.1: resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} engines: {node: '>=8'} dev: true - /p-limit/2.3.0: + /p-limit@2.3.0: resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} engines: {node: '>=6'} dependencies: p-try: 2.2.0 dev: false - /p-limit/3.1.0: + /p-limit@3.1.0: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} dependencies: yocto-queue: 0.1.0 dev: true - /p-locate/4.1.0: + /p-locate@4.1.0: resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} engines: {node: '>=8'} dependencies: p-limit: 2.3.0 dev: false - /p-locate/5.0.0: + /p-locate@5.0.0: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} dependencies: p-limit: 3.1.0 dev: true - /p-map/2.1.0: + /p-map@2.1.0: resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} engines: {node: '>=6'} dev: false - /p-map/4.0.0: + /p-map@4.0.0: resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} engines: {node: '>=10'} dependencies: aggregate-error: 3.1.0 dev: true - /p-try/2.2.0: + /p-try@2.2.0: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} dev: false - /pac-proxy-agent/5.0.0: + /pac-proxy-agent@5.0.0: resolution: {integrity: sha512-CcFG3ZtnxO8McDigozwE3AqAw15zDvGH+OjXO4kzf7IkEKkQ4gxQ+3sdF50WmhQ4P/bVusXcqNE2S3XrNURwzQ==} engines: {node: '>= 8'} dependencies: @@ -8039,26 +8051,26 @@ packages: - supports-color dev: true - /pac-resolver/5.0.1: + /pac-resolver@5.0.1: resolution: {integrity: sha512-cy7u00ko2KVgBAjuhevqpPeHIkCIqPe1v24cydhWjmeuzaBfmUWFCZJ1iAh5TuVzVZoUzXIW7K8sMYOZ84uZ9Q==} engines: {node: '>= 8'} dependencies: - degenerator: 3.0.2 + degenerator: 3.0.3 ip: 1.1.8 netmask: 2.0.2 dev: true - /pako/0.2.9: + /pako@0.2.9: resolution: {integrity: sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==} dev: true - /parent-module/1.0.1: + /parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} dependencies: callsites: 3.1.0 - /parse-entities/4.0.1: + /parse-entities@4.0.1: resolution: {integrity: sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==} dependencies: '@types/unist': 2.0.6 @@ -8071,76 +8083,76 @@ packages: is-hexadecimal: 2.0.1 dev: true - /parse-json/5.2.0: + /parse-json@5.2.0: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} dependencies: - '@babel/code-frame': 7.18.6 + '@babel/code-frame': 7.21.4 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 dev: false - /parse-ms/2.1.0: + /parse-ms@2.1.0: resolution: {integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==} engines: {node: '>=6'} dev: true - /parseurl/1.3.3: + /parseurl@1.3.3: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} engines: {node: '>= 0.8'} dev: true - /path-browserify/1.0.1: + /path-browserify@1.0.1: resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} dev: true - /path-exists/4.0.0: + /path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} - /path-is-absolute/1.0.1: + /path-is-absolute@1.0.1: resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} engines: {node: '>=0.10.0'} - /path-is-inside/1.0.2: + /path-is-inside@1.0.2: resolution: {integrity: sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==} dev: false - /path-key/3.1.1: + /path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} dev: true - /path-key/4.0.0: + /path-key@4.0.0: resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} engines: {node: '>=12'} dev: true - /path-parse/1.0.7: + /path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - /path-to-regexp/0.1.7: + /path-to-regexp@0.1.7: resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} dev: true - /path-to-regexp/6.1.0: + /path-to-regexp@6.1.0: resolution: {integrity: sha512-h9DqehX3zZZDCEm+xbfU0ZmwCGFCAAraPJWMXJ4+v32NjZJilVg3k1TcKsRgIb8IQ/izZSaydDc1OhJCZvs2Dw==} dev: true - /path-to-regexp/6.2.1: + /path-to-regexp@6.2.1: resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==} dev: true - /path-type/4.0.0: + /path-type@4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} - /pathe/1.1.0: + /pathe@1.1.0: resolution: {integrity: sha512-ODbEPR0KKHqECXW1GoxdDb+AZvULmXjVPy4rt+pGo2+TnjJTIPJQSVS6N63n8T2Ip+syHhbn52OewKicV0373w==} dev: true - /peek-stream/1.1.3: + /peek-stream@1.1.3: resolution: {integrity: sha512-FhJ+YbOSBb9/rIl2ZeE/QHEsWn7PqNYt8ARAY3kIgNGOk13g9FGyIY6JIl/xB/3TFRVoTv5as0l11weORrTekA==} dependencies: buffer-from: 1.1.2 @@ -8148,7 +8160,7 @@ packages: through2: 2.0.5 dev: true - /periscopic/3.1.0: + /periscopic@3.1.0: resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==} dependencies: '@types/estree': 1.0.0 @@ -8156,49 +8168,49 @@ packages: is-reference: 3.0.1 dev: true - /picocolors/1.0.0: + /picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} - /picomatch/2.3.1: + /picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} - /pidtree/0.6.0: + /pidtree@0.6.0: resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} engines: {node: '>=0.10'} hasBin: true dev: true - /pify/2.3.0: + /pify@2.3.0: resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} engines: {node: '>=0.10.0'} dev: false - /pify/4.0.1: + /pify@4.0.1: resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} engines: {node: '>=6'} dev: false - /pinkie-promise/2.0.1: + /pinkie-promise@2.0.1: resolution: {integrity: sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==} engines: {node: '>=0.10.0'} dependencies: pinkie: 2.0.4 dev: false - /pinkie/2.0.4: + /pinkie@2.0.4: resolution: {integrity: sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==} engines: {node: '>=0.10.0'} dev: false - /pkg-dir/4.2.0: + /pkg-dir@4.2.0: resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} engines: {node: '>=8'} dependencies: find-up: 4.1.0 dev: false - /pkg-types/1.0.2: + /pkg-types@1.0.2: resolution: {integrity: sha512-hM58GKXOcj8WTqUXnsQyJYXdeAPbythQgEF3nTcEo+nkD49chjQ9IKm/QJy9xf6JakXptz86h7ecP2024rrLaQ==} dependencies: jsonc-parser: 3.2.0 @@ -8206,7 +8218,7 @@ packages: pathe: 1.1.0 dev: true - /postcss-discard-duplicates/5.1.0_postcss@8.4.21: + /postcss-discard-duplicates@5.1.0(postcss@8.4.21): resolution: {integrity: sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: @@ -8215,7 +8227,7 @@ packages: postcss: 8.4.21 dev: true - /postcss-load-config/4.0.1_postcss@8.4.21: + /postcss-load-config@4.0.1(postcss@8.4.21): resolution: {integrity: sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==} engines: {node: '>= 14'} peerDependencies: @@ -8232,7 +8244,7 @@ packages: yaml: 2.2.1 dev: true - /postcss-modules-extract-imports/3.0.0_postcss@8.4.21: + /postcss-modules-extract-imports@3.0.0(postcss@8.4.21): resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: @@ -8241,19 +8253,19 @@ packages: postcss: 8.4.21 dev: true - /postcss-modules-local-by-default/4.0.0_postcss@8.4.21: + /postcss-modules-local-by-default@4.0.0(postcss@8.4.21): resolution: {integrity: sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0_postcss@8.4.21 + icss-utils: 5.1.0(postcss@8.4.21) postcss: 8.4.21 postcss-selector-parser: 6.0.11 postcss-value-parser: 4.2.0 dev: true - /postcss-modules-scope/3.0.0_postcss@8.4.21: + /postcss-modules-scope@3.0.0(postcss@8.4.21): resolution: {integrity: sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: @@ -8263,33 +8275,33 @@ packages: postcss-selector-parser: 6.0.11 dev: true - /postcss-modules-values/4.0.0_postcss@8.4.21: + /postcss-modules-values@4.0.0(postcss@8.4.21): resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0_postcss@8.4.21 + icss-utils: 5.1.0(postcss@8.4.21) postcss: 8.4.21 dev: true - /postcss-modules/6.0.0_postcss@8.4.21: + /postcss-modules@6.0.0(postcss@8.4.21): resolution: {integrity: sha512-7DGfnlyi/ju82BRzTIjWS5C4Tafmzl3R79YP/PASiocj+aa6yYphHhhKUOEoXQToId5rgyFgJ88+ccOUydjBXQ==} peerDependencies: postcss: ^8.0.0 dependencies: generic-names: 4.0.0 - icss-utils: 5.1.0_postcss@8.4.21 + icss-utils: 5.1.0(postcss@8.4.21) lodash.camelcase: 4.3.0 postcss: 8.4.21 - postcss-modules-extract-imports: 3.0.0_postcss@8.4.21 - postcss-modules-local-by-default: 4.0.0_postcss@8.4.21 - postcss-modules-scope: 3.0.0_postcss@8.4.21 - postcss-modules-values: 4.0.0_postcss@8.4.21 + postcss-modules-extract-imports: 3.0.0(postcss@8.4.21) + postcss-modules-local-by-default: 4.0.0(postcss@8.4.21) + postcss-modules-scope: 3.0.0(postcss@8.4.21) + postcss-modules-values: 4.0.0(postcss@8.4.21) string-hash: 1.1.3 dev: true - /postcss-selector-parser/6.0.11: + /postcss-selector-parser@6.0.11: resolution: {integrity: sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==} engines: {node: '>=4'} dependencies: @@ -8297,74 +8309,74 @@ packages: util-deprecate: 1.0.2 dev: true - /postcss-value-parser/4.2.0: + /postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} dev: true - /postcss/8.4.14: + /postcss@8.4.14: resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==} engines: {node: ^10 || ^12 || >=14} dependencies: - nanoid: 3.3.4 + nanoid: 3.3.6 picocolors: 1.0.0 source-map-js: 1.0.2 dev: false - /postcss/8.4.21: + /postcss@8.4.21: resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==} engines: {node: ^10 || ^12 || >=14} dependencies: - nanoid: 3.3.4 + nanoid: 3.3.6 picocolors: 1.0.0 source-map-js: 1.0.2 dev: true - /prelude-ls/1.1.2: + /prelude-ls@1.1.2: resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==} engines: {node: '>= 0.8.0'} dev: true - /prelude-ls/1.2.1: + /prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} dev: true - /prettier/2.7.1: + /prettier@2.7.1: resolution: {integrity: sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==} engines: {node: '>=10.13.0'} hasBin: true dev: true - /prettier/2.8.4: - resolution: {integrity: sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw==} + /prettier@2.8.7: + resolution: {integrity: sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==} engines: {node: '>=10.13.0'} hasBin: true dev: true - /pretty-bytes/5.6.0: + /pretty-bytes@5.6.0: resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} engines: {node: '>=6'} - /pretty-ms/7.0.1: + /pretty-ms@7.0.1: resolution: {integrity: sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==} engines: {node: '>=10'} dependencies: parse-ms: 2.1.0 dev: true - /prisma/4.11.0: - resolution: {integrity: sha512-4zZmBXssPUEiX+GeL0MUq/Yyie4ltiKmGu7jCJFnYMamNrrulTBc+D+QwAQSJ01tyzeGHlD13kOnqPwRipnlNw==} + /prisma@4.12.0: + resolution: {integrity: sha512-xqVper4mbwl32BWzLpdznHAYvYDWQQWK2tBfXjdUD397XaveRyAP7SkBZ6kFlIg8kKayF4hvuaVtYwXd9BodAg==} engines: {node: '>=14.17'} hasBin: true requiresBuild: true dependencies: - '@prisma/engines': 4.11.0 + '@prisma/engines': 4.12.0 - /process-nextick-args/2.0.1: + /process-nextick-args@2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} dev: true - /promise-inflight/1.0.1: + /promise-inflight@1.0.1: resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} peerDependencies: bluebird: '*' @@ -8373,18 +8385,18 @@ packages: optional: true dev: true - /prop-types/15.8.1: + /prop-types@15.8.1: resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} dependencies: loose-envify: 1.4.0 object-assign: 4.1.1 react-is: 16.13.1 - /property-information/6.2.0: + /property-information@6.2.0: resolution: {integrity: sha512-kma4U7AFCTwpqq5twzC1YVIDXSqg6qQK6JN0smOw8fgRy1OkMi0CYSzFmsy6dnqSenamAtj0CyXMUJ1Mf6oROg==} dev: true - /proxy-addr/2.0.7: + /proxy-addr@2.0.7: resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} engines: {node: '>= 0.10'} dependencies: @@ -8392,7 +8404,7 @@ packages: ipaddr.js: 1.9.1 dev: true - /proxy-agent/5.0.0: + /proxy-agent@5.0.0: resolution: {integrity: sha512-gkH7BkvLVkSfX9Dk27W6TyNOWWZWRilRfk1XxGNWOYJ2TuedAv1yFpCaU9QSBmBe716XOTNpYNOzhysyw8xn7g==} engines: {node: '>= 8'} dependencies: @@ -8408,25 +8420,25 @@ packages: - supports-color dev: true - /proxy-from-env/1.1.0: + /proxy-from-env@1.1.0: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} dev: true - /pump/2.0.1: + /pump@2.0.1: resolution: {integrity: sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==} dependencies: end-of-stream: 1.4.4 once: 1.4.0 dev: true - /pump/3.0.0: + /pump@3.0.0: resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} dependencies: end-of-stream: 1.4.4 once: 1.4.0 dev: true - /pumpify/1.5.1: + /pumpify@1.5.1: resolution: {integrity: sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==} dependencies: duplexify: 3.7.1 @@ -8434,37 +8446,37 @@ packages: pump: 2.0.1 dev: true - /punycode/2.3.0: + /punycode@2.3.0: resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} engines: {node: '>=6'} - /qs/6.11.0: + /qs@6.11.0: resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} engines: {node: '>=0.6'} dependencies: side-channel: 1.0.4 dev: true - /queue-microtask/1.2.3: + /queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - /quick-lru/5.1.1: + /quick-lru@5.1.1: resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} engines: {node: '>=10'} dev: true - /randombytes/2.1.0: + /randombytes@2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} dependencies: safe-buffer: 5.2.1 dev: false - /range-parser/1.2.1: + /range-parser@1.2.1: resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} engines: {node: '>= 0.6'} dev: true - /raw-body/2.5.1: + /raw-body@2.5.1: resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==} engines: {node: '>= 0.8'} dependencies: @@ -8474,7 +8486,7 @@ packages: unpipe: 1.0.0 dev: true - /raw-body/2.5.2: + /raw-body@2.5.2: resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} engines: {node: '>= 0.8'} dependencies: @@ -8484,7 +8496,18 @@ packages: unpipe: 1.0.0 dev: true - /react-dom/18.2.0_react@18.2.0: + /react-cookie@4.1.1(react@18.2.0): + resolution: {integrity: sha512-ffn7Y7G4bXiFbnE+dKhHhbP+b8I34mH9jqnm8Llhj89zF4nPxPutxHT1suUqMeCEhLDBI7InYwf1tpaSoK5w8A==} + peerDependencies: + react: '>= 16.3.0' + dependencies: + '@types/hoist-non-react-statics': 3.3.1 + hoist-non-react-statics: 3.3.2 + react: 18.2.0 + universal-cookie: 4.0.4 + dev: false + + /react-dom@18.2.0(react@18.2.0): resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} peerDependencies: react: ^18.2.0 @@ -8494,19 +8517,50 @@ packages: scheduler: 0.23.0 dev: false - /react-is/16.13.1: + /react-hook-form-mui@6.0.1(@mui/icons-material@5.11.16)(@mui/material@5.11.16)(@mui/x-date-pickers@6.0.4)(react-hook-form@7.43.9)(react@18.2.0): + resolution: {integrity: sha512-rHsROxUXm/2EA9HPrHXPxy3foPVp7XWTr3nsg2SQI+nZsJkuO3SXjgUrRBfrGCw0z/xhJlK8eaN+V2YZEGUQQA==} + engines: {node: '>=14'} + peerDependencies: + '@mui/icons-material': '>= 5.x <6' + '@mui/material': '>= 5.x <6' + '@mui/x-date-pickers': '>=6.0.1 <7' + react: '>=17 <19' + react-hook-form: '>=7.33.1' + peerDependenciesMeta: + '@mui/icons-material': + optional: true + '@mui/x-date-pickers': + optional: true + dependencies: + '@mui/icons-material': 5.11.16(@mui/material@5.11.16)(@types/react@18.0.33)(react@18.2.0) + '@mui/material': 5.11.16(@emotion/react@11.10.6)(@emotion/styled@11.10.6)(@types/react@18.0.33)(react-dom@18.2.0)(react@18.2.0) + '@mui/x-date-pickers': 6.0.4(@emotion/react@11.10.6)(@emotion/styled@11.10.6)(@mui/material@5.11.16)(@mui/system@5.11.16)(date-fns@2.29.3)(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-hook-form: 7.43.9(react@18.2.0) + dev: false + + /react-hook-form@7.43.9(react@18.2.0): + resolution: {integrity: sha512-AUDN3Pz2NSeoxQ7Hs6OhQhDr6gtF9YRuutGDwPQqhSUAHJSgGl2VeY3qN19MG0SucpjgDiuMJ4iC5T5uB+eaNQ==} + engines: {node: '>=12.22.0'} + peerDependencies: + react: ^16.8.0 || ^17 || ^18 + dependencies: + react: 18.2.0 + dev: false + + /react-is@16.13.1: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} - /react-is/18.2.0: + /react-is@18.2.0: resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} dev: false - /react-refresh/0.14.0: + /react-refresh@0.14.0: resolution: {integrity: sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==} engines: {node: '>=0.10.0'} dev: true - /react-ssr-prepass/1.5.0_react@18.2.0: + /react-ssr-prepass@1.5.0(react@18.2.0): resolution: {integrity: sha512-yFNHrlVEReVYKsLI5lF05tZoHveA5pGzjFbFJY/3pOqqjGOmMmqx83N4hIjN2n6E1AOa+eQEUxs3CgRnPmT0RQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -8514,7 +8568,7 @@ packages: react: 18.2.0 dev: false - /react-transition-group/4.4.5_biqbaboplfbrettd7655fr4n2y: + /react-transition-group@4.4.5(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==} peerDependencies: react: '>=16.6.0' @@ -8525,51 +8579,17 @@ packages: loose-envify: 1.4.0 prop-types: 15.8.1 react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) dev: false - /react-universal-interface/0.6.2_react@18.2.0+tslib@2.5.0: - resolution: {integrity: sha512-dg8yXdcQmvgR13RIlZbTRQOoUrDciFVoSBZILwjE2LFISxZZ8loVJKAkuzswl5js8BHda79bIb2b84ehU8IjXw==} - peerDependencies: - react: '*' - tslib: '*' - dependencies: - react: 18.2.0 - tslib: 2.5.0 - dev: false - - /react-use/17.4.0_biqbaboplfbrettd7655fr4n2y: - resolution: {integrity: sha512-TgbNTCA33Wl7xzIJegn1HndB4qTS9u03QUwyNycUnXaweZkE4Kq2SB+Yoxx8qbshkZGYBDvUXbXWRUmQDcZZ/Q==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - dependencies: - '@types/js-cookie': 2.2.7 - '@xobotyi/scrollbar-width': 1.9.5 - copy-to-clipboard: 3.3.3 - fast-deep-equal: 3.1.3 - fast-shallow-equal: 1.0.0 - js-cookie: 2.2.1 - nano-css: 5.3.5_biqbaboplfbrettd7655fr4n2y - react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 - react-universal-interface: 0.6.2_react@18.2.0+tslib@2.5.0 - resize-observer-polyfill: 1.5.1 - screenfull: 5.2.0 - set-harmonic-interval: 1.0.1 - throttle-debounce: 3.0.1 - ts-easing: 0.2.0 - tslib: 2.5.0 - dev: false - - /react/18.2.0: + /react@18.2.0: resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} engines: {node: '>=0.10.0'} dependencies: loose-envify: 1.4.0 dev: false - /readable-stream/1.1.14: + /readable-stream@1.1.14: resolution: {integrity: sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==} dependencies: core-util-is: 1.0.3 @@ -8578,7 +8598,7 @@ packages: string_decoder: 0.10.31 dev: true - /readable-stream/2.3.8: + /readable-stream@2.3.8: resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} dependencies: core-util-is: 1.0.3 @@ -8590,7 +8610,7 @@ packages: util-deprecate: 1.0.2 dev: true - /readable-stream/3.6.2: + /readable-stream@3.6.2: resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} dependencies: @@ -8599,14 +8619,14 @@ packages: util-deprecate: 1.0.2 dev: true - /readdirp/3.6.0: + /readdirp@3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} dependencies: picomatch: 2.3.1 dev: true - /recast/0.21.5: + /recast@0.21.5: resolution: {integrity: sha512-hjMmLaUXAm1hIuTqOdeYObMslq/q+Xff6QE3Y2P+uoHAg2nmVlLBps2hzh1UJDdMtDTMXOFewK6ky51JQIeECg==} engines: {node: '>= 4'} dependencies: @@ -8616,24 +8636,24 @@ packages: tslib: 2.5.0 dev: true - /regenerate-unicode-properties/10.1.0: + /regenerate-unicode-properties@10.1.0: resolution: {integrity: sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==} engines: {node: '>=4'} dependencies: regenerate: 1.4.2 - /regenerate/1.4.2: + /regenerate@1.4.2: resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} - /regenerator-runtime/0.13.11: + /regenerator-runtime@0.13.11: resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} - /regenerator-transform/0.15.1: + /regenerator-transform@0.15.1: resolution: {integrity: sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==} dependencies: '@babel/runtime': 7.21.0 - /regexp.prototype.flags/1.4.3: + /regexp.prototype.flags@1.4.3: resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==} engines: {node: '>= 0.4'} dependencies: @@ -8641,7 +8661,7 @@ packages: define-properties: 1.2.0 functions-have-names: 1.2.3 - /regexpu-core/5.3.2: + /regexpu-core@5.3.2: resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==} engines: {node: '>=4'} dependencies: @@ -8652,22 +8672,22 @@ packages: unicode-match-property-ecmascript: 2.0.0 unicode-match-property-value-ecmascript: 2.1.0 - /regjsparser/0.9.1: + /regjsparser@0.9.1: resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} hasBin: true dependencies: jsesc: 0.5.0 - /remark-frontmatter/4.0.1: + /remark-frontmatter@4.0.1: resolution: {integrity: sha512-38fJrB0KnmD3E33a5jZC/5+gGAC2WKNiPw1/fdXJvijBlhA7RCsvJklrYJakS0HedninvaCYW8lQGf9C918GfA==} dependencies: - '@types/mdast': 3.0.10 + '@types/mdast': 3.0.11 mdast-util-frontmatter: 1.0.1 - micromark-extension-frontmatter: 1.0.1 + micromark-extension-frontmatter: 1.1.0 unified: 10.1.2 dev: true - /remark-mdx-frontmatter/1.1.1: + /remark-mdx-frontmatter@1.1.1: resolution: {integrity: sha512-7teX9DW4tI2WZkXS4DBxneYSY7NHiXl4AKdWDO9LXVweULlCT8OPWsOjLEnMIXViN1j+QcY8mfbq3k0EK6x3uA==} engines: {node: '>=12.2.0'} dependencies: @@ -8677,59 +8697,55 @@ packages: toml: 3.0.0 dev: true - /remark-parse/10.0.1: + /remark-parse@10.0.1: resolution: {integrity: sha512-1fUyHr2jLsVOkhbvPRBJ5zTKZZyD6yZzYaWCS6BPBdQ8vEMBCH+9zNCDA6tET/zHCi/jLqjCWtlJZUPk+DbnFw==} dependencies: - '@types/mdast': 3.0.10 + '@types/mdast': 3.0.11 mdast-util-from-markdown: 1.3.0 unified: 10.1.2 transitivePeerDependencies: - supports-color dev: true - /remark-rehype/9.1.0: + /remark-rehype@9.1.0: resolution: {integrity: sha512-oLa6YmgAYg19zb0ZrBACh40hpBLteYROaPLhBXzLgjqyHQrN+gVP9N/FJvfzuNNuzCutktkroXEZBrxAxKhh7Q==} dependencies: '@types/hast': 2.3.4 - '@types/mdast': 3.0.10 + '@types/mdast': 3.0.11 mdast-util-to-hast: 11.3.0 unified: 10.1.2 dev: true - /require-from-string/2.0.2: + /require-from-string@2.0.2: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} - /require-like/0.1.2: + /require-like@0.1.2: resolution: {integrity: sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==} dev: true - /resize-observer-polyfill/1.5.1: - resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==} - dev: false - - /resolve-alpn/1.2.1: + /resolve-alpn@1.2.1: resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} dev: true - /resolve-from/4.0.0: + /resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} - /resolve-from/5.0.0: + /resolve-from@5.0.0: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} engines: {node: '>=8'} dev: true - /resolve/1.22.1: - resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} + /resolve@1.22.2: + resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==} hasBin: true dependencies: is-core-module: 2.11.0 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - /resolve/2.0.0-next.4: + /resolve@2.0.0-next.4: resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==} hasBin: true dependencies: @@ -8738,13 +8754,13 @@ packages: supports-preserve-symlinks-flag: 1.0.0 dev: true - /responselike/2.0.1: + /responselike@2.0.1: resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==} dependencies: lowercase-keys: 2.0.0 dev: true - /restore-cursor/3.1.0: + /restore-cursor@3.1.0: resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} engines: {node: '>=8'} dependencies: @@ -8752,29 +8768,29 @@ packages: signal-exit: 3.0.7 dev: true - /reusify/1.0.4: + /reusify@1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - /rfdc/1.3.0: + /rfdc@1.3.0: resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} dev: true - /rimraf/2.7.1: + /rimraf@2.7.1: resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} hasBin: true dependencies: glob: 7.2.3 dev: false - /rimraf/3.0.2: + /rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} hasBin: true dependencies: glob: 7.2.3 dev: true - /rollup-plugin-inject/3.0.2: + /rollup-plugin-inject@3.0.2: resolution: {integrity: sha512-ptg9PQwzs3orn4jkgXJ74bfs5vYz1NCZlSQMBUA0wKcGp5i5pA1AO3fOUEte8enhGUC+iapTCzEWw2jEFFUO/w==} deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-inject. dependencies: @@ -8783,32 +8799,32 @@ packages: rollup-pluginutils: 2.8.2 dev: true - /rollup-plugin-node-polyfills/0.2.1: + /rollup-plugin-node-polyfills@0.2.1: resolution: {integrity: sha512-4kCrKPTJ6sK4/gLL/U5QzVT8cxJcofO0OU74tnB19F40cmuAKSzH5/siithxlofFEjwvw1YAhPmbvGNA6jEroA==} dependencies: rollup-plugin-inject: 3.0.2 dev: true - /rollup-plugin-terser/7.0.2_rollup@2.79.1: + /rollup-plugin-terser@7.0.2(rollup@2.79.1): resolution: {integrity: sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==} deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser peerDependencies: rollup: ^2.0.0 dependencies: - '@babel/code-frame': 7.18.6 + '@babel/code-frame': 7.21.4 jest-worker: 26.6.2 rollup: 2.79.1 serialize-javascript: 4.0.0 - terser: 5.16.6 + terser: 5.16.8 dev: false - /rollup-pluginutils/2.8.2: + /rollup-pluginutils@2.8.2: resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==} dependencies: estree-walker: 0.6.1 dev: true - /rollup/2.79.1: + /rollup@2.79.1: resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==} engines: {node: '>=10.0.0'} hasBin: true @@ -8816,100 +8832,89 @@ packages: fsevents: 2.3.2 dev: false - /rollup/3.19.1: - resolution: {integrity: sha512-lAbrdN7neYCg/8WaoWn/ckzCtz+jr70GFfYdlf50OF7387HTg+wiuiqJRFYawwSPpqfqDNYqK7smY/ks2iAudg==} + /rollup@3.20.2: + resolution: {integrity: sha512-3zwkBQl7Ai7MFYQE0y1MeQ15+9jsi7XxfrqwTb/9EK8D9C9+//EBR4M+CuA1KODRaNbFez/lWxA5vhEGZp4MUg==} engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true optionalDependencies: fsevents: 2.3.2 dev: true - /rtl-css-js/1.16.1: - resolution: {integrity: sha512-lRQgou1mu19e+Ya0LsTvKrVJ5TYUbqCVPAiImX3UfLTenarvPUl1QFdvu5Z3PYmHT9RCcwIfbjRQBntExyj3Zg==} - dependencies: - '@babel/runtime': 7.21.0 - dev: false - - /run-async/2.4.1: + /run-async@2.4.1: resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} engines: {node: '>=0.12.0'} dev: true - /run-parallel/1.2.0: + /run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} dependencies: queue-microtask: 1.2.3 - /rxjs/7.8.0: + /rxjs@7.8.0: resolution: {integrity: sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==} dependencies: tslib: 2.5.0 dev: true - /sade/1.8.1: + /sade@1.8.1: resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} engines: {node: '>=6'} dependencies: mri: 1.2.0 dev: true - /safe-buffer/5.1.2: + /safe-buffer@5.1.2: resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} dev: true - /safe-buffer/5.2.1: + /safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - /safe-regex-test/1.0.0: + /safe-regex-test@1.0.0: resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} dependencies: call-bind: 1.0.2 get-intrinsic: 1.2.0 is-regex: 1.1.4 - /safer-buffer/2.1.2: + /safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} dev: true - /scheduler/0.23.0: + /scheduler@0.23.0: resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} dependencies: loose-envify: 1.4.0 dev: false - /schema-utils/2.7.1: + /schema-utils@2.7.1: resolution: {integrity: sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==} engines: {node: '>= 8.9.0'} dependencies: '@types/json-schema': 7.0.11 ajv: 6.12.6 - ajv-keywords: 3.5.2_ajv@6.12.6 + ajv-keywords: 3.5.2(ajv@6.12.6) dev: false - /schema-utils/3.1.1: + /schema-utils@3.1.1: resolution: {integrity: sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==} engines: {node: '>= 10.13.0'} dependencies: '@types/json-schema': 7.0.11 ajv: 6.12.6 - ajv-keywords: 3.5.2_ajv@6.12.6 - dev: false - - /screenfull/5.2.0: - resolution: {integrity: sha512-9BakfsO2aUQN2K9Fdbj87RJIEZ82Q9IGim7FqM5OsebfoFC6ZHXgDq/KvniuLTPdeM8wY2o6Dj3WQ7KeQCj3cA==} - engines: {node: '>=0.10.0'} + ajv-keywords: 3.5.2(ajv@6.12.6) dev: false - /semver/6.1.1: + /semver@6.1.1: resolution: {integrity: sha512-rWYq2e5iYW+fFe/oPPtYJxYgjBm8sC4rmoGdUOgBB7VnwKt6HrL793l2voH1UlsyYZpJ4g0wfjnTEO1s1NP2eQ==} hasBin: true dev: true - /semver/6.3.0: + /semver@6.3.0: resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} hasBin: true - /semver/7.3.8: + /semver@7.3.8: resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} engines: {node: '>=10'} hasBin: true @@ -8917,7 +8922,7 @@ packages: lru-cache: 6.0.0 dev: true - /send/0.18.0: + /send@0.18.0: resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} engines: {node: '>= 0.8.0'} dependencies: @@ -8938,19 +8943,19 @@ packages: - supports-color dev: true - /serialize-javascript/4.0.0: + /serialize-javascript@4.0.0: resolution: {integrity: sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==} dependencies: randombytes: 2.1.0 dev: false - /serialize-javascript/6.0.1: + /serialize-javascript@6.0.1: resolution: {integrity: sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==} dependencies: randombytes: 2.1.0 dev: false - /serve-static/1.15.0: + /serve-static@1.15.0: resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} engines: {node: '>= 0.8.0'} dependencies: @@ -8962,56 +8967,51 @@ packages: - supports-color dev: true - /set-blocking/2.0.0: + /set-blocking@2.0.0: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} dev: true - /set-cookie-parser/2.5.1: - resolution: {integrity: sha512-1jeBGaKNGdEq4FgIrORu/N570dwoPYio8lSoYLWmX7sQ//0JY08Xh9o5pBcgmHQ/MbsYp/aZnOe1s1lIsbLprQ==} + /set-cookie-parser@2.6.0: + resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==} dev: true - /set-harmonic-interval/1.0.1: - resolution: {integrity: sha512-AhICkFV84tBP1aWqPwLZqFvAwqEoVA9kxNMniGEUvzOlm4vLmOFLiTT3UZ6bziJTy4bOVpzWGTfSCbmaayGx8g==} - engines: {node: '>=6.9'} - dev: false - - /setprototypeof/1.2.0: + /setprototypeof@1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} dev: true - /shebang-command/2.0.0: + /shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} dependencies: shebang-regex: 3.0.0 dev: true - /shebang-regex/3.0.0: + /shebang-regex@3.0.0: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} dev: true - /side-channel/1.0.4: + /side-channel@1.0.4: resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} dependencies: call-bind: 1.0.2 get-intrinsic: 1.2.0 object-inspect: 1.12.3 - /signal-exit/3.0.7: + /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: true - /slash/3.0.0: + /slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} - /slash/4.0.0: + /slash@4.0.0: resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} engines: {node: '>=12'} dev: true - /slice-ansi/3.0.0: + /slice-ansi@3.0.0: resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} engines: {node: '>=8'} dependencies: @@ -9020,7 +9020,7 @@ packages: is-fullwidth-code-point: 3.0.0 dev: true - /slice-ansi/4.0.0: + /slice-ansi@4.0.0: resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} engines: {node: '>=10'} dependencies: @@ -9029,7 +9029,7 @@ packages: is-fullwidth-code-point: 3.0.0 dev: true - /slice-ansi/5.0.0: + /slice-ansi@5.0.0: resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} engines: {node: '>=12'} dependencies: @@ -9037,12 +9037,12 @@ packages: is-fullwidth-code-point: 4.0.0 dev: true - /smart-buffer/4.2.0: + /smart-buffer@4.2.0: resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} dev: true - /socks-proxy-agent/5.0.1: + /socks-proxy-agent@5.0.1: resolution: {integrity: sha512-vZdmnjb9a2Tz6WEQVIurybSwElwPxMZaIc7PzqbJTrezcKNznv6giT7J7tZDZ1BojVaa1jvO/UiUdhDVB0ACoQ==} engines: {node: '>= 6'} dependencies: @@ -9053,7 +9053,7 @@ packages: - supports-color dev: true - /socks/2.7.1: + /socks@2.7.1: resolution: {integrity: sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==} engines: {node: '>= 10.13.0', npm: '>= 3.0.0'} dependencies: @@ -9061,11 +9061,11 @@ packages: smart-buffer: 4.2.0 dev: true - /sort-object-keys/1.1.3: + /sort-object-keys@1.1.3: resolution: {integrity: sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==} dev: true - /sort-package-json/1.57.0: + /sort-package-json@1.57.0: resolution: {integrity: sha512-FYsjYn2dHTRb41wqnv+uEqCUvBpK3jZcTp9rbz2qDTmel7Pmdtf+i2rLaaPMRZeSVM60V3Se31GyWFpmKs4Q5Q==} hasBin: true dependencies: @@ -9077,116 +9077,86 @@ packages: sort-object-keys: 1.1.3 dev: true - /source-list-map/2.0.1: + /source-list-map@2.0.1: resolution: {integrity: sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==} dev: false - /source-map-js/1.0.2: + /source-map-js@1.0.2: resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} engines: {node: '>=0.10.0'} - /source-map-support/0.5.21: + /source-map-support@0.5.21: resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} dependencies: buffer-from: 1.1.2 source-map: 0.6.1 - /source-map/0.5.6: - resolution: {integrity: sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==} - engines: {node: '>=0.10.0'} - dev: false - - /source-map/0.5.7: + /source-map@0.5.7: resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} engines: {node: '>=0.10.0'} dev: false - /source-map/0.6.1: + /source-map@0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} - /source-map/0.7.4: + /source-map@0.7.4: resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} engines: {node: '>= 8'} dev: true - /source-map/0.8.0-beta.0: + /source-map@0.8.0-beta.0: resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} engines: {node: '>= 8'} dependencies: whatwg-url: 7.1.0 dev: false - /sourcemap-codec/1.4.8: + /sourcemap-codec@1.4.8: resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} deprecated: Please use @jridgewell/sourcemap-codec instead - /space-separated-tokens/2.0.2: + /space-separated-tokens@2.0.2: resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} dev: true - /ssr-window/4.0.2: + /ssr-window@4.0.2: resolution: {integrity: sha512-ISv/Ch+ig7SOtw7G2+qkwfVASzazUnvlDTwypdLoPoySv+6MqlOV10VwPSE6EWkGjhW50lUmghPmpYZXMu/+AQ==} dev: false - /ssri/8.0.1: + /ssri@8.0.1: resolution: {integrity: sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==} engines: {node: '>= 8'} dependencies: minipass: 3.3.6 dev: true - /stack-generator/2.0.10: - resolution: {integrity: sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ==} - dependencies: - stackframe: 1.3.4 - dev: false - - /stackframe/1.3.4: - resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} - dev: false - - /stacktrace-gps/3.1.2: - resolution: {integrity: sha512-GcUgbO4Jsqqg6RxfyTHFiPxdPqF+3LFmQhm7MgCuYQOYuWyqxo5pwRPz5d/u6/WYJdEnWfK4r+jGbyD8TSggXQ==} - dependencies: - source-map: 0.5.6 - stackframe: 1.3.4 - dev: false - - /stacktrace-js/2.0.2: - resolution: {integrity: sha512-Je5vBeY4S1r/RnLydLl0TBTi3F2qdfWmYsGvtfZgEI+SCprPppaIhQf5nGcal4gI4cGpCV/duLcAzT1np6sQqg==} - dependencies: - error-stack-parser: 2.1.4 - stack-generator: 2.0.10 - stacktrace-gps: 3.1.2 - dev: false - - /statuses/2.0.1: + /statuses@2.0.1: resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} engines: {node: '>= 0.8'} dev: true - /stop-iteration-iterator/1.0.0: + /stop-iteration-iterator@1.0.0: resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} engines: {node: '>= 0.4'} dependencies: internal-slot: 1.0.5 dev: true - /stream-shift/1.0.1: + /stream-shift@1.0.1: resolution: {integrity: sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==} dev: true - /string-argv/0.3.1: + /string-argv@0.3.1: resolution: {integrity: sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==} engines: {node: '>=0.6.19'} dev: true - /string-hash/1.1.3: + /string-hash@1.1.3: resolution: {integrity: sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A==} dev: true - /string-width/4.2.3: + /string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} dependencies: @@ -9195,7 +9165,7 @@ packages: strip-ansi: 6.0.1 dev: true - /string-width/5.1.2: + /string-width@5.1.2: resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} engines: {node: '>=12'} dependencies: @@ -9204,7 +9174,7 @@ packages: strip-ansi: 7.0.1 dev: true - /string.prototype.matchall/4.0.8: + /string.prototype.matchall@4.0.8: resolution: {integrity: sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==} dependencies: call-bind: 1.0.2 @@ -9216,7 +9186,7 @@ packages: regexp.prototype.flags: 1.4.3 side-channel: 1.0.4 - /string.prototype.trim/1.2.7: + /string.prototype.trim@1.2.7: resolution: {integrity: sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==} engines: {node: '>= 0.4'} dependencies: @@ -9224,44 +9194,44 @@ packages: define-properties: 1.2.0 es-abstract: 1.21.2 - /string.prototype.trimend/1.0.6: + /string.prototype.trimend@1.0.6: resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==} dependencies: call-bind: 1.0.2 define-properties: 1.2.0 es-abstract: 1.21.2 - /string.prototype.trimstart/1.0.6: + /string.prototype.trimstart@1.0.6: resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==} dependencies: call-bind: 1.0.2 define-properties: 1.2.0 es-abstract: 1.21.2 - /string_decoder/0.10.31: + /string_decoder@0.10.31: resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==} dev: true - /string_decoder/1.1.1: + /string_decoder@1.1.1: resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} dependencies: safe-buffer: 5.1.2 dev: true - /string_decoder/1.3.0: + /string_decoder@1.3.0: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} dependencies: safe-buffer: 5.2.1 dev: true - /stringify-entities/4.0.3: + /stringify-entities@4.0.3: resolution: {integrity: sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==} dependencies: character-entities-html4: 2.1.0 character-entities-legacy: 3.0.0 dev: true - /stringify-object/3.3.0: + /stringify-object@3.3.0: resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} engines: {node: '>=4'} dependencies: @@ -9270,52 +9240,52 @@ packages: is-regexp: 1.0.0 dev: false - /strip-ansi/6.0.1: + /strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} dependencies: ansi-regex: 5.0.1 dev: true - /strip-ansi/7.0.1: + /strip-ansi@7.0.1: resolution: {integrity: sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==} engines: {node: '>=12'} dependencies: ansi-regex: 6.0.1 dev: true - /strip-bom/3.0.0: + /strip-bom@3.0.0: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} dev: true - /strip-comments/2.0.1: + /strip-comments@2.0.1: resolution: {integrity: sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==} engines: {node: '>=10'} dev: false - /strip-final-newline/2.0.0: + /strip-final-newline@2.0.0: resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} engines: {node: '>=6'} dev: true - /strip-final-newline/3.0.0: + /strip-final-newline@3.0.0: resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} engines: {node: '>=12'} dev: true - /strip-json-comments/3.1.1: + /strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} dev: true - /style-to-object/0.4.1: + /style-to-object@0.4.1: resolution: {integrity: sha512-HFpbb5gr2ypci7Qw+IOhnP2zOU7e77b+rzM+wTzXzfi1PrtBCX0E7Pk4wL4iTLnhzZ+JgEGAhX81ebTg/aYjQw==} dependencies: inline-style-parser: 0.1.1 dev: true - /styled-jsx/5.1.1_ogvc6ewgr3qq5z6tmbtquhqyui: + /styled-jsx@5.1.1(@babel/core@7.21.4)(react@18.2.0): resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} engines: {node: '>= 12.0.0'} peerDependencies: @@ -9328,63 +9298,64 @@ packages: babel-plugin-macros: optional: true dependencies: - '@babel/core': 7.21.3 + '@babel/core': 7.21.4 client-only: 0.0.1 react: 18.2.0 dev: false - /stylis/4.1.3: + /stylis@4.1.3: resolution: {integrity: sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA==} dev: false - /superjson/1.12.2: + /superjson@1.12.2: resolution: {integrity: sha512-ugvUo9/WmvWOjstornQhsN/sR9mnGtWGYeTxFuqLb4AiT4QdUavjGFRALCPKWWnAiUJ4HTpytj5e0t5HoMRkXg==} engines: {node: '>=10'} dependencies: copy-anything: 3.0.3 dev: false - /supports-color/5.5.0: + /supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} dependencies: has-flag: 3.0.0 - /supports-color/7.2.0: + /supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} dependencies: has-flag: 4.0.0 - /supports-color/8.1.1: + /supports-color@8.1.1: resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} engines: {node: '>=10'} dependencies: has-flag: 4.0.0 dev: false - /supports-preserve-symlinks-flag/1.0.0: + /supports-preserve-symlinks-flag@1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - /swiper/9.1.1: - resolution: {integrity: sha512-D1zArOwI6XCXCYBULPA4jTxpqp5SQtvntjinbXNZwXzj6P3KS51zSWuMarCLXq5oRISay4nX+TuShpxz8qhtbw==} + /swiper@8.4.7: + resolution: {integrity: sha512-VwO/KU3i9IV2Sf+W2NqyzwWob4yX9Qdedq6vBtS0rFqJ6Fa5iLUJwxQkuD4I38w0WDJwmFl8ojkdcRFPHWD+2g==} engines: {node: '>= 4.7.0'} + requiresBuild: true dependencies: + dom7: 4.0.6 ssr-window: 4.0.2 dev: false - /swr/2.1.0_react@18.2.0: - resolution: {integrity: sha512-4hYl5p3/KalQ1MORealM79g/DtLohmud6yyfXw5l4wjtFksYUnocRFudvyaoUtgj3FrVNK9lS25Av9dsZYvz0g==} - engines: {pnpm: '7'} + /swr@2.1.2(react@18.2.0): + resolution: {integrity: sha512-ocfaD2rnYZKqTDplCEX2bH5Z1++n2JSej9oYi7hVfXXWYm+0RP+H6fVrogWB0mtMclv1guk9kEnAzNLygOy9Hw==} peerDependencies: react: ^16.11.0 || ^17.0.0 || ^18.0.0 dependencies: react: 18.2.0 - use-sync-external-store: 1.2.0_react@18.2.0 + use-sync-external-store: 1.2.0(react@18.2.0) dev: false - /synckit/0.8.5: + /synckit@0.8.5: resolution: {integrity: sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==} engines: {node: ^14.18.0 || >=16.0.0} dependencies: @@ -9392,11 +9363,11 @@ packages: tslib: 2.5.0 dev: true - /tapable/2.2.1: + /tapable@2.2.1: resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} engines: {node: '>=6'} - /tar-fs/2.1.1: + /tar-fs@2.1.1: resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==} dependencies: chownr: 1.1.4 @@ -9405,7 +9376,7 @@ packages: tar-stream: 2.2.0 dev: true - /tar-stream/2.2.0: + /tar-stream@2.2.0: resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} engines: {node: '>=6'} dependencies: @@ -9416,7 +9387,7 @@ packages: readable-stream: 3.6.2 dev: true - /tar/6.1.13: + /tar@6.1.13: resolution: {integrity: sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==} engines: {node: '>=10'} dependencies: @@ -9428,12 +9399,12 @@ packages: yallist: 4.0.0 dev: true - /temp-dir/2.0.0: + /temp-dir@2.0.0: resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==} engines: {node: '>=8'} dev: false - /tempy/0.6.0: + /tempy@0.6.0: resolution: {integrity: sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==} engines: {node: '>=10'} dependencies: @@ -9443,7 +9414,7 @@ packages: unique-string: 2.0.0 dev: false - /terser-webpack-plugin/5.3.7_webpack@5.76.2: + /terser-webpack-plugin@5.3.7(esbuild@0.16.3)(webpack@5.78.0): resolution: {integrity: sha512-AfKwIktyP7Cu50xNjXF/6Qb5lBNzYaWpU6YfoX3uZicTx0zTy0stDDCsvjDapKsSDvOeWo5MEq4TmdBy2cNoHw==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -9459,115 +9430,103 @@ packages: uglify-js: optional: true dependencies: - '@jridgewell/trace-mapping': 0.3.17 + '@jridgewell/trace-mapping': 0.3.18 + esbuild: 0.16.3 jest-worker: 27.5.1 schema-utils: 3.1.1 serialize-javascript: 6.0.1 - terser: 5.16.6 - webpack: 5.76.2 + terser: 5.16.8 + webpack: 5.78.0(esbuild@0.16.3) dev: false - /terser/5.16.6: - resolution: {integrity: sha512-IBZ+ZQIA9sMaXmRZCUMDjNH0D5AQQfdn4WUjHL0+1lF4TP1IHRJbrhb6fNaXWikrYQTSkb7SLxkeXAiy1p7mbg==} + /terser@5.16.8: + resolution: {integrity: sha512-QI5g1E/ef7d+PsDifb+a6nnVgC4F22Bg6T0xrBrz6iloVB4PUkkunp6V8nzoOOZJIzjWVdAGqCdlKlhLq/TbIA==} engines: {node: '>=10'} hasBin: true dependencies: - '@jridgewell/source-map': 0.3.2 + '@jridgewell/source-map': 0.3.3 acorn: 8.8.2 commander: 2.20.3 source-map-support: 0.5.21 dev: false - /text-table/0.2.0: + /text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} dev: true - /throttle-debounce/3.0.1: - resolution: {integrity: sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg==} - engines: {node: '>=10'} - dev: false - - /through/2.3.8: - resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} - dev: true - - /through2/2.0.5: + /through2@2.0.5: resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} dependencies: readable-stream: 2.3.8 xtend: 4.0.2 dev: true - /time-span/4.0.0: + /through@2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + dev: true + + /time-span@4.0.0: resolution: {integrity: sha512-MyqZCTGLDZ77u4k+jqg4UlrzPTPZ49NDlaekU6uuFaJLzPIN1woaRXCbGeqOfxwc3Y37ZROGAJ614Rdv7Olt+g==} engines: {node: '>=10'} dependencies: convert-hrtime: 3.0.0 dev: true - /tiny-glob/0.2.9: + /tiny-glob@0.2.9: resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==} dependencies: globalyzer: 0.1.0 globrex: 0.1.2 dev: true - /tmp/0.0.33: + /tmp@0.0.33: resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} engines: {node: '>=0.6.0'} dependencies: os-tmpdir: 1.0.2 dev: true - /to-fast-properties/2.0.0: + /to-fast-properties@2.0.0: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} engines: {node: '>=4'} - /to-regex-range/5.0.1: + /to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} dependencies: is-number: 7.0.0 - /toggle-selection/1.0.6: - resolution: {integrity: sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==} - dev: false - - /toidentifier/1.0.1: + /toidentifier@1.0.1: resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} engines: {node: '>=0.6'} dev: true - /toml/3.0.0: + /toml@3.0.0: resolution: {integrity: sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==} dev: true - /tr46/0.0.3: + /tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} dev: true - /tr46/1.0.1: + /tr46@1.0.1: resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} dependencies: punycode: 2.3.0 dev: false - /trough/2.1.0: + /trough@2.1.0: resolution: {integrity: sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==} dev: true - /ts-easing/0.2.0: - resolution: {integrity: sha512-Z86EW+fFFh/IFB1fqQ3/+7Zpf9t2ebOAxNI/V6Wo7r5gqiqtxmgTlQ1qbqQcjLKYeSHPTsEmvlJUDg/EuL0uHQ==} - dev: false - - /ts-morph/12.0.0: + /ts-morph@12.0.0: resolution: {integrity: sha512-VHC8XgU2fFW7yO1f/b3mxKDje1vmyzFXHWzOYmKEkCEwcLjDtbdLgBQviqj4ZwP4MJkQtRo6Ha2I29lq/B+VxA==} dependencies: '@ts-morph/common': 0.11.1 code-block-writer: 10.1.1 dev: true - /ts-node/10.9.1_jh3j7gf3qptnaxtpzk3sx5vjku: + /ts-node@10.9.1(@types/node@14.18.33)(typescript@4.3.4): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -9598,11 +9557,11 @@ packages: yn: 3.1.1 dev: true - /ts-toolbelt/6.15.5: + /ts-toolbelt@6.15.5: resolution: {integrity: sha512-FZIXf1ksVyLcfr7M317jbB67XFJhOO1YqdTcuGaq9q5jLUoTikukZ+98TPjKiP2jC5CgmYdWWYs0s2nLSU0/1A==} dev: true - /tsconfig-paths/3.14.2: + /tsconfig-paths@3.14.2: resolution: {integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==} dependencies: '@types/json5': 0.0.29 @@ -9611,8 +9570,8 @@ packages: strip-bom: 3.0.0 dev: true - /tsconfig-paths/4.1.2: - resolution: {integrity: sha512-uhxiMgnXQp1IR622dUXI+9Ehnws7i/y6xvpZB9IbUVOPy0muvdvgXeZOn88UcGPiT98Vp3rJPTa8bFoalZ3Qhw==} + /tsconfig-paths@4.2.0: + resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} engines: {node: '>=6'} dependencies: json5: 2.2.3 @@ -9620,25 +9579,25 @@ packages: strip-bom: 3.0.0 dev: true - /tslib/1.14.1: + /tslib@1.14.1: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} dev: true - /tslib/2.5.0: + /tslib@2.5.0: resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} - /tsutils/3.21.0_typescript@4.9.5: + /tsutils@3.21.0(typescript@5.0.4): resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} peerDependencies: 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' dependencies: tslib: 1.14.1 - typescript: 4.9.5 + typescript: 5.0.4 dev: true - /tsx/3.12.5: - resolution: {integrity: sha512-/TLj30xF1zcN9JkoFCyROtIQUi8cRQG+AFchsg5YkWou3+RXxTZS/ffWB3nCxyZPoBqF2+8ohs07N815dNb1wQ==} + /tsx@3.12.6: + resolution: {integrity: sha512-q93WgS3lBdHlPgS0h1i+87Pt6n9K/qULIMNYZo07nSeu2z5QE2CellcAZfofVXBo2tQg9av2ZcRMQ2S2i5oadQ==} hasBin: true dependencies: '@esbuild-kit/cjs-loader': 2.4.2 @@ -9648,36 +9607,36 @@ packages: fsevents: 2.3.2 dev: true - /type-check/0.3.2: + /type-check@0.3.2: resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==} engines: {node: '>= 0.8.0'} dependencies: prelude-ls: 1.1.2 dev: true - /type-check/0.4.0: + /type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} dependencies: prelude-ls: 1.2.1 dev: true - /type-fest/0.16.0: + /type-fest@0.16.0: resolution: {integrity: sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==} engines: {node: '>=10'} dev: false - /type-fest/0.20.2: + /type-fest@0.20.2: resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} engines: {node: '>=10'} dev: true - /type-fest/0.21.3: + /type-fest@0.21.3: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} dev: true - /type-is/1.6.18: + /type-is@1.6.18: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} dependencies: @@ -9685,30 +9644,30 @@ packages: mime-types: 2.1.35 dev: true - /typed-array-length/1.0.4: + /typed-array-length@1.0.4: resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} dependencies: call-bind: 1.0.2 for-each: 0.3.3 is-typed-array: 1.1.10 - /typescript/4.3.4: + /typescript@4.3.4: resolution: {integrity: sha512-uauPG7XZn9F/mo+7MrsRjyvbxFpzemRjKEZXS4AK83oP2KKOJPvb+9cO/gmnv8arWZvhnjVOXz7B49m1l0e9Ew==} engines: {node: '>=4.2.0'} hasBin: true dev: true - /typescript/4.9.5: - resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} - engines: {node: '>=4.2.0'} + /typescript@5.0.4: + resolution: {integrity: sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==} + engines: {node: '>=12.20'} hasBin: true dev: true - /ufo/1.1.1: + /ufo@1.1.1: resolution: {integrity: sha512-MvlCc4GHrmZdAllBc0iUDowff36Q9Ndw/UzqmEKyrfSzokTd9ZCy1i+IIk5hrYKkjoYVQyNbrw7/F8XJ2rEwTg==} dev: true - /unbox-primitive/1.0.2: + /unbox-primitive@1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} dependencies: call-bind: 1.0.2 @@ -9716,26 +9675,26 @@ packages: has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 - /unicode-canonical-property-names-ecmascript/2.0.0: + /unicode-canonical-property-names-ecmascript@2.0.0: resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} engines: {node: '>=4'} - /unicode-match-property-ecmascript/2.0.0: + /unicode-match-property-ecmascript@2.0.0: resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} engines: {node: '>=4'} dependencies: unicode-canonical-property-names-ecmascript: 2.0.0 unicode-property-aliases-ecmascript: 2.1.0 - /unicode-match-property-value-ecmascript/2.1.0: + /unicode-match-property-value-ecmascript@2.1.0: resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==} engines: {node: '>=4'} - /unicode-property-aliases-ecmascript/2.1.0: + /unicode-property-aliases-ecmascript@2.1.0: resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} engines: {node: '>=4'} - /unified/10.1.2: + /unified@10.1.2: resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==} dependencies: '@types/unist': 2.0.6 @@ -9747,74 +9706,74 @@ packages: vfile: 5.3.7 dev: true - /unique-filename/1.1.1: + /unique-filename@1.1.1: resolution: {integrity: sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==} dependencies: unique-slug: 2.0.2 dev: true - /unique-slug/2.0.2: + /unique-slug@2.0.2: resolution: {integrity: sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==} dependencies: imurmurhash: 0.1.4 dev: true - /unique-string/2.0.0: + /unique-string@2.0.0: resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} engines: {node: '>=8'} dependencies: crypto-random-string: 2.0.0 dev: false - /unist-builder/3.0.1: + /unist-builder@3.0.1: resolution: {integrity: sha512-gnpOw7DIpCA0vpr6NqdPvTWnlPTApCTRzr+38E6hCWx3rz/cjo83SsKIlS1Z+L5ttScQ2AwutNnb8+tAvpb6qQ==} dependencies: '@types/unist': 2.0.6 dev: true - /unist-util-generated/2.0.1: + /unist-util-generated@2.0.1: resolution: {integrity: sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==} dev: true - /unist-util-is/5.2.1: + /unist-util-is@5.2.1: resolution: {integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==} dependencies: '@types/unist': 2.0.6 dev: true - /unist-util-position-from-estree/1.1.2: + /unist-util-position-from-estree@1.1.2: resolution: {integrity: sha512-poZa0eXpS+/XpoQwGwl79UUdea4ol2ZuCYguVaJS4qzIOMDzbqz8a3erUCOmubSZkaOuGamb3tX790iwOIROww==} dependencies: '@types/unist': 2.0.6 dev: true - /unist-util-position/4.0.4: + /unist-util-position@4.0.4: resolution: {integrity: sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==} dependencies: '@types/unist': 2.0.6 dev: true - /unist-util-remove-position/4.0.2: + /unist-util-remove-position@4.0.2: resolution: {integrity: sha512-TkBb0HABNmxzAcfLf4qsIbFbaPDvMO6wa3b3j4VcEzFVaw1LBKwnW4/sRJ/atSLSzoIg41JWEdnE7N6DIhGDGQ==} dependencies: '@types/unist': 2.0.6 unist-util-visit: 4.1.2 dev: true - /unist-util-stringify-position/3.0.3: + /unist-util-stringify-position@3.0.3: resolution: {integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==} dependencies: '@types/unist': 2.0.6 dev: true - /unist-util-visit-parents/5.1.3: + /unist-util-visit-parents@5.1.3: resolution: {integrity: sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==} dependencies: '@types/unist': 2.0.6 unist-util-is: 5.2.1 dev: true - /unist-util-visit/4.1.2: + /unist-util-visit@4.1.2: resolution: {integrity: sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==} dependencies: '@types/unist': 2.0.6 @@ -9822,26 +9781,33 @@ packages: unist-util-visit-parents: 5.1.3 dev: true - /universalify/0.1.2: + /universal-cookie@4.0.4: + resolution: {integrity: sha512-lbRVHoOMtItjWbM7TwDLdl8wug7izB0tq3/YVKhT/ahB4VDvWMyvnADfnJI8y6fSvsjh51Ix7lTGC6Tn4rMPhw==} + dependencies: + '@types/cookie': 0.3.3 + cookie: 0.4.2 + dev: false + + /universalify@0.1.2: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} dev: true - /universalify/2.0.0: + /universalify@2.0.0: resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} engines: {node: '>= 10.0.0'} - /unpipe/1.0.0: + /unpipe@1.0.0: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} dev: true - /upath/1.2.0: + /upath@1.2.0: resolution: {integrity: sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==} engines: {node: '>=4'} dev: false - /update-browserslist-db/1.0.10_browserslist@4.21.5: + /update-browserslist-db@1.0.10(browserslist@4.21.5): resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==} hasBin: true peerDependencies: @@ -9851,12 +9817,12 @@ packages: escalade: 3.1.1 picocolors: 1.0.0 - /uri-js/4.4.1: + /uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: punycode: 2.3.0 - /use-sync-external-store/1.2.0_react@18.2.0: + /use-sync-external-store@1.2.0(react@18.2.0): resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -9864,7 +9830,7 @@ packages: react: 18.2.0 dev: false - /usehooks-ts/2.9.1_biqbaboplfbrettd7655fr4n2y: + /usehooks-ts@2.9.1(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-2FAuSIGHlY+apM9FVlj8/oNhd+1y+Uwv5QNkMQz1oSfdHk4PXo1qoCw9I5M7j0vpH8CSWFJwXbVPeYDjLCx9PA==} engines: {node: '>=16.15.0', npm: '>=8'} peerDependencies: @@ -9872,19 +9838,19 @@ packages: react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 + react-dom: 18.2.0(react@18.2.0) dev: false - /util-deprecate/1.0.2: + /util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} dev: true - /utils-merge/1.0.1: + /utils-merge@1.0.1: resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} engines: {node: '>= 0.4.0'} dev: true - /uvu/0.5.6: + /uvu@0.5.6: resolution: {integrity: sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==} engines: {node: '>=8'} hasBin: true @@ -9895,31 +9861,31 @@ packages: sade: 1.8.1 dev: true - /v8-compile-cache-lib/3.0.1: + /v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} dev: true - /vary/1.1.2: + /vary@1.1.2: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} dev: true - /vercel/28.16.15_@types+node@18.15.3: - resolution: {integrity: sha512-BMf/PYgJ5Tz5q9w/poWCKIQ2XHPiFpU1gdMpujOFlBwNHXp2XbOiIJkoEKSSNzYIJibrpBha/KE93qw4bgFN/w==} + /vercel@28.18.4(@types/node@18.15.11): + resolution: {integrity: sha512-JEG/fX5yYIXSBmU6rjY269x2NxVFZKiF40UJSeBUiZwzzrnIHv+LLyvIiWg+2NJjZ4IvYGrZTRVnEZYPlUlBmQ==} engines: {node: '>= 14'} hasBin: true requiresBuild: true dependencies: - '@vercel/build-utils': 6.3.4 - '@vercel/go': 2.3.11 - '@vercel/hydrogen': 0.0.57 - '@vercel/next': 3.6.6 - '@vercel/node': 2.9.12 - '@vercel/python': 3.1.53 - '@vercel/redwood': 1.1.9 - '@vercel/remix': 1.6.2_@types+node@18.15.3 - '@vercel/ruby': 1.3.70 - '@vercel/static-build': 1.3.16 + '@vercel/build-utils': 6.7.1 + '@vercel/go': 2.4.4 + '@vercel/hydrogen': 0.0.62 + '@vercel/next': 3.7.4 + '@vercel/node': 2.10.3 + '@vercel/python': 3.1.58 + '@vercel/redwood': 1.1.14 + '@vercel/remix-builder': 1.8.4(@types/node@18.15.11) + '@vercel/ruby': 1.3.75 + '@vercel/static-build': 1.3.22 transitivePeerDependencies: - '@remix-run/serve' - '@swc/core' @@ -9938,21 +9904,21 @@ packages: - utf-8-validate dev: true - /vfile-location/4.1.0: + /vfile-location@4.1.0: resolution: {integrity: sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw==} dependencies: '@types/unist': 2.0.6 vfile: 5.3.7 dev: true - /vfile-message/3.1.4: + /vfile-message@3.1.4: resolution: {integrity: sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==} dependencies: '@types/unist': 2.0.6 unist-util-stringify-position: 3.0.3 dev: true - /vfile/5.3.7: + /vfile@5.3.7: resolution: {integrity: sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==} dependencies: '@types/unist': 2.0.6 @@ -9961,7 +9927,7 @@ packages: vfile-message: 3.1.4 dev: true - /vite-node/0.28.5_@types+node@18.15.3: + /vite-node@0.28.5(@types/node@18.15.11): resolution: {integrity: sha512-LmXb9saMGlrMZbXTvOveJKwMTBTNUH66c8rJnQ0ZPNX+myPEol64+szRzXtV5ORb0Hb/91yq+/D3oERoyAt6LA==} engines: {node: '>=v14.16.0'} hasBin: true @@ -9973,7 +9939,7 @@ packages: picocolors: 1.0.0 source-map: 0.6.1 source-map-support: 0.5.21 - vite: 4.2.0_@types+node@18.15.3 + vite: 4.2.1(@types/node@18.15.11) transitivePeerDependencies: - '@types/node' - less @@ -9984,8 +9950,8 @@ packages: - terser dev: true - /vite/4.2.0_@types+node@18.15.3: - resolution: {integrity: sha512-AbDTyzzwuKoRtMIRLGNxhLRuv1FpRgdIw+1y6AQG73Q5+vtecmvzKo/yk8X/vrHDpETRTx01ABijqUHIzBXi0g==} + /vite@4.2.1(@types/node@18.15.11): + resolution: {integrity: sha512-7MKhqdy0ISo4wnvwtqZkjke6XN4taqQ2TBaTccLIpOKv7Vp2h4Y+NpmWCnGDeSvvn45KxvWgGyb0MkHvY1vgbg==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: @@ -10009,17 +9975,17 @@ packages: terser: optional: true dependencies: - '@types/node': 18.15.3 - esbuild: 0.17.11 + '@types/node': 18.15.11 + esbuild: 0.17.6 postcss: 8.4.21 - resolve: 1.22.1 - rollup: 3.19.1 + resolve: 1.22.2 + rollup: 3.20.2 optionalDependencies: fsevents: 2.3.2 dev: true - /vm2/3.9.14: - resolution: {integrity: sha512-HgvPHYHeQy8+QhzlFryvSteA4uQLBCOub02mgqdR+0bN/akRZ48TGB1v0aCv7ksyc0HXx16AZtMHKS38alc6TA==} + /vm2@3.9.15: + resolution: {integrity: sha512-XqNqknHGw2avJo13gbIwLNZUumvrSHc9mLqoadFZTpo3KaNEJoe1I0lqTFhRXmXD7WkLyG01aaraXdXT0pa4ag==} engines: {node: '>=6.0'} hasBin: true dependencies: @@ -10027,46 +9993,46 @@ packages: acorn-walk: 8.2.0 dev: true - /watchpack/2.4.0: + /watchpack@2.4.0: resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==} engines: {node: '>=10.13.0'} dependencies: glob-to-regexp: 0.4.1 - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 dev: false - /wcwidth/1.0.1: + /wcwidth@1.0.1: resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} dependencies: defaults: 1.0.4 dev: true - /web-vitals/0.2.4: + /web-vitals@0.2.4: resolution: {integrity: sha512-6BjspCO9VriYy12z356nL6JBS0GYeEcA457YyRzD+dD6XYCQ75NKhcOHUMHentOE7OcVCIXXDvOm0jKFfQG2Gg==} dev: true - /webidl-conversions/3.0.1: + /webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} dev: true - /webidl-conversions/4.0.2: + /webidl-conversions@4.0.2: resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} dev: false - /webpack-sources/1.4.3: + /webpack-sources@1.4.3: resolution: {integrity: sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==} dependencies: source-list-map: 2.0.1 source-map: 0.6.1 dev: false - /webpack-sources/3.2.3: + /webpack-sources@3.2.3: resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} engines: {node: '>=10.13.0'} dev: false - /webpack/5.76.2: - resolution: {integrity: sha512-Th05ggRm23rVzEOlX8y67NkYCHa9nTNcwHPBhdg+lKG+mtiW7XgggjAeeLnADAe7mLjJ6LUNfgHAuRRh+Z6J7w==} + /webpack@5.78.0(esbuild@0.16.3): + resolution: {integrity: sha512-gT5DP72KInmE/3azEaQrISjTvLYlSM0j1Ezhht/KLVkrqtv10JoP/RXhwmX/frrutOPuSq3o5Vq0ehR/4Vmd1g==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -10081,7 +10047,7 @@ packages: '@webassemblyjs/wasm-edit': 1.11.1 '@webassemblyjs/wasm-parser': 1.11.1 acorn: 8.8.2 - acorn-import-assertions: 1.8.0_acorn@8.8.2 + acorn-import-assertions: 1.8.0(acorn@8.8.2) browserslist: 4.21.5 chrome-trace-event: 1.0.3 enhanced-resolve: 5.12.0 @@ -10089,14 +10055,14 @@ packages: eslint-scope: 5.1.1 events: 3.3.0 glob-to-regexp: 0.4.1 - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 json-parse-even-better-errors: 2.3.1 loader-runner: 4.3.0 mime-types: 2.1.35 neo-async: 2.6.2 schema-utils: 3.1.1 tapable: 2.2.1 - terser-webpack-plugin: 5.3.7_webpack@5.76.2 + terser-webpack-plugin: 5.3.7(esbuild@0.16.3)(webpack@5.78.0) watchpack: 2.4.0 webpack-sources: 3.2.3 transitivePeerDependencies: @@ -10105,14 +10071,14 @@ packages: - uglify-js dev: false - /whatwg-url/5.0.0: + /whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} dependencies: tr46: 0.0.3 webidl-conversions: 3.0.1 dev: true - /whatwg-url/7.1.0: + /whatwg-url@7.1.0: resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} dependencies: lodash.sortby: 4.7.0 @@ -10120,7 +10086,7 @@ packages: webidl-conversions: 4.0.2 dev: false - /which-boxed-primitive/1.0.2: + /which-boxed-primitive@1.0.2: resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} dependencies: is-bigint: 1.0.4 @@ -10129,7 +10095,7 @@ packages: is-string: 1.0.7 is-symbol: 1.0.4 - /which-collection/1.0.1: + /which-collection@1.0.1: resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==} dependencies: is-map: 2.0.2 @@ -10138,7 +10104,7 @@ packages: is-weakset: 2.0.2 dev: true - /which-typed-array/1.1.9: + /which-typed-array@1.1.9: resolution: {integrity: sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==} engines: {node: '>= 0.4'} dependencies: @@ -10149,7 +10115,7 @@ packages: has-tostringtag: 1.0.0 is-typed-array: 1.1.10 - /which/2.0.2: + /which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} hasBin: true @@ -10157,41 +10123,41 @@ packages: isexe: 2.0.0 dev: true - /wide-align/1.1.5: + /wide-align@1.1.5: resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} dependencies: string-width: 4.2.3 dev: true - /word-wrap/1.2.3: + /word-wrap@1.2.3: resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} engines: {node: '>=0.10.0'} dev: true - /workbox-background-sync/6.5.4: + /workbox-background-sync@6.5.4: resolution: {integrity: sha512-0r4INQZMyPky/lj4Ou98qxcThrETucOde+7mRGJl13MPJugQNKeZQOdIJe/1AchOP23cTqHcN/YVpD6r8E6I8g==} dependencies: idb: 7.1.1 workbox-core: 6.5.4 dev: false - /workbox-broadcast-update/6.5.4: + /workbox-broadcast-update@6.5.4: resolution: {integrity: sha512-I/lBERoH1u3zyBosnpPEtcAVe5lwykx9Yg1k6f8/BGEPGaMMgZrwVrqL1uA9QZ1NGGFoyE6t9i7lBjOlDhFEEw==} dependencies: workbox-core: 6.5.4 dev: false - /workbox-build/6.5.4: + /workbox-build@6.5.4: resolution: {integrity: sha512-kgRevLXEYvUW9WS4XoziYqZ8Q9j/2ziJYEtTrjdz5/L/cTUa2XfyMP2i7c3p34lgqJ03+mTiz13SdFef2POwbA==} engines: {node: '>=10.0.0'} dependencies: - '@apideck/better-ajv-errors': 0.3.6_ajv@8.12.0 - '@babel/core': 7.21.3 - '@babel/preset-env': 7.20.2_@babel+core@7.21.3 + '@apideck/better-ajv-errors': 0.3.6(ajv@8.12.0) + '@babel/core': 7.21.4 + '@babel/preset-env': 7.21.4(@babel/core@7.21.4) '@babel/runtime': 7.21.0 - '@rollup/plugin-babel': 5.3.1_hqhlikriuul7byjexqnpgcmenu - '@rollup/plugin-node-resolve': 11.2.1_rollup@2.79.1 - '@rollup/plugin-replace': 2.4.2_rollup@2.79.1 + '@rollup/plugin-babel': 5.3.1(@babel/core@7.21.4)(rollup@2.79.1) + '@rollup/plugin-node-resolve': 11.2.1(rollup@2.79.1) + '@rollup/plugin-replace': 2.4.2(rollup@2.79.1) '@surma/rollup-plugin-off-main-thread': 2.2.3 ajv: 8.12.0 common-tags: 1.8.2 @@ -10201,7 +10167,7 @@ packages: lodash: 4.17.21 pretty-bytes: 5.6.0 rollup: 2.79.1 - rollup-plugin-terser: 7.0.2_rollup@2.79.1 + rollup-plugin-terser: 7.0.2(rollup@2.79.1) source-map: 0.8.0-beta.0 stringify-object: 3.3.0 strip-comments: 2.0.1 @@ -10227,24 +10193,24 @@ packages: - supports-color dev: false - /workbox-cacheable-response/6.5.4: + /workbox-cacheable-response@6.5.4: resolution: {integrity: sha512-DCR9uD0Fqj8oB2TSWQEm1hbFs/85hXXoayVwFKLVuIuxwJaihBsLsp4y7J9bvZbqtPJ1KlCkmYVGQKrBU4KAug==} dependencies: workbox-core: 6.5.4 dev: false - /workbox-core/6.5.4: + /workbox-core@6.5.4: resolution: {integrity: sha512-OXYb+m9wZm8GrORlV2vBbE5EC1FKu71GGp0H4rjmxmF4/HLbMCoTFws87M3dFwgpmg0v00K++PImpNQ6J5NQ6Q==} dev: false - /workbox-expiration/6.5.4: + /workbox-expiration@6.5.4: resolution: {integrity: sha512-jUP5qPOpH1nXtjGGh1fRBa1wJL2QlIb5mGpct3NzepjGG2uFFBn4iiEBiI9GUmfAFR2ApuRhDydjcRmYXddiEQ==} dependencies: idb: 7.1.1 workbox-core: 6.5.4 dev: false - /workbox-google-analytics/6.5.4: + /workbox-google-analytics@6.5.4: resolution: {integrity: sha512-8AU1WuaXsD49249Wq0B2zn4a/vvFfHkpcFfqAFHNHwln3jK9QUYmzdkKXGIZl9wyKNP+RRX30vcgcyWMcZ9VAg==} dependencies: workbox-background-sync: 6.5.4 @@ -10253,13 +10219,13 @@ packages: workbox-strategies: 6.5.4 dev: false - /workbox-navigation-preload/6.5.4: + /workbox-navigation-preload@6.5.4: resolution: {integrity: sha512-IIwf80eO3cr8h6XSQJF+Hxj26rg2RPFVUmJLUlM0+A2GzB4HFbQyKkrgD5y2d84g2IbJzP4B4j5dPBRzamHrng==} dependencies: workbox-core: 6.5.4 dev: false - /workbox-precaching/6.5.4: + /workbox-precaching@6.5.4: resolution: {integrity: sha512-hSMezMsW6btKnxHB4bFy2Qfwey/8SYdGWvVIKFaUm8vJ4E53JAY+U2JwLTRD8wbLWoP6OVUdFlXsTdKu9yoLTg==} dependencies: workbox-core: 6.5.4 @@ -10267,13 +10233,13 @@ packages: workbox-strategies: 6.5.4 dev: false - /workbox-range-requests/6.5.4: + /workbox-range-requests@6.5.4: resolution: {integrity: sha512-Je2qR1NXCFC8xVJ/Lux6saH6IrQGhMpDrPXWZWWS8n/RD+WZfKa6dSZwU+/QksfEadJEr/NfY+aP/CXFFK5JFg==} dependencies: workbox-core: 6.5.4 dev: false - /workbox-recipes/6.5.4: + /workbox-recipes@6.5.4: resolution: {integrity: sha512-QZNO8Ez708NNwzLNEXTG4QYSKQ1ochzEtRLGaq+mr2PyoEIC1xFW7MrWxrONUxBFOByksds9Z4//lKAX8tHyUA==} dependencies: workbox-cacheable-response: 6.5.4 @@ -10284,30 +10250,30 @@ packages: workbox-strategies: 6.5.4 dev: false - /workbox-routing/6.5.4: + /workbox-routing@6.5.4: resolution: {integrity: sha512-apQswLsbrrOsBUWtr9Lf80F+P1sHnQdYodRo32SjiByYi36IDyL2r7BH1lJtFX8fwNHDa1QOVY74WKLLS6o5Pg==} dependencies: workbox-core: 6.5.4 dev: false - /workbox-strategies/6.5.4: + /workbox-strategies@6.5.4: resolution: {integrity: sha512-DEtsxhx0LIYWkJBTQolRxG4EI0setTJkqR4m7r4YpBdxtWJH1Mbg01Cj8ZjNOO8etqfA3IZaOPHUxCs8cBsKLw==} dependencies: workbox-core: 6.5.4 dev: false - /workbox-streams/6.5.4: + /workbox-streams@6.5.4: resolution: {integrity: sha512-FXKVh87d2RFXkliAIheBojBELIPnWbQdyDvsH3t74Cwhg0fDheL1T8BqSM86hZvC0ZESLsznSYWw+Va+KVbUzg==} dependencies: workbox-core: 6.5.4 workbox-routing: 6.5.4 dev: false - /workbox-sw/6.5.4: + /workbox-sw@6.5.4: resolution: {integrity: sha512-vo2RQo7DILVRoH5LjGqw3nphavEjK4Qk+FenXeUsknKn14eCNedHOXWbmnvP4ipKhlE35pvJ4yl4YYf6YsJArA==} dev: false - /workbox-webpack-plugin/6.5.4_webpack@5.76.2: + /workbox-webpack-plugin@6.5.4(webpack@5.78.0): resolution: {integrity: sha512-LmWm/zoaahe0EGmMTrSLUi+BjyR3cdGEfU3fS6PN1zKFYbqAKuQ+Oy/27e4VSXsyIwAw8+QDfk1XHNGtZu9nQg==} engines: {node: '>=10.0.0'} peerDependencies: @@ -10316,7 +10282,7 @@ packages: fast-json-stable-stringify: 2.1.0 pretty-bytes: 5.6.0 upath: 1.2.0 - webpack: 5.76.2 + webpack: 5.78.0(esbuild@0.16.3) webpack-sources: 1.4.3 workbox-build: 6.5.4 transitivePeerDependencies: @@ -10324,14 +10290,14 @@ packages: - supports-color dev: false - /workbox-window/6.5.4: + /workbox-window@6.5.4: resolution: {integrity: sha512-HnLZJDwYBE+hpG25AQBO8RUWBJRaCsI9ksQJEp3aCOFCaG5kqaToAYXFRAHxzRluM2cQbGzdQF5rjKPWPA1fug==} dependencies: '@types/trusted-types': 2.0.3 workbox-core: 6.5.4 dev: false - /wrap-ansi/6.2.0: + /wrap-ansi@6.2.0: resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} engines: {node: '>=8'} dependencies: @@ -10340,7 +10306,7 @@ packages: strip-ansi: 6.0.1 dev: true - /wrap-ansi/7.0.0: + /wrap-ansi@7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} dependencies: @@ -10349,10 +10315,10 @@ packages: strip-ansi: 6.0.1 dev: true - /wrappy/1.0.2: + /wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - /ws/7.5.9: + /ws@7.5.9: resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==} engines: {node: '>=8.3.0'} peerDependencies: @@ -10365,7 +10331,7 @@ packages: optional: true dev: true - /xdm/2.1.0: + /xdm@2.1.0: resolution: {integrity: sha512-3LxxbxKcRogYY7cQSMy1tUuU1zKNK9YPqMT7/S0r7Cz2QpyF8O9yFySGD7caOZt+LWUOQioOIX+6ZzCoBCpcAA==} dependencies: '@rollup/pluginutils': 4.2.1 @@ -10395,46 +10361,46 @@ packages: - supports-color dev: true - /xregexp/2.0.0: + /xregexp@2.0.0: resolution: {integrity: sha512-xl/50/Cf32VsGq/1R8jJE5ajH1yMCQkpmoS10QbFZWl2Oor4H0Me64Pu2yxvsRWK3m6soJbmGfzSR7BYmDcWAA==} dev: true - /xtend/4.0.2: + /xtend@4.0.2: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} engines: {node: '>=0.4'} dev: true - /yallist/3.1.1: + /yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - /yallist/4.0.0: + /yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} dev: true - /yaml/1.10.2: + /yaml@1.10.2: resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} engines: {node: '>= 6'} dev: false - /yaml/2.2.1: + /yaml@2.2.1: resolution: {integrity: sha512-e0WHiYql7+9wr4cWMx3TVQrNwejKaEe7/rHNmQmqRjazfOP5W8PB6Jpebb5o6fIapbz9o9+2ipcaTM2ZwDI6lw==} engines: {node: '>= 14'} dev: true - /yn/3.1.1: + /yn@3.1.1: resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} engines: {node: '>=6'} dev: true - /yocto-queue/0.1.0: + /yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} dev: true - /zod/3.21.4: + /zod@3.21.4: resolution: {integrity: sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==} dev: false - /zwitch/2.0.4: + /zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} dev: true diff --git a/prisma/migrations/20230324181509_cascade/migration.sql b/prisma/migrations/20230324181509_cascade/migration.sql @@ -0,0 +1,5 @@ +-- DropForeignKey +ALTER TABLE "ClassTemporarySchedule" DROP CONSTRAINT "ClassTemporarySchedule_parentId_fkey"; + +-- AddForeignKey +ALTER TABLE "ClassTemporarySchedule" ADD CONSTRAINT "ClassTemporarySchedule_parentId_fkey" FOREIGN KEY ("parentId") REFERENCES "ClassTemporaryScheduleGroup"("id") ON DELETE CASCADE ON UPDATE CASCADE; diff --git a/prisma/migrations/20230408160935_temporary_group_optional/migration.sql b/prisma/migrations/20230408160935_temporary_group_optional/migration.sql @@ -0,0 +1,2 @@ +-- AlterTable +ALTER TABLE "ClassTemporarySchedule" ALTER COLUMN "parentId" DROP NOT NULL; diff --git a/prisma/migrations/20230408165310_add_event_table/migration.sql b/prisma/migrations/20230408165310_add_event_table/migration.sql @@ -0,0 +1,11 @@ +-- CreateTable +CREATE TABLE "SchoolEvent" ( + "id" SERIAL NOT NULL, + "grades" INTEGER[], + "date" DATE NOT NULL, + "title" TEXT NOT NULL, + "detail" TEXT, + "updatedAt" TIMESTAMP(3) NOT NULL, + + CONSTRAINT "SchoolEvent_pkey" PRIMARY KEY ("id") +); diff --git a/prisma/reset.ts b/prisma/reset.ts @@ -0,0 +1,46 @@ +import { PrismaClient } from '@prisma/client'; + +const prisma = new PrismaClient(); + +async function main() { + { + const result = await prisma.class_DayPeriod_Subject.deleteMany(); + console.log( + `Class_DayPeriod_Subject のレコードを 全件 (${result.count}件) 削除しました。` + ); + } + { + const result = await prisma.gradeSchedule.deleteMany(); + console.log( + `GradeSchedule のレコードを 全件 (${result.count}件) 削除しました。` + ); + } + { + const result = await prisma.classTemporarySchedule.deleteMany(); + console.log( + `ClassTemporarySchedule のレコードを 全件 (${result.count}件) 削除しました。` + ); + } + { + const result = await prisma.classTemporaryScheduleGroup.deleteMany(); + console.log( + `ClassTemporaryScheduleGroup のレコードを 全件 (${result.count}件) 削除しました。` + ); + } + { + const result = await prisma.schoolEvent.deleteMany(); + console.log( + `SchoolEvent のレコードを 全件 (${result.count}件) 削除しました。` + ); + } +} + +main() + .then(async () => { + await prisma.$disconnect(); + }) + .catch(async (e) => { + console.error(e); + await prisma.$disconnect(); + process.exit(1); + }); diff --git a/prisma/schema.prisma b/prisma/schema.prisma @@ -25,7 +25,6 @@ model SchoolClass { @@unique([grade, class]) } -// TODO: 講座ごとのモデルを作成するべきかどうかを検討 // 各クラスの「曜日時限」→「科目名」 model Class_DayPeriod_Subject { id Int @id @default(autoincrement()) @@ -52,26 +51,36 @@ model GradeSchedule { // クラスごとの「臨時変更」の1コマ model ClassTemporarySchedule { - id Int @id @default(autoincrement()) - parent ClassTemporaryScheduleGroup @relation(fields: [parentId], references: [id]) - parentId Int - class SchoolClass @relation(fields: [classId], references: [id]) + id Int @id @default(autoincrement()) + parent ClassTemporaryScheduleGroup? @relation(fields: [parentId], references: [id], onDelete: Cascade) + parentId Int? + class SchoolClass @relation(fields: [classId], references: [id]) classId Int - date DateTime @db.Date + date DateTime @db.Date period Int subjects String[] - updatedAt DateTime @updatedAt + updatedAt DateTime @updatedAt @@unique([classId, date, period]) } -// クラスごとの「臨時変更」のかたまり +// クラスごとの「臨時変更」のかたまり 一旦使わない model ClassTemporaryScheduleGroup { id Int @id @default(autoincrement()) children ClassTemporarySchedule[] note String? } +// 学年・学年単位の行事など +model SchoolEvent { + id Int @id @default(autoincrement()) + grades Int[] + date DateTime @db.Date + title String + detail String? + updatedAt DateTime @updatedAt +} + // 「曜日時限」の列挙型 enum DayPeriod { Mon1 diff --git a/prisma/seed.ts b/prisma/seed.ts @@ -17,7 +17,7 @@ async function main() { skipDuplicates: true, }); - console.log(`Created ${result.count} SchoolClass record(s).`); + console.log(`SchoolClass のレコードを ${result.count} 件作成しました`); } main() diff --git a/public/favicon.ico b/public/favicon.ico Binary files differ. diff --git a/public/icon-192x192.png b/public/icon-192x192.png Binary files differ. diff --git a/public/icon-256x256.png b/public/icon-256x256.png Binary files differ. diff --git a/public/icon-384x384.png b/public/icon-384x384.png Binary files differ. diff --git a/public/icon-512x512.png b/public/icon-512x512.png Binary files differ. diff --git a/public/icon_x512.png b/public/icon_x512.png Binary files differ. diff --git a/public/manifest.json b/public/manifest.json @@ -1,31 +1,37 @@ { - "theme_color": "#1976d2", - "background_color": "#1976d2", - "display": "standalone", + "id": "/", "scope": "/", - "start_url": "/", + "start_url": "/start", "name": "岸高時間割アプリ", - "short_name": "岸高時間割アプリ", + "short_name": "時間割", + "description": "岸和田高校の時間割を確認できるアプリ", + "display": "standalone", + "theme_color": "#1976d2", + "background_color": "#1976d2", "icons": [ { - "src": "/icon-192x192.png", - "sizes": "192x192", - "type": "image/png" + "src": "/icon_x512.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "any" }, { - "src": "/icon-256x256.png", - "sizes": "256x256", - "type": "image/png" + "src": "/maskable_icon_x192.png", + "sizes": "192x192", + "type": "image/png", + "purpose": "maskable" }, { - "src": "/icon-384x384.png", + "src": "/maskable_icon_x384.png", "sizes": "384x384", - "type": "image/png" + "type": "image/png", + "purpose": "maskable" }, { - "src": "/icon-512x512.png", + "src": "/maskable_icon_x512.png", "sizes": "512x512", - "type": "image/png" + "type": "image/png", + "purpose": "maskable" } ] } diff --git a/public/maskable_icon_x192.png b/public/maskable_icon_x192.png Binary files differ. diff --git a/public/maskable_icon_x384.png b/public/maskable_icon_x384.png Binary files differ. diff --git a/public/maskable_icon_x512.png b/public/maskable_icon_x512.png Binary files differ. diff --git a/src/client/components/ClassPicker/index.tsx b/src/client/components/ClassPicker/index.tsx @@ -0,0 +1,48 @@ +import { + FormControl, + InputLabel, + Select, + MenuItem, + FormHelperText, +} from '@mui/material'; + +import type { SchoolClass } from '@prisma/client'; + +type Props = { + disabled?: boolean; + classId?: number; + classes: SchoolClass[]; + setClassId: (arg: number) => void; +}; + +export default function ClassPicker({ + disabled, + classes, + classId, + setClassId, +}: Props) { + return ( + <FormControl + fullWidth + required + disabled={disabled} + error={typeof classId === 'undefined'} + > + <InputLabel>クラス</InputLabel> + <Select + value={classId ?? ''} + label='クラス' + onChange={(e) => setClassId(e.target.value as number)} + > + {classes.map((c) => ( + <MenuItem value={c.id} key={c.id}> + {c.grade}-{c.class} + </MenuItem> + ))} + </Select> + {typeof classId === 'undefined' && ( + <FormHelperText>選択してください</FormHelperText> + )} + </FormControl> + ); +} diff --git a/src/client/components/DatePicker/index.tsx b/src/client/components/DatePicker/index.tsx @@ -1,10 +1,8 @@ import EventIcon from '@mui/icons-material/Event'; -import InputAdornment from '@mui/material/InputAdornment'; +import { InputAdornment } from '@mui/material'; import { MobileDatePicker } from '@mui/x-date-pickers'; -import { AdapterDateFns } from '@mui/x-date-pickers/AdapterDateFns'; -import { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider'; -import { jaJP } from '@mui/x-date-pickers/locales'; -import ja from 'date-fns/locale/ja'; + +import DatePickerLocalizationProvider from '../DatePickerLocalizationProvider'; import type { DatePickerProps } from '@mui/x-date-pickers'; @@ -13,14 +11,7 @@ export default function DatePicker({ ...props }: DatePickerProps<Date>) { return ( - <LocalizationProvider - dateAdapter={AdapterDateFns} - adapterLocale={ja} - localeText={ - jaJP.components.MuiLocalizationProvider.defaultProps.localeText - } - dateFormats={{ monthAndYear: 'yyyy年M月', monthAndDate: 'M月d日' }} - > + <DatePickerLocalizationProvider> <MobileDatePicker format='yyyy/MM/dd (EEEEE)' slotProps={{ @@ -40,6 +31,6 @@ export default function DatePicker({ {...props} selectedSections={null} /> - </LocalizationProvider> + </DatePickerLocalizationProvider> ); } diff --git a/src/client/components/DatePickerLocalizationProvider/index.tsx b/src/client/components/DatePickerLocalizationProvider/index.tsx @@ -0,0 +1,24 @@ +import { LocalizationProvider, jaJP } from '@mui/x-date-pickers'; +import { AdapterDateFns } from '@mui/x-date-pickers/AdapterDateFns'; +import { ja } from 'date-fns/locale'; + +import type { LocalizationProviderProps } from '@mui/x-date-pickers'; + +export default function DatePickerLocalizationProvider({ + children, + ...props +}: LocalizationProviderProps<Date>) { + return ( + <LocalizationProvider<Date> + dateAdapter={AdapterDateFns} + adapterLocale={ja} + localeText={ + jaJP.components.MuiLocalizationProvider.defaultProps.localeText + } + dateFormats={{ monthAndYear: 'yyyy年M月', monthAndDate: 'M月d日' }} + {...props} + > + {children} + </LocalizationProvider> + ); +} diff --git a/src/client/components/IconButtonDatePicker/index.tsx b/src/client/components/IconButtonDatePicker/index.tsx @@ -0,0 +1,40 @@ +import { useDisclosure } from '@mantine/hooks'; +import EventIcon from '@mui/icons-material/Event'; +import { IconButton } from '@mui/material'; +import { MobileDatePicker } from '@mui/x-date-pickers'; +import { memo, useRef } from 'react'; + +import DatePickerLocalizationProvider from '../DatePickerLocalizationProvider'; + +import type { MobileDatePickerProps } from '@mui/x-date-pickers/MobileDatePicker'; + +const NothingField = function NothingField() { + return <></>; +}; + +export default memo(function IconButtonDatePicker( + props: Omit<MobileDatePickerProps<Date>, 'open' | 'onOpen' | 'onClose'> +) { + const ref = useRef<HTMLButtonElement | null>(null); + const [open, handlers] = useDisclosure(false); + + return ( + <DatePickerLocalizationProvider> + <IconButton disabled={props.disabled} onClick={handlers.open} ref={ref}> + <EventIcon /> + </IconButton> + + <MobileDatePicker + {...props} + slots={{ field: NothingField, ...props.slots }} + slotProps={{ + toolbar: { toolbarFormat: 'M月d日' }, + ...props.slotProps, + }} + open={open} + onClose={handlers.close} + onOpen={handlers.open} + /> + </DatePickerLocalizationProvider> + ); +}); diff --git a/src/client/components/Layout/Menu.tsx b/src/client/components/Layout/Menu.tsx @@ -0,0 +1,143 @@ +import { useDisclosure } from '@mantine/hooks'; +import BugReportIcon from '@mui/icons-material/BugReportOutlined'; +import HelpIcon from '@mui/icons-material/HelpOutline'; +import InfoIcon from '@mui/icons-material/InfoOutlined'; +import LockIcon from '@mui/icons-material/LockOutlined'; +import MenuIcon from '@mui/icons-material/Menu'; +import RateReviewIcon from '@mui/icons-material/RateReviewOutlined'; +import SettingsIcon from '@mui/icons-material/SettingsOutlined'; +import ShareIcon from '@mui/icons-material/ShareOutlined'; +import { + IconButton, + Link, + ListItemIcon, + MenuItem, + Menu as MuiMenu, +} from '@mui/material'; +import { useRouter } from 'next/router'; +import { useId, useRef } from 'react'; + +import { BUG_REPORT_FORM_URL, FEEDBACK_FORM_URL } from 'common/constant'; + +import { NextLinkComposed } from '../Link'; + +export default function Menu() { + const [open, handlers] = useDisclosure(false); + const anchorEl = useRef<HTMLButtonElement | null>(null); + const menuId = useId(); + const buttonId = useId(); + + const router = useRouter(); + + return ( + <> + <IconButton + onClick={handlers.open} + ref={anchorEl} + color='inherit' + edge='end' + id={buttonId} + aria-label='メニュー' + aria-controls={open ? menuId : undefined} + aria-haspopup='true' + aria-expanded={open ? true : undefined} + > + <MenuIcon /> + </IconButton> + + <MuiMenu + anchorEl={anchorEl.current} + id={menuId} + open={open} + onClose={handlers.close} + MenuListProps={{ + 'aria-labelledby': buttonId, + }} + anchorOrigin={{ + vertical: 'bottom', + horizontal: 'right', + }} + transformOrigin={{ + vertical: 'top', + horizontal: 'right', + }} + > + <MenuItem + component={NextLinkComposed} + to='/about' + selected={router.pathname === '/about'} + > + <ListItemIcon> + <InfoIcon /> + </ListItemIcon> + このアプリについて + </MenuItem> + + <MenuItem + component={NextLinkComposed} + to='/how-to-use' + selected={router.pathname === '/how-to-use'} + > + <ListItemIcon> + <HelpIcon /> + </ListItemIcon> + 使い方 + </MenuItem> + + <MenuItem + component={NextLinkComposed} + to='/setting' + selected={router.pathname === '/setting'} + > + <ListItemIcon> + <SettingsIcon /> + </ListItemIcon> + 設定 + </MenuItem> + + <MenuItem + component={Link} + href={BUG_REPORT_FORM_URL} + target='_blank' + rel='noopener' + > + <ListItemIcon> + <BugReportIcon /> + </ListItemIcon> + 不具合・誤情報報告 + </MenuItem> + + <MenuItem + component={Link} + href={FEEDBACK_FORM_URL} + target='_blank' + rel='noopener' + > + <ListItemIcon> + <RateReviewIcon /> + </ListItemIcon> + フィードバック + </MenuItem> + + <MenuItem component={NextLinkComposed} to='/console'> + <ListItemIcon> + <LockIcon /> + </ListItemIcon> + 管理者ログイン + </MenuItem> + + <MenuItem + onClick={() => { + handlers.close(); + navigator.share({ title: document.title, url: document.URL }); + }} + > + <ListItemIcon> + <ShareIcon /> + </ListItemIcon> + 共有 + </MenuItem> + </MuiMenu> + </> + ); +} diff --git a/src/client/components/Layout/index.tsx b/src/client/components/Layout/index.tsx @@ -1,21 +1,18 @@ import HomeIcon from '@mui/icons-material/Home'; -import InfoIcon from '@mui/icons-material/Info'; -import AppBar from '@mui/material/AppBar'; -import Box from '@mui/material/Box'; -import Container from '@mui/material/Container'; -import IconButton from '@mui/material/IconButton'; -import Toolbar from '@mui/material/Toolbar'; -import Typography from '@mui/material/Typography'; -import { styled } from '@mui/system'; +import { + AppBar, + Box, + Container, + IconButton, + Toolbar, + Typography, +} from '@mui/material'; import { NextLinkComposed } from 'client/components/Link'; -import type { ReactNode } from 'react'; +import Menu from './Menu'; -const Main = styled('main')({ - flexGrow: 1, - display: 'flex', -}); +import type { ReactNode } from 'react'; type Props = { children: ReactNode; @@ -23,62 +20,64 @@ type Props = { footer?: ReactNode | undefined; }; +// TODO: トップページへのアイコンをアプリロゴにする(ロゴ完成後) export default function Layout({ children, title, footer }: Props) { return ( <Container maxWidth='sm' disableGutters - sx={(theme) => ({ - [theme.breakpoints.up('sm')]: { - borderRight: 'solid 1px gray', - borderLeft: 'solid 1px gray', - }, - minHeight: '100vh', - display: 'flex', - flexDirection: 'column', - })} + sx={[ + (theme) => ({ + [theme.breakpoints.up('sm')]: { + borderRight: 'solid 1px gray', + borderLeft: 'solid 1px gray', + }, + height: '100vh', + display: 'flex', + flexDirection: 'column', + position: 'relative', + }), + { height: '100svh' }, + ]} > <AppBar position='sticky'> - <Toolbar sx={{ color: '#fff' }}> + <Toolbar sx={{ gap: 2 }}> <IconButton color='inherit' title='ホームに戻る' edge='start' - sx={{ mr: 2 }} component={NextLinkComposed} - to={{ - pathname: '/', - }} + to={{ pathname: '/' }} > <HomeIcon /> </IconButton> - <Box sx={{ flexGrow: 1 }}> - <Typography variant='h1' fontSize={24} fontWeight={500}> - {title} - </Typography> - </Box> - <IconButton - color='inherit' - title='このアプリについて' - component={NextLinkComposed} - to={{ - pathname: '/about', - }} - > - <InfoIcon /> - </IconButton> + + <Typography variant='h1' fontSize={24} fontWeight={500} flexGrow={1}> + {title} + </Typography> + + <Menu /> </Toolbar> </AppBar> - <Main>{children}</Main> - <Box - sx={(theme) => ({ - borderTop: `1px solid ${theme.palette.divider}`, - })} + component='main' + display='flex' + flexGrow={1} + sx={{ overflowY: 'scroll' }} > - {footer} + {children} </Box> + + {footer && ( + <Box + sx={(theme) => ({ + borderTop: `1px solid ${theme.vars.palette.divider}`, + })} + > + {footer} + </Box> + )} </Container> ); } diff --git a/src/client/components/Link/index.tsx b/src/client/components/Link/index.tsx @@ -1,4 +1,4 @@ -import MuiLink from '@mui/material/Link'; +import { Link as MuiLink } from '@mui/material'; import { styled } from '@mui/material/styles'; import { clsx } from 'clsx'; import NextLink from 'next/link'; diff --git a/src/client/components/SlideFooter/index.tsx b/src/client/components/SlideFooter/index.tsx @@ -1,13 +1,16 @@ -import MUIAlert from '@mui/material/Alert'; -import Link from '@mui/material/Link'; -import { styled } from '@mui/system'; +/** @jsxImportSource @emotion/react */ +import { useIsomorphicEffect } from '@mantine/hooks'; +import { GlobalStyles, Link, Alert as MUIAlert } from '@mui/material'; +import { css, styled } from '@mui/material/styles'; +import shuffle from 'lodash/shuffle'; +import { useState } from 'react'; import { Autoplay, Pagination } from 'swiper'; import { Swiper, SwiperSlide } from 'swiper/react'; import 'swiper/css'; import 'swiper/css/autoplay'; import 'swiper/css/pagination'; -import { BUG_REPORT_FORM_URL, REQUEST_FORM_URL } from 'common/constant'; +import { BUG_REPORT_FORM_URL, FEEDBACK_FORM_URL } from 'common/constant'; import type { AlertProps } from '@mui/material/Alert'; import type { ReactNode } from 'react'; @@ -19,7 +22,26 @@ const Alert = styled(MUIAlert)({ verticalAlign: 'center', }); +const globalStyles = ( + <GlobalStyles + styles={(theme) => css` + .swiper .swiper-slide { + height: auto; + } + .swiper .swiper-pagination-bullet { + background-color: ${theme.vars.palette.text.primary}; + opacity: 0.3; + } + .swiper .swiper-pagination-bullet-active { + background-color: ${theme.vars.palette.primary.main}; + opacity: 1; + } + `} + /> +); + type SlideData = { + id: number; content: ReactNode; severity?: AlertProps['severity']; variant?: AlertProps['variant']; @@ -28,6 +50,7 @@ type SlideData = { const prioritySlideData: SlideData[] = [ { + id: 1, content: ( <> 情報の正確性を保証することはできませんので、参考程度にお使いください。時間割が間違っていた場合、IT部は一切の責任を負いません。 @@ -36,6 +59,7 @@ const prioritySlideData: SlideData[] = [ severity: 'warning', }, { + id: 2, content: ( <> 臨時変更の情報は週に1回程度の頻度で反映しています。最新の情報は教室掲示のプリントで確認してください。 @@ -45,55 +69,82 @@ const prioritySlideData: SlideData[] = [ }, ]; -// TODO: 順番をシャッフルする -const slideData: SlideData[] = [ +const extraSlideData: SlideData[] = [ { + id: 101, content: ( <> - このアプリはIT部が制作・運営しています。人手不足です。 + このアプリはIT部が制作・運営しています。人手不足なので助けてください。 プログラミング経験者や開発に興味がある人はIT部まで! </> ), }, { + id: 102, content: ( <> - IT部 部員募集中!毎週木・金曜日にLAN教室までお気軽にお越しください。 - ボカロ楽曲制作、プログラミング、動画制作など。 - </> - ), - }, - { - content: ( - <> - このアプリを評価してください! - <Link href={REQUEST_FORM_URL}>アンケート</Link> - にご協力お願いします。ご意見・ご要望もお待ちしております。 + IT部 + 部員募集中!ボカロ楽曲制作、プログラミング、動画制作などやってます。 + 毎週木・金曜日にLAN教室までお気軽にお越しください! </> ), }, + FEEDBACK_FORM_URL + ? { + id: 103, + content: ( + <> + このアプリを評価してください! + <Link href={FEEDBACK_FORM_URL} target='_blank' rel='noopener'> + フィードバックアンケート + </Link> + にご協力お願いします。ご意見・ご要望もお待ちしております。 + </> + ), + } + : [], + BUG_REPORT_FORM_URL + ? { + id: 104, + content: ( + <> + アプリの不具合や時間割情報の誤りを見つけた場合は、 + <Link href={BUG_REPORT_FORM_URL} target='_blank' rel='noopener'> + Googleフォーム + </Link> + で報告お願いします。 + </> + ), + } + : [], { + id: 105, content: ( <> - アプリの不具合や時間割情報の誤りを見つけた場合は、 - <Link href={BUG_REPORT_FORM_URL}>Googleフォーム</Link> - で報告お願いします。 + 広告募集中!ここに文字広告を載せられます。木・金曜日にLAN教室にお越しになるか、お近くのIT部員にお声がけください。 </> ), }, - { content: <>広告募集中!ここに文字広告載せられます。</> }, -]; +].flat(); export default function SlideFooter() { + const [slideData, setSlideData] = useState([...prioritySlideData]); + useIsomorphicEffect( + () => setSlideData([...prioritySlideData, ...shuffle(extraSlideData)]), + [] + ); + return ( <Swiper modules={[Autoplay, Pagination]} autoplay={{ delay: 5000 }} pagination={{ clickable: true }} + allowTouchMove={false} loop > - {prioritySlideData.concat(slideData).map((data, index) => ( - <SwiperSlide key={index} style={{ height: 'auto' }}> + {globalStyles} + {slideData.map((data) => ( + <SwiperSlide key={data.id}> <Alert severity={data.severity ?? 'info'} variant={data.variant ?? 'standard'} diff --git a/src/client/components/WarningOfUse/index.tsx b/src/client/components/WarningOfUse/index.tsx @@ -1,14 +1,42 @@ -import Alert from '@mui/material/Alert'; -import AlertTitle from '@mui/material/AlertTitle'; -import Typography from '@mui/material/Typography'; +import { useIsomorphicEffect } from '@mantine/hooks'; +import { Alert, AlertTitle, useColorScheme } from '@mui/material'; +import { css, styled } from '@mui/material/styles'; +import { useState } from 'react'; + +import type { AlertProps } from '@mui/material'; + +const List = styled('ul')(css` + padding: 0; + margin: 0; + margin-left: 1.5em; + font-size: inherit; +`); + +type Props = AlertProps; + +export default function WarningOfUse(props: Props) { + const { colorScheme } = useColorScheme(); + const [variant, setVariant] = useState<AlertProps['variant']>('standard'); + useIsomorphicEffect(() => { + setVariant(colorScheme === 'dark' ? 'outlined' : 'standard'); + }, [colorScheme]); -export default function WarningOfUse() { return ( - <Alert severity='warning'> + <Alert severity='warning' variant={variant} {...props}> <AlertTitle>利用上の注意・免責事項</AlertTitle> - <Typography variant='body1'> - 曜日変更はすべて対応していますが、臨時変更については一部対応できていないことがあります。また、時間割情報の正確性を保証することはできません(特に臨時変更)ので、参考程度に使ってください。また、このアプリの利用により何らかの不利益が生じた場合、IT部や学校当局は一切の責任を負いません。 - </Typography> + <List> + <li>曜日変更はすべて対応しています。</li> + <li> + 臨時変更は週に1回程度の頻度で反映しているため、一部対応できていないことがあります。 + </li> + <li> + 時間割情報の正確性を保証することはできませんので、参考程度にお使いください。 + </li> + <li>正確な最新の情報は教室掲示のプリントで確認してください。</li> + <li> + このアプリの利用により何らかの不利益が生じた場合、IT部や学校側は一切の責任を負いません。 + </li> + </List> </Alert> ); } diff --git a/src/client/features/console/classStandard/components/ClassPicker.tsx b/src/client/features/console/classStandard/components/ClassPicker.tsx @@ -1,46 +0,0 @@ -import FormControl from '@mui/material/FormControl'; -import FormHelperText from '@mui/material/FormHelperText'; -import InputLabel from '@mui/material/InputLabel'; -import MenuItem from '@mui/material/MenuItem'; -import Select from '@mui/material/Select'; - -import type { SchoolClass } from '@prisma/client'; - -type Props = { - disabled?: boolean; - classId?: number; - classes: Pick<SchoolClass, 'id' | 'grade' | 'class'>[]; - setClassId: (arg: number) => void; -}; - -export default function ClassPicker({ - disabled, - classes, - classId, - setClassId, -}: Props) { - return ( - <FormControl - fullWidth - required - disabled={disabled} - error={typeof classId === 'undefined'} - > - <InputLabel>クラス</InputLabel> - <Select - value={classId ?? ''} - label='クラス' - onChange={(e) => setClassId(e.target.value as number)} - > - {classes.map((c) => ( - <MenuItem value={c.id} key={c.id}> - {c.grade}-{c.class} - </MenuItem> - ))} - </Select> - {typeof classId === 'undefined' && ( - <FormHelperText>選択してください</FormHelperText> - )} - </FormControl> - ); -} diff --git a/src/client/features/console/classStandard/components/InputForm.tsx b/src/client/features/console/classStandard/components/InputForm.tsx @@ -1,9 +1,7 @@ +import { useDebouncedValue } from '@mantine/hooks'; import SaveIcon from '@mui/icons-material/Save'; import LoadingButton from '@mui/lab/LoadingButton'; -import Backdrop from '@mui/material/Backdrop'; -import Box from '@mui/material/Box'; -import CircularProgress from '@mui/material/CircularProgress'; -import { useDebounce } from 'usehooks-ts'; +import { Backdrop, CircularProgress, Box } from '@mui/material'; import useRegisterStandardTimetable from '../hooks/useStandardTimetable'; @@ -17,7 +15,7 @@ export default function InputForm({ classId }: Props) { const { fetching, sending, get, set, submit } = useRegisterStandardTimetable(classId); const loading = fetching || sending; - const debouncedLoading = useDebounce(loading, 1000); + const [debouncedLoading] = useDebouncedValue(loading, 1000); return ( <> @@ -27,7 +25,7 @@ export default function InputForm({ classId }: Props) { <InputTable get={get} set={set} disabled={fetching || sending} /> - <Box m={4}> + <Box> <LoadingButton variant='contained' loading={sending} diff --git a/src/client/features/console/classStandard/components/InputTable.tsx b/src/client/features/console/classStandard/components/InputTable.tsx @@ -1,10 +1,12 @@ -import Paper from '@mui/material/Paper'; -import Table from '@mui/material/Table'; -import TableBody from '@mui/material/TableBody'; -import TableCell from '@mui/material/TableCell'; -import TableContainer from '@mui/material/TableContainer'; -import TableHead from '@mui/material/TableHead'; -import TableRow from '@mui/material/TableRow'; +import { + TableContainer, + Paper, + Table, + TableHead, + TableRow, + TableCell, + TableBody, +} from '@mui/material'; import LessonCell from './LessonCell'; @@ -30,15 +32,15 @@ export default function InputTable({ get, set, disabled }: Props) { return ( <TableContainer component={Paper}> - <Table> + <Table sx={{ minWidth: '50rem', overflowX: 'scroll' }}> <TableHead> <TableRow> - <TableCell sx={{ width: '3rem' }}></TableCell> - <TableCell sx={{ width: '8rem' }}>月</TableCell> - <TableCell sx={{ width: '8rem' }}>火</TableCell> - <TableCell sx={{ width: '8rem' }}>水</TableCell> - <TableCell sx={{ width: '8rem' }}>木</TableCell> - <TableCell sx={{ width: '8rem' }}>金</TableCell> + <TableCell>時限</TableCell> + <TableCell>月</TableCell> + <TableCell>火</TableCell> + <TableCell>水</TableCell> + <TableCell>木</TableCell> + <TableCell>金</TableCell> </TableRow> </TableHead> <TableBody> diff --git a/src/client/features/console/classStandard/components/LessonCell.tsx b/src/client/features/console/classStandard/components/LessonCell.tsx @@ -1,5 +1,4 @@ -import TableCell from '@mui/material/TableCell'; -import TextField from '@mui/material/TextField'; +import { TableCell, TextField } from '@mui/material'; import { memo } from 'react'; type Props = { diff --git a/src/client/features/console/classStandard/hooks/useStandardTimetable.ts b/src/client/features/console/classStandard/hooks/useStandardTimetable.ts @@ -1,7 +1,7 @@ import { useSnackbar } from 'notistack'; import { useCallback } from 'react'; -import { useMap } from 'usehooks-ts'; +import useMap from 'client/hooks/useMap'; import { trpc } from 'client/utils/trpc'; import type { DayPeriod } from '@prisma/client'; @@ -65,12 +65,10 @@ const useRegisterStandardTimetable = (classId: number): Result => { ); const submit = useCallback(() => { - if (classId) { - standardMutation.mutate({ - id: classId, - standard: new Map(modifiedMap.entries()), - }); - } + standardMutation.mutate({ + id: classId, + standard: new Map(modifiedMap.entries()), + }); }, [classId, modifiedMap, standardMutation]); return { diff --git a/src/client/features/console/classStandard/index.tsx b/src/client/features/console/classStandard/index.tsx @@ -1,29 +1,29 @@ -import Box from '@mui/material/Box'; +import { Box, Stack } from '@mui/material'; import { useState } from 'react'; -import ClassPicker from './components/ClassPicker'; +import ClassPicker from 'client/components/ClassPicker'; + import InputForm from './components/InputForm'; import type { SchoolClass } from '@prisma/client'; type Props = { - classes: Pick<SchoolClass, 'id' | 'grade' | 'class'>[]; + classes: SchoolClass[]; }; export default function ClassStandardTimetableEditor({ classes }: Props) { const [classId, setClassId] = useState<number>(); return ( - <> - <Box width='8rem' m={4}> + <Stack spacing={4} my={4} mx={{ xs: 1, md: 4 }}> + <Box width='8rem'> <ClassPicker classes={classes} classId={classId} setClassId={setClassId} /> </Box> - {classId && <InputForm classId={classId} />} - </> + </Stack> ); } diff --git a/src/client/features/console/classTemporarySchedule/components/CreateForm.tsx b/src/client/features/console/classTemporarySchedule/components/CreateForm.tsx @@ -0,0 +1,146 @@ +import SaveIcon from '@mui/icons-material/Save'; +import LoadingButton from '@mui/lab/LoadingButton'; +import { Box, Paper, Autocomplete, TextField, Grid } from '@mui/material'; +import { useSnackbar } from 'notistack'; +import { useState } from 'react'; +import { z } from 'zod'; + +import DatePicker from 'client/components/DatePicker'; +import { trpc } from 'client/utils/trpc'; +import { DATE_FORMAT, SCHOOL_TIMES } from 'common/constant'; +import formatDate from 'common/utils/formatDate'; + +import type { SchoolTime } from 'common/types'; + +type Props = { + classId: number; + invalidateQuery: () => Promise<void>; +}; + +// 新規作成用フォーム +export default function CreateForm({ classId, invalidateQuery }: Props) { + const { enqueueSnackbar } = useSnackbar(); + + const [date, setDate] = useState<Date | null>(null); + const [period, setPeriod] = useState<SchoolTime | null>(null); + const [subjects, setSubjects] = useState<string>(''); + const [groupId, setGruopId] = useState<string>(''); + // グループIDのバリデーション + const parsedGroupId = z.coerce + .number({ invalid_type_error: '整数値を入力してください' }) + .int({ message: '整数値を入力してください' }) + .safeParse(groupId); + + const mutation = trpc.classTemporarySchedule.create.useMutation({ + onSuccess: () => { + invalidateQuery(); + setDate(null); + setPeriod(null); + setSubjects(''); + setGruopId(''); + enqueueSnackbar('正常に保存されました', { + variant: 'success', + autoHideDuration: 2000, + }); + }, + onError: (err) => { + enqueueSnackbar(`エラーが発生しました\n${err.message}`, { + variant: 'error', + autoHideDuration: 6000, + }); + }, + }); + + const handleSubmit = async () => { + if (date && period && parsedGroupId.success) { + return await mutation.mutateAsync({ + classId, + date: formatDate(date, DATE_FORMAT), + period, + subjects: subjects.split('/'), + parentId: parsedGroupId.data ?? undefined, + }); + } else { + enqueueSnackbar('入力内容を確認してください', { + variant: 'warning', + autoHideDuration: 6000, + }); + } + return; + }; + + return ( + <Box component={Paper} p={4}> + <Grid container spacing={4}> + <Grid item width='15rem'> + <DatePicker + value={date} + onChange={(newValue) => newValue && setDate(newValue)} + label='日付' + slotProps={{ + textField: { + size: 'medium', + required: true, + placeholder: '日付を選択', + }, + }} + disabled={mutation.isLoading} + /> + </Grid> + + <Grid item width={150}> + <Autocomplete + disablePortal + autoSelect + value={period} + onChange={(_, newValue) => setPeriod(newValue)} + options={SCHOOL_TIMES} + getOptionLabel={(v) => `${v}限`} + renderInput={(params) => ( + <TextField {...params} label='時限' required /> + )} + disabled={mutation.isLoading} + /> + </Grid> + + <Grid item width={200}> + <TextField + value={subjects} + onChange={(event) => setSubjects(event.target.value)} + label='科目' + required + disabled={mutation.isLoading} + /> + </Grid> + + <Grid item width={160}> + <TextField + value={groupId} + onChange={(event) => setGruopId(event.target.value)} + inputProps={{ inputMode: 'numeric', pattern: '[0-9]*' }} + label='グループID' + helperText={ + parsedGroupId.success + ? 'グループIDが存在する場合のみ入力' + : parsedGroupId.error.issues[0]?.message + } + error={!parsedGroupId.success} + disabled={mutation.isLoading} + /> + </Grid> + + <Grid item> + <LoadingButton + onClick={handleSubmit} + variant='contained' + startIcon={<SaveIcon />} + loadingPosition='start' + loading={mutation.isLoading} + > + 新規作成 + </LoadingButton> + </Grid> + </Grid> + </Box> + ); +} diff --git a/src/client/features/console/classTemporarySchedule/components/EditTable/DeleteCell.tsx b/src/client/features/console/classTemporarySchedule/components/EditTable/DeleteCell.tsx @@ -0,0 +1,103 @@ +import { useDisclosure } from '@mantine/hooks'; +import DeleteIcon from '@mui/icons-material/Delete'; +import LoadingButton from '@mui/lab/LoadingButton'; +import { + DialogTitle, + DialogContent, + DialogContentText, + DialogActions, + Button, + TableCell, + IconButton, + Dialog, +} from '@mui/material'; +import { useSnackbar } from 'notistack'; + +import { trpc } from 'client/utils/trpc'; +import formatDate from 'common/utils/formatDate'; + +import type { ClassTemporarySchedule } from '@prisma/client'; + +type DeleteDialogProps = { + id: number; + contentText: string; + open: boolean; + handleClose: () => void; + invalidateQuery: () => Promise<void>; +}; + +function DeleteDialog({ + id, + contentText, + open, + handleClose, + invalidateQuery, +}: DeleteDialogProps) { + const { enqueueSnackbar } = useSnackbar(); + + const mutation = trpc.classTemporarySchedule.delete.useMutation({ + onSuccess: () => { + invalidateQuery(); + enqueueSnackbar('正常に削除されました', { + variant: 'success', + autoHideDuration: 2000, + }); + }, + onError: () => + enqueueSnackbar('エラーが発生しました', { + variant: 'error', + autoHideDuration: 6000, + }), + }); + const handleDelete = () => + mutation.mutateAsync({ id }).then(() => handleClose()); + + return ( + <Dialog open={open} onClose={handleClose}> + <DialogTitle>本当に削除しますか?</DialogTitle> + <DialogContent> + <DialogContentText>{contentText}</DialogContentText> + </DialogContent> + <DialogActions> + <Button onClick={handleClose}>いいえ</Button> + <LoadingButton onClick={handleDelete} loading={mutation.isLoading}> + 削除する + </LoadingButton> + </DialogActions> + </Dialog> + ); +} + +type Props = { + data: ClassTemporarySchedule; + invalidateQuery: () => Promise<void>; +}; + +export default function DeleteCell({ data, invalidateQuery }: Props) { + const [open, handlers] = useDisclosure(false); + + const dateString = formatDate(data.date, 'yyyy/MM/dd (EEEEE)'); + const content = `${dateString} ${data.period}限 「${data.subjects.join( + '/' + )}」を永久に削除してもよろしいですか?`; + + return ( + <TableCell> + <IconButton + onClick={handlers.open} + aria-label='削除する' + sx={{ color: 'red' }} + size='small' + > + <DeleteIcon /> + </IconButton> + <DeleteDialog + id={data.id} + contentText={content} + open={open} + handleClose={handlers.close} + invalidateQuery={invalidateQuery} + /> + </TableCell> + ); +} diff --git a/src/client/features/console/classTemporarySchedule/components/EditTable/Row.tsx b/src/client/features/console/classTemporarySchedule/components/EditTable/Row.tsx @@ -0,0 +1,35 @@ +import { TableRow, TableCell } from '@mui/material'; + +import formatDate from 'common/utils/formatDate'; + +import DeleteCell from './DeleteCell'; +import UpdateCell from './UpdateCell'; + +import type { ClassTemporarySchedule } from '@prisma/client'; + +type Props = { + data: ClassTemporarySchedule; + invalidateQuery: () => Promise<void>; +}; + +export default function Row({ data, invalidateQuery }: Props) { + const dateString = formatDate(data.date, 'yyyy/MM/dd (EEEEE)'); + const updatedAtString = formatDate( + data.updatedAt, + 'yyyy/MM/dd (EEEEE) HH:mm:ss' + ); + const subjectsString = data.subjects.join('/'); + + return ( + <TableRow> + <TableCell>{data.id}</TableCell> + <TableCell>{dateString}</TableCell> + <TableCell>{data.period}</TableCell> + <TableCell>{subjectsString}</TableCell> + <TableCell>{data.parentId}</TableCell> + <TableCell>{updatedAtString}</TableCell> + <UpdateCell data={data} invalidateQuery={invalidateQuery} /> + <DeleteCell data={data} invalidateQuery={invalidateQuery} /> + </TableRow> + ); +} diff --git a/src/client/features/console/classTemporarySchedule/components/EditTable/UpdateCell.tsx b/src/client/features/console/classTemporarySchedule/components/EditTable/UpdateCell.tsx @@ -0,0 +1,182 @@ +import { useDisclosure } from '@mantine/hooks'; +import EditIcon from '@mui/icons-material/Edit'; +import LoadingButton from '@mui/lab/LoadingButton'; +import { + DialogTitle, + DialogContent, + Stack, + Box, + Autocomplete, + TextField, + DialogActions, + Button, + TableCell, + IconButton, + Dialog, +} from '@mui/material'; +import { useSnackbar } from 'notistack'; +import { useState } from 'react'; +import { z } from 'zod'; + +import DatePicker from 'client/components/DatePicker'; +import { trpc } from 'client/utils/trpc'; +import { DATE_FORMAT, SCHOOL_TIMES } from 'common/constant'; +import formatDate from 'common/utils/formatDate'; +import { zodPeriod } from 'common/utils/zod'; + +import type { ClassTemporarySchedule } from '@prisma/client'; +import type { SchoolTime } from 'common/types'; + +type UpdateDialogProps = { + data: ClassTemporarySchedule; + open: boolean; + handleClose: () => void; + invalidateQuery: () => Promise<void>; +}; + +function UpdateDialog({ + data, + open, + handleClose, + invalidateQuery, +}: UpdateDialogProps) { + const { enqueueSnackbar } = useSnackbar(); + + const mutation = trpc.classTemporarySchedule.update.useMutation({ + onSuccess: () => { + invalidateQuery(); + enqueueSnackbar('正常に更新されました', { + variant: 'success', + autoHideDuration: 2000, + }); + }, + onError: (err) => + enqueueSnackbar(`エラーが発生しました\n${err.message}`, { + variant: 'error', + autoHideDuration: 6000, + }), + }); + + const [date, setDate] = useState<Date>(data.date); + const [period, setPeriod] = useState<SchoolTime>( + zodPeriod.parse(data.period) + ); + const [subjects, setSubjects] = useState<string>(data.subjects.join('/')); + const [groupId, setGruopId] = useState<string>( + data.parentId?.toString() ?? '' + ); + const parsedGroupId = z.coerce + .number({ + invalid_type_error: '自然数を入力してください', + }) + .int({ message: '自然数を入力してください' }) + .positive('自然数を入力してください') + .or(z.literal('')) + .safeParse(groupId); + + const handleUpdate = () => { + if (parsedGroupId.success) { + return mutation + .mutateAsync({ + id: data.id, + date: formatDate(date, DATE_FORMAT), + period, + subjects: subjects.split('/'), + parentId: parsedGroupId.data === '' ? undefined : parsedGroupId.data, + }) + .then(() => handleClose()); + } else return; + }; + + return ( + <Dialog open={open} onClose={handleClose}> + <DialogTitle>ID: {data.id} の編集</DialogTitle> + <DialogContent> + <Stack direction='column' spacing={4} m={1}> + <Box width={250}> + <DatePicker + value={date} + onChange={(newValue) => newValue && setDate(newValue)} + label='日付' + slotProps={{ textField: { size: 'medium', required: true } }} + disabled={mutation.isLoading} + /> + </Box> + + <Box width={100}> + <Autocomplete + disablePortal + autoSelect + disableClearable + value={period} + onChange={(_, newValue) => setPeriod(newValue)} + options={SCHOOL_TIMES} + getOptionLabel={(v) => `${v}限`} + renderInput={(params) => ( + <TextField {...params} label='時限' required /> + )} + disabled={mutation.isLoading} + /> + </Box> + + <Box width={250}> + <TextField + value={subjects} + onChange={(event) => setSubjects(event.target.value)} + label='科目' + required + disabled={mutation.isLoading} + /> + </Box> + + <Box width={150}> + <TextField + value={groupId} + onChange={(event) => setGruopId(event.target.value)} + inputProps={{ inputMode: 'numeric', pattern: '[0-9]*' }} + label='グループID' + helperText={ + !parsedGroupId.success + ? parsedGroupId.error.issues[0]?.message + : '' + } + error={!parsedGroupId.success} + disabled={mutation.isLoading} + /> + </Box> + </Stack> + </DialogContent> + <DialogActions> + <Button onClick={handleClose}>キャンセル</Button> + <LoadingButton onClick={handleUpdate} loading={mutation.isLoading}> + 保存する + </LoadingButton> + </DialogActions> + </Dialog> + ); +} + +type Props = { + data: ClassTemporarySchedule; + invalidateQuery: () => Promise<void>; +}; + +export default function UpdateCell({ data, invalidateQuery }: Props) { + const [open, handlers] = useDisclosure(false); + + return ( + <> + <TableCell> + <IconButton onClick={handlers.open} aria-label='編集する' size='small'> + <EditIcon /> + </IconButton> + <UpdateDialog + data={data} + open={open} + handleClose={handlers.close} + invalidateQuery={invalidateQuery} + /> + </TableCell> + </> + ); +} diff --git a/src/client/features/console/classTemporarySchedule/components/EditTable/index.tsx b/src/client/features/console/classTemporarySchedule/components/EditTable/index.tsx @@ -0,0 +1,49 @@ +import { + TableContainer, + Paper, + Table, + TableHead, + TableRow, + TableCell, + TableBody, +} from '@mui/material'; + +import Row from './Row'; + +import type { ClassTemporarySchedule } from '@prisma/client'; + +type Props = { + data: ClassTemporarySchedule[]; + invalidateQuery: () => Promise<void>; +}; + +export default function EditTable({ data, invalidateQuery }: Props) { + const sorted = data + .sort((a, b) => b.period - a.period) + .sort((a, b) => { + return b.date.getTime() - a.date.getTime(); + }); + return ( + <TableContainer component={Paper}> + <Table size='small'> + <TableHead> + <TableRow> + <TableCell>ID</TableCell> + <TableCell>日付</TableCell> + <TableCell>時限</TableCell> + <TableCell>変更後の科目</TableCell> + <TableCell>グループID</TableCell> + <TableCell>更新日時</TableCell> + <TableCell>編集</TableCell> + <TableCell>削除</TableCell> + </TableRow> + </TableHead> + <TableBody> + {sorted.map((one) => ( + <Row data={one} invalidateQuery={invalidateQuery} key={one.id} /> + ))} + </TableBody> + </Table> + </TableContainer> + ); +} diff --git a/src/client/features/console/classTemporarySchedule/components/InputView.tsx b/src/client/features/console/classTemporarySchedule/components/InputView.tsx @@ -0,0 +1,23 @@ +import { Stack } from '@mui/material'; + +import useGetAll from '../hooks/useGetAllQuery'; + +import CreateForm from './CreateForm'; +import EditTable from './EditTable'; + +type Props = { + classId: number; +}; + +export default function InputView({ classId }: Props) { + const { entries, invalidateQuery } = useGetAll(classId); + + return ( + <Stack spacing={4}> + <CreateForm classId={classId} invalidateQuery={invalidateQuery} /> + {entries && ( + <EditTable data={entries} invalidateQuery={invalidateQuery} /> + )} + </Stack> + ); +} diff --git a/src/client/features/console/classTemporarySchedule/hooks/useGetAllQuery.ts b/src/client/features/console/classTemporarySchedule/hooks/useGetAllQuery.ts @@ -0,0 +1,37 @@ +import { useSnackbar } from 'notistack'; + +import { trpc } from 'client/utils/trpc'; + +import type { ClassTemporarySchedule } from '@prisma/client'; + +type Return = { + loading: boolean; + entries: ClassTemporarySchedule[] | undefined; + invalidateQuery: () => Promise<void>; +}; + +const useGetAll = (classId: number): Return => { + const { enqueueSnackbar } = useSnackbar(); + const trpcCtx = trpc.useContext(); + + const query = trpc.classTemporarySchedule.getAll.useQuery( + { classId }, + { + onError: () => + enqueueSnackbar('エラーが発生しました', { + variant: 'error', + autoHideDuration: 6000, + }), + } + ); + const invalidateQuery = () => + trpcCtx.classTemporarySchedule.getAll.invalidate({ classId }); + + return { + loading: query.isLoading, + entries: query.data, + invalidateQuery, + }; +}; + +export default useGetAll; diff --git a/src/client/features/console/classTemporarySchedule/index.tsx b/src/client/features/console/classTemporarySchedule/index.tsx @@ -0,0 +1,30 @@ +import { Box } from '@mui/material'; +import { useState } from 'react'; + +import ClassPicker from 'client/components/ClassPicker'; + +import InputView from './components/InputView'; + +import type { SchoolClass } from '@prisma/client'; + +type Props = { + classes: SchoolClass[]; +}; + +export default function ClassTemporaryScheduleEditor({ classes }: Props) { + const [classId, setClassId] = useState<number>(); + + return ( + <> + <Box width='8rem' m={4}> + <ClassPicker + classes={classes} + classId={classId} + setClassId={setClassId} + /> + </Box> + + {classId && <InputView classId={classId} />} + </> + ); +} diff --git a/src/client/features/console/event/components/CreateForm.tsx b/src/client/features/console/event/components/CreateForm.tsx @@ -0,0 +1,85 @@ +import SaveIcon from '@mui/icons-material/Save'; +import { LoadingButton } from '@mui/lab'; +import { Box, Grid, Paper } from '@mui/material'; +import { + DatePickerElement, + CheckboxButtonGroup, + TextFieldElement, + FormContainer, +} from 'react-hook-form-mui'; + +import DatePickerLocalizationProvider from 'client/components/DatePickerLocalizationProvider'; +import { GRADES } from 'common/constant'; + +import useCreateForm from '../hooks/useCreateForm'; + +import type { FormInputs } from '../hooks/useCreateForm'; + +export default function CreateForm() { + const { formContext, handleCreate, loading } = useCreateForm(); + + return ( + <Box component={Paper} p={4}> + <FormContainer formContext={formContext} onSuccess={handleCreate}> + <Grid container spacing={4}> + <Grid item width='15rem'> + <DatePickerLocalizationProvider> + <DatePickerElement<FormInputs> + label='日付' + name='date' + required + disabled={loading} + slotProps={{ + toolbar: { toolbarFormat: 'M月d日' }, + }} + /> + </DatePickerLocalizationProvider> + </Grid> + + <Grid item> + <CheckboxButtonGroup<FormInputs> + label='学年' + name='grades' + options={GRADES.map((g) => ({ + id: g, + label: `${g}年`, + }))} + required + row + disabled={loading} + /> + </Grid> + + <Grid item width={250}> + <TextFieldElement<FormInputs> + label='タイトル' + name='title' + required + disabled={loading} + /> + </Grid> + + <Grid item> + <TextFieldElement<FormInputs> + label='詳細' + name='detail' + disabled={loading} + /> + </Grid> + + <Grid item> + <LoadingButton + type='submit' + variant='contained' + startIcon={<SaveIcon />} + loadingPosition='start' + loading={loading} + > + 新規作成 + </LoadingButton> + </Grid> + </Grid> + </FormContainer> + </Box> + ); +} diff --git a/src/client/features/console/event/components/EditTable/DeleteCell.tsx b/src/client/features/console/event/components/EditTable/DeleteCell.tsx @@ -0,0 +1,72 @@ +import { useDisclosure } from '@mantine/hooks'; +import DeleteIcon from '@mui/icons-material/Delete'; +import LoadingButton from '@mui/lab/LoadingButton'; +import { + DialogTitle, + DialogContent, + DialogContentText, + DialogActions, + Button, + TableCell, + IconButton, + Dialog, +} from '@mui/material'; + +import formatDate from 'common/utils/formatDate'; + +import useDeleteMutation from '../../hooks/useDeleteMutation'; + +import type { SchoolEvent } from '@prisma/client'; + +type DeleteDialogProps = { + data: SchoolEvent; + open: boolean; + handleClose: () => void; +}; + +function DeleteDialog({ data, open, handleClose }: DeleteDialogProps) { + const { mutateAsync, isLoading } = useDeleteMutation(); + const handleDelete = () => { + mutateAsync({ id: data.id }).then(() => handleClose()); + }; + + const dateString = formatDate(data.date, 'yyyy/MM/dd (EEEEE)'); + const content = `${dateString} 「${data.title}」を永久に削除してもよろしいですか?`; + + return ( + <Dialog open={open} onClose={handleClose}> + <DialogTitle>本当に削除しますか?</DialogTitle> + <DialogContent> + <DialogContentText>{content}</DialogContentText> + </DialogContent> + <DialogActions> + <Button onClick={handleClose}>いいえ</Button> + <LoadingButton onClick={handleDelete} loading={isLoading}> + 削除する + </LoadingButton> + </DialogActions> + </Dialog> + ); +} + +type Props = { + data: SchoolEvent; +}; + +export default function DeleteCell({ data }: Props) { + const [open, handlers] = useDisclosure(false); + + return ( + <TableCell> + <IconButton + onClick={handlers.open} + aria-label='削除する' + sx={{ color: 'red' }} + size='small' + > + <DeleteIcon /> + </IconButton> + <DeleteDialog data={data} open={open} handleClose={handlers.close} /> + </TableCell> + ); +} diff --git a/src/client/features/console/event/components/EditTable/GradeSelector.tsx b/src/client/features/console/event/components/EditTable/GradeSelector.tsx @@ -0,0 +1,38 @@ +import { + Checkbox, + FormControl, + FormControlLabel, + FormGroup, + FormLabel, +} from '@mui/material'; + +import { GRADES } from 'common/constant'; + +import type { Grade } from 'common/types'; + +type Props = { + selectedGrades: Grade[]; + handleChange: (grade: Grade, selected: boolean) => void; +}; + +export default function GradeSelector({ selectedGrades, handleChange }: Props) { + return ( + <FormControl component='fieldset'> + <FormLabel component='legend'>学年で絞り込む</FormLabel> + <FormGroup row> + {GRADES.map((g) => ( + <FormControlLabel + control={ + <Checkbox + checked={selectedGrades.includes(g)} + onChange={(_, checked) => handleChange(g, checked)} + /> + } + label={`${g}年`} + key={g} + /> + ))} + </FormGroup> + </FormControl> + ); +} diff --git a/src/client/features/console/event/components/EditTable/UpdateCell.tsx b/src/client/features/console/event/components/EditTable/UpdateCell.tsx @@ -0,0 +1,122 @@ +import { useDisclosure } from '@mantine/hooks'; +import EditIcon from '@mui/icons-material/Edit'; +import { LoadingButton } from '@mui/lab'; +import { + TableCell, + IconButton, + Box, + Button, + Dialog, + DialogActions, + DialogContent, + DialogTitle, + Stack, +} from '@mui/material'; +import { + CheckboxButtonGroup, + DatePickerElement, + FormContainer, + TextFieldElement, +} from 'react-hook-form-mui'; + +import DatePickerLocalizationProvider from 'client/components/DatePickerLocalizationProvider'; +import { GRADES } from 'common/constant'; + +import useUpdateForm from '../../hooks/useUpdateForm'; + +import type { FormInputs } from '../../hooks/useUpdateForm'; +import type { SchoolEvent } from '@prisma/client'; + +type DialogProps = { + data: SchoolEvent; + open: boolean; + handleClose: () => void; +}; + +function UpdateDialog({ data, open, handleClose }: DialogProps) { + const { formContext, handleUpdate, loading } = useUpdateForm({ + eventData: data, + handleClose, + }); + + return ( + <Dialog open={open} onClose={handleClose}> + <FormContainer formContext={formContext} onSuccess={handleUpdate}> + <DialogTitle>ID: {data.id} の編集</DialogTitle> + <DialogContent> + <Stack direction='column' spacing={4} m={1}> + <Box width={250}> + <DatePickerLocalizationProvider> + <DatePickerElement<FormInputs> + label='日付' + name='date' + required + disabled={loading} + slotProps={{ + toolbar: { toolbarFormat: 'M月d日' }, + }} + /> + </DatePickerLocalizationProvider> + </Box> + + <Box> + <CheckboxButtonGroup<FormInputs> + label='学年' + name='grades' + options={GRADES.map((g) => ({ + id: g, + label: `${g}年`, + }))} + required + row + disabled={loading} + /> + </Box> + + <Box width={250}> + <TextFieldElement<FormInputs> + label='タイトル' + name='title' + required + disabled={loading} + /> + </Box> + + <Box> + <TextFieldElement<FormInputs> + label='詳細' + name='detail' + disabled={loading} + /> + </Box> + </Stack> + </DialogContent> + <DialogActions> + <Button onClick={handleClose}>キャンセル</Button> + <LoadingButton type='submit' loading={loading}> + 保存する + </LoadingButton> + </DialogActions> + </FormContainer> + </Dialog> + ); +} + +type Props = { + data: SchoolEvent; +}; + +export default function UpdateCell({ data }: Props) { + const [open, handlers] = useDisclosure(false); + + return ( + <> + <TableCell> + <IconButton onClick={handlers.open} aria-label='編集する' size='small'> + <EditIcon /> + </IconButton> + <UpdateDialog data={data} open={open} handleClose={handlers.close} /> + </TableCell> + </> + ); +} diff --git a/src/client/features/console/event/components/EditTable/index.tsx b/src/client/features/console/event/components/EditTable/index.tsx @@ -0,0 +1,86 @@ +import { + TableContainer, + Paper, + Table, + TableHead, + TableRow, + TableCell, + TableBody, + Stack, +} from '@mui/material'; +import { useCallback, useState } from 'react'; + +import { GRADES } from 'common/constant'; +import formatDate from 'common/utils/formatDate'; + +import useFilteredEvents from '../../hooks/useFilteredEvents'; + +import DeleteCell from './DeleteCell'; +import GradeSelector from './GradeSelector'; +import UpdateCell from './UpdateCell'; + +import type { Grade } from 'common/types'; + +export default function EditTable() { + const [gradeSelection, setGradeSelection] = useState({ + 1: true, + 2: true, + 3: true, + }); + const selectedGrades = GRADES.flatMap((g) => + gradeSelection[g] === true ? g : [] + ); + const handleChange = useCallback((grade: Grade, checked: boolean) => { + setGradeSelection((old) => ({ + ...old, + [grade]: checked, + })); + }, []); + + const { loading, data: events } = useFilteredEvents(selectedGrades); + + return ( + <Stack spacing={2}> + <GradeSelector + selectedGrades={selectedGrades} + handleChange={handleChange} + /> + {!loading && ( + <TableContainer component={Paper}> + <Table size='small'> + <TableHead> + <TableRow> + <TableCell>ID</TableCell> + <TableCell>日付</TableCell> + <TableCell>学年</TableCell> + <TableCell>タイトル</TableCell> + <TableCell>詳細</TableCell> + <TableCell>更新日時</TableCell> + <TableCell>編集</TableCell> + <TableCell>削除</TableCell> + </TableRow> + </TableHead> + <TableBody> + {events.map((e) => ( + <TableRow key={e.id}> + <TableCell>{e.id}</TableCell> + <TableCell> + {formatDate(e.date, 'yyyy/MM/dd (EEEEE)')} + </TableCell> + <TableCell>{e.grades.sort().join(', ')}</TableCell> + <TableCell>{e.title}</TableCell> + <TableCell>{e.detail}</TableCell> + <TableCell> + {formatDate(e.updatedAt, 'yyyy/MM/dd (EEEEE) HH:mm:ss')} + </TableCell> + <UpdateCell data={e} /> + <DeleteCell data={e} /> + </TableRow> + ))} + </TableBody> + </Table> + </TableContainer> + )} + </Stack> + ); +} diff --git a/src/client/features/console/event/hooks/useCreateForm.ts b/src/client/features/console/event/hooks/useCreateForm.ts @@ -0,0 +1,65 @@ +import { zodResolver } from '@hookform/resolvers/zod'; +import { useSnackbar } from 'notistack'; +import { + type UseFormReturn, + type SubmitHandler, + useForm, +} from 'react-hook-form'; +import { z } from 'zod'; + +import { trpc } from 'client/utils/trpc'; +import { DATE_FORMAT } from 'common/constant'; +import formatDate from 'common/utils/formatDate'; +import { zodGrade } from 'common/utils/zod'; + +const schema = z.object({ + date: z.date(), + grades: z.array(zodGrade).nonempty('1つ以上選択してください'), + title: z.string({ required_error: '必須入力です' }).nonempty('必須入力です'), + detail: z.string().nullish(), +}); + +export type FormInputs = z.infer<typeof schema>; + +type Return = { + formContext: UseFormReturn<FormInputs>; + handleCreate: SubmitHandler<FormInputs>; + loading: boolean; +}; + +const useCreateForm = (): Return => { + const { enqueueSnackbar } = useSnackbar(); + const trpcCtx = trpc.useContext(); + + const mutation = trpc.event.create.useMutation({ + onSuccess: () => { + trpcCtx.event.getAll.invalidate(); + enqueueSnackbar('正常に作成しました', { + variant: 'success', + autoHideDuration: 2000, + }); + }, + onError: (err) => + enqueueSnackbar(`エラーが発生しました\n${err.message}`, { + variant: 'error', + autoHideDuration: 6000, + }), + }); + + const formContext: UseFormReturn<FormInputs> = useForm<FormInputs>({ + defaultValues: { + grades: [1, 2, 3], + }, + resolver: zodResolver(schema), + }); + + const handleCreate: SubmitHandler<FormInputs> = ({ date, ...rest }) => { + mutation + .mutateAsync({ date: formatDate(date, DATE_FORMAT), ...rest }) + .then(() => formContext.reset()); + }; + + return { formContext, handleCreate, loading: mutation.isLoading }; +}; + +export default useCreateForm; diff --git a/src/client/features/console/event/hooks/useDeleteMutation.ts b/src/client/features/console/event/hooks/useDeleteMutation.ts @@ -0,0 +1,27 @@ +import { useSnackbar } from 'notistack'; + +import { trpc } from 'client/utils/trpc'; + +const useDeleteMutation = () => { + const { enqueueSnackbar } = useSnackbar(); + const trpcCtx = trpc.useContext(); + + const mutation = trpc.event.delete.useMutation({ + onSuccess: () => { + trpcCtx.event.getAll.invalidate(); + enqueueSnackbar('正常に削除しました', { + variant: 'success', + autoHideDuration: 2000, + }); + }, + onError: (err) => + enqueueSnackbar(`エラーが発生しました\n${err.message}`, { + variant: 'error', + autoHideDuration: 6000, + }), + }); + + return mutation; +}; + +export default useDeleteMutation; diff --git a/src/client/features/console/event/hooks/useFilteredEvents.ts b/src/client/features/console/event/hooks/useFilteredEvents.ts @@ -0,0 +1,34 @@ +import { intersection } from 'lodash'; +import { useMemo } from 'react'; + +import { trpc } from 'client/utils/trpc'; + +import type { SchoolEvent } from '@prisma/client'; +import type { Grade } from 'common/types'; + +intersection; + +type Return = { + loading: boolean; + data: SchoolEvent[]; +}; + +const useFilteredEvents = (selectedGrades: Grade[]): Return => { + const query = trpc.event.getAll.useQuery(); + + const data = useMemo(() => { + if (query.data) { + return query.data + .filter((e) => intersection(e.grades, selectedGrades).length > 0) + .sort((a, b) => b.date.getTime() - a.date.getTime()); + } + return []; + }, [query.data, selectedGrades]); + + return { + loading: query.isLoading, + data, + }; +}; + +export default useFilteredEvents; diff --git a/src/client/features/console/event/hooks/useUpdateForm.ts b/src/client/features/console/event/hooks/useUpdateForm.ts @@ -0,0 +1,75 @@ +import { zodResolver } from '@hookform/resolvers/zod'; +import { useSnackbar } from 'notistack'; +import { useForm } from 'react-hook-form'; +import { z } from 'zod'; + +import { trpc } from 'client/utils/trpc'; +import { DATE_FORMAT } from 'common/constant'; +import formatDate from 'common/utils/formatDate'; +import { zodGrade } from 'common/utils/zod'; + +import type { SchoolEvent } from '@prisma/client'; +import type { SubmitHandler, UseFormReturn } from 'react-hook-form'; + +const schema = z.object({ + date: z.date(), + grades: z.array(zodGrade).nonempty('1つ以上選択してください'), + title: z.string({ required_error: '必須入力です' }).nonempty('必須入力です'), + detail: z.string().nullable(), +}); + +export type FormInputs = z.infer<typeof schema>; + +type Params = { + eventData: SchoolEvent; + handleClose: () => void; +}; +type Return = { + formContext: UseFormReturn<FormInputs>; + handleUpdate: SubmitHandler<FormInputs>; + loading: boolean; +}; + +const useUpdateForm = ({ eventData, handleClose }: Params): Return => { + const { enqueueSnackbar } = useSnackbar(); + const trpcCtx = trpc.useContext(); + + const mutation = trpc.event.update.useMutation({ + onSuccess: () => { + trpcCtx.event.getAll.invalidate(); + enqueueSnackbar('正常に更新しました', { + variant: 'success', + autoHideDuration: 2000, + }); + }, + onError: (err) => + enqueueSnackbar(`エラーが発生しました\n${err.message}`, { + variant: 'error', + autoHideDuration: 6000, + }), + }); + + const formContext: UseFormReturn<FormInputs> = useForm<FormInputs>({ + defaultValues: { + date: eventData.date, + grades: z.array(zodGrade).nonempty().parse(eventData.grades), + title: eventData.title, + detail: eventData.detail ?? '', + }, + resolver: zodResolver(schema), + }); + + const handleUpdate: SubmitHandler<FormInputs> = ({ date, ...rest }) => { + mutation + .mutateAsync({ + id: eventData.id, + date: formatDate(date, DATE_FORMAT), + ...rest, + }) + .then(() => handleClose()); + }; + + return { formContext, handleUpdate, loading: mutation.isLoading }; +}; + +export default useUpdateForm; diff --git a/src/client/features/console/event/index.tsx b/src/client/features/console/event/index.tsx @@ -0,0 +1,13 @@ +import { Stack } from '@mui/material'; + +import CreateForm from './components/CreateForm'; +import EditTable from './components/EditTable'; + +export default function EventEditor() { + return ( + <Stack spacing={4} my={4}> + <CreateForm /> + <EditTable /> + </Stack> + ); +} diff --git a/src/client/features/console/gradeSchedule/components/DatePicker.tsx b/src/client/features/console/gradeSchedule/components/DatePicker.tsx @@ -1,8 +1,6 @@ import ChevronLeftIcon from '@mui/icons-material/ChevronLeft'; import ChevronRightIcon from '@mui/icons-material/ChevronRight'; -import Box from '@mui/material/Box'; -import IconButton from '@mui/material/IconButton'; -import Stack from '@mui/material/Stack'; +import { Stack, IconButton, Box } from '@mui/material'; import { addDays, subDays } from 'date-fns'; import DatePicker from 'client/components/DatePicker'; diff --git a/src/client/features/console/gradeSchedule/components/InputForm.tsx b/src/client/features/console/gradeSchedule/components/InputForm.tsx @@ -1,11 +1,14 @@ import EditIcon from '@mui/icons-material/Edit'; -import Autocomplete from '@mui/material/Autocomplete'; -import Box from '@mui/material/Box'; -import Button from '@mui/material/Button'; -import Paper from '@mui/material/Paper'; -import Stack from '@mui/material/Stack'; -import TextField from '@mui/material/TextField'; -import Typography from '@mui/material/Typography'; +import { + Autocomplete, + Box, + Button, + Grid, + Paper, + Stack, + TextField, + Typography, +} from '@mui/material'; import { SCHOOL_TIMES, @@ -21,7 +24,7 @@ type UnitInputFormProps = { value: DayPeriod | null; onChange: (newValue: DayPeriod | null) => void; schoolTime: SchoolTime; - disabled?: boolean; + disabled: boolean; }; function UnitInputForm({ @@ -31,20 +34,22 @@ function UnitInputForm({ disabled, }: UnitInputFormProps) { return ( - <Autocomplete - disablePortal - autoSelect - disabled={disabled} - value={value && DAY_PERIOD_MAP_EN_TO_JA[value]} - onChange={(_, newValue) => - onChange(newValue ? DAY_PERIOD_MAP_JA_TO_EN[newValue] : newValue) - } - options={DAY_PERIOD_JA} - sx={{ width: 120 }} - renderInput={(params) => ( - <TextField {...params} label={`${schoolTime}限`} /> - )} - /> + <Box width={120}> + <Autocomplete + disablePortal + autoSelect + disabled={disabled} + options={DAY_PERIOD_JA} + value={value && DAY_PERIOD_MAP_EN_TO_JA[value]} + onChange={(_, newValue) => + onChange(newValue ? DAY_PERIOD_MAP_JA_TO_EN[newValue] : newValue) + } + fullWidth + renderInput={(params) => ( + <TextField {...params} label={`${schoolTime}限`} /> + )} + /> + </Box> ); } @@ -64,9 +69,9 @@ export default function InputForm({ disabled, }: Props) { return ( - <Paper component={Box} p={4}> - <Stack direction='row' alignItems='center'> - <Typography variant='h3' fontSize={20} fontWeight={400} width={100}> + <Box component={Paper} p={{ xs: 2, md: 4 }}> + <Stack direction='row' alignItems='center' spacing={6}> + <Typography variant='h3' fontSize={20} fontWeight={400}> {grade}年 </Typography> @@ -83,17 +88,18 @@ export default function InputForm({ </Box> </Stack> - <Stack direction={{ xs: 'column', md: 'row' }} spacing={2} mt={2}> + <Grid container spacing={2} mt={2}> {SCHOOL_TIMES.map((schoolTime) => ( - <UnitInputForm - schoolTime={schoolTime} - value={get(schoolTime)} - onChange={(newValue) => set(schoolTime, newValue)} - disabled={disabled} - key={schoolTime} - /> + <Grid item key={schoolTime}> + <UnitInputForm + schoolTime={schoolTime} + value={get(schoolTime)} + onChange={(newValue) => set(schoolTime, newValue)} + disabled={disabled} + /> + </Grid> ))} - </Stack> - </Paper> + </Grid> + </Box> ); } diff --git a/src/client/features/console/gradeSchedule/hooks/useGradeSchedule.ts b/src/client/features/console/gradeSchedule/hooks/useGradeSchedule.ts @@ -1,10 +1,11 @@ -import { addDays, format, startOfDay } from 'date-fns'; +import { addDays, startOfDay } from 'date-fns'; import { useSnackbar } from 'notistack'; import { useEffect, useState } from 'react'; -import { useMap } from 'usehooks-ts'; +import useMap from 'client/hooks/useMap'; import { trpc } from 'client/utils/trpc'; import { DATE_FORMAT } from 'common/constant'; +import formatDate from 'common/utils/formatDate'; import type { DayPeriod } from '@prisma/client'; import type { Grade, SchoolTime } from 'common/types'; @@ -41,7 +42,7 @@ export const useGradeSchedule = (): Result => { }; const query = trpc.gradeSchedule.byDate.useQuery( - { date: format(date, DATE_FORMAT) }, + { date: formatDate(date, DATE_FORMAT) }, { onError: () => enqueueSnackbar('エラーが発生しました', { @@ -56,7 +57,10 @@ export const useGradeSchedule = (): Result => { modified[1][1].reset(); modified[2][1].reset(); modified[3][1].reset(); - trpcCtx.gradeSchedule.byDate.setData({ date: data.date }, data); + trpcCtx.gradeSchedule.byDate.setData( + { date: formatDate(data.date, DATE_FORMAT) }, + data + ); enqueueSnackbar('正常に保存されました', { variant: 'success', autoHideDuration: 2000, @@ -74,7 +78,7 @@ export const useGradeSchedule = (): Result => { useEffect(() => { // 次の日の分をプリフェッチ trpcCtx.gradeSchedule.byDate.prefetch( - { date: format(addDays(date, 1), DATE_FORMAT) }, + { date: formatDate(addDays(date, 1), DATE_FORMAT) }, { retry: 0, staleTime: 60 * 1000, // 60秒間は最新扱いする @@ -168,7 +172,7 @@ export const useGradeSchedule = (): Result => { const submit = () => mutation.mutateAsync({ - date: format(date, DATE_FORMAT), + date: formatDate(date, DATE_FORMAT), schedule: { 1: new Map(modified[1][0].entries()), 2: new Map(modified[2][0].entries()), diff --git a/src/client/features/console/gradeSchedule/index.tsx b/src/client/features/console/gradeSchedule/index.tsx @@ -1,8 +1,6 @@ import SaveIcon from '@mui/icons-material/Save'; import { LoadingButton } from '@mui/lab'; -import Checkbox from '@mui/material/Checkbox'; -import FormControlLabel from '@mui/material/FormControlLabel'; -import Stack from '@mui/material/Stack'; +import { Checkbox, FormControlLabel, Stack } from '@mui/material'; import { addDays } from 'date-fns'; import { useState } from 'react'; @@ -12,7 +10,7 @@ import DatePicker from './components/DatePicker'; import InputForm from './components/InputForm'; import { useGradeSchedule } from './hooks/useGradeSchedule'; -export default function WeekdayAndSchoolTimeTimetableEditor() { +export default function GradeScheduleEditor() { const { date, setDate, @@ -54,7 +52,13 @@ export default function WeekdayAndSchoolTimeTimetableEditor() { ))} </Stack> - <Stack direction='row' spacing={4} m={4}> + <Stack + direction={{ xs: 'column', sm: 'row' }} + spacing={{ xs: 2, sm: 4 }} + alignItems='flex-start' + mx={{ xs: 2, md: 4 }} + my={4} + > <LoadingButton variant='contained' loading={sending} diff --git a/src/client/features/daily/atoms.ts b/src/client/features/daily/atoms.ts @@ -0,0 +1,12 @@ +import { atom } from 'jotai'; + +import type { Class, Grade, GradeClass } from 'common/types'; + +export const gradeAtom = atom<Grade | null>(null); +export const classAtom = atom<Class | null>(null); + +export const gradeClassAtom = atom<GradeClass | null>((get) => { + const g = get(gradeAtom); + const c = get(classAtom); + return g && c ? `${g}-${c}` : null; +}); diff --git a/src/client/features/daily/components/DatePicker.tsx b/src/client/features/daily/components/DatePicker.tsx @@ -1,36 +1,41 @@ -import { Temporal } from '@js-temporal/polyfill'; import ChevronLeftIcon from '@mui/icons-material/ChevronLeft'; import ChevronRightIcon from '@mui/icons-material/ChevronRight'; -import Box from '@mui/material/Box'; -import IconButton from '@mui/material/IconButton'; -import Stack from '@mui/material/Stack'; +import { Stack, IconButton, Typography } from '@mui/material'; +import { isSameDay } from 'date-fns'; +import { useCallback } from 'react'; -import DatePicker from 'client/components/DatePicker'; -import { dateToPlainDate, plainDateToDate } from 'common/utils/date'; +import IconButtonDatePicker from 'client/components/IconButtonDatePicker'; +import formatDate from 'common/utils/formatDate'; + +import type { Dispatch, SetStateAction } from 'react'; type Props = { - dates: Temporal.PlainDate[]; - currentDate: Temporal.PlainDate | null; - setDate: (d: Temporal.PlainDate) => void; - prev: () => void; - next: () => void; + dates: Date[]; + index: number; + setDate: (d: Date) => void; + setIndex: Dispatch<SetStateAction<number>>; }; export default function DatePickerWithSideButton({ - currentDate, + index, dates, + setIndex, setDate, - prev, - next, }: Props) { - const date = currentDate ?? Temporal.Now.plainDateISO(); - const handleChange = (n: Date | null) => { - if (n == null) return; - setDate(dateToPlainDate(n)); + const date = dates[index] ?? new Date(); + const dateString = formatDate(date, 'yyyy/MM/dd (EEEEE)'); + + const handleChange = (d: Date | null) => { + if (d == null) return; + setDate(d); }; const minDate = dates.at(0); const maxDate = dates.at(-1); + const shouldDisableDate = useCallback( + (d1: Date) => dates.every((d2) => !isSameDay(d1, d2)), + [dates] + ); return ( <Stack @@ -42,28 +47,33 @@ export default function DatePickerWithSideButton({ px={2} > <IconButton - disabled={minDate && date.equals(minDate)} - onClick={prev} + disabled={index <= 0} + onClick={() => setIndex((old) => old - 1)} title='前の時間割' > <ChevronLeftIcon /> </IconButton> - <Box width='12.5rem'> - <DatePicker - value={plainDateToDate(date) ?? null} + <Stack direction='row' spacing={{ xs: 0, sm: 1 }} alignItems='center'> + <IconButtonDatePicker + value={date} onChange={handleChange} - minDate={minDate && plainDateToDate(minDate)} - maxDate={maxDate && plainDateToDate(maxDate)} - shouldDisableDate={(d1) => - dates.every((d2) => !dateToPlainDate(d1).equals(d2)) - } + minDate={minDate} + maxDate={maxDate} + shouldDisableDate={shouldDisableDate} + showDaysOutsideCurrentMonth + slotProps={{ + actionBar: { actions: ['today', 'cancel', 'accept'] }, + }} /> - </Box> + <Typography variant='h2' fontSize={{ xs: 18, sm: 20 }}> + {dateString} + </Typography> + </Stack> <IconButton - disabled={maxDate && date.equals(maxDate)} - onClick={next} + disabled={index >= dates.length - 1} + onClick={() => setIndex((old) => old + 1)} title='次の時間割' > <ChevronRightIcon /> diff --git a/src/client/features/daily/components/Lessons/BasisChip.tsx b/src/client/features/daily/components/Lessons/BasisChip.tsx @@ -0,0 +1,35 @@ +import { Chip } from '@mui/material'; + +import { DAY_PERIOD_MAP_EN_TO_JA, WEEKDAYS_EN } from 'common/constant'; + +import type { Basis } from '../../types'; +import type { ChipProps } from '@mui/material'; + +type Props = { + data: Basis; + date: Date; + period: number; +}; + +export default function BasisChip({ data, date, period }: Props) { + let label: string; + let color: ChipProps['color']; + + if (data.type === 'dayPeriod') { + // 曜日時限の場合 + label = DAY_PERIOD_MAP_EN_TO_JA[data.dayPeriod]; + if (`${WEEKDAYS_EN[date.getDay()]}${period}` === data.dayPeriod) { + // 曜日時限の変更がない場合 + color = 'default'; + } else { + // 曜日時限の変更がある場合 + color = 'warning'; + } + } else { + // 臨時変更の場合 + label = `臨時`; + color = 'warning'; + } + + return <Chip label={label} size='small' color={color} sx={{ mb: '2px' }} />; +} diff --git a/src/client/features/daily/components/Lessons/Events.tsx b/src/client/features/daily/components/Lessons/Events.tsx @@ -0,0 +1,50 @@ +import EventNoteIcon from '@mui/icons-material/EventNote'; +import { Box, Divider, Stack, Typography } from '@mui/material'; + +import type { SchoolEvent } from '@prisma/client'; + +type Props = { + events: SchoolEvent[]; +}; + +export function Events({ events }: Props) { + return ( + <> + <Stack + direction='row' + alignItems='center' + spacing={{ xs: 1, sm: 2 }} + px={0.5} + > + <EventNoteIcon /> + <Box width={1}> + {events.map(({ id, title, detail }) => ( + <Stack + direction='row' + spacing={1} + alignItems='center' + justifyContent='flex-start' + key={id} + > + <Typography + fontSize={{ xs: 20, sm: 24 }} + whiteSpace='nowrap' + component='span' + > + {title} + </Typography> + <Typography + variant='body2' + color='text.secondary' + component='span' + > + {detail} + </Typography> + </Stack> + ))} + </Box> + </Stack> + <Divider sx={{ mb: 1.5 }} /> + </> + ); +} diff --git a/src/client/features/daily/components/Lessons/Lesson.tsx b/src/client/features/daily/components/Lessons/Lesson.tsx @@ -1,53 +1,51 @@ -import Chip from '@mui/material/Chip'; -import Stack from '@mui/material/Stack'; +import { Stack } from '@mui/material'; import { styled } from '@mui/material/styles'; -import React from 'react'; -import { DAY_PERIOD_MAP_EN_TO_JA } from 'common/constant'; +import BasisChip from './BasisChip'; +import Note from './Note'; -import type { LessonData } from '../../types'; -import type { ChipProps } from '@mui/material/Chip'; +import type { Basis, LessonData } from '../../types'; +import type { SchoolTime } from 'common/types'; const ListItem = styled('li')(({ theme }) => ({ - listStylePosition: 'outside', - marginLeft: '1em', // リスト数字用の余白 - marginBottom: '1rem', - '&:last-child': { marginBottom: '.25rem' }, - borderBottom: `solid 1px ${theme.palette.divider}`, + marginBottom: theme.spacing(1.5), + '&:last-child': { marginBottom: 0 }, + borderBottom: `solid 1px ${theme.vars.palette.divider}`, })); -const LessonSpan = styled('span')({ whiteSpace: 'nowrap' }); +const PeriodSpan = styled('span')({ + display: 'inline-block', + width: '1em', +}); +const LessonSpan = styled('span')({ + display: 'inline-block', + whiteSpace: 'nowrap', + flexGrow: 1, + overflowX: 'hidden', + textOverflow: 'ellipsis', +}); type Props = { + date: Date; + period: SchoolTime; subjects: LessonData['subjects']; - basis: LessonData['basis'] | null; - basisColor?: ChipProps['color']; + basis: Basis | null; }; -export default function Lesson({ subjects, basis, basisColor }: Props) { - let displayBasis: string | null; - if (basis === null) { - displayBasis = null; - } else if (typeof basis === 'string') { - displayBasis = DAY_PERIOD_MAP_EN_TO_JA[basis]; - } else { - displayBasis = `臨時#${basis.temporaryGroupNum}`; - } - +export default function Lesson({ date, period, subjects, basis }: Props) { return ( <ListItem> <Stack direction='row' - justifyContent='flex-start' - alignItems='baseline' - spacing={1} - sx={{ overflowX: 'clip' }} - px={0.5} + alignItems='flex-end' + spacing={{ xs: 0.5, sm: 1 }} + overflow='clip' + px={{ xs: 0.5, sm: 1 }} > - <LessonSpan sx={{ flexGrow: 2 }}>{subjects.join('/')}</LessonSpan> - {displayBasis && ( - <Chip label={displayBasis} color={basisColor} size='small' /> - )} + <PeriodSpan>{period}.</PeriodSpan> + <LessonSpan>{subjects.join('/')}</LessonSpan> + <Note date={date} period={period} /> + {basis && <BasisChip data={basis} date={date} period={period} />} </Stack> </ListItem> ); diff --git a/src/client/features/daily/components/Lessons/Note.tsx b/src/client/features/daily/components/Lessons/Note.tsx @@ -0,0 +1,130 @@ +import { useDisclosure, useLocalStorage } from '@mantine/hooks'; +import ClearIcon from '@mui/icons-material/Clear'; +import NoteAddIcon from '@mui/icons-material/NoteAdd'; +import { + Button, + Chip, + Dialog, + DialogActions, + DialogContent, + DialogTitle, + IconButton, + InputAdornment, + TextField, +} from '@mui/material'; +import { useRouter } from 'next/router'; +import { useCallback, useRef } from 'react'; + +import { DATE_FORMAT } from 'common/constant'; +import formatDate from 'common/utils/formatDate'; + +import type { SchoolTime } from 'common/types'; + +const getKey = (path: string, date: Date, period: SchoolTime) => { + const dateString = formatDate(date, DATE_FORMAT); + return `note_data_${path}_${dateString}_${period}`; +}; + +type Props = { + date: Date; + period: SchoolTime; +}; + +export default function Note({ date, period }: Props) { + const [open, handlers] = useDisclosure(false); + const inputRef = useRef<HTMLInputElement | null>(null); + + const router = useRouter(); + + const [note, setNote, removeNote] = useLocalStorage<string>({ + key: getKey(router.asPath, date, period), + defaultValue: '', + }); + + const noteExists = note !== ''; + const chipText = note.length > 5 ? note.slice(0, 5) + '...' : note; + + const handleClear = useCallback(() => { + if (inputRef.current) { + inputRef.current.value = ''; + } + }, []); + const handleSubmit = useCallback(() => { + if (inputRef.current) { + if (inputRef.current.value === '') { + removeNote(); + } else { + setNote(inputRef.current.value); + } + } + }, [removeNote, setNote]); + + return ( + <> + {noteExists ? ( + <Chip + label={chipText} + onClick={handlers.open} + aria-label='メモ' + size='small' + color='primary' + variant='outlined' + clickable + sx={{ mb: '2px' }} + /> + ) : ( + <IconButton + aria-label='メモを追加' + onClick={handlers.open} + size='small' + sx={{ mb: '2px' }} + > + <NoteAddIcon fontSize='inherit' /> + </IconButton> + )} + + <Dialog open={open} onClose={handlers.close} fullWidth maxWidth='xs'> + <DialogTitle> + {formatDate(date, 'yyyy/MM/dd (EEEEE)')} {period}限 のメモ + </DialogTitle> + <DialogContent> + <TextField + aria-label='メモ' + placeholder='メモを入力' + defaultValue={note} + autoFocus={!noteExists} + inputRef={inputRef} + variant='standard' + margin='dense' + multiline + fullWidth + InputProps={{ + endAdornment: ( + <InputAdornment position='end'> + <IconButton + aria-label='メモをクリア' + onClick={handleClear} + edge='end' + > + <ClearIcon /> + </IconButton> + </InputAdornment> + ), + }} + /> + </DialogContent> + <DialogActions> + <Button onClick={handlers.close}>キャンセル</Button> + <Button + onClick={() => { + handleSubmit(); + handlers.close(); + }} + > + 確定 + </Button> + </DialogActions> + </Dialog> + </> + ); +} diff --git a/src/client/features/daily/components/Lessons/UpdateDateChip.tsx b/src/client/features/daily/components/Lessons/UpdateDateChip.tsx @@ -1,10 +1,20 @@ +import { useDisclosure } from '@mantine/hooks'; +import CloseIcon from '@mui/icons-material/Close'; import UpdateIcon from '@mui/icons-material/Update'; -import Chip from '@mui/material/Chip'; -import Tooltip from '@mui/material/Tooltip'; -import { format, max } from 'date-fns'; -import React from 'react'; +import { + Chip, + Dialog, + DialogContent, + DialogTitle, + Typography, + IconButton, +} from '@mui/material'; +import { styled } from '@mui/material/styles'; +import { max } from 'date-fns'; +import { useMemo } from 'react'; import { SCHOOL_TIMES } from 'common/constant'; +import formatDate from 'common/utils/formatDate'; import type { DayTimetable } from '../../types'; @@ -12,37 +22,76 @@ type Props = { lessons: DayTimetable; }; +const UnorderedList = styled('ul')({ + margin: 0, + padding: 0, + listStyle: 'none', + marginBlockEnd: 8, +}); + +// TODO: イベント情報の更新日時を考慮する export default function UpdateDateChip({ lessons }: Props) { - const latest = max(SCHOOL_TIMES.flatMap((st) => lessons[st]?.updated ?? [])); + const [open, handlers] = useDisclosure(false); - const titleItems = SCHOOL_TIMES.flatMap((st) => { + const latestUpdatedAt = useMemo(() => { + const dates = SCHOOL_TIMES.flatMap((st) => lessons[st]?.updated ?? []); + if (dates.length > 0) { + const latest = max(dates); + return formatDate(latest, 'yyyy/MM/dd'); + } else { + return null; + } + }, [lessons]); + + const detailItems = SCHOOL_TIMES.flatMap((st) => { const data = lessons[st]; if (data) { - return ( - <React.Fragment key={st}> - {st}限 {format(data.updated, 'yyyy/MM/dd HH:mm')} - <br /> - </React.Fragment> - ); + return `${st}限 ${formatDate(data.updated, 'yyyy/MM/dd HH:mm')}`; } else { return []; } }); - const title = [ - <React.Fragment key='description'> - データ更新日時 - <br /> - </React.Fragment>, - ...titleItems, - ]; + + if (latestUpdatedAt === null) { + return <></>; + } return ( - <Tooltip title={title} arrow enterTouchDelay={0} leaveTouchDelay={5000}> + <> <Chip icon={<UpdateIcon />} size='small' - label={format(latest, 'yyyy/MM/dd')} + label={latestUpdatedAt} + clickable + onClick={handlers.toggle} /> - </Tooltip> + <Dialog open={open} onClose={handlers.close}> + <DialogTitle marginRight={4}> + <div>データ更新日時</div> + <IconButton + aria-label='閉じる' + onClick={handlers.close} + sx={{ + position: 'absolute', + right: 8, + top: 8, + color: (theme) => theme.vars.palette.grey[500], + }} + > + <CloseIcon /> + </IconButton> + </DialogTitle> + <DialogContent> + <UnorderedList> + {detailItems.map((v) => ( + <li key={v}>{v}</li> + ))} + </UnorderedList> + <Typography variant='body2' color='text.secondary'> + ※「曜日時限」「臨時変更」の更新日時 + </Typography> + </DialogContent> + </Dialog> + </> ); } diff --git a/src/client/features/daily/components/Lessons/index.tsx b/src/client/features/daily/components/Lessons/index.tsx @@ -1,45 +1,58 @@ -import Paper from '@mui/material/Paper'; -import React from 'react'; +import { Box, Paper } from '@mui/material'; +import styled from '@mui/system/styled'; +import { memo } from 'react'; -import { SCHOOL_TIMES, WEEKDAYS_EN } from 'common/constant'; +import { SCHOOL_TIMES } from 'common/constant'; +import { Events } from './Events'; import Lesson from './Lesson'; import UpdateDateChip from './UpdateDateChip'; import type { DayTimetable } from '../../types'; type Props = { - lessons: DayTimetable; + timetable: DayTimetable; }; -export default function Lessons({ lessons }: Props) { +const List = styled('ul')(({ theme }) => ({ + margin: 0, + padding: 0, + listStyle: 'none', + [theme.breakpoints.up('xs')]: { fontSize: 24 }, + [theme.breakpoints.up('sm')]: { fontSize: 32 }, +})); + +function Lessons({ timetable }: Props) { return ( - <Paper + <Box elevation={2} sx={(theme) => ({ - [theme.breakpoints.up('xs')]: { p: 2, pb: 1, fontSize: 24 }, - [theme.breakpoints.up('sm')]: { p: 4, py: 3, fontSize: 32 }, - margin: 1, // Paper の影の表示領域を確保 + boxSizing: 'border-box', + width: '90%', + marginX: 'auto', + marginY: 0.5, + [theme.breakpoints.up('xs')]: { p: 2 }, + [theme.breakpoints.up('sm')]: { p: 4, py: 3 }, })} + component={Paper} > - <ol style={{ margin: 0, padding: 0 }}> + {!!timetable.events.length && <Events events={timetable.events} />} + <List> {SCHOOL_TIMES.map((st) => { - const basis = lessons[st]?.basis ?? null; - const weekday = WEEKDAYS_EN[lessons.date.getDay()]; - const basisColor = - `${weekday}${st}` === basis ? 'default' : 'warning'; - return ( <Lesson - subjects={lessons[st]?.subjects ?? []} - basis={basis} - basisColor={basisColor} - key={st} + date={timetable.date} + period={st} + subjects={timetable[st]?.subjects ?? []} + basis={timetable[st]?.basis ?? null} + key={`${timetable.date}/${st}`} /> ); })} - </ol> - <UpdateDateChip lessons={lessons} /> - </Paper> + </List> + <UpdateDateChip lessons={timetable} /> + </Box> ); } + +export default memo(Lessons); diff --git a/src/client/features/daily/components/SetDefaultClassFab.tsx b/src/client/features/daily/components/SetDefaultClassFab.tsx @@ -0,0 +1,47 @@ +import { useDisclosure } from '@mantine/hooks'; +import SchoolIcon from '@mui/icons-material/School'; +import { Fab, Zoom } from '@mui/material'; +import { useAtomValue } from 'jotai'; +import { useSnackbar } from 'notistack'; +import { useTimeout } from 'usehooks-ts'; + +import useDefaultClass from 'client/hooks/useDefaultClass'; + +import { gradeClassAtom } from '../atoms'; + +export default function SetDefaultClassFab() { + const { enqueueSnackbar } = useSnackbar(); + const [visible, handlers] = useDisclosure(false); + + const [defaultGradeClass, setDefaultGradeClass] = useDefaultClass(); + const thisGradeClass = useAtomValue(gradeClassAtom); + + const handleClick = () => { + handlers.close(); + if (thisGradeClass) { + setDefaultGradeClass(thisGradeClass); + enqueueSnackbar({ + message: `${thisGradeClass} を所属クラスとして設定しました。\nホーム画面からの起動時に ${thisGradeClass} の時間割を表示します。\n所属クラスは「設定」ページから変更できます。`, + autoHideDuration: 10000, + variant: 'success', + }); + } + }; + + useTimeout(handlers.open, 3000); + + return ( + <Zoom in={visible && defaultGradeClass === null}> + <Fab + onClick={handleClick} + color='primary' + variant='extended' + size='medium' + sx={{ position: 'absolute', bottom: 16, right: 16 }} + > + <SchoolIcon sx={{ mr: 1 }} /> + 所属クラスに設定 + </Fab> + </Zoom> + ); +} diff --git a/src/client/features/daily/hooks/useIndexAndDate.ts b/src/client/features/daily/hooks/useIndexAndDate.ts @@ -1,45 +1,39 @@ -import { Temporal } from '@js-temporal/polyfill'; -import { isFuture } from 'date-fns'; -import { useMemo, useState } from 'react'; +import { addDays, isFuture, set } from 'date-fns'; +import { useCallback, useMemo, useState } from 'react'; -import type { Dispatch, SetStateAction } from 'react'; -import type SwiperClass from 'swiper'; +import { DATE_FORMAT } from 'common/constant'; +import formatDate from 'common/utils/formatDate'; type BaseReturn = { index: number; - date: Temporal.PlainDate | null; - dates: Temporal.PlainDate[]; - handlers: { - prev: () => void; - next: () => void; - setDate: (d: Temporal.PlainDate) => void; - setIndex: Dispatch<SetStateAction<number>>; - }; - setSwiper: (swiper: SwiperClass) => void; + date: Date | null; + dates: Date[]; + setDate: (d: Date) => void; + setIndex: React.Dispatch<React.SetStateAction<number>>; }; type Return = BaseReturn; const useIndexAndDate = (dateStrings: string[]): Return => { - const [swiper, setSwiper] = useState<SwiperClass>(); - const size = dateStrings.length; const dates = useMemo( - () => dateStrings.map((v) => Temporal.PlainDate.from(v)), + () => dateStrings.map((v) => new Date(v)), [dateStrings] ); // 初期設定の日付: 16時以前なら当日; 16時以降なら翌日; その日の時間割がなければ最も近い未来の日付; 未来がなければ最も新しい日付 - const [index, setIndexCore] = useState<number>(() => { + const [index, setIndex] = useState<number>(() => { // 1. 16時以前なら当日、16時以降なら翌日 { - const now = Temporal.Now.zonedDateTimeISO('Asia/Tokyo'); - const duration = now.since(now.with({ hour: 16, minute: 0, second: 0 })); // 今日の16時からの経過時間 - const initialDate = - duration.sign === -1 - ? Temporal.Now.plainDateISO() // 16時以前 - : Temporal.Now.plainDateISO().add({ days: 1 }); // 16時以降 - const i = dateStrings.indexOf(initialDate.toJSON()); + const todays16hour = set(new Date(), { + hours: 16, + minutes: 0, + seconds: 0, + }); + const initialDate = isFuture(todays16hour) + ? new Date() // 16時以前 + : addDays(new Date(), 1); // 16時以降 + const i = dateStrings.indexOf(formatDate(initialDate, DATE_FORMAT)); if (i !== -1) { return i; } @@ -57,41 +51,28 @@ const useIndexAndDate = (dateStrings: string[]): Return => { return size - 1; }); - const setIndex: Dispatch<SetStateAction<number>> = (update) => { - let newIndex: number; - if (typeof update === 'function') { - newIndex = update(index); - } else { - newIndex = update; - } - - swiper?.slideTo(newIndex); - setIndexCore(newIndex); - }; - - const dateString = dateStrings.at(index); - const date = dateString ? Temporal.PlainDate.from(dateString) : null; + const dateString = useMemo(() => dateStrings.at(index), [dateStrings, index]); + const date = useMemo( + () => (dateString ? new Date(dateString) : null), + [dateString] + ); - const setDate = (d: Temporal.PlainDate) => { - const newIndex = dateStrings.indexOf(d.toJSON()); - if (newIndex !== -1) { - setIndex(newIndex); - } - }; - const prev = () => setIndex((old) => (old > 0 ? old - 1 : old)); - const next = () => setIndex((old) => (old !== size ? old + 1 : old)); + const setDate = useCallback( + (d: Date) => { + const newIndex = dateStrings.indexOf(formatDate(d, DATE_FORMAT)); + if (newIndex !== -1) { + setIndex(newIndex); + } + }, + [dateStrings] + ); return { index, date, dates, - handlers: { - setIndex, - setDate, - prev, - next, - }, - setSwiper, + setDate, + setIndex, }; }; diff --git a/src/client/features/daily/index.tsx b/src/client/features/daily/index.tsx @@ -1,61 +1,90 @@ -import Box from '@mui/material/Box'; +import { useDidUpdate } from '@mantine/hooks'; +import { Box, Stack } from '@mui/material'; +import { Provider, createStore } from 'jotai'; +import { useEffect, useMemo, useState } from 'react'; import { Swiper, SwiperSlide } from 'swiper/react'; -import 'swiper/css'; +import { classAtom, gradeAtom } from './atoms'; import DatePicker from './components/DatePicker'; import Lessons from './components/Lessons'; +import SetDefaultClassFab from './components/SetDefaultClassFab'; import useIndexAndDate from './hooks/useIndexAndDate'; import type { DayTimetable } from './types'; +import type { Class, Grade } from 'common/types'; +import type SwiperClass from 'swiper'; + +import 'swiper/css'; + +const store = createStore(); type Props = { calendar: [string, DayTimetable][]; + grade: Grade; + class: Class; }; -export default function DailyView({ calendar }: Props) { - const { date, dates, index, handlers, setSwiper } = useIndexAndDate( - calendar.map(([date]) => date) +// TODO: jotai atom でデータ受け渡し +export default function DailyView(props: Props) { + const [swiper, setSwiper] = useState<SwiperClass>(); + const { dates, index, setDate, setIndex } = useIndexAndDate( + useMemo(() => props.calendar.map(([date]) => date), [props.calendar]) ); + const [initialIndex] = useState(index); + const handleSlideChange = (swiper: SwiperClass) => + setIndex(swiper.activeIndex); + + // index が変わると swiper をスライド + useDidUpdate(() => { + if (swiper?.activeIndex !== index) { + swiper?.slideTo(index); + } + }, [index]); + + // 学年、クラスの情報を提供 + useEffect(() => { + store.set(gradeAtom, props.grade); + store.set(classAtom, props.class); + }, [props.class, props.grade]); return ( - <Box - sx={{ - display: 'flex', - flexDirection: 'column', - width: '100%', - py: 1, - }} - > - <Box sx={{ py: 1 }}> + <Provider store={store}> + <Stack + direction='column' + width={1} + spacing={1} + py={2} + position='relative' + > <DatePicker - currentDate={date} dates={dates} - setDate={handlers.setDate} - prev={handlers.prev} - next={handlers.next} + index={index} + setDate={setDate} + setIndex={setIndex} /> - </Box> - - <Box sx={{ flexGrow: 1 }}> - {index < 0 ? ( - <Box sx={{ p: 2 }}>時間割がありません</Box> - ) : ( - <Swiper - slidesPerView='auto' - centeredSlides={true} - spaceBetween={20} - initialSlide={index} - onSwiper={setSwiper} - onSlideChange={(swiper) => handlers.setIndex(swiper.activeIndex)} - > - {calendar.map(([d, lessons]) => ( - <SwiperSlide style={{ width: '90%' }} key={d}> - <Lessons lessons={lessons} /> - </SwiperSlide> - ))} - </Swiper> - )} - </Box> - </Box> + + <Box flexGrow={1}> + {index < 0 ? ( + <Box sx={{ p: 2 }}>時間割がありません</Box> + ) : ( + <Swiper + centeredSlides={true} + spaceBetween={30} + initialSlide={initialIndex} + onSwiper={setSwiper} + onSlideChange={handleSlideChange} + > + {props.calendar.map(([d, lessons]) => ( + <SwiperSlide key={d}> + <Lessons timetable={lessons} /> + </SwiperSlide> + ))} + </Swiper> + )} + </Box> + + <SetDefaultClassFab /> + </Stack> + </Provider> ); } diff --git a/src/client/features/daily/types.ts b/src/client/features/daily/types.ts @@ -1,13 +1,18 @@ -import type { DayPeriod } from '@prisma/client'; +import type { DayPeriod, SchoolEvent } from '@prisma/client'; + +export type Basis = + | { type: 'dayPeriod'; dayPeriod: DayPeriod } + | { type: 'temporary'; id: number }; export type LessonData = { readonly subjects: readonly string[]; - readonly basis: DayPeriod | { temporaryGroupNum: number }; + readonly basis: Basis; readonly updated: Date; }; export type DayTimetable = { date: Date; + events: SchoolEvent[]; 1?: LessonData; 2?: LessonData; 3?: LessonData; diff --git a/src/client/features/setting/components/DefaultClassForm.tsx b/src/client/features/setting/components/DefaultClassForm.tsx @@ -0,0 +1,96 @@ +import { + FormControl, + InputLabel, + Select, + MenuItem, + Box, + Button, + Stack, +} from '@mui/material'; +import { useSnackbar } from 'notistack'; +import { useCallback, useEffect, useState } from 'react'; + +import useDefaultClass from 'client/hooks/useDefaultClass'; +import { GRADE_CLASSES } from 'common/constant'; +import { zodGradeClass } from 'common/utils/zod'; + +import type { SelectChangeEvent } from '@mui/material'; + +export default function DefaultClassForm() { + const { enqueueSnackbar } = useSnackbar(); + const [cookieValue, setCookieValue, removeCookieValue] = useDefaultClass(); + const [value, setValue] = useState<string>(''); + + const handleClassChange = useCallback( + (e: SelectChangeEvent) => setValue(e.target.value), + [setValue] + ); + const handleSave = () => { + const validation = zodGradeClass.safeParse(value); + + if (validation.success) { + setCookieValue(validation.data); + enqueueSnackbar({ + message: `${validation.data} を所属クラスとして設定しました。\nホーム画面からの起動時に ${validation.data} の時間割を表示します。`, + variant: 'success', + autoHideDuration: 5000, + }); + } else if (value === 'unset' || value === '') { + removeCookieValue(); + enqueueSnackbar({ + message: + '所属クラスの設定を削除しました。\nホーム画面からの起動時はトップページを表示します。', + variant: 'success', + autoHideDuration: 5000, + }); + } else { + enqueueSnackbar({ + message: 'エラーが発生しました。', + variant: 'error', + autoHideDuration: 5000, + }); + } + }; + + const saveDisabled = + cookieValue === value || + (cookieValue === null && (value === 'unset' || value === '')); + + useEffect(() => { + if (cookieValue) { + setValue(cookieValue); + } + }, [cookieValue]); + + return ( + <Stack direction='row' spacing={2} alignItems='center'> + <Box width='10rem'> + <FormControl fullWidth> + <InputLabel id='class-selection'>所属クラス</InputLabel> + <Select + labelId='class-selection' + label='所属クラス' + value={value} + onChange={handleClassChange} + > + <MenuItem value='unset'>設定しない</MenuItem> + {GRADE_CLASSES.map((g_c) => ( + <MenuItem value={g_c} key={g_c}> + {g_c} + </MenuItem> + ))} + </Select> + </FormControl> + </Box> + <Box> + <Button + variant='contained' + disabled={saveDisabled} + onClick={handleSave} + > + 保存する + </Button> + </Box> + </Stack> + ); +} diff --git a/src/client/features/setting/components/ThemeSwitch.tsx b/src/client/features/setting/components/ThemeSwitch.tsx @@ -0,0 +1,53 @@ +import { + FormControl, + FormLabel, + RadioGroup, + FormControlLabel, + Radio, + useColorScheme, + Box, +} from '@mui/material'; +import { useCallback } from 'react'; + +import type { ChangeEvent } from 'react'; + +export default function ThemeSwitch() { + const { mode, setMode } = useColorScheme(); + const handleThemeChange = useCallback( + (_: ChangeEvent<HTMLInputElement>, newMode: string) => { + if (newMode === 'light' || newMode === 'system' || newMode === 'dark') { + setMode(newMode); + } + }, + [setMode] + ); + + return ( + <Box width={1}> + <FormControl fullWidth> + <FormLabel id='theme-selection'>テーマ</FormLabel> + <RadioGroup + aria-labelledby='theme-selection' + value={mode} + onChange={handleThemeChange} + > + <FormControlLabel + value='light' + control={<Radio />} + label='ライト(白系)' + /> + <FormControlLabel + value='dark' + control={<Radio />} + label='ダーク(黒系)' + /> + <FormControlLabel + value='system' + control={<Radio />} + label='システムの設定に合わせる' + /> + </RadioGroup> + </FormControl> + </Box> + ); +} diff --git a/src/client/features/setting/index.tsx b/src/client/features/setting/index.tsx @@ -0,0 +1,40 @@ +import { Box, Paper, Stack, Typography } from '@mui/material'; + +import DefaultClassForm from './components/DefaultClassForm'; +import ThemeSwitch from './components/ThemeSwitch'; + +export default function SettingView() { + return ( + <Stack width={1} spacing={4}> + <Box> + <Typography variant='h2' fontWeight={400} gutterBottom> + 表示設定 + </Typography> + + <Box component={Paper} p={2}> + <ThemeSwitch /> + </Box> + </Box> + + <Box> + <Typography variant='h2' fontWeight={400} gutterBottom> + 機能設定 + </Typography> + + <Box component={Paper} p={2}> + <Typography variant='h3' fontSize={18} fontWeight={400} gutterBottom> + 所属クラス + </Typography> + <Typography + variant='body2' + color={(theme) => theme.vars.palette.text.secondary} + mb={1} + > + インストールしたアプリをホーム画面から起動すると、設定したクラスの時間割ページを開きます。 + </Typography> + <DefaultClassForm /> + </Box> + </Box> + </Stack> + ); +} diff --git a/src/client/hooks/useDefaultClass.ts b/src/client/hooks/useDefaultClass.ts @@ -0,0 +1,51 @@ +import { addYears, endOfDay, isFuture, set } from 'date-fns'; +import { useCallback, useMemo } from 'react'; +import { useCookies } from 'react-cookie'; + +import { DEFAULT_CLASS_COOKIE_KEY } from 'common/constant'; +import { zodGradeClass } from 'common/utils/zod'; + +import type { GradeClass } from 'common/types'; + +// 学年終わりの 3月31日を返す +const getCookieExpires = (): Date => { + const march31thisYear = endOfDay(set(new Date(), { month: 2, date: 31 })); // 3月は month: 2 + if (isFuture(march31thisYear)) { + return march31thisYear; // 今年の3月31日 + } else { + return addYears(march31thisYear, 1); // 翌年の3月31日 + } +}; + +type Return = [GradeClass | null, (update: GradeClass) => void, () => void]; + +const useDefaultClass = (): Return => { + const expires = useMemo(getCookieExpires, []); + + const [cookies, setCookie, removeCookie] = useCookies([ + DEFAULT_CLASS_COOKIE_KEY, + ]); + const gradeClassValidation = zodGradeClass.safeParse(cookies.default_class); + + const setValue = useCallback( + (update: GradeClass) => { + setCookie(DEFAULT_CLASS_COOKIE_KEY, update, { expires }); + }, + [expires, setCookie] + ); + const removeValue = useCallback( + () => removeCookie(DEFAULT_CLASS_COOKIE_KEY), + [removeCookie] + ); + + if (gradeClassValidation.success) { + return [gradeClassValidation.data, setValue, removeValue]; + } else { + if (typeof cookies.default_class !== 'undefined') { + removeCookie(DEFAULT_CLASS_COOKIE_KEY); + } + return [null, setValue, removeValue]; + } +}; + +export default useDefaultClass; diff --git a/src/client/hooks/useMap.ts b/src/client/hooks/useMap.ts @@ -0,0 +1,51 @@ +import { useCallback, useState } from 'react'; + +export type MapOrEntries<K, V> = Map<K, V> | [K, V][]; + +export interface Actions<K, V> { + set: (key: K, value: V) => void; + setAll: (entries: MapOrEntries<K, V>) => void; + remove: (key: K) => void; + reset: Map<K, V>['clear']; +} + +type Return<K, V> = [ + Omit<Map<K, V>, 'set' | 'clear' | 'delete'>, + Actions<K, V> +]; + +function useMap<K, V>( + initialState: MapOrEntries<K, V> = new Map() +): Return<K, V> { + const [map, setMap] = useState(new Map(initialState)); + + const actions: Actions<K, V> = { + set: useCallback((key, value) => { + setMap((prev) => { + const copy = new Map(prev); + copy.set(key, value); + return copy; + }); + }, []), + + setAll: useCallback((entries) => { + setMap(() => new Map(entries)); + }, []), + + remove: useCallback((key) => { + setMap((prev) => { + const copy = new Map(prev); + copy.delete(key); + return copy; + }); + }, []), + + reset: useCallback(() => { + setMap(() => new Map()); + }, []), + }; + + return [map, actions]; +} + +export default useMap; diff --git a/src/client/types/index.ts b/src/client/types/index.ts @@ -0,0 +1,16 @@ +import type { Theme as MuiTheme } from '@mui/material/styles'; +import type { inferRouterInputs, inferRouterOutputs } from '@trpc/server'; +import type { AppRouter } from 'server/routers/_app'; +import type {} from '@mui/material/themeCssVarsAugmentation'; + +export type RouterInput = inferRouterInputs<AppRouter>; +export type RouterOutput = inferRouterOutputs<AppRouter>; + +declare module '@mui/material/styles' { + interface Theme { + vars: Omit< + MuiTheme, + 'typography' | 'mixins' | 'breakpoints' | 'direction' | 'transitions' + >; + } +} diff --git a/src/client/utils/getMuiTheme.ts b/src/client/utils/getMuiTheme.ts @@ -0,0 +1,53 @@ +import { grey } from '@mui/material/colors'; +import { experimental_extendTheme as extendTheme } from '@mui/material/styles'; + +const secondaryColor = { + main: '#e91e63', + light: '#ff6090', + dark: '#c2185b', + contrastText: '#fff', +}; + +const getMuiTheme = () => { + const theme = extendTheme({ + colorSchemes: { + light: { + palette: { + secondary: secondaryColor, + background: { + default: grey[50], + }, + }, + }, + dark: { + palette: { secondary: secondaryColor }, + }, + }, + typography: { + fontFamily: [ + '"Noto Sans JP"', + '"Hiragino Kaku Gothic ProN"', + '"Meiryo"', + 'sans-serif', + ].join(','), + }, + components: { + MuiStack: { + defaultProps: { + useFlexGap: true, + }, + }, + }, + }); + + theme.typography.h2 = { + fontWeight: 400, + [theme.breakpoints.up('xs')]: { fontSize: 20 }, + [theme.breakpoints.up('sm')]: { fontSize: 24 }, + [theme.breakpoints.up('md')]: { fontSize: 32 }, + }; + + return theme; +}; + +export default getMuiTheme; diff --git a/src/common/constant/index.ts b/src/common/constant/index.ts @@ -7,11 +7,38 @@ export const APP_URL = process.env['NEXT_PUBLIC_VERCEL_URL']; export const BUG_REPORT_FORM_URL = process.env['NEXT_PUBLIC_BUG_REPORT_FORM_URL']; -export const REQUEST_FORM_URL = process.env['NEXT_PUBLIC_REQUEST_FORM_URL']; +export const FEEDBACK_FORM_URL = process.env['NEXT_PUBLIC_FEEDBACK_FORM_URL']; export const GRADES = [1, 2, 3] as const; export const CLASSES = [1, 2, 3, 4, 5, 6, 7, 8] as const; +export const GRADE_CLASSES = [ + '1-1', + '1-2', + '1-3', + '1-4', + '1-5', + '1-6', + '1-7', + '1-8', + '2-2', + '2-1', + '2-3', + '2-4', + '2-5', + '2-6', + '2-7', + '2-8', + '3-1', + '3-2', + '3-3', + '3-4', + '3-5', + '3-6', + '3-7', + '3-8', +] as const; + export const SCHOOL_TIMES = [1, 2, 3, 4, 5, 6, 7] as const; export const WEEKDAYS_EN = [ @@ -175,3 +202,5 @@ export const DAY_PERIOD_MAP_JA_TO_EN: Readonly<Record<DayPeriodJa, DayPeriod>> = } as const; export const DATE_FORMAT = 'yyyy-MM-dd'; + +export const DEFAULT_CLASS_COOKIE_KEY = 'default_class'; diff --git a/src/common/types/index.ts b/src/common/types/index.ts @@ -4,6 +4,7 @@ import type { GRADES, SCHOOL_TIMES, DAY_PERIOD_JA, + GRADE_CLASSES, } from 'common/constant'; import type { ZodType } from 'zod'; @@ -17,6 +18,7 @@ export type ToZod<T extends Record<string, unknown>> = { export type Grade = ArrayToUnion<typeof GRADES>; export type Class = ArrayToUnion<typeof CLASSES>; +export type GradeClass = ArrayToUnion<typeof GRADE_CLASSES>; export type SchoolTime = ArrayToUnion<typeof SCHOOL_TIMES>; diff --git a/src/common/utils/date.ts b/src/common/utils/date.ts @@ -1,11 +0,0 @@ -import { Temporal } from '@js-temporal/polyfill'; - -export const plainDateToDate = (date: Temporal.PlainDate) => - new Date(date.toString()); - -export const dateToPlainDate = (date: Date) => - new Temporal.PlainDate( - date.getFullYear(), - date.getMonth() + 1, - date.getDate() - ); diff --git a/src/common/utils/formatDate.ts b/src/common/utils/formatDate.ts @@ -0,0 +1,11 @@ +/* eslint-disable import/no-duplicates */ +import format from 'date-fns/format'; +import { ja } from 'date-fns/locale'; + +const formatDate = ( + ...[date, formatString, options]: Parameters<typeof format> +) => { + return format(date, formatString, { locale: ja, ...options }); +}; + +export default formatDate; diff --git a/src/common/utils/zod.ts b/src/common/utils/zod.ts @@ -1,10 +1,10 @@ import { z } from 'zod'; -import { DAY_PERIOD_EN } from 'common/constant'; +import { DAY_PERIOD_EN, GRADE_CLASSES } from 'common/constant'; -// 学校の学年 1-3 +// 学校の学年 1から3 export const zodGrade = z.union([z.literal(1), z.literal(2), z.literal(3)]); -// 学校のクラス 1-8 +// 学校のクラス 1から8 export const zodClass = z.union([ z.literal(1), z.literal(2), @@ -15,6 +15,8 @@ export const zodClass = z.union([ z.literal(7), z.literal(8), ]); +// 学校の学年クラス 1-1から3-8 +export const zodGradeClass = z.enum(GRADE_CLASSES); // 曜日時限 export const zodDayPeriod = z.enum(DAY_PERIOD_EN); diff --git a/src/middleware.ts b/src/middleware.ts @@ -6,13 +6,15 @@ export const config = { matcher: ['/console/:path*', '/api/:path*'], }; +// TODO: 認証失敗時のフィードバックを改善 export function middleware(req: NextRequest) { const basicAuth = req.headers.get('authorization'); const url = req.nextUrl; if (basicAuth) { const authValue = basicAuth.split(' ')[1] ?? ''; - const [user, pwd] = atob(authValue).split(':'); + + const [user, pwd] = Buffer.from(authValue, 'base64').toString().split(':'); if ( user === process.env['ADMIN_USER'] && diff --git a/src/pages/[class].tsx b/src/pages/[class].tsx @@ -1,17 +1,18 @@ -import { Temporal } from '@js-temporal/polyfill'; -import Box from '@mui/material/Box'; -import { format } from 'date-fns'; +import { Box } from '@mui/material'; +import { addDays, subDays } from 'date-fns'; import Head from 'client/components/Head'; import Layout from 'client/components/Layout'; import SlideFooter from 'client/components/SlideFooter'; import DailyView from 'client/features/daily'; import { CLASSES, DATE_FORMAT, GRADES } from 'common/constant'; +import formatDate from 'common/utils/formatDate'; import { zodClass, zodGrade, zodPeriod } from 'common/utils/zod'; import { caller } from 'server/routers/_app'; import { prisma } from 'server/utils/prisma'; import type { DayTimetable, LessonData } from 'client/features/daily/types'; +import type { Class, Grade } from 'common/types'; import type { NextPage, GetStaticPaths, GetStaticProps } from 'next'; type UrlQuery = { @@ -19,8 +20,8 @@ type UrlQuery = { }; type PageProps = { - grade: number; - class: number; + grade: Grade; + class: Class; calendar: [string, DayTimetable][]; }; @@ -35,7 +36,6 @@ export const getStaticPaths: GetStaticPaths<UrlQuery> = async () => { }; }; -// TODO: 期間を指定できるようにする export const getStaticProps: GetStaticProps<PageProps, UrlQuery> = async ({ params, }) => { @@ -57,6 +57,8 @@ export const getStaticProps: GetStaticProps<PageProps, UrlQuery> = async ({ }; } + const now = new Date(); + // クラスの標準時間割表を取得 const { standard, id: classId } = await caller.classStandard.byGradeClass({ grade: gradeParsed.data, @@ -65,15 +67,42 @@ export const getStaticProps: GetStaticProps<PageProps, UrlQuery> = async ({ // 学年の曜日時限時間割表を取得 const schedules = await prisma.gradeSchedule.findMany({ - where: { grade: gradeParsed.data }, + where: { + grade: gradeParsed.data, + date: { + gte: subDays(now, 5), + lte: addDays(now, 30), + }, + }, + }); + + // 学年のイベントを取得 + const events = await prisma.schoolEvent.findMany({ + where: { grades: { has: gradeParsed.data } }, }); // 時間割を構築していくMap const calendar: Map<string, DayTimetable> = new Map(); + events.forEach((event) => { + const dateString = formatDate(event.date, DATE_FORMAT); + const old = calendar.get(dateString); + if (old) { + calendar.set(dateString, { + ...old, + events: [...old.events, event], + }); + } else { + calendar.set(dateString, { + date: event.date, + events: [event], + }); + } + }); + // 曜日時限時間割表の1コマずつでループしてMapに当てはめていく schedules.forEach(({ date, period, dayPeriod, updatedAt }) => { - const dateString = format(date, DATE_FORMAT); + const dateString = formatDate(date, DATE_FORMAT); const parsedPeriod = zodPeriod.safeParse(period); if (!parsedPeriod.success) return; @@ -81,7 +110,7 @@ export const getStaticProps: GetStaticProps<PageProps, UrlQuery> = async ({ const old = calendar.get(dateString); const dataToAdd: LessonData = { subjects: standard.get(dayPeriod) ?? [], - basis: dayPeriod, + basis: { type: 'dayPeriod', dayPeriod }, updated: updatedAt, }; @@ -93,6 +122,7 @@ export const getStaticProps: GetStaticProps<PageProps, UrlQuery> = async ({ } else { calendar.set(dateString, { date: date, + events: [], [parsedPeriod.data]: dataToAdd, }); } @@ -100,41 +130,46 @@ export const getStaticProps: GetStaticProps<PageProps, UrlQuery> = async ({ // クラスの臨時変更を取得 const temporarySchedules = await prisma.classTemporarySchedule.findMany({ - where: { classId }, + where: { + classId, + date: { + gte: subDays(now, 5), + lte: addDays(now, 30), + }, + }, }); // 臨時変更を1コマずつループしてMapに当てはめていく - temporarySchedules.forEach( - ({ date, period, subjects, updatedAt, parentId }) => { - const dateString = format(date, DATE_FORMAT); - const parsedPeriod = zodPeriod.safeParse(period); - - if (!parsedPeriod.success) return; - - const old = calendar.get(dateString); - const dataToAdd: LessonData = { - subjects, - basis: { temporaryGroupNum: parentId }, - updated: updatedAt, - }; - - if (old) { - calendar.set(dateString, { - ...old, - [parsedPeriod.data]: dataToAdd, - }); - } else { - calendar.set(dateString, { - date: date, - [parsedPeriod.data]: dataToAdd, - }); - } + temporarySchedules.forEach(({ id, date, period, subjects, updatedAt }) => { + const dateString = formatDate(date, DATE_FORMAT); + const parsedPeriod = zodPeriod.safeParse(period); + + if (!parsedPeriod.success) return; + + const old = calendar.get(dateString); + const dataToAdd: LessonData = { + subjects, + basis: { type: 'temporary', id }, + updated: updatedAt, + }; + + if (old) { + calendar.set(dateString, { + ...old, + [parsedPeriod.data]: dataToAdd, + }); + } else { + calendar.set(dateString, { + date: date, + events: [], + [parsedPeriod.data]: dataToAdd, + }); } - ); + }); - // 日付順に並び替え - const sorted = [...calendar.entries()].sort(([a], [b]) => { - return Temporal.PlainDate.compare(a, b); + // 日付順に並び替えた配列にする + const sorted = [...calendar.entries()].sort((a, b) => { + return a[1].date.getTime() - b[1].date.getTime(); }); return { @@ -143,10 +178,11 @@ export const getStaticProps: GetStaticProps<PageProps, UrlQuery> = async ({ class: classParsed.data, calendar: sorted, }, - revalidate: 60 * 10, // 10分毎の訪問で再生成 + revalidate: 60 * 30, // 30分毎の訪問で再生成 }; }; +// 5日前~30日後の時間割を表示するページ const Page: NextPage<PageProps> = (props) => { const className = `${props.grade}年${props.class}組`; return ( @@ -154,7 +190,7 @@ const Page: NextPage<PageProps> = (props) => { <Head title={className} /> <Layout title={className} footer={<SlideFooter />}> {props.calendar.length ? ( - <DailyView calendar={props.calendar} /> + <DailyView {...props} /> ) : ( <Box px={2}> <p>データがありません</p> diff --git a/src/pages/_app.tsx b/src/pages/_app.tsx @@ -1,70 +1,82 @@ import { CacheProvider } from '@emotion/react'; -import CssBaseline from '@mui/material/CssBaseline'; -import { grey } from '@mui/material/colors'; -import { createTheme, ThemeProvider } from '@mui/material/styles'; +import CloseIcon from '@mui/icons-material/Close'; +import { CssBaseline, IconButton } from '@mui/material'; +import { + styled, + Experimental_CssVarsProvider as CssVarsProvider, +} from '@mui/material/styles'; import Head from 'next/head'; -import { SnackbarProvider } from 'notistack'; -import '@fontsource/noto-sans-jp/300.css'; -import '@fontsource/noto-sans-jp/400.css'; -import '@fontsource/noto-sans-jp/500.css'; -import '@fontsource/noto-sans-jp/700.css'; +import { + MaterialDesignContent, + SnackbarProvider, + closeSnackbar, +} from 'notistack'; +import { useMemo } from 'react'; +import { CookiesProvider } from 'react-cookie'; import createEmotionCache from 'client/utils/createEmotionCache'; +import getMuiTheme from 'client/utils/getMuiTheme'; import { trpc } from 'client/utils/trpc'; -import 'client/styles/global.css'; import type { EmotionCache } from '@emotion/react'; import type { AppProps } from 'next/app'; +import 'client/styles/global.css'; + const clientSideEmotionCache = createEmotionCache(); +const StyledMaterialDesignContent = styled(MaterialDesignContent)( + ({ theme }) => ({ + '&.notistack-MuiContent-warning': { + backgroundColor: theme.vars.palette.warning.main, + }, + }) +); + interface MyAppProps extends AppProps { emotionCache?: EmotionCache; } +// TODO: 軽量モードを実装 function App(props: MyAppProps) { const { Component, emotionCache = clientSideEmotionCache, pageProps } = props; - const theme = createTheme({ - palette: { - secondary: { - main: '#e91e63', - light: '#ff6090', - dark: '#c2185b', - contrastText: '#fff', - }, - background: { - default: grey[50], - }, - }, - typography: { - fontFamily: [ - '"Noto Sans JP"', - 'Roboto', - 'Helvetica', - 'Arial', - 'sans-serif', - ].join(','), - h2: { - fontWeight: 400, - fontSize: 32, - }, - }, - }); + const theme = useMemo(() => getMuiTheme(), []); return ( - <SnackbarProvider maxSnack={3}> - <CacheProvider value={emotionCache}> - <Head> - <meta name='viewport' content='initial-scale=1, width=device-width' /> - <link rel='icon' href='/favicon.ico' /> - </Head> - <ThemeProvider theme={theme}> - <CssBaseline /> - <Component {...pageProps} /> - </ThemeProvider> - </CacheProvider> - </SnackbarProvider> + <CacheProvider value={emotionCache}> + <CssVarsProvider theme={theme} defaultMode='system'> + <CookiesProvider> + <SnackbarProvider + maxSnack={3} + style={{ + whiteSpace: 'pre-wrap', // \n で改行 + flexWrap: 'nowrap', // 閉じるボタンを横並び + }} + Components={{ warning: StyledMaterialDesignContent }} + action={(key) => ( + <IconButton + size='small' + aria-label='close' + color='inherit' + onClick={() => closeSnackbar(key)} + > + <CloseIcon fontSize='small' /> + </IconButton> + )} + > + <Head> + <meta + name='viewport' + content='initial-scale=1, width=device-width' + /> + </Head> + <CssBaseline /> + <Component {...pageProps} /> + </SnackbarProvider> + </CookiesProvider> + </CssVarsProvider> + </CacheProvider> ); } diff --git a/src/pages/_document.tsx b/src/pages/_document.tsx @@ -1,13 +1,25 @@ +import { getInitColorSchemeScript } from '@mui/material/styles'; import { Html, Head, Main, NextScript } from 'next/document'; -const Document = () => { +const MyDocument = () => { return ( <Html lang='ja'> <Head> <link rel='manifest' href='/manifest.json' /> - <meta name='theme-color' content='#fff' /> + <meta name='theme-color' content='#1976d2' /> + <link rel='icon' sizes='16x16' href='/favicon.ico' /> + <link + rel='apple-touch-icon' + sizes='192x192' + href='/maskable_icon_x192.png' + /> + <link + href='https://fonts.googleapis.com/css?family=Noto+Sans+JP:300,400,500,700&display=swap' + rel='stylesheet' + /> </Head> <body> + {getInitColorSchemeScript({ defaultMode: 'system' })} <Main /> <NextScript /> </body> @@ -15,4 +27,4 @@ const Document = () => { ); }; -export default Document; +export default MyDocument; diff --git a/src/pages/about.tsx b/src/pages/about.tsx @@ -1,11 +1,13 @@ -import Box from '@mui/material/Box'; -import Divider from '@mui/material/Divider'; -import Link from '@mui/material/Link'; +import InstagramIcon from '@mui/icons-material/Instagram'; +import SchoolIcon from '@mui/icons-material/School'; +import TwitterIcon from '@mui/icons-material/Twitter'; +import { Box, Divider, List, ListItem, Stack } from '@mui/material'; import Head from 'client/components/Head'; import Layout from 'client/components/Layout'; +import Link from 'client/components/Link'; import WarningOfUse from 'client/components/WarningOfUse'; -import { BUG_REPORT_FORM_URL, REQUEST_FORM_URL } from 'common/constant'; +import { BUG_REPORT_FORM_URL, FEEDBACK_FORM_URL } from 'common/constant'; import type { NextPage } from 'next'; @@ -14,43 +16,99 @@ const AboutPage: NextPage = () => { <> <Head title='このアプリについて' /> <Layout title='このアプリについて'> - <Box sx={{ px: 2 }}> + <Box px={2} pb={2}> <p> - 大阪府立岸和田高等学校 IT部 - 制作「岸高時間割アプリ」です。元は76期情報ゼミの研究活動で制作していたものを、IT部に引き継ぎました。 + 大阪府立岸和田高等学校 + IT部制作「岸高時間割アプリ」です。元は76期情報ゼミの研究活動で制作していたものを、IT部に引き継ぎました。 </p> - <WarningOfUse /> - <p> - アプリの動作に不具合があった場合や、時間割の情報が間違っていた場合は、以下のGoogleフォームに報告をお願いします。 + このアプリでは、 <u>時間割変更が反映された</u>クラスの時間割を + <u>簡単に</u>確認することができます。 + <Link href={{ pathname: '/how-to-use' }}>使い方</Link> + もお読みください。 </p> - <ul> - <li> - <Link href={BUG_REPORT_FORM_URL}>不具合報告フォーム</Link> - </li> - </ul> - <p> - アプリについてなにかご意見、ご要望等がありましたら、以下のGoogleフォームに送信をお願いします。 - </p> - <ul> - <li> - <Link href={REQUEST_FORM_URL}>ご意見・ご要望送信フォーム</Link> - </li> - </ul> + <WarningOfUse /> - <p>今後の開発に活かすため、積極的に情報提供をお願いします。</p> + {BUG_REPORT_FORM_URL && ( + <> + <p> + アプリの動作に不具合があった場合や、時間割の情報が間違っていた場合などは、以下のGoogleフォームに報告をお願いします。 + </p> + <ul> + <li> + <Link + href={BUG_REPORT_FORM_URL} + target='_blank' + rel='noopener' + > + 不具合報告フォーム + </Link> + </li> + </ul> + </> + )} + + {FEEDBACK_FORM_URL && ( + <> + <p> + 以下のGoogleフォームから、是非アプリを評価してください!ご意見・ご要望などもお待ちしております。「こんな機能があったらいいな」「こうしたほうが使いやすいな」など、率直に教えていただけると非常に参考になります。 + </p> + <ul> + <li> + <Link href={FEEDBACK_FORM_URL} target='_blank' rel='noopener'> + フィードバックフォーム + </Link> + </li> + </ul> + </> + )} + + <p>今後の開発に活かすため、皆さんのご協力をお願いします。</p> <Divider /> - <ul> - <li> - <Link href='https://www.osaka-c.ed.jp/kishiwada/'> - 大阪府立岸和田高等学校 - </Link> - </li> - </ul> + <List> + <ListItem> + <Stack direction='row' spacing={1} alignItems='center'> + <SchoolIcon fontSize='inherit' /> + <Link + href='https://www.osaka-c.ed.jp/kishiwada/' + target='_blank' + rel='noopener' + > + 大阪府立岸和田高等学校 + </Link> + </Stack> + </ListItem> + + <ListItem> + <Stack direction='row' spacing={1} alignItems='center'> + <TwitterIcon fontSize='inherit' /> + <Link + href='https://twitter.com/Kishiwada_it' + target='_blank' + rel='noopener' + > + IT部 Twitter + </Link> + </Stack> + </ListItem> + + <ListItem> + <Stack direction='row' spacing={1} alignItems='center'> + <InstagramIcon fontSize='inherit' /> + <Link + href='https://www.instagram.com/kishiwada_it/' + target='_blank' + rel='noopener' + > + IT部 Instagram + </Link> + </Stack> + </ListItem> + </List> </Box> </Layout> </> diff --git a/src/pages/console/class-standard.tsx b/src/pages/console/class-standard.tsx @@ -3,7 +3,7 @@ import Box from '@mui/material/Box'; import Breadcrumbs from '@mui/material/Breadcrumbs'; import Container from '@mui/material/Container'; import Typography from '@mui/material/Typography'; -import { createProxySSGHelpers } from '@trpc/react-query/ssg'; +import { createServerSideHelpers } from '@trpc/react-query/server'; import superjson from 'superjson'; import Head from 'client/components/Head'; @@ -13,14 +13,14 @@ import { createContext } from 'server/context'; import { appRouter } from 'server/routers/_app'; import type { SchoolClass } from '@prisma/client'; -import type { GetStaticProps, NextPage } from 'next'; +import type { GetStaticProps } from 'next'; type PageProps = { - classes: Pick<SchoolClass, 'id' | 'grade' | 'class'>[]; // PageProps では Date 型を扱えない + classes: SchoolClass[]; }; export const getStaticProps: GetStaticProps<PageProps> = async () => { - const ssg = createProxySSGHelpers({ + const ssg = createServerSideHelpers({ router: appRouter, transformer: superjson, ctx: await createContext(), @@ -31,12 +31,12 @@ export const getStaticProps: GetStaticProps<PageProps> = async () => { return { props: { trpcState: ssg.dehydrate(), - classes: classes, // PageProps では Date 型を扱えないため updatedAt を排除 + classes: classes, }, }; }; -const StandardTimetableEditPage: NextPage<PageProps> = ({ classes }) => { +export default function StandardTimetableEditPage({ classes }: PageProps) { return ( <> <Head title='クラス別時間割表 登録・変更' /> @@ -49,15 +49,10 @@ const StandardTimetableEditPage: NextPage<PageProps> = ({ classes }) => { トップ </Link> <Link underline='hover' color='inherit' href='/console'> - 管理 + データ管理 </Link> - <Typography - color='text.primary' - variant='h2' - fontSize={32} - fontWeight={400} - > - クラス別時間割表 登録・変更 + <Typography color='text.primary' variant='h2'> + クラス別時間割表 </Typography> </Breadcrumbs> @@ -65,6 +60,4 @@ const StandardTimetableEditPage: NextPage<PageProps> = ({ classes }) => { </Container> </> ); -}; - -export default StandardTimetableEditPage; +} diff --git a/src/pages/console/class-temporary-schedule.tsx b/src/pages/console/class-temporary-schedule.tsx @@ -0,0 +1,63 @@ +import NavigateNextIcon from '@mui/icons-material/NavigateNext'; +import Box from '@mui/material/Box'; +import Breadcrumbs from '@mui/material/Breadcrumbs'; +import Container from '@mui/material/Container'; +import Typography from '@mui/material/Typography'; +import { createServerSideHelpers } from '@trpc/react-query/server'; +import superjson from 'superjson'; + +import Head from 'client/components/Head'; +import Link from 'client/components/Link'; +import ClassTemporaryScheduleEditor from 'client/features/console/classTemporarySchedule'; +import { createContext } from 'server/context'; +import { appRouter } from 'server/routers/_app'; + +import type { SchoolClass } from '@prisma/client'; +import type { GetStaticProps } from 'next'; + +type PageProps = { + classes: SchoolClass[]; +}; + +export const getStaticProps: GetStaticProps<PageProps> = async () => { + const ssg = createServerSideHelpers({ + router: appRouter, + transformer: superjson, + ctx: await createContext(), + }); + + const classes = await ssg.class.all.fetch(); + + return { + props: { + trpcState: ssg.dehydrate(), + classes: classes, + }, + }; +}; + +export default function ClassTemporaryScheduleEditPage({ classes }: PageProps) { + return ( + <> + <Head title='臨時変更 登録・変更' /> + <Container maxWidth='lg' component={Box} py={2}> + <Breadcrumbs + separator={<NavigateNextIcon fontSize='small' />} + aria-label='breadcrumb' + > + <Link underline='hover' color='inherit' href='/'> + トップ + </Link> + <Link underline='hover' color='inherit' href='/console'> + データ管理 + </Link> + <Typography color='text.primary' variant='h2'> + クラス別臨時時間割変更 + </Typography> + </Breadcrumbs> + + <ClassTemporaryScheduleEditor classes={classes} /> + </Container> + </> + ); +} diff --git a/src/pages/console/event.tsx b/src/pages/console/event.tsx @@ -0,0 +1,35 @@ +import NavigateNextIcon from '@mui/icons-material/NavigateNext'; +import Box from '@mui/material/Box'; +import Breadcrumbs from '@mui/material/Breadcrumbs'; +import Container from '@mui/material/Container'; +import Typography from '@mui/material/Typography'; + +import Head from 'client/components/Head'; +import Link from 'client/components/Link'; +import EventEditor from 'client/features/console/event'; + +export default function EventEditPage() { + return ( + <> + <Head title='イベント 登録・変更' /> + <Container maxWidth='lg' component={Box} py={2}> + <Breadcrumbs + separator={<NavigateNextIcon fontSize='small' />} + aria-label='breadcrumb' + > + <Link underline='hover' color='inherit' href='/'> + トップ + </Link> + <Link underline='hover' color='inherit' href='/console'> + データ管理 + </Link> + <Typography color='text.primary' variant='h2'> + イベント + </Typography> + </Breadcrumbs> + + <EventEditor /> + </Container> + </> + ); +} diff --git a/src/pages/console/grade-schedule.tsx b/src/pages/console/grade-schedule.tsx @@ -8,10 +8,8 @@ import Head from 'client/components/Head'; import Link from 'client/components/Link'; import GradeScheduleEditor from 'client/features/console/gradeSchedule'; -import type { NextPage } from 'next'; - // TODO: この登録画面の他に、一括確認画面を作る -const Page: NextPage = () => { +export default function GradeScheduleEditPage() { return ( <> <Head title='曜日時限時間割表 登録・変更' /> @@ -24,15 +22,10 @@ const Page: NextPage = () => { トップ </Link> <Link underline='hover' color='inherit' href='/console'> - 管理 + データ管理 </Link> - <Typography - color='text.primary' - variant='h2' - fontSize={32} - fontWeight={400} - > - 学年別曜日時限時間割表 登録・変更 + <Typography color='text.primary' variant='h2'> + 学年別曜日時限時間割表 </Typography> </Breadcrumbs> @@ -40,6 +33,4 @@ const Page: NextPage = () => { </Container> </> ); -}; - -export default Page; +} diff --git a/src/pages/console/index.tsx b/src/pages/console/index.tsx @@ -12,7 +12,7 @@ import type { NextPage } from 'next'; const Page: NextPage = () => { return ( <> - <Head title='管理' /> + <Head title='データ管理トップ' /> <Container maxWidth='lg' component={Box} py={2}> <Breadcrumbs separator={<NavigateNextIcon fontSize='small' />} @@ -21,31 +21,25 @@ const Page: NextPage = () => { <Link underline='hover' color='inherit' href='/'> トップ </Link> - <Typography - color='text.primary' - variant='h2' - fontSize={32} - fontWeight={400} - > - 管理 + <Typography color='text.primary' variant='h2'> + データ管理 </Typography> </Breadcrumbs> <ul> <li> - <Link href={{ pathname: '/console/class-standard' }}> - クラス別標準時間割表 - </Link> + <Link href='/console/class-standard'>クラス別標準時間割表</Link> </li> <li> - <Link href={{ pathname: '/console/grade-schedule' }}> - 学年別曜日時限時間割表 - </Link> + <Link href='/console/grade-schedule'>学年別曜日時限時間割表</Link> </li> <li> - <Link href={{ pathname: '/console/class-temporary-schedule' }}> + <Link href='/console/class-temporary-schedule'> クラス別臨時変更 </Link> </li> + <li> + <Link href='/console/event'>イベント</Link> + </li> </ul> </Container> </> diff --git a/src/pages/how-to-use.tsx b/src/pages/how-to-use.tsx @@ -0,0 +1,21 @@ +import { Box } from '@mui/material'; + +import Head from 'client/components/Head'; +import Layout from 'client/components/Layout'; + +import type { NextPage } from 'next'; + +const HouToUsePage: NextPage = () => { + return ( + <> + <Head title='使い方' /> + <Layout title='使い方'> + <Box px={2} pb={2}> + <p>現在準備中です。完成までお待ちください。</p> + </Box> + </Layout> + </> + ); +}; + +export default HouToUsePage; diff --git a/src/pages/index.tsx b/src/pages/index.tsx @@ -1,7 +1,4 @@ -import Box from '@mui/material/Box'; -import Button from '@mui/material/Button'; -import Stack from '@mui/material/Stack'; -import Typography from '@mui/material/Typography'; +import { Box, Typography, Stack, Button } from '@mui/material'; import Head from 'client/components/Head'; import Layout from 'client/components/Layout'; @@ -16,7 +13,7 @@ const Page: NextPage = () => { <> <Head title='トップ' /> <Layout title='トップ'> - <Box px={2}> + <Box px={2} pb={2}> <p> 岸和田高校IT部制作「岸高時間割アプリ」です。詳細は「 <Link href='/about'>このアプリについて</Link> diff --git a/src/pages/setting.tsx b/src/pages/setting.tsx @@ -0,0 +1,33 @@ +import { Backdrop, Box, CircularProgress } from '@mui/material'; +import dynamic from 'next/dynamic'; + +import Head from 'client/components/Head'; +import Layout from 'client/components/Layout'; + +import type { NextPage } from 'next'; + +// 設定内容はクライアントで反映させたいので動的読み込みする +const SettingView = dynamic(() => import('client/features/setting'), { + ssr: false, + loading: () => ( + <Backdrop open transitionDuration={0}> + <CircularProgress /> + </Backdrop> + ), +}); + +// テーマ、所属クラスを設定するページ +const SettingPage: NextPage = () => { + return ( + <> + <Head title='設定' /> + <Layout title='設定'> + <Box p={2} width={1}> + <SettingView /> + </Box> + </Layout> + </> + ); +}; + +export default SettingPage; diff --git a/src/server/routers/_app.ts b/src/server/routers/_app.ts @@ -5,6 +5,9 @@ import { prisma } from '../utils/prisma'; import { classRouter } from './class'; import { classStandardRouter } from './classStandard'; +import { classTemporaryScheduleRouter } from './classTemporarySchedule'; +import { classTemporaryScheduleGroupRouter } from './classTemporaryScheduleGroup'; +import { eventRouter } from './event'; import { gradeScheduleRouter } from './gradeSchedule'; export const appRouter = router({ @@ -18,6 +21,9 @@ export const appRouter = router({ class: classRouter, classStandard: classStandardRouter, gradeSchedule: gradeScheduleRouter, + classTemporarySchedule: classTemporaryScheduleRouter, + classTemporaryScheduleGroup: classTemporaryScheduleGroupRouter, + event: eventRouter, }); // export type definition of API diff --git a/src/server/routers/classTemporarySchedule.ts b/src/server/routers/classTemporarySchedule.ts @@ -0,0 +1,101 @@ +import { Prisma } from '@prisma/client'; +import { TRPCError } from '@trpc/server'; +import { z } from 'zod'; + +import { zodPeriod } from 'common/utils/zod'; +import { prisma } from 'server/utils/prisma'; + +import { router, procedure } from '../trpc'; + +import type { ClassTemporarySchedule } from '@prisma/client'; + +export const classTemporaryScheduleRouter = router({ + getAll: procedure + .input(z.object({ classId: z.number() })) + .query<ClassTemporarySchedule[]>(async ({ input }) => { + return await prisma.classTemporarySchedule.findMany({ + where: { classId: input.classId }, + orderBy: [{ date: 'asc' }, { period: 'asc' }], + }); + }), + + create: procedure + .input( + z.object({ + date: z.string(), + period: zodPeriod, + classId: z.number(), + subjects: z.array(z.string()), + parentId: z.number().optional(), + }) + ) + .mutation<ClassTemporarySchedule>(async ({ input }) => { + try { + const date = z.coerce.date().parse(input.date); + return await prisma.classTemporarySchedule.create({ + data: { + date, + period: input.period, + class: { connect: { id: input.classId } }, + subjects: input.subjects, + parent: input.parentId ? { connect: { id: input.parentId } } : {}, + }, + }); + } catch (err) { + if (err instanceof Prisma.PrismaClientKnownRequestError) { + if (err.code === 'P2002') { + throw new TRPCError({ + code: 'BAD_REQUEST', + cause: err, + message: 'この日付、時限、クラスの臨時変更が既に存在します。', + }); + } + } + throw new TRPCError({ code: 'INTERNAL_SERVER_ERROR', cause: err }); + } + }), + + update: procedure + .input( + z.object({ + id: z.number(), + date: z.string().optional(), + period: zodPeriod.optional(), + subjects: z.array(z.string()).optional(), + parentId: z.number().optional(), + }) + ) + .mutation<ClassTemporarySchedule>(async ({ input }) => { + try { + const date = z.coerce.date().optional().parse(input.date); + return await prisma.classTemporarySchedule.update({ + where: { id: input.id }, + data: { + date, + period: input.period, + subjects: input.subjects, + parent: { connect: { id: input.parentId } }, + }, + }); + } catch (err) { + if (err instanceof Prisma.PrismaClientKnownRequestError) { + if (err.code === 'P2002') { + throw new TRPCError({ + code: 'BAD_REQUEST', + cause: err, + message: 'この日付、時限、クラスの臨時変更が既に存在します。', + }); + } + } + throw new TRPCError({ code: 'INTERNAL_SERVER_ERROR', cause: err }); + } + }), + + delete: procedure + .input(z.object({ id: z.number() })) + .mutation(async ({ input }) => { + return await prisma.classTemporarySchedule.delete({ + where: { id: input.id }, + }); + }), +}); diff --git a/src/server/routers/classTemporaryScheduleGroup.ts b/src/server/routers/classTemporaryScheduleGroup.ts @@ -0,0 +1,67 @@ +import { z } from 'zod'; + +import { zodPeriod } from 'common/utils/zod'; +import { prisma } from 'server/utils/prisma'; + +import { router, procedure } from '../trpc'; + +import type { + ClassTemporarySchedule, + ClassTemporaryScheduleGroup, +} from '@prisma/client'; + +type ClassTemporaryScheduleGroupWithChildren = ClassTemporaryScheduleGroup & { + children: ClassTemporarySchedule[]; +}; + +export const classTemporaryScheduleGroupRouter = router({ + getAll: procedure + .input(z.object({ classId: z.number() })) + .query<ClassTemporaryScheduleGroupWithChildren[]>(async ({ input }) => { + return await prisma.classTemporaryScheduleGroup.findMany({ + where: { + children: { + some: { classId: input.classId }, + }, + }, + include: { children: true }, + }); + }), + + create: procedure + .input( + z.object({ + classId: z.number(), + children: z.array( + z.object({ + date: z.date(), + period: zodPeriod, + subjects: z.array(z.string()), + }) + ), + note: z.string().optional(), + }) + ) + .mutation<ClassTemporaryScheduleGroupWithChildren>(async ({ input }) => { + const childrenData = input.children.map((data) => ({ + ...data, + classId: input.classId, + })); + return await prisma.classTemporaryScheduleGroup.create({ + data: { + children: { createMany: { data: childrenData } }, + note: input.note, + }, + include: { children: true }, + }); + }), + + delete: procedure + .input(z.object({ id: z.number() })) + .mutation<ClassTemporaryScheduleGroupWithChildren>(async ({ input }) => { + return await prisma.classTemporaryScheduleGroup.delete({ + where: { id: input.id }, + include: { children: true }, + }); + }), +}); diff --git a/src/server/routers/event.ts b/src/server/routers/event.ts @@ -0,0 +1,79 @@ +import { z } from 'zod'; + +import { zodGrade } from 'common/utils/zod'; +import { prisma } from 'server/utils/prisma'; + +import { router, procedure } from '../trpc'; + +import type { SchoolEvent } from '@prisma/client'; + +export const eventRouter = router({ + getAll: procedure + .input( + z + .object({ + grades: z.array(zodGrade), + }) + .optional() + ) + .query<SchoolEvent[]>(async ({ input }) => { + const grades = input?.grades ?? [1, 2, 3]; + return await prisma.schoolEvent.findMany({ + where: { grades: { hasSome: grades } }, + }); + }), + + create: procedure + .input( + z.object({ + grades: z.array(zodGrade).nonempty(), + date: z.string(), + title: z.string(), + detail: z.string().nullish(), + }) + ) + .mutation<SchoolEvent>(async ({ input }) => { + const date = z.coerce.date().parse(input.date); + const grades = [...new Set(input.grades)].sort(); + const detail = input.detail === '' ? null : input.detail; + return await prisma.schoolEvent.create({ + data: { + grades: { set: grades }, + date, + title: input.title, + detail, + }, + }); + }), + + update: procedure + .input( + z.object({ + id: z.number(), + grades: z.array(zodGrade).nonempty().optional(), + date: z.string().optional(), + title: z.string().optional(), + detail: z.string().nullish(), + }) + ) + .mutation<SchoolEvent>(async ({ input }) => { + const date = z.coerce.date().optional().parse(input.date); + const grades = [...new Set(input.grades)].sort(); + const detail = input.detail === '' ? null : input.detail; + return await prisma.schoolEvent.update({ + where: { id: input.id }, + data: { + grades: { set: grades }, + date, + title: input.title, + detail, + }, + }); + }), + + delete: procedure + .input(z.object({ id: z.number() })) + .mutation(async ({ input }) => { + return await prisma.schoolEvent.delete({ where: { id: input.id } }); + }), +}); diff --git a/src/server/routers/gradeSchedule.ts b/src/server/routers/gradeSchedule.ts @@ -16,9 +16,9 @@ type DaySchedule = { 3: DayGradeSchedule; }; -const getDaySchedule = async (date: string): Promise<DaySchedule> => { +const getDaySchedule = async (date: Date): Promise<DaySchedule> => { const data = await prisma.gradeSchedule.findMany({ - where: { date: new Date(date) }, + where: { date }, }); const daySchedule: DaySchedule = { 1: new Map(), @@ -45,14 +45,14 @@ export const gradeScheduleRouter = router({ }) ) .query<{ - date: string; + date: Date; schedule: { 1: DayGradeSchedule; 2: DayGradeSchedule; 3: DayGradeSchedule; }; }>(async ({ input }) => { - const date = input.date; + const date = z.coerce.date().parse(input.date); const schedule = await getDaySchedule(date); return { date, schedule }; @@ -70,14 +70,14 @@ export const gradeScheduleRouter = router({ }) ) .mutation<{ - date: string; + date: Date; schedule: { 1: DayGradeSchedule; 2: DayGradeSchedule; 3: DayGradeSchedule; }; }>(async ({ input }) => { - const date = input.date; + const date = z.coerce.date().parse(input.date); const toDelete: Prisma.GradeScheduleWhereInput[] = []; // 一旦全データでループ @@ -88,7 +88,7 @@ export const gradeScheduleRouter = router({ // null の場合は削除リクエストのリストに入れる toDelete.push({ grade, - date: new Date(date), + date, period, }); return []; @@ -97,12 +97,12 @@ export const gradeScheduleRouter = router({ // データがある場合は 更新・作成処理 return prisma.gradeSchedule.upsert({ where: { - grade_date_period: { grade, date: new Date(date), period }, + grade_date_period: { grade, date, period }, }, update: { dayPeriod }, create: { grade, - date: new Date(date), + date, period, dayPeriod, }, @@ -120,7 +120,7 @@ export const gradeScheduleRouter = router({ }); // 更新後のデータを返却する - const newSchedule = await getDaySchedule(input.date); - return { date: input.date, schedule: newSchedule }; + const newSchedule = await getDaySchedule(date); + return { date, schedule: newSchedule }; }), }); diff --git a/tsconfig.json b/tsconfig.json @@ -1,18 +1,32 @@ { - "extends": "@tsconfig/strictest/tsconfig.json", + "$schema": "https://json.schemastore.org/tsconfig", + "display": "Next.js + Strictest", "compilerOptions": { - "target": "ES2018", + "target": "es2018", "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "skipLibCheck": true, + "strict": true, + "allowUnusedLabels": false, + "allowUnreachableCode": false, + // "exactOptionalPropertyTypes": true, + "noFallthroughCasesInSwitch": true, + "noImplicitOverride": true, + "noImplicitReturns": true, + "noPropertyAccessFromIndexSignature": true, + "noUncheckedIndexedAccess": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "forceConsistentCasingInFileNames": true, "noEmit": true, + "incremental": true, + "esModuleInterop": true, "module": "esnext", "moduleResolution": "node", "resolveJsonModule": true, "isolatedModules": true, "jsx": "preserve", - "incremental": true, - "baseUrl": "./src/", - "allowJs": true, - "exactOptionalPropertyTypes": false + "baseUrl": "src" }, "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"], "exclude": ["node_modules"] diff --git a/vercel.json b/vercel.json @@ -1,5 +1,5 @@ { - "buildCommand": "next build && prisma migrate deploy", + "buildCommand": "pnpm prisma migrate deploy && pnpm prisma db seed && next build", "devCommand": "next dev", - "installCommand": "pnpm install && prisma generate" + "installCommand": "pnpm install && pnpm prisma generate" }