From 5ae12a298305fe2a9462aa00998e2be3a88acb0c Mon Sep 17 00:00:00 2001 From: john doe Date: Wed, 10 Apr 2024 11:23:23 +0200 Subject: [PATCH] initial commit --- .env | 3 + .gitignore | 7 + Dockerfile | 7 + README.md | 50 + backend/Dockerfile | 13 + backend/README.md | 3 + backend/auth.go | 35 + backend/db.go | 75 + backend/go.mod | 26 + backend/server.go | 232 + docker-compose.yml | 58 + frontend/.dockerignore | 7 + frontend/.env | 1 + frontend/Dockerfile | 60 + frontend/README.md | 3 + frontend/components/comment.tsx | 22 + frontend/components/post.tsx | 27 + frontend/components/ui.tsx | 32 + frontend/next-env.d.ts | 5 + frontend/next.config.js | 15 + frontend/package-lock.json | 5914 +++++++++++++++++++ frontend/package.json | 27 + frontend/pages/_app.tsx | 6 + frontend/pages/index.tsx | 60 + frontend/pages/login.tsx | 50 + frontend/pages/logout.tsx | 15 + frontend/pages/post/[pid].tsx | 56 + frontend/pages/profile.tsx | 27 + frontend/pages/profile/[pid].tsx | 29 + frontend/pages/signup.tsx | 38 + frontend/postcss.config.js | 6 + frontend/public/facebook_cover_photo_1.png | Bin 0 -> 11562 bytes frontend/public/facebook_cover_photo_2.png | Bin 0 -> 6030 bytes frontend/public/facebook_profile_image.png | Bin 0 -> 13483 bytes frontend/public/favicon.png | Bin 0 -> 268 bytes frontend/public/instagram_profile_image.png | Bin 0 -> 9626 bytes frontend/public/linkedin_banner_image_1.png | Bin 0 -> 12376 bytes frontend/public/linkedin_banner_image_2.png | Bin 0 -> 7588 bytes frontend/public/linkedin_profile_image.png | Bin 0 -> 9626 bytes frontend/public/logo.png | Bin 0 -> 13483 bytes frontend/public/logo_transparent.png | Bin 0 -> 9101 bytes frontend/public/pinterest_board_photo.png | Bin 0 -> 6052 bytes frontend/public/pinterest_profile_image.png | Bin 0 -> 2134 bytes frontend/public/twitter_header_photo_1.png | Bin 0 -> 10639 bytes frontend/public/twitter_header_photo_2.png | Bin 0 -> 5208 bytes frontend/public/twitter_profile_image.png | Bin 0 -> 6052 bytes frontend/public/youtube_profile_image.png | Bin 0 -> 6052 bytes frontend/styles/Home.module.css | 116 + frontend/styles/globals.css | 20 + frontend/tailwind.config.js | 27 + frontend/tsconfig.json | 30 + nginx.conf | 22 + remove-app.sh | 3 + screenshots/1.png | Bin 0 -> 19145 bytes screenshots/2.png | Bin 0 -> 26414 bytes screenshots/3.png | Bin 0 -> 29949 bytes screenshots/4.png | Bin 0 -> 47118 bytes start-app.sh | 3 + stop-app.sh | 3 + 59 files changed, 7133 insertions(+) create mode 100644 .env create mode 100644 .gitignore create mode 100644 Dockerfile create mode 100644 README.md create mode 100644 backend/Dockerfile create mode 100644 backend/README.md create mode 100644 backend/auth.go create mode 100644 backend/db.go create mode 100644 backend/go.mod create mode 100644 backend/server.go create mode 100644 docker-compose.yml create mode 100644 frontend/.dockerignore create mode 100644 frontend/.env create mode 100644 frontend/Dockerfile create mode 100644 frontend/README.md create mode 100644 frontend/components/comment.tsx create mode 100644 frontend/components/post.tsx create mode 100644 frontend/components/ui.tsx create mode 100644 frontend/next-env.d.ts create mode 100644 frontend/next.config.js create mode 100644 frontend/package-lock.json create mode 100644 frontend/package.json create mode 100644 frontend/pages/_app.tsx create mode 100644 frontend/pages/index.tsx create mode 100644 frontend/pages/login.tsx create mode 100644 frontend/pages/logout.tsx create mode 100644 frontend/pages/post/[pid].tsx create mode 100644 frontend/pages/profile.tsx create mode 100644 frontend/pages/profile/[pid].tsx create mode 100644 frontend/pages/signup.tsx create mode 100644 frontend/postcss.config.js create mode 100644 frontend/public/facebook_cover_photo_1.png create mode 100644 frontend/public/facebook_cover_photo_2.png create mode 100644 frontend/public/facebook_profile_image.png create mode 100644 frontend/public/favicon.png create mode 100644 frontend/public/instagram_profile_image.png create mode 100644 frontend/public/linkedin_banner_image_1.png create mode 100644 frontend/public/linkedin_banner_image_2.png create mode 100644 frontend/public/linkedin_profile_image.png create mode 100644 frontend/public/logo.png create mode 100644 frontend/public/logo_transparent.png create mode 100644 frontend/public/pinterest_board_photo.png create mode 100644 frontend/public/pinterest_profile_image.png create mode 100644 frontend/public/twitter_header_photo_1.png create mode 100644 frontend/public/twitter_header_photo_2.png create mode 100644 frontend/public/twitter_profile_image.png create mode 100644 frontend/public/youtube_profile_image.png create mode 100644 frontend/styles/Home.module.css create mode 100644 frontend/styles/globals.css create mode 100644 frontend/tailwind.config.js create mode 100644 frontend/tsconfig.json create mode 100644 nginx.conf create mode 100755 remove-app.sh create mode 100644 screenshots/1.png create mode 100644 screenshots/2.png create mode 100644 screenshots/3.png create mode 100644 screenshots/4.png create mode 100755 start-app.sh create mode 100755 stop-app.sh diff --git a/.env b/.env new file mode 100644 index 0000000..674aeac --- /dev/null +++ b/.env @@ -0,0 +1,3 @@ +POSTGRES_USER=root +POSTGRES_PASSWORD=root +POSTGRES_DB=info \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..962f948 --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +frontend/node_modules +go.sum +social-network +users.db +fiber +frontend/.next/ +/out/ \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..36b50ef --- /dev/null +++ b/Dockerfile @@ -0,0 +1,7 @@ +FROM nginx:latest + +WORKDIR /etc/nginx/ + +COPY nginx.conf . + +EXPOSE 80 \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..332fd32 --- /dev/null +++ b/README.md @@ -0,0 +1,50 @@ +# CopyBook + +A messageboard type social website + +## Backend +Fully coded in golang utilizing the following technologies: +- https://github.com/gofiber/fiber +- https://gorm.io/ + +The backend consists of multiple modules: +- db.go: database modules setup with gorm +- auth.go: authorization module with jwt tokens setup +- server.go: main buisness logic functionality + + + +## Frontend +Typescript + nextjs + tailwindcss + +the frontend uses nextjs for server side rendering. + +there are multiple pages each responsible for its own functionality: +- index.tsx: mounted on `/` is the homepage for the messageboard. +- login.tsx: mounted on `/login` the login page +- logout.tsx: mounted on `/logout` for logging out and removing the jwt token. +- profile.tsx: mounted on `/profile` is for the user profile info. +- signup.tsx: mounted on `/signup` is for registering new users. + + + + +## Devops +Fully dockerized and ready for deployment on any environment + +backend setup consists of 2 containers one that builds the golang binary for and another that runs the server + +the database for the backend is running a postgresql server with persistent storage enabled + +frontend setup has 3 containers: +`deps`: pulls the dependecies required for compiling the typescript files. +`builder`: compiles the typescript files. +`runner`: runs the nextjs server. + +all of the previous services are running on `internalnet` virtual network and then afterwards its served with a nginx reverse proxy for traffic management and redundancy purposes + +## TODO +- better db management +- more documentation +- user personalization +- more ui changes \ No newline at end of file diff --git a/backend/Dockerfile b/backend/Dockerfile new file mode 100644 index 0000000..e5846de --- /dev/null +++ b/backend/Dockerfile @@ -0,0 +1,13 @@ +FROM golang AS build +# RUN apk --no-cache add gcc g++ make git +WORKDIR /go/src/app +COPY . . +RUN go mod tidy +# RUN GOOS=linux go build -ldflags="-s -w" -o ./bin/web-app +RUN GOOS=linux go build -o ./bin/web-app + +FROM ubuntu +WORKDIR /usr/bin +COPY --from=build /go/src/app/bin /go/bin +EXPOSE 3000 +ENTRYPOINT /go/bin/web-app \ No newline at end of file diff --git a/backend/README.md b/backend/README.md new file mode 100644 index 0000000..ab59f74 --- /dev/null +++ b/backend/README.md @@ -0,0 +1,3 @@ +# Backend API for the social network + +rest api utlizing golang and the gofiber framework diff --git a/backend/auth.go b/backend/auth.go new file mode 100644 index 0000000..3a302a1 --- /dev/null +++ b/backend/auth.go @@ -0,0 +1,35 @@ +package main + +import ( + "time" + + "github.com/golang-jwt/jwt/v4" +) + +var jwtKey = []byte("ShXYLRYfFOw+upPD") + +type Claim struct { + Username string `json:"username"` + jwt.RegisteredClaims +} + +func Sign(username string) (string, error) { + expirationTime := jwt.NewNumericDate(time.Now().Add(5 * time.Hour)) + + claims := &Claim{ + Username: username, + RegisteredClaims: jwt.RegisteredClaims{ + ExpiresAt: expirationTime, + }, + } + + token := jwt.NewWithClaims(jwt.SigningMethodHS256, claims) + + tokenString, err := token.SignedString(jwtKey) + if err != nil { + return "", err + } + + return tokenString, err + +} diff --git a/backend/db.go b/backend/db.go new file mode 100644 index 0000000..38ef674 --- /dev/null +++ b/backend/db.go @@ -0,0 +1,75 @@ +package main + +import ( + "gorm.io/driver/postgres" + "gorm.io/gorm" + + "golang.org/x/crypto/bcrypt" +) + +type User struct { + ID uint `gorm:"primaryKey"` + Username string + Password string + Email string + Active bool +} + +type APIUser struct { + ID uint + Username string + Email string +} + +type Comment struct { + UID uint `gorm:"primaryKey"` + PostId uint + Commenter string + Text string +} + +type APIComment struct { + PostId uint `json:"post_id"` + Text string `json:"content"` +} + +type Post struct { + ID uint `gorm:"primaryKey"` + Content string + Username string + Comments string +} + +func initDB() *gorm.DB { + dburl := "host=db user=root password=root dbname=info port=5432 sslmode=disable TimeZone=Asia/Shanghai" + db, err := gorm.Open(postgres.Open(dburl), &gorm.Config{}) + + if err != nil { + panic("failed to open db") + } + + db.AutoMigrate(&User{}) + db.AutoMigrate(&Post{}) + return db +} + +func validateUser(u User) bool { + if len(u.Username) < 3 { + return false + } + if len(u.Password) < 3 { + return false + } + + return true +} + +func HashPassword(password string) (string, error) { + bytes, err := bcrypt.GenerateFromPassword([]byte(password), 14) + return string(bytes), err +} + +func CheckPasswordHash(password, hash string) bool { + err := bcrypt.CompareHashAndPassword([]byte(hash), []byte(password)) + return err == nil +} diff --git a/backend/go.mod b/backend/go.mod new file mode 100644 index 0000000..d2b5c4f --- /dev/null +++ b/backend/go.mod @@ -0,0 +1,26 @@ +module social-network + +go 1.13 + +require ( + github.com/charmbracelet/bubbles v0.11.0 // indirect + github.com/fsnotify/fsnotify v1.5.4 // indirect + github.com/gofiber/cli v0.0.9 // indirect + github.com/gofiber/fiber/v2 v2.34.0 + github.com/gofiber/jwt/v3 v3.2.12 // indirect + github.com/golang-jwt/jwt/v4 v4.4.1 // indirect + github.com/jackc/pgservicefile v0.0.0-20231201235250-de7065d80cb9 // indirect + github.com/jackc/pgx/v5 v5.5.5 // indirect + github.com/jinzhu/now v1.1.5 // indirect + github.com/klauspost/compress v1.15.6 // indirect + github.com/mattn/go-sqlite3 v1.14.13 // indirect + github.com/muesli/ansi v0.0.0-20211031195517-c9f0611b6c70 // indirect + github.com/muesli/cancelreader v0.2.2 // indirect + github.com/muesli/termenv v0.12.0 // indirect + github.com/spf13/cobra v1.5.0 // indirect + golang.org/x/crypto v0.22.0 // indirect + golang.org/x/sync v0.7.0 // indirect + gorm.io/driver/postgres v1.5.7 // indirect + gorm.io/driver/sqlite v1.3.4 // indirect + gorm.io/gorm v1.25.9 // indirect +) diff --git a/backend/server.go b/backend/server.go new file mode 100644 index 0000000..18df665 --- /dev/null +++ b/backend/server.go @@ -0,0 +1,232 @@ +package main + +import ( + "bytes" + "fmt" + "log" + + "encoding/base64" + "encoding/gob" + "encoding/json" + + "github.com/gofiber/fiber/v2" + "github.com/gofiber/fiber/v2/middleware/cors" + jwtware "github.com/gofiber/jwt/v3" + "github.com/golang-jwt/jwt/v4" +) + +type Creds struct { + Username string `json:"username" xml:"username" form:"username"` + Pass string `json:"pass" xml:"pass" form:"pass"` +} + +type Response struct { + Status string `json:"status"` + Text string `json:"text"` +} + +type JsonComment struct { + Array []Comment +} + +// go binary encoder +func ToGOB64(m JsonComment) string { + b := bytes.Buffer{} + e := gob.NewEncoder(&b) + err := e.Encode(m) + if err != nil { + fmt.Println(`failed gob Encode`, err) + } + return base64.StdEncoding.EncodeToString(b.Bytes()) +} + +// go binary decoder +func FromGOB64(str string) JsonComment { + m := JsonComment{} + by, err := base64.StdEncoding.DecodeString(str) + if err != nil { + fmt.Println(`failed base64 Decode`, err) + } + b := bytes.Buffer{} + b.Write(by) + d := gob.NewDecoder(&b) + err = d.Decode(&m) + if err != nil { + fmt.Println(`failed gob Decode`, err) + } + return m +} + +func malformedToken(c *fiber.Ctx, w error) error { + res := Response{Status: "bad", Text: "Malformed token"} + return c.JSON(res) +} + +func main() { + app := fiber.New() + db := initDB() + bad := Response{Status: "bad", Text: "Unauthorized"} + errResponse := Response{Status: "bad", Text: "Woops something went wrong ¯\\_(ツ)_/¯"} + app.Use(cors.New(cors.Config{ + AllowOrigins: "*", + AllowHeaders: "Origin, Content-Type, Accept, Authorization", + })) + app.Post("/login", func(c *fiber.Ctx) error { + p := new(Creds) + if err := c.BodyParser(p); err != nil { + return err + } + + var res User + if err := db.First(&res, "Username = ?", p.Username).Error; err != nil { + return c.JSON(bad) + } + + if !CheckPasswordHash(p.Pass, res.Password) { + return c.JSON(bad) + } + + token, _ := Sign(p.Username) + response := Response{Status: "ok", Text: token} + return c.JSON(response) + }) + + app.Post("/signup", func(c *fiber.Ctx) error { + details := new(User) + + if err := c.BodyParser(details); err != nil { + return err + } + + if !validateUser(*details) { + return c.JSON(errResponse) + } + details.Active = true + + var query User + if err := db.First(&query, "Username = ?", details.Username).Error; err != nil && query.Username != "" { + return c.JSON(errResponse) + } + + hashedPass, err := HashPassword(details.Password) + if err != nil { + return c.JSON(errResponse) + } + + details.Password = hashedPass + + db.Create(details) + newUser := Response{Status: "ok", Text: "user created successfully"} + return c.JSON(newUser) + }) + + app.Use(jwtware.New(jwtware.Config{ + SigningKey: []byte("ShXYLRYfFOw+upPD"), + ErrorHandler: malformedToken, + })) + + app.Get("/posts", func(c *fiber.Ctx) error { + var query []Post + c.Set(fiber.HeaderContentType, fiber.MIMEApplicationJSONCharsetUTF8) + + db.Find(&query) + + res, err := json.Marshal(query) + + if err != nil { + return c.JSON(errResponse) + } + + return c.SendString(string(res)) + }) + + app.Get("/posts/:uid", func(c *fiber.Ctx) error { + var post Post + + db.Select("content").Find(&post, "ID = ?", c.Params("uid")) + res := Response{Status: "ok", Text: post.Content} + return c.JSON(res) + }) + + app.Get("/profile/:uid", func(c *fiber.Ctx) error { + var user APIUser + if err := db.Model(&User{}).Find(&user, "Username = ?", c.Params("uid")).Error; err != nil { + return c.JSON(errResponse) + } + return c.JSON(user) + }) + + app.Get("/profile", func(c *fiber.Ctx) error { + var user APIUser + token := c.Locals("user").(*jwt.Token) + claims := token.Claims.(jwt.MapClaims) + name := claims["username"].(string) + + if err := db.Model(&User{}).Find(&user, "Username = ?", name).Error; err != nil { + return c.JSON(errResponse) + } + return c.JSON(user) + }) + + app.Post("/create", func(c *fiber.Ctx) error { + info := new(Post) + + if err := c.BodyParser(info); err != nil { + return c.JSON(errResponse) + } + + user := c.Locals("user").(*jwt.Token) + claims := user.Claims.(jwt.MapClaims) + name := claims["username"].(string) + + //figure out how to store user id's instead of usernames + /* + var query User + if err := db.First(&query, "Username = ?", name).Error; err != nil && query.Username != "" { + return c.JSON(errResponse) + } + info.Uuid = query.ID + */ + info.Username = name + db.Create(info) + newPost := Response{Status: "ok", Text: "post created successfully"} + return c.JSON(newPost) + }) + + app.Post("/comment", func(c *fiber.Ctx) error { + var comment Comment + apiComment := new(APIComment) + if err := c.BodyParser(apiComment); err != nil { + return c.JSON(errResponse) + } + + user := c.Locals("user").(*jwt.Token) + claims := user.Claims.(jwt.MapClaims) + name := claims["username"].(string) + + comment.PostId = apiComment.PostId + comment.Text = apiComment.Text + comment.Commenter = name + + var post Post + + db.Select("comments").Find(&post, "ID = ?", comment.PostId) + dbComments := FromGOB64(post.Comments) + + comments := JsonComment{Array: append([]Comment{comment}, dbComments.Array...)} + store := ToGOB64(comments) + db.Model(&Post{}).Where("ID = ?", comment.PostId).Update("comments", store) + newComment := Response{Status: "ok", Text: "Comment created successfully"} + return c.JSON(newComment) + }) + + app.Get("/comments/:uid", func(c *fiber.Ctx) error { + var post Post + + db.Select("comments").Find(&post, "ID = ?", c.Params("uid")) + comments := FromGOB64(post.Comments) + return c.JSON(comments) + }) + + log.Fatal(app.Listen(":3000")) +} diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..0fb854e --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,58 @@ +services: + + nginx: + build: . + container_name: nginx + restart: "always" + privileged: true + links: + - "go-api:api" + - "frontend:frontend" + ports: + - 80:80 + networks: + - internalnet + + go-api: + build: ./backend + restart: "always" + container_name: api + environment: + - DB_USER=${POSTGRES_USER} + - DB_PASSWORD=${POSTGRES_PASSWORD} + - DB_NAME=${POSTGRES_DB} + - DB_HOST=db + - DB_PORT=5432 + ports: + - 3000:3000 + depends_on: + - db + networks: + - internalnet + + + frontend: + build: ./frontend + restart: "always" + container_name: frontend + ports: + - 3001:3000 + networks: + - internalnet + db: + image: postgres:latest + environment: + - POSTGRES_USER=${POSTGRES_USER} + - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} + - POSTGRES_DB=${POSTGRES_DB} + volumes: + - postgres_data:/var/lib/postgresql/data + networks: + - internalnet + +networks: + internalnet: + driver: bridge + +volumes: + postgres_data: \ No newline at end of file diff --git a/frontend/.dockerignore b/frontend/.dockerignore new file mode 100644 index 0000000..72e9aa4 --- /dev/null +++ b/frontend/.dockerignore @@ -0,0 +1,7 @@ +Dockerfile +.dockerignore +node_modules +npm-debug.log +README.md +.next +.git \ No newline at end of file diff --git a/frontend/.env b/frontend/.env new file mode 100644 index 0000000..6c53518 --- /dev/null +++ b/frontend/.env @@ -0,0 +1 @@ +NEXT_PUBLIC_URL=127.0.0.1:3000 \ No newline at end of file diff --git a/frontend/Dockerfile b/frontend/Dockerfile new file mode 100644 index 0000000..a6ed2a8 --- /dev/null +++ b/frontend/Dockerfile @@ -0,0 +1,60 @@ +# Install dependencies only when needed +FROM node:16-alpine AS deps +# Check https://github.com/nodejs/docker-node/tree/b4117f9333da4138b03a546ec926ef50a31506c3#nodealpine to understand why libc6-compat might be needed. +RUN apk add --no-cache libc6-compat +WORKDIR /app + +# Install dependencies based on the preferred package manager +COPY package.json yarn.lock* package-lock.json* pnpm-lock.yaml* ./ +RUN \ + if [ -f yarn.lock ]; then yarn --frozen-lockfile; \ + elif [ -f package-lock.json ]; then npm ci; \ + elif [ -f pnpm-lock.yaml ]; then yarn global add pnpm && pnpm i; \ + else echo "Lockfile not found." && exit 1; \ + fi + + +# Rebuild the source code only when needed +FROM node:16-alpine AS builder +WORKDIR /app +COPY --from=deps /app/node_modules ./node_modules +COPY . . + +# Next.js collects completely anonymous telemetry data about general usage. +# Learn more here: https://nextjs.org/telemetry +# Uncomment the following line in case you want to disable telemetry during the build. +ENV NEXT_TELEMETRY_DISABLED 1 + +#RUN yarn build + +# If using npm comment out above and use below instead +RUN npm run build + +# Production image, copy all the files and run next +FROM node:16-alpine AS runner +WORKDIR /app + +ENV NODE_ENV production +# Uncomment the following line in case you want to disable telemetry during runtime. +ENV NEXT_TELEMETRY_DISABLED 1 + +RUN addgroup --system --gid 1001 nodejs +RUN adduser --system --uid 1001 nextjs + +# You only need to copy next.config.js if you are NOT using the default configuration +# COPY --from=builder /app/next.config.js ./ +COPY --from=builder /app/public ./public +COPY --from=builder /app/package.json ./package.json + +# Automatically leverage output traces to reduce image size +# https://nextjs.org/docs/advanced-features/output-file-tracing +COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./ +COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static + +USER nextjs + +EXPOSE 3000 + +ENV PORT 3000 + +CMD ["node", "server.js"] \ No newline at end of file diff --git a/frontend/README.md b/frontend/README.md new file mode 100644 index 0000000..8d3b1f7 --- /dev/null +++ b/frontend/README.md @@ -0,0 +1,3 @@ +# Frontend for the social network + +the frontend uses typscript + nextjs \ No newline at end of file diff --git a/frontend/components/comment.tsx b/frontend/components/comment.tsx new file mode 100644 index 0000000..0997613 --- /dev/null +++ b/frontend/components/comment.tsx @@ -0,0 +1,22 @@ +import Link from 'next/link' + +export default function CommentBox({ + content, + user, + id +}: { + content: string + user: string + id: number +}) { + return ( +
+
+ +

