├── .eslintrc.json
├── .gitignore
├── .prettierrc
├── README.md
├── app
├── (auth)
│ ├── layout.jsx
│ ├── signin
│ │ └── page.jsx
│ └── signout
│ │ └── page.jsx
├── (site)
│ ├── footer.jsx
│ ├── globals.css
│ ├── head.jsx
│ ├── header.jsx
│ ├── layout.jsx
│ ├── page.jsx
│ ├── provider.jsx
│ └── users
│ │ ├── [userId]
│ │ ├── error.jsx
│ │ ├── page.jsx
│ │ ├── tweet.jsx
│ │ └── user.jsx
│ │ ├── layout.jsx
│ │ ├── loading.jsx
│ │ ├── page.jsx
│ │ └── users.jsx
└── components
│ ├── auth
│ ├── GoogleSignInButton.jsx
│ └── SignInButton.jsx
│ ├── form
│ └── TextField.jsx
│ └── ui
│ └── button.jsx
├── jsconfig.json
├── lib
├── prisma
│ ├── index.js
│ ├── tweets.js
│ └── users.js
└── utils
│ └── index.js
├── next.config.js
├── package.json
├── pages
└── api
│ ├── auth
│ └── [...nextauth].js
│ ├── tweets
│ └── [tweetId]
│ │ ├── like
│ │ └── index.js
│ │ └── unlike
│ │ └── index.js
│ └── users
│ ├── [userId]
│ └── index.js
│ └── index.js
├── pnpm-lock.yaml
├── postcss.config.js
├── prisma
└── schema.prisma
├── public
├── favicon.ico
└── vercel.svg
└── tailwind.config.js
/.eslintrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "next/core-web-vitals"
3 | }
4 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 |
8 | # testing
9 | /coverage
10 |
11 | # next.js
12 | /.next/
13 | /out/
14 |
15 | # production
16 | /build
17 |
18 | # misc
19 | .DS_Store
20 | *.pem
21 |
22 | # debug
23 | npm-debug.log*
24 | yarn-debug.log*
25 | yarn-error.log*
26 | .pnpm-debug.log*
27 |
28 | # local env files
29 | .env*.local
30 | .env
31 |
32 | # vercel
33 | .vercel
34 |
35 | # typescript
36 | *.tsbuildinfo
37 | next-env.d.ts
38 |
--------------------------------------------------------------------------------
/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "arrowParens": "avoid",
3 | "singleQuote": true,
4 | "jsxSingleQuote": true,
5 | "tabWidth": 2,
6 | "trailingComma": "none",
7 | "semi": false,
8 | "proseWrap": "always",
9 | "printWidth": 80
10 | }
11 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app).
2 |
3 | ## Getting Started
4 |
5 | First, run the development server:
6 |
7 | ```bash
8 | npm run dev
9 | # or
10 | yarn dev
11 | ```
12 |
13 | Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
14 |
15 | You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file.
16 |
17 | [API routes](https://nextjs.org/docs/api-routes/introduction) can be accessed on [http://localhost:3000/api/hello](http://localhost:3000/api/hello). This endpoint can be edited in `pages/api/hello.ts`.
18 |
19 | The `pages/api` directory is mapped to `/api/*`. Files in this directory are treated as [API routes](https://nextjs.org/docs/api-routes/introduction) instead of React pages.
20 |
21 | ## Learn More
22 |
23 | To learn more about Next.js, take a look at the following resources:
24 |
25 | - [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
26 | - [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
27 |
28 | You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome!
29 |
30 | ## Deploy on Vercel
31 |
32 | The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.
33 |
34 | Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details.
35 |
--------------------------------------------------------------------------------
/app/(auth)/layout.jsx:
--------------------------------------------------------------------------------
1 | import '../(site)/globals.css'
2 |
3 | import Link from 'next/link'
4 | import Provider from '../(site)/provider'
5 | import { ChevronLeftIcon } from '@heroicons/react/24/outline'
6 |
7 | export default function AuthLayout({ children }) {
8 | return (
9 |
10 |
12 |
13 |
14 |
15 |
19 |
20 |
Home
21 |
22 |
23 |
24 | Sign in to your account
25 |
26 |
27 |
28 | {children}
29 |
30 |
31 |
32 |
33 |
34 |
35 | )
36 | }
37 |
--------------------------------------------------------------------------------
/app/(auth)/signin/page.jsx:
--------------------------------------------------------------------------------
1 | import Button from 'app/components/ui/button'
2 | import TextField from 'app/components/form/TextField'
3 | import GoogleLoginButton from 'app/components/auth/GoogleSignInButton'
4 |
5 | const SignInPage = () => {
6 | return (
7 | <>
8 |
29 |
30 | or
31 |
32 |
33 | >
34 | )
35 | }
36 |
37 | export default SignInPage
38 |
--------------------------------------------------------------------------------
/app/(auth)/signout/page.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 |
3 | const SignOut = () => {
4 | return SignOut
5 | }
6 |
7 | export default SignOut
8 |
--------------------------------------------------------------------------------
/app/(site)/footer.jsx:
--------------------------------------------------------------------------------
1 | const Footer = () => {
2 | return (
3 |
8 | )
9 | }
10 |
11 | export default Footer
12 |
--------------------------------------------------------------------------------
/app/(site)/globals.css:
--------------------------------------------------------------------------------
1 | @tailwind base;
2 | @tailwind components;
3 | @tailwind utilities;
4 |
5 | @layer base {
6 | #__next {
7 | @apply contents;
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/app/(site)/head.jsx:
--------------------------------------------------------------------------------
1 | export default function Head() {
2 | return (
3 | <>
4 | Create Next App
5 |
6 |
7 |
8 | >
9 | )
10 | }
11 |
--------------------------------------------------------------------------------
/app/(site)/header.jsx:
--------------------------------------------------------------------------------
1 | 'use client'
2 |
3 | import Link from 'next/link'
4 | import LoginButton from '../components/auth/SignInButton'
5 |
6 | const Header = () => {
7 | return (
8 |
9 |
24 |
25 | )
26 | }
27 |
28 | export default Header
29 |
--------------------------------------------------------------------------------
/app/(site)/layout.jsx:
--------------------------------------------------------------------------------
1 | import './globals.css'
2 | import Footer from './footer'
3 | import Header from './header'
4 | import Provider from './provider'
5 |
6 | export default function RootLayout({ children }) {
7 | return (
8 |
9 |
11 |
12 |
13 | {children}
14 |
15 |
16 |
17 |
18 | )
19 | }
20 |
--------------------------------------------------------------------------------
/app/(site)/page.jsx:
--------------------------------------------------------------------------------
1 | const Home = () => {
2 | return (
3 |
4 |
5 |
Home page
6 |
7 |
8 | )
9 | }
10 |
11 | export default Home
12 |
--------------------------------------------------------------------------------
/app/(site)/provider.jsx:
--------------------------------------------------------------------------------
1 | 'use client'
2 |
3 | import { SessionProvider } from 'next-auth/react'
4 |
5 | const Provider = ({ children }) => {
6 | return {children}
7 | }
8 |
9 | export default Provider
10 |
--------------------------------------------------------------------------------
/app/(site)/users/[userId]/error.jsx:
--------------------------------------------------------------------------------
1 | 'use client'
2 |
3 | import { useEffect } from 'react'
4 |
5 | export default function Error({ error, reset }) {
6 | useEffect(() => {
7 | // Log the error to an error reporting service
8 | console.error(error)
9 | }, [error])
10 |
11 | return (
12 |
13 |
Something went wrong!
14 |
15 |
16 | )
17 | }
18 |
--------------------------------------------------------------------------------
/app/(site)/users/[userId]/page.jsx:
--------------------------------------------------------------------------------
1 | import { getUserById, getUsers } from '@/lib/prisma/users'
2 | import User from './user'
3 |
4 | // export async function generateStaticParams() {
5 | // const { users } = await getUsers()
6 |
7 | // return users.map(user => ({
8 | // userId: user.id
9 | // }))
10 | // }
11 |
12 | async function getUser(userId) {
13 | const { user } = await getUserById(userId)
14 | if (!user) {
15 | throw new Error('Failed to fetch data')
16 | }
17 |
18 | return user
19 | }
20 |
21 | const Page = async ({ params }) => {
22 | const user = await getUser(params.userId)
23 |
24 | return
25 | }
26 |
27 | export default Page
28 |
--------------------------------------------------------------------------------
/app/(site)/users/[userId]/tweet.jsx:
--------------------------------------------------------------------------------
1 | 'use client'
2 |
3 | import { useEffect, useState } from 'react'
4 | import { HeartIcon } from '@heroicons/react/24/outline'
5 | import { HeartIcon as HartIconFilled } from '@heroicons/react/24/solid'
6 |
7 | const Tweet = ({ tweet }) => {
8 | const [likes, setLikes] = useState(tweet?.likes)
9 | const [liked, setLiked] = useState(null)
10 | useEffect(() => {
11 | if (liked === null) return
12 |
13 | const endpoint = liked
14 | ? `/api/tweets/${tweet.id}/like`
15 | : `/api/tweets/${tweet.id}/unlike`
16 |
17 | fetch(endpoint, {
18 | method: 'PATCH',
19 | headers: {
20 | 'Content-Type': 'application/json'
21 | }
22 | })
23 | .then(res => res.json())
24 | .then(({ tweet }) => {
25 | setLikes(tweet?.likes)
26 | })
27 | }, [liked, tweet.id])
28 |
29 | const handleClick = () => setLiked(liked => !liked)
30 |
31 | return (
32 |
33 |
34 |
{tweet.body}
35 |
36 |
43 | {likes}
44 |
45 |
46 |
47 | )
48 | }
49 |
50 | export default Tweet
51 |
--------------------------------------------------------------------------------
/app/(site)/users/[userId]/user.jsx:
--------------------------------------------------------------------------------
1 | import Image from 'next/image'
2 | import Tweet from './tweet'
3 |
4 | const User = ({ user }) => {
5 | return (
6 |
7 |
8 |
9 | {user?.image ? (
10 |
16 | ) : (
17 |
18 |
25 |
26 | )}
27 |
28 |
{user?.name}
29 |
{user?.email}
30 |
31 |
32 |
33 | Recent Tweets
34 |
35 |
36 | {user.tweets.map(tweet => (
37 |
38 | ))}
39 |
40 |
41 |
42 | )
43 | }
44 |
45 | export default User
46 |
--------------------------------------------------------------------------------
/app/(site)/users/layout.jsx:
--------------------------------------------------------------------------------
1 | import { getUsers } from '@/lib/prisma/users'
2 | import Users from './users'
3 |
4 | // export const dynamic = 'force-dynamic'
5 | export const revalidate = 0
6 |
7 | async function getData() {
8 | const { users } = await getUsers()
9 | if (!users) {
10 | throw new Error('Failed to fetch data')
11 | }
12 |
13 | return users
14 | }
15 |
16 | const UsersLayout = async ({ children }) => {
17 | const users = await getData()
18 |
19 | return (
20 |
21 |
24 | {children}
25 |
26 | )
27 | }
28 |
29 | export default UsersLayout
30 |
--------------------------------------------------------------------------------
/app/(site)/users/loading.jsx:
--------------------------------------------------------------------------------
1 | const Loading = () => {
2 | return (
3 |
4 |
Loading...
5 |
6 | )
7 | }
8 |
9 | export default Loading
10 |
--------------------------------------------------------------------------------
/app/(site)/users/page.jsx:
--------------------------------------------------------------------------------
1 | const Page = () => {
2 | return (
3 |
4 |
5 |
Welcome
6 |
7 | 👈🏼
8 | select a user
9 |
10 |
11 |
12 | )
13 | }
14 |
15 | export default Page
16 |
--------------------------------------------------------------------------------
/app/(site)/users/users.jsx:
--------------------------------------------------------------------------------
1 | import Link from 'next/link'
2 | // import { getUsers } from '@/lib/prisma/users'
3 |
4 | const Users = async ({ users }) => {
5 | // const { users } = await getUsers()
6 |
7 | return (
8 |
9 |
10 |
11 | Users
12 |
13 |
14 | {users?.map(user => (
15 | -
16 | {user.name}
17 |
18 | ))}
19 |
20 |
21 |
22 | )
23 | }
24 |
25 | export default Users
26 |
--------------------------------------------------------------------------------
/app/components/auth/GoogleSignInButton.jsx:
--------------------------------------------------------------------------------
1 | 'use client'
2 | import { useSearchParams } from 'next/navigation'
3 | import { signIn } from 'next-auth/react'
4 | import Button from '../ui/button'
5 |
6 | const GoogleLoginButton = () => {
7 | const searchParams = useSearchParams()
8 | const callbackUrl = searchParams.get('callbackUrl')
9 |
10 | return (
11 |
31 | )
32 | }
33 |
34 | export default GoogleLoginButton
35 |
--------------------------------------------------------------------------------
/app/components/auth/SignInButton.jsx:
--------------------------------------------------------------------------------
1 | 'use client'
2 |
3 | import { useSession, signIn, signOut } from 'next-auth/react'
4 | import Image from 'next/image'
5 |
6 | const SignInButton = () => {
7 | const { data: session } = useSession()
8 |
9 | if (session) {
10 | return (
11 |
12 | {session?.user?.image ? (
13 |
19 | ) : (
20 |
21 |
28 |
29 | )}
30 |
31 |
32 | //
38 | )
39 | }
40 |
41 | return (
42 |
48 | )
49 | }
50 |
51 | export default SignInButton
52 |
--------------------------------------------------------------------------------
/app/components/form/TextField.jsx:
--------------------------------------------------------------------------------
1 | const formClasses =
2 | 'block w-full appearance-none rounded-lg border bg-white py-[calc(theme(spacing.2)-1px)] px-[calc(theme(spacing.3)-1px)] text-gray-900 placeholder:text-gray-400 focus:border-stone-500 focus:outline-none focus:ring-cyan-500 sm:text-sm'
3 |
4 | const Label = ({ id, children }) => {
5 | return (
6 |
12 | )
13 | }
14 |
15 | const TextField = ({ id, label, type = 'text', className, ...props }) => {
16 | return (
17 |
18 | {label && }
19 |
20 |
21 | )
22 | }
23 |
24 | export default TextField
25 |
--------------------------------------------------------------------------------
/app/components/ui/button.jsx:
--------------------------------------------------------------------------------
1 | 'use client'
2 |
3 | import { forwardRef } from 'react'
4 | import Link from 'next/link'
5 | import clsx from 'clsx'
6 |
7 | const baseStyles = {
8 | solid:
9 | 'inline-flex justify-center rounded-lg py-2 px-3 text-sm font-semibold outline-2 outline-offset-2 transition-colors',
10 | outline:
11 | 'inline-flex justify-center rounded-lg border py-[calc(theme(spacing.2)-1px)] px-[calc(theme(spacing.3)-1px)] text-sm outline-2 outline-offset-2 transition-colors'
12 | }
13 |
14 | const variantStyles = {
15 | solid: {
16 | cyan: 'relative overflow-hidden bg-cyan-500 text-white before:absolute before:inset-0 active:before:bg-transparent hover:before:bg-white/10 active:bg-cyan-600 active:text-white/80 before:transition-colors',
17 | white:
18 | 'bg-white text-cyan-900 hover:bg-white/90 active:bg-white/90 active:text-cyan-900/70',
19 | gray: 'bg-gray-800 text-white hover:bg-gray-900 active:bg-gray-800 active:text-white/80'
20 | },
21 | outline: {
22 | gray: 'border-gray-300 text-gray-700 hover:border-gray-400 active:bg-gray-100 active:text-gray-700/80'
23 | }
24 | }
25 |
26 | const Button = forwardRef(function Button(
27 | { variant = 'solid', color = 'gray', className, href, ...props },
28 | ref
29 | ) {
30 | className = clsx(
31 | baseStyles[variant],
32 | variantStyles[variant][color],
33 | className
34 | )
35 |
36 | return href ? (
37 |
38 | ) : (
39 |
40 | )
41 | })
42 |
43 | export default Button
44 |
--------------------------------------------------------------------------------
/jsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "baseUrl": ".",
4 | "paths": {
5 | "@/components/*": ["components/*"],
6 | "@/lib/*": ["lib/*"],
7 | "@/public/*": ["public/*"],
8 | "@/hooks/*": ["hooks/*"]
9 | }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/lib/prisma/index.js:
--------------------------------------------------------------------------------
1 | import { PrismaClient } from '@prisma/client'
2 |
3 | const client = globalThis.prisma || new PrismaClient()
4 | if (process.env.NODE_ENV !== 'production') globalThis.prisma = client
5 |
6 | export default client
7 |
--------------------------------------------------------------------------------
/lib/prisma/tweets.js:
--------------------------------------------------------------------------------
1 | import prisma from '.'
2 |
3 | export async function likeTweet({ tweetId }) {
4 | try {
5 | const tweet = await prisma.tweet.update({
6 | where: { id: tweetId },
7 | data: {
8 | likes: {
9 | increment: 1
10 | }
11 | }
12 | })
13 | return { tweet }
14 | } catch (error) {
15 | return { error }
16 | }
17 | }
18 |
19 | export async function unLikeTweet({ tweetId }) {
20 | try {
21 | const tweet = await prisma.tweet.update({
22 | where: { id: tweetId },
23 | data: {
24 | likes: {
25 | decrement: 1
26 | }
27 | }
28 | })
29 | return { tweet }
30 | } catch (error) {
31 | return { error }
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/lib/prisma/users.js:
--------------------------------------------------------------------------------
1 | import prisma from '.'
2 |
3 | export async function getUsers() {
4 | try {
5 | const users = await prisma.user.findMany()
6 | return { users }
7 | } catch (error) {
8 | return { error }
9 | }
10 | }
11 |
12 | export async function createUser(user) {
13 | try {
14 | const userFromDB = await prisma.user.create({ data: user })
15 | return { user: userFromDB }
16 | } catch (error) {
17 | return { error }
18 | }
19 | }
20 |
21 | export async function getUserById(id) {
22 | try {
23 | const user = await prisma.user.findUnique({
24 | where: { id },
25 | include: { tweets: true }
26 | })
27 | return { user }
28 | } catch (error) {
29 | return { error }
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/lib/utils/index.js:
--------------------------------------------------------------------------------
1 | export function serialize(obj) {
2 | return JSON.parse(JSON.stringify(obj))
3 | }
4 |
--------------------------------------------------------------------------------
/next.config.js:
--------------------------------------------------------------------------------
1 | /** @type {import('next').NextConfig} */
2 | const nextConfig = {
3 | experimental: {
4 | appDir: true
5 | },
6 | images: {
7 | domains: ['github.com', 'lh3.googleusercontent.com']
8 | }
9 | }
10 |
11 | module.exports = nextConfig
12 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "nextjs-13",
3 | "version": "0.1.0",
4 | "private": true,
5 | "scripts": {
6 | "dev": "next dev",
7 | "build": "next build",
8 | "start": "next start",
9 | "lint": "next lint"
10 | },
11 | "dependencies": {
12 | "@heroicons/react": "^2.0.13",
13 | "@next-auth/prisma-adapter": "^1.0.5",
14 | "@prisma/client": "^4.10.1",
15 | "clsx": "^1.2.1",
16 | "eslint": "8.27.0",
17 | "eslint-config-next": "13.0.2",
18 | "next": "13.0.6",
19 | "next-auth": "^4.17.0",
20 | "react": "18.2.0",
21 | "react-dom": "18.2.0",
22 | "typescript": "^4.8.4"
23 | },
24 | "devDependencies": {
25 | "autoprefixer": "^10.4.13",
26 | "postcss": "^8.4.18",
27 | "prettier": "^2.7.1",
28 | "prettier-plugin-tailwindcss": "^0.1.13",
29 | "prisma": "^4.10.1",
30 | "tailwindcss": "^3.2.2"
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/pages/api/auth/[...nextauth].js:
--------------------------------------------------------------------------------
1 | import NextAuth from 'next-auth'
2 | import prisma from '@/lib/prisma'
3 | import { PrismaAdapter } from '@next-auth/prisma-adapter'
4 | import GoogleProvider from 'next-auth/providers/google'
5 |
6 | export default async function auth(req, res) {
7 | return await NextAuth(req, res, {
8 | providers: [
9 | GoogleProvider({
10 | clientId: process.env.GOOGLE_CLIENT_ID,
11 | clientSecret: process.env.GOOGLE_CLIENT_SECRET
12 | })
13 | ],
14 |
15 | pages: {
16 | signIn: '/signin'
17 | },
18 | adapter: PrismaAdapter(prisma),
19 | session: {
20 | strategy: 'jwt'
21 | }
22 | })
23 | }
24 |
--------------------------------------------------------------------------------
/pages/api/tweets/[tweetId]/like/index.js:
--------------------------------------------------------------------------------
1 | import { likeTweet } from '@/lib/prisma/tweets'
2 |
3 | const handler = async (req, res) => {
4 | if (req.method === 'PATCH') {
5 | try {
6 | const { tweetId } = req.query
7 |
8 | const { tweet, error } = await likeTweet({ tweetId })
9 | if (error) throw new Error(error)
10 |
11 | return res.status(200).json({ tweet })
12 | } catch (error) {
13 | return res.status(500).json({ error: error.message })
14 | }
15 | }
16 |
17 | res.setHeader('Allow', ['PATCH'])
18 | res.status(425).end(`Method ${req.method} is not allowed.`)
19 | }
20 |
21 | export default handler
22 |
--------------------------------------------------------------------------------
/pages/api/tweets/[tweetId]/unlike/index.js:
--------------------------------------------------------------------------------
1 | import { unLikeTweet } from '@/lib/prisma/tweets'
2 |
3 | const handler = async (req, res) => {
4 | if (req.method === 'PATCH') {
5 | try {
6 | const { tweetId } = req.query
7 |
8 | const { tweet, error } = await unLikeTweet({ tweetId })
9 | if (error) throw new Error(error)
10 |
11 | return res.status(200).json({ tweet })
12 | } catch (error) {
13 | return res.status(500).json({ error: error.message })
14 | }
15 | }
16 |
17 | res.setHeader('Allow', ['PATCH'])
18 | res.status(425).end(`Method ${req.method} is not allowed.`)
19 | }
20 |
21 | export default handler
22 |
--------------------------------------------------------------------------------
/pages/api/users/[userId]/index.js:
--------------------------------------------------------------------------------
1 | import { getUserById } from '@/lib/prisma/users'
2 |
3 | const handler = async (req, res) => {
4 | if (req.method === 'GET') {
5 | try {
6 | const { userId } = req.query
7 | const { user, error } = await getUserById(userId)
8 | if (error) throw new Error(error)
9 | return res.status(200).json({ user })
10 | } catch (error) {
11 | return res.status(500).json({ error: error.message })
12 | }
13 | }
14 |
15 | res.setHeader('Allow', ['GET'])
16 | res.status(425).end(`Method ${req.method} is not allowed.`)
17 | }
18 |
19 | export default handler
20 |
--------------------------------------------------------------------------------
/pages/api/users/index.js:
--------------------------------------------------------------------------------
1 | import { createUser, getUsers } from '@/lib/prisma/users'
2 |
3 | const handler = async (req, res) => {
4 | if (req.method === 'GET') {
5 | try {
6 | const { users, error } = await getUsers()
7 | if (error) throw new Error(error)
8 | return res.status(200).json({ users })
9 | } catch (error) {
10 | return res.status(500).json({ error: error.message })
11 | }
12 | }
13 |
14 | if (req.method === 'POST') {
15 | try {
16 | const data = req.body
17 | const { user, error } = await createUser(data)
18 | if (error) throw new Error(error)
19 | return res.status(200).json({ user })
20 | } catch (error) {
21 | return res.status(500).json({ error: error.message })
22 | }
23 | }
24 |
25 | res.setHeader('Allow', ['GET', 'POST'])
26 | res.status(425).end(`Method ${req.method} is not allowed.`)
27 | }
28 |
29 | export default handler
30 |
--------------------------------------------------------------------------------
/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: 5.4
2 |
3 | specifiers:
4 | '@heroicons/react': ^2.0.13
5 | '@next-auth/prisma-adapter': ^1.0.5
6 | '@prisma/client': ^4.10.1
7 | autoprefixer: ^10.4.13
8 | clsx: ^1.2.1
9 | eslint: 8.27.0
10 | eslint-config-next: 13.0.2
11 | next: 13.0.6
12 | next-auth: ^4.17.0
13 | postcss: ^8.4.18
14 | prettier: ^2.7.1
15 | prettier-plugin-tailwindcss: ^0.1.13
16 | prisma: ^4.10.1
17 | react: 18.2.0
18 | react-dom: 18.2.0
19 | tailwindcss: ^3.2.2
20 | typescript: ^4.8.4
21 |
22 | dependencies:
23 | '@heroicons/react': 2.0.13_react@18.2.0
24 | '@next-auth/prisma-adapter': 1.0.5_dldaqk7y5gusm3y62cs36p5q5m
25 | '@prisma/client': 4.10.1_prisma@4.10.1
26 | clsx: 1.2.1
27 | eslint: 8.27.0
28 | eslint-config-next: 13.0.2_e3uo4sehh4zr4i6m57mkkxxv7y
29 | next: 13.0.6_biqbaboplfbrettd7655fr4n2y
30 | next-auth: 4.17.0_6jx7hpii6hgsrmhxgqrmo3277u
31 | react: 18.2.0
32 | react-dom: 18.2.0_react@18.2.0
33 | typescript: 4.9.3
34 |
35 | devDependencies:
36 | autoprefixer: 10.4.13_postcss@8.4.19
37 | postcss: 8.4.19
38 | prettier: 2.8.0
39 | prettier-plugin-tailwindcss: 0.1.13_prettier@2.8.0
40 | prisma: 4.10.1
41 | tailwindcss: 3.2.4_postcss@8.4.19
42 |
43 | packages:
44 |
45 | /@babel/runtime-corejs3/7.20.6:
46 | resolution: {integrity: sha512-tqeujPiuEfcH067mx+7otTQWROVMKHXEaOQcAeNV5dDdbPWvPcFA8/W9LXw2NfjNmOetqLl03dfnG2WALPlsRQ==}
47 | engines: {node: '>=6.9.0'}
48 | dependencies:
49 | core-js-pure: 3.26.1
50 | regenerator-runtime: 0.13.11
51 | dev: false
52 |
53 | /@babel/runtime/7.20.6:
54 | resolution: {integrity: sha512-Q+8MqP7TiHMWzSfwiJwXCjyf4GYA4Dgw3emg/7xmwsdLJOZUp+nMqcOwOzzYheuM1rhDu8FSj2l0aoMygEuXuA==}
55 | engines: {node: '>=6.9.0'}
56 | dependencies:
57 | regenerator-runtime: 0.13.11
58 | dev: false
59 |
60 | /@eslint/eslintrc/1.3.3:
61 | resolution: {integrity: sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==}
62 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
63 | dependencies:
64 | ajv: 6.12.6
65 | debug: 4.3.4
66 | espree: 9.4.1
67 | globals: 13.18.0
68 | ignore: 5.2.1
69 | import-fresh: 3.3.0
70 | js-yaml: 4.1.0
71 | minimatch: 3.1.2
72 | strip-json-comments: 3.1.1
73 | transitivePeerDependencies:
74 | - supports-color
75 | dev: false
76 |
77 | /@heroicons/react/2.0.13_react@18.2.0:
78 | resolution: {integrity: sha512-iSN5XwmagrnirWlYEWNPdCDj9aRYVD/lnK3JlsC9/+fqGF80k8C7rl+1HCvBX0dBoagKqOFBs6fMhJJ1hOg1EQ==}
79 | peerDependencies:
80 | react: '>= 16'
81 | dependencies:
82 | react: 18.2.0
83 | dev: false
84 |
85 | /@humanwhocodes/config-array/0.11.7:
86 | resolution: {integrity: sha512-kBbPWzN8oVMLb0hOUYXhmxggL/1cJE6ydvjDIGi9EnAGUyA7cLVKQg+d/Dsm+KZwx2czGHrCmMVLiyg8s5JPKw==}
87 | engines: {node: '>=10.10.0'}
88 | dependencies:
89 | '@humanwhocodes/object-schema': 1.2.1
90 | debug: 4.3.4
91 | minimatch: 3.1.2
92 | transitivePeerDependencies:
93 | - supports-color
94 | dev: false
95 |
96 | /@humanwhocodes/module-importer/1.0.1:
97 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
98 | engines: {node: '>=12.22'}
99 | dev: false
100 |
101 | /@humanwhocodes/object-schema/1.2.1:
102 | resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==}
103 | dev: false
104 |
105 | /@next-auth/prisma-adapter/1.0.5_dldaqk7y5gusm3y62cs36p5q5m:
106 | resolution: {integrity: sha512-VqMS11IxPXrPGXw6Oul6jcyS/n8GLOWzRMrPr3EMdtD6eOalM6zz05j08PcNiis8QzkfuYnCv49OvufTuaEwYQ==}
107 | peerDependencies:
108 | '@prisma/client': '>=2.26.0 || >=3'
109 | next-auth: ^4
110 | dependencies:
111 | '@prisma/client': 4.10.1_prisma@4.10.1
112 | next-auth: 4.17.0_6jx7hpii6hgsrmhxgqrmo3277u
113 | dev: false
114 |
115 | /@next/env/13.0.6:
116 | resolution: {integrity: sha512-yceT6DCHKqPRS1cAm8DHvDvK74DLIkDQdm5iV+GnIts8h0QbdHvkUIkdOvQoOODgpr6018skbmSQp12z5OWIQQ==}
117 | dev: false
118 |
119 | /@next/eslint-plugin-next/13.0.2:
120 | resolution: {integrity: sha512-W+fIIIaFU7Kct7Okx91C7XDRGolv/w2RUenX2yZFeeNVcuVzDIKUcNmckrYbYcwrNQUSXmtwrs3g8xwast0YtA==}
121 | dependencies:
122 | glob: 7.1.7
123 | dev: false
124 |
125 | /@next/swc-android-arm-eabi/13.0.6:
126 | resolution: {integrity: sha512-FGFSj3v2Bluw8fD/X+1eXIEB0PhoJE0zfutsAauRhmNpjjZshLDgoXMWm1jTRL/04K/o9gwwO2+A8+sPVCH1uw==}
127 | engines: {node: '>= 10'}
128 | cpu: [arm]
129 | os: [android]
130 | requiresBuild: true
131 | dev: false
132 | optional: true
133 |
134 | /@next/swc-android-arm64/13.0.6:
135 | resolution: {integrity: sha512-7MgbtU7kimxuovVsd7jSJWMkIHBDBUsNLmmlkrBRHTvgzx5nDBXogP0hzZm7EImdOPwVMPpUHRQMBP9mbsiJYQ==}
136 | engines: {node: '>= 10'}
137 | cpu: [arm64]
138 | os: [android]
139 | requiresBuild: true
140 | dev: false
141 | optional: true
142 |
143 | /@next/swc-darwin-arm64/13.0.6:
144 | resolution: {integrity: sha512-AUVEpVTxbP/fxdFsjVI9d5a0CFn6NVV7A/RXOb0Y+pXKIIZ1V5rFjPwpYfIfyOo2lrqgehMNQcyMRoTrhq04xg==}
145 | engines: {node: '>= 10'}
146 | cpu: [arm64]
147 | os: [darwin]
148 | requiresBuild: true
149 | dev: false
150 | optional: true
151 |
152 | /@next/swc-darwin-x64/13.0.6:
153 | resolution: {integrity: sha512-SasCDJlshglsPnbzhWaIF6VEGkQy2NECcAOxPwaPr0cwbbt4aUlZ7QmskNzgolr5eAjFS/xTr7CEeKJtZpAAtQ==}
154 | engines: {node: '>= 10'}
155 | cpu: [x64]
156 | os: [darwin]
157 | requiresBuild: true
158 | dev: false
159 | optional: true
160 |
161 | /@next/swc-freebsd-x64/13.0.6:
162 | resolution: {integrity: sha512-6Lbxd9gAdXneTkwHyYW/qtX1Tdw7ND9UbiGsGz/SP43ZInNWnW6q0au4hEVPZ9bOWWRKzcVoeTBdoMpQk9Hx9w==}
163 | engines: {node: '>= 10'}
164 | cpu: [x64]
165 | os: [freebsd]
166 | requiresBuild: true
167 | dev: false
168 | optional: true
169 |
170 | /@next/swc-linux-arm-gnueabihf/13.0.6:
171 | resolution: {integrity: sha512-wNdi5A519e1P+ozEuYOhWPzzE6m1y7mkO6NFwn6watUwO0X9nZs7fT9THmnekvmFQpaZ6U+xf2MQ9poQoCh6jQ==}
172 | engines: {node: '>= 10'}
173 | cpu: [arm]
174 | os: [linux]
175 | requiresBuild: true
176 | dev: false
177 | optional: true
178 |
179 | /@next/swc-linux-arm64-gnu/13.0.6:
180 | resolution: {integrity: sha512-e8KTRnleQY1KLk5PwGV5hrmvKksCc74QRpHl5ffWnEEAtL2FE0ave5aIkXqErsPdXkiKuA/owp3LjQrP+/AH7Q==}
181 | engines: {node: '>= 10'}
182 | cpu: [arm64]
183 | os: [linux]
184 | requiresBuild: true
185 | dev: false
186 | optional: true
187 |
188 | /@next/swc-linux-arm64-musl/13.0.6:
189 | resolution: {integrity: sha512-/7RF03C3mhjYpHN+pqOolgME3guiHU5T3TsejuyteqyEyzdEyLHod+jcYH6ft7UZ71a6TdOewvmbLOtzHW2O8A==}
190 | engines: {node: '>= 10'}
191 | cpu: [arm64]
192 | os: [linux]
193 | requiresBuild: true
194 | dev: false
195 | optional: true
196 |
197 | /@next/swc-linux-x64-gnu/13.0.6:
198 | resolution: {integrity: sha512-kxyEXnYHpOEkFnmrlwB1QlzJtjC6sAJytKcceIyFUHbCaD3W/Qb5tnclcnHKTaFccizZRePXvV25Ok/eUSpKTw==}
199 | engines: {node: '>= 10'}
200 | cpu: [x64]
201 | os: [linux]
202 | requiresBuild: true
203 | dev: false
204 | optional: true
205 |
206 | /@next/swc-linux-x64-musl/13.0.6:
207 | resolution: {integrity: sha512-N0c6gubS3WW1oYYgo02xzZnNatfVQP/CiJq2ax+DJ55ePV62IACbRCU99TZNXXg+Kos6vNW4k+/qgvkvpGDeyA==}
208 | engines: {node: '>= 10'}
209 | cpu: [x64]
210 | os: [linux]
211 | requiresBuild: true
212 | dev: false
213 | optional: true
214 |
215 | /@next/swc-win32-arm64-msvc/13.0.6:
216 | resolution: {integrity: sha512-QjeMB2EBqBFPb/ac0CYr7GytbhUkrG4EwFWbcE0vsRp4H8grt25kYpFQckL4Jak3SUrp7vKfDwZ/SwO7QdO8vw==}
217 | engines: {node: '>= 10'}
218 | cpu: [arm64]
219 | os: [win32]
220 | requiresBuild: true
221 | dev: false
222 | optional: true
223 |
224 | /@next/swc-win32-ia32-msvc/13.0.6:
225 | resolution: {integrity: sha512-EQzXtdqRTcmhT/tCq81rIwE36Y3fNHPInaCuJzM/kftdXfa0F+64y7FAoMO13npX8EG1+SamXgp/emSusKrCXg==}
226 | engines: {node: '>= 10'}
227 | cpu: [ia32]
228 | os: [win32]
229 | requiresBuild: true
230 | dev: false
231 | optional: true
232 |
233 | /@next/swc-win32-x64-msvc/13.0.6:
234 | resolution: {integrity: sha512-pSkqZ//UP/f2sS9T7IvHLfEWDPTX0vRyXJnAUNisKvO3eF3e1xdhDX7dix/X3Z3lnN4UjSwOzclAI87JFbOwmQ==}
235 | engines: {node: '>= 10'}
236 | cpu: [x64]
237 | os: [win32]
238 | requiresBuild: true
239 | dev: false
240 | optional: true
241 |
242 | /@nodelib/fs.scandir/2.1.5:
243 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
244 | engines: {node: '>= 8'}
245 | dependencies:
246 | '@nodelib/fs.stat': 2.0.5
247 | run-parallel: 1.2.0
248 |
249 | /@nodelib/fs.stat/2.0.5:
250 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
251 | engines: {node: '>= 8'}
252 |
253 | /@nodelib/fs.walk/1.2.8:
254 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
255 | engines: {node: '>= 8'}
256 | dependencies:
257 | '@nodelib/fs.scandir': 2.1.5
258 | fastq: 1.13.0
259 |
260 | /@panva/hkdf/1.0.2:
261 | resolution: {integrity: sha512-MSAs9t3Go7GUkMhpKC44T58DJ5KGk2vBo+h1cqQeqlMfdGkxaVB78ZWpv9gYi/g2fa4sopag9gJsNvS8XGgWJA==}
262 | dev: false
263 |
264 | /@prisma/client/4.10.1_prisma@4.10.1:
265 | resolution: {integrity: sha512-VonXLJZybdt8e5XZH5vnIGCRNnIh6OMX1FS3H/yzMGLT3STj5TJ/OkMcednrvELgk8PK89Vo3aSh51MWNO0axA==}
266 | engines: {node: '>=14.17'}
267 | requiresBuild: true
268 | peerDependencies:
269 | prisma: '*'
270 | peerDependenciesMeta:
271 | prisma:
272 | optional: true
273 | dependencies:
274 | '@prisma/engines-version': 4.10.1-2.aead147aa326ccb985dcfed5b065b4fdabd44b19
275 | prisma: 4.10.1
276 | dev: false
277 |
278 | /@prisma/engines-version/4.10.1-2.aead147aa326ccb985dcfed5b065b4fdabd44b19:
279 | resolution: {integrity: sha512-tsjTho7laDhf9EJ9EnDxAPEf7yrigSMDhniXeU4YoWc7azHAs4GPxRi2P9LTFonmHkJLMOLjR77J1oIP8Ife1w==}
280 | dev: false
281 |
282 | /@prisma/engines/4.10.1:
283 | resolution: {integrity: sha512-B3tcTxjx196nuAu1GOTKO9cGPUgTFHYRdkPkTS4m5ptb2cejyBlH9X7GOfSt3xlI7p4zAJDshJP4JJivCg9ouA==}
284 | requiresBuild: true
285 |
286 | /@rushstack/eslint-patch/1.2.0:
287 | resolution: {integrity: sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg==}
288 | dev: false
289 |
290 | /@swc/helpers/0.4.14:
291 | resolution: {integrity: sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==}
292 | dependencies:
293 | tslib: 2.4.1
294 | dev: false
295 |
296 | /@types/json5/0.0.29:
297 | resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
298 | dev: false
299 |
300 | /@typescript-eslint/parser/5.45.0_e3uo4sehh4zr4i6m57mkkxxv7y:
301 | resolution: {integrity: sha512-brvs/WSM4fKUmF5Ot/gEve6qYiCMjm6w4HkHPfS6ZNmxTS0m0iNN4yOChImaCkqc1hRwFGqUyanMXuGal6oyyQ==}
302 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
303 | peerDependencies:
304 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
305 | typescript: '*'
306 | peerDependenciesMeta:
307 | typescript:
308 | optional: true
309 | dependencies:
310 | '@typescript-eslint/scope-manager': 5.45.0
311 | '@typescript-eslint/types': 5.45.0
312 | '@typescript-eslint/typescript-estree': 5.45.0_typescript@4.9.3
313 | debug: 4.3.4
314 | eslint: 8.27.0
315 | typescript: 4.9.3
316 | transitivePeerDependencies:
317 | - supports-color
318 | dev: false
319 |
320 | /@typescript-eslint/scope-manager/5.45.0:
321 | resolution: {integrity: sha512-noDMjr87Arp/PuVrtvN3dXiJstQR1+XlQ4R1EvzG+NMgXi8CuMCXpb8JqNtFHKceVSQ985BZhfRdowJzbv4yKw==}
322 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
323 | dependencies:
324 | '@typescript-eslint/types': 5.45.0
325 | '@typescript-eslint/visitor-keys': 5.45.0
326 | dev: false
327 |
328 | /@typescript-eslint/types/5.45.0:
329 | resolution: {integrity: sha512-QQij+u/vgskA66azc9dCmx+rev79PzX8uDHpsqSjEFtfF2gBUTRCpvYMh2gw2ghkJabNkPlSUCimsyBEQZd1DA==}
330 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
331 | dev: false
332 |
333 | /@typescript-eslint/typescript-estree/5.45.0_typescript@4.9.3:
334 | resolution: {integrity: sha512-maRhLGSzqUpFcZgXxg1qc/+H0bT36lHK4APhp0AEUVrpSwXiRAomm/JGjSG+kNUio5kAa3uekCYu/47cnGn5EQ==}
335 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
336 | peerDependencies:
337 | typescript: '*'
338 | peerDependenciesMeta:
339 | typescript:
340 | optional: true
341 | dependencies:
342 | '@typescript-eslint/types': 5.45.0
343 | '@typescript-eslint/visitor-keys': 5.45.0
344 | debug: 4.3.4
345 | globby: 11.1.0
346 | is-glob: 4.0.3
347 | semver: 7.3.8
348 | tsutils: 3.21.0_typescript@4.9.3
349 | typescript: 4.9.3
350 | transitivePeerDependencies:
351 | - supports-color
352 | dev: false
353 |
354 | /@typescript-eslint/visitor-keys/5.45.0:
355 | resolution: {integrity: sha512-jc6Eccbn2RtQPr1s7th6jJWQHBHI6GBVQkCHoJFQ5UreaKm59Vxw+ynQUPPY2u2Amquc+7tmEoC2G52ApsGNNg==}
356 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
357 | dependencies:
358 | '@typescript-eslint/types': 5.45.0
359 | eslint-visitor-keys: 3.3.0
360 | dev: false
361 |
362 | /acorn-jsx/5.3.2_acorn@8.8.1:
363 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
364 | peerDependencies:
365 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
366 | dependencies:
367 | acorn: 8.8.1
368 | dev: false
369 |
370 | /acorn-node/1.8.2:
371 | resolution: {integrity: sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==}
372 | dependencies:
373 | acorn: 7.4.1
374 | acorn-walk: 7.2.0
375 | xtend: 4.0.2
376 | dev: true
377 |
378 | /acorn-walk/7.2.0:
379 | resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==}
380 | engines: {node: '>=0.4.0'}
381 | dev: true
382 |
383 | /acorn/7.4.1:
384 | resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==}
385 | engines: {node: '>=0.4.0'}
386 | hasBin: true
387 | dev: true
388 |
389 | /acorn/8.8.1:
390 | resolution: {integrity: sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==}
391 | engines: {node: '>=0.4.0'}
392 | hasBin: true
393 | dev: false
394 |
395 | /ajv/6.12.6:
396 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
397 | dependencies:
398 | fast-deep-equal: 3.1.3
399 | fast-json-stable-stringify: 2.1.0
400 | json-schema-traverse: 0.4.1
401 | uri-js: 4.4.1
402 | dev: false
403 |
404 | /ansi-regex/5.0.1:
405 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
406 | engines: {node: '>=8'}
407 | dev: false
408 |
409 | /ansi-styles/4.3.0:
410 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
411 | engines: {node: '>=8'}
412 | dependencies:
413 | color-convert: 2.0.1
414 | dev: false
415 |
416 | /anymatch/3.1.3:
417 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
418 | engines: {node: '>= 8'}
419 | dependencies:
420 | normalize-path: 3.0.0
421 | picomatch: 2.3.1
422 | dev: true
423 |
424 | /arg/5.0.2:
425 | resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
426 | dev: true
427 |
428 | /argparse/2.0.1:
429 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
430 | dev: false
431 |
432 | /aria-query/4.2.2:
433 | resolution: {integrity: sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==}
434 | engines: {node: '>=6.0'}
435 | dependencies:
436 | '@babel/runtime': 7.20.6
437 | '@babel/runtime-corejs3': 7.20.6
438 | dev: false
439 |
440 | /array-includes/3.1.6:
441 | resolution: {integrity: sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==}
442 | engines: {node: '>= 0.4'}
443 | dependencies:
444 | call-bind: 1.0.2
445 | define-properties: 1.1.4
446 | es-abstract: 1.20.4
447 | get-intrinsic: 1.1.3
448 | is-string: 1.0.7
449 | dev: false
450 |
451 | /array-union/2.1.0:
452 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
453 | engines: {node: '>=8'}
454 | dev: false
455 |
456 | /array.prototype.flat/1.3.1:
457 | resolution: {integrity: sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==}
458 | engines: {node: '>= 0.4'}
459 | dependencies:
460 | call-bind: 1.0.2
461 | define-properties: 1.1.4
462 | es-abstract: 1.20.4
463 | es-shim-unscopables: 1.0.0
464 | dev: false
465 |
466 | /array.prototype.flatmap/1.3.1:
467 | resolution: {integrity: sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==}
468 | engines: {node: '>= 0.4'}
469 | dependencies:
470 | call-bind: 1.0.2
471 | define-properties: 1.1.4
472 | es-abstract: 1.20.4
473 | es-shim-unscopables: 1.0.0
474 | dev: false
475 |
476 | /array.prototype.tosorted/1.1.1:
477 | resolution: {integrity: sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==}
478 | dependencies:
479 | call-bind: 1.0.2
480 | define-properties: 1.1.4
481 | es-abstract: 1.20.4
482 | es-shim-unscopables: 1.0.0
483 | get-intrinsic: 1.1.3
484 | dev: false
485 |
486 | /ast-types-flow/0.0.7:
487 | resolution: {integrity: sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==}
488 | dev: false
489 |
490 | /autoprefixer/10.4.13_postcss@8.4.19:
491 | resolution: {integrity: sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==}
492 | engines: {node: ^10 || ^12 || >=14}
493 | hasBin: true
494 | peerDependencies:
495 | postcss: ^8.1.0
496 | dependencies:
497 | browserslist: 4.21.4
498 | caniuse-lite: 1.0.30001435
499 | fraction.js: 4.2.0
500 | normalize-range: 0.1.2
501 | picocolors: 1.0.0
502 | postcss: 8.4.19
503 | postcss-value-parser: 4.2.0
504 | dev: true
505 |
506 | /axe-core/4.5.2:
507 | resolution: {integrity: sha512-u2MVsXfew5HBvjsczCv+xlwdNnB1oQR9HlAcsejZttNjKKSkeDNVwB1vMThIUIFI9GoT57Vtk8iQLwqOfAkboA==}
508 | engines: {node: '>=4'}
509 | dev: false
510 |
511 | /axobject-query/2.2.0:
512 | resolution: {integrity: sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==}
513 | dev: false
514 |
515 | /balanced-match/1.0.2:
516 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
517 | dev: false
518 |
519 | /binary-extensions/2.2.0:
520 | resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
521 | engines: {node: '>=8'}
522 | dev: true
523 |
524 | /brace-expansion/1.1.11:
525 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
526 | dependencies:
527 | balanced-match: 1.0.2
528 | concat-map: 0.0.1
529 | dev: false
530 |
531 | /braces/3.0.2:
532 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
533 | engines: {node: '>=8'}
534 | dependencies:
535 | fill-range: 7.0.1
536 |
537 | /browserslist/4.21.4:
538 | resolution: {integrity: sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==}
539 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
540 | hasBin: true
541 | dependencies:
542 | caniuse-lite: 1.0.30001435
543 | electron-to-chromium: 1.4.284
544 | node-releases: 2.0.6
545 | update-browserslist-db: 1.0.10_browserslist@4.21.4
546 | dev: true
547 |
548 | /call-bind/1.0.2:
549 | resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==}
550 | dependencies:
551 | function-bind: 1.1.1
552 | get-intrinsic: 1.1.3
553 | dev: false
554 |
555 | /callsites/3.1.0:
556 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
557 | engines: {node: '>=6'}
558 | dev: false
559 |
560 | /camelcase-css/2.0.1:
561 | resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
562 | engines: {node: '>= 6'}
563 | dev: true
564 |
565 | /caniuse-lite/1.0.30001435:
566 | resolution: {integrity: sha512-kdCkUTjR+v4YAJelyiDTqiu82BDr4W4CP5sgTA0ZBmqn30XfS2ZghPLMowik9TPhS+psWJiUNxsqLyurDbmutA==}
567 |
568 | /chalk/4.1.2:
569 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
570 | engines: {node: '>=10'}
571 | dependencies:
572 | ansi-styles: 4.3.0
573 | supports-color: 7.2.0
574 | dev: false
575 |
576 | /chokidar/3.5.3:
577 | resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
578 | engines: {node: '>= 8.10.0'}
579 | dependencies:
580 | anymatch: 3.1.3
581 | braces: 3.0.2
582 | glob-parent: 5.1.2
583 | is-binary-path: 2.1.0
584 | is-glob: 4.0.3
585 | normalize-path: 3.0.0
586 | readdirp: 3.6.0
587 | optionalDependencies:
588 | fsevents: 2.3.2
589 | dev: true
590 |
591 | /client-only/0.0.1:
592 | resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==}
593 | dev: false
594 |
595 | /clsx/1.2.1:
596 | resolution: {integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==}
597 | engines: {node: '>=6'}
598 | dev: false
599 |
600 | /color-convert/2.0.1:
601 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
602 | engines: {node: '>=7.0.0'}
603 | dependencies:
604 | color-name: 1.1.4
605 | dev: false
606 |
607 | /color-name/1.1.4:
608 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
609 |
610 | /concat-map/0.0.1:
611 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
612 | dev: false
613 |
614 | /cookie/0.5.0:
615 | resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==}
616 | engines: {node: '>= 0.6'}
617 | dev: false
618 |
619 | /core-js-pure/3.26.1:
620 | resolution: {integrity: sha512-VVXcDpp/xJ21KdULRq/lXdLzQAtX7+37LzpyfFM973il0tWSsDEoyzG38G14AjTpK9VTfiNM9jnFauq/CpaWGQ==}
621 | requiresBuild: true
622 | dev: false
623 |
624 | /cross-spawn/7.0.3:
625 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
626 | engines: {node: '>= 8'}
627 | dependencies:
628 | path-key: 3.1.1
629 | shebang-command: 2.0.0
630 | which: 2.0.2
631 | dev: false
632 |
633 | /cssesc/3.0.0:
634 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
635 | engines: {node: '>=4'}
636 | hasBin: true
637 | dev: true
638 |
639 | /damerau-levenshtein/1.0.8:
640 | resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==}
641 | dev: false
642 |
643 | /debug/2.6.9:
644 | resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
645 | peerDependencies:
646 | supports-color: '*'
647 | peerDependenciesMeta:
648 | supports-color:
649 | optional: true
650 | dependencies:
651 | ms: 2.0.0
652 | dev: false
653 |
654 | /debug/3.2.7:
655 | resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
656 | peerDependencies:
657 | supports-color: '*'
658 | peerDependenciesMeta:
659 | supports-color:
660 | optional: true
661 | dependencies:
662 | ms: 2.1.3
663 | dev: false
664 |
665 | /debug/4.3.4:
666 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
667 | engines: {node: '>=6.0'}
668 | peerDependencies:
669 | supports-color: '*'
670 | peerDependenciesMeta:
671 | supports-color:
672 | optional: true
673 | dependencies:
674 | ms: 2.1.2
675 | dev: false
676 |
677 | /deep-is/0.1.4:
678 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
679 | dev: false
680 |
681 | /define-properties/1.1.4:
682 | resolution: {integrity: sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==}
683 | engines: {node: '>= 0.4'}
684 | dependencies:
685 | has-property-descriptors: 1.0.0
686 | object-keys: 1.1.1
687 | dev: false
688 |
689 | /defined/1.0.1:
690 | resolution: {integrity: sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==}
691 | dev: true
692 |
693 | /detective/5.2.1:
694 | resolution: {integrity: sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==}
695 | engines: {node: '>=0.8.0'}
696 | hasBin: true
697 | dependencies:
698 | acorn-node: 1.8.2
699 | defined: 1.0.1
700 | minimist: 1.2.7
701 | dev: true
702 |
703 | /didyoumean/1.2.2:
704 | resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
705 | dev: true
706 |
707 | /dir-glob/3.0.1:
708 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
709 | engines: {node: '>=8'}
710 | dependencies:
711 | path-type: 4.0.0
712 | dev: false
713 |
714 | /dlv/1.1.3:
715 | resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
716 | dev: true
717 |
718 | /doctrine/2.1.0:
719 | resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==}
720 | engines: {node: '>=0.10.0'}
721 | dependencies:
722 | esutils: 2.0.3
723 | dev: false
724 |
725 | /doctrine/3.0.0:
726 | resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
727 | engines: {node: '>=6.0.0'}
728 | dependencies:
729 | esutils: 2.0.3
730 | dev: false
731 |
732 | /electron-to-chromium/1.4.284:
733 | resolution: {integrity: sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==}
734 | dev: true
735 |
736 | /emoji-regex/9.2.2:
737 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
738 | dev: false
739 |
740 | /es-abstract/1.20.4:
741 | resolution: {integrity: sha512-0UtvRN79eMe2L+UNEF1BwRe364sj/DXhQ/k5FmivgoSdpM90b8Jc0mDzKMGo7QS0BVbOP/bTwBKNnDc9rNzaPA==}
742 | engines: {node: '>= 0.4'}
743 | dependencies:
744 | call-bind: 1.0.2
745 | es-to-primitive: 1.2.1
746 | function-bind: 1.1.1
747 | function.prototype.name: 1.1.5
748 | get-intrinsic: 1.1.3
749 | get-symbol-description: 1.0.0
750 | has: 1.0.3
751 | has-property-descriptors: 1.0.0
752 | has-symbols: 1.0.3
753 | internal-slot: 1.0.3
754 | is-callable: 1.2.7
755 | is-negative-zero: 2.0.2
756 | is-regex: 1.1.4
757 | is-shared-array-buffer: 1.0.2
758 | is-string: 1.0.7
759 | is-weakref: 1.0.2
760 | object-inspect: 1.12.2
761 | object-keys: 1.1.1
762 | object.assign: 4.1.4
763 | regexp.prototype.flags: 1.4.3
764 | safe-regex-test: 1.0.0
765 | string.prototype.trimend: 1.0.6
766 | string.prototype.trimstart: 1.0.6
767 | unbox-primitive: 1.0.2
768 | dev: false
769 |
770 | /es-shim-unscopables/1.0.0:
771 | resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==}
772 | dependencies:
773 | has: 1.0.3
774 | dev: false
775 |
776 | /es-to-primitive/1.2.1:
777 | resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==}
778 | engines: {node: '>= 0.4'}
779 | dependencies:
780 | is-callable: 1.2.7
781 | is-date-object: 1.0.5
782 | is-symbol: 1.0.4
783 | dev: false
784 |
785 | /escalade/3.1.1:
786 | resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
787 | engines: {node: '>=6'}
788 | dev: true
789 |
790 | /escape-string-regexp/4.0.0:
791 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
792 | engines: {node: '>=10'}
793 | dev: false
794 |
795 | /eslint-config-next/13.0.2_e3uo4sehh4zr4i6m57mkkxxv7y:
796 | resolution: {integrity: sha512-SrrHp+zBDYLjOFZdM5b9aW/pliK687Xxfa+qpDuL08Z04ReHhmz3L+maXaAqgrEVZHQximP7nh0El4yNDJW+CA==}
797 | peerDependencies:
798 | eslint: ^7.23.0 || ^8.0.0
799 | typescript: '>=3.3.1'
800 | peerDependenciesMeta:
801 | typescript:
802 | optional: true
803 | dependencies:
804 | '@next/eslint-plugin-next': 13.0.2
805 | '@rushstack/eslint-patch': 1.2.0
806 | '@typescript-eslint/parser': 5.45.0_e3uo4sehh4zr4i6m57mkkxxv7y
807 | eslint: 8.27.0
808 | eslint-import-resolver-node: 0.3.6
809 | eslint-import-resolver-typescript: 2.7.1_dcpv4nbdr5ks2h5677xdltrk6e
810 | eslint-plugin-import: 2.26.0_pabohknozxwhh6z6bkduik3on4
811 | eslint-plugin-jsx-a11y: 6.6.1_eslint@8.27.0
812 | eslint-plugin-react: 7.31.11_eslint@8.27.0
813 | eslint-plugin-react-hooks: 4.6.0_eslint@8.27.0
814 | typescript: 4.9.3
815 | transitivePeerDependencies:
816 | - eslint-import-resolver-webpack
817 | - supports-color
818 | dev: false
819 |
820 | /eslint-import-resolver-node/0.3.6:
821 | resolution: {integrity: sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==}
822 | dependencies:
823 | debug: 3.2.7
824 | resolve: 1.22.1
825 | transitivePeerDependencies:
826 | - supports-color
827 | dev: false
828 |
829 | /eslint-import-resolver-typescript/2.7.1_dcpv4nbdr5ks2h5677xdltrk6e:
830 | resolution: {integrity: sha512-00UbgGwV8bSgUv34igBDbTOtKhqoRMy9bFjNehT40bXg6585PNIct8HhXZ0SybqB9rWtXj9crcku8ndDn/gIqQ==}
831 | engines: {node: '>=4'}
832 | peerDependencies:
833 | eslint: '*'
834 | eslint-plugin-import: '*'
835 | dependencies:
836 | debug: 4.3.4
837 | eslint: 8.27.0
838 | eslint-plugin-import: 2.26.0_pabohknozxwhh6z6bkduik3on4
839 | glob: 7.2.3
840 | is-glob: 4.0.3
841 | resolve: 1.22.1
842 | tsconfig-paths: 3.14.1
843 | transitivePeerDependencies:
844 | - supports-color
845 | dev: false
846 |
847 | /eslint-module-utils/2.7.4_xv5mkqif6bqzyof6ehxqxo3smu:
848 | resolution: {integrity: sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==}
849 | engines: {node: '>=4'}
850 | peerDependencies:
851 | '@typescript-eslint/parser': '*'
852 | eslint: '*'
853 | eslint-import-resolver-node: '*'
854 | eslint-import-resolver-typescript: '*'
855 | eslint-import-resolver-webpack: '*'
856 | peerDependenciesMeta:
857 | '@typescript-eslint/parser':
858 | optional: true
859 | eslint:
860 | optional: true
861 | eslint-import-resolver-node:
862 | optional: true
863 | eslint-import-resolver-typescript:
864 | optional: true
865 | eslint-import-resolver-webpack:
866 | optional: true
867 | dependencies:
868 | '@typescript-eslint/parser': 5.45.0_e3uo4sehh4zr4i6m57mkkxxv7y
869 | debug: 3.2.7
870 | eslint: 8.27.0
871 | eslint-import-resolver-node: 0.3.6
872 | eslint-import-resolver-typescript: 2.7.1_dcpv4nbdr5ks2h5677xdltrk6e
873 | transitivePeerDependencies:
874 | - supports-color
875 | dev: false
876 |
877 | /eslint-plugin-import/2.26.0_pabohknozxwhh6z6bkduik3on4:
878 | resolution: {integrity: sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==}
879 | engines: {node: '>=4'}
880 | peerDependencies:
881 | '@typescript-eslint/parser': '*'
882 | eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8
883 | peerDependenciesMeta:
884 | '@typescript-eslint/parser':
885 | optional: true
886 | dependencies:
887 | '@typescript-eslint/parser': 5.45.0_e3uo4sehh4zr4i6m57mkkxxv7y
888 | array-includes: 3.1.6
889 | array.prototype.flat: 1.3.1
890 | debug: 2.6.9
891 | doctrine: 2.1.0
892 | eslint: 8.27.0
893 | eslint-import-resolver-node: 0.3.6
894 | eslint-module-utils: 2.7.4_xv5mkqif6bqzyof6ehxqxo3smu
895 | has: 1.0.3
896 | is-core-module: 2.11.0
897 | is-glob: 4.0.3
898 | minimatch: 3.1.2
899 | object.values: 1.1.6
900 | resolve: 1.22.1
901 | tsconfig-paths: 3.14.1
902 | transitivePeerDependencies:
903 | - eslint-import-resolver-typescript
904 | - eslint-import-resolver-webpack
905 | - supports-color
906 | dev: false
907 |
908 | /eslint-plugin-jsx-a11y/6.6.1_eslint@8.27.0:
909 | resolution: {integrity: sha512-sXgFVNHiWffBq23uiS/JaP6eVR622DqwB4yTzKvGZGcPq6/yZ3WmOZfuBks/vHWo9GaFOqC2ZK4i6+C35knx7Q==}
910 | engines: {node: '>=4.0'}
911 | peerDependencies:
912 | eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
913 | dependencies:
914 | '@babel/runtime': 7.20.6
915 | aria-query: 4.2.2
916 | array-includes: 3.1.6
917 | ast-types-flow: 0.0.7
918 | axe-core: 4.5.2
919 | axobject-query: 2.2.0
920 | damerau-levenshtein: 1.0.8
921 | emoji-regex: 9.2.2
922 | eslint: 8.27.0
923 | has: 1.0.3
924 | jsx-ast-utils: 3.3.3
925 | language-tags: 1.0.6
926 | minimatch: 3.1.2
927 | semver: 6.3.0
928 | dev: false
929 |
930 | /eslint-plugin-react-hooks/4.6.0_eslint@8.27.0:
931 | resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==}
932 | engines: {node: '>=10'}
933 | peerDependencies:
934 | eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0
935 | dependencies:
936 | eslint: 8.27.0
937 | dev: false
938 |
939 | /eslint-plugin-react/7.31.11_eslint@8.27.0:
940 | resolution: {integrity: sha512-TTvq5JsT5v56wPa9OYHzsrOlHzKZKjV+aLgS+55NJP/cuzdiQPC7PfYoUjMoxlffKtvijpk7vA/jmuqRb9nohw==}
941 | engines: {node: '>=4'}
942 | peerDependencies:
943 | eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
944 | dependencies:
945 | array-includes: 3.1.6
946 | array.prototype.flatmap: 1.3.1
947 | array.prototype.tosorted: 1.1.1
948 | doctrine: 2.1.0
949 | eslint: 8.27.0
950 | estraverse: 5.3.0
951 | jsx-ast-utils: 3.3.3
952 | minimatch: 3.1.2
953 | object.entries: 1.1.6
954 | object.fromentries: 2.0.6
955 | object.hasown: 1.1.2
956 | object.values: 1.1.6
957 | prop-types: 15.8.1
958 | resolve: 2.0.0-next.4
959 | semver: 6.3.0
960 | string.prototype.matchall: 4.0.8
961 | dev: false
962 |
963 | /eslint-scope/7.1.1:
964 | resolution: {integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==}
965 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
966 | dependencies:
967 | esrecurse: 4.3.0
968 | estraverse: 5.3.0
969 | dev: false
970 |
971 | /eslint-utils/3.0.0_eslint@8.27.0:
972 | resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==}
973 | engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0}
974 | peerDependencies:
975 | eslint: '>=5'
976 | dependencies:
977 | eslint: 8.27.0
978 | eslint-visitor-keys: 2.1.0
979 | dev: false
980 |
981 | /eslint-visitor-keys/2.1.0:
982 | resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==}
983 | engines: {node: '>=10'}
984 | dev: false
985 |
986 | /eslint-visitor-keys/3.3.0:
987 | resolution: {integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==}
988 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
989 | dev: false
990 |
991 | /eslint/8.27.0:
992 | resolution: {integrity: sha512-0y1bfG2ho7mty+SiILVf9PfuRA49ek4Nc60Wmmu62QlobNR+CeXa4xXIJgcuwSQgZiWaPH+5BDsctpIW0PR/wQ==}
993 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
994 | hasBin: true
995 | dependencies:
996 | '@eslint/eslintrc': 1.3.3
997 | '@humanwhocodes/config-array': 0.11.7
998 | '@humanwhocodes/module-importer': 1.0.1
999 | '@nodelib/fs.walk': 1.2.8
1000 | ajv: 6.12.6
1001 | chalk: 4.1.2
1002 | cross-spawn: 7.0.3
1003 | debug: 4.3.4
1004 | doctrine: 3.0.0
1005 | escape-string-regexp: 4.0.0
1006 | eslint-scope: 7.1.1
1007 | eslint-utils: 3.0.0_eslint@8.27.0
1008 | eslint-visitor-keys: 3.3.0
1009 | espree: 9.4.1
1010 | esquery: 1.4.0
1011 | esutils: 2.0.3
1012 | fast-deep-equal: 3.1.3
1013 | file-entry-cache: 6.0.1
1014 | find-up: 5.0.0
1015 | glob-parent: 6.0.2
1016 | globals: 13.18.0
1017 | grapheme-splitter: 1.0.4
1018 | ignore: 5.2.1
1019 | import-fresh: 3.3.0
1020 | imurmurhash: 0.1.4
1021 | is-glob: 4.0.3
1022 | is-path-inside: 3.0.3
1023 | js-sdsl: 4.2.0
1024 | js-yaml: 4.1.0
1025 | json-stable-stringify-without-jsonify: 1.0.1
1026 | levn: 0.4.1
1027 | lodash.merge: 4.6.2
1028 | minimatch: 3.1.2
1029 | natural-compare: 1.4.0
1030 | optionator: 0.9.1
1031 | regexpp: 3.2.0
1032 | strip-ansi: 6.0.1
1033 | strip-json-comments: 3.1.1
1034 | text-table: 0.2.0
1035 | transitivePeerDependencies:
1036 | - supports-color
1037 | dev: false
1038 |
1039 | /espree/9.4.1:
1040 | resolution: {integrity: sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==}
1041 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1042 | dependencies:
1043 | acorn: 8.8.1
1044 | acorn-jsx: 5.3.2_acorn@8.8.1
1045 | eslint-visitor-keys: 3.3.0
1046 | dev: false
1047 |
1048 | /esquery/1.4.0:
1049 | resolution: {integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==}
1050 | engines: {node: '>=0.10'}
1051 | dependencies:
1052 | estraverse: 5.3.0
1053 | dev: false
1054 |
1055 | /esrecurse/4.3.0:
1056 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
1057 | engines: {node: '>=4.0'}
1058 | dependencies:
1059 | estraverse: 5.3.0
1060 | dev: false
1061 |
1062 | /estraverse/5.3.0:
1063 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
1064 | engines: {node: '>=4.0'}
1065 | dev: false
1066 |
1067 | /esutils/2.0.3:
1068 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
1069 | engines: {node: '>=0.10.0'}
1070 | dev: false
1071 |
1072 | /fast-deep-equal/3.1.3:
1073 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
1074 | dev: false
1075 |
1076 | /fast-glob/3.2.12:
1077 | resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==}
1078 | engines: {node: '>=8.6.0'}
1079 | dependencies:
1080 | '@nodelib/fs.stat': 2.0.5
1081 | '@nodelib/fs.walk': 1.2.8
1082 | glob-parent: 5.1.2
1083 | merge2: 1.4.1
1084 | micromatch: 4.0.5
1085 |
1086 | /fast-json-stable-stringify/2.1.0:
1087 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
1088 | dev: false
1089 |
1090 | /fast-levenshtein/2.0.6:
1091 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
1092 | dev: false
1093 |
1094 | /fastq/1.13.0:
1095 | resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==}
1096 | dependencies:
1097 | reusify: 1.0.4
1098 |
1099 | /file-entry-cache/6.0.1:
1100 | resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
1101 | engines: {node: ^10.12.0 || >=12.0.0}
1102 | dependencies:
1103 | flat-cache: 3.0.4
1104 | dev: false
1105 |
1106 | /fill-range/7.0.1:
1107 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
1108 | engines: {node: '>=8'}
1109 | dependencies:
1110 | to-regex-range: 5.0.1
1111 |
1112 | /find-up/5.0.0:
1113 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
1114 | engines: {node: '>=10'}
1115 | dependencies:
1116 | locate-path: 6.0.0
1117 | path-exists: 4.0.0
1118 | dev: false
1119 |
1120 | /flat-cache/3.0.4:
1121 | resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==}
1122 | engines: {node: ^10.12.0 || >=12.0.0}
1123 | dependencies:
1124 | flatted: 3.2.7
1125 | rimraf: 3.0.2
1126 | dev: false
1127 |
1128 | /flatted/3.2.7:
1129 | resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==}
1130 | dev: false
1131 |
1132 | /fraction.js/4.2.0:
1133 | resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==}
1134 | dev: true
1135 |
1136 | /fs.realpath/1.0.0:
1137 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
1138 | dev: false
1139 |
1140 | /fsevents/2.3.2:
1141 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
1142 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
1143 | os: [darwin]
1144 | requiresBuild: true
1145 | dev: true
1146 | optional: true
1147 |
1148 | /function-bind/1.1.1:
1149 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
1150 |
1151 | /function.prototype.name/1.1.5:
1152 | resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==}
1153 | engines: {node: '>= 0.4'}
1154 | dependencies:
1155 | call-bind: 1.0.2
1156 | define-properties: 1.1.4
1157 | es-abstract: 1.20.4
1158 | functions-have-names: 1.2.3
1159 | dev: false
1160 |
1161 | /functions-have-names/1.2.3:
1162 | resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
1163 | dev: false
1164 |
1165 | /get-intrinsic/1.1.3:
1166 | resolution: {integrity: sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==}
1167 | dependencies:
1168 | function-bind: 1.1.1
1169 | has: 1.0.3
1170 | has-symbols: 1.0.3
1171 | dev: false
1172 |
1173 | /get-symbol-description/1.0.0:
1174 | resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==}
1175 | engines: {node: '>= 0.4'}
1176 | dependencies:
1177 | call-bind: 1.0.2
1178 | get-intrinsic: 1.1.3
1179 | dev: false
1180 |
1181 | /glob-parent/5.1.2:
1182 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
1183 | engines: {node: '>= 6'}
1184 | dependencies:
1185 | is-glob: 4.0.3
1186 |
1187 | /glob-parent/6.0.2:
1188 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
1189 | engines: {node: '>=10.13.0'}
1190 | dependencies:
1191 | is-glob: 4.0.3
1192 |
1193 | /glob/7.1.7:
1194 | resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==}
1195 | dependencies:
1196 | fs.realpath: 1.0.0
1197 | inflight: 1.0.6
1198 | inherits: 2.0.4
1199 | minimatch: 3.1.2
1200 | once: 1.4.0
1201 | path-is-absolute: 1.0.1
1202 | dev: false
1203 |
1204 | /glob/7.2.3:
1205 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
1206 | dependencies:
1207 | fs.realpath: 1.0.0
1208 | inflight: 1.0.6
1209 | inherits: 2.0.4
1210 | minimatch: 3.1.2
1211 | once: 1.4.0
1212 | path-is-absolute: 1.0.1
1213 | dev: false
1214 |
1215 | /globals/13.18.0:
1216 | resolution: {integrity: sha512-/mR4KI8Ps2spmoc0Ulu9L7agOF0du1CZNQ3dke8yItYlyKNmGrkONemBbd6V8UTc1Wgcqn21t3WYB7dbRmh6/A==}
1217 | engines: {node: '>=8'}
1218 | dependencies:
1219 | type-fest: 0.20.2
1220 | dev: false
1221 |
1222 | /globby/11.1.0:
1223 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
1224 | engines: {node: '>=10'}
1225 | dependencies:
1226 | array-union: 2.1.0
1227 | dir-glob: 3.0.1
1228 | fast-glob: 3.2.12
1229 | ignore: 5.2.1
1230 | merge2: 1.4.1
1231 | slash: 3.0.0
1232 | dev: false
1233 |
1234 | /grapheme-splitter/1.0.4:
1235 | resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==}
1236 | dev: false
1237 |
1238 | /has-bigints/1.0.2:
1239 | resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==}
1240 | dev: false
1241 |
1242 | /has-flag/4.0.0:
1243 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
1244 | engines: {node: '>=8'}
1245 | dev: false
1246 |
1247 | /has-property-descriptors/1.0.0:
1248 | resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==}
1249 | dependencies:
1250 | get-intrinsic: 1.1.3
1251 | dev: false
1252 |
1253 | /has-symbols/1.0.3:
1254 | resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
1255 | engines: {node: '>= 0.4'}
1256 | dev: false
1257 |
1258 | /has-tostringtag/1.0.0:
1259 | resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==}
1260 | engines: {node: '>= 0.4'}
1261 | dependencies:
1262 | has-symbols: 1.0.3
1263 | dev: false
1264 |
1265 | /has/1.0.3:
1266 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
1267 | engines: {node: '>= 0.4.0'}
1268 | dependencies:
1269 | function-bind: 1.1.1
1270 |
1271 | /ignore/5.2.1:
1272 | resolution: {integrity: sha512-d2qQLzTJ9WxQftPAuEQpSPmKqzxePjzVbpAVv62AQ64NTL+wR4JkrVqR/LqFsFEUsHDAiId52mJteHDFuDkElA==}
1273 | engines: {node: '>= 4'}
1274 | dev: false
1275 |
1276 | /import-fresh/3.3.0:
1277 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
1278 | engines: {node: '>=6'}
1279 | dependencies:
1280 | parent-module: 1.0.1
1281 | resolve-from: 4.0.0
1282 | dev: false
1283 |
1284 | /imurmurhash/0.1.4:
1285 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
1286 | engines: {node: '>=0.8.19'}
1287 | dev: false
1288 |
1289 | /inflight/1.0.6:
1290 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
1291 | dependencies:
1292 | once: 1.4.0
1293 | wrappy: 1.0.2
1294 | dev: false
1295 |
1296 | /inherits/2.0.4:
1297 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
1298 | dev: false
1299 |
1300 | /internal-slot/1.0.3:
1301 | resolution: {integrity: sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==}
1302 | engines: {node: '>= 0.4'}
1303 | dependencies:
1304 | get-intrinsic: 1.1.3
1305 | has: 1.0.3
1306 | side-channel: 1.0.4
1307 | dev: false
1308 |
1309 | /is-bigint/1.0.4:
1310 | resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==}
1311 | dependencies:
1312 | has-bigints: 1.0.2
1313 | dev: false
1314 |
1315 | /is-binary-path/2.1.0:
1316 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
1317 | engines: {node: '>=8'}
1318 | dependencies:
1319 | binary-extensions: 2.2.0
1320 | dev: true
1321 |
1322 | /is-boolean-object/1.1.2:
1323 | resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==}
1324 | engines: {node: '>= 0.4'}
1325 | dependencies:
1326 | call-bind: 1.0.2
1327 | has-tostringtag: 1.0.0
1328 | dev: false
1329 |
1330 | /is-callable/1.2.7:
1331 | resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
1332 | engines: {node: '>= 0.4'}
1333 | dev: false
1334 |
1335 | /is-core-module/2.11.0:
1336 | resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==}
1337 | dependencies:
1338 | has: 1.0.3
1339 |
1340 | /is-date-object/1.0.5:
1341 | resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
1342 | engines: {node: '>= 0.4'}
1343 | dependencies:
1344 | has-tostringtag: 1.0.0
1345 | dev: false
1346 |
1347 | /is-extglob/2.1.1:
1348 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
1349 | engines: {node: '>=0.10.0'}
1350 |
1351 | /is-glob/4.0.3:
1352 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
1353 | engines: {node: '>=0.10.0'}
1354 | dependencies:
1355 | is-extglob: 2.1.1
1356 |
1357 | /is-negative-zero/2.0.2:
1358 | resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==}
1359 | engines: {node: '>= 0.4'}
1360 | dev: false
1361 |
1362 | /is-number-object/1.0.7:
1363 | resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==}
1364 | engines: {node: '>= 0.4'}
1365 | dependencies:
1366 | has-tostringtag: 1.0.0
1367 | dev: false
1368 |
1369 | /is-number/7.0.0:
1370 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
1371 | engines: {node: '>=0.12.0'}
1372 |
1373 | /is-path-inside/3.0.3:
1374 | resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
1375 | engines: {node: '>=8'}
1376 | dev: false
1377 |
1378 | /is-regex/1.1.4:
1379 | resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
1380 | engines: {node: '>= 0.4'}
1381 | dependencies:
1382 | call-bind: 1.0.2
1383 | has-tostringtag: 1.0.0
1384 | dev: false
1385 |
1386 | /is-shared-array-buffer/1.0.2:
1387 | resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==}
1388 | dependencies:
1389 | call-bind: 1.0.2
1390 | dev: false
1391 |
1392 | /is-string/1.0.7:
1393 | resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==}
1394 | engines: {node: '>= 0.4'}
1395 | dependencies:
1396 | has-tostringtag: 1.0.0
1397 | dev: false
1398 |
1399 | /is-symbol/1.0.4:
1400 | resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==}
1401 | engines: {node: '>= 0.4'}
1402 | dependencies:
1403 | has-symbols: 1.0.3
1404 | dev: false
1405 |
1406 | /is-weakref/1.0.2:
1407 | resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==}
1408 | dependencies:
1409 | call-bind: 1.0.2
1410 | dev: false
1411 |
1412 | /isexe/2.0.0:
1413 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
1414 | dev: false
1415 |
1416 | /jose/4.11.1:
1417 | resolution: {integrity: sha512-YRv4Tk/Wlug8qicwqFNFVEZSdbROCHRAC6qu/i0dyNKr5JQdoa2pIGoS04lLO/jXQX7Z9omoNewYIVIxqZBd9Q==}
1418 | dev: false
1419 |
1420 | /js-sdsl/4.2.0:
1421 | resolution: {integrity: sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ==}
1422 | dev: false
1423 |
1424 | /js-tokens/4.0.0:
1425 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
1426 | dev: false
1427 |
1428 | /js-yaml/4.1.0:
1429 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
1430 | hasBin: true
1431 | dependencies:
1432 | argparse: 2.0.1
1433 | dev: false
1434 |
1435 | /json-schema-traverse/0.4.1:
1436 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
1437 | dev: false
1438 |
1439 | /json-stable-stringify-without-jsonify/1.0.1:
1440 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
1441 | dev: false
1442 |
1443 | /json5/1.0.1:
1444 | resolution: {integrity: sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==}
1445 | hasBin: true
1446 | dependencies:
1447 | minimist: 1.2.7
1448 | dev: false
1449 |
1450 | /jsx-ast-utils/3.3.3:
1451 | resolution: {integrity: sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==}
1452 | engines: {node: '>=4.0'}
1453 | dependencies:
1454 | array-includes: 3.1.6
1455 | object.assign: 4.1.4
1456 | dev: false
1457 |
1458 | /language-subtag-registry/0.3.22:
1459 | resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==}
1460 | dev: false
1461 |
1462 | /language-tags/1.0.6:
1463 | resolution: {integrity: sha512-HNkaCgM8wZgE/BZACeotAAgpL9FUjEnhgF0FVQMIgH//zqTPreLYMb3rWYkYAqPoF75Jwuycp1da7uz66cfFQg==}
1464 | dependencies:
1465 | language-subtag-registry: 0.3.22
1466 | dev: false
1467 |
1468 | /levn/0.4.1:
1469 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
1470 | engines: {node: '>= 0.8.0'}
1471 | dependencies:
1472 | prelude-ls: 1.2.1
1473 | type-check: 0.4.0
1474 | dev: false
1475 |
1476 | /lilconfig/2.0.6:
1477 | resolution: {integrity: sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==}
1478 | engines: {node: '>=10'}
1479 | dev: true
1480 |
1481 | /locate-path/6.0.0:
1482 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
1483 | engines: {node: '>=10'}
1484 | dependencies:
1485 | p-locate: 5.0.0
1486 | dev: false
1487 |
1488 | /lodash.merge/4.6.2:
1489 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
1490 | dev: false
1491 |
1492 | /loose-envify/1.4.0:
1493 | resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
1494 | hasBin: true
1495 | dependencies:
1496 | js-tokens: 4.0.0
1497 | dev: false
1498 |
1499 | /lru-cache/6.0.0:
1500 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
1501 | engines: {node: '>=10'}
1502 | dependencies:
1503 | yallist: 4.0.0
1504 | dev: false
1505 |
1506 | /merge2/1.4.1:
1507 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
1508 | engines: {node: '>= 8'}
1509 |
1510 | /micromatch/4.0.5:
1511 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
1512 | engines: {node: '>=8.6'}
1513 | dependencies:
1514 | braces: 3.0.2
1515 | picomatch: 2.3.1
1516 |
1517 | /minimatch/3.1.2:
1518 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
1519 | dependencies:
1520 | brace-expansion: 1.1.11
1521 | dev: false
1522 |
1523 | /minimist/1.2.7:
1524 | resolution: {integrity: sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==}
1525 |
1526 | /ms/2.0.0:
1527 | resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
1528 | dev: false
1529 |
1530 | /ms/2.1.2:
1531 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
1532 | dev: false
1533 |
1534 | /ms/2.1.3:
1535 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
1536 | dev: false
1537 |
1538 | /nanoid/3.3.4:
1539 | resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==}
1540 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
1541 | hasBin: true
1542 |
1543 | /natural-compare/1.4.0:
1544 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
1545 | dev: false
1546 |
1547 | /next-auth/4.17.0_6jx7hpii6hgsrmhxgqrmo3277u:
1548 | resolution: {integrity: sha512-aN2tdnjS0MDeUpB2tBDOaWnegkgeMWrsccujbXRGMJ607b+EwRcy63MFGSr0OAboDJEe0902piXQkt94GqF8Qw==}
1549 | engines: {node: ^12.19.0 || ^14.15.0 || ^16.13.0 || ^18.12.0}
1550 | peerDependencies:
1551 | next: ^12.2.5 || ^13
1552 | nodemailer: ^6.6.5
1553 | react: ^17.0.2 || ^18
1554 | react-dom: ^17.0.2 || ^18
1555 | peerDependenciesMeta:
1556 | nodemailer:
1557 | optional: true
1558 | dependencies:
1559 | '@babel/runtime': 7.20.6
1560 | '@panva/hkdf': 1.0.2
1561 | cookie: 0.5.0
1562 | jose: 4.11.1
1563 | next: 13.0.6_biqbaboplfbrettd7655fr4n2y
1564 | oauth: 0.9.15
1565 | openid-client: 5.3.1
1566 | preact: 10.11.3
1567 | preact-render-to-string: 5.2.6_preact@10.11.3
1568 | react: 18.2.0
1569 | react-dom: 18.2.0_react@18.2.0
1570 | uuid: 8.3.2
1571 | dev: false
1572 |
1573 | /next/13.0.6_biqbaboplfbrettd7655fr4n2y:
1574 | resolution: {integrity: sha512-COvigvms2LRt1rrzfBQcMQ2GZd86Mvk1z+LOLY5pniFtL4VrTmhZ9salrbKfSiXbhsD01TrDdD68ec3ABDyscA==}
1575 | engines: {node: '>=14.6.0'}
1576 | hasBin: true
1577 | peerDependencies:
1578 | fibers: '>= 3.1.0'
1579 | node-sass: ^6.0.0 || ^7.0.0
1580 | react: ^18.2.0
1581 | react-dom: ^18.2.0
1582 | sass: ^1.3.0
1583 | peerDependenciesMeta:
1584 | fibers:
1585 | optional: true
1586 | node-sass:
1587 | optional: true
1588 | sass:
1589 | optional: true
1590 | dependencies:
1591 | '@next/env': 13.0.6
1592 | '@swc/helpers': 0.4.14
1593 | caniuse-lite: 1.0.30001435
1594 | postcss: 8.4.14
1595 | react: 18.2.0
1596 | react-dom: 18.2.0_react@18.2.0
1597 | styled-jsx: 5.1.0_react@18.2.0
1598 | optionalDependencies:
1599 | '@next/swc-android-arm-eabi': 13.0.6
1600 | '@next/swc-android-arm64': 13.0.6
1601 | '@next/swc-darwin-arm64': 13.0.6
1602 | '@next/swc-darwin-x64': 13.0.6
1603 | '@next/swc-freebsd-x64': 13.0.6
1604 | '@next/swc-linux-arm-gnueabihf': 13.0.6
1605 | '@next/swc-linux-arm64-gnu': 13.0.6
1606 | '@next/swc-linux-arm64-musl': 13.0.6
1607 | '@next/swc-linux-x64-gnu': 13.0.6
1608 | '@next/swc-linux-x64-musl': 13.0.6
1609 | '@next/swc-win32-arm64-msvc': 13.0.6
1610 | '@next/swc-win32-ia32-msvc': 13.0.6
1611 | '@next/swc-win32-x64-msvc': 13.0.6
1612 | transitivePeerDependencies:
1613 | - '@babel/core'
1614 | - babel-plugin-macros
1615 | dev: false
1616 |
1617 | /node-releases/2.0.6:
1618 | resolution: {integrity: sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==}
1619 | dev: true
1620 |
1621 | /normalize-path/3.0.0:
1622 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
1623 | engines: {node: '>=0.10.0'}
1624 | dev: true
1625 |
1626 | /normalize-range/0.1.2:
1627 | resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
1628 | engines: {node: '>=0.10.0'}
1629 | dev: true
1630 |
1631 | /oauth/0.9.15:
1632 | resolution: {integrity: sha512-a5ERWK1kh38ExDEfoO6qUHJb32rd7aYmPHuyCu3Fta/cnICvYmgd2uhuKXvPD+PXB+gCEYYEaQdIRAjCOwAKNA==}
1633 | dev: false
1634 |
1635 | /object-assign/4.1.1:
1636 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
1637 | engines: {node: '>=0.10.0'}
1638 | dev: false
1639 |
1640 | /object-hash/2.2.0:
1641 | resolution: {integrity: sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==}
1642 | engines: {node: '>= 6'}
1643 | dev: false
1644 |
1645 | /object-hash/3.0.0:
1646 | resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
1647 | engines: {node: '>= 6'}
1648 | dev: true
1649 |
1650 | /object-inspect/1.12.2:
1651 | resolution: {integrity: sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==}
1652 | dev: false
1653 |
1654 | /object-keys/1.1.1:
1655 | resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
1656 | engines: {node: '>= 0.4'}
1657 | dev: false
1658 |
1659 | /object.assign/4.1.4:
1660 | resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==}
1661 | engines: {node: '>= 0.4'}
1662 | dependencies:
1663 | call-bind: 1.0.2
1664 | define-properties: 1.1.4
1665 | has-symbols: 1.0.3
1666 | object-keys: 1.1.1
1667 | dev: false
1668 |
1669 | /object.entries/1.1.6:
1670 | resolution: {integrity: sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==}
1671 | engines: {node: '>= 0.4'}
1672 | dependencies:
1673 | call-bind: 1.0.2
1674 | define-properties: 1.1.4
1675 | es-abstract: 1.20.4
1676 | dev: false
1677 |
1678 | /object.fromentries/2.0.6:
1679 | resolution: {integrity: sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==}
1680 | engines: {node: '>= 0.4'}
1681 | dependencies:
1682 | call-bind: 1.0.2
1683 | define-properties: 1.1.4
1684 | es-abstract: 1.20.4
1685 | dev: false
1686 |
1687 | /object.hasown/1.1.2:
1688 | resolution: {integrity: sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==}
1689 | dependencies:
1690 | define-properties: 1.1.4
1691 | es-abstract: 1.20.4
1692 | dev: false
1693 |
1694 | /object.values/1.1.6:
1695 | resolution: {integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==}
1696 | engines: {node: '>= 0.4'}
1697 | dependencies:
1698 | call-bind: 1.0.2
1699 | define-properties: 1.1.4
1700 | es-abstract: 1.20.4
1701 | dev: false
1702 |
1703 | /oidc-token-hash/5.0.1:
1704 | resolution: {integrity: sha512-EvoOtz6FIEBzE+9q253HsLCVRiK/0doEJ2HCvvqMQb3dHZrP3WlJKYtJ55CRTw4jmYomzH4wkPuCj/I3ZvpKxQ==}
1705 | engines: {node: ^10.13.0 || >=12.0.0}
1706 | dev: false
1707 |
1708 | /once/1.4.0:
1709 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
1710 | dependencies:
1711 | wrappy: 1.0.2
1712 | dev: false
1713 |
1714 | /openid-client/5.3.1:
1715 | resolution: {integrity: sha512-RLfehQiHch9N6tRWNx68cicf3b1WR0x74bJWHRc25uYIbSRwjxYcTFaRnzbbpls5jroLAaB/bFIodTgA5LJMvw==}
1716 | dependencies:
1717 | jose: 4.11.1
1718 | lru-cache: 6.0.0
1719 | object-hash: 2.2.0
1720 | oidc-token-hash: 5.0.1
1721 | dev: false
1722 |
1723 | /optionator/0.9.1:
1724 | resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==}
1725 | engines: {node: '>= 0.8.0'}
1726 | dependencies:
1727 | deep-is: 0.1.4
1728 | fast-levenshtein: 2.0.6
1729 | levn: 0.4.1
1730 | prelude-ls: 1.2.1
1731 | type-check: 0.4.0
1732 | word-wrap: 1.2.3
1733 | dev: false
1734 |
1735 | /p-limit/3.1.0:
1736 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
1737 | engines: {node: '>=10'}
1738 | dependencies:
1739 | yocto-queue: 0.1.0
1740 | dev: false
1741 |
1742 | /p-locate/5.0.0:
1743 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
1744 | engines: {node: '>=10'}
1745 | dependencies:
1746 | p-limit: 3.1.0
1747 | dev: false
1748 |
1749 | /parent-module/1.0.1:
1750 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
1751 | engines: {node: '>=6'}
1752 | dependencies:
1753 | callsites: 3.1.0
1754 | dev: false
1755 |
1756 | /path-exists/4.0.0:
1757 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
1758 | engines: {node: '>=8'}
1759 | dev: false
1760 |
1761 | /path-is-absolute/1.0.1:
1762 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
1763 | engines: {node: '>=0.10.0'}
1764 | dev: false
1765 |
1766 | /path-key/3.1.1:
1767 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
1768 | engines: {node: '>=8'}
1769 | dev: false
1770 |
1771 | /path-parse/1.0.7:
1772 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
1773 |
1774 | /path-type/4.0.0:
1775 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
1776 | engines: {node: '>=8'}
1777 | dev: false
1778 |
1779 | /picocolors/1.0.0:
1780 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
1781 |
1782 | /picomatch/2.3.1:
1783 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
1784 | engines: {node: '>=8.6'}
1785 |
1786 | /pify/2.3.0:
1787 | resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
1788 | engines: {node: '>=0.10.0'}
1789 | dev: true
1790 |
1791 | /postcss-import/14.1.0_postcss@8.4.19:
1792 | resolution: {integrity: sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==}
1793 | engines: {node: '>=10.0.0'}
1794 | peerDependencies:
1795 | postcss: ^8.0.0
1796 | dependencies:
1797 | postcss: 8.4.19
1798 | postcss-value-parser: 4.2.0
1799 | read-cache: 1.0.0
1800 | resolve: 1.22.1
1801 | dev: true
1802 |
1803 | /postcss-js/4.0.0_postcss@8.4.19:
1804 | resolution: {integrity: sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==}
1805 | engines: {node: ^12 || ^14 || >= 16}
1806 | peerDependencies:
1807 | postcss: ^8.3.3
1808 | dependencies:
1809 | camelcase-css: 2.0.1
1810 | postcss: 8.4.19
1811 | dev: true
1812 |
1813 | /postcss-load-config/3.1.4_postcss@8.4.19:
1814 | resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==}
1815 | engines: {node: '>= 10'}
1816 | peerDependencies:
1817 | postcss: '>=8.0.9'
1818 | ts-node: '>=9.0.0'
1819 | peerDependenciesMeta:
1820 | postcss:
1821 | optional: true
1822 | ts-node:
1823 | optional: true
1824 | dependencies:
1825 | lilconfig: 2.0.6
1826 | postcss: 8.4.19
1827 | yaml: 1.10.2
1828 | dev: true
1829 |
1830 | /postcss-nested/6.0.0_postcss@8.4.19:
1831 | resolution: {integrity: sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==}
1832 | engines: {node: '>=12.0'}
1833 | peerDependencies:
1834 | postcss: ^8.2.14
1835 | dependencies:
1836 | postcss: 8.4.19
1837 | postcss-selector-parser: 6.0.11
1838 | dev: true
1839 |
1840 | /postcss-selector-parser/6.0.11:
1841 | resolution: {integrity: sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==}
1842 | engines: {node: '>=4'}
1843 | dependencies:
1844 | cssesc: 3.0.0
1845 | util-deprecate: 1.0.2
1846 | dev: true
1847 |
1848 | /postcss-value-parser/4.2.0:
1849 | resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
1850 | dev: true
1851 |
1852 | /postcss/8.4.14:
1853 | resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==}
1854 | engines: {node: ^10 || ^12 || >=14}
1855 | dependencies:
1856 | nanoid: 3.3.4
1857 | picocolors: 1.0.0
1858 | source-map-js: 1.0.2
1859 | dev: false
1860 |
1861 | /postcss/8.4.19:
1862 | resolution: {integrity: sha512-h+pbPsyhlYj6N2ozBmHhHrs9DzGmbaarbLvWipMRO7RLS+v4onj26MPFXA5OBYFxyqYhUJK456SwDcY9H2/zsA==}
1863 | engines: {node: ^10 || ^12 || >=14}
1864 | dependencies:
1865 | nanoid: 3.3.4
1866 | picocolors: 1.0.0
1867 | source-map-js: 1.0.2
1868 | dev: true
1869 |
1870 | /preact-render-to-string/5.2.6_preact@10.11.3:
1871 | resolution: {integrity: sha512-JyhErpYOvBV1hEPwIxc/fHWXPfnEGdRKxc8gFdAZ7XV4tlzyzG847XAyEZqoDnynP88akM4eaHcSOzNcLWFguw==}
1872 | peerDependencies:
1873 | preact: '>=10'
1874 | dependencies:
1875 | preact: 10.11.3
1876 | pretty-format: 3.8.0
1877 | dev: false
1878 |
1879 | /preact/10.11.3:
1880 | resolution: {integrity: sha512-eY93IVpod/zG3uMF22Unl8h9KkrcKIRs2EGar8hwLZZDU1lkjph303V9HZBwufh2s736U6VXuhD109LYqPoffg==}
1881 | dev: false
1882 |
1883 | /prelude-ls/1.2.1:
1884 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
1885 | engines: {node: '>= 0.8.0'}
1886 | dev: false
1887 |
1888 | /prettier-plugin-tailwindcss/0.1.13_prettier@2.8.0:
1889 | resolution: {integrity: sha512-/EKQURUrxLu66CMUg4+1LwGdxnz8of7IDvrSLqEtDqhLH61SAlNNUSr90UTvZaemujgl3OH/VHg+fyGltrNixw==}
1890 | engines: {node: '>=12.17.0'}
1891 | peerDependencies:
1892 | prettier: '>=2.2.0'
1893 | dependencies:
1894 | prettier: 2.8.0
1895 | dev: true
1896 |
1897 | /prettier/2.8.0:
1898 | resolution: {integrity: sha512-9Lmg8hTFZKG0Asr/kW9Bp8tJjRVluO8EJQVfY2T7FMw9T5jy4I/Uvx0Rca/XWf50QQ1/SS48+6IJWnrb+2yemA==}
1899 | engines: {node: '>=10.13.0'}
1900 | hasBin: true
1901 | dev: true
1902 |
1903 | /pretty-format/3.8.0:
1904 | resolution: {integrity: sha512-WuxUnVtlWL1OfZFQFuqvnvs6MiAGk9UNsBostyBOB0Is9wb5uRESevA6rnl/rkksXaGX3GzZhPup5d6Vp1nFew==}
1905 | dev: false
1906 |
1907 | /prisma/4.10.1:
1908 | resolution: {integrity: sha512-0jDxgg+DruB1kHVNlcspXQB9au62IFfVg9drkhzXudszHNUAQn0lVuu+T8np0uC2z1nKD5S3qPeCyR8u5YFLnA==}
1909 | engines: {node: '>=14.17'}
1910 | hasBin: true
1911 | requiresBuild: true
1912 | dependencies:
1913 | '@prisma/engines': 4.10.1
1914 |
1915 | /prop-types/15.8.1:
1916 | resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
1917 | dependencies:
1918 | loose-envify: 1.4.0
1919 | object-assign: 4.1.1
1920 | react-is: 16.13.1
1921 | dev: false
1922 |
1923 | /punycode/2.1.1:
1924 | resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==}
1925 | engines: {node: '>=6'}
1926 | dev: false
1927 |
1928 | /queue-microtask/1.2.3:
1929 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
1930 |
1931 | /quick-lru/5.1.1:
1932 | resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==}
1933 | engines: {node: '>=10'}
1934 | dev: true
1935 |
1936 | /react-dom/18.2.0_react@18.2.0:
1937 | resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==}
1938 | peerDependencies:
1939 | react: ^18.2.0
1940 | dependencies:
1941 | loose-envify: 1.4.0
1942 | react: 18.2.0
1943 | scheduler: 0.23.0
1944 | dev: false
1945 |
1946 | /react-is/16.13.1:
1947 | resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
1948 | dev: false
1949 |
1950 | /react/18.2.0:
1951 | resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==}
1952 | engines: {node: '>=0.10.0'}
1953 | dependencies:
1954 | loose-envify: 1.4.0
1955 | dev: false
1956 |
1957 | /read-cache/1.0.0:
1958 | resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
1959 | dependencies:
1960 | pify: 2.3.0
1961 | dev: true
1962 |
1963 | /readdirp/3.6.0:
1964 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
1965 | engines: {node: '>=8.10.0'}
1966 | dependencies:
1967 | picomatch: 2.3.1
1968 | dev: true
1969 |
1970 | /regenerator-runtime/0.13.11:
1971 | resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==}
1972 | dev: false
1973 |
1974 | /regexp.prototype.flags/1.4.3:
1975 | resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==}
1976 | engines: {node: '>= 0.4'}
1977 | dependencies:
1978 | call-bind: 1.0.2
1979 | define-properties: 1.1.4
1980 | functions-have-names: 1.2.3
1981 | dev: false
1982 |
1983 | /regexpp/3.2.0:
1984 | resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==}
1985 | engines: {node: '>=8'}
1986 | dev: false
1987 |
1988 | /resolve-from/4.0.0:
1989 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
1990 | engines: {node: '>=4'}
1991 | dev: false
1992 |
1993 | /resolve/1.22.1:
1994 | resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==}
1995 | hasBin: true
1996 | dependencies:
1997 | is-core-module: 2.11.0
1998 | path-parse: 1.0.7
1999 | supports-preserve-symlinks-flag: 1.0.0
2000 |
2001 | /resolve/2.0.0-next.4:
2002 | resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==}
2003 | hasBin: true
2004 | dependencies:
2005 | is-core-module: 2.11.0
2006 | path-parse: 1.0.7
2007 | supports-preserve-symlinks-flag: 1.0.0
2008 | dev: false
2009 |
2010 | /reusify/1.0.4:
2011 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
2012 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
2013 |
2014 | /rimraf/3.0.2:
2015 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
2016 | hasBin: true
2017 | dependencies:
2018 | glob: 7.2.3
2019 | dev: false
2020 |
2021 | /run-parallel/1.2.0:
2022 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
2023 | dependencies:
2024 | queue-microtask: 1.2.3
2025 |
2026 | /safe-regex-test/1.0.0:
2027 | resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==}
2028 | dependencies:
2029 | call-bind: 1.0.2
2030 | get-intrinsic: 1.1.3
2031 | is-regex: 1.1.4
2032 | dev: false
2033 |
2034 | /scheduler/0.23.0:
2035 | resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==}
2036 | dependencies:
2037 | loose-envify: 1.4.0
2038 | dev: false
2039 |
2040 | /semver/6.3.0:
2041 | resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==}
2042 | hasBin: true
2043 | dev: false
2044 |
2045 | /semver/7.3.8:
2046 | resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==}
2047 | engines: {node: '>=10'}
2048 | hasBin: true
2049 | dependencies:
2050 | lru-cache: 6.0.0
2051 | dev: false
2052 |
2053 | /shebang-command/2.0.0:
2054 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
2055 | engines: {node: '>=8'}
2056 | dependencies:
2057 | shebang-regex: 3.0.0
2058 | dev: false
2059 |
2060 | /shebang-regex/3.0.0:
2061 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
2062 | engines: {node: '>=8'}
2063 | dev: false
2064 |
2065 | /side-channel/1.0.4:
2066 | resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==}
2067 | dependencies:
2068 | call-bind: 1.0.2
2069 | get-intrinsic: 1.1.3
2070 | object-inspect: 1.12.2
2071 | dev: false
2072 |
2073 | /slash/3.0.0:
2074 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
2075 | engines: {node: '>=8'}
2076 | dev: false
2077 |
2078 | /source-map-js/1.0.2:
2079 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
2080 | engines: {node: '>=0.10.0'}
2081 |
2082 | /string.prototype.matchall/4.0.8:
2083 | resolution: {integrity: sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==}
2084 | dependencies:
2085 | call-bind: 1.0.2
2086 | define-properties: 1.1.4
2087 | es-abstract: 1.20.4
2088 | get-intrinsic: 1.1.3
2089 | has-symbols: 1.0.3
2090 | internal-slot: 1.0.3
2091 | regexp.prototype.flags: 1.4.3
2092 | side-channel: 1.0.4
2093 | dev: false
2094 |
2095 | /string.prototype.trimend/1.0.6:
2096 | resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==}
2097 | dependencies:
2098 | call-bind: 1.0.2
2099 | define-properties: 1.1.4
2100 | es-abstract: 1.20.4
2101 | dev: false
2102 |
2103 | /string.prototype.trimstart/1.0.6:
2104 | resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==}
2105 | dependencies:
2106 | call-bind: 1.0.2
2107 | define-properties: 1.1.4
2108 | es-abstract: 1.20.4
2109 | dev: false
2110 |
2111 | /strip-ansi/6.0.1:
2112 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
2113 | engines: {node: '>=8'}
2114 | dependencies:
2115 | ansi-regex: 5.0.1
2116 | dev: false
2117 |
2118 | /strip-bom/3.0.0:
2119 | resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==}
2120 | engines: {node: '>=4'}
2121 | dev: false
2122 |
2123 | /strip-json-comments/3.1.1:
2124 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
2125 | engines: {node: '>=8'}
2126 | dev: false
2127 |
2128 | /styled-jsx/5.1.0_react@18.2.0:
2129 | resolution: {integrity: sha512-/iHaRJt9U7T+5tp6TRelLnqBqiaIT0HsO0+vgyj8hK2KUk7aejFqRrumqPUlAqDwAj8IbS/1hk3IhBAAK/FCUQ==}
2130 | engines: {node: '>= 12.0.0'}
2131 | peerDependencies:
2132 | '@babel/core': '*'
2133 | babel-plugin-macros: '*'
2134 | react: '>= 16.8.0 || 17.x.x || ^18.0.0-0'
2135 | peerDependenciesMeta:
2136 | '@babel/core':
2137 | optional: true
2138 | babel-plugin-macros:
2139 | optional: true
2140 | dependencies:
2141 | client-only: 0.0.1
2142 | react: 18.2.0
2143 | dev: false
2144 |
2145 | /supports-color/7.2.0:
2146 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
2147 | engines: {node: '>=8'}
2148 | dependencies:
2149 | has-flag: 4.0.0
2150 | dev: false
2151 |
2152 | /supports-preserve-symlinks-flag/1.0.0:
2153 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
2154 | engines: {node: '>= 0.4'}
2155 |
2156 | /tailwindcss/3.2.4_postcss@8.4.19:
2157 | resolution: {integrity: sha512-AhwtHCKMtR71JgeYDaswmZXhPcW9iuI9Sp2LvZPo9upDZ7231ZJ7eA9RaURbhpXGVlrjX4cFNlB4ieTetEb7hQ==}
2158 | engines: {node: '>=12.13.0'}
2159 | hasBin: true
2160 | peerDependencies:
2161 | postcss: ^8.0.9
2162 | dependencies:
2163 | arg: 5.0.2
2164 | chokidar: 3.5.3
2165 | color-name: 1.1.4
2166 | detective: 5.2.1
2167 | didyoumean: 1.2.2
2168 | dlv: 1.1.3
2169 | fast-glob: 3.2.12
2170 | glob-parent: 6.0.2
2171 | is-glob: 4.0.3
2172 | lilconfig: 2.0.6
2173 | micromatch: 4.0.5
2174 | normalize-path: 3.0.0
2175 | object-hash: 3.0.0
2176 | picocolors: 1.0.0
2177 | postcss: 8.4.19
2178 | postcss-import: 14.1.0_postcss@8.4.19
2179 | postcss-js: 4.0.0_postcss@8.4.19
2180 | postcss-load-config: 3.1.4_postcss@8.4.19
2181 | postcss-nested: 6.0.0_postcss@8.4.19
2182 | postcss-selector-parser: 6.0.11
2183 | postcss-value-parser: 4.2.0
2184 | quick-lru: 5.1.1
2185 | resolve: 1.22.1
2186 | transitivePeerDependencies:
2187 | - ts-node
2188 | dev: true
2189 |
2190 | /text-table/0.2.0:
2191 | resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
2192 | dev: false
2193 |
2194 | /to-regex-range/5.0.1:
2195 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
2196 | engines: {node: '>=8.0'}
2197 | dependencies:
2198 | is-number: 7.0.0
2199 |
2200 | /tsconfig-paths/3.14.1:
2201 | resolution: {integrity: sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==}
2202 | dependencies:
2203 | '@types/json5': 0.0.29
2204 | json5: 1.0.1
2205 | minimist: 1.2.7
2206 | strip-bom: 3.0.0
2207 | dev: false
2208 |
2209 | /tslib/1.14.1:
2210 | resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
2211 | dev: false
2212 |
2213 | /tslib/2.4.1:
2214 | resolution: {integrity: sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==}
2215 | dev: false
2216 |
2217 | /tsutils/3.21.0_typescript@4.9.3:
2218 | resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
2219 | engines: {node: '>= 6'}
2220 | peerDependencies:
2221 | 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'
2222 | dependencies:
2223 | tslib: 1.14.1
2224 | typescript: 4.9.3
2225 | dev: false
2226 |
2227 | /type-check/0.4.0:
2228 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
2229 | engines: {node: '>= 0.8.0'}
2230 | dependencies:
2231 | prelude-ls: 1.2.1
2232 | dev: false
2233 |
2234 | /type-fest/0.20.2:
2235 | resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
2236 | engines: {node: '>=10'}
2237 | dev: false
2238 |
2239 | /typescript/4.9.3:
2240 | resolution: {integrity: sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA==}
2241 | engines: {node: '>=4.2.0'}
2242 | hasBin: true
2243 | dev: false
2244 |
2245 | /unbox-primitive/1.0.2:
2246 | resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==}
2247 | dependencies:
2248 | call-bind: 1.0.2
2249 | has-bigints: 1.0.2
2250 | has-symbols: 1.0.3
2251 | which-boxed-primitive: 1.0.2
2252 | dev: false
2253 |
2254 | /update-browserslist-db/1.0.10_browserslist@4.21.4:
2255 | resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==}
2256 | hasBin: true
2257 | peerDependencies:
2258 | browserslist: '>= 4.21.0'
2259 | dependencies:
2260 | browserslist: 4.21.4
2261 | escalade: 3.1.1
2262 | picocolors: 1.0.0
2263 | dev: true
2264 |
2265 | /uri-js/4.4.1:
2266 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
2267 | dependencies:
2268 | punycode: 2.1.1
2269 | dev: false
2270 |
2271 | /util-deprecate/1.0.2:
2272 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
2273 | dev: true
2274 |
2275 | /uuid/8.3.2:
2276 | resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==}
2277 | hasBin: true
2278 | dev: false
2279 |
2280 | /which-boxed-primitive/1.0.2:
2281 | resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
2282 | dependencies:
2283 | is-bigint: 1.0.4
2284 | is-boolean-object: 1.1.2
2285 | is-number-object: 1.0.7
2286 | is-string: 1.0.7
2287 | is-symbol: 1.0.4
2288 | dev: false
2289 |
2290 | /which/2.0.2:
2291 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
2292 | engines: {node: '>= 8'}
2293 | hasBin: true
2294 | dependencies:
2295 | isexe: 2.0.0
2296 | dev: false
2297 |
2298 | /word-wrap/1.2.3:
2299 | resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==}
2300 | engines: {node: '>=0.10.0'}
2301 | dev: false
2302 |
2303 | /wrappy/1.0.2:
2304 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
2305 | dev: false
2306 |
2307 | /xtend/4.0.2:
2308 | resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
2309 | engines: {node: '>=0.4'}
2310 | dev: true
2311 |
2312 | /yallist/4.0.0:
2313 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
2314 | dev: false
2315 |
2316 | /yaml/1.10.2:
2317 | resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
2318 | engines: {node: '>= 6'}
2319 | dev: true
2320 |
2321 | /yocto-queue/0.1.0:
2322 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
2323 | engines: {node: '>=10'}
2324 | dev: false
2325 |
--------------------------------------------------------------------------------
/postcss.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | plugins: {
3 | tailwindcss: {},
4 | autoprefixer: {},
5 | },
6 | }
7 |
--------------------------------------------------------------------------------
/prisma/schema.prisma:
--------------------------------------------------------------------------------
1 | generator client {
2 | provider = "prisma-client-js"
3 | }
4 |
5 | datasource db {
6 | provider = "mongodb"
7 | url = env("DATABASE_URL")
8 | }
9 |
10 | model Account {
11 | id String @id @default(auto()) @map("_id") @db.ObjectId
12 | userId String
13 | type String
14 | provider String
15 | providerAccountId String
16 | refresh_token String? @db.String
17 | access_token String? @db.String
18 | expires_at Int?
19 | token_type String?
20 | scope String?
21 | id_token String? @db.String
22 | session_state String?
23 |
24 | user User @relation(fields: [userId], references: [id], onDelete: Cascade)
25 |
26 | @@unique([provider, providerAccountId])
27 | }
28 |
29 | model Session {
30 | id String @id @default(auto()) @map("_id") @db.ObjectId
31 | sessionToken String @unique
32 | userId String
33 | expires DateTime
34 | user User @relation(fields: [userId], references: [id], onDelete: Cascade)
35 | }
36 |
37 | model User {
38 | id String @id @default(auto()) @map("_id") @db.ObjectId
39 | name String?
40 | email String? @unique
41 | emailVerified DateTime?
42 | image String?
43 | accounts Account[]
44 | sessions Session[]
45 | tweets Tweet[]
46 | }
47 |
48 | model VerificationToken {
49 | id String @id @default(auto()) @map("_id") @db.ObjectId
50 | identifier String
51 | token String @unique
52 | expires DateTime
53 |
54 | @@unique([identifier, token])
55 | }
56 |
57 | model Tweet {
58 | id String @id @default(auto()) @map("_id") @db.ObjectId
59 | body String
60 | likes Int
61 | user User @relation(fields: [userId], references: [id])
62 | userId String @db.ObjectId
63 | }
64 |
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/HamedBahram/nextjs-13/1edd7139d6c94fe814108666488dd0e7c7cd77ee/public/favicon.ico
--------------------------------------------------------------------------------
/public/vercel.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tailwind.config.js:
--------------------------------------------------------------------------------
1 | /** @type {import('tailwindcss').Config} */
2 | module.exports = {
3 | content: [
4 | './app/**/*.{js,ts,jsx,tsx}',
5 | './pages/**/*.{js,ts,jsx,tsx}',
6 | './components/**/*.{js,ts,jsx,tsx}',
7 | './src/**/*.{js,ts,jsx,tsx}'
8 | ],
9 | theme: {
10 | container: {
11 | center: true,
12 | padding: {
13 | DEFAULT: '1rem',
14 | md: '1.5rem',
15 | lg: '2rem'
16 | }
17 | },
18 | extend: {}
19 | },
20 | plugins: []
21 | }
22 |
--------------------------------------------------------------------------------