{user}

+ +

{content}

+
+
+ ) +} \ No newline at end of file diff --git a/frontend/components/post.tsx b/frontend/components/post.tsx new file mode 100644 index 0000000..ba7c639 --- /dev/null +++ b/frontend/components/post.tsx @@ -0,0 +1,27 @@ +import Link from 'next/link' + +export default function PostBox({ + content, + user, + id +}: { + content: string + user: string + id: number +}) { + return ( + +
+
+ +

{user}

+ +

{content}

+
+ {/**/ } +
+
+
+ + ) +} \ No newline at end of file diff --git a/frontend/components/ui.tsx b/frontend/components/ui.tsx new file mode 100644 index 0000000..de674f0 --- /dev/null +++ b/frontend/components/ui.tsx @@ -0,0 +1,32 @@ +import Link from 'next/link' + +export default function Dashboard() { + return ( +
+ +
+

Copybook

+
+
+ ); +} \ No newline at end of file diff --git a/frontend/next-env.d.ts b/frontend/next-env.d.ts new file mode 100644 index 0000000..4f11a03 --- /dev/null +++ b/frontend/next-env.d.ts @@ -0,0 +1,5 @@ +/// +/// + +// NOTE: This file should not be edited +// see https://nextjs.org/docs/basic-features/typescript for more information. diff --git a/frontend/next.config.js b/frontend/next.config.js new file mode 100644 index 0000000..99d7993 --- /dev/null +++ b/frontend/next.config.js @@ -0,0 +1,15 @@ +/** @type {import('next').NextConfig} */ + +const nextConfig = { + reactStrictMode: true, + nx: { + svgr: false, + }, + // fix for running the docker container + output: 'standalone', + experimental: { + outputStandalone: true, + } +} + +module.exports = nextConfig \ No newline at end of file diff --git a/frontend/package-lock.json b/frontend/package-lock.json new file mode 100644 index 0000000..6cb2496 --- /dev/null +++ b/frontend/package-lock.json @@ -0,0 +1,5914 @@ +{ + "name": "social-app", + "version": "0.1.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "social-app", + "version": "0.1.0", + "dependencies": { + "daisyui": "^2.19.0", + "next": "12.1.6", + "react": "18.1.0", + "react-dom": "18.1.0", + "react-router-dom": "^6.3.0" + }, + "devDependencies": { + "@types/node": "^17.0.40", + "@types/react": "^18.0.11", + "autoprefixer": "^10.4.7", + "eslint": "8.17.0", + "eslint-config-next": "12.1.6", + "postcss": "^8.4.14", + "tailwindcss": "^3.0.24" + } + }, + "node_modules/@babel/runtime": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.3.tgz", + "integrity": "sha512-38Y8f7YUhce/K7RMwTp7m0uCumpv9hZkitCbBClqQIow1qSbCvGkcegKOXpEWCQLfWmevgRiWokZ1GkpfhbZug==", + "dependencies": { + "regenerator-runtime": "^0.13.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/runtime-corejs3": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.18.3.tgz", + "integrity": "sha512-l4ddFwrc9rnR+EJsHsh+TJ4A35YqQz/UqcjtlX2ov53hlJYG5CxtQmNZxyajwDVmCxwy++rtvGU5HazCK4W41Q==", + "dev": true, + "dependencies": { + "core-js-pure": "^3.20.2", + "regenerator-runtime": "^0.13.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.0.tgz", + "integrity": "sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.3.2", + "globals": "^13.15.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", + "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "node_modules/@next/env": { + "version": "12.1.6", + "resolved": "https://registry.npmjs.org/@next/env/-/env-12.1.6.tgz", + "integrity": "sha512-Te/OBDXFSodPU6jlXYPAXpmZr/AkG6DCATAxttQxqOWaq6eDFX25Db3dK0120GZrSZmv4QCe9KsZmJKDbWs4OA==" + }, + "node_modules/@next/eslint-plugin-next": { + "version": "12.1.6", + "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-12.1.6.tgz", + "integrity": "sha512-yNUtJ90NEiYFT6TJnNyofKMPYqirKDwpahcbxBgSIuABwYOdkGwzos1ZkYD51Qf0diYwpQZBeVqElTk7Q2WNqw==", + "dev": true, + "dependencies": { + "glob": "7.1.7" + } + }, + "node_modules/@next/swc-android-arm-eabi": { + "version": "12.1.6", + "resolved": "https://registry.npmjs.org/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-12.1.6.tgz", + "integrity": "sha512-BxBr3QAAAXWgk/K7EedvzxJr2dE014mghBSA9iOEAv0bMgF+MRq4PoASjuHi15M2zfowpcRG8XQhMFtxftCleQ==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-android-arm64": { + "version": "12.1.6", + "resolved": "https://registry.npmjs.org/@next/swc-android-arm64/-/swc-android-arm64-12.1.6.tgz", + "integrity": "sha512-EboEk3ROYY7U6WA2RrMt/cXXMokUTXXfnxe2+CU+DOahvbrO8QSWhlBl9I9ZbFzJx28AGB9Yo3oQHCvph/4Lew==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-darwin-arm64": { + "version": "12.1.6", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-12.1.6.tgz", + "integrity": "sha512-P0EXU12BMSdNj1F7vdkP/VrYDuCNwBExtRPDYawgSUakzi6qP0iKJpya2BuLvNzXx+XPU49GFuDC5X+SvY0mOw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-darwin-x64": { + "version": "12.1.6", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-12.1.6.tgz", + "integrity": "sha512-9FptMnbgHJK3dRDzfTpexs9S2hGpzOQxSQbe8omz6Pcl7rnEp9x4uSEKY51ho85JCjL4d0tDLBcXEJZKKLzxNg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm-gnueabihf": { + "version": "12.1.6", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-12.1.6.tgz", + "integrity": "sha512-PvfEa1RR55dsik/IDkCKSFkk6ODNGJqPY3ysVUZqmnWMDSuqFtf7BPWHFa/53znpvVB5XaJ5Z1/6aR5CTIqxPw==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-gnu": { + "version": "12.1.6", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-12.1.6.tgz", + "integrity": "sha512-53QOvX1jBbC2ctnmWHyRhMajGq7QZfl974WYlwclXarVV418X7ed7o/EzGY+YVAEKzIVaAB9JFFWGXn8WWo0gQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-musl": { + "version": "12.1.6", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-12.1.6.tgz", + "integrity": "sha512-CMWAkYqfGdQCS+uuMA1A2UhOfcUYeoqnTW7msLr2RyYAys15pD960hlDfq7QAi8BCAKk0sQ2rjsl0iqMyziohQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-gnu": { + "version": "12.1.6", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-12.1.6.tgz", + "integrity": "sha512-AC7jE4Fxpn0s3ujngClIDTiEM/CQiB2N2vkcyWWn6734AmGT03Duq6RYtPMymFobDdAtZGFZd5nR95WjPzbZAQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-musl": { + "version": "12.1.6", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-12.1.6.tgz", + "integrity": "sha512-c9Vjmi0EVk0Kou2qbrynskVarnFwfYIi+wKufR9Ad7/IKKuP6aEhOdZiIIdKsYWRtK2IWRF3h3YmdnEa2WLUag==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-arm64-msvc": { + "version": "12.1.6", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-12.1.6.tgz", + "integrity": "sha512-3UTOL/5XZSKFelM7qN0it35o3Cegm6LsyuERR3/OoqEExyj3aCk7F025b54/707HTMAnjlvQK3DzLhPu/xxO4g==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-ia32-msvc": { + "version": "12.1.6", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-12.1.6.tgz", + "integrity": "sha512-8ZWoj6nCq6fI1yCzKq6oK0jE6Mxlz4MrEsRyu0TwDztWQWe7rh4XXGLAa2YVPatYcHhMcUL+fQQbqd1MsgaSDA==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-x64-msvc": { + "version": "12.1.6", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-12.1.6.tgz", + "integrity": "sha512-4ZEwiRuZEicXhXqmhw3+de8Z4EpOLQj/gp+D9fFWo6ii6W1kBkNNvvEx4A90ugppu+74pT1lIJnOuz3A9oQeJA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@rushstack/eslint-patch": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.1.3.tgz", + "integrity": "sha512-WiBSI6JBIhC6LRIsB2Kwh8DsGTlbBU+mLRxJmAe3LjHTdkDpwIbEOZgoXBbZilk/vlfjK8i6nKRAvIRn1XaIMw==", + "dev": true + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true + }, + "node_modules/@types/node": { + "version": "17.0.40", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.40.tgz", + "integrity": "sha512-UXdBxNGqTMtm7hCwh9HtncFVLrXoqA3oJW30j6XWp5BH/wu3mVeaxo7cq5benFdBw34HB3XDT2TRPI7rXZ+mDg==", + "dev": true + }, + "node_modules/@types/prop-types": { + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==", + "dev": true + }, + "node_modules/@types/react": { + "version": "18.0.11", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.11.tgz", + "integrity": "sha512-JxSwm54IgMW4XTR+zFF5QpNx4JITmFbB4WHR2J0vg9RpjNeyqEMlODXsD2e64br6GX70TL0UYjZJETpyyC1WdA==", + "dev": true, + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/scheduler": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", + "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==", + "dev": true + }, + "node_modules/@typescript-eslint/parser": { + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.27.0.tgz", + "integrity": "sha512-8oGjQF46c52l7fMiPPvX4It3u3V3JipssqDfHQ2hcR0AeR8Zge+OYyKUCm5b70X72N1qXt0qgHenwN6Gc2SXZA==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "5.27.0", + "@typescript-eslint/types": "5.27.0", + "@typescript-eslint/typescript-estree": "5.27.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.27.0.tgz", + "integrity": "sha512-VnykheBQ/sHd1Vt0LJ1JLrMH1GzHO+SzX6VTXuStISIsvRiurue/eRkTqSrG0CexHQgKG8shyJfR4o5VYioB9g==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.27.0", + "@typescript-eslint/visitor-keys": "5.27.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.27.0.tgz", + "integrity": "sha512-lY6C7oGm9a/GWhmUDOs3xAVRz4ty/XKlQ2fOLr8GAIryGn0+UBOoJDWyHer3UgrHkenorwvBnphhP+zPmzmw0A==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.27.0.tgz", + "integrity": "sha512-QywPMFvgZ+MHSLRofLI7BDL+UczFFHyj0vF5ibeChDAJgdTV8k4xgEwF0geFhVlPc1p8r70eYewzpo6ps+9LJQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.27.0", + "@typescript-eslint/visitor-keys": "5.27.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.27.0.tgz", + "integrity": "sha512-46cYrteA2MrIAjv9ai44OQDUoCZyHeGIc4lsjCUX2WT6r4C+kidz1bNiR4017wHOPUythYeH+Sc7/cFP97KEAA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.27.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/acorn": { + "version": "8.7.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", + "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-node": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", + "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "dependencies": { + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" + } + }, + "node_modules/acorn-node/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.1.tgz", + "integrity": "sha512-e0hDa9H2Z9AwFkk2qDlwhoMYE4eToKarchkQHovNdLTCYMHZHeRjI71crOh+dio4K6u1IcwubQqo79Ga4CyAQA==" + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/aria-query": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", + "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.10.2", + "@babel/runtime-corejs3": "^7.10.2" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/array-includes": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.5.tgz", + "integrity": "sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5", + "get-intrinsic": "^1.1.1", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz", + "integrity": "sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.2", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.0.tgz", + "integrity": "sha512-PZC9/8TKAIxcWKdyeb77EzULHPrIX/tIZebLJUQOMR1OwYosT8yggdfWScfTBCDj5utONvOuPQQumYsU2ULbkg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.2", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ast-types-flow": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", + "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==", + "dev": true + }, + "node_modules/autoprefixer": { + "version": "10.4.7", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.7.tgz", + "integrity": "sha512-ypHju4Y2Oav95SipEcCcI5J7CGPuvz8oat7sUtYj3ClK44bldfvtvcxK6IEK++7rqB7YchDGzweZIBG+SD0ZAA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + } + ], + "dependencies": { + "browserslist": "^4.20.3", + "caniuse-lite": "^1.0.30001335", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/axe-core": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.4.2.tgz", + "integrity": "sha512-LVAaGp/wkkgYJcjmHsoKx4juT1aQvJyPcW09MLCjVTh3V2cc6PnyempiLMNH5iMdfIX/zdbjUx2KDjMLCTdPeA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/axobject-query": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", + "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==", + "dev": true + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.20.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.3.tgz", + "integrity": "sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001332", + "electron-to-chromium": "^1.4.118", + "escalade": "^3.1.1", + "node-releases": "^2.0.3", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001346", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001346.tgz", + "integrity": "sha512-q6ibZUO2t88QCIPayP/euuDREq+aMAxFE5S70PkrLh0iTDj/zEhgvJRKC2+CvXY6EWc6oQwUR48lL5vCW6jiXQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + } + ] + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/color": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", + "dependencies": { + "color-convert": "^2.0.1", + "color-string": "^1.9.0" + }, + "engines": { + "node": ">=12.5.0" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/core-js-pure": { + "version": "3.22.8", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.22.8.tgz", + "integrity": "sha512-bOxbZIy9S5n4OVH63XaLVXZ49QKicjowDx/UELyJ68vxfCRpYsbyh/WNZNfEfAk+ekA8vSjt+gCDpvh672bc3w==", + "dev": true, + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-selector-tokenizer": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.8.0.tgz", + "integrity": "sha512-Jd6Ig3/pe62/qe5SBPTN8h8LeUg/pT4lLgtavPf7updwwHpvFzxvOQBHYj2LZDMjUnBzgvIUSjRcf6oT5HzHFg==", + "dependencies": { + "cssesc": "^3.0.0", + "fastparse": "^1.1.2" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csstype": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.0.tgz", + "integrity": "sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==", + "dev": true + }, + "node_modules/daisyui": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/daisyui/-/daisyui-2.19.0.tgz", + "integrity": "sha512-lLOz4cHm3xpm0AfdFojDFrhiDu4hZTdEbcVJri+KzQn1HvxmZS4STVujn8tV4RQXjchGdnIsXFqxd6F7rVZBiA==", + "dependencies": { + "color": "^4.2", + "css-selector-tokenizer": "^0.8.0", + "postcss-js": "^4.0.0", + "tailwindcss": "^3.0" + }, + "peerDependencies": { + "autoprefixer": "^10.0.2", + "postcss": "^8.1.6" + } + }, + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "dev": true + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/define-properties": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "dev": true, + "dependencies": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ==" + }, + "node_modules/detective": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", + "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", + "dependencies": { + "acorn-node": "^1.8.2", + "defined": "^1.0.0", + "minimist": "^1.2.6" + }, + "bin": { + "detective": "bin/detective.js" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.146", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.146.tgz", + "integrity": "sha512-4eWebzDLd+hYLm4csbyMU2EbBnqhwl8Oe9eF/7CBDPWcRxFmqzx4izxvHH+lofQxzieg8UbB8ZuzNTxeukzfTg==" + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "node_modules/es-abstract": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.1.tgz", + "integrity": "sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.1.1", + "get-symbol-description": "^1.0.0", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.4", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "regexp.prototype.flags": "^1.4.3", + "string.prototype.trimend": "^1.0.5", + "string.prototype.trimstart": "^1.0.5", + "unbox-primitive": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "8.17.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.17.0.tgz", + "integrity": "sha512-gq0m0BTJfci60Fz4nczYxNAlED+sMcihltndR8t9t1evnU/azx53x3t2UHXC/uRjcbvRw/XctpaNygSTcQD+Iw==", + "dev": true, + "dependencies": { + "@eslint/eslintrc": "^1.3.0", + "@humanwhocodes/config-array": "^0.9.2", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.1.1", + "eslint-utils": "^3.0.0", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.3.2", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^6.0.1", + "globals": "^13.15.0", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "regexpp": "^3.2.0", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-next": { + "version": "12.1.6", + "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-12.1.6.tgz", + "integrity": "sha512-qoiS3g/EPzfCTkGkaPBSX9W0NGE/B1wNO3oWrd76QszVGrdpLggNqcO8+LR6MB0CNqtp9Q8NoeVrxNVbzM9hqA==", + "dev": true, + "dependencies": { + "@next/eslint-plugin-next": "12.1.6", + "@rushstack/eslint-patch": "^1.1.3", + "@typescript-eslint/parser": "^5.21.0", + "eslint-import-resolver-node": "^0.3.6", + "eslint-import-resolver-typescript": "^2.7.1", + "eslint-plugin-import": "^2.26.0", + "eslint-plugin-jsx-a11y": "^6.5.1", + "eslint-plugin-react": "^7.29.4", + "eslint-plugin-react-hooks": "^4.5.0" + }, + "peerDependencies": { + "eslint": "^7.23.0 || ^8.0.0", + "next": ">=10.2.0", + "typescript": ">=3.3.1" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", + "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", + "dev": true, + "dependencies": { + "debug": "^3.2.7", + "resolve": "^1.20.0" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-import-resolver-typescript": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.7.1.tgz", + "integrity": "sha512-00UbgGwV8bSgUv34igBDbTOtKhqoRMy9bFjNehT40bXg6585PNIct8HhXZ0SybqB9rWtXj9crcku8ndDn/gIqQ==", + "dev": true, + "dependencies": { + "debug": "^4.3.4", + "glob": "^7.2.0", + "is-glob": "^4.0.3", + "resolve": "^1.22.0", + "tsconfig-paths": "^3.14.1" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "*", + "eslint-plugin-import": "*" + } + }, + "node_modules/eslint-import-resolver-typescript/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/eslint-module-utils": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz", + "integrity": "sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==", + "dev": true, + "dependencies": { + "debug": "^3.2.7", + "find-up": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.26.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz", + "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.4", + "array.prototype.flat": "^1.2.5", + "debug": "^2.6.9", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.6", + "eslint-module-utils": "^2.7.3", + "has": "^1.0.3", + "is-core-module": "^2.8.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.values": "^1.1.5", + "resolve": "^1.22.0", + "tsconfig-paths": "^3.14.1" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.5.1.tgz", + "integrity": "sha512-sVCFKX9fllURnXT2JwLN5Qgo24Ug5NF6dxhkmxsMEUZhXRcGg+X3e1JbJ84YePQKBl5E0ZjAH5Q4rkdcGY99+g==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.16.3", + "aria-query": "^4.2.2", + "array-includes": "^3.1.4", + "ast-types-flow": "^0.0.7", + "axe-core": "^4.3.5", + "axobject-query": "^2.2.0", + "damerau-levenshtein": "^1.0.7", + "emoji-regex": "^9.2.2", + "has": "^1.0.3", + "jsx-ast-utils": "^3.2.1", + "language-tags": "^1.0.5", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.30.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.30.0.tgz", + "integrity": "sha512-RgwH7hjW48BleKsYyHK5vUAvxtE9SMPDKmcPRQgtRCYaZA0XQPt5FSkrU3nhz5ifzMZcA8opwmRJ2cmOO8tr5A==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.5", + "array.prototype.flatmap": "^1.3.0", + "doctrine": "^2.1.0", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.5", + "object.fromentries": "^2.0.5", + "object.hasown": "^1.1.1", + "object.values": "^1.1.5", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.3", + "semver": "^6.3.0", + "string.prototype.matchall": "^4.0.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.5.0.tgz", + "integrity": "sha512-8k1gRt7D7h03kd+SAAlzXkQwWK22BnK6GKZG+FJA6BAGy22CFvl8kCIXKpVux0cCxMWDQUPqSok0LKaZ0aOcCw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.3", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.3.tgz", + "integrity": "sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==", + "dev": true, + "dependencies": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-plugin-react/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-scope": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", + "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=5" + } + }, + "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/espree": { + "version": "9.3.2", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.2.tgz", + "integrity": "sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==", + "dev": true, + "dependencies": { + "acorn": "^8.7.1", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", + "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastparse": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", + "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==" + }, + "node_modules/fastq": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", + "dev": true, + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", + "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", + "dev": true + }, + "node_modules/fraction.js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", + "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://www.patreon.com/infusion" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "node_modules/function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", + "dev": true + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/glob": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "13.15.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz", + "integrity": "sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/history": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz", + "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==", + "dependencies": { + "@babel/runtime": "^7.7.6" + } + }, + "node_modules/ignore": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", + "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-callable": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", + "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", + "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.0.tgz", + "integrity": "sha512-XzO9luP6L0xkxwhIJMTJQpZo/eeN60K08jHdexfD569AGxeNug6UketeHXEhROoM8aR7EcUoOQmIhcJQjcuq8Q==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.4", + "object.assign": "^4.1.2" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/language-subtag-registry": { + "version": "0.3.21", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz", + "integrity": "sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg==", + "dev": true + }, + "node_modules/language-tags": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", + "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==", + "dev": true, + "dependencies": { + "language-subtag-registry": "~0.3.2" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lilconfig": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.5.tgz", + "integrity": "sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==", + "engines": { + "node": ">=10" + } + }, + "node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", + "dev": true, + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/nanoid": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/next": { + "version": "12.1.6", + "resolved": "https://registry.npmjs.org/next/-/next-12.1.6.tgz", + "integrity": "sha512-cebwKxL3/DhNKfg9tPZDQmbRKjueqykHHbgaoG4VBRH3AHQJ2HO0dbKFiS1hPhe1/qgc2d/hFeadsbPicmLD+A==", + "dependencies": { + "@next/env": "12.1.6", + "caniuse-lite": "^1.0.30001332", + "postcss": "8.4.5", + "styled-jsx": "5.0.2" + }, + "bin": { + "next": "dist/bin/next" + }, + "engines": { + "node": ">=12.22.0" + }, + "optionalDependencies": { + "@next/swc-android-arm-eabi": "12.1.6", + "@next/swc-android-arm64": "12.1.6", + "@next/swc-darwin-arm64": "12.1.6", + "@next/swc-darwin-x64": "12.1.6", + "@next/swc-linux-arm-gnueabihf": "12.1.6", + "@next/swc-linux-arm64-gnu": "12.1.6", + "@next/swc-linux-arm64-musl": "12.1.6", + "@next/swc-linux-x64-gnu": "12.1.6", + "@next/swc-linux-x64-musl": "12.1.6", + "@next/swc-win32-arm64-msvc": "12.1.6", + "@next/swc-win32-ia32-msvc": "12.1.6", + "@next/swc-win32-x64-msvc": "12.1.6" + }, + "peerDependencies": { + "fibers": ">= 3.1.0", + "node-sass": "^6.0.0 || ^7.0.0", + "react": "^17.0.2 || ^18.0.0-0", + "react-dom": "^17.0.2 || ^18.0.0-0", + "sass": "^1.3.0" + }, + "peerDependenciesMeta": { + "fibers": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "sass": { + "optional": true + } + } + }, + "node_modules/next/node_modules/postcss": { + "version": "8.4.5", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.5.tgz", + "integrity": "sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==", + "dependencies": { + "nanoid": "^3.1.30", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/node-releases": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.5.tgz", + "integrity": "sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q==" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.5.tgz", + "integrity": "sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.5.tgz", + "integrity": "sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.hasown": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.1.tgz", + "integrity": "sha512-LYLe4tivNQzq4JdaWW6WO3HMZZJWzkkH8fnI6EebWl0VZth2wL2Lovm74ep2/gZzlaTdV62JZHEqHQ2yVn8Q/A==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.values": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", + "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", + "dev": true, + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.4.14", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", + "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + } + ], + "dependencies": { + "nanoid": "^3.3.4", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-js": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.0.tgz", + "integrity": "sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==", + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.3.3" + } + }, + "node_modules/postcss-load-config": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", + "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "dependencies": { + "lilconfig": "^2.0.5", + "yaml": "^1.10.2" + }, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-nested": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-5.0.6.tgz", + "integrity": "sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==", + "dependencies": { + "postcss-selector-parser": "^6.0.6" + }, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.10", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", + "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dev": true, + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.1.0.tgz", + "integrity": "sha512-4oL8ivCz5ZEPyclFQXaNksK3adutVS8l2xzZU0cqEFrE9Sb7fC0EFK5uEk74wIreL1DERyjvsU915j1pcT2uEQ==", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.1.0.tgz", + "integrity": "sha512-fU1Txz7Budmvamp7bshe4Zi32d0ll7ect+ccxNu9FlObT605GOEB8BfO4tmRJ39R5Zj831VCpvQ05QPBW5yb+w==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.22.0" + }, + "peerDependencies": { + "react": "^18.1.0" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + }, + "node_modules/react-router": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.3.0.tgz", + "integrity": "sha512-7Wh1DzVQ+tlFjkeo+ujvjSqSJmkt1+8JO+T5xklPlgrh70y7ogx75ODRW0ThWhY7S+6yEDks8TYrtQe/aoboBQ==", + "dependencies": { + "history": "^5.2.0" + }, + "peerDependencies": { + "react": ">=16.8" + } + }, + "node_modules/react-router-dom": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.3.0.tgz", + "integrity": "sha512-uaJj7LKytRxZNQV8+RbzJWnJ8K2nPsOOEuX7aQstlMZKQT0164C+X2w6bnkqU3sjtLvpd5ojrezAyfZ1+0sStw==", + "dependencies": { + "history": "^5.2.0", + "react-router": "6.3.0" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" + }, + "node_modules/regexp.prototype.flags": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/resolve": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", + "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", + "dependencies": { + "is-core-module": "^2.8.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/scheduler": { + "version": "0.22.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.22.0.tgz", + "integrity": "sha512-6QAm1BgQI88NPYymgGQLCZgvep4FyePDWFpXVK+zNSUgHwlqpJy8VEh8Et0KxTACS4VWwMousBElAZOH9nkkoQ==", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.7.tgz", + "integrity": "sha512-f48okCX7JiwVi1NXCVWcFnZgADDC/n2vePlQ/KUCNqCikLLilQvwjMO8+BHVKvgzH0JB0J9LEPgxOGT02RoETg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1", + "get-intrinsic": "^1.1.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "regexp.prototype.flags": "^1.4.1", + "side-channel": "^1.0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz", + "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz", + "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/styled-jsx": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.0.2.tgz", + "integrity": "sha512-LqPQrbBh3egD57NBcHET4qcgshPks+yblyhPlH2GY8oaDgKs8SK4C3dBh3oSJjgzJ3G5t1SYEZGHkP+QEpX9EQ==", + "engines": { + "node": ">= 12.0.0" + }, + "peerDependencies": { + "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tailwindcss": { + "version": "3.0.24", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.0.24.tgz", + "integrity": "sha512-H3uMmZNWzG6aqmg9q07ZIRNIawoiEcNFKDfL+YzOPuPsXuDXxJxB9icqzLgdzKNwjG3SAro2h9SYav8ewXNgig==", + "dependencies": { + "arg": "^5.0.1", + "chokidar": "^3.5.3", + "color-name": "^1.1.4", + "detective": "^5.2.0", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.2.11", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "lilconfig": "^2.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.12", + "postcss-js": "^4.0.0", + "postcss-load-config": "^3.1.4", + "postcss-nested": "5.0.6", + "postcss-selector-parser": "^6.0.10", + "postcss-value-parser": "^4.2.0", + "quick-lru": "^5.1.1", + "resolve": "^1.22.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=12.13.0" + }, + "peerDependencies": { + "postcss": "^8.0.9" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tsconfig-paths": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", + "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==", + "dev": true, + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.1", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "4.7.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.3.tgz", + "integrity": "sha512-WOkT3XYvrpXx4vMMqlD+8R8R37fZkjyLGlxavMc4iB8lrl8L0DeTcHbYgw/v0N/z9wAFsgBhcsF0ruoySS22mA==", + "dev": true, + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "node_modules/v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "engines": { + "node": ">= 6" + } + } + }, + "dependencies": { + "@babel/runtime": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.3.tgz", + "integrity": "sha512-38Y8f7YUhce/K7RMwTp7m0uCumpv9hZkitCbBClqQIow1qSbCvGkcegKOXpEWCQLfWmevgRiWokZ1GkpfhbZug==", + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/runtime-corejs3": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.18.3.tgz", + "integrity": "sha512-l4ddFwrc9rnR+EJsHsh+TJ4A35YqQz/UqcjtlX2ov53hlJYG5CxtQmNZxyajwDVmCxwy++rtvGU5HazCK4W41Q==", + "dev": true, + "requires": { + "core-js-pure": "^3.20.2", + "regenerator-runtime": "^0.13.4" + } + }, + "@eslint/eslintrc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.0.tgz", + "integrity": "sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.3.2", + "globals": "^13.15.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + } + }, + "@humanwhocodes/config-array": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", + "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + } + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "@next/env": { + "version": "12.1.6", + "resolved": "https://registry.npmjs.org/@next/env/-/env-12.1.6.tgz", + "integrity": "sha512-Te/OBDXFSodPU6jlXYPAXpmZr/AkG6DCATAxttQxqOWaq6eDFX25Db3dK0120GZrSZmv4QCe9KsZmJKDbWs4OA==" + }, + "@next/eslint-plugin-next": { + "version": "12.1.6", + "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-12.1.6.tgz", + "integrity": "sha512-yNUtJ90NEiYFT6TJnNyofKMPYqirKDwpahcbxBgSIuABwYOdkGwzos1ZkYD51Qf0diYwpQZBeVqElTk7Q2WNqw==", + "dev": true, + "requires": { + "glob": "7.1.7" + } + }, + "@next/swc-android-arm-eabi": { + "version": "12.1.6", + "resolved": "https://registry.npmjs.org/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-12.1.6.tgz", + "integrity": "sha512-BxBr3QAAAXWgk/K7EedvzxJr2dE014mghBSA9iOEAv0bMgF+MRq4PoASjuHi15M2zfowpcRG8XQhMFtxftCleQ==", + "optional": true + }, + "@next/swc-android-arm64": { + "version": "12.1.6", + "resolved": "https://registry.npmjs.org/@next/swc-android-arm64/-/swc-android-arm64-12.1.6.tgz", + "integrity": "sha512-EboEk3ROYY7U6WA2RrMt/cXXMokUTXXfnxe2+CU+DOahvbrO8QSWhlBl9I9ZbFzJx28AGB9Yo3oQHCvph/4Lew==", + "optional": true + }, + "@next/swc-darwin-arm64": { + "version": "12.1.6", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-12.1.6.tgz", + "integrity": "sha512-P0EXU12BMSdNj1F7vdkP/VrYDuCNwBExtRPDYawgSUakzi6qP0iKJpya2BuLvNzXx+XPU49GFuDC5X+SvY0mOw==", + "optional": true + }, + "@next/swc-darwin-x64": { + "version": "12.1.6", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-12.1.6.tgz", + "integrity": "sha512-9FptMnbgHJK3dRDzfTpexs9S2hGpzOQxSQbe8omz6Pcl7rnEp9x4uSEKY51ho85JCjL4d0tDLBcXEJZKKLzxNg==", + "optional": true + }, + "@next/swc-linux-arm-gnueabihf": { + "version": "12.1.6", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-12.1.6.tgz", + "integrity": "sha512-PvfEa1RR55dsik/IDkCKSFkk6ODNGJqPY3ysVUZqmnWMDSuqFtf7BPWHFa/53znpvVB5XaJ5Z1/6aR5CTIqxPw==", + "optional": true + }, + "@next/swc-linux-arm64-gnu": { + "version": "12.1.6", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-12.1.6.tgz", + "integrity": "sha512-53QOvX1jBbC2ctnmWHyRhMajGq7QZfl974WYlwclXarVV418X7ed7o/EzGY+YVAEKzIVaAB9JFFWGXn8WWo0gQ==", + "optional": true + }, + "@next/swc-linux-arm64-musl": { + "version": "12.1.6", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-12.1.6.tgz", + "integrity": "sha512-CMWAkYqfGdQCS+uuMA1A2UhOfcUYeoqnTW7msLr2RyYAys15pD960hlDfq7QAi8BCAKk0sQ2rjsl0iqMyziohQ==", + "optional": true + }, + "@next/swc-linux-x64-gnu": { + "version": "12.1.6", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-12.1.6.tgz", + "integrity": "sha512-AC7jE4Fxpn0s3ujngClIDTiEM/CQiB2N2vkcyWWn6734AmGT03Duq6RYtPMymFobDdAtZGFZd5nR95WjPzbZAQ==", + "optional": true + }, + "@next/swc-linux-x64-musl": { + "version": "12.1.6", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-12.1.6.tgz", + "integrity": "sha512-c9Vjmi0EVk0Kou2qbrynskVarnFwfYIi+wKufR9Ad7/IKKuP6aEhOdZiIIdKsYWRtK2IWRF3h3YmdnEa2WLUag==", + "optional": true + }, + "@next/swc-win32-arm64-msvc": { + "version": "12.1.6", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-12.1.6.tgz", + "integrity": "sha512-3UTOL/5XZSKFelM7qN0it35o3Cegm6LsyuERR3/OoqEExyj3aCk7F025b54/707HTMAnjlvQK3DzLhPu/xxO4g==", + "optional": true + }, + "@next/swc-win32-ia32-msvc": { + "version": "12.1.6", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-12.1.6.tgz", + "integrity": "sha512-8ZWoj6nCq6fI1yCzKq6oK0jE6Mxlz4MrEsRyu0TwDztWQWe7rh4XXGLAa2YVPatYcHhMcUL+fQQbqd1MsgaSDA==", + "optional": true + }, + "@next/swc-win32-x64-msvc": { + "version": "12.1.6", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-12.1.6.tgz", + "integrity": "sha512-4ZEwiRuZEicXhXqmhw3+de8Z4EpOLQj/gp+D9fFWo6ii6W1kBkNNvvEx4A90ugppu+74pT1lIJnOuz3A9oQeJA==", + "optional": true + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@rushstack/eslint-patch": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.1.3.tgz", + "integrity": "sha512-WiBSI6JBIhC6LRIsB2Kwh8DsGTlbBU+mLRxJmAe3LjHTdkDpwIbEOZgoXBbZilk/vlfjK8i6nKRAvIRn1XaIMw==", + "dev": true + }, + "@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true + }, + "@types/node": { + "version": "17.0.40", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.40.tgz", + "integrity": "sha512-UXdBxNGqTMtm7hCwh9HtncFVLrXoqA3oJW30j6XWp5BH/wu3mVeaxo7cq5benFdBw34HB3XDT2TRPI7rXZ+mDg==", + "dev": true + }, + "@types/prop-types": { + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==", + "dev": true + }, + "@types/react": { + "version": "18.0.11", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.11.tgz", + "integrity": "sha512-JxSwm54IgMW4XTR+zFF5QpNx4JITmFbB4WHR2J0vg9RpjNeyqEMlODXsD2e64br6GX70TL0UYjZJETpyyC1WdA==", + "dev": true, + "requires": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "@types/scheduler": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", + "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==", + "dev": true + }, + "@typescript-eslint/parser": { + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.27.0.tgz", + "integrity": "sha512-8oGjQF46c52l7fMiPPvX4It3u3V3JipssqDfHQ2hcR0AeR8Zge+OYyKUCm5b70X72N1qXt0qgHenwN6Gc2SXZA==", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.27.0", + "@typescript-eslint/types": "5.27.0", + "@typescript-eslint/typescript-estree": "5.27.0", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.27.0.tgz", + "integrity": "sha512-VnykheBQ/sHd1Vt0LJ1JLrMH1GzHO+SzX6VTXuStISIsvRiurue/eRkTqSrG0CexHQgKG8shyJfR4o5VYioB9g==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.27.0", + "@typescript-eslint/visitor-keys": "5.27.0" + } + }, + "@typescript-eslint/types": { + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.27.0.tgz", + "integrity": "sha512-lY6C7oGm9a/GWhmUDOs3xAVRz4ty/XKlQ2fOLr8GAIryGn0+UBOoJDWyHer3UgrHkenorwvBnphhP+zPmzmw0A==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.27.0.tgz", + "integrity": "sha512-QywPMFvgZ+MHSLRofLI7BDL+UczFFHyj0vF5ibeChDAJgdTV8k4xgEwF0geFhVlPc1p8r70eYewzpo6ps+9LJQ==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.27.0", + "@typescript-eslint/visitor-keys": "5.27.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.27.0.tgz", + "integrity": "sha512-46cYrteA2MrIAjv9ai44OQDUoCZyHeGIc4lsjCUX2WT6r4C+kidz1bNiR4017wHOPUythYeH+Sc7/cFP97KEAA==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.27.0", + "eslint-visitor-keys": "^3.3.0" + } + }, + "acorn": { + "version": "8.7.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", + "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "requires": {} + }, + "acorn-node": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", + "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "requires": { + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" + } + } + }, + "acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==" + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "arg": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.1.tgz", + "integrity": "sha512-e0hDa9H2Z9AwFkk2qDlwhoMYE4eToKarchkQHovNdLTCYMHZHeRjI71crOh+dio4K6u1IcwubQqo79Ga4CyAQA==" + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "aria-query": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", + "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", + "dev": true, + "requires": { + "@babel/runtime": "^7.10.2", + "@babel/runtime-corejs3": "^7.10.2" + } + }, + "array-includes": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.5.tgz", + "integrity": "sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5", + "get-intrinsic": "^1.1.1", + "is-string": "^1.0.7" + } + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, + "array.prototype.flat": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz", + "integrity": "sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.2", + "es-shim-unscopables": "^1.0.0" + } + }, + "array.prototype.flatmap": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.0.tgz", + "integrity": "sha512-PZC9/8TKAIxcWKdyeb77EzULHPrIX/tIZebLJUQOMR1OwYosT8yggdfWScfTBCDj5utONvOuPQQumYsU2ULbkg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.2", + "es-shim-unscopables": "^1.0.0" + } + }, + "ast-types-flow": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", + "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==", + "dev": true + }, + "autoprefixer": { + "version": "10.4.7", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.7.tgz", + "integrity": "sha512-ypHju4Y2Oav95SipEcCcI5J7CGPuvz8oat7sUtYj3ClK44bldfvtvcxK6IEK++7rqB7YchDGzweZIBG+SD0ZAA==", + "requires": { + "browserslist": "^4.20.3", + "caniuse-lite": "^1.0.30001335", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + } + }, + "axe-core": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.4.2.tgz", + "integrity": "sha512-LVAaGp/wkkgYJcjmHsoKx4juT1aQvJyPcW09MLCjVTh3V2cc6PnyempiLMNH5iMdfIX/zdbjUx2KDjMLCTdPeA==", + "dev": true + }, + "axobject-query": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", + "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "browserslist": { + "version": "4.20.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.3.tgz", + "integrity": "sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==", + "requires": { + "caniuse-lite": "^1.0.30001332", + "electron-to-chromium": "^1.4.118", + "escalade": "^3.1.1", + "node-releases": "^2.0.3", + "picocolors": "^1.0.0" + } + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==" + }, + "caniuse-lite": { + "version": "1.0.30001346", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001346.tgz", + "integrity": "sha512-q6ibZUO2t88QCIPayP/euuDREq+aMAxFE5S70PkrLh0iTDj/zEhgvJRKC2+CvXY6EWc6oQwUR48lL5vCW6jiXQ==" + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "color": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", + "requires": { + "color-convert": "^2.0.1", + "color-string": "^1.9.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "requires": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "core-js-pure": { + "version": "3.22.8", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.22.8.tgz", + "integrity": "sha512-bOxbZIy9S5n4OVH63XaLVXZ49QKicjowDx/UELyJ68vxfCRpYsbyh/WNZNfEfAk+ekA8vSjt+gCDpvh672bc3w==", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "css-selector-tokenizer": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.8.0.tgz", + "integrity": "sha512-Jd6Ig3/pe62/qe5SBPTN8h8LeUg/pT4lLgtavPf7updwwHpvFzxvOQBHYj2LZDMjUnBzgvIUSjRcf6oT5HzHFg==", + "requires": { + "cssesc": "^3.0.0", + "fastparse": "^1.1.2" + } + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" + }, + "csstype": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.0.tgz", + "integrity": "sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==", + "dev": true + }, + "daisyui": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/daisyui/-/daisyui-2.19.0.tgz", + "integrity": "sha512-lLOz4cHm3xpm0AfdFojDFrhiDu4hZTdEbcVJri+KzQn1HvxmZS4STVujn8tV4RQXjchGdnIsXFqxd6F7rVZBiA==", + "requires": { + "color": "^4.2", + "css-selector-tokenizer": "^0.8.0", + "postcss-js": "^4.0.0", + "tailwindcss": "^3.0" + } + }, + "damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "dev": true + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "define-properties": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "dev": true, + "requires": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, + "defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ==" + }, + "detective": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", + "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", + "requires": { + "acorn-node": "^1.8.2", + "defined": "^1.0.0", + "minimist": "^1.2.6" + } + }, + "didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "electron-to-chromium": { + "version": "1.4.146", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.146.tgz", + "integrity": "sha512-4eWebzDLd+hYLm4csbyMU2EbBnqhwl8Oe9eF/7CBDPWcRxFmqzx4izxvHH+lofQxzieg8UbB8ZuzNTxeukzfTg==" + }, + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "es-abstract": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.1.tgz", + "integrity": "sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.1.1", + "get-symbol-description": "^1.0.0", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.4", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "regexp.prototype.flags": "^1.4.3", + "string.prototype.trimend": "^1.0.5", + "string.prototype.trimstart": "^1.0.5", + "unbox-primitive": "^1.0.2" + } + }, + "es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, + "eslint": { + "version": "8.17.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.17.0.tgz", + "integrity": "sha512-gq0m0BTJfci60Fz4nczYxNAlED+sMcihltndR8t9t1evnU/azx53x3t2UHXC/uRjcbvRw/XctpaNygSTcQD+Iw==", + "dev": true, + "requires": { + "@eslint/eslintrc": "^1.3.0", + "@humanwhocodes/config-array": "^0.9.2", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.1.1", + "eslint-utils": "^3.0.0", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.3.2", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^6.0.1", + "globals": "^13.15.0", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "regexpp": "^3.2.0", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + } + }, + "eslint-config-next": { + "version": "12.1.6", + "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-12.1.6.tgz", + "integrity": "sha512-qoiS3g/EPzfCTkGkaPBSX9W0NGE/B1wNO3oWrd76QszVGrdpLggNqcO8+LR6MB0CNqtp9Q8NoeVrxNVbzM9hqA==", + "dev": true, + "requires": { + "@next/eslint-plugin-next": "12.1.6", + "@rushstack/eslint-patch": "^1.1.3", + "@typescript-eslint/parser": "^5.21.0", + "eslint-import-resolver-node": "^0.3.6", + "eslint-import-resolver-typescript": "^2.7.1", + "eslint-plugin-import": "^2.26.0", + "eslint-plugin-jsx-a11y": "^6.5.1", + "eslint-plugin-react": "^7.29.4", + "eslint-plugin-react-hooks": "^4.5.0" + } + }, + "eslint-import-resolver-node": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", + "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", + "dev": true, + "requires": { + "debug": "^3.2.7", + "resolve": "^1.20.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "eslint-import-resolver-typescript": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.7.1.tgz", + "integrity": "sha512-00UbgGwV8bSgUv34igBDbTOtKhqoRMy9bFjNehT40bXg6585PNIct8HhXZ0SybqB9rWtXj9crcku8ndDn/gIqQ==", + "dev": true, + "requires": { + "debug": "^4.3.4", + "glob": "^7.2.0", + "is-glob": "^4.0.3", + "resolve": "^1.22.0", + "tsconfig-paths": "^3.14.1" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } + } + }, + "eslint-module-utils": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz", + "integrity": "sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==", + "dev": true, + "requires": { + "debug": "^3.2.7", + "find-up": "^2.1.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "eslint-plugin-import": { + "version": "2.26.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz", + "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==", + "dev": true, + "requires": { + "array-includes": "^3.1.4", + "array.prototype.flat": "^1.2.5", + "debug": "^2.6.9", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.6", + "eslint-module-utils": "^2.7.3", + "has": "^1.0.3", + "is-core-module": "^2.8.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.values": "^1.1.5", + "resolve": "^1.22.0", + "tsconfig-paths": "^3.14.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, + "eslint-plugin-jsx-a11y": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.5.1.tgz", + "integrity": "sha512-sVCFKX9fllURnXT2JwLN5Qgo24Ug5NF6dxhkmxsMEUZhXRcGg+X3e1JbJ84YePQKBl5E0ZjAH5Q4rkdcGY99+g==", + "dev": true, + "requires": { + "@babel/runtime": "^7.16.3", + "aria-query": "^4.2.2", + "array-includes": "^3.1.4", + "ast-types-flow": "^0.0.7", + "axe-core": "^4.3.5", + "axobject-query": "^2.2.0", + "damerau-levenshtein": "^1.0.7", + "emoji-regex": "^9.2.2", + "has": "^1.0.3", + "jsx-ast-utils": "^3.2.1", + "language-tags": "^1.0.5", + "minimatch": "^3.0.4" + } + }, + "eslint-plugin-react": { + "version": "7.30.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.30.0.tgz", + "integrity": "sha512-RgwH7hjW48BleKsYyHK5vUAvxtE9SMPDKmcPRQgtRCYaZA0XQPt5FSkrU3nhz5ifzMZcA8opwmRJ2cmOO8tr5A==", + "dev": true, + "requires": { + "array-includes": "^3.1.5", + "array.prototype.flatmap": "^1.3.0", + "doctrine": "^2.1.0", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.5", + "object.fromentries": "^2.0.5", + "object.hasown": "^1.1.1", + "object.values": "^1.1.5", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.3", + "semver": "^6.3.0", + "string.prototype.matchall": "^4.0.7" + }, + "dependencies": { + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "resolve": { + "version": "2.0.0-next.3", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.3.tgz", + "integrity": "sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==", + "dev": true, + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "eslint-plugin-react-hooks": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.5.0.tgz", + "integrity": "sha512-8k1gRt7D7h03kd+SAAlzXkQwWK22BnK6GKZG+FJA6BAGy22CFvl8kCIXKpVux0cCxMWDQUPqSok0LKaZ0aOcCw==", + "dev": true, + "requires": {} + }, + "eslint-scope": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", + "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^2.0.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true + } + } + }, + "eslint-visitor-keys": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "dev": true + }, + "espree": { + "version": "9.3.2", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.2.tgz", + "integrity": "sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==", + "dev": true, + "requires": { + "acorn": "^8.7.1", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.3.0" + } + }, + "esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-glob": { + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", + "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "fastparse": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", + "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==" + }, + "fastq": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "requires": { + "reusify": "^1.0.4" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", + "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", + "dev": true + }, + "fraction.js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", + "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==" + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + } + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", + "dev": true + }, + "functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true + }, + "get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, + "glob": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "13.15.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz", + "integrity": "sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.1" + } + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true + }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "history": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz", + "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==", + "requires": { + "@babel/runtime": "^7.7.6" + } + }, + "ignore": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", + "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, + "is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" + }, + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "requires": { + "has-bigints": "^1.0.1" + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-callable": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", + "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", + "dev": true + }, + "is-core-module": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", + "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", + "requires": { + "has": "^1.0.3" + } + }, + "is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "jsx-ast-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.0.tgz", + "integrity": "sha512-XzO9luP6L0xkxwhIJMTJQpZo/eeN60K08jHdexfD569AGxeNug6UketeHXEhROoM8aR7EcUoOQmIhcJQjcuq8Q==", + "dev": true, + "requires": { + "array-includes": "^3.1.4", + "object.assign": "^4.1.2" + } + }, + "language-subtag-registry": { + "version": "0.3.21", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz", + "integrity": "sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg==", + "dev": true + }, + "language-tags": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", + "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==", + "dev": true, + "requires": { + "language-subtag-registry": "~0.3.2" + } + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "lilconfig": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.5.tgz", + "integrity": "sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==" + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "nanoid": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==" + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "next": { + "version": "12.1.6", + "resolved": "https://registry.npmjs.org/next/-/next-12.1.6.tgz", + "integrity": "sha512-cebwKxL3/DhNKfg9tPZDQmbRKjueqykHHbgaoG4VBRH3AHQJ2HO0dbKFiS1hPhe1/qgc2d/hFeadsbPicmLD+A==", + "requires": { + "@next/env": "12.1.6", + "@next/swc-android-arm-eabi": "12.1.6", + "@next/swc-android-arm64": "12.1.6", + "@next/swc-darwin-arm64": "12.1.6", + "@next/swc-darwin-x64": "12.1.6", + "@next/swc-linux-arm-gnueabihf": "12.1.6", + "@next/swc-linux-arm64-gnu": "12.1.6", + "@next/swc-linux-arm64-musl": "12.1.6", + "@next/swc-linux-x64-gnu": "12.1.6", + "@next/swc-linux-x64-musl": "12.1.6", + "@next/swc-win32-arm64-msvc": "12.1.6", + "@next/swc-win32-ia32-msvc": "12.1.6", + "@next/swc-win32-x64-msvc": "12.1.6", + "caniuse-lite": "^1.0.30001332", + "postcss": "8.4.5", + "styled-jsx": "5.0.2" + }, + "dependencies": { + "postcss": { + "version": "8.4.5", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.5.tgz", + "integrity": "sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==", + "requires": { + "nanoid": "^3.1.30", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.1" + } + } + } + }, + "node-releases": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.5.tgz", + "integrity": "sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q==" + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true + }, + "object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==" + }, + "object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "dev": true + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, + "object.entries": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.5.tgz", + "integrity": "sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" + } + }, + "object.fromentries": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.5.tgz", + "integrity": "sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" + } + }, + "object.hasown": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.1.tgz", + "integrity": "sha512-LYLe4tivNQzq4JdaWW6WO3HMZZJWzkkH8fnI6EebWl0VZth2wL2Lovm74ep2/gZzlaTdV62JZHEqHQ2yVn8Q/A==", + "dev": true, + "requires": { + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" + } + }, + "object.values": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", + "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", + "dev": true + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + }, + "postcss": { + "version": "8.4.14", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", + "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==", + "requires": { + "nanoid": "^3.3.4", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + }, + "postcss-js": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.0.tgz", + "integrity": "sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==", + "requires": { + "camelcase-css": "^2.0.1" + } + }, + "postcss-load-config": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", + "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "requires": { + "lilconfig": "^2.0.5", + "yaml": "^1.10.2" + } + }, + "postcss-nested": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-5.0.6.tgz", + "integrity": "sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==", + "requires": { + "postcss-selector-parser": "^6.0.6" + } + }, + "postcss-selector-parser": { + "version": "6.0.10", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", + "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true + }, + "prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dev": true, + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" + }, + "quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==" + }, + "react": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.1.0.tgz", + "integrity": "sha512-4oL8ivCz5ZEPyclFQXaNksK3adutVS8l2xzZU0cqEFrE9Sb7fC0EFK5uEk74wIreL1DERyjvsU915j1pcT2uEQ==", + "requires": { + "loose-envify": "^1.1.0" + } + }, + "react-dom": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.1.0.tgz", + "integrity": "sha512-fU1Txz7Budmvamp7bshe4Zi32d0ll7ect+ccxNu9FlObT605GOEB8BfO4tmRJ39R5Zj831VCpvQ05QPBW5yb+w==", + "requires": { + "loose-envify": "^1.1.0", + "scheduler": "^0.22.0" + } + }, + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + }, + "react-router": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.3.0.tgz", + "integrity": "sha512-7Wh1DzVQ+tlFjkeo+ujvjSqSJmkt1+8JO+T5xklPlgrh70y7ogx75ODRW0ThWhY7S+6yEDks8TYrtQe/aoboBQ==", + "requires": { + "history": "^5.2.0" + } + }, + "react-router-dom": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.3.0.tgz", + "integrity": "sha512-uaJj7LKytRxZNQV8+RbzJWnJ8K2nPsOOEuX7aQstlMZKQT0164C+X2w6bnkqU3sjtLvpd5ojrezAyfZ1+0sStw==", + "requires": { + "history": "^5.2.0", + "react-router": "6.3.0" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "requires": { + "picomatch": "^2.2.1" + } + }, + "regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" + }, + "regexp.prototype.flags": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" + } + }, + "regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true + }, + "resolve": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", + "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", + "requires": { + "is-core-module": "^2.8.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "scheduler": { + "version": "0.22.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.22.0.tgz", + "integrity": "sha512-6QAm1BgQI88NPYymgGQLCZgvep4FyePDWFpXVK+zNSUgHwlqpJy8VEh8Et0KxTACS4VWwMousBElAZOH9nkkoQ==", + "requires": { + "loose-envify": "^1.1.0" + } + }, + "semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "requires": { + "is-arrayish": "^0.3.1" + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" + }, + "string.prototype.matchall": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.7.tgz", + "integrity": "sha512-f48okCX7JiwVi1NXCVWcFnZgADDC/n2vePlQ/KUCNqCikLLilQvwjMO8+BHVKvgzH0JB0J9LEPgxOGT02RoETg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1", + "get-intrinsic": "^1.1.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "regexp.prototype.flags": "^1.4.1", + "side-channel": "^1.0.4" + } + }, + "string.prototype.trimend": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz", + "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" + } + }, + "string.prototype.trimstart": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz", + "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, + "styled-jsx": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.0.2.tgz", + "integrity": "sha512-LqPQrbBh3egD57NBcHET4qcgshPks+yblyhPlH2GY8oaDgKs8SK4C3dBh3oSJjgzJ3G5t1SYEZGHkP+QEpX9EQ==", + "requires": {} + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" + }, + "tailwindcss": { + "version": "3.0.24", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.0.24.tgz", + "integrity": "sha512-H3uMmZNWzG6aqmg9q07ZIRNIawoiEcNFKDfL+YzOPuPsXuDXxJxB9icqzLgdzKNwjG3SAro2h9SYav8ewXNgig==", + "requires": { + "arg": "^5.0.1", + "chokidar": "^3.5.3", + "color-name": "^1.1.4", + "detective": "^5.2.0", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.2.11", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "lilconfig": "^2.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.12", + "postcss-js": "^4.0.0", + "postcss-load-config": "^3.1.4", + "postcss-nested": "5.0.6", + "postcss-selector-parser": "^6.0.10", + "postcss-value-parser": "^4.2.0", + "quick-lru": "^5.1.1", + "resolve": "^1.22.0" + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + }, + "tsconfig-paths": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", + "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==", + "dev": true, + "requires": { + "@types/json5": "^0.0.29", + "json5": "^1.0.1", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true + }, + "typescript": { + "version": "4.7.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.3.tgz", + "integrity": "sha512-WOkT3XYvrpXx4vMMqlD+8R8R37fZkjyLGlxavMc4iB8lrl8L0DeTcHbYgw/v0N/z9wAFsgBhcsF0ruoySS22mA==", + "dev": true, + "peer": true + }, + "unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" + } + } +} diff --git a/frontend/package.json b/frontend/package.json new file mode 100644 index 0000000..715b9bc --- /dev/null +++ b/frontend/package.json @@ -0,0 +1,27 @@ +{ + "name": "social-app", + "version": "0.1.0", + "private": true, + "scripts": { + "dev": "next dev", + "build": "next build", + "start": "next start", + "lint": "next lint" + }, + "dependencies": { + "daisyui": "^2.19.0", + "next": "12.1.6", + "react": "18.1.0", + "react-dom": "18.1.0", + "react-router-dom": "^6.3.0" + }, + "devDependencies": { + "@types/node": "^17.0.40", + "@types/react": "^18.0.11", + "autoprefixer": "^10.4.7", + "eslint": "8.17.0", + "eslint-config-next": "12.1.6", + "postcss": "^8.4.14", + "tailwindcss": "^3.0.24" + } +} diff --git a/frontend/pages/_app.tsx b/frontend/pages/_app.tsx new file mode 100644 index 0000000..7ebeddd --- /dev/null +++ b/frontend/pages/_app.tsx @@ -0,0 +1,6 @@ +import '../styles/globals.css' +import { AppProps } from 'next/app' + +export default function MyApp({ Component, pageProps }: AppProps) { + return +} diff --git a/frontend/pages/index.tsx b/frontend/pages/index.tsx new file mode 100644 index 0000000..1b5348c --- /dev/null +++ b/frontend/pages/index.tsx @@ -0,0 +1,60 @@ +import PostBox from '../components/post'; +import Dashboard from '../components/ui'; +import React, { useState, useEffect } from 'react'; +import { useRouter } from 'next/router'; +let url = process.env.NEXT_PUBLIC_URL; +export default function Home(props) { + const router = useRouter(); + let [posts, setPosts] = useState([]); + useEffect(() => { + let token = localStorage.getItem("Token"); + let ps = async () => { + setPosts(await fetch(`http://${url}/posts`, { headers: { "Authorization": `Bearer ${token}` }, mode: "cors" }).then(r => r.json())); + } + ps().catch(console.error); + setInterval(refreshPosts, 20000) + }, []); + + if (posts["status"] == "bad") { + localStorage.removeItem("Token"); + router.push("/login"); + } + + let content = []; + if (posts.length != 0 && posts["status"] == undefined) { + content = Object.assign([], posts.map(post => { + return [post.Content, post.ID, post.Username] + })); + content.reverse() + } + + let refreshPosts = async() => { + let token = localStorage.getItem("Token"); + let ps = async () => { + setPosts(await fetch(`http://${url}/posts`, { headers: { "Authorization": `Bearer ${token}` }, mode: "cors" }).then(r => r.json())); + } + ps().catch(console.error); + } + + let newPost = async () => { + let token = localStorage.getItem("Token"); + let y = document.getElementById("postContent") as HTMLInputElement; + await fetch(`http://${url}/create`, { method: "POST", headers: { "Authorization": `Bearer ${token}`, "Content-Type": "application/json" }, mode: "cors", body: JSON.stringify({ Title: "UI", Content: y.value }) }); + y.value = ""; + await refreshPosts(); + } + + return ( +
+ +
+ + + {content.length != 0 ? content.map(post => { + return + }) : ""} +
+
+ + ) +} diff --git a/frontend/pages/login.tsx b/frontend/pages/login.tsx new file mode 100644 index 0000000..461fca5 --- /dev/null +++ b/frontend/pages/login.tsx @@ -0,0 +1,50 @@ +import { useRouter } from 'next/router'; +import { useEffect } from 'react'; +import Link from 'next/link' +let url = process.env.NEXT_PUBLIC_URL + +export default function Login() { + const router = useRouter(); + + useEffect(() => { + let stuff = localStorage.getItem("Token"); + if (stuff != null) { + router.push("/") + } + }, []); + + let grab_token = async (event) => { + event.preventDefault(); + let username = (document.getElementById("Username") as HTMLInputElement).value; + let password = (document.getElementById("Password") as HTMLInputElement).value; + + let token = await fetch(`http://${url}/login`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, mode: "cors", body: JSON.stringify({ "username": username, "pass": password }) }).then(r => r.json()); + if (token["status"] == "ok") { + await localStorage.setItem("Token", token["text"]); + router.push('/') + } + else { + alert("bad username/password"); + } + } + + + + return ( +
+
+

Copybook

+
+ +
+

Login

+ + + + + Signup ? + +
+
+ ) +} \ No newline at end of file diff --git a/frontend/pages/logout.tsx b/frontend/pages/logout.tsx new file mode 100644 index 0000000..7dff10c --- /dev/null +++ b/frontend/pages/logout.tsx @@ -0,0 +1,15 @@ +import { useRouter } from 'next/router'; +import React, { useEffect } from 'react'; + +export default function Logout() { + const router = useRouter(); + useEffect(() => { + localStorage.removeItem("Token"); + router.push("/login"); + }) + return ( +
+

Logging you out ...

+
+ ); +} \ No newline at end of file diff --git a/frontend/pages/post/[pid].tsx b/frontend/pages/post/[pid].tsx new file mode 100644 index 0000000..8ad2f91 --- /dev/null +++ b/frontend/pages/post/[pid].tsx @@ -0,0 +1,56 @@ +import { useState, useEffect } from 'react'; +import { useRouter } from 'next/router'; +import Dashboard from '../../components/ui'; +import CommentBox from '../../components/comment'; + +export default function Profile() { + const router = useRouter(); + + let pid = router.query.pid as string; + let [post, setPost] = useState({text: ""}); + let [comments, setComments] = useState([]); + useEffect(() => { + if (!router.isReady) return; + let token = localStorage.getItem("Token"); + let ps = async () => { + pid = router.query.pid as string; + setPost(await fetch(`http://127.0.0.1:3000/posts/${pid}`, { headers: { "Authorization": `Bearer ${token}` }, mode: "cors" }).then(r => r.json())); + setComments(await fetch(`http://127.0.0.1:3000/comments/${pid}`, { headers: { "Authorization": `Bearer ${token}` }, mode: "cors" }).then(r => r.json())); + } + ps().catch(console.error); + }, [router.isReady]); + + let refreshComments = () => { + let token = localStorage.getItem("Token"); + let ps = async () => { + setComments(await fetch(`http://127.0.0.1:3000/comments/${pid}`, { headers: { "Authorization": `Bearer ${token}` }, mode: "cors" }).then(r => r.json())); + } + ps().catch(console.error); + } + + let newComment = async () => { + let token = localStorage.getItem("Token"); + let y = document.getElementById("commentContent") as HTMLInputElement; + await fetch("http://127.0.0.1:3000/comment", { method: "POST", headers: { "Authorization": `Bearer ${token}`, "Content-Type": "application/json" }, mode: "cors", body: JSON.stringify({ "post_id": parseInt(pid), "content": y.value }) }); + y.value = ""; + refreshComments(); + } + return ( +
+ +
+

{post.text}

+ + +
+
+ {comments["Array"] != undefined ? comments["Array"].map(comment => { + return ( + + ); + }) : ""} +
+
+
+ ) +} \ No newline at end of file diff --git a/frontend/pages/profile.tsx b/frontend/pages/profile.tsx new file mode 100644 index 0000000..8501e98 --- /dev/null +++ b/frontend/pages/profile.tsx @@ -0,0 +1,27 @@ +import { useState, useEffect } from 'react'; +import { useRouter } from 'next/router'; +import Dashboard from '../components/ui'; +let url = process.env.NEXT_PUBLIC_URL + +export default function Profile() { + const router = useRouter(); + + let [info, setInfo] = useState({}); + useEffect(() => { + let token = localStorage.getItem("Token"); + let ps = async () => { + setInfo(await fetch(`http://${url}/profile`, { headers: { "Authorization": `Bearer ${token}` }, mode: "cors" }).then(r => r.json())); + } + ps().catch(console.error); + }, [router.isReady]); + return ( +
+ +
+

{info["Username"]}

+

About me :

+

woops...

+
+
+ ) +} \ No newline at end of file diff --git a/frontend/pages/profile/[pid].tsx b/frontend/pages/profile/[pid].tsx new file mode 100644 index 0000000..e21cfef --- /dev/null +++ b/frontend/pages/profile/[pid].tsx @@ -0,0 +1,29 @@ +import { useState, useEffect } from 'react'; +import { useRouter } from 'next/router'; +import Dashboard from '../../components/ui'; + + +export default function Profile() { + const router = useRouter(); + + let [info, setInfo] = useState({}); + useEffect(() => { + if (!router.isReady) return; + let token = localStorage.getItem("Token"); + let ps = async () => { + const { pid } = router.query + setInfo(await fetch(`http://127.0.0.1:3000/profile/${pid}`, { headers: { "Authorization": `Bearer ${token}` }, mode: "cors" }).then(r => r.json())); + } + ps().catch(console.error); + }, [router.isReady]); + return ( +
+ +
+

{info["Username"]}

+

About me :

+

woops...

+
+
+ ) +} \ No newline at end of file diff --git a/frontend/pages/signup.tsx b/frontend/pages/signup.tsx new file mode 100644 index 0000000..4cfb2cb --- /dev/null +++ b/frontend/pages/signup.tsx @@ -0,0 +1,38 @@ +import { useRouter } from 'next/router'; +let url = process.env.NEXT_PUBLIC_URL + +export default function Signup() { + const router = useRouter(); + + let signup = async (event) => { + event.preventDefault(); + let username = (document.getElementById("Username") as HTMLInputElement).value; + let email = (document.getElementById("Email") as HTMLInputElement).value; + let password = (document.getElementById("Password") as HTMLInputElement).value; + + let token = await fetch(`http://${url}/signup`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, mode: "cors", body: JSON.stringify({ "Username": username, "Email": email, "Password": password }) }).then(r => r.json()); + if (token["status"] == "ok") { + router.push('/login') + } + else { + alert("Username already exists"); + } + } + + return ( +
+
+

Copybook

+
+ +
+

Signup

+ + + + +
+
+ + ) +} \ No newline at end of file diff --git a/frontend/postcss.config.js b/frontend/postcss.config.js new file mode 100644 index 0000000..33ad091 --- /dev/null +++ b/frontend/postcss.config.js @@ -0,0 +1,6 @@ +module.exports = { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +} diff --git a/frontend/public/facebook_cover_photo_1.png b/frontend/public/facebook_cover_photo_1.png new file mode 100644 index 0000000000000000000000000000000000000000..e4c9660573613a64f3af9d1a2bfacd5684620b37 GIT binary patch literal 11562 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 literal 0 HcmV?d00001 diff --git a/frontend/public/facebook_cover_photo_2.png b/frontend/public/facebook_cover_photo_2.png new file mode 100644 index 0000000000000000000000000000000000000000..493e69090f6abb2729d97203483cfe7d356705ea GIT binary patch literal 6030 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 YUzo%x50?b~gAqhSMfYK)5+dyX0;zCMzW@LL literal 0 HcmV?d00001 diff --git a/frontend/public/favicon.png b/frontend/public/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..4abdcba337fab44130c5afc96e13d4fc7d5f0006 GIT binary patch literal 268 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvmUKs7M+SzC{oH>NS%G}U;vjb? zhIQv;UIICC0X`wFl0{33zu!%`b20GP34W16agP~_m<;c1416B5T zx;TbtoKH?zpqSw8Ae^z@;c0uf_B4ghlaEZ*5xpu%7a*E-G}GHMCtJ*qp4yLIB9LyI()XtW41 ztZ9A3xZ>aQj04hjnwp#|IWsf)3K|2#+XLDsOfXoYkmj)NCG;vK3Ib9>4vHXzPH2G;6afJdDM}{+snP_b zg{CM)DG4=Fl86ZGgeDR|f`J##edpaf?z{K?xg%qLdwt)UYtFUi-eY8BjKtlrFycKd zau@^x@tPRxTY^CB!2ZR-&N}Hx{77WoINWs1bwHq+B<^3%2U&Zz081lXP}SgRDr zhS@EHfGyHV|3c^KAoGG?JiL=XB#NG%$s}$NoAA*;URW|s2Ngb`-!LJrsDm;H#rm-HhMNG+EqMU1X z`6Uo(p)G|KBpd=b5C_!Qa{qbD_b<-=vEtv9{RR0C%=?h2zi|If9L@3HGW`FM{!#P4 zY=2Ok?Jou~8-IdTpO)PVSrLMj$F|q_yciuZoLTZJ?;Jx~!7eJ#Fv8VF8C&v9cuK<| z4cmiR^wi=eyu_OaWpEP&PmV7+KFI5R?YbaF*N;(B55`Jette7&DtffLo5EC*1l)Px zAD=EB%BQ$s<_@qR_4-_mw+J13+npLk?_@KJt7~~SJ`i9EI^)=$v~;sH-u;S0eBLHl zip%gNZHUWlQ*TH7WeQ#rh~t6B@p`Yl>~LkT;{+!=%a*;94Wj!@JWj)wT*j6tRrMt1 zxy|~sAxi}`>`d2H;iKlTdoKg{k!RoAOVb2icDSV0{#lpk2ezj#mdy+Bd)E{!OwccB z^Y{H4XG6Z3MHT|({U%lWvI%J4griK!fEP-@$IKqpCWFTjxvJ)eaC^;uaIx7YF;ND_ zp$8D)^B&4qS4r~qP2goJWuMu??&M&8RN_L??DzG9XG*8^w-%{NCP&{8H<99M~=K093QWZvHsZV-_g{yzKX) zf9T#gLEz$tix17wY_U7fh<@`sEUhpCK93DD9*-x?*#-n-V-+fnVO~lpR>eMzP?-F6 z1f1^&_C;*Jwh51uv*kzma*LqerhmG`0sJt{ItZ}wz>WHouq9WU4kqrZb^SVlb7UT+ zuYbFjvVD`T*u4=sR9%uOZj@eLt;6rGy(h%%@%k0z@EX{@wcf#cOij`8n)kH#PJ`Jt zZVcI`4(!Ft*>-?Pea@999@khYd zD%iu7uGco#wA0HeQ7i9QkfFJLc`4H*NergrG`sw99+QGtW zsr7e`Bbt$iaCQC8njFw@6T$8#F%HJ!>G>!^7fl%3@)2*>ADge$t=P1kw7U{<`&88K ziJ>p^T8s^|dA*@7S}+#lar=~~<_T799Vg1Z5HcQ<&2O0G=C~z_(p;Yb?gUb}RPaN# z>zPTcp`unuua!lh6%lNV&#nFLnul3s0f!i^@9q6`5j6}j5WolTG8qz=I5GXpAe|M* zu{2H*P$J{S`KDt`(dkwLmI<0-Oe28SUeGbQPFA3vW7 z(GlKvuq0XCskb+vJ=CfAJ$}(TReY5X1CW zu*h9&CyRTUqR>|n2XS2Qvt$s|v1v(wFGfjto{yj>N@VH^^T93pq1c2mA~wui&Xw@K#Go$Qg2e%Pv3>++G53_(-8Q|VJK25n2P}v2$S=@E@0X1i@Vmz((=??-E{dXrCfLZ6CY& z_v8}wiKilqcJRkOKZ{{jy|<>7MX%cX;BQg^5?uSrV6YJVN%6=&iHbit1DsQEJh|q+||rWsEXkH;`OvdR_)&^+#up{yW)fqI3t)aF=Aze z#$RibirvkPa(oCl4!$linm|~r=8$z3=z~;I1fM^)u0)}Pb=B6C)a`f1nv0eFn+dF# zC7Z>E+cIA;e99Ul?@yarf(dqiL748WsrLu?Ul0G$B|>vDJ8SqqM`Epg>VG*lILGrZ zOeN?n_;c<%@E7dQXfS7A6MU9Fw~p3<@GzSv=a)YK9XeW4i~y**4Hqex-muW}x>YJ_ z_lD9`lQkE~hdvkNMX6lb-n8XK9tHZmJ~nDi6{qu!>1>Ih%1NaGj@dA5Pg48A>PB;0 zTC+kR0c?n_3NrVx-4YF@dib)FVDtsAt|@REj6y1nT9IYEA8fVxK2?xTI?Rv!0Q3c^ z`;09Yx7^?&S<#Co2U`xd4;wX4cYWc+l>oFa`2*B8@3Fqk z)3&&4EX*Du-MX^+-Y6AS4diN=CmlvjD3TE5T*`o8`t;Xoccd9W`%DgOU2d&y_*jy- zs7O+wuY9gjuUd63e{T@c`NePqtcUi9ZrLFgFSdef%HUZhkm>t47=ZWc*ns97r7&qW zTmIEcJ_-dLQ4!K~t}%ZmqB46pn|7J>eCd=qzc^~5v30SjJ=Mynx%R3XF1)je)v2xu zWPH@b0y=~M%a_x>$OZip$cxI+0{Xgf$yY>uAnUF&c>eM2tm4?j-CM-@mHNeyO1YWJ z?553cRS||A$IVA#r7&Df6VV9~6n{zeed$1nba5G^riWt*wOx_ftgNy^LOp4J0>0Lk zKDKMQXE>r~;1gTFl9`3<9_L@2!Z_YtV4TJzi4)y%;y~ZZVExU7YfM_5)6B6@cTv)Y z^+1NOi#tvjFqMQ-9kz;xTNtq$;Js@t){3ajUw%)?nOm_c^}XevPOV3H_ALvNzWe1C z^W%LMfW(uZD!p2>N3GWa>dVu)glibV9z=k<%Gu3{jPX#&+S2j}Cd!-Iwe5yL6cE0% zE6iU2p4sP%M6J&4Bz*q${g(|@%0~}VRab&RLC~)?KMj+*H%flK3X^Pb7+in<0GjB{ z{%1A}g1#ZVOnYC(=!SNP6BS81a*g&8Awl9A`?aB=M40qTz9sW}%#0GRjTv*tGV!Vx z<8IR*qNeya>FeaSMfvAcOwCf6N*KoXqZWDKbBEms{c;u=>^yXru`9n}Amjm8X_zAq zJ59Db#0)8X>>R?;%pX zA^74GGUF83ewty(1KfDpw{g0-t=AHy zQcQ6gm!%%w^406Anz{H0y^Dy3Ms0gWg+}RiTp*6lFE_31#SGJ%G(vX3@=3qM*UA{O z=9n_-L`ikKGAVY95$v=RkfYkBG#Tz=M=2TPhm{G0J0Lh2X6ATJRIQD}RO4=}YQ0i1 z)qF4UZP+QK)3VmXi_5Rj8=*Ess!!)ow?>39ns!#O3op0)>Yl62*BdXBm#N!(6YA-6 z-F`AWa2NH({KRql_Is5 zd$8x2y}I~he&YU9m&b9p42-^TcS>fl*lW ztJI5vo~kEx{;=?en&f-9(Rk$^DmFIXH5vS7XB(;cszgO}G09q}_?r_`MRn4o*xoXwwGqxU>RDD5>0uMay3v0mt{B(&IOcRnf#eo zKA$57Yj!AOW5d*ncI{Q`30}M+)oQ)gy4FkwhQJLUFX#HBA%^WoD>P-1jR)v)8l)TO zO5~{7Im2i3F8S>s>(#8ZHzGFAYF=|*^T|{gzd#hXiPX$2k!jxb+*B<6NVYFpki6^e z@$HcnZyybnkQ2dMF$ollH45WlB80F|qzQBAR^#GFvPaCV=U1zLEEH;5{5HAx)`67e zw00tKlKLcDJ|F}MfoR=Cr%AUPswD>~>0MuTJv+Kl(M#KQGR+Q9A>MH$g{y}IMsMBY z1D<+m+U|}P-FWVs;z$|2;+;}TGqWv94id7l)>N?viReIlZL*ZCK zwMOpRi>l(Ras_q6btSEa5H5P&{4zDEYiN`g`guLqWGCw|>9>GtE2{_Q7SH)I@2u$M zs-)TGWC(Zh5q2`GOJK(gOh{QG29qamG0W{J`7ulxJJ_j1eWNGtyFNv(93QrZB~=Gg z*cfSf?Q)sImMN-!E_Y*bgw(=v_u#A6LX}{?{>1LZs`TMkjg$inL|#<}CY&@zZN|OI z{JlcxO|jv9h})ao2lX4WQ+oO*ot?rx*-%%3YEE2zv(7bJCF_MMhv(~#1G%5zqSV&w zdHy0E)pJu8@>#)qAiA%5IOkQZtlul+bc0JhI&sCi=8`uXQ3Gl9`V+Z8&hACjI=?o? zutdwDpF7tox%f`O^}G~!JvEC|c;Z65f|L44rfyDz^6=V1o*bE!#%JH+~mu8Bu7e2b^M-<+;I`=h?wxH|J+qh{n4=rOy z5;7yK-eeDZ4v)5`(xG|t2sC`aj-2xx1&96F=u-f1MpkAW3SbF%8hX;Q^ zbZ!gEYuch#aZ(+dBr!2g(M@+<&GYvyhd{F=TjthtRU=4QLE9_2S|HSENQX4;2GL!q zzR2iMBdrfBW%-#`HYZKb?pSgw_j&<{?x(>l2FytGYFdneV7wLY(^gdPGb@#wAV!f! z8#n!-veGlzNnIbiv1tG6j~DsI7$ATq&aI89FG(K_{JmH@W+0&4vbLhYUGv?=(D~z^ zKnx9Vn^}8lvjp-Y2CML{{I|BtLqTqQY^y@y2k8?b$YX^!C(@-Ea^|-UArj67Gd~-G z)=O|obvJ7eyw|F=Wc-H$UbR4C2C;uZRYGZ#XiKAsNA+l4NX_<9e+c_l;@UFO?b z;;i9$M;6Z$T7*BbAs?4egv3Udue|N#xc||W%QX=+mz!|@*}d$+5pdqB6ilUP#TA$1 zIXR=tW%TOnh4CvFW^Xe203AYgYpKkjCFIoAQ@By=ncB$e@xrAwCv|OcUL3w`w`ls+ zab?o1A!e;JPx!V>h74yALYx25iUBlwYGc~1)?L-7A}wDOzD?+70}C-Sk)I7`T)Pj= zBhH!FLEgR5pB+4e56=kpy2C-g0l?*H&9r;x0exu$k|#7 z57XR~bnL>0IbMo>)a-9bdI_Tc0kn^9Y$8m$@xTyeBg+kFsB0t1byUtfJsytfua`gqrBO zcBhh&$VQ40yS&OAO2rAe;A?;3di|tyQOML+t#trBu&qH_U`N$aqAk%IU}E{i7hG8735SZ@B{9OO(!JlJ+cyiH8Y&a` zBw$=EP54hkZXDoWx3+}5qf0fQX&d;|%a|l%%t^YZ3U8nZn3NRy-6tfM4Ov(7ht>}v z?|YD!TW#Q56$2NDSG54H92H2Q6 zBy&U3&V*Qh_(lU4y>2s1DbZ0Y6q!fvLgf*p1idYfk6iA+gHUpv10xU7_0Rg9 zvIaHEFu*fnG^%UTniC*-O3%E=yPbW7{_)Wia3@h5)E3a~B|W3;t-Ntzd^3`Kl5r-3 zfefJu#MRsBQQXk364Q5%!UJM7rJBW_-_BO2<3oRIZ2B-co$pipsqSf-`CMfCjb^f5 z#WEYX*IQn8y0dF?Do2ZGr`OTsm}F5Q3ql4t&m70xcHp2V9Bzb$-|;$0kk4>Syjda3 zfegvp5V+%2Mv#}BM!Hz>N0O)HQrwo$j4MZKMnZL)x~v#DGawrk@?c5k!=x@4#n6C< zV7|KY1AS?W@9YeBvPT&%q2r}plfziZ zIb!3@g!(QWjDFL`5qP9#ypuSr=^$*{=Qv$e?l9wL=s3_dc{D#M$1M?7AuGUW3LWS8 zFnKmVNt!5l1m5>Z^Ued$!*{$g33cyphmQ9uz!PFLZSv}kFkjgS=@+Mu3c&lKHFdS% z(s#U?2`W+Cjbeh@3fiz@-^DApSly;hybc{le3&fAchloLdsrSt0x=4eb9@tgOU)_> zTr$thuUE*5GPDoYuA0Qv7wKv7q_`!zLG_NZxW3t?eyr$XLmg=r3%}CDdcOIcUg;Uy zNe7Tg(el+M@%0z5vD}Sg@AbZmw|xRJ3yy~iayK4Ks5i#eQOoe?QnMvO*l&%0)Ue(e z)5VPz_e_fXu3!QPiP3=j-;osqzzjPpLAZbpKfbQ`{P>-RWWA~q$?<}RyQ+!4+3UC% zI@U+C^awmk;*gggR!B z#ypocrY!M=8}uzM#w9;Vayp`W=H$;LU}=O#Q1*S%ABWWj*mg5Arb z@MKML-GlXtMdPdR8a?q_O>OtMv|${9kL&4Jekmg6sy6HiiBEDI1XgN}5TwQm%Fxd| zno?t@-?Q7(fIm6_4g#1vc9g5y5c8_NeimwGGmVXLc9}1eMG!08OLmEDzr_vxS^Jb> z6?Yo>N1l>X&5Hwc?U~INY>Wa~EG95>Q3RChI3KY;4Ol(oaAOHC*67P(V=rq@lELE! zLExi1>@_dM=z|Aqxt)k0penGxiD@=FV$6YTjFyL-#P)EsndWV{2Y~2JODkbDL7&-? z_MOW##S9*TL>*K9as4+eCVlZ22=JTSd~%zeKFadbQe4lTF!gB4iW69~U++xM<{`Xn zm=cO%eK`mFgC%QTNYk_S-xMA!(KG!PRR)XBwEjH|!-hO+`xEcdW#36ibVRdyJ6ZmX z5y%N#1kb>17GnViI}qt%#Ah^6yV6uVEK>4%ZMVjm6wx@Tk(DyFRHd;^c3q=)duUygcz#EX``2H({IQesT=uuZST146fhzS;*wvdi zMicC&7F^r>1}!Pyrd2hrZHZSYE4V+VH*DQL!yN9YpuQ?oyHP%%b*e7NTfE$RHkfLR z_Sh|Q-Qgb=F2F7&`iQ!`z`vsHwrrBy_qIKR&+#TZjiX%+3Sl=}C>Nnx_G?R@G~Xbe z+iir66YK3uYTv2EM*^*lb}!6pCg0fg$KNIHRZSL-wH9g)HwpyLo_#@nL{F{KSVKqj zzN*yOdO??(bsJix^_PklAbYz_b1LHRf`!UnZBO>IDn>%Ms8>wo+uA6(XOQr&;)}Q= z{B0)&S|4jn{8aKHy;k)6RBkT0k?aKf>2!t}&z4=X1>gLLkmK^2_k5fYJz`i@e z!Z6046)QBlgj!fV^n8BgO}oVLo}z^C-ublDGp3S-eQ?OM&AGs2@)HfdW5d-aYeF># z&C{jq&LnjCt#vh619g{Fb}wB|6ZAt%N@v6s$_*#<3g5o_Jnz%yq(iiA?V%&dD;$3e zbGPv8<1R^+*{O|AzPXk>YJeP#qCYM|uLniH3CWSJ3A<-hx7I>lwuz7ZOst1ZVYRwI=8{-UUGI(xN(C%YmM*p? zv=sK39;L4)VxR#=%Dcae*uPkd;zxhUWgQOm1qj9mwe*K2%M!C!59%Xg$pm}0cUPI zu-}(5oikeqDUvTit}fUDe8wF^-=2)ctNWo9(RQ9Wd5$x!Ho{rSspj>+t;7|28_ESz zYV{dB^Jee8rCh%)nbZVm&yO3txBJHIYNhF03R9;ZSvSBxOOm}@U0bHAGQ?V)%PoR7 zt>Dsij-T!FJ}_h9i)Wj@oK3|U`%ozAXPK4<rabrUV^!vRq&I)anRqK|Wj}=v%5; z9FR2bFl6L*po8fuC1*VY+#(7?As%i-G1nKvc7f1nb^iRqUD4);jn38D+p%D+{tE%H zCmJHl>unpkI$kxM+A3ML z=p;>61yo+@9?J^+F|*}(>wut%Ug2VCEUo6c59N>LEjFL7H+Fk(O@r&+kDRCK4M%bt1MG~!Q&}tBUte23SD5Tu zl2$qORQ^J4{zenK=DHXBhZJwv#AMm$!&Kp6ZwPcO0;2$L9koYqdjH`VQPwd$KP?04 zq42ez@AJ`n5k1nb=z({S4P`Y}e)VfUvUQlaYyQE%-2dK5GhHbjgac-)iY|cPie>hC zI1M*xffGYY#n$f+fBAy?66_r19ftg&NI%=>2D1*>&gUp!!^2n)Yj<;Mfc=3S4>IQG zq=Iuw94`NG4CDHM+10_Ei(jGEN!!@`>98#P2OT{L7#R9~Se849{OQBRKw;MJ(WRus z`iLYuMnhf1mbLzfZ(+u8109kZcNd%b#rVYaXRDuIuT5WuvdHks3Bl6Ju2kf@qr)#c zM(L+z3A%3cjn?A2D}i*H+W2b`Ug`!k&>4N=n1@^(w9W6GTG<^g5h-MS$hV$HHrK<% znyRz{d)_X5%sg)p#?@O?o#<6n{pLruC2pAU^<3dzn#fxRp>C>Dhwk(3Nv|R)*Bdl$ zsy0La=rEe|frOZo`tWxAnOlL@ti5RUX=-bjAeW*9^A6Q2d1blh3=?I9Jh{`LTS(Cu zZX8;@tjDO7fFASt`V&=1ksEGYzP<#;X;~JQtocamvr?$sb2Z|J9?~6*kjXb%&`rkj zslAXOJ;t&GcxzAPd|}6eF?ukC;>Q##n%d)k`^(Y&R)-Z;kdTMgrbZ$P*@xL!H*K}w zMW68*bN%yHBG>5OC;wLZ&n5pvDDf|O{|@>O;`^Zg-_qYpSq&ShC4v51hJQWzUo!vE k9`@nnzfAkixh)Q}5ca*i%lydtKNZNtz(T)D_m7AF13`>tjQ{`u literal 0 HcmV?d00001 diff --git a/frontend/public/linkedin_banner_image_1.png b/frontend/public/linkedin_banner_image_1.png new file mode 100644 index 0000000000000000000000000000000000000000..12b04ec1cd7fa6d9a95fc320c730f685382ca6b0 GIT binary patch literal 12376 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 literal 0 HcmV?d00001 diff --git a/frontend/public/linkedin_banner_image_2.png b/frontend/public/linkedin_banner_image_2.png new file mode 100644 index 0000000000000000000000000000000000000000..b354fa6ca23385923aaf9c62a604a38811c8c164 GIT binary patch literal 7588 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 Z96;pwJ!rz3*FLhNTAJG(C^hwt|1V(8LGJ(n literal 0 HcmV?d00001 diff --git a/frontend/public/linkedin_profile_image.png b/frontend/public/linkedin_profile_image.png new file mode 100644 index 0000000000000000000000000000000000000000..28c2f21893f76b1a0538a4567553338e6fb22c96 GIT binary patch literal 9626 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 literal 0 HcmV?d00001 diff --git a/frontend/public/logo.png b/frontend/public/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..86ed744bf1d4127cb39d3fa1eddf5465776cc3c2 GIT binary patch literal 13483 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 YUzo%x50?b~gAqhSMfYK)5+dyX0;zCMzW@LL literal 0 HcmV?d00001 diff --git a/frontend/public/logo_transparent.png b/frontend/public/logo_transparent.png new file mode 100644 index 0000000000000000000000000000000000000000..582fe427cfcfe384f4c891042508cf860f62aec0 GIT binary patch literal 9101 zcmdUVc|27A|1TA4WJyd?vV_u%eb8rw(3HIrv&b^WP9%&q5ymz|_7({t3}%Sz>&U)0 zqX;2ttWlN__l(c?`@4VKzwTf6aXn_vd7t<4+}^KqY!iLU_y!k92*kp|!lkEs&4h*J z2$}glav112%~P@qoQ^nZ8ELVwP~tgvZPRh~SVUR$u4$S2jV_Mcc#d@l zAg1)n9!rc~g{>Y^)F~D{)WsQPQ{2=9ie0~Pgw>=>_ZXKq@!FpN=&I}^3{ zIvfA81F-*}eqoh%AMNinK0L+yY^QcyY5z4idu?U>Xn8^l#6fKC>=pltoiI!k)!Iky zPpj&Y+gl6E%E8;IqK{EM+WgBCQ58G2DKF@xPLARxiA5Z3vLc-pbCyWA!-e zY?#+MhTTD|0;SJ!P5tQ2EApJj>P+CG4ueflU`jH#?j4w)PM9f2))1?6Jq|4E*?5;Q z#5x$me%~n}&*>KY>*3OKC}OVnRVqNGyOc7_t3U+sjF{|++0AE!{)-~dS-`EGdwA$< z_{4x{@xOG>2vn_i2%An%F;sNX0 zBsK?W;j`hV>H?&}<-9pgeh_4ichh$ER4fyi1F#&hPDD>8bEAKNSx{Oae)%>}5Uux0=VA`P{moQ6dpw04e0lpe zT^`{Sh^X32(da24VE5-c$yS6Y+OFL1{cnwX8;X~N3hi*x!uqm8h2b~_h)C(V;Q%w$ z=w1_eG7<*W2g2IbML)A*BMMkFLxe#PG8mw^M0P@dH5-4UYLHQ}nr-tK#mVRT7&9@z zZw7;cnE~iLu#(|})P?#Axo?V+G;T9}3^79nNeiU{_&p}DYZ^yKB#>1Y{YaCTh!h+f z>gUA3y=760DVirGnY&J(Vyoa9Xf+=63gyZK*N@~9;996Nmqe18M7Lm6UPx6a3T_c6 zm$_h8ZwzpjAau+ul_}|MMb~g_FJ`%V*<&K+*{L8|{S@wJr?_tW98|?^AiCMK$qAo9 z-nJq^9AN~rS5m%tDF)rs^+PoFo0%|z^flX*kx-3#%6DL;0ik0`5z5s8BXsayKtz$* zVy{qmFXi%NZdG4iB#lc7>A|+bWz=Vd;5T4+xPGx_h{nnQGW8>&#E4I7;Bpm97VunKiZO`{@3!$H=%o)8h2z+s*@LZY`0{=iy1TbR z*LS{8hMQFkQbCvW#|fGBIQ4rdQi3WhmDIm?*|8hP=FPo7MRie4(Vh)jQ^`JSoa3>7n*>FH>;0Xd6&4ywQOM)pD1bL8T>g|h^sM$;5z$sQc8UaO# z0VjKYeJHLPWWz6elf+>xNZ>QTF(^^??V-RdiPUpMG@I&5i8cVN2h2afSwi!5o9RMV zC|LgM#sJa9WF|dzZAGBvqPGCB{zSJUlMYOg08?WA3cmrm^q|aFHAsxv2fQo@324AG z@G8+JP4_LZALwAp?>76<8(689TExU9*BL<7QmL1`+Sf2*5~);A0evXS<`|$oT9UGe z27m<~32gJ41K?_@!Uh1r)7v=zc>DIQ9X4soS`FZtT4vj9b`c;vQ1J=y)X(fqL=V&% zkZ`5iy|qAFG?f_>vlnQYBwpHBxsLu%nz7ny;QwTJFn$8C z)P3=ztrqUzmbZX5upz%>nR&ATssS&|)fYX0(18V~2|my&(7)CPp0EM=9)OKfzFv}G zZWa^Xf^Z=1wo`j(Q3A04z||7kLja&jW>y1di8cTOT)hKq>i(ag%w7I3DzNwe0}BN5 zFYe{x!Ui`rz@_-Fk3LIEn!vX4`Ozu?#MpVWNs*p;Aodtvp31+;=+2%*^lY@*W>7%6 z1oA-+`B4MMj{91nTd*!PTA;OPrQbx|l_t`=Elr6Muzw&@2S*_JfSEQq9@enmau;l} zhqQ1hDQIgRgB>p?ymN0N8WByq0-ui%&cXAO1J`GD}W)q0Vbh#;)+-WwQD1WD+dJ7)8*%{IGlr#C^P&0^3u zTRoL~nx`%(@op`I>b^OnHgcw{Bx%m{i0GRyq zq@_kAQ_NS+hx9k?0V5#O7^g=fveCD={kI4F=S$}#=uEFAINI<{UhZQw5re@3&mWqw zg-9Um{yHZ?br+sSRy+Mdy%HaGO`s&;JGGi0JiWIP$ePz_hK-T{*RW$)`%RxvK34<-+uo%>ncvvD_50`E{D6G;1^U|X zEu8&DqCt@Y zsO>L}kLcl*XV1oLi!T9b`QX$mY=e~_B`f{qZ>zGaupA>u&|3iPSrt$w_k{P1QiQ^r z2-}}9K^;EVXBa+6IdvOeU+2;uiHaNzI!<0K(3#wH(*-n7w`~VJZ1)J5(YS^R-d)*u zT)F3UzB*1mR^pU=Hs`e{p05alPmNmahlQ`!s$G!x4p_i8-yO>tz~>&Z%}MC_Z@puEqFw;d=c#s4cYZz;k?ep)OZ6Ixq&^J_r)N30Kfb zN=ljkJ9H${pS36yDo%gZw5{Md8=mp{Jkcbx&ySFnJ@n6ZQq;PCe9Ik0em;$Y2jcmW zLM<@Wcjt*w6`4`%qQ1Ys)x;+-{L}MG^mN*;sGp!{TtH7I@f7|#9hzJlzjJIjH>l2v z@cBLI8K7vxlmA>;@`tF%*)`?y{HT<;%|8~sO2ScSwP^GVJvzZbAR3?IP@G%lyGl-0 zYyFrIRgn~>>~ke>+%a*~1g|ia4%VoBV@qA@ONN5}Zk(We)5x_IO2p3&4~Ul%Fr9&= za8AcJ5!XnT*GNfUa;}FztSqs+r_667ixq%e#?utnjR~$2Z9PIbCX(WG=(5 zPJXbI!0-^o6<@}U8_nroxhdJf<~%Uy@WY#x^HiSHdoh3wPkyr90d@7Cjgi&N)%Yhj z7M@g#Ofrmo991!$;{ifzhTi&C!D4VY-C}0_LB8QRna<}nbtfq$B9w^e;*$l|+BLU- zr9j?nNmg)K{o`fOv0ZL&qD!rLM6EenX0i~@S$)W0uTSr(&Oo``H`{UznU~2z=U7~6 zCl=hb5n*0pwMX4!O{XDOeEH`L>Y*4*zT&*6${zeBa2(euN0{yuC8<^3Njmj|jJ0g& zxqYI28i{DvTa7zGfnOuVcf#}3OyRSMrRVI#Y=EDiCtv52a-DGSvn;N&Cl+#Ae_s6O zm3Q`&8`wvVeer~u_!9~l?UjZN0;mw0BrfP`D%jk4rH;gTG@uz&_ESPQ)vDVW+^sqd zA`3YSjwawejf>fh*n?gTyk_H)<=Ggn=kGpG-^pv8VL_jXLa#ifnF}skQR8%`6FO||QW89jbdrS| z;2r%kY5js*z=9Ro7`2{Avc2f@?AzlYSxrT?g0uLx&NSIS6aTD?c>qH~B`ig@)Bvqi z?#IUwTTf3^BARQvlgdmw%e<<;ltw>XH{iw=i{Ub!uIo4u!3d;%wV}&-=%|++OWd&D zo90jwD_P|f1yp8iY`quCulnY_Q;;3)eZ zSvS`L-!!x`()fn6H|kSfr9J?nIFA%x_)#{Af#uZf9>0jOsd>#|#AUf$;gli(wxcn_ zI#1V4liKLH-Igwc!pWfU}?q|z+ zE;jdGJ2NcJ)exx;&r+_JWY;W9 zUuK*)F8PpH2C05H`=sT{rz{1O0#5ZFO*BsLkJbf_e7o|r(#QZFPJ3GHh*5+LPm6Ux zi|Du=wMMPY5GfnCYQAV?YO5C=i*&I6erZ!sWo}-sjK!7cOX{JO4wId}!^ccA9qp?5 zH0y^VJy-PZmK1g#BE33M^lknRtY=v815&%7lTQcsqsT@!IF0RF!;~KS5h*jILYaJS zx_T`y`Xv|Ka%chH6YCTF5B@s-`R!KXj(8bM(d2EvSh?JyL!nQKQr!CaC~p+I1yWWJ zjs#W|KJPFVPegC7R#*&%2w7nIWPPD1sYu7t{sx+GcjGoXKBPjJygYq3k+Mu^T((>; zl1o*XjhgK*`N?iU`-BOh9V5N3-X=mbMwjvNdZRbC&Qcyy!0>TWsC)ap2jGS_GeQPX z4NdU+!$|iJojYEMf8@c|0>s6neJl6&cT_m&yH(< zQsl28jkOdZ4cn8mKRzk!etj~|q9Y}^OXe-CLThuD#gtHtC^u`wV;2w8&z-{Qtz94Iy1}Q=eSKXD%5yQ(NoplW9_+9z8NJMsQbtc%hN zh`e!4=q!`Ze;aU--bGtn&REBEfP8IKlgA?% zp}D@$(s3{Xfh5PFLMq(J#^s&*8*hgjy*mtFRnHaDyZ-oR9{C=`a}(|uuU2#6wO}#H z*KY;#0_5n~c6X|edCBk)Gl4SiFXr>`p4qNxB|o*p#Env; z5PX)+`rp9RzUe-mL5=&Lo+Sw&cUPRzmYQe*E989r2+}D{)q4J6CqoM&BofZNWeR)b z1Kbpo&Dougcp*57xKPL0KC`3oc5#^3%T=53c+(H|{z@g>Ar)NYW!$*)#Z$fo`t%Yy zLrFJhy-k=54>i+EHJ(6}XP2sB!kse`X zog>M;V`?F>&|djNdwp1$loQy2U+j7%7-2eQBXt<2PkDrCMk&Bzg}!Zk9OP zO&GL&k8nCwIt}Ptm~0gyt?ow9?Et9J~!ZNj_6U^DX%KHvW> z2Xr>d>QJ=G_D;)6R#}A9ylCUkpF|pH@)4 zqZAvO^&HVBOJ1e!sZ?<-RMn5X;Jyvdn*8V3j)(FthdBK~p!HScrA$3e^b5h9$hJmK z-%XlDS!z0WmS6^LtZ6!?LW<~p8lx46f9|n<*@JJn!{e>0FwRQ)`x%e*;%2!++zTK~ zMV`*jd3w-aeik2qkq1J>L?CghP5rDtS6reo-FE0q}dVdEh^-N8opMqBtWZe z|F|C$yZ;YzyWY_yT^xC%MEB^XGd$Lp6g3#a7@&Lm$z~VK6e6^@ZZ`a_NHTMUn{wu` z4mWEHawV{#(zz`SIbtJ(7b@FS@!^nnQp2n{tYxu4AG=}Xo}CTs9#pyR^K}XX zhJ~Zkxs9q?oIXV|eufN&Al)6C1q!kV8H7O=3^?!b^}~5#1V#w+0$>GZzlrc*!${dZ z<;5{qdQ^0OB&%Trxzf20CKqI}0T&7OHgI`6?|v7>-3`Dk9S0vs3}axm!T&`IVPJ3T z{E7ll+5bzyg33g^M@b%JAg+852ir|sIbJ3&L@qDE!U3I*7=Vqyz}mnQnAAWR%)_37%m>{B@0Mo73kGGbf%pS*}^J3TBj3TGhEW|j6Z3MZE_V_Oe$qPfnnK`roz#$Nr zn6d@OfpHH)i4%bFn)Z}1c+~~)Td55`CYE>DBC9u@n@QwBs7w^X!L9=K3x{N`A0CZl zT-Aif&$&?=^9kv+R4bdgbj*4i^`TONeP^6nUzB_iw1+ZE>EE z5)(i82V2uD_x*E?u56L-tKD}q*bK+xuFYs9xXpCxrkVzTbzMEc+nfk~{kKDZbJe`+U6egz1B~hJnJ{a;SqxA;u#@LPK z`MlO{;qT)0MjBQbi=bxn;7as^$jxs~jE>)@N$zEHRohNGZ(HggtWHH#3#}{Y&6Pd< zmV-eNJB4fBP|`XFd9s{bBI66=D|x~y4PWrZXWU>5St(*}(((Ui7vwuyubJ5$O^EpdlSecDYE7*A&mu$gvpES!) z!sV;gV|NQ|-iIxeTaF5pT-RI%<&J!Ro`}5$_~mGJi3|S~8y_X zf5*zm;Cj7`(2O3HoJ=2oGCe2HQj%*&rO+uO#VW4PHpuJ%$ef5SH>5~8h;*_f?vK5n znS2xUq3U58yWf`^_MGcB>r;&NW<|cf*K7TCf~sbZ>{AS*%XR8`%7@q~hNtFR=Uayt z!YW|+OvmMhSLY;sD=c{ix0LJm{Wh%5>Z+!cC>3g4sn)tRskcsodKK>%B=?01n2EfakVfY%D;29O%D#LgW8nIoW`p+#w^unUpxZl>zeNCmBhiX%jMk(f@GLvG3-~=yABy%+(6$31ZFy6zcX(MMunGk7nh;6?zzIm6<)Ac*eQo_j~<17i^kG|H4|g zIm7VFt>Ct?BP$}LdbQoXF6?@w^@nDc6)-4B-CqO-msKl?;$zX zcjfHe5)1b^k=Ac|<$BKvLd!|}>u|crk)nOt-aM8-i_G`65T)7wjcbN)L>c{AD50I3 zM>fy*lsSOtxtRj8vRfpNyO;M$r(IeR&4o-)U(2<9Rd+K(X;!C6L;3aXirp>3w?`(% z$rrDfeoMp#EpO!&h!kxM1_yk%@E$W{fM42bnxfr~8r)!#f#^fOgI-}R12~*d9VxnO z9jK{JayoSc0ulZ@xp$Kwmb%t&t40%2m-U+qq|5=#u_cmgBY9EQZbVDoEhr=fk`4xpF+Ck z`*Nq|lKkms@;!*6~s*Bsmvn6BrHG7nYtz?J>M7i&6N z+aj-|_yW+*=+r{N6j`G%=AF}N8yicAZ-idqm{wls^~rVUkvsh2FSVs@O0?U=TID$M zPK^hV`A7-1mv()nhn$qqyy2#F+>*hHT>AQFe95%m_u{8ibNuD4id+WXH0WIrFVp~| zWK_1XleRvhCXV#~p`oH&n%myK@go1#x}W=A%f~+u!-^p-;D-D?RhhS<6ib-BajKo? zy|8pYZsG!ar%FKOl8lIZtvt9722O1~q4A`4Ep}`0Y~UG=1=OFi-zxDlmC4G1Y09G; z{PkBwm&qTz78mq2+2nZrYPQ%8eP}uDof5qBBjv(+gl4?Ic2QZ4CTmEt$ZDrT09y*Iq`J#dD9T7f$ zCis%O5UH=+zWN5)JU(^yT=Vm~XTp1dS?g*=C($Vs@nh4&yF

q-JD4?j-}0Q6wT6m8;?F{h%}C+T#xI4 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 a|8!|z`SXuwOcf8}c+vIS#(&(n^Zx)r@R_jy literal 0 HcmV?d00001 diff --git a/start-app.sh b/start-app.sh new file mode 100755 index 0000000..b825361 --- /dev/null +++ b/start-app.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +sudo docker compose up -d diff --git a/stop-app.sh b/stop-app.sh new file mode 100755 index 0000000..bddabad --- /dev/null +++ b/stop-app.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +sudo docker compose down \ No newline at end of file

mAe1{ literal 0 HcmV?d00001 diff --git a/frontend/public/pinterest_board_photo.png b/frontend/public/pinterest_board_photo.png new file mode 100644 index 0000000000000000000000000000000000000000..256e6d9e0d243b52727fa27386dc42e1d4e97af2 GIT binary patch literal 6052 zcmd5=XE>XE`wn8%OsJ|Nja7TLwRb|)s8xHFhEhdURR}SvNwiArt&dT&C^akSQ&ecR zMp2{o-m^Au^m*QI@7Mov{Bzv7f9EyN^SbW)$cIE4-$pReU!ey808F=Z;idop74-ZI zq#}Dn9Jp-B2k^e8p(X%O5yNooL`}9Sd`%HrfU zh3q=*s*fUXFO>oS9MZSons-pcE1AC@kJMaxe*MB0;K}fjmC}b8@nuL+*ik;s_?daM z_OWRWkiaKsb8JyibacHxs>vE%-bf+q*aVFLY0>fizql2~qKb+wo3KL*wtn65GwCU~ zCQA$TebG6S@+=<0l6O;-qVPsxar3_1TDfQ9LP*fny@B=OH;zI4d;RMDv8S`j^&u06 z+WVQX2~Y5(N2=z8VVi=i6eNm&n~oSU-mq-sXAv>32z0=Ynmd-f~B)8 zi^P~gqxfqXh&(Dvf7-TRAlj>Z_y^JvGgXwr{*ciTIYL+PHvV+PBij`on@>p0nJ^*|`;D&CO;@gxb^Hjc6(WeoQpfN&w@>#_=_Zk!+hap? zW_oCKpCTRI_D|%l#W-kGPWs0->{rkbcs0m7WF*2u$$h=KIa3jiP({9%49z340XsBt zJfI6i%gqHAGLGT1+@AvIG#=4uxGmlA`&TF+`=9oJbKMd7%>M``E2~GFIsPI3Cvqz@KN|K20-@w$ z@(ARDQN3|>A>f23vwCNN$F~o>4W_%TOi)T6redDp;X4<(X#dUA`ScMQG4Z*b#H@ z0uyeOjkFwwwWx8sAc)hE2#umbmZt~y|0XF5E;|?o=Q6MD@AK!q&4&EVdrtxRYlo!| zR3San?E{4J1FWwK|0L{&wO)ZUMcE|01&7{nua&tai^n@n(=pdW@a|h>CN+0csTg>J zxq1Nger6%6#%_TmUSwN>V5#Aluyw5;$>HXz9p`HJK*g93Nh0jw%Fd)aH+L^m96YS6 z&IhPxCJh^1%^%vi(!aD+c{Z0E=f_T{evh?JYt^)`d4Gwy-o(t2%R9PTJI%A4?&$5< zG@VA755A(NI|(b;D`MF3ftp}BqEOXkeQM;pZuQLAmU_X%Lj;Kq^k5f#IEyp+P1-QcqbDEvd1|MIg7@p!!uyRTqrQti_g4f z6ahB}cn7XIvAUo3=81zxKCJjDg~PBnb{kF0!fx2^xxQII{LW31ocgX!ULofMp|N*( zBv&!nbokXu@y+5deXqxTNc$QCHBNBcPd3;{|0@>DCW8x(O`Z4&!kETDQ@}E)?AXBV zOeX>@B&!j*t<22HNgA%pjUiO7MB>NY{Jc4M;*S-=VTW>lxuZRZ3|NMKR0G2gFD|X$ zR}hbMjc`QKdC=8&pTu)UKYH=j@!A*XVG=W{>R2kLkw}E2rOyO<#!o>V=``r6pZU5SoU3kDSIaqb2-JzR9uhHvG0( z2XIo6Y^wPazcfD8ke?LTE4&>LLfXN-hl_?@q_XCU*C}>wUbqkEsn0N2=dK)99YkCKL+SS3)N2Y;I%Iib2xaT|2@Jx-JGnjWWin~ayeUc$icfYaog$xOg#1#`cUO|M44WFy>v!ogx|g1AMvb$ zaexd){%BorOdFLVXsAvp(Rfo#-2bje+|(=&Uz}r}QbFCpFAE0Rtx{2eO1W&CAvRmb zf>EaBnaQG`u)Gq3%H^-pD!E+g$7o&_Zd28Iv3~bXS*I_T<%FCHoTC((>SgPh#sg|f zO6YM3?v6+CHX-GI2f%TwIrJX>(-{Ka5`dZ+;I)h&hq$~?Ja3H) zS(7g}x6&I$=CxzH6j+rSY`a5(NFfS&2?&_LsB8C{6X;&=^GGgm%Ws+8=X51vK63-* zYC$9h<_-`0!DxK*mu|-AUY8g>+Zt;P5RmzrhF?YoBP>Hxgbd6NhiqISD$=s3&i=-! zh^X!R(Qj~pWqU_r1j}7H=8$8mRdwV`m@Gv}^cG?c6SJV@?Y2|awmkh}Hp@(XxV2zb z?0|5e`*Cc$+CkX^_Oa~j=}iBidC>a#7`cRCq4L2!on{Tf~p&7|CN=-CX_BR!p9Kdte5ylzuNZ(+}h zNoGKr4Hm$oUiSz8MbB}0S`ZZs~YRmQypFcu9w~qIEu9B%0$62urBfnV|@2>Eb zxkP|Xp6>w;rp4H4VA-GImB+YbgO#$=5ht`zp5pH!O=GRiLK^K9YD6a8C(KK$BZEt$ zh;EqVs|6v*CJS``zOMl{V;^smDigh+(Uli!d*JU1d4+F;f?NH(*vh)9lNyz(!*tt0 zoEER)uGCUI z4vM8^UL1m@sj*r{cC^KJTSi;Fn5w(m58&j~&2(5Z%!+=>#UAjaRP*rf#sk^r+@&XU<2rah$Y*V=;{?uNT+iLL< zr;ym1M@>0VzPOO5CS#~^fk$|LdL2;KH6)87_(amRI#iR zP#Ihnky8s28oP-!){=w*R=zde&Z|71SJ6l8LbE6QA;nErP{H7ncWyT}wYjdT@%E0@ z;>Kh2<^yKdGJ~we2|04TX-p@%=I(DE@aWD4%y_#>4Dz0NuiMqIwPy=Ih)Usy_-5Rh zQxHp?mXyWi9iKJ#rtI@thm#@=BdYiQYPdwbRg4y29QCk%Y?f!YW$cOCD!0=pXpVI_ zU0f|-3*6AZ_4;u^YNLay?v}i#w;uS@@}BU>z|Q zL@j}TdC;}jzh;2_!n*WXU0vR42PD6Z#;BNHjX27OU~SbERt#e%9Dn-AGzT;a6xz%h zCq3n{NO@x8)RTXb z7EgWa7khvocXicvLnfJ0nt0!W|B`?&%d>k*IZ@X3^j6W>y|1pV;RY_W+K=0V;ETM@ z^Kv0GJUf>wmRD~?Dx{5{q^sc+c4LSw-6Dhc26Dfo^h@w8nog|d;YOovKs|yNZ(E3Y z2kNe4{Z}9*6U|N+iv|^TN^vStc7(#dN0Ug5ugk3SSjnX7=KYmGc+SheeXchLR68Yo zIo^!@tKBFcEVOOgq}ksv$y495Waqp>h|WOkj@ABc19t*_Iqh192Ch(o^K$zGzoMr( zpY_8q3$B>$F{X7ndi=DvaQI}SR&R(>_~fnx&)*w|u9%~~dz{+BvTyk=kB#dh4rQ%0 zmwfu309%%m4^~}K@+R-{YGs-)JACg2Gp-vi(qa7>U))8}8X%HjmZ)cgxg%5c-YJer zHyAUbRh&@kiagm-m!>OQvf6Duu0;pHd?qgXK0V*gcM}bvAZ~^)4ywo`2W67}o!h zHpUra#+YQeNaul4m2TE&EWbau2X0v|I%wNCbiv3F$5O`M^IgCW@@qpNAA+x{(#SRQ z@KPMm^iA%3+!*^vmV^`H(qUm-e|0|BhQP^k1+=*Kdb0p@?>@O4lR7Q|J`s_@`V$vP zFWdrMFt;=U`Pw$3d&rgOJHQs@rhiuShpwkZYWwB+0H!`yBgnD1CqUI>S#qyuo253# z*t&poMbF~M>rp=6d1CZkl==Q{>SGd4|Mi8nF|2a1ZjYP6y)RIiwp^yTk`JfAE8-qf>hjI)pDKN(;9l?}_@^qxufiS}4E;UVp_DsT{`bC$+dec`;%-q9b9eRf zO|-5F%p@IDoVX9b}Qlz&S|)DxFwVR^;MLdN3O{MdvN9fRZ{HYZFyrcgaQ5T%6vlpFTmn zdzvLiPk7lHGw{vuI65w*VsAI+U%3h#;ruJ>gf;YBqlk#h>EGPXJ^q~zmCA(yPk1X>W7X+ z>=7TE308ExVEud)4*?*%>pxAa`JDA?9mu;bWi1kuC`{ zTZM3LM$G}o3zgA3v939Dk2rwVw$zGN)Ygr(=o$Zq^l?Fg_$_LaS;l24V1?WjM^=Fe zrjv38*#kX7Wo=&Z^={XtU)4I(HPxoTY+T(QX!p0__h;tLA_J%Ia1q1WO?@z%o9#&* zho&GLj?fl*_ z?7&Oa^`klV@=`~zkC4$@qq{dXKU~9V|B@lu4D9yadLWi*P;Jca(q`b1>%Lj2x_Xn# zTvE+5@%9TD51vA(<;#~P%VwMRCr=80eKkyAv-LFfydx&LwnL-k*EE-1-F0U~v^ib= zXuj4cO#LU&q^(AN*kD)ZpmAS-BqMgyt2Ljf)_>Kw-{fH_m*T>9`R@F0opjneMVp}y zuB_$6cfGlt8_i!0UA_Oy^t4CWn&;5KvHq_2lY2Icm0<#3WyIvXTdUFpY+iCNNqhU5 z)eIDj>w&UgVFz>y`oDTw&luaeLFV2%e4f&dJgNMlr{7WQLL2MJ@)vE{VPexn`>Rx*9!mW0AZ6oamPJZFrg1-SGbazds>C literal 0 HcmV?d00001 diff --git a/frontend/public/pinterest_profile_image.png b/frontend/public/pinterest_profile_image.png new file mode 100644 index 0000000000000000000000000000000000000000..5518091c3eb7911410d60b68fdecd1e2c18701e8 GIT binary patch literal 2134 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 literal 0 HcmV?d00001 diff --git a/frontend/public/twitter_header_photo_1.png b/frontend/public/twitter_header_photo_1.png new file mode 100644 index 0000000000000000000000000000000000000000..8608fe29e9dd300c7ec0cb21fb49a4335af8c21f GIT binary patch literal 10639 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 literal 0 HcmV?d00001 diff --git a/frontend/public/twitter_header_photo_2.png b/frontend/public/twitter_header_photo_2.png new file mode 100644 index 0000000000000000000000000000000000000000..9e423ddff73e5a467cadb53d0cd150bd40e2f7d9 GIT binary patch literal 5208 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 literal 0 HcmV?d00001 diff --git a/frontend/public/youtube_profile_image.png b/frontend/public/youtube_profile_image.png new file mode 100644 index 0000000000000000000000000000000000000000..256e6d9e0d243b52727fa27386dc42e1d4e97af2 GIT binary patch literal 6052 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 literal 0 HcmV?d00001 diff --git a/frontend/styles/Home.module.css b/frontend/styles/Home.module.css new file mode 100644 index 0000000..32a57d5 --- /dev/null +++ b/frontend/styles/Home.module.css @@ -0,0 +1,116 @@ +.container { + padding: 0 2rem; +} + +.main { + min-height: 100vh; + padding: 4rem 0; + flex: 1; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; +} + +.footer { + display: flex; + flex: 1; + padding: 2rem 0; + border-top: 1px solid #eaeaea; + justify-content: center; + align-items: center; +} + +.footer a { + display: flex; + justify-content: center; + align-items: center; + flex-grow: 1; +} + +.title a { + color: #0070f3; + text-decoration: none; +} + +.title a:hover, +.title a:focus, +.title a:active { + text-decoration: underline; +} + +.title { + margin: 0; + line-height: 1.15; + font-size: 4rem; +} + +.title, +.description { + text-align: center; +} + +.description { + margin: 4rem 0; + line-height: 1.5; + font-size: 1.5rem; +} + +.code { + background: #fafafa; + border-radius: 5px; + padding: 0.75rem; + font-size: 1.1rem; + font-family: Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, + Bitstream Vera Sans Mono, Courier New, monospace; +} + +.grid { + display: flex; + align-items: center; + justify-content: center; + flex-wrap: wrap; + max-width: 800px; +} + +.card { + margin: 1rem; + padding: 1.5rem; + text-align: left; + color: inherit; + text-decoration: none; + border: 1px solid #eaeaea; + border-radius: 10px; + transition: color 0.15s ease, border-color 0.15s ease; + max-width: 300px; +} + +.card:hover, +.card:focus, +.card:active { + color: #0070f3; + border-color: #0070f3; +} + +.card h2 { + margin: 0 0 1rem 0; + font-size: 1.5rem; +} + +.card p { + margin: 0; + font-size: 1.25rem; + line-height: 1.5; +} + +.logo { + height: 1em; + margin-left: 0.5rem; +} + +@media (max-width: 600px) { + .grid { + width: 100%; + flex-direction: column; + } +} diff --git a/frontend/styles/globals.css b/frontend/styles/globals.css new file mode 100644 index 0000000..6138cf9 --- /dev/null +++ b/frontend/styles/globals.css @@ -0,0 +1,20 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +html, +body { + padding: 0; + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, + Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; +} + +a { + color: inherit; + text-decoration: none; +} + +* { + box-sizing: border-box; +} diff --git a/frontend/tailwind.config.js b/frontend/tailwind.config.js new file mode 100644 index 0000000..310c86e --- /dev/null +++ b/frontend/tailwind.config.js @@ -0,0 +1,27 @@ +module.exports = { + content: [ + "./pages/**/*.{js,ts,jsx,tsx}", + "./components/**/*.{js,ts,jsx,tsx}", + ], + theme: { + extend: {}, + }, + daisyui: { + themes: [ + { + mytheme: { + "primary": "#e26394", + "secondary": "#76e8f7", + "accent": "#ed44a6", + "neutral": "#16191D", + "base-100": "#2F354C", + "info": "#95AAE4", + "success": "#12735F", + "warning": "#F3DA58", + "error": "#EB333F", + }, + }, + ], + }, + plugins: [require("daisyui")], +} diff --git a/frontend/tsconfig.json b/frontend/tsconfig.json new file mode 100644 index 0000000..aa20415 --- /dev/null +++ b/frontend/tsconfig.json @@ -0,0 +1,30 @@ +{ + "compilerOptions": { + "target": "es5", + "lib": [ + "dom", + "dom.iterable", + "esnext" + ], + "allowJs": true, + "skipLibCheck": true, + "strict": false, + "forceConsistentCasingInFileNames": true, + "noEmit": true, + "incremental": true, + "esModuleInterop": true, + "module": "esnext", + "resolveJsonModule": true, + "moduleResolution": "node", + "isolatedModules": true, + "jsx": "preserve" + }, + "include": [ + "next-env.d.ts", + "**/*.ts", + "**/*.tsx" + ], + "exclude": [ + "node_modules" + ] +} diff --git a/nginx.conf b/nginx.conf new file mode 100644 index 0000000..49e006f --- /dev/null +++ b/nginx.conf @@ -0,0 +1,22 @@ +events { + worker_connections 1024; +} + +http { + + server { + listen 80; + server_name social.org; + location / { + proxy_pass http://frontend:3000; + } + } + + server { + listen 80; + server_name api.social.org; + location / { + proxy_pass http://api:3000; + } + } +} \ No newline at end of file diff --git a/remove-app.sh b/remove-app.sh new file mode 100755 index 0000000..3617f32 --- /dev/null +++ b/remove-app.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +sudo docker rmi social-network-nginx social-network-frontend \ No newline at end of file diff --git a/screenshots/1.png b/screenshots/1.png new file mode 100644 index 0000000000000000000000000000000000000000..4120d278fb7a1f179fce936cc0b7d82c33aa1523 GIT binary patch literal 19145 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 literal 0 HcmV?d00001 diff --git a/screenshots/3.png b/screenshots/3.png new file mode 100644 index 0000000000000000000000000000000000000000..4d57f6ffabb80a35b085d49e5da42364cd21cec6 GIT binary patch literal 29949 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 L7Yl#C`QZNo!%ika literal 0 HcmV?d00001 diff --git a/screenshots/4.png b/screenshots/4.png new file mode 100644 index 0000000000000000000000000000000000000000..6614af52d8e0b60ba3a9cb23d173dcd67089d0a0 GIT binary patch literal 47118 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