diff --git a/.env b/.env
new file mode 100644
index 0000000000000000000000000000000000000000..20e6e6dcfbdc26faec2e911493cf3219e6224389
--- /dev/null
+++ b/.env
@@ -0,0 +1,10 @@
+NEXT_PUBLIC_SUPABASE_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImlpZWhrb2xzaXRicGlqamh0amZ1Iiwicm9sZSI6ImFub24iLCJpYXQiOjE2OTQ5NTg0OTEsImV4cCI6MjAxMDUzNDQ5MX0.arr0B4gUCabegTVk439G7IFm1kG0AEA9xbOLmlEFDP8
+NEXT_PUBLIC_SUPABASE_URL=https://iiehkolsitbpijjhtjfu.supabase.co
+GOOGLE_CLIENT_ID=146606603734-cp01g76uroirlstlasvbp6ihb9at18ki.apps.googleusercontent.com
+GOOGLE_CLIENT_SECRET=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
+NEXTAUTH_URL=http://localhost:3001
+NEXTAUTH_URL_INTERNAL=http://localhost:3001
+NEXTAUTH_SECRET=B6J21rBJZIrkLK1Kgqro3eJ4g1j2ibKPxTW9m77cG6s=
+API_KEY=AIzaSyA6B01DPsXtGIhUQjckCshbD1E99Edd2Tg
+OPENAI_API_KEY=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
+SMTP_PASS=soudishtiaq
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..9b1913ec73c273709045201fb5a56008d250f12c
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,36 @@
+# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
+
+# dependencies
+/node_modules
+/.pnp
+.pnp.js
+
+# testing
+/coverage
+
+# next.js
+/.next/
+/out/
+
+# production
+/build
+
+# misc
+.DS_Store
+*.pem
+
+# debug
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+
+# local env files
+.env
+.env*.local
+
+# vercel
+.vercel
+
+# typescript
+*.tsbuildinfo
+next-env.d.ts
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/Provider/Provider.jsx b/Provider/Provider.jsx
new file mode 100644
index 0000000000000000000000000000000000000000..e1dc5ada5720727d948a14a7a9a3be2e2228a273
--- /dev/null
+++ b/Provider/Provider.jsx
@@ -0,0 +1,27 @@
+"use client";
+
+import { SessionProvider, useSession } from "next-auth/react";
+import { createContext, useContext, useEffect, useState } from "react";
+
+export async function getUser () {
+ try {
+ let body = await fetch( "/api/auth/session" );
+ let user = await body.json();
+ if ( Object.keys( user ).length && Object.keys( user.user ).length ) {
+ return { session: user, signedIn: true };
+ }
+ return { session: null, signedIn: false };
+ } catch ( e ) {
+ console.log( e );
+ }
+}
+
+const Provider = ( { children, session } ) => {
+ return (
+
+ { children }
+
+ );
+};
+
+export default Provider;
\ No newline at end of file
diff --git a/README.md b/README.md
index 05c86a5ff9a4cbeb91dfdfca9708764472b482ee..e5f733efcbeee50f6a7e0d1a3e7d1d795a52dec6 100644
--- a/README.md
+++ b/README.md
@@ -1,10 +1,34 @@
----
-title: Ai
-emoji: 🏃
-colorFrom: blue
-colorTo: indigo
-sdk: docker
-pinned: false
----
-
-Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
+This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app).
+
+## Getting Started
+
+First, run the development server:
+
+```bash
+npm run dev
+# or
+yarn dev
+# or
+pnpm dev
+```
+
+Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
+
+You can start editing the page by modifying `app/page.js`. The page auto-updates as you edit the file.
+
+This project uses [`next/font`](https://nextjs.org/docs/basic-features/font-optimization) to automatically optimize and load Inter, a custom Google Font.
+
+## Learn More
+
+To learn more about Next.js, take a look at the following resources:
+
+- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
+- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
+
+You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome!
+
+## Deploy on Vercel
+
+The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.
+
+Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details.
diff --git a/app/(beta)/api-access/page.jsx b/app/(beta)/api-access/page.jsx
new file mode 100644
index 0000000000000000000000000000000000000000..9e35b4bb77428621220f5ea2bf841c041985ecbb
--- /dev/null
+++ b/app/(beta)/api-access/page.jsx
@@ -0,0 +1,83 @@
+"use client";
+
+import { exists, insertData } from "@/app/Supabase/Supabase";
+import styles from "./page.module.css";
+import { useState } from "react";
+
+
+const ApiPage = () => {
+
+ const [ disabled, setDisabled ] = useState( false );
+ const [ email, setEmail ] = useState( "" );
+
+
+
+ const handleButtonClick = async () => {
+ if ( email.trim().length && email.includes( "@" ) ) {
+ try {
+ setDisabled( true );
+
+ const userExists = await exists( {
+ table: "Early_Access",
+ where: {
+ email: email
+ }
+ } );
+
+ if ( !userExists ) {
+
+ await insertData( {
+ table: "Early_Access",
+ object: {
+ email
+ }
+ } );
+
+ const response = await fetch( "/api/api-access", {
+ method: "POST",
+ body: JSON.stringify( {
+ email
+ } )
+ } );
+
+ if ( response.ok ) {
+ console.log( await response.json() );
+ }
+
+ } else {
+ alert( "User has already signed up for Early Access!" );
+ }
+
+ } catch ( e ) {
+ console.log( e );
+ } finally {
+ setDisabled( false );
+ }
+
+ }
+ };
+
+ const handleInputClick = e => {
+ if ( e.key == "Enter" && !e.shiftKey && !disabled ) {
+ handleButtonClick();
+ }
+ };
+
+ return (
+
+
+
API under Development
+
COMING SOON!
+
+
+
Unlock the future – be among the first to access our API with early access
+
+ setEmail( e.target.value ) } placeholder='Enter your Email' />
+ { disabled ? "Sending" : "Send" }
+
+
+
+ );
+};
+
+export default ApiPage;
\ No newline at end of file
diff --git a/app/(beta)/api-access/page.module.css b/app/(beta)/api-access/page.module.css
new file mode 100644
index 0000000000000000000000000000000000000000..416f0a51a2ea7445990e55548c4f1ceca2d87843
--- /dev/null
+++ b/app/(beta)/api-access/page.module.css
@@ -0,0 +1,139 @@
+section.api {
+ background: url("/bg.svg") center no-repeat;
+ background-size: cover;
+ width: 100vw;
+ height: 100vh;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ gap: 15vh;
+ font-family: Montserrat;
+}
+
+div.heading {
+ display: flex;
+ flex-direction: column;
+ gap: 3vh;
+}
+
+section.api div.heading p.note {
+ color: rgba(255, 255, 255, 0.50);
+ font-size: 1.45vw;
+ text-align: center;
+}
+
+section.api div.heading p.title {
+ color: #FFF;
+ text-align: center;
+ font-size: 6.65vw;
+ font-weight: 700;
+}
+
+div.form {
+ width: 100%;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ gap: 10vh;
+}
+
+div.form p.desc {
+ text-align: center;
+ color: rgba(255, 255, 255, 0.70);
+ font-size: 1.159vw;
+}
+
+div.input {
+ width: 50vw;
+ display: flex;
+ flex-direction: row;
+ justify-content: center;
+ position: relative;
+ align-items: center;
+}
+
+div.input input {
+ outline: none;
+ border: none;
+ border-radius: 6vw;
+ background: rgba(255, 255, 255, 0.1);
+ width: 100%;
+ padding: 2.25vh 3.15vw 2.25vh 1.65vw;
+ color: rgb(234, 234, 234);
+ position: relative;
+ font-size: 1.125vw;
+ letter-spacing: .075vw;
+}
+
+div.input button {
+ position: absolute;
+ right: .3vw;
+ height: calc(100% - .45vw);
+ width: 6vw;
+ border: none;
+ outline: none;
+ color: rgb(244, 244, 244);
+ border-radius: 3.38vw;
+ background: #1F7268;
+ letter-spacing: .075vw;
+ text-align: center;
+ cursor: pointer;
+ transition: 60ms ease-in;
+ font-size: .98vw;
+}
+
+div.input button:hover {
+ width: 6.75vw;
+}
+
+@media (max-width: 767px) {
+
+ section.api {
+ gap: 90px;
+ }
+
+ div.heading {
+ gap: 17px;
+ }
+
+ section.api div.heading p.note {
+ font-size: 14px;
+ }
+
+ section.api div.heading p.title {
+ font-size: 70px;
+ }
+
+ div.form {
+ gap: 70px;
+ }
+
+ div.form p.desc {
+ font-size: 14.5px;
+ width: 85%;
+ }
+
+ div.input {
+ width: 85%;
+ }
+
+ div.input input {
+ border-radius: 80px;
+ padding: 15px 42px 15px 22px;
+ font-size: 15px;
+ letter-spacing: 1px;
+ }
+
+ div.input button {
+ font-size: 13.333px;
+ right: 3px;
+ height: calc(100% - 6px);
+ width: 80px;
+ border-radius: 45px;
+ letter-spacing: 1px;
+ }
+
+ div.input button:hover {
+ width: 85px;
+ }
+}
\ No newline at end of file
diff --git a/app/(beta)/layout.js b/app/(beta)/layout.js
new file mode 100644
index 0000000000000000000000000000000000000000..fc7043659fce5b973bdf72369b8aac398a6684ef
--- /dev/null
+++ b/app/(beta)/layout.js
@@ -0,0 +1,25 @@
+import Provider from '@/Provider/Provider.jsx';
+
+
+import "../globals.css";
+
+export const metadata = {
+ title: 'RayAI API',
+ description: 'RayAI: Your Personal AI , Now use as API.',
+
+};
+
+export default function RootLayout ( { children } ) {
+
+ return (
+
+
+
+
+ { children }
+
+
+
+
+ );
+}
diff --git a/app/(working)/ChildLayout.js b/app/(working)/ChildLayout.js
new file mode 100644
index 0000000000000000000000000000000000000000..9198a62ccbc3f6ff4ea4662012ed0ccf58886f60
--- /dev/null
+++ b/app/(working)/ChildLayout.js
@@ -0,0 +1,192 @@
+"use client";
+
+import styles from "./layout.module.css";
+import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
+import { faGears, faMagnifyingGlass, faRightFromBracket, faServer } from '@fortawesome/free-solid-svg-icons';
+import { faEnvelope, faMessage } from '@fortawesome/free-regular-svg-icons';
+import { signIn, signOut, useSession } from 'next-auth/react';
+import Image from 'next/image';
+import Link from 'next/link';
+import { faGoogle } from '@fortawesome/free-brands-svg-icons';
+import { useTheme } from '../Contexts/ThemeContext/ThemeContext';
+import Loading from "./loading";
+import { isMobileDevice, toggleNavDevice } from "../Contexts/IsMobileContext/IsMobileContext";
+import { useEffect, useState } from "react";
+import { usePathname } from "next/navigation";
+
+
+const ChildLayout = ( { children } ) => {
+
+ const { data: session, status } = useSession();
+ const { darkMode } = useTheme();
+ const { isMobile, setIsMobile } = isMobileDevice();
+ const { toggleNav, setToggleNav } = toggleNavDevice();
+ const [ isLoading, setLoading ] = useState( true );
+ const [ sessionLoading, setSessionLoading ] = useState( true );
+ const specialRoutes = [ "api-access" ];
+ const pathName = usePathname();
+
+ useEffect( () => {
+ if ( status != "loading" ) {
+ setSessionLoading( false );
+ }
+ console.log( sessionLoading );
+ }, [ session, status ] );
+
+ useEffect( () => {
+
+ const handleResize = () => setIsMobile( window.innerWidth <= 767 );
+
+ handleResize();
+
+ window.addEventListener( "resize", handleResize );
+
+ setLoading( false );
+
+ return () => {
+ window.removeEventListener( "resize", handleResize );
+ };
+
+ }, [] );
+
+ let content;
+
+ // if ( specialRoutes.includes( pathName ) ) {
+ // content =
+ //
+ // { !isLoading && (
+ // <>
+ //
+ // { isMobile && (
+ //
{
+ // setToggleNav( false );
+ // } }>
+ // ✖
+ //
+ // ) }
+ //
+ //
+
+ //
+ //
+ // Chats
+ // Search
+ // Settings
+ // Use as API
+ //
+ //
+ // { session?.user && !sessionLoading ? (
+ //
+ //
+ //
+ //
+ //
+ //
{ session.user.name }
+ //
{ session.user.email.length > 22 ? session.user.email.substring( 0, 22 ) + "..." : session.user.email }
+ //
+ //
signOut() } className={ styles[ "logout-icon" ] } icon={ faRightFromBracket } />
+ //
+ // ) : status != "loading" ? (
+ //
signIn( "google" ) } type="button">Continue with Google
+ // ) : (
+ //
+ // ) }
+ //
+ //
+ //
+ // { isMobile && (
+ // setToggleNav( true ) }>
+ // ☰
+ //
+ // ) }
+ // { children }
+ //
+ // >
+ // ) }
+ //
;
+ // } else {
+ // content = children;
+ // }
+
+ return (
+
+ { !isLoading && (
+ <>
+
+ { isMobile && (
+
{
+ setToggleNav( false );
+ } }>
+ ✖
+
+ ) }
+
+
+
+
+
+ Chats
+ Search
+ Settings
+ Use as API
+
+
+ { session?.user && !sessionLoading ? (
+
+
+
+
+
+
{ session.user.name }
+
{ session.user.email.length > 22 ? session.user.email.substring( 0, 22 ) + "..." : session.user.email }
+
+
signOut() } className={ styles[ "logout-icon" ] } icon={ faRightFromBracket } />
+
+ ) : status != "loading" && !isLoading ? (
+
signIn( "google" ) } type="button">Continue with Google
+ ) : (
+
+ ) }
+
+
+
+ { isMobile && (
+ setToggleNav( true ) }>
+ ☰
+
+ ) }
+ { children }
+
+ >
+ ) }
+
+ );
+};
+
+export default ChildLayout;
diff --git a/app/(working)/layout.js b/app/(working)/layout.js
new file mode 100644
index 0000000000000000000000000000000000000000..838cf30244fa41a8dfd74766c6c61d5a7ebc6493
--- /dev/null
+++ b/app/(working)/layout.js
@@ -0,0 +1,44 @@
+import Provider from '@/Provider/Provider.jsx';
+import ThemeProvider from '../Contexts/ThemeContext/ThemeContext';
+import MessagesProvider from '../Contexts/MessagesContext/MessagesContext';
+import ChildLayout from './ChildLayout';
+import IsMobileProvider, { ToggleNavProvider } from '../Contexts/IsMobileContext/IsMobileContext';
+
+
+import "../globals.css";
+
+export const metadata = {
+ title: 'RayAI',
+ description: 'RayAI: Your Personal AI',
+
+};
+
+export default function RootLayout ( { children } ) {
+
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { children }
+
+
+
+
+
+
+
+
+
+ );
+}
diff --git a/app/(working)/layout.module.css b/app/(working)/layout.module.css
new file mode 100644
index 0000000000000000000000000000000000000000..5b61b1c056b061cbb39027a6bae55af65628b0ff
--- /dev/null
+++ b/app/(working)/layout.module.css
@@ -0,0 +1,317 @@
+div.chat-container {
+ width: 100%;
+ height: 100vh;
+ display: flex;
+ flex-direction: row;
+}
+
+div.previous-chats {
+ /* background: #fff; */
+ height: 100%;
+ width: 20.5vw;
+ display: flex;
+ flex-direction: column;
+ padding: .9vw 1.45vw;
+}
+
+div.layout {
+ width: calc(100% - 20.5vw);
+ display: flex;
+ margin: .75vw;
+ background: #b3b3b308;
+ overflow: hidden;
+ border-radius: 3.75vw;
+ border: .075vw solid #365057;
+ flex-direction: column;
+ backdrop-filter: blur(71px);
+ align-items: center;
+}
+
+div.layout.light {
+ border: none;
+ background: #ffffffe6;
+}
+
+div.previous-chats div.links {
+ display: flex;
+ flex-direction: column;
+ position: relative;
+ top: 7vh;
+ /* Updated from 5.86vw to 12.12vh */
+ /* gap: 2px; */
+}
+
+.link-icons {
+ opacity: 0.4;
+}
+
+div.previous-chats div.links a {
+ text-decoration: none;
+ color: #eee;
+ padding: .9vw;
+ font-family: abeezee;
+ font-size: .97vw;
+}
+
+div.previous-chats div.logo {
+ display: flex;
+ position: relative;
+ top: 2.62vh;
+ /* Updated from 1.125vw to 2.62vh */
+}
+
+div.previous-chats div.logo img {
+ width: 6.3vw;
+ height: auto;
+}
+
+div.account {
+ position: absolute;
+ bottom: 8vh;
+ left: 2vw;
+ width: 17vw;
+}
+
+div.build-info {
+ padding: .8vw;
+ position: relative;
+ top: 22vh;
+ border-radius: .7vw;
+ display: flex;
+ width: 90%;
+ justify-content: center;
+ /* align-items: center; */
+ flex-direction: column;
+ gap: 2.5vh;
+ font-family: Quicksand;
+ /* border: .05vw solid #2f2f2f; */
+ /* box-shadow: inset 0 0 2px; */
+ color: white;
+ transform: scale(1);
+ animation: card infinite 3s ease-in-out;
+ /* background: linear-gradient(108deg, #1a0044 -7.56%, #660868 29.51%, #db5e83 69.57%, #ffd098 107.24%); */
+ /* background: linear-gradient(rgba(255, 255, 255, .1), rgba(255, 255, 255, .1)), url("/card-bg.svg"); */
+ /* background: url("/card-bg-3.svg") no-repeat; */
+ background: linear-gradient(108deg, #052437 -7.56%, #14507d 29.51%, #47a2a5 69.57%, #bcf7ff 107.24%);
+ backdrop-filter: blur(50px);
+}
+
+div.version {
+ display: flex;
+ flex-direction: row;
+ justify-content: space-between;
+ font-size: 1.3vw;
+ font-family: abeezee;
+ font-weight: bold;
+}
+
+div.build-info p.desc {
+ position: relative;
+ top: -1.2vh;
+ font-size: .97vw;
+}
+
+div.build-info button.card-btn {
+ width: fit-content;
+ position: relative;
+ left: 50%;
+ transform: translateX(-50%);
+ padding: 1.2vh 1.5vw;
+ font-size: .9vw;
+ border-radius: .3vw;
+ border: none;
+ background: #00000049;
+ color: white;
+ cursor: pointer;
+ transition: 90ms linear;
+}
+
+div.build-info button.card-btn.light {
+ background: white;
+ color: rgb(34, 42, 46);
+}
+
+div.build-info button.card-btn:hover {
+ background: white;
+ color: rgb(34, 42, 46);
+}
+
+@keyframes card {
+ 0% {
+ transform: scale(1);
+ }
+
+ 50% {
+ transform: scale(1.03);
+ }
+
+ 100% {
+ transform: scale(1);
+ }
+}
+
+div.profile {
+ display: flex;
+ flex-direction: row;
+ gap: .7vw;
+ align-items: center;
+ font-family: abeezee;
+ width: 100%;
+}
+
+div.img img {
+ border-radius: 50%;
+ width: 2.5vw;
+ height: 2.5vw;
+}
+
+div.name-email {
+ display: flex;
+ flex-direction: column;
+ font-size: .9vw;
+ color: white;
+ gap: .6vh;
+}
+
+p.email {
+ font-size: .85vw;
+}
+
+div.account button {
+ background-color: #4285F4;
+ color: #fff;
+ padding: .75vw .75vw;
+ border: none;
+ border-radius: .375vw;
+ cursor: pointer;
+ display: flex;
+ flex-direction: row;
+ font-size: 1vw;
+ gap: .65vw;
+}
+
+.logout-icon {
+ color: white;
+ position: absolute;
+ right: 0;
+ font-size: .9vw;
+ cursor: pointer;
+ padding: .7vw;
+}
+
+@media (max-width: 767px) {
+
+ div.previous-chats {
+ /* background: #fff; */
+ height: 100%;
+ /* width: 20.5vw; */
+ width: 150px;
+ display: flex;
+ flex-direction: column;
+ /* padding: .9vw 1.45vw; */
+ padding: 5px;
+ position: absolute;
+ transition: 150ms ease-in-out;
+ background: rgb(13 36 40);
+ }
+
+ div.layout {
+ width: 100%;
+ height: 100%;
+ }
+
+ div.previous-chats div.links {
+ display: flex;
+ flex-direction: column;
+ position: relative;
+ top: 50px;
+ /* Updated from 5.86vw to 12.12vh */
+ gap: 2px;
+ }
+
+ .link-icons {
+ opacity: 0.4;
+ }
+
+ div.previous-chats div.links a {
+ text-decoration: none;
+ color: #eee;
+ padding: 6px;
+ font-family: abeezee;
+ font-size: 10px;
+ }
+
+ div.previous-chats div.logo {
+ display: flex;
+ position: relative;
+ top: 20px;
+ /* Updated from 1.125vw to 2.62vh */
+ }
+
+ div.previous-chats div.logo img {
+ width: 60px;
+ height: auto;
+ }
+
+ div.account {
+ position: absolute;
+ bottom: 30px;
+ left: 20px;
+ width: 120px;
+ }
+
+ button.close-nav {
+ position: absolute;
+ right: 0;
+ border: none;
+ width: 25px;
+ height: 25px;
+ background: #ffffff;
+ font-size: 12px;
+ border-radius: 50%;
+ }
+
+ button.open-nav {
+ position: relative;
+ left: calc(-50% + 17px);
+ border: none;
+ width: 25px;
+ height: 25px;
+ background: #ffffff;
+ font-size: 12px;
+ border-radius: 50%;
+ }
+
+ div.profile {
+ gap: 7px;
+ width: 100%;
+ }
+
+ div.img img {
+ border-radius: 50%;
+ width: 20px;
+ height: 20px;
+ }
+
+ div.name-email {
+ font-size: 7px;
+ gap: 6px;
+ }
+
+ p.email {
+ font-size: 6px;
+ }
+
+ div.account button {
+ padding: 10px;
+ border-radius: 3px;
+ font-size: 12px;
+ gap: 8px;
+ }
+
+ .logout-icon {
+ font-size: 9px;
+ padding: 3px;
+ }
+
+}
\ No newline at end of file
diff --git a/app/(working)/loading.js b/app/(working)/loading.js
new file mode 100644
index 0000000000000000000000000000000000000000..831500e55edc4c1fce37a3e9ad4f81eca471f11d
--- /dev/null
+++ b/app/(working)/loading.js
@@ -0,0 +1,10 @@
+import styles from "./loading.module.css";
+
+
+const Loading = () => {
+ return (
+
+ );
+};
+
+export default Loading;
\ No newline at end of file
diff --git a/app/(working)/loading.module.css b/app/(working)/loading.module.css
new file mode 100644
index 0000000000000000000000000000000000000000..560ea3d50fe34fe6c72caa256544cb2ed658a886
--- /dev/null
+++ b/app/(working)/loading.module.css
@@ -0,0 +1,20 @@
+div.loading {
+ border-radius: 50%;
+ background: transparent;
+ border: .5vw solid #6464d1;
+ width: 2.5vw;
+ height: 2.5vw;
+ animation: loader infinite ease-in-out 1s;
+ transform: rotate(0);
+ border-top-color: #2d2d85;
+}
+
+@keyframes loader {
+ 0% {
+ transform: rotate(0);
+ }
+
+ 100% {
+ transform: rotate(360deg);
+ }
+}
\ No newline at end of file
diff --git a/app/(working)/page.jsx b/app/(working)/page.jsx
new file mode 100644
index 0000000000000000000000000000000000000000..9d92403d225e0d823e5a0e09180cc8dbf1c2fe55
--- /dev/null
+++ b/app/(working)/page.jsx
@@ -0,0 +1,42 @@
+"use client";
+
+import { useEffect, useState } from 'react';
+import Chat from '../Components/Chat/chat';
+import { useMessages } from '../Contexts/MessagesContext/MessagesContext';
+import { signIn, useSession } from 'next-auth/react';
+import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
+import { faGoogle } from '@fortawesome/free-brands-svg-icons';
+
+import styles from "./page.module.css";
+import Loading from './loading';
+
+
+
+const page = () => {
+ const { data: session, status } = useSession();
+ const [ signedIn, setSignedIn ] = useState( false );
+
+ useEffect( () => {
+ if ( session?.user ) {
+ setSignedIn( true );
+ } else {
+ setSignedIn( false );
+ }
+ }, [ session ] );
+
+ const { messages, setMessages, Msgsloading } = useMessages();
+
+ return (
+ <>
+ { signedIn && status != "loading" ? (
+
+ ) : status == "loading" ? (
+
+ ) : (
+ signIn( "google" ) } type="button">Continue with Google
+ ) }
+ >
+ );
+};
+
+export default page;
\ No newline at end of file
diff --git a/app/(working)/page.module.css b/app/(working)/page.module.css
new file mode 100644
index 0000000000000000000000000000000000000000..69c2e5baf37fdf97adb378a29b5e8883979de894
--- /dev/null
+++ b/app/(working)/page.module.css
@@ -0,0 +1,24 @@
+button.google-btn {
+ background-color: #4285F4;
+ color: #fff;
+ padding: .75vw .75vw;
+ border: none;
+ border-radius: .375vw;
+ cursor: pointer;
+ display: flex;
+ flex-direction: row;
+ font-size: 1vw;
+ gap: .65vw;
+ position: absolute;
+ top: 50%;
+ transform: translateY(-50%);
+}
+
+.logout-icon {
+ color: white;
+ position: absolute;
+ right: 0;
+ font-size: .9vw;
+ cursor: pointer;
+ padding: .7vw;
+}
\ No newline at end of file
diff --git a/app/(working)/search/page.jsx b/app/(working)/search/page.jsx
new file mode 100644
index 0000000000000000000000000000000000000000..88c60ef3acc326fd6fa1be472a60ff4227cc42f5
--- /dev/null
+++ b/app/(working)/search/page.jsx
@@ -0,0 +1,227 @@
+"use client";
+
+import { useEffect, useRef, useState } from 'react';
+import styles from "./page.module.css";
+import { useMessages } from '../../Contexts/MessagesContext/MessagesContext';
+import { useTheme } from '../../Contexts/ThemeContext/ThemeContext';
+import { useSession } from 'next-auth/react';
+import { useRouter } from 'next/navigation';
+import dynamic from 'next/dynamic';
+
+
+const Loading = dynamic( () => import( '../loading.js' ) );
+
+const Message = dynamic( () => import( '../../Components/Message/Message' ), {
+ loading: Loading
+} );
+
+const Search = () => {
+ const { messages } = useMessages();
+ const { darkMode } = useTheme();
+ const { data: session } = useSession();
+ const router = useRouter();
+ const [ prompts, setPrompts ] = useState( [] );
+ const [ cancel, setCancel ] = useState( false );
+ const msgsRef = useRef();
+
+ // Debounce the input with a 500ms delay
+ const debounce = ( func, delay ) => {
+ let timeoutId;
+ return function ( ...args ) {
+ clearTimeout( timeoutId );
+ timeoutId = setTimeout( () => {
+ func.apply( this, args );
+ }, delay );
+ };
+ };
+
+ const filtering = ( searchText ) => {
+ try {
+ if ( cancel ) {
+ return;
+ }
+
+ if ( searchText.trim().length === 0 ) {
+ setPrompts( [] );
+ } else {
+ let filteredArray = messages.filter( ( message ) =>
+ message.content.toLowerCase().includes( searchText.toLowerCase() )
+ );
+ console.log( "filtered: ", filteredArray );
+ setPrompts( filteredArray );
+ }
+ } catch ( err ) {
+ console.log( err );
+ }
+ };
+
+ const debouncedFiltering = useRef( debounce( filtering, 500 ) );
+
+ const handleInputChange = ( e ) => {
+ setCancel( false );
+ debouncedFiltering.current( e.target.value );
+ };
+
+ useEffect( () => {
+ return () => {
+ setCancel( true );
+ };
+ }, [] );
+
+ return (
+
+
+
+
+ { !prompts.length && (
+
No Messages :(
+ ) }
+
+ { prompts.map( ( msg, key ) => (
+ {
+ e.stopPropagation();
+ router.replace( "/#" + msg.key, { scroll: false } );
+ } }
+ key={ key }
+ msg={ msg }
+ session={ session }
+ styles={ styles }
+ />
+ ) ) }
+
+
+ );
+};
+
+export default Search;
+
+
+
+
+
+
+
+
+
+// "use client";
+
+// import { useEffect, useRef, useState } from 'react';
+// import styles from "./page.module.css";
+// import { useMessages } from '../Contexts/MessagesContext/MessagesContext';
+// import Message from '../Components/Message/Message';
+// import { useTheme } from '../Contexts/ThemeContext/ThemeContext';
+// import { useSession } from 'next-auth/react';
+// import { useRouter } from 'next/navigation';
+// import { useChat } from 'ai/react';
+
+
+// const Search = () => {
+
+// const { messages } = useMessages();
+// const { darkMode, _ } = useTheme();
+// const { data: session } = useSession();
+// const [ prompts, setPrompts ] = useState( [] );
+// const router = useRouter();
+// const [ Input, setInput ] = useState( "" );
+// const [ cancel, setCancel ] = useState( false );
+// const msgsRef = useRef();
+
+// const debounce = ( func, delay ) => {
+// let timeoutId;
+// return function ( ...args ) {
+// clearTimeout( timeoutId );
+// timeoutId = setTimeout( () => {
+// func.apply( this, args );
+// }, delay );
+// };
+// };
+
+// // const handleInputChange = debounce( ( e ) => {
+
+// // console.log( messages );
+
+// // if ( e.target.value.trim().length == 0 ) {
+// // setPrompts( [] );
+// // } else {
+// // let filteredMessages = messages.filter( ( message ) => message.content.toLowerCase().includes( e.target.value.toLowerCase() ) );
+// // setPrompts( [ ...filteredMessages ] );
+// // }
+
+// // }, 300 );
+
+// const handleInputChange = ( e ) => {
+// setCancel( false );
+// setInput( e.target.value );
+// };
+
+// useEffect( () => {
+
+// const Filtering = async () => {
+// console.log( messages );
+
+// try {
+
+// if ( cancel ) {
+// return;
+// }
+
+// if ( Input.trim().length == 0 ) {
+
+// setPrompts( [] );
+
+// } else {
+
+// let filteredArray = await filtering();
+// console.log( "filtered: ", filteredArray );
+// setPrompts( filteredArray );
+
+// }
+
+// } catch ( err ) {
+// console.log( err );
+// }
+
+// };
+
+// Filtering();
+
+// return () => {
+// setCancel( true );
+// };
+
+// }, [ Input ] );
+
+// const filtering = async () => {
+
+// let filteredMessages = messages.filter( ( message ) => message.content.toLowerCase().includes( Input.toLowerCase() ) );
+// return filteredMessages;
+
+// };
+
+
+// return (
+//
+//
+//
+//
+// { !prompts.length && (
+//
No Messages :(
+// ) }
+//
+// { prompts.map( ( msg, key ) => (
+// {
+// e.stopPropagation();
+// router.replace( "/#" + msg.key, { scroll: false } );
+// } } key={ key } msg={ msg } session={ session } styles={ styles } />
+// ) ) }
+//
+//
+// );
+// };
+
+// export default Search;
\ No newline at end of file
diff --git a/app/(working)/search/page.module.css b/app/(working)/search/page.module.css
new file mode 100644
index 0000000000000000000000000000000000000000..044e213488c91d85548282d71080ae819cfb435b
--- /dev/null
+++ b/app/(working)/search/page.module.css
@@ -0,0 +1,152 @@
+div.search-container {
+ width: calc(100% - 4.6vw);
+ height: calc(100% - 4.6vw);
+ position: relative;
+ top: 50%;
+ transform: translateY(-50%);
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ gap: 6vh;
+}
+
+p.placeholder {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+ font-size: 4vw;
+ font-family: abeezee;
+ color: #17c4ab26;
+}
+
+div.search-container div.input {
+ width: 100%;
+ display: flex;
+ flex-direction: row;
+ justify-content: center;
+}
+
+div.search-container div.input input {
+ width: 100%;
+ border: none;
+ padding: 1.1vw 1.3vw;
+ outline: none;
+ border-radius: .4vw;
+ font-size: 1.3vw;
+ color: #cbcbcb;
+ background: #22454D;
+}
+
+div.msgs {
+ width: 100%;
+ overflow: auto;
+ display: flex;
+ flex-direction: column;
+ position: relative;
+ align-items: center;
+ gap: 3.1vh;
+ scroll-behavior: smooth;
+ transition: 150ms ease-in-out;
+}
+
+div.msgs.light div.user,
+div.msgs.light div.ai {
+ border-color: #c9e0df;
+ background: #def7f352;
+ color: #254a4d;
+}
+
+div.msgs div.markdown-content > pre {
+ position: relative;
+}
+
+div.msgs.light div.markdown-content > pre > pre {
+ border: 1px solid #e8ebec;
+ transition: 150ms ease-in-out;
+}
+
+div.markdown-content,
+div.markdown-content * {
+ white-space: pre-wrap;
+ line-height: 1.7;
+}
+
+div.user,
+div.ai {
+ font-family: abeezee;
+ font-size: 1vw;
+ background: #5656563c;
+ border-radius: 1.4vw;
+ padding: 2vw 2vw 2vw 3vw;
+ border: #365057 1px solid;
+ display: flex;
+ color: #bebebe;
+ flex-direction: row;
+ width: calc(100% - 1.8vw);
+ position: relative;
+ left: .5vw !important;
+ cursor: pointer;
+ transition: 200ms ease-in-out;
+}
+
+@keyframes msg {
+ 0% {
+ height: 0;
+ }
+
+ 100% {
+ height: auto;
+ }
+}
+
+.text-pic {
+ width: 2.7vw;
+ height: 2.7vw;
+ position: absolute;
+ left: -1vw;
+ top: 2.8vh;
+ border-radius: .5vw;
+}
+
+@media (max-width: 767px) {
+ div.search-container {
+ width: calc(100% - 13px);
+ height: calc(100% - 43px);
+ gap: 30px;
+ position: absolute;
+ top: calc(50% + 20px);
+ transform: translateY(-50%);
+ }
+
+ p.placeholder {
+ font-size: 10px;
+ }
+
+ div.search-container div.input input {
+ padding: 5px 10px;
+ border-radius: 4px;
+ font-size: 10px;
+ }
+
+ div.msgs {
+ gap: 20px;
+ }
+
+ div.user,
+ div.ai {
+ font-size: 11px;
+ border-radius: 10px;
+ padding: 10px 10px 10px 20px;
+ width: calc(100% - 20px);
+ left: 2px;
+ }
+
+ .text-pic {
+ width: 20px;
+ height: 20px;
+ left: -10px;
+ top: 10px;
+ border-radius: 5px;
+ }
+}
\ No newline at end of file
diff --git a/app/(working)/settings/page.jsx b/app/(working)/settings/page.jsx
new file mode 100644
index 0000000000000000000000000000000000000000..8cb24fb61d8f09361a7041390cbb5b24a1edc874
--- /dev/null
+++ b/app/(working)/settings/page.jsx
@@ -0,0 +1,59 @@
+"use client";
+
+import ToggleButton from '@/app/Components/ToggleButton/ToggleButton';
+import { useTheme } from '@/app/Contexts/ThemeContext/ThemeContext';
+
+import styles from "./page.module.css";
+import { signIn, signOut } from 'next-auth/react';
+import { getUser } from '@/Provider/Provider';
+import { memo, useCallback, useEffect, useMemo, useState } from "react";
+
+
+const ThemeButton = memo( () => {
+
+ const { darkMode, toggleDarkMode } = useTheme();
+ const themeToggle = useCallback( () => toggleDarkMode(), [] );
+
+ return ;
+
+} );
+
+const page = () => {
+ const { darkMode } = useTheme();
+ const [ user, setUser ] = useState( null );
+
+ useEffect( () => {
+ async function fetchUser () {
+ const user = await getUser();
+ setUser( user );
+ }
+
+ fetchUser();
+ } );
+
+ const signedIn = useMemo( () => {
+ return user !== null;
+ }, [ user ] );
+
+ let button;
+
+ if ( signedIn ) {
+ button = signOut() }>Sign-Out ;
+ } else {
+ button = signIn( "google" ) }>Sign-In ;
+ }
+
+ return (
+
+ );
+};
+
+export default page;
\ No newline at end of file
diff --git a/app/(working)/settings/page.module.css b/app/(working)/settings/page.module.css
new file mode 100644
index 0000000000000000000000000000000000000000..73fc51b181860c24b066e6478859e47f317865de
--- /dev/null
+++ b/app/(working)/settings/page.module.css
@@ -0,0 +1,67 @@
+div.options {
+ height: 100%;
+ width: 100%;
+ display: flex;
+ flex-direction: column;
+ align-items: flex-start;
+}
+
+div.theme-changer {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ width: 80%;
+ font-family: abeezee;
+ font-size: 1.3vw;
+ color: #a5c6c8;
+ position: relative;
+ top: 5vh;
+ left: 7.5vw;
+}
+
+div.options.light div.theme-changer {
+ color: #3b5557;
+}
+
+div.logout {
+ position: relative;
+ top: 13vh;
+ background: #555;
+ left: 7.5vw;
+}
+
+div.logout button {
+ background: #a30f3e;
+ padding: 1vw 2vw;
+ color: white;
+ border: none;
+ font-size: 1.1vw;
+}
+
+div.options.light div.logout button {
+ background: #d40c4c;
+}
+
+@media (max-width: 768px) {
+ div.theme-changer {
+ font-size: 13px;
+ color: #a5c6c8;
+ top: 45px;
+ left: 37px;
+ }
+
+ div.logout {
+ position: relative;
+ top: 90px;
+ background: #555;
+ left: 37px;
+ }
+
+ div.logout button {
+ background: #a30f3e;
+ padding: 8px 12px;
+ color: white;
+ border: none;
+ font-size: 12px;
+ }
+}
\ No newline at end of file
diff --git a/app/Components/Chat/chat.jsx b/app/Components/Chat/chat.jsx
new file mode 100644
index 0000000000000000000000000000000000000000..304521df54ba670302aed0ebf10805cc58b2ab3a
--- /dev/null
+++ b/app/Components/Chat/chat.jsx
@@ -0,0 +1,368 @@
+"use client";
+
+import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
+import { faBarsStaggered, faChevronDown, faPaperPlane, faStop, faTriangleExclamation } from '@fortawesome/free-solid-svg-icons';
+import { useSession } from 'next-auth/react';
+import { useChat } from "ai/react";
+import { useTheme } from "../../Contexts/ThemeContext/ThemeContext";
+import { memo, useCallback, useEffect, useRef, useState } from "react";
+import { insertData } from "@/app/Supabase/Supabase";
+import { v4 as uuid } from "uuid";
+import Image from 'next/image';
+import styles from "./chat.module.css";
+import Message from "../Message/Message";
+import { isMobileDevice } from '@/app/Contexts/IsMobileContext/IsMobileContext';
+
+const debounce = ( func, delay ) => {
+ let timeoutId;
+ return function ( ...args ) {
+ clearTimeout( timeoutId );
+ timeoutId = setTimeout( () => {
+ func.apply( this, args );
+ }, delay );
+ };
+};
+
+const Chat = ( { messages, setMessages, Msgsloading } ) => {
+
+ const { data: session } = useSession();
+ const { darkMode } = useTheme();
+ const [ newPrompt, setNewPrompt ] = useState( [] );
+ const [ pageRendered, setPageRendered ] = useState( false );
+ const [ hash, setHash ] = useState( "" );
+ const [ buttonToBottom, setbuttonToBottom ] = useState( false );
+ const { isMobile, setIsMobile } = isMobileDevice();
+ const [ input, setInput ] = useState( "" );
+ const [ isLoading, setLoading ] = useState( false );
+
+ const inputChange = ( e ) => {
+ setInput( e.target.value );
+ };
+
+ const handleSubmit = async ( e ) => {
+ e.preventDefault();
+ setInput( "" );
+
+ try {
+ setLoading( true );
+
+ const response = await fetch( "/api/chat", {
+ method: "POST",
+ body: JSON.stringify( {
+ input,
+ // chatbot_model: 0,
+ // web_search: true,
+ new_convo: !messages.length
+ } )
+ } );
+
+ // const response = await fetch( "https://AIONS.pythonanywhere.com/api/huggingface", {
+ // method: "POST",
+ // body: JSON.stringify( {
+ // prompt: input,
+ // chatbot_model: 0,
+ // web_search: true,
+ // new_conversation: false
+ // } ),
+ // headers: {
+ // 'Content-Type': 'application/json'
+ // },
+ // mode: "cors"
+ // } );
+
+ if ( response.ok ) {
+ let body = await response.json();
+ console.log( body );
+
+ let key = uuid();
+
+ setMessages( prev => [
+ ...prev,
+ { content: body.body.response, role: "assistant", key }
+ ] );
+
+ setNewPrompt( prev => [ ...prev, { value: body.body.response, key } ] );
+ // setNewPrompt( [] );
+ }
+
+ } catch ( e ) {
+ console.log( e );
+ setNewPrompt( [] );
+ } finally {
+ setLoading( false );
+ }
+ };
+
+ const stop = () => { };
+
+
+
+ // const { messages: msgs, input, handleInputChange: inputChange, handleSubmit, stop, isLoading } = useChat( {
+ // id: "_RAY_AI_CHAT_",
+ // initialMessages: messages,
+ // onFinish: ( msg ) => {
+ // setNewPrompt( prev => [ ...prev, { value: msg.content, key: msg.id } ] );
+ // }
+ // } );
+
+ useEffect( () => {
+
+ if ( typeof window !== "undefined" ) {
+ setHash( window.location.hash.slice( 1 ) );
+ }
+
+ const handleResize = () => setIsMobile( window.innerWidth <= 767 );
+
+ handleResize();
+
+ window.addEventListener( "resize", handleResize );
+
+ const scrollEvent = e => {
+
+ let element = e.target;
+
+ if ( element.scrollHeight - element.clientHeight - element.scrollTop >= 2000 ) setbuttonToBottom( true );
+ else setbuttonToBottom( false );
+
+ };
+
+ let msgsDiv = document.getElementsByClassName( styles[ "msgs" ] )[ 0 ];
+ msgsDiv.addEventListener( "scroll", scrollEvent );
+
+ return () => {
+ window.removeEventListener( "resize", handleResize );
+ msgsDiv.removeEventListener( "scroll", scrollEvent );
+ };
+
+ }, [] );
+
+ useEffect( () => {
+ console.log( "isLoading: ", isLoading );
+ }, [ isLoading ] );
+
+ const msgsRef = useRef();
+
+
+ const scrollToMessage = () => {
+ const messageElement = document.getElementById( hash );
+
+ if ( messageElement ) {
+ messageElement.scrollIntoView( { behavior: 'smooth' } );
+ }
+ };
+
+ useEffect( () => {
+
+ if ( hash.trim().length ) scrollToMessage();
+
+ }, [ hash, pageRendered ] );
+
+ const send = async ( e ) => {
+
+ if ( input.trim().length && !isLoading ) {
+
+ let key = uuid();
+
+ setMessages( prev => [
+ ...prev,
+ { content: input, role: "user", key }
+ ] );
+
+ handleSubmit( e );
+
+ setNewPrompt( prev => [ ...prev, { value: input, key } ] );
+
+ }
+
+ };
+
+ const debouncedScrollToBottom = debounce( () => {
+ let isNearBottom = msgsRef.current.scrollHeight - msgsRef.current.clientHeight - msgsRef.current.scrollTop <= 250;
+
+ if ( isNearBottom ) {
+
+ msgsRef.current.scrollTo( {
+ top: msgsRef.current.scrollHeight,
+ // behavior: "smooth"
+ } );
+
+ // msgsRef.current.scrollIntoView( { behavior: 'smooth', block: 'end' } );
+
+ }
+
+ }, 500 );
+
+ useEffect( () => {
+ if ( messages.length ) {
+
+ debouncedScrollToBottom();
+
+ if ( !pageRendered ) {
+ msgsRef.current.scroll( 0, msgsRef.current.scrollHeight );
+ }
+
+ setPageRendered( true );
+ }
+ }, [ messages ] );
+
+ useEffect( () => {
+
+ console.log( "useffectt newPromp: ", newPrompt );
+
+ if ( newPrompt.length == 2 ) {
+
+ // setMessages( prev => [ ...prev,
+ // { content: newPrompt[ 0 ].value, role: "user", key: newPrompt[ 0 ].key },
+ // { content: newPrompt[ 1 ].value, role: "assistant", key: newPrompt[ 1 ].key }
+ // ] );
+
+ const sendMsg = async () => {
+ try {
+
+ let currentDate = new Date();
+
+ await insertData( {
+ table: "prompts",
+ object: {
+ author: session?.user.id,
+ prompt: newPrompt,
+ created_at: `${ currentDate.getDate() }-${ currentDate.toLocaleString( 'default', { month: 'long' } ).substring( 0, 3 ) } ${ currentDate.getFullYear() }`
+ }
+ } );
+
+ } catch ( e ) {
+ console.log( e );
+ } finally {
+ setNewPrompt( [] );
+ }
+ };
+
+ sendMsg();
+
+ }
+
+
+ }, [ newPrompt ] );
+
+ const handleTermination = () => {
+ // setProcessing( false );
+ stop();
+ setNewPrompt( [] );
+ };
+
+ const handleInputSubmit = e => {
+ if ( e.key == "Enter" && !e.shiftKey && !isLoading && !isMobile ) {
+ // e.preventDefault();
+ send( e );
+ } else if ( isMobile && e.key == "Enter" ) {
+ return;
+ }
+ };
+
+ const handleInputChange = useCallback( ( e ) => {
+
+ inputChange( e );
+
+ e.target.style.height = 'auto';
+ e.target.style.height = e.target.scrollHeight + 'px';
+
+ }, [] );
+
+ function handleExampleCopy ( e ) {
+ let text = e.target.innerText;
+ text = [ ...text ];
+
+ text.pop();
+ text.shift();
+ text = text.join( "" );
+
+ navigator.clipboard.writeText( text );
+ }
+
+ function handleBottomButtonClick () {
+ msgsRef.current.scrollTo( {
+ top: msgsRef.current.scrollHeight,
+ behavior: "smooth"
+ } );
+ }
+
+ return (
+ <>
+ { ( !messages.length && !Msgsloading ) && (
+ <>
+
+ RayAI:{ " " } Your Personal AI.
+
+
+
+
+ Example
+
+
+
{ `"Tell me about the history of Eiffel Tower."` }
+
{ `"Give me information related to EarthQuakes."` }
+
{ `"Calculate the derivative of the function : 4x + 9"` }
+
+
+
+
+
+ Limitations
+
+
+
{ `May Somatimes produce in-accurate Results.` }
+
{ `Might Create Harmful or Biased Content.` }
+
{ `Limited Knowledge.` }
+
+
+
+ >
+ ) }
+
+
+ { messages.map( ( m, i, a ) => (
+ <>
+
+
+ { ( () => {
+
+ if ( i == a.length - 1 ) {
+ if ( m.role == "user" && isLoading ) {
+ return (
+
+ );
+ }
+ }
+
+ } )() }
+ >
+ ) ) }
+
+ {/* { !isMobile && (
+ Terminate...
+ )} */}
+ { buttonToBottom && (
+
+ ) }
+
+
+
+ { !isLoading ? (
+
+ ) : (
+
+ ) }
+
+
+ Free Research Preview. RayAI may produce inaccurate information about people, places, or facts.
+ >
+ );
+};
+
+export default memo( Chat );
\ No newline at end of file
diff --git a/app/Components/Chat/chat.module.css b/app/Components/Chat/chat.module.css
new file mode 100644
index 0000000000000000000000000000000000000000..f286395b561a39f7c0ff68c44ee59bfe197768fa
--- /dev/null
+++ b/app/Components/Chat/chat.module.css
@@ -0,0 +1,516 @@
+h1.title {
+ color: rgba(255, 255, 255, 0.2);
+ text-align: center;
+ font-family: Righteous;
+ font-size: 2vw;
+ position: absolute;
+ top: 15.5vh;
+ left: 50%;
+ width: 90%;
+ transform: translateX(-50%);
+}
+
+h1.title.light {
+ color: #05858d5c;
+}
+
+h1.title.light span.highlight {
+ color: #05858d5c;
+}
+
+img.placeholder-img {
+ opacity: 0.3;
+ position: absolute;
+ top: 3.1vh;
+ /* Updated from 3.1vh to 6.4vh */
+ width: 7.43vw;
+ height: auto !important;
+}
+
+div.msgs {
+ /* background: #000; */
+ width: 100%;
+ height: calc(100% - 20.5vh);
+ /* Updated from 7.5vw to 15.5vh */
+ overflow-y: auto;
+ overflow-x: hidden;
+ display: flex;
+ flex-direction: column;
+ position: relative;
+ /* align-items: center; */
+ gap: 3.1vh;
+ padding: 1.5vw 1.5vw 6vw 1.5vw;
+ /* scroll-behavior: smooth; */
+ transition: 150ms ease-in-out;
+}
+
+div.input {
+ display: flex;
+ /* position: fixed; */
+ bottom: 48px;
+
+ position: absolute;
+ /* margin-bottom: 15.7vh; now*/
+ /* Updated from 4.2vw to 8.7vh */
+ height: fit-content;
+ width: 80%;
+ align-items: center;
+ justify-content: center;
+ transition: 150ms ease-in-out;
+}
+
+div.input textarea,
+div.input button {
+ outline: none;
+ border: none;
+ transition: 150ms ease-in-out;
+ z-index: 100;
+}
+
+div.input textarea {
+ position: relative;
+ padding: 1.9vh 5.625vw 1.9vh 1.35vw;
+ /* Updated padding values */
+ min-height: 7.12vh;
+ /* Updated from 3.45vw to 7.12vh */
+ height: 7.12vh;
+ /* Updated from 3.45vw to 7.12vh */
+ width: 100%;
+ /* bottom: -7.5vh; now */
+ /* Updated from 0.375vw to 0.77vh */
+ font-family: AbeeZee;
+ line-height: 1.6;
+ max-height: 20.12vh;
+ /* Updated from 9.75vw to 20.12vh */
+ box-sizing: border-box;
+ resize: none;
+ font-family: Abeezee;
+ border-radius: .525vw;
+ font-size: 1.1vw;
+ color: #cbcbcb;
+ background: #2a3e43;
+ transition: 200ms ease-in-out;
+ /* #364057 */
+}
+
+div.input.light textarea {
+ background: #fff;
+ box-shadow: 0 0 2px #b9b9b9;
+ color: #474747;
+}
+
+div.code-options {
+ position: absolute;
+ bottom: .3vw;
+ left: calc(100% - 2.8vw);
+ display: none;
+ transition: 150ms ease-in-out;
+}
+
+div.markdown-content pre:hover div.code-options {
+ display: inline-block;
+}
+
+div.code-options > * {
+ padding: .6vw;
+ cursor: pointer;
+ border-radius: .35vw;
+}
+
+div.code-options > *:hover {
+ background: #cde5eb;
+ color: #474747;
+}
+
+button.terminate {
+ position: absolute;
+ bottom: 5vw;
+ transition: 200ms ease-in-out;
+ border: none;
+ padding: .9vw 5vw;
+ cursor: pointer;
+ border-radius: .4vw;
+ color: white;
+ opacity: 0;
+ background: linear-gradient(108deg, #052437 -7.56%, #14507d 29.51%, #47a2a5 69.57%, #bcf7ff 107.24%);
+}
+
+button.terminate.processing {
+ bottom: 11vw;
+ opacity: 1;
+}
+
+button.terminate:hover {
+ transform: scale(1.04);
+}
+
+div.input button {
+ height: 6.51vh;
+ /* Updated from 3.15vw to 6.51vh */
+ width: 3.15vw;
+ position: absolute;
+ right: 1.5vw;
+ background: transparent;
+ cursor: pointer;
+ font-size: 1.6vw;
+ /* Updated from 1.6vw to 3.29vh */
+ color: #dadada;
+ /* bottom: -7.5vh; */
+ /* Updated from 0.375vw to 0.77vh */
+}
+
+div.input.light button {
+ color: #18868d;
+}
+
+p.note {
+ position: absolute;
+ bottom: 3.72vh;
+ /* Updated from 1.8vw to 3.72vh */
+ font-size: .83vw;
+ font-family: Quicksand;
+ color: #cbcbcb;
+ width: 80%;
+ text-align: center;
+}
+
+div.examples {
+ position: absolute;
+ top: calc(50%);
+ transform: translateY(-50%);
+ display: flex;
+ flex-direction: row;
+ width: calc(100% - 35.5vw);
+ /* Updated from 35.5vw to 73.63vh */
+ gap: 3vw;
+ /* Updated from 3vw to 6.21vh */
+ transition: 150ms;
+ z-index: 100;
+}
+
+div.example {
+ background: #ffffff05;
+ border: 1px solid #365057;
+ border-radius: 1.1247vw;
+ display: flex;
+ flex-direction: column;
+ gap: 2.42vh;
+ padding: 1.12vw;
+ color: #bfbfbf;
+ font-family: Quicksand;
+ width: 100%;
+ transition: 150ms;
+}
+
+div.examples.light div.example {
+ background: #fff;
+ /* border-color: #dee7e9; */
+ border: none;
+ color: #676767;
+ box-shadow: 0 0 5px #e9e9e9;
+}
+
+div.header {
+ color: #eee;
+ display: flex;
+ flex-direction: row;
+ gap: 1vw;
+ align-items: center;
+ font-size: 1.4vw;
+}
+
+div.header .example-icon {
+ padding: .55vw;
+ background: #18868d;
+ border-radius: .5vw;
+}
+
+div.examples.light div.example div.header .example-icon {
+ color: #18868d;
+ background: white;
+}
+
+div.columns {
+ display: flex;
+ flex-direction: column;
+ gap: 1.55vh;
+ /* Updated from 0.75vw to 1.55vh */
+}
+
+div.msgs.light div.user,
+div.msgs.light div.ai {
+ border-color: #c9e0df;
+ background: #def7f352;
+ color: #254a4d;
+}
+
+div.msgs div.markdown-content > pre {
+ position: relative;
+}
+
+div.msgs.light div.markdown-content > pre > pre {
+ border: 1px solid #e8ebec;
+ transition: 150ms ease-in-out;
+}
+
+div.examples.light div.example div.header {
+ color: #18868d;
+}
+
+div.columns p.col {
+ padding: .891vw;
+ border-radius: .586vw;
+ background: #ffffff15;
+ font-size: .935vw;
+ cursor: pointer;
+ transition: 200ms ease-in-out;
+}
+
+div.columns p.col:hover {
+ transform: scale(1.04);
+}
+
+div.markdown-content,
+div.markdown-content * {
+ white-space: pre-wrap;
+ line-height: 1.7;
+}
+
+div.ai .text-pic,
+div.user .text-pic {
+ width: 2.7vw;
+ height: 2.7vw;
+ position: absolute;
+ top: 2.8vh;
+ border-radius: .5vw;
+}
+
+div.ai .text-pic {
+ left: -1vw;
+}
+
+div.user .text-pic {
+ left: calc(100% - 1.8vw);
+}
+
+div.user,
+div.ai {
+ font-family: abeezee;
+ font-size: 1vw;
+ background: #5656563c;
+ max-width: 55%;
+ border: #365057 1px solid;
+ display: flex;
+ color: #bebebe;
+ flex-direction: row;
+ /* width: calc(100% - 1.8vw); */
+ width: fit-content;
+ position: relative;
+ transition: 200ms ease-in-out;
+}
+
+div.ai {
+ left: .8vw;
+ padding: 2vw 2vw 2vw 3vw;
+ border-radius: 1.4vw 2vw .4vw 1.4vw;
+}
+
+div.user {
+ position: relative;
+ /* setting the left property in Message.jsx (from js) */
+ padding: 2vw 3vw 2vw 2vw;
+ opacity: 0;
+ border-radius: 2vw 1.4vw 1.4vw .4vw;
+ transition: 150ms ease-in-out;
+}
+
+button.to-bottom {
+ position: fixed;
+ bottom: 25vh;
+ right: 8vw;
+ height: 3vw;
+ font-size: 1.1vw;
+ width: 3vw;
+ border: none;
+ cursor: pointer;
+ outline: none;
+ border-radius: 50%;
+ color: #254a4d;
+ transition: 150ms ease-out;
+}
+
+button.to-bottom:hover {
+ transform: scale(1.1);
+}
+
+@keyframes msg {
+ 0% {
+ height: 0;
+ }
+
+ 100% {
+ height: auto;
+ }
+}
+
+@media (max-width: 768px) {
+ div.msgs {
+ /* background: #000; */
+ width: 100%;
+ height: calc(100vh - 220px);
+ top: 20px;
+ /* Updated from 7.5vw to 15.5vh */
+ gap: 20px;
+ padding: 7px 7px 14px 7px;
+ /* scroll-behavior: smooth; */
+ transition: 150ms ease-in-out;
+ }
+
+ div.input {
+ display: flex;
+ position: absolute;
+ margin: 0;
+ bottom: 90px;
+ /* Updated from 4.2vw to 8.7vh */
+ height: fit-content;
+ width: 83%;
+ align-items: center;
+ justify-content: center;
+ transition: 150ms ease-in-out;
+ }
+
+ div.input textarea,
+ div.input button {
+ outline: none;
+ border: none;
+ transition: 150ms ease-in-out;
+ z-index: 100;
+ }
+
+ div.input textarea {
+ position: relative;
+ padding: 6px 53px 6px 13px;
+ /* Updated padding values */
+ min-height: 29px;
+ /* Updated from 3.45vw to 7.12vh */
+ height: 29px;
+ /* Updated from 3.45vw to 7.12vh */
+ width: 100%;
+ bottom: 0;
+ /* Updated from 0.375vw to 0.77vh */
+ font-family: AbeeZee;
+ line-height: 1.6;
+ max-height: 150px;
+ /* Updated from 9.75vw to 20.12vh */
+ box-sizing: border-box;
+ resize: none;
+ font-family: Abeezee;
+ border-radius: 5px;
+ font-size: 12px;
+ color: #cbcbcb;
+ background: #2a3e43;
+ /* #364057 */
+ overflow: hidden;
+ }
+
+ div.input.light textarea {
+ background: #fff;
+ box-shadow: 0 0 2px #b9b9b9;
+ color: #474747;
+ }
+
+ div.input button {
+ height: 29px;
+ /* Updated from 3.15vw to 6.51vh */
+ width: 29px;
+ position: absolute;
+ right: 10px;
+ background: transparent;
+ cursor: pointer;
+ font-size: 12px;
+ /* Updated from 1.6vw to 3.29vh */
+ color: #dadada;
+ bottom: 0;
+ /* Updated from 0.375vw to 0.77vh */
+ }
+
+ div.ai .text-pic,
+ div.user .text-pic {
+ width: 20px;
+ height: 20px;
+ position: absolute;
+ top: 11px;
+ border-radius: 6px;
+ }
+
+ div.ai .text-pic {
+ left: -10px;
+ }
+
+ div.user .text-pic {
+ left: calc(100% - 12px);
+ }
+
+ div.user,
+ div.ai {
+ font-size: 12px;
+ border-radius: 10px;
+ border: #365057 1px solid;
+ color: #bebebe;
+ width: fit-content;
+ max-width: calc(100% - 20px);
+ position: relative;
+ transition: 200ms ease-in-out;
+ }
+
+ div.ai {
+ left: 8px;
+ padding: 10px 10px 10px 23px;
+ }
+
+ div.user {
+ position: relative;
+ /* setting the left property in Message.jsx (from js) */
+ padding: 10px 23px 10px 10px;
+ opacity: 0;
+ transition: 150ms ease-in-out;
+ }
+
+ /* .text-pic {
+ width: 20px;
+ height: 20px;
+ position: absolute;
+ left: -10px;
+ top: 11px;
+ border-radius: .5vw;
+ } */
+
+ button.terminate {
+ position: absolute;
+ bottom: -30px;
+ transition: 200ms ease-in-out;
+ border: none;
+ width: 120px;
+ height: 28px;
+ font-size: 11px;
+ border-radius: 5px;
+ color: white;
+ border: 2px solid;
+ background: none;
+ opacity: 0;
+ border-image: linear-gradient(108deg, #052437 -7.56%, #14507d 29.51%, #47a2a5 69.57%, #bcf7ff 107.24%) 1;
+ }
+
+ button.terminate.processing {
+ bottom: 80px;
+ opacity: 1;
+ }
+
+ p.note {
+ position: fixed;
+ bottom: 70px;
+ /* Updated from 1.8vw to 3.72vh */
+ font-size: 6px;
+ width: 85%;
+ }
+}
\ No newline at end of file
diff --git a/app/Components/MarkdownRenderer/MarkdownRenderer.jsx b/app/Components/MarkdownRenderer/MarkdownRenderer.jsx
new file mode 100644
index 0000000000000000000000000000000000000000..7b8a6ca2dd7cbce795455ef9b6df1025f5250432
--- /dev/null
+++ b/app/Components/MarkdownRenderer/MarkdownRenderer.jsx
@@ -0,0 +1,58 @@
+"use client";
+
+import { useTheme } from '@/app/Contexts/ThemeContext/ThemeContext';
+import { faCopy as copyRegular } from '@fortawesome/free-regular-svg-icons';
+import { faCopy as copySolid } from '@fortawesome/free-solid-svg-icons';
+import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
+import { memo, useRef, useState } from 'react';
+import ReactMarkdown from 'react-markdown';
+import { Prism as SyntaxHighlighter } from 'react-syntax-highlighter';
+import { atomDark, oneLight } from 'react-syntax-highlighter/dist/cjs/styles/prism';
+
+const MarkdownRenderer = ( { text, className, optionsClassName = "" } ) => {
+
+ const { darkMode } = useTheme();
+ const [ copied, setCopied ] = useState( false );
+
+ return (
+
+
+
+
+ {
+ if ( !copied ) {
+ navigator.clipboard.writeText( e.target.parentNode.previousSibling?.innerText );
+ setCopied( true );
+ let timeOut = setTimeout( () => {
+ setCopied( false );
+ clearTimeout( timeOut );
+ }, 2000 );
+ }
+ } } icon={ copied ? copySolid : copyRegular } />
+
+ >
+ ) : (
+ <>
+
+ { children }
+
+ >
+ );
+ },
+ } }>
+ { text }
+
+
+ );
+};
+
+export default memo( MarkdownRenderer );
\ No newline at end of file
diff --git a/app/Components/Message/Message.jsx b/app/Components/Message/Message.jsx
new file mode 100644
index 0000000000000000000000000000000000000000..5210d1bce78029664ea5b75ec5b9b38b4e909b88
--- /dev/null
+++ b/app/Components/Message/Message.jsx
@@ -0,0 +1,40 @@
+import { memo, useRef } from 'react';
+import MarkdownRenderer from '../MarkdownRenderer/MarkdownRenderer';
+import Image from 'next/image';
+import { isMobileDevice } from '@/app/Contexts/IsMobileContext/IsMobileContext';
+
+
+const Message = ( { msg, session, styles, onClick = () => { }, id } ) => {
+
+
+ const { isMobile } = isMobileDevice();
+
+ return (
+ {
+ if ( msg.role == "user" ) {
+ e.currentTarget.style.left = !isMobile ? `calc(100% - ${ ( e.currentTarget.offsetWidth / window.innerWidth ) * 100 }vw - .8vw )` : `calc( 100% - ${ ( e.currentTarget.offsetWidth ) }px - 5px)`;
+ e.currentTarget.style.opacity = 1;
+ }
+ } }
+ style={ {
+ animation: "msg ease-in-out 2s 1",
+ } }
+ id={ id || msg.key }
+ onClick={ onClick }
+ >
+
+ {/*
{ marked( msg.content ) }
*/ }
+
+
+
+ );
+};
+
+export default memo( Message );
\ No newline at end of file
diff --git a/app/Components/ToggleButton/ToggleButton.jsx b/app/Components/ToggleButton/ToggleButton.jsx
new file mode 100644
index 0000000000000000000000000000000000000000..29b108178d52943d4187d99c731fad3e20486f6b
--- /dev/null
+++ b/app/Components/ToggleButton/ToggleButton.jsx
@@ -0,0 +1,13 @@
+import React from 'react';
+import styles from "./ToggleButton.module.css";
+
+const ToggleButton = ( { checked = true, className = "", ...props } ) => {
+ return (
+
+
+
+
+ );
+};
+
+export default ToggleButton;
\ No newline at end of file
diff --git a/app/Components/ToggleButton/ToggleButton.module.css b/app/Components/ToggleButton/ToggleButton.module.css
new file mode 100644
index 0000000000000000000000000000000000000000..b5e207c57d95cf23b12acf1e6629875474726037
--- /dev/null
+++ b/app/Components/ToggleButton/ToggleButton.module.css
@@ -0,0 +1,72 @@
+label.switch {
+ position: relative;
+ display: inline-block;
+ width: 3.5vw;
+ height: 4.5vh;
+}
+
+label.switch input {
+ opacity: 0;
+ width: 0;
+ height: 0;
+}
+
+span.slider {
+ position: absolute;
+ cursor: pointer;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ background-color: #ccc;
+ -webkit-transition: .4s;
+ transition: .4s;
+ border-radius: 34px;
+}
+
+.slider:before {
+ position: absolute;
+ content: "";
+ height: 4.2vh;
+ width: 4.2vh;
+ left: .05vw;
+ bottom: .2vh;
+ background-color: white;
+ -webkit-transition: .4s;
+ transition: .4s;
+ border-radius: 50%;
+}
+
+input:checked + .slider {
+ background-color: #23bca6;
+}
+
+input:focus + .slider {
+ box-shadow: 0 0 1px #0a9290;
+}
+
+input:checked + .slider:before {
+ -webkit-transform: translateX(1.4vw);
+ -ms-transform: translateX(1.4vw);
+ transform: translateX(1.4vw);
+}
+
+@media (max-width: 767px) {
+ label.switch {
+ width: 35px;
+ height: 20px;
+ }
+
+ .slider:before {
+ height: 17px;
+ width: 17px;
+ left: 1px;
+ bottom: 1.5px;
+ }
+
+ input:checked + .slider:before {
+ -webkit-transform: translateX(17px);
+ -ms-transform: translateX(17px);
+ transform: translateX(17px);
+ }
+}
\ No newline at end of file
diff --git a/app/Contexts/IsMobileContext/IsMobileContext.js b/app/Contexts/IsMobileContext/IsMobileContext.js
new file mode 100644
index 0000000000000000000000000000000000000000..3ddb291441265ac1e66ca5f5013be1e1044cd96c
--- /dev/null
+++ b/app/Contexts/IsMobileContext/IsMobileContext.js
@@ -0,0 +1,35 @@
+"use client";
+import { createContext, useContext, useEffect, useState } from 'react';
+
+const IsMobileContext = createContext();
+
+export const isMobileDevice = () => {
+ return useContext( IsMobileContext );
+};
+
+const IsMobileProvider = ( { children } ) => {
+
+ const [ isMobile, setIsMobile ] = useState( true );
+
+ return (
+ { children }
+ );
+};
+
+
+const toggleNavContext = createContext();
+
+export const toggleNavDevice = () => {
+ return useContext( toggleNavContext );
+};
+
+export const ToggleNavProvider = ( { children } ) => {
+
+ const [ toggleNav, setToggleNav ] = useState( false );
+
+ return (
+ { children }
+ );
+};
+
+export default IsMobileProvider;
\ No newline at end of file
diff --git a/app/Contexts/MessagesContext/MessagesContext.jsx b/app/Contexts/MessagesContext/MessagesContext.jsx
new file mode 100644
index 0000000000000000000000000000000000000000..004c42ca1e337e118e36bd5662027aeb4c800ffa
--- /dev/null
+++ b/app/Contexts/MessagesContext/MessagesContext.jsx
@@ -0,0 +1,82 @@
+"use client";
+import { getUser } from '@/Provider/Provider';
+import { getData } from '@/app/Supabase/Supabase';
+import { createContext, useContext, useEffect, useState } from 'react';
+
+const MessagesContext = createContext();
+
+export const useMessages = () => {
+ return useContext( MessagesContext );
+};
+
+
+function* convertArray ( inputArray ) {
+ // const outputArray = [];
+
+ for ( const [ user, assistant ] of inputArray ) {
+ const userValue = user.value;
+ const assistantValue = assistant.value;
+
+ if ( userValue.trim().length && assistantValue.trim().length ) {
+ // outputArray.push(
+ yield { content: userValue, role: "user", key: user.key };
+ yield { content: assistantValue, role: "assistant", key: assistant.key };
+ // );
+ }
+ }
+
+ // return outputArray;
+}
+
+
+const MessagesProvider = ( { children } ) => {
+
+ const [ messages, setMessages ] = useState( [] );
+ const [ Msgsloading, setMsgsLoading ] = useState( true );
+
+ useEffect( () => {
+
+ const fetchMessages = async () => {
+
+ let { session, signedIn } = await getUser();
+ if ( signedIn ) {
+
+ try {
+
+ let { data: prompts } = await getData( {
+ table: "prompts",
+ columns: "prompt",
+ orderBy: {
+ property: "id",
+ ascending: true
+ },
+ where: {
+ author: `${ session.user.id }`
+ }
+ } );
+
+ if ( prompts.length ) {
+ console.time( "start" );
+ setMessages( [ ...convertArray( prompts.map( prompt => prompt.prompt ) ) ] );
+ console.timeEnd( "start" );
+ }
+
+ } catch ( e ) {
+ console.log( e );
+ } finally {
+ setMsgsLoading( false );
+ }
+ }
+
+ };
+
+ fetchMessages();
+
+ }, [] );
+
+ return (
+ { children }
+ );
+};
+
+export default MessagesProvider;
\ No newline at end of file
diff --git a/app/Contexts/ThemeContext/ThemeContext.jsx b/app/Contexts/ThemeContext/ThemeContext.jsx
new file mode 100644
index 0000000000000000000000000000000000000000..5ceede62cc775ee9cee8bae3dc5a4beffc1d1114
--- /dev/null
+++ b/app/Contexts/ThemeContext/ThemeContext.jsx
@@ -0,0 +1,60 @@
+"use client";
+import React, { createContext, useContext, useEffect, useState } from 'react';
+
+const ThemeContext = createContext();
+
+export const useTheme = () => {
+ return useContext( ThemeContext );
+};
+
+const ThemeProvider = ( { children } ) => {
+
+ const [ darkMode, setDarkMode ] = useState();
+
+ useEffect( () => {
+ const storedDarkMode = JSON.parse( localStorage.getItem( "darkMode" ) );
+
+ if ( storedDarkMode && "darkMode" in storedDarkMode ) {
+ setDarkMode( storedDarkMode.darkMode );
+ console.log( storedDarkMode );
+ } else {
+ setDarkMode( true );
+ console.log( storedDarkMode );
+ }
+ }, [] );
+
+
+ useEffect( () => {
+ const rootStyles = getComputedStyle( document.documentElement );
+ const getProp = rootStyles.getPropertyValue.bind( rootStyles );
+
+ if ( darkMode != undefined && darkMode != null && typeof darkMode != "undefined" ) localStorage.setItem( "darkMode", JSON.stringify( { darkMode } ) );
+
+ if ( darkMode ) {
+ document.body.classList.remove( "lightMode" );
+ document.documentElement.style.setProperty( "--top-left", getProp( "--top-left-dark" ) );
+ document.documentElement.style.setProperty( "--mid-left", getProp( "--mid-left-dark" ) );
+ document.documentElement.style.setProperty( "--center", getProp( "--center-dark" ) );
+ document.documentElement.style.setProperty( "--top-right", getProp( "--top-right-dark" ) );
+ document.documentElement.style.setProperty( "--bottom-right", getProp( "--bottom-right-dark" ) );
+ } else {
+ document.body.classList.add( "lightMode" );
+ document.documentElement.style.setProperty( "--top-left", getProp( "--top-left-light" ) );
+ document.documentElement.style.setProperty( "--mid-left", getProp( "--mid-left-light" ) );
+ document.documentElement.style.setProperty( "--center", getProp( "--center-light" ) );
+ document.documentElement.style.setProperty( "--top-right", getProp( "--top-right-light" ) );
+ document.documentElement.style.setProperty( "--bottom-right", getProp( "--bottom-right-light" ) );
+ }
+
+ }, [ darkMode ] );
+
+ const toggleDarkMode = () => {
+ setDarkMode( prev => !prev );
+ };
+
+ return (
+ { children }
+ );
+};
+
+export default ThemeProvider;
\ No newline at end of file
diff --git a/app/Supabase/Supabase.js b/app/Supabase/Supabase.js
new file mode 100644
index 0000000000000000000000000000000000000000..1f3f7fec3eb2480645da5f9a34fb6ad9deb03713
--- /dev/null
+++ b/app/Supabase/Supabase.js
@@ -0,0 +1,193 @@
+import { createClient } from '@supabase/supabase-js';
+
+const supabaseUrl = process.env.NEXT_PUBLIC_SUPABASE_URL;
+const supabaseKey = process.env.NEXT_PUBLIC_SUPABASE_KEY;
+
+export const supabase = createClient(supabaseUrl, supabaseKey, {
+ auth: { persistSession: false }
+});
+
+
+
+export const getData = async ({
+ table,
+ range,
+ columns = [],
+ where = {},
+ contains = {},
+ orderBy = {
+ property: 'id',
+ ascending: false
+ }
+}) => {
+
+ try {
+
+ if (Array.isArray(columns)) {
+ columns = columns.join(",");
+ }
+
+ let Data = supabase
+ .from(table)
+ .select(columns)
+ .match(where)
+ .order(orderBy.property, { ascending: orderBy.ascending });
+
+ if (range && range.length === 2) {
+ Data.range(range[0], range[1]);
+ }
+
+ if (Object.keys(contains).length) {
+ for (let key in contains) {
+ Data.ilike(key, `%${contains[key].join("%")}%`);
+ }
+ }
+
+ Data = await Data;
+
+ return { data: Data.data, statusText: Data.statusText, error: Data.error };
+
+ } catch (error) {
+
+ console.log(error);
+
+ }
+
+ return false;
+
+};
+
+export const insertData = async ({
+ table,
+ object
+}) => {
+
+ try {
+
+ const { data, error, statusText } = await supabase
+ .from(table)
+ .insert(object)
+ .select();
+
+ return { data, error, statusText };
+
+ } catch (error) {
+
+ console.log(error);
+
+ }
+
+ return false;
+
+};
+
+export const updateData = async ({
+ table,
+ object,
+ where
+}) => {
+
+ try {
+
+ let Data = await supabase
+ .from(table)
+ .update(object)
+ .match(where);
+
+
+ return Data.data;
+
+ } catch (error) {
+
+ console.log(error);
+
+ }
+
+ return false;
+
+};
+
+export const exists = async ({
+ table,
+ where,
+ columns = []
+}) => {
+ try {
+
+ if (Array.isArray(columns)) {
+ columns = columns.join(",");
+ }
+
+ let { data, error } = await supabase
+ .from(table)
+ .select(columns)
+ .match(where);
+
+ return !!data.length;
+
+ } catch (e) {
+ console.log(e);
+ }
+
+ return false;
+};
+
+export const deleteData = async ({
+ table,
+ where,
+}) => {
+ try {
+ const { data, error, statusText } = await supabase
+ .from(table)
+ .delete()
+ .match(where);
+
+ return { data, error, statusText };
+ } catch (e) {
+ console.log(e);
+ }
+
+ return false;
+};
+
+export const uploadFile = async (userID, postID, id, file) => {
+
+ try {
+
+ supabase.storage
+ .from("images")
+ .upload(`users/${userID}/${postID}/${id}`, file, {
+ cacheControl: '3600',
+ upsert: false
+ }).then(console.log);
+
+ } catch (e) {
+
+ console.log(e);
+
+ }
+
+};
+
+export const getFile = (FolderPath, id) => {
+
+ let { data: { publicUrl: src } } = supabase.storage.from(`images/${FolderPath}`).getPublicUrl(id);
+
+ return src;
+
+};
+
+export const deleteFile = async (path) => {
+
+ let { data } = await supabase.storage.from(`images`).remove([`${path}`]);
+
+ return data;
+
+};
+
+export const deleteAllFiles = async (FolderPath) => {
+ let { data: list } = await supabase.storage.from(`images`).list(FolderPath);
+ const filesToDelete = list.map(file => `${FolderPath}/${file.name}`);
+ const { data, error } = await supabase.storage.from("images").remove(filesToDelete);
+ return data;
+};
\ No newline at end of file
diff --git a/app/api/api-access/route.js b/app/api/api-access/route.js
new file mode 100644
index 0000000000000000000000000000000000000000..1cdb2f2bbd361b90aca53f17331e42e43e5629df
--- /dev/null
+++ b/app/api/api-access/route.js
@@ -0,0 +1,115 @@
+import { createTransport } from 'nodemailer';
+
+export async function POST ( req ) {
+ const { email } = await req.json();
+
+ try {
+ const transporter = createTransport( {
+ service: "SMTP",
+ host: "aions.co",
+ port: 465,
+ auth: {
+ user: "chat@aions.co",
+ pass: process.env.SMTP_PASS
+ }
+ } );
+
+ const res = await transporter.sendMail( {
+ from: 'aions.co ',
+ to: email,
+ subject: 'Early Access Signup Confirmation',
+ html: `
+
+
+
+
+
+
+
+
+
Our Services
+
+
PreBytes
+
We specialize in developing games that push the boundaries of innovation and entertainment. Our team of experienced game developers and AI engineers collaborate to create immersive gaming experiences that adapt and learn from player behavior. From procedural generation and intelligent NPCs to adaptive difficulty and real-time decision-making, our AI game development services will take your gaming experience to the next level.
+
+
+
Chaperone
+
An Android app connecting users with companions for enjoyable activities and conversations. Personalized and convenient, it's the platform for meaningful connections and memorable experiences.
+
+
+
Valora
+
Valora is a pioneering software company specializing in HR Management services. With a focus on modernizing and streamlining human resources processes, Valora offers innovative solutions to optimize talent acquisition, employee onboarding, performance management, and more. Through its cutting-edge technology, Valora empowers businesses to enhance workforce efficiency, engagement, and overall organizational success. With a commitment to delivering user-friendly and scalable HR solutions, Valora is reshaping the future of human resource management for companies across various industries.
+
+
+
Neural Softwares
+
Neural Softwares is a pioneering AI company at the forefront of developing a diverse range of cutting-edge AI tools. Leveraging advanced neural network architectures and machine learning techniques, Neural Softwares creates innovative solutions tailored to address various industries' unique challenges. From natural language processing and computer vision to predictive analytics and automation, their AI tools empower businesses with intelligent insights and streamlined processes, unlocking new levels of efficiency and productivity.
+
+
+
Thank you for signing up for early access
+
+
+
+
+
+
+ `
+ } );
+
+ return new Response( JSON.stringify( { response: res } ), { status: 200 } );
+
+ } catch ( e ) {
+ console.log( e );
+ return new Response( JSON.stringify( { error: e } ), { status: 500 } );
+ }
+}
\ No newline at end of file
diff --git a/app/api/auth/[...nextauth]/route.js b/app/api/auth/[...nextauth]/route.js
new file mode 100644
index 0000000000000000000000000000000000000000..33aa547511abcbaf3f1c2d7fc8ea8f66caabf394
--- /dev/null
+++ b/app/api/auth/[...nextauth]/route.js
@@ -0,0 +1,77 @@
+import { exists, getData, insertData } from "@/app/Supabase/Supabase";
+import NextAuth from "next-auth";
+import GoogleProvider from "next-auth/providers/google";
+
+const handler = NextAuth( {
+
+ providers: [
+
+ GoogleProvider( {
+ clientId: process.env.GOOGLE_CLIENT_ID,
+ clientSecret: process.env.GOOGLE_CLIENT_SECRET
+ } )
+
+ ],
+ callbacks: {
+
+ async session ( { session, user, token } ) {
+ try {
+
+ const sessionUser = await getData( {
+ table: "users",
+ where: {
+ email: session.user.email
+ }
+
+ } ).then( users => users.data[ 0 ] );
+
+ session.user.id = sessionUser.id;
+
+ return session;
+
+ } catch ( e ) {
+ console.log( e );
+ }
+ },
+ async signIn ( { profile } ) {
+
+ try {
+
+ const userExist = await exists( {
+ table: "users",
+ where: {
+ email: profile.email
+ },
+ columns: "email"
+ } );
+
+ if ( !userExist ) {
+
+ const currentDate = new Date();
+
+ await insertData( {
+ table: "users",
+ object: {
+ email: profile.email,
+ name: profile.name.toLowerCase(),
+ image: profile.picture,
+ created_at: `${ currentDate.getDate() }-${ currentDate.toLocaleString( 'default', { month: 'long' } ).substring( 0, 3 ) } ${ currentDate.getFullYear() }`
+ }
+ } );
+
+ }
+
+ return true;
+
+ } catch ( e ) {
+
+ console.log( e );
+ return false;
+
+ }
+
+ }
+ }
+} );
+
+export { handler as GET, handler as POST };
\ No newline at end of file
diff --git a/app/api/bard/route.js b/app/api/bard/route.js
new file mode 100644
index 0000000000000000000000000000000000000000..315eda00faa46c989d6655517fb0bef63c8980e0
--- /dev/null
+++ b/app/api/bard/route.js
@@ -0,0 +1,52 @@
+import { DiscussServiceClient } from "@google-ai/generativelanguage";
+import { GoogleAuth } from "google-auth-library";
+
+
+const API_KEY = process.env.API_KEY;
+const MODEL_NAME = "models/chat-bison-001";
+
+const client = new DiscussServiceClient( {
+ authClient: new GoogleAuth().fromAPIKey( "AIzaSyA6B01DPsXtGIhUQjckCshbD1E99Edd2Tg" ),
+} );
+
+
+const MAX_RETRIES = 5;
+
+export const POST = async ( req, { params } ) => {
+ try {
+ let { messages } = await req.json();
+
+ let retries = 0;
+ let answer;
+
+ while ( retries < MAX_RETRIES ) {
+ console.log( `ran ${ retries + 1 } times` );
+ const result = await client.generateMessage( {
+ model: MODEL_NAME,
+ temperature: ( retries + 1.6 ) * 0.1,
+ prompt: {
+ context: "You Are Ray-AI and this is also your name.",
+ messages,
+ },
+ } );
+
+ if ( result[ 0 ]?.candidates?.[ 0 ]?.content ) {
+ answer = result[ 0 ].candidates[ 0 ].content;
+ break;
+ } else {
+ messages.push( { content: "hmm" } );
+ retries++;
+ console.log( result[ 0 ] );
+ }
+ }
+
+ if ( !answer ) {
+ return new Response( JSON.stringify( { answer: "I Apologize Can you Clearify?" } ), { status: 200 } );
+ }
+
+ return new Response( JSON.stringify( { answer } ), { status: 200 } );
+ } catch ( e ) {
+ console.log( e );
+ return new Response( JSON.stringify( { error: e } ), { status: 500 } );
+ }
+};
diff --git a/app/api/chat/route.js b/app/api/chat/route.js
new file mode 100644
index 0000000000000000000000000000000000000000..1470267dd174f893232ee66af3e50237783d9be4
--- /dev/null
+++ b/app/api/chat/route.js
@@ -0,0 +1,114 @@
+// // import { OpenAIStream, StreamingTextResponse } from "ai";
+// // import OpenAI from "openai";
+
+import axios from "axios";
+
+// // const openai = new OpenAI( {
+// // apiKey: process.env.OPENAI_API_KEY,
+// // } );
+
+// // export const runtime = 'edge';
+
+// // export async function POST ( req ) {
+// // try {
+// // const { messages } = await req.json();
+// // const response = await openai.chat.completions.create( {
+// // model: 'gpt-3.5-turbo',
+// // stream: true,
+// // messages,
+// // } );
+// // const stream = OpenAIStream( response );
+// // return new StreamingTextResponse( stream );
+// // } catch ( e ) {
+// // console.log( e );
+// // return null;
+// // }
+// // }
+
+
+// import { HfInference } from '@huggingface/inference';
+// import { HuggingFaceStream, StreamingTextResponse } from 'ai';
+// import { experimental_buildOpenAssistantPrompt } from 'ai/prompts';
+
+
+// const Hf = new HfInference( "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" );
+
+
+// export const runtime = 'edge';
+
+// export async function POST ( req ) {
+// try {
+
+// const { messages } = await req.json();
+
+// const response = await Hf.textGenerationStream( {
+// model: 'OpenAssistant/oasst-sft-4-pythia-12b-epoch-3.5',
+// inputs: experimental_buildOpenAssistantPrompt( messages ),
+// parameters: {
+// max_new_tokens: 1000,
+// // @ts-ignore (this is a valid parameter specifically in OpenAssistant models)
+// typical_p: 0.2,
+// repetition_penalty: 1,
+// truncate: 1000,
+// return_full_text: false,
+// }
+// } );
+
+
+// const stream = HuggingFaceStream( response );
+
+
+// return new StreamingTextResponse( stream );
+
+// } catch ( e ) {
+// console.log( e );
+// }
+// }
+
+
+export async function POST ( req ) {
+ const { input, new_convo } = await req.json();
+
+ try {
+
+ // const response = await fetch( "https://AIONS.pythonanywhere.com/api/huggingface", {
+ // method: "POST",
+ // body: JSON.stringify( {
+ // prompt: input,
+ // chatbot_model: 0,
+ // web_search: true,
+ // new_conversation: new_convo
+ // } ),
+ // headers: {
+ // 'Content-Type': 'application/json',
+ // }
+ // } );
+
+ // if ( response.ok ) {
+ // const body = await response.json();
+ // console.log( body.response );
+ // return new Response( JSON.stringify( { body } ), { status: 200 } );
+ // }
+
+ // console.log( await response.json() );
+
+ let response = await axios.post( "https://AIONS.pythonanywhere.com/api/huggingface", {
+ prompt: input,
+ chatbot_model: 0,
+ web_search: true,
+ new_conversation: new_convo
+ } );
+
+ if ( response.status == 200 ) {
+ console.log( response.data.response );
+ return new Response( JSON.stringify( { body: { response: response.data.response } } ), { status: response.status } );
+ } else {
+ console.log( response.data );
+ return new Response( JSON.stringify( { error: { error: response.statusText } } ), { status: response.status } );
+ }
+
+ } catch ( e ) {
+ console.log( e );
+ return new Response( JSON.stringify( { error: e } ), { status: 500 } );
+ }
+}
\ No newline at end of file
diff --git a/app/favicon.ico b/app/favicon.ico
new file mode 100644
index 0000000000000000000000000000000000000000..821043f5315c72435f2dcc8cc0efdce5d6f66490
Binary files /dev/null and b/app/favicon.ico differ
diff --git a/app/globals.css b/app/globals.css
new file mode 100644
index 0000000000000000000000000000000000000000..c69ea8f2d67ce7198ed580fbb443a05b8ebbd166
--- /dev/null
+++ b/app/globals.css
@@ -0,0 +1,169 @@
+@font-face {
+ font-family: Quicksand;
+ src: url("/Fonts/Quicksand.ttf");
+}
+
+@font-face {
+ font-family: Righteous;
+ src: url("/Fonts/Righteous.ttf");
+}
+
+@font-face {
+ font-family: Aharoni;
+ src: url("/Fonts/Aharoni.ttf");
+}
+
+@font-face {
+ font-family: ABeeZee;
+ src: url("/Fonts/ABeeZee.ttf");
+}
+
+@font-face {
+ font-family: Roboto;
+ src: url("/Fonts/Roboto.ttf");
+}
+
+@font-face {
+ font-family: Montserrat;
+ src: url("/Fonts/Montserrat.ttf");
+}
+
+* {
+ padding: 0;
+ margin: 0;
+ box-sizing: border-box;
+}
+
+/* ::placeholder {
+ font-size: 0.9em;
+} */
+
+:root {
+ --top-left: #1c3651;
+ /* #330624: #65133a, #432d39 #1c3651: #18868d, #365057 */
+ --mid-left: #1a303a;
+ /* #33192c #1a303a */
+ --center: #1c364f;
+ /* #470932db #1c364f */
+ --top-right: #1e204d;
+ /* #41183d #1e204d */
+ --bottom-right: #273643;
+ /* #432741 #273643 */
+
+ --top-left-dark: #1c3651;
+ /* #391c51 */
+ --mid-left-dark: #1a303a;
+ /* #1D1A3A */
+ --center-dark: #1c364f;
+ /* #1C224F */
+ --top-right-dark: #1e204d;
+ /* #2B1E4D */
+ --bottom-right-dark: #273643;
+ /* #2D2743 */
+
+ --top-left-light: #0b6c6d;
+ --mid-left-light: #176da0;
+ --center-light: #aaf0ff;
+ --top-right-light: #c1c3ff;
+ --bottom-right-light: #aaf1ff;
+}
+
+body {
+ width: 100vw;
+ height: 100vh;
+ overflow: hidden;
+ --body-bg: #012127;
+ --body-bg-dark: #012127;
+ --body-bg-light: #96dade;
+ background: var(--body-bg);
+ /* background: #160722; */
+ /* #11192A */
+ /* #012127 */
+ /* #160815 */
+}
+
+::-webkit-scrollbar {
+ width: 8.5px;
+ height: 5px;
+ background: transparent;
+ border-radius: 5px;
+}
+
+::-webkit-scrollbar-thumb {
+ background: #7cd0cc;
+ border-radius: 5px;
+ min-height: 30px;
+}
+
+body.lightMode {
+ background: var(--body-bg-light);
+}
+
+div.bg1 {
+ position: fixed;
+ background: var(--top-left);
+ width: 35.625vw;
+ height: 77.19005vh;
+ border-radius: 50%;
+ top: -34.7225vh;
+ /* Updated value */
+ left: -16.875vw;
+ z-index: -100000;
+ filter: blur(100px);
+}
+
+div.bg2 {
+ position: fixed;
+ background: var(--mid-left);
+ width: 35.625vw;
+ height: 77.01675vh;
+ /* Updated value */
+ border-radius: 50%;
+ top: 34.7225vh;
+ /* Updated value */
+ left: -16.875vw;
+ z-index: -100000;
+ filter: blur(100px);
+}
+
+div.bg3 {
+ position: fixed;
+ background: var(--center);
+ width: 29.1vw;
+ height: 66.4765vh;
+ /* Updated value */
+ border-radius: 50%;
+ top: -23.73115vh;
+ /* Updated value */
+ left: 24.9vw;
+ z-index: -100000;
+ filter: blur(100px);
+}
+
+div.bg4 {
+ position: fixed;
+ background: var(--top-right);
+ width: 51.6vw;
+ height: 66.4765vh;
+ /* Updated value */
+ border-radius: 50%;
+ top: -23.73115vh;
+ /* Updated value */
+ right: -11.25vw;
+ z-index: -100000;
+ filter: blur(100px);
+}
+
+div.bg5 {
+ position: fixed;
+ background: var(--bottom-right);
+ width: 51.6vw;
+ height: 66.4765vh;
+ /* Updated value */
+ border-radius: 50%;
+ bottom: -46.5066vh;
+ /* Updated value */
+ right: 6.15vw;
+ z-index: -100000;
+ filter: blur(100px);
+}
\ No newline at end of file
diff --git a/jsconfig.json b/jsconfig.json
new file mode 100644
index 0000000000000000000000000000000000000000..a39f76235c1e8519a26c5e3b50a1698f61a7adde
--- /dev/null
+++ b/jsconfig.json
@@ -0,0 +1,7 @@
+{
+ "compilerOptions": {
+ "paths": {
+ "@/*": [ "./*" ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/next.config.js b/next.config.js
new file mode 100644
index 0000000000000000000000000000000000000000..4f0f7c9d39a162a1f6a739dc050a817ffdc10809
--- /dev/null
+++ b/next.config.js
@@ -0,0 +1,8 @@
+/** @type {import('next').NextConfig} */
+const nextConfig = {
+ images: {
+ domains: [ 'lh3.googleusercontent.com', "res.cloudinary.com", "iiehkolsitbpijjhtjfu.supabase.co" ]
+ }
+};
+
+module.exports = nextConfig;
diff --git a/package-lock.json b/package-lock.json
new file mode 100644
index 0000000000000000000000000000000000000000..79e9c4d2b5622d024fbf8ff804025db137a03134
--- /dev/null
+++ b/package-lock.json
@@ -0,0 +1,3941 @@
+{
+ "name": "client",
+ "version": "0.1.0",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "client",
+ "version": "0.1.0",
+ "dependencies": {
+ "@fortawesome/fontawesome-svg-core": "^6.4.2",
+ "@fortawesome/free-brands-svg-icons": "^6.4.2",
+ "@fortawesome/free-regular-svg-icons": "^6.4.2",
+ "@fortawesome/free-solid-svg-icons": "^6.4.2",
+ "@fortawesome/react-fontawesome": "^0.2.0",
+ "@google-ai/generativelanguage": "^1.1.0",
+ "@huggingface/inference": "^2.6.3",
+ "@supabase/supabase-js": "^2.36.0",
+ "ai": "^2.2.14",
+ "axios": "^1.5.1",
+ "google-auth-library": "^9.0.0",
+ "marked": "^9.0.3",
+ "next": "13.5.2",
+ "next-auth": "^4.23.1",
+ "nodemailer": "^6.9.6",
+ "openai": "^4.11.1",
+ "react": "18.2.0",
+ "react-dom": "18.2.0",
+ "react-markdown": "^8.0.7",
+ "react-syntax-highlighter": "^15.5.0",
+ "request": "^2.88.2",
+ "uuid": "^9.0.1"
+ },
+ "devDependencies": {
+ "encoding": "^0.1.13"
+ }
+ },
+ "node_modules/@ampproject/remapping": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz",
+ "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==",
+ "peer": true,
+ "dependencies": {
+ "@jridgewell/gen-mapping": "^0.3.0",
+ "@jridgewell/trace-mapping": "^0.3.9"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@babel/parser": {
+ "version": "7.23.0",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz",
+ "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==",
+ "peer": true,
+ "bin": {
+ "parser": "bin/babel-parser.js"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@babel/runtime": {
+ "version": "7.22.15",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.15.tgz",
+ "integrity": "sha512-T0O+aa+4w0u06iNmapipJXMV4HoUir03hpx3/YqXXhu9xim3w+dVphjFWl1OH8NbZHw5Lbm9k45drDkgq2VNNA==",
+ "dependencies": {
+ "regenerator-runtime": "^0.14.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@fortawesome/fontawesome-common-types": {
+ "version": "6.4.2",
+ "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.4.2.tgz",
+ "integrity": "sha512-1DgP7f+XQIJbLFCTX1V2QnxVmpLdKdzzo2k8EmvDOePfchaIGQ9eCHj2up3/jNEbZuBqel5OxiaOJf37TWauRA==",
+ "hasInstallScript": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@fortawesome/fontawesome-svg-core": {
+ "version": "6.4.2",
+ "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.4.2.tgz",
+ "integrity": "sha512-gjYDSKv3TrM2sLTOKBc5rH9ckje8Wrwgx1CxAPbN5N3Fm4prfi7NsJVWd1jklp7i5uSCVwhZS5qlhMXqLrpAIg==",
+ "hasInstallScript": true,
+ "dependencies": {
+ "@fortawesome/fontawesome-common-types": "6.4.2"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@fortawesome/free-brands-svg-icons": {
+ "version": "6.4.2",
+ "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-6.4.2.tgz",
+ "integrity": "sha512-LKOwJX0I7+mR/cvvf6qIiqcERbdnY+24zgpUSouySml+5w8B4BJOx8EhDR/FTKAu06W12fmUIcv6lzPSwYKGGg==",
+ "hasInstallScript": true,
+ "dependencies": {
+ "@fortawesome/fontawesome-common-types": "6.4.2"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@fortawesome/free-regular-svg-icons": {
+ "version": "6.4.2",
+ "resolved": "https://registry.npmjs.org/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-6.4.2.tgz",
+ "integrity": "sha512-0+sIUWnkgTVVXVAPQmW4vxb9ZTHv0WstOa3rBx9iPxrrrDH6bNLsDYuwXF9b6fGm+iR7DKQvQshUH/FJm3ed9Q==",
+ "hasInstallScript": true,
+ "dependencies": {
+ "@fortawesome/fontawesome-common-types": "6.4.2"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@fortawesome/free-solid-svg-icons": {
+ "version": "6.4.2",
+ "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.4.2.tgz",
+ "integrity": "sha512-sYwXurXUEQS32fZz9hVCUUv/xu49PEJEyUOsA51l6PU/qVgfbTb2glsTEaJngVVT8VqBATRIdh7XVgV1JF1LkA==",
+ "hasInstallScript": true,
+ "dependencies": {
+ "@fortawesome/fontawesome-common-types": "6.4.2"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@fortawesome/react-fontawesome": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.2.0.tgz",
+ "integrity": "sha512-uHg75Rb/XORTtVt7OS9WoK8uM276Ufi7gCzshVWkUJbHhh3svsUUeqXerrM96Wm7fRiDzfKRwSoahhMIkGAYHw==",
+ "dependencies": {
+ "prop-types": "^15.8.1"
+ },
+ "peerDependencies": {
+ "@fortawesome/fontawesome-svg-core": "~1 || ~6",
+ "react": ">=16.3"
+ }
+ },
+ "node_modules/@google-ai/generativelanguage": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@google-ai/generativelanguage/-/generativelanguage-1.1.0.tgz",
+ "integrity": "sha512-GQG67TUM9CD//R/HrOSrPSFygiBBqGo38IdaGZ4XejxLdw3wryetPkUMvuioCvgx7ZlV2ONNrQUh8m6m1Lp5ng==",
+ "dependencies": {
+ "google-gax": "^4.0.3"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/@grpc/grpc-js": {
+ "version": "1.9.4",
+ "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.9.4.tgz",
+ "integrity": "sha512-oEnzYiDuEsBydZBtP84BkpduLsE1nSAO4KrhTLHRzNrIQE647fhchmosTQsJdCo8X9zBBt+l5+fNk+m/yCFJ/Q==",
+ "dependencies": {
+ "@grpc/proto-loader": "^0.7.8",
+ "@types/node": ">=12.12.47"
+ },
+ "engines": {
+ "node": "^8.13.0 || >=10.10.0"
+ }
+ },
+ "node_modules/@grpc/proto-loader": {
+ "version": "0.7.10",
+ "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.10.tgz",
+ "integrity": "sha512-CAqDfoaQ8ykFd9zqBDn4k6iWT9loLAlc2ETmDFS9JCD70gDcnA4L3AFEo2iV7KyAtAAHFW9ftq1Fz+Vsgq80RQ==",
+ "dependencies": {
+ "lodash.camelcase": "^4.3.0",
+ "long": "^5.0.0",
+ "protobufjs": "^7.2.4",
+ "yargs": "^17.7.2"
+ },
+ "bin": {
+ "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@huggingface/inference": {
+ "version": "2.6.3",
+ "resolved": "https://registry.npmjs.org/@huggingface/inference/-/inference-2.6.3.tgz",
+ "integrity": "sha512-KK6xNrEldjjopiGqwaBCkA+4tEyuIz0qHsD5SVYaQ65HSlmBbntJieSw4NRWT+S5bK/Bf/GFCixW0NshAOcBqA==",
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@jridgewell/gen-mapping": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz",
+ "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==",
+ "peer": true,
+ "dependencies": {
+ "@jridgewell/set-array": "^1.0.1",
+ "@jridgewell/sourcemap-codec": "^1.4.10",
+ "@jridgewell/trace-mapping": "^0.3.9"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/resolve-uri": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz",
+ "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==",
+ "peer": true,
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/set-array": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
+ "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
+ "peer": true,
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/sourcemap-codec": {
+ "version": "1.4.15",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
+ "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==",
+ "peer": true
+ },
+ "node_modules/@jridgewell/trace-mapping": {
+ "version": "0.3.19",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz",
+ "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==",
+ "peer": true,
+ "dependencies": {
+ "@jridgewell/resolve-uri": "^3.1.0",
+ "@jridgewell/sourcemap-codec": "^1.4.14"
+ }
+ },
+ "node_modules/@next/env": {
+ "version": "13.5.2",
+ "resolved": "https://registry.npmjs.org/@next/env/-/env-13.5.2.tgz",
+ "integrity": "sha512-dUseBIQVax+XtdJPzhwww4GetTjlkRSsXeQnisIJWBaHsnxYcN2RGzsPHi58D6qnkATjnhuAtQTJmR1hKYQQPg=="
+ },
+ "node_modules/@next/swc-darwin-arm64": {
+ "version": "13.5.2",
+ "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.5.2.tgz",
+ "integrity": "sha512-7eAyunAWq6yFwdSQliWMmGhObPpHTesiKxMw4DWVxhm5yLotBj8FCR4PXGkpRP2tf8QhaWuVba+/fyAYggqfQg==",
+ "cpu": [
+ "arm64"
+ ],
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@next/swc-darwin-x64": {
+ "version": "13.5.2",
+ "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.5.2.tgz",
+ "integrity": "sha512-WxXYWE7zF1ch8rrNh5xbIWzhMVas6Vbw+9BCSyZvu7gZC5EEiyZNJsafsC89qlaSA7BnmsDXVWQmc+s1feSYbQ==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@next/swc-linux-arm64-gnu": {
+ "version": "13.5.2",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.5.2.tgz",
+ "integrity": "sha512-URSwhRYrbj/4MSBjLlefPTK3/tvg95TTm6mRaiZWBB6Za3hpHKi8vSdnCMw5D2aP6k0sQQIEG6Pzcfwm+C5vrg==",
+ "cpu": [
+ "arm64"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@next/swc-linux-arm64-musl": {
+ "version": "13.5.2",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.5.2.tgz",
+ "integrity": "sha512-HefiwAdIygFyNmyVsQeiJp+j8vPKpIRYDlmTlF9/tLdcd3qEL/UEBswa1M7cvO8nHcr27ZTKXz5m7dkd56/Esg==",
+ "cpu": [
+ "arm64"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@next/swc-linux-x64-gnu": {
+ "version": "13.5.2",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.5.2.tgz",
+ "integrity": "sha512-htGVVroW0tdHgMYwKWkxWvVoG2RlAdDXRO1RQxYDvOBQsaV0nZsgKkw0EJJJ3urTYnwKskn/MXm305cOgRxD2w==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@next/swc-linux-x64-musl": {
+ "version": "13.5.2",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.5.2.tgz",
+ "integrity": "sha512-UBD333GxbHVGi7VDJPPDD1bKnx30gn2clifNJbla7vo5nmBV+x5adyARg05RiT9amIpda6yzAEEUu+s774ldkw==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@next/swc-win32-arm64-msvc": {
+ "version": "13.5.2",
+ "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.5.2.tgz",
+ "integrity": "sha512-Em9ApaSFIQnWXRT3K6iFnr9uBXymixLc65Xw4eNt7glgH0eiXpg+QhjmgI2BFyc7k4ZIjglfukt9saNpEyolWA==",
+ "cpu": [
+ "arm64"
+ ],
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@next/swc-win32-ia32-msvc": {
+ "version": "13.5.2",
+ "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.5.2.tgz",
+ "integrity": "sha512-TBACBvvNYU+87X0yklSuAseqdpua8m/P79P0SG1fWUvWDDA14jASIg7kr86AuY5qix47nZLEJ5WWS0L20jAUNw==",
+ "cpu": [
+ "ia32"
+ ],
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@next/swc-win32-x64-msvc": {
+ "version": "13.5.2",
+ "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.5.2.tgz",
+ "integrity": "sha512-LfTHt+hTL8w7F9hnB3H4nRasCzLD/fP+h4/GUVBTxrkMJOnh/7OZ0XbYDKO/uuWwryJS9kZjhxcruBiYwc5UDw==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@panva/hkdf": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@panva/hkdf/-/hkdf-1.1.1.tgz",
+ "integrity": "sha512-dhPeilub1NuIG0X5Kvhh9lH4iW3ZsHlnzwgwbOlgwQ2wG1IqFzsgHqmKPk3WzsdWAeaxKJxgM0+W433RmN45GA==",
+ "funding": {
+ "url": "https://github.com/sponsors/panva"
+ }
+ },
+ "node_modules/@protobufjs/aspromise": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz",
+ "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ=="
+ },
+ "node_modules/@protobufjs/base64": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz",
+ "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg=="
+ },
+ "node_modules/@protobufjs/codegen": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz",
+ "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg=="
+ },
+ "node_modules/@protobufjs/eventemitter": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz",
+ "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q=="
+ },
+ "node_modules/@protobufjs/fetch": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz",
+ "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==",
+ "dependencies": {
+ "@protobufjs/aspromise": "^1.1.1",
+ "@protobufjs/inquire": "^1.1.0"
+ }
+ },
+ "node_modules/@protobufjs/float": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz",
+ "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ=="
+ },
+ "node_modules/@protobufjs/inquire": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz",
+ "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q=="
+ },
+ "node_modules/@protobufjs/path": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz",
+ "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA=="
+ },
+ "node_modules/@protobufjs/pool": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz",
+ "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw=="
+ },
+ "node_modules/@protobufjs/utf8": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz",
+ "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw=="
+ },
+ "node_modules/@supabase/functions-js": {
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/@supabase/functions-js/-/functions-js-2.1.5.tgz",
+ "integrity": "sha512-BNzC5XhCzzCaggJ8s53DP+WeHHGT/NfTsx2wUSSGKR2/ikLFQTBCDzMvGz/PxYMqRko/LwncQtKXGOYp1PkPaw==",
+ "dependencies": {
+ "@supabase/node-fetch": "^2.6.14"
+ }
+ },
+ "node_modules/@supabase/gotrue-js": {
+ "version": "2.54.0",
+ "resolved": "https://registry.npmjs.org/@supabase/gotrue-js/-/gotrue-js-2.54.0.tgz",
+ "integrity": "sha512-JjtbchtPbpgK0O8NIMIvKLk7HHv0kd23L3UO5a398nczCcBkI0IvmbPtbS4Xs5AUIuJ+JHtV6siOZR1ha5EzQw==",
+ "dependencies": {
+ "@supabase/node-fetch": "^2.6.14"
+ }
+ },
+ "node_modules/@supabase/node-fetch": {
+ "version": "2.6.14",
+ "resolved": "https://registry.npmjs.org/@supabase/node-fetch/-/node-fetch-2.6.14.tgz",
+ "integrity": "sha512-w/Tsd22e/5fAeoxqQ4P2MX6EyF+iM6rc9kmlMVFkHuG0rAltt2TLhFbDJfemnHbtvnazWaRfy5KnFU/SYT37dQ==",
+ "dependencies": {
+ "whatwg-url": "^5.0.0"
+ },
+ "engines": {
+ "node": "4.x || >=6.0.0"
+ }
+ },
+ "node_modules/@supabase/postgrest-js": {
+ "version": "1.8.4",
+ "resolved": "https://registry.npmjs.org/@supabase/postgrest-js/-/postgrest-js-1.8.4.tgz",
+ "integrity": "sha512-ELjpvhb04wILUiJz9zIsTSwaz9LQNlX+Ig5/LgXQ7k68qQI6NqHVn+ISRNt53DngUIyOnLHjeqqIRHBZ7zpgGA==",
+ "dependencies": {
+ "@supabase/node-fetch": "^2.6.14"
+ }
+ },
+ "node_modules/@supabase/realtime-js": {
+ "version": "2.7.4",
+ "resolved": "https://registry.npmjs.org/@supabase/realtime-js/-/realtime-js-2.7.4.tgz",
+ "integrity": "sha512-FzSzs1k9ruh/uds5AJ95Nc3beiMCCIhougExJ3O98CX1LMLAKUKFy5FivKLvcNhXnNfUEL0XUfGMb4UH2J7alg==",
+ "dependencies": {
+ "@types/phoenix": "^1.5.4",
+ "@types/websocket": "^1.0.3",
+ "websocket": "^1.0.34"
+ }
+ },
+ "node_modules/@supabase/storage-js": {
+ "version": "2.5.4",
+ "resolved": "https://registry.npmjs.org/@supabase/storage-js/-/storage-js-2.5.4.tgz",
+ "integrity": "sha512-yspHD19I9uQUgfTh0J94+/r/g6hnhdQmw6Y7OWqr/EbnL6uvicGV1i1UDkkmeUHqfF9Mbt2sLtuxRycYyKv2ew==",
+ "dependencies": {
+ "@supabase/node-fetch": "^2.6.14"
+ }
+ },
+ "node_modules/@supabase/supabase-js": {
+ "version": "2.36.0",
+ "resolved": "https://registry.npmjs.org/@supabase/supabase-js/-/supabase-js-2.36.0.tgz",
+ "integrity": "sha512-K9ze4BpQrOZsmYUvF2j9FfIkTfxR4K8GJx6F6DTOfJ8fZg4JSNjfzlGvhCVDwiV4w1NRrmEQ/F89THNt3eXXhg==",
+ "dependencies": {
+ "@supabase/functions-js": "^2.1.5",
+ "@supabase/gotrue-js": "^2.54.0",
+ "@supabase/node-fetch": "^2.6.14",
+ "@supabase/postgrest-js": "^1.8.4",
+ "@supabase/realtime-js": "^2.7.4",
+ "@supabase/storage-js": "^2.5.4"
+ }
+ },
+ "node_modules/@swc/helpers": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.2.tgz",
+ "integrity": "sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==",
+ "dependencies": {
+ "tslib": "^2.4.0"
+ }
+ },
+ "node_modules/@types/debug": {
+ "version": "4.1.9",
+ "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.9.tgz",
+ "integrity": "sha512-8Hz50m2eoS56ldRlepxSBa6PWEVCtzUo/92HgLc2qTMnotJNIm7xP+UZhyWoYsyOdd5dxZ+NZLb24rsKyFs2ow==",
+ "dependencies": {
+ "@types/ms": "*"
+ }
+ },
+ "node_modules/@types/estree": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.2.tgz",
+ "integrity": "sha512-VeiPZ9MMwXjO32/Xu7+OwflfmeoRwkE/qzndw42gGtgJwZopBnzy2gD//NN1+go1mADzkDcqf/KnFRSjTJ8xJA==",
+ "peer": true
+ },
+ "node_modules/@types/hast": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.6.tgz",
+ "integrity": "sha512-47rJE80oqPmFdVDCD7IheXBrVdwuBgsYwoczFvKmwfo2Mzsnt+V9OONsYauFmICb6lQPpCuXYJWejBNs4pDJRg==",
+ "dependencies": {
+ "@types/unist": "^2"
+ }
+ },
+ "node_modules/@types/long": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz",
+ "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA=="
+ },
+ "node_modules/@types/mdast": {
+ "version": "3.0.13",
+ "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.13.tgz",
+ "integrity": "sha512-HjiGiWedR0DVFkeNljpa6Lv4/IZU1+30VY5d747K7lBudFc3R0Ibr6yJ9lN3BE28VnZyDfLF/VB1Ql1ZIbKrmg==",
+ "dependencies": {
+ "@types/unist": "^2"
+ }
+ },
+ "node_modules/@types/ms": {
+ "version": "0.7.32",
+ "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.32.tgz",
+ "integrity": "sha512-xPSg0jm4mqgEkNhowKgZFBNtwoEwF6gJ4Dhww+GFpm3IgtNseHQZ5IqdNwnquZEoANxyDAKDRAdVo4Z72VvD/g=="
+ },
+ "node_modules/@types/node": {
+ "version": "20.6.2",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.6.2.tgz",
+ "integrity": "sha512-Y+/1vGBHV/cYk6OI1Na/LHzwnlNCAfU3ZNGrc1LdRe/LAIbdDPTTv/HU3M7yXN448aTVDq3eKRm2cg7iKLb8gw=="
+ },
+ "node_modules/@types/node-fetch": {
+ "version": "2.6.6",
+ "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.6.tgz",
+ "integrity": "sha512-95X8guJYhfqiuVVhRFxVQcf4hW/2bCuoPwDasMf/531STFoNoWTT7YDnWdXHEZKqAGUigmpG31r2FE70LwnzJw==",
+ "dependencies": {
+ "@types/node": "*",
+ "form-data": "^4.0.0"
+ }
+ },
+ "node_modules/@types/node-fetch/node_modules/form-data": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
+ "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
+ "dependencies": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.8",
+ "mime-types": "^2.1.12"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/@types/phoenix": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/@types/phoenix/-/phoenix-1.6.1.tgz",
+ "integrity": "sha512-g2/8Ogi2zfiS25jdGT5iDSo5yjruhhXaOuOJCkOxMW28w16VxFvjtAXjBNRo7WlRS4+UXAMj3mK46UwieNM/5g=="
+ },
+ "node_modules/@types/prop-types": {
+ "version": "15.7.7",
+ "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.7.tgz",
+ "integrity": "sha512-FbtmBWCcSa2J4zL781Zf1p5YUBXQomPEcep9QZCfRfQgTxz3pJWiDFLebohZ9fFntX5ibzOkSsrJ0TEew8cAog=="
+ },
+ "node_modules/@types/react": {
+ "version": "18.2.23",
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.23.tgz",
+ "integrity": "sha512-qHLW6n1q2+7KyBEYnrZpcsAmU/iiCh9WGCKgXvMxx89+TYdJWRjZohVIo9XTcoLhfX3+/hP0Pbulu3bCZQ9PSA==",
+ "peer": true,
+ "dependencies": {
+ "@types/prop-types": "*",
+ "@types/scheduler": "*",
+ "csstype": "^3.0.2"
+ }
+ },
+ "node_modules/@types/scheduler": {
+ "version": "0.16.4",
+ "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.4.tgz",
+ "integrity": "sha512-2L9ifAGl7wmXwP4v3pN4p2FLhD0O1qsJpvKmNin5VA8+UvNVb447UDaAEV6UdrkA+m/Xs58U1RFps44x6TFsVQ==",
+ "peer": true
+ },
+ "node_modules/@types/unist": {
+ "version": "2.0.8",
+ "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.8.tgz",
+ "integrity": "sha512-d0XxK3YTObnWVp6rZuev3c49+j4Lo8g4L1ZRm9z5L0xpoZycUPshHgczK5gsUMaZOstjVYYi09p5gYvUtfChYw=="
+ },
+ "node_modules/@types/websocket": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/@types/websocket/-/websocket-1.0.6.tgz",
+ "integrity": "sha512-JXkliwz93B2cMWOI1ukElQBPN88vMg3CruvW4KVSKpflt3NyNCJImnhIuB/f97rG7kakqRJGFiwkA895Kn02Dg==",
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@vue/compiler-core": {
+ "version": "3.3.4",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.4.tgz",
+ "integrity": "sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==",
+ "peer": true,
+ "dependencies": {
+ "@babel/parser": "^7.21.3",
+ "@vue/shared": "3.3.4",
+ "estree-walker": "^2.0.2",
+ "source-map-js": "^1.0.2"
+ }
+ },
+ "node_modules/@vue/compiler-core/node_modules/estree-walker": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
+ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
+ "peer": true
+ },
+ "node_modules/@vue/compiler-dom": {
+ "version": "3.3.4",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.4.tgz",
+ "integrity": "sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==",
+ "peer": true,
+ "dependencies": {
+ "@vue/compiler-core": "3.3.4",
+ "@vue/shared": "3.3.4"
+ }
+ },
+ "node_modules/@vue/compiler-sfc": {
+ "version": "3.3.4",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.4.tgz",
+ "integrity": "sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==",
+ "peer": true,
+ "dependencies": {
+ "@babel/parser": "^7.20.15",
+ "@vue/compiler-core": "3.3.4",
+ "@vue/compiler-dom": "3.3.4",
+ "@vue/compiler-ssr": "3.3.4",
+ "@vue/reactivity-transform": "3.3.4",
+ "@vue/shared": "3.3.4",
+ "estree-walker": "^2.0.2",
+ "magic-string": "^0.30.0",
+ "postcss": "^8.1.10",
+ "source-map-js": "^1.0.2"
+ }
+ },
+ "node_modules/@vue/compiler-sfc/node_modules/estree-walker": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
+ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
+ "peer": true
+ },
+ "node_modules/@vue/compiler-ssr": {
+ "version": "3.3.4",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.4.tgz",
+ "integrity": "sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==",
+ "peer": true,
+ "dependencies": {
+ "@vue/compiler-dom": "3.3.4",
+ "@vue/shared": "3.3.4"
+ }
+ },
+ "node_modules/@vue/reactivity": {
+ "version": "3.3.4",
+ "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.4.tgz",
+ "integrity": "sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==",
+ "peer": true,
+ "dependencies": {
+ "@vue/shared": "3.3.4"
+ }
+ },
+ "node_modules/@vue/reactivity-transform": {
+ "version": "3.3.4",
+ "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.4.tgz",
+ "integrity": "sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==",
+ "peer": true,
+ "dependencies": {
+ "@babel/parser": "^7.20.15",
+ "@vue/compiler-core": "3.3.4",
+ "@vue/shared": "3.3.4",
+ "estree-walker": "^2.0.2",
+ "magic-string": "^0.30.0"
+ }
+ },
+ "node_modules/@vue/reactivity-transform/node_modules/estree-walker": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
+ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
+ "peer": true
+ },
+ "node_modules/@vue/runtime-core": {
+ "version": "3.3.4",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.4.tgz",
+ "integrity": "sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==",
+ "peer": true,
+ "dependencies": {
+ "@vue/reactivity": "3.3.4",
+ "@vue/shared": "3.3.4"
+ }
+ },
+ "node_modules/@vue/runtime-dom": {
+ "version": "3.3.4",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.4.tgz",
+ "integrity": "sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==",
+ "peer": true,
+ "dependencies": {
+ "@vue/runtime-core": "3.3.4",
+ "@vue/shared": "3.3.4",
+ "csstype": "^3.1.1"
+ }
+ },
+ "node_modules/@vue/server-renderer": {
+ "version": "3.3.4",
+ "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.4.tgz",
+ "integrity": "sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==",
+ "peer": true,
+ "dependencies": {
+ "@vue/compiler-ssr": "3.3.4",
+ "@vue/shared": "3.3.4"
+ },
+ "peerDependencies": {
+ "vue": "3.3.4"
+ }
+ },
+ "node_modules/@vue/shared": {
+ "version": "3.3.4",
+ "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.4.tgz",
+ "integrity": "sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==",
+ "peer": true
+ },
+ "node_modules/abort-controller": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz",
+ "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==",
+ "dependencies": {
+ "event-target-shim": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=6.5"
+ }
+ },
+ "node_modules/acorn": {
+ "version": "8.10.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz",
+ "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==",
+ "peer": true,
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/agent-base": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz",
+ "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==",
+ "dependencies": {
+ "debug": "^4.3.4"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/agent-base/node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/agent-base/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=="
+ },
+ "node_modules/agentkeepalive": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz",
+ "integrity": "sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==",
+ "dependencies": {
+ "humanize-ms": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 8.0.0"
+ }
+ },
+ "node_modules/ai": {
+ "version": "2.2.14",
+ "resolved": "https://registry.npmjs.org/ai/-/ai-2.2.14.tgz",
+ "integrity": "sha512-4kL2iYPVhH1pl6jJFIJCYcgx5mHzGOmdwiSYWVadmSkNOxKqokgevHyJKiyL9B9DjlreM9cDqkQop56Hdfkb0w==",
+ "dependencies": {
+ "eventsource-parser": "1.0.0",
+ "nanoid": "3.3.6",
+ "solid-swr-store": "0.10.7",
+ "sswr": "2.0.0",
+ "swr": "2.2.0",
+ "swr-store": "0.10.6",
+ "swrv": "1.0.4"
+ },
+ "engines": {
+ "node": ">=14.6"
+ },
+ "peerDependencies": {
+ "react": "^18.2.0",
+ "solid-js": "^1.7.7",
+ "svelte": "^3.0.0 || ^4.0.0",
+ "vue": "^3.3.4"
+ },
+ "peerDependenciesMeta": {
+ "react": {
+ "optional": true
+ },
+ "solid-js": {
+ "optional": true
+ },
+ "svelte": {
+ "optional": true
+ },
+ "vue": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/ajv": {
+ "version": "6.12.6",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+ "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+ "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==",
+ "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==",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/aria-query": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz",
+ "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==",
+ "peer": true,
+ "dependencies": {
+ "dequal": "^2.0.3"
+ }
+ },
+ "node_modules/asn1": {
+ "version": "0.2.6",
+ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz",
+ "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==",
+ "dependencies": {
+ "safer-buffer": "~2.1.0"
+ }
+ },
+ "node_modules/assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==",
+ "engines": {
+ "node": ">=0.8"
+ }
+ },
+ "node_modules/asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
+ },
+ "node_modules/aws-sign2": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
+ "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/aws4": {
+ "version": "1.12.0",
+ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz",
+ "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg=="
+ },
+ "node_modules/axios": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.5.1.tgz",
+ "integrity": "sha512-Q28iYCWzNHjAm+yEAot5QaAMxhMghWLFVf7rRdwhUI+c2jix2DUXjAHXVi+s1ibs3mjPO/cCgbA++3BjD0vP/A==",
+ "dependencies": {
+ "follow-redirects": "^1.15.0",
+ "form-data": "^4.0.0",
+ "proxy-from-env": "^1.1.0"
+ }
+ },
+ "node_modules/axios/node_modules/form-data": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
+ "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
+ "dependencies": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.8",
+ "mime-types": "^2.1.12"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/axobject-query": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz",
+ "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==",
+ "peer": true,
+ "dependencies": {
+ "dequal": "^2.0.3"
+ }
+ },
+ "node_modules/bail": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz",
+ "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/base-64": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/base-64/-/base-64-0.1.0.tgz",
+ "integrity": "sha512-Y5gU45svrR5tI2Vt/X9GPd3L0HNIKzGu202EjxrXMpuc2V2CiKgemAbUUsqYmZJvPtCXoUKjNZwBJzsNScUbXA=="
+ },
+ "node_modules/base64-js": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
+ "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
+ "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/bcrypt-pbkdf": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
+ "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==",
+ "dependencies": {
+ "tweetnacl": "^0.14.3"
+ }
+ },
+ "node_modules/bignumber.js": {
+ "version": "9.1.2",
+ "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.2.tgz",
+ "integrity": "sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/buffer-equal-constant-time": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz",
+ "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA=="
+ },
+ "node_modules/bufferutil": {
+ "version": "4.0.7",
+ "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.7.tgz",
+ "integrity": "sha512-kukuqc39WOHtdxtw4UScxF/WVnMFVSQVKhtx3AjZJzhd0RGZZldcrfSEbVsWWe6KNH253574cq5F+wpv0G9pJw==",
+ "hasInstallScript": true,
+ "dependencies": {
+ "node-gyp-build": "^4.3.0"
+ },
+ "engines": {
+ "node": ">=6.14.2"
+ }
+ },
+ "node_modules/busboy": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz",
+ "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==",
+ "dependencies": {
+ "streamsearch": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=10.16.0"
+ }
+ },
+ "node_modules/caniuse-lite": {
+ "version": "1.0.30001534",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001534.tgz",
+ "integrity": "sha512-vlPVrhsCS7XaSh2VvWluIQEzVhefrUQcEsQWSS5A5V+dM07uv1qHeQzAOTGIMy9i3e9bH15+muvI/UHojVgS/Q==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ]
+ },
+ "node_modules/caseless": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+ "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw=="
+ },
+ "node_modules/character-entities": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz",
+ "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/character-entities-legacy": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz",
+ "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/character-reference-invalid": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz",
+ "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/charenc": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz",
+ "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/client-only": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz",
+ "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA=="
+ },
+ "node_modules/cliui": {
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
+ "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
+ "dependencies": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.1",
+ "wrap-ansi": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/code-red": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/code-red/-/code-red-1.0.4.tgz",
+ "integrity": "sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==",
+ "peer": true,
+ "dependencies": {
+ "@jridgewell/sourcemap-codec": "^1.4.15",
+ "@types/estree": "^1.0.1",
+ "acorn": "^8.10.0",
+ "estree-walker": "^3.0.3",
+ "periscopic": "^3.1.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/combined-stream": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+ "dependencies": {
+ "delayed-stream": "~1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/comma-separated-tokens": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz",
+ "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/cookie": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
+ "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/core-util-is": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ=="
+ },
+ "node_modules/crypt": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz",
+ "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/css-tree": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz",
+ "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==",
+ "peer": true,
+ "dependencies": {
+ "mdn-data": "2.0.30",
+ "source-map-js": "^1.0.1"
+ },
+ "engines": {
+ "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0"
+ }
+ },
+ "node_modules/csstype": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz",
+ "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==",
+ "peer": true
+ },
+ "node_modules/d": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz",
+ "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==",
+ "dependencies": {
+ "es5-ext": "^0.10.50",
+ "type": "^1.0.1"
+ }
+ },
+ "node_modules/dashdash": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+ "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==",
+ "dependencies": {
+ "assert-plus": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/decode-named-character-reference": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz",
+ "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==",
+ "dependencies": {
+ "character-entities": "^2.0.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/decode-named-character-reference/node_modules/character-entities": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz",
+ "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/dequal": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
+ "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/diff": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz",
+ "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==",
+ "engines": {
+ "node": ">=0.3.1"
+ }
+ },
+ "node_modules/digest-fetch": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/digest-fetch/-/digest-fetch-1.3.0.tgz",
+ "integrity": "sha512-CGJuv6iKNM7QyZlM2T3sPAdZWd/p9zQiRNS9G+9COUCwzWFTs0Xp8NF5iePx7wtvhDykReiRRrSeNb4oMmB8lA==",
+ "dependencies": {
+ "base-64": "^0.1.0",
+ "md5": "^2.3.0"
+ }
+ },
+ "node_modules/duplexify": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz",
+ "integrity": "sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==",
+ "dependencies": {
+ "end-of-stream": "^1.4.1",
+ "inherits": "^2.0.3",
+ "readable-stream": "^3.1.1",
+ "stream-shift": "^1.0.0"
+ }
+ },
+ "node_modules/ecc-jsbn": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
+ "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==",
+ "dependencies": {
+ "jsbn": "~0.1.0",
+ "safer-buffer": "^2.1.0"
+ }
+ },
+ "node_modules/ecdsa-sig-formatter": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz",
+ "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==",
+ "dependencies": {
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
+ },
+ "node_modules/encoding": {
+ "version": "0.1.13",
+ "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz",
+ "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==",
+ "devOptional": true,
+ "dependencies": {
+ "iconv-lite": "^0.6.2"
+ }
+ },
+ "node_modules/end-of-stream": {
+ "version": "1.4.4",
+ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
+ "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
+ "dependencies": {
+ "once": "^1.4.0"
+ }
+ },
+ "node_modules/es5-ext": {
+ "version": "0.10.62",
+ "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz",
+ "integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==",
+ "hasInstallScript": true,
+ "dependencies": {
+ "es6-iterator": "^2.0.3",
+ "es6-symbol": "^3.1.3",
+ "next-tick": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/es6-iterator": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
+ "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==",
+ "dependencies": {
+ "d": "1",
+ "es5-ext": "^0.10.35",
+ "es6-symbol": "^3.1.1"
+ }
+ },
+ "node_modules/es6-symbol": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz",
+ "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==",
+ "dependencies": {
+ "d": "^1.0.1",
+ "ext": "^1.1.2"
+ }
+ },
+ "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/estree-walker": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz",
+ "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==",
+ "peer": true,
+ "dependencies": {
+ "@types/estree": "^1.0.0"
+ }
+ },
+ "node_modules/event-target-shim": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz",
+ "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/eventsource-parser": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-1.0.0.tgz",
+ "integrity": "sha512-9jgfSCa3dmEme2ES3mPByGXfgZ87VbP97tng1G2nWwWx6bV2nYxm2AWCrbQjXToSe+yYlqaZNtxffR9IeQr95g==",
+ "engines": {
+ "node": ">=14.18"
+ }
+ },
+ "node_modules/ext": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz",
+ "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==",
+ "dependencies": {
+ "type": "^2.7.2"
+ }
+ },
+ "node_modules/ext/node_modules/type": {
+ "version": "2.7.2",
+ "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz",
+ "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw=="
+ },
+ "node_modules/extend": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
+ },
+ "node_modules/extsprintf": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
+ "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==",
+ "engines": [
+ "node >=0.6.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=="
+ },
+ "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=="
+ },
+ "node_modules/fault": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/fault/-/fault-1.0.4.tgz",
+ "integrity": "sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==",
+ "dependencies": {
+ "format": "^0.2.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/follow-redirects": {
+ "version": "1.15.3",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz",
+ "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==",
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://github.com/sponsors/RubenVerborgh"
+ }
+ ],
+ "engines": {
+ "node": ">=4.0"
+ },
+ "peerDependenciesMeta": {
+ "debug": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/forever-agent": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+ "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/form-data": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
+ "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
+ "dependencies": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.6",
+ "mime-types": "^2.1.12"
+ },
+ "engines": {
+ "node": ">= 0.12"
+ }
+ },
+ "node_modules/form-data-encoder": {
+ "version": "1.7.2",
+ "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-1.7.2.tgz",
+ "integrity": "sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A=="
+ },
+ "node_modules/format": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz",
+ "integrity": "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==",
+ "engines": {
+ "node": ">=0.4.x"
+ }
+ },
+ "node_modules/formdata-node": {
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/formdata-node/-/formdata-node-4.4.1.tgz",
+ "integrity": "sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==",
+ "dependencies": {
+ "node-domexception": "1.0.0",
+ "web-streams-polyfill": "4.0.0-beta.3"
+ },
+ "engines": {
+ "node": ">= 12.20"
+ }
+ },
+ "node_modules/gaxios": {
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-6.1.1.tgz",
+ "integrity": "sha512-bw8smrX+XlAoo9o1JAksBwX+hi/RG15J+NTSxmNPIclKC3ZVK6C2afwY8OSdRvOK0+ZLecUJYtj2MmjOt3Dm0w==",
+ "dependencies": {
+ "extend": "^3.0.2",
+ "https-proxy-agent": "^7.0.1",
+ "is-stream": "^2.0.0",
+ "node-fetch": "^2.6.9"
+ },
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/gcp-metadata": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-6.0.0.tgz",
+ "integrity": "sha512-Ozxyi23/1Ar51wjUT2RDklK+3HxqDr8TLBNK8rBBFQ7T85iIGnXnVusauj06QyqCXRFZig8LZC+TUddWbndlpQ==",
+ "dependencies": {
+ "gaxios": "^6.0.0",
+ "json-bigint": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/get-caller-file": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+ "engines": {
+ "node": "6.* || 8.* || >= 10.*"
+ }
+ },
+ "node_modules/getpass": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
+ "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==",
+ "dependencies": {
+ "assert-plus": "^1.0.0"
+ }
+ },
+ "node_modules/glob-to-regexp": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
+ "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw=="
+ },
+ "node_modules/google-auth-library": {
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-9.0.0.tgz",
+ "integrity": "sha512-IQGjgQoVUAfOk6khqTVMLvWx26R+yPw9uLyb1MNyMQpdKiKt0Fd9sp4NWoINjyGHR8S3iw12hMTYK7O8J07c6Q==",
+ "dependencies": {
+ "base64-js": "^1.3.0",
+ "ecdsa-sig-formatter": "^1.0.11",
+ "gaxios": "^6.0.0",
+ "gcp-metadata": "^6.0.0",
+ "gtoken": "^7.0.0",
+ "jws": "^4.0.0",
+ "lru-cache": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/google-gax": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/google-gax/-/google-gax-4.0.4.tgz",
+ "integrity": "sha512-Yoey/ABON2HaTUIRUt5tTQAvwQ6E/2etSyFXwHNVcYtIiYDpKix7G4oorZdkp17gFiYovzRCRhRZYrfdCgRK9Q==",
+ "dependencies": {
+ "@grpc/grpc-js": "~1.9.0",
+ "@grpc/proto-loader": "^0.7.0",
+ "@types/long": "^4.0.0",
+ "abort-controller": "^3.0.0",
+ "duplexify": "^4.0.0",
+ "google-auth-library": "^9.0.0",
+ "node-fetch": "^2.6.1",
+ "object-hash": "^3.0.0",
+ "proto3-json-serializer": "^2.0.0",
+ "protobufjs": "7.2.5",
+ "retry-request": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/google-gax/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/graceful-fs": {
+ "version": "4.2.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
+ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="
+ },
+ "node_modules/gtoken": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-7.0.1.tgz",
+ "integrity": "sha512-KcFVtoP1CVFtQu0aSk3AyAt2og66PFhZAlkUOuWKwzMLoulHXG5W5wE5xAnHb+yl3/wEFoqGW7/cDGMU8igDZQ==",
+ "dependencies": {
+ "gaxios": "^6.0.0",
+ "jws": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/har-schema": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
+ "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/har-validator": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
+ "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
+ "deprecated": "this library is no longer supported",
+ "dependencies": {
+ "ajv": "^6.12.3",
+ "har-schema": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/hast-util-parse-selector": {
+ "version": "2.2.5",
+ "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz",
+ "integrity": "sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/hast-util-whitespace": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz",
+ "integrity": "sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/hastscript": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-6.0.0.tgz",
+ "integrity": "sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==",
+ "dependencies": {
+ "@types/hast": "^2.0.0",
+ "comma-separated-tokens": "^1.0.0",
+ "hast-util-parse-selector": "^2.0.0",
+ "property-information": "^5.0.0",
+ "space-separated-tokens": "^1.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/hastscript/node_modules/comma-separated-tokens": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz",
+ "integrity": "sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/hastscript/node_modules/property-information": {
+ "version": "5.6.0",
+ "resolved": "https://registry.npmjs.org/property-information/-/property-information-5.6.0.tgz",
+ "integrity": "sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==",
+ "dependencies": {
+ "xtend": "^4.0.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/hastscript/node_modules/space-separated-tokens": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz",
+ "integrity": "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/highlight.js": {
+ "version": "10.7.3",
+ "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz",
+ "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/http-signature": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
+ "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==",
+ "dependencies": {
+ "assert-plus": "^1.0.0",
+ "jsprim": "^1.2.2",
+ "sshpk": "^1.7.0"
+ },
+ "engines": {
+ "node": ">=0.8",
+ "npm": ">=1.3.7"
+ }
+ },
+ "node_modules/https-proxy-agent": {
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz",
+ "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==",
+ "dependencies": {
+ "agent-base": "^7.0.2",
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/https-proxy-agent/node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/https-proxy-agent/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=="
+ },
+ "node_modules/humanize-ms": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz",
+ "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==",
+ "dependencies": {
+ "ms": "^2.0.0"
+ }
+ },
+ "node_modules/iconv-lite": {
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
+ "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
+ "devOptional": true,
+ "dependencies": {
+ "safer-buffer": ">= 2.1.2 < 3.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
+ },
+ "node_modules/inline-style-parser": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz",
+ "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q=="
+ },
+ "node_modules/is-alphabetical": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz",
+ "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/is-alphanumerical": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz",
+ "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==",
+ "dependencies": {
+ "is-alphabetical": "^1.0.0",
+ "is-decimal": "^1.0.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/is-buffer": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz",
+ "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/is-decimal": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz",
+ "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-hexadecimal": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz",
+ "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/is-plain-obj": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz",
+ "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/is-reference": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.2.tgz",
+ "integrity": "sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==",
+ "peer": true,
+ "dependencies": {
+ "@types/estree": "*"
+ }
+ },
+ "node_modules/is-stream": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
+ "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/is-typedarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA=="
+ },
+ "node_modules/isstream": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+ "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g=="
+ },
+ "node_modules/jose": {
+ "version": "4.14.6",
+ "resolved": "https://registry.npmjs.org/jose/-/jose-4.14.6.tgz",
+ "integrity": "sha512-EqJPEUlZD0/CSUMubKtMaYUOtWe91tZXTWMJZoKSbLk+KtdhNdcvppH8lA9XwVu2V4Ailvsj0GBZJ2ZwDjfesQ==",
+ "funding": {
+ "url": "https://github.com/sponsors/panva"
+ }
+ },
+ "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/jsbn": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+ "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg=="
+ },
+ "node_modules/json-bigint": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz",
+ "integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==",
+ "dependencies": {
+ "bignumber.js": "^9.0.0"
+ }
+ },
+ "node_modules/json-schema": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz",
+ "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA=="
+ },
+ "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=="
+ },
+ "node_modules/json-stringify-safe": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+ "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA=="
+ },
+ "node_modules/jsprim": {
+ "version": "1.4.2",
+ "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz",
+ "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==",
+ "dependencies": {
+ "assert-plus": "1.0.0",
+ "extsprintf": "1.3.0",
+ "json-schema": "0.4.0",
+ "verror": "1.10.0"
+ },
+ "engines": {
+ "node": ">=0.6.0"
+ }
+ },
+ "node_modules/jwa": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz",
+ "integrity": "sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==",
+ "dependencies": {
+ "buffer-equal-constant-time": "1.0.1",
+ "ecdsa-sig-formatter": "1.0.11",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "node_modules/jws": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.0.tgz",
+ "integrity": "sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==",
+ "dependencies": {
+ "jwa": "^2.0.0",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "node_modules/kleur": {
+ "version": "4.1.5",
+ "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz",
+ "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/locate-character": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/locate-character/-/locate-character-3.0.0.tgz",
+ "integrity": "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==",
+ "peer": true
+ },
+ "node_modules/lodash.camelcase": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
+ "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA=="
+ },
+ "node_modules/long": {
+ "version": "5.2.3",
+ "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz",
+ "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q=="
+ },
+ "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/lowlight": {
+ "version": "1.20.0",
+ "resolved": "https://registry.npmjs.org/lowlight/-/lowlight-1.20.0.tgz",
+ "integrity": "sha512-8Ktj+prEb1RoCPkEOrPMYUN/nCggB7qAWe3a7OpMjWQkh3l2RD5wKRQ+o8Q8YuI9RG/xs95waaI/E6ym/7NsTw==",
+ "dependencies": {
+ "fault": "^1.0.0",
+ "highlight.js": "~10.7.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "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==",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/magic-string": {
+ "version": "0.30.4",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.4.tgz",
+ "integrity": "sha512-Q/TKtsC5BPm0kGqgBIF9oXAs/xEf2vRKiIB4wCRQTJOQIByZ1d+NnUOotvJOvNpi5RNIgVOMC3pOuaP1ZTDlVg==",
+ "peer": true,
+ "dependencies": {
+ "@jridgewell/sourcemap-codec": "^1.4.15"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/marked": {
+ "version": "9.0.3",
+ "resolved": "https://registry.npmjs.org/marked/-/marked-9.0.3.tgz",
+ "integrity": "sha512-pI/k4nzBG1PEq1J3XFEHxVvjicfjl8rgaMaqclouGSMPhk7Q3Ejb2ZRxx/ZQOcQ1909HzVoWCFYq6oLgtL4BpQ==",
+ "bin": {
+ "marked": "bin/marked.js"
+ },
+ "engines": {
+ "node": ">= 16"
+ }
+ },
+ "node_modules/md5": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz",
+ "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==",
+ "dependencies": {
+ "charenc": "0.0.2",
+ "crypt": "0.0.2",
+ "is-buffer": "~1.1.6"
+ }
+ },
+ "node_modules/md5/node_modules/is-buffer": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
+ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
+ },
+ "node_modules/mdast-util-definitions": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-5.1.2.tgz",
+ "integrity": "sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==",
+ "dependencies": {
+ "@types/mdast": "^3.0.0",
+ "@types/unist": "^2.0.0",
+ "unist-util-visit": "^4.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/mdast-util-from-markdown": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.1.tgz",
+ "integrity": "sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==",
+ "dependencies": {
+ "@types/mdast": "^3.0.0",
+ "@types/unist": "^2.0.0",
+ "decode-named-character-reference": "^1.0.0",
+ "mdast-util-to-string": "^3.1.0",
+ "micromark": "^3.0.0",
+ "micromark-util-decode-numeric-character-reference": "^1.0.0",
+ "micromark-util-decode-string": "^1.0.0",
+ "micromark-util-normalize-identifier": "^1.0.0",
+ "micromark-util-symbol": "^1.0.0",
+ "micromark-util-types": "^1.0.0",
+ "unist-util-stringify-position": "^3.0.0",
+ "uvu": "^0.5.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/mdast-util-to-hast": {
+ "version": "12.3.0",
+ "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-12.3.0.tgz",
+ "integrity": "sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==",
+ "dependencies": {
+ "@types/hast": "^2.0.0",
+ "@types/mdast": "^3.0.0",
+ "mdast-util-definitions": "^5.0.0",
+ "micromark-util-sanitize-uri": "^1.1.0",
+ "trim-lines": "^3.0.0",
+ "unist-util-generated": "^2.0.0",
+ "unist-util-position": "^4.0.0",
+ "unist-util-visit": "^4.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/mdast-util-to-string": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.2.0.tgz",
+ "integrity": "sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==",
+ "dependencies": {
+ "@types/mdast": "^3.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/mdn-data": {
+ "version": "2.0.30",
+ "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz",
+ "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==",
+ "peer": true
+ },
+ "node_modules/micromark": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.2.0.tgz",
+ "integrity": "sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "dependencies": {
+ "@types/debug": "^4.0.0",
+ "debug": "^4.0.0",
+ "decode-named-character-reference": "^1.0.0",
+ "micromark-core-commonmark": "^1.0.1",
+ "micromark-factory-space": "^1.0.0",
+ "micromark-util-character": "^1.0.0",
+ "micromark-util-chunked": "^1.0.0",
+ "micromark-util-combine-extensions": "^1.0.0",
+ "micromark-util-decode-numeric-character-reference": "^1.0.0",
+ "micromark-util-encode": "^1.0.0",
+ "micromark-util-normalize-identifier": "^1.0.0",
+ "micromark-util-resolve-all": "^1.0.0",
+ "micromark-util-sanitize-uri": "^1.0.0",
+ "micromark-util-subtokenize": "^1.0.0",
+ "micromark-util-symbol": "^1.0.0",
+ "micromark-util-types": "^1.0.1",
+ "uvu": "^0.5.0"
+ }
+ },
+ "node_modules/micromark-core-commonmark": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.1.0.tgz",
+ "integrity": "sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "dependencies": {
+ "decode-named-character-reference": "^1.0.0",
+ "micromark-factory-destination": "^1.0.0",
+ "micromark-factory-label": "^1.0.0",
+ "micromark-factory-space": "^1.0.0",
+ "micromark-factory-title": "^1.0.0",
+ "micromark-factory-whitespace": "^1.0.0",
+ "micromark-util-character": "^1.0.0",
+ "micromark-util-chunked": "^1.0.0",
+ "micromark-util-classify-character": "^1.0.0",
+ "micromark-util-html-tag-name": "^1.0.0",
+ "micromark-util-normalize-identifier": "^1.0.0",
+ "micromark-util-resolve-all": "^1.0.0",
+ "micromark-util-subtokenize": "^1.0.0",
+ "micromark-util-symbol": "^1.0.0",
+ "micromark-util-types": "^1.0.1",
+ "uvu": "^0.5.0"
+ }
+ },
+ "node_modules/micromark-factory-destination": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.1.0.tgz",
+ "integrity": "sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "dependencies": {
+ "micromark-util-character": "^1.0.0",
+ "micromark-util-symbol": "^1.0.0",
+ "micromark-util-types": "^1.0.0"
+ }
+ },
+ "node_modules/micromark-factory-label": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.1.0.tgz",
+ "integrity": "sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "dependencies": {
+ "micromark-util-character": "^1.0.0",
+ "micromark-util-symbol": "^1.0.0",
+ "micromark-util-types": "^1.0.0",
+ "uvu": "^0.5.0"
+ }
+ },
+ "node_modules/micromark-factory-space": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz",
+ "integrity": "sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "dependencies": {
+ "micromark-util-character": "^1.0.0",
+ "micromark-util-types": "^1.0.0"
+ }
+ },
+ "node_modules/micromark-factory-title": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.1.0.tgz",
+ "integrity": "sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "dependencies": {
+ "micromark-factory-space": "^1.0.0",
+ "micromark-util-character": "^1.0.0",
+ "micromark-util-symbol": "^1.0.0",
+ "micromark-util-types": "^1.0.0"
+ }
+ },
+ "node_modules/micromark-factory-whitespace": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.1.0.tgz",
+ "integrity": "sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "dependencies": {
+ "micromark-factory-space": "^1.0.0",
+ "micromark-util-character": "^1.0.0",
+ "micromark-util-symbol": "^1.0.0",
+ "micromark-util-types": "^1.0.0"
+ }
+ },
+ "node_modules/micromark-util-character": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.2.0.tgz",
+ "integrity": "sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "dependencies": {
+ "micromark-util-symbol": "^1.0.0",
+ "micromark-util-types": "^1.0.0"
+ }
+ },
+ "node_modules/micromark-util-chunked": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.1.0.tgz",
+ "integrity": "sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "dependencies": {
+ "micromark-util-symbol": "^1.0.0"
+ }
+ },
+ "node_modules/micromark-util-classify-character": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.1.0.tgz",
+ "integrity": "sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "dependencies": {
+ "micromark-util-character": "^1.0.0",
+ "micromark-util-symbol": "^1.0.0",
+ "micromark-util-types": "^1.0.0"
+ }
+ },
+ "node_modules/micromark-util-combine-extensions": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.1.0.tgz",
+ "integrity": "sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "dependencies": {
+ "micromark-util-chunked": "^1.0.0",
+ "micromark-util-types": "^1.0.0"
+ }
+ },
+ "node_modules/micromark-util-decode-numeric-character-reference": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.1.0.tgz",
+ "integrity": "sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "dependencies": {
+ "micromark-util-symbol": "^1.0.0"
+ }
+ },
+ "node_modules/micromark-util-decode-string": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.1.0.tgz",
+ "integrity": "sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "dependencies": {
+ "decode-named-character-reference": "^1.0.0",
+ "micromark-util-character": "^1.0.0",
+ "micromark-util-decode-numeric-character-reference": "^1.0.0",
+ "micromark-util-symbol": "^1.0.0"
+ }
+ },
+ "node_modules/micromark-util-encode": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.1.0.tgz",
+ "integrity": "sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ]
+ },
+ "node_modules/micromark-util-html-tag-name": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.2.0.tgz",
+ "integrity": "sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ]
+ },
+ "node_modules/micromark-util-normalize-identifier": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.1.0.tgz",
+ "integrity": "sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "dependencies": {
+ "micromark-util-symbol": "^1.0.0"
+ }
+ },
+ "node_modules/micromark-util-resolve-all": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.1.0.tgz",
+ "integrity": "sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "dependencies": {
+ "micromark-util-types": "^1.0.0"
+ }
+ },
+ "node_modules/micromark-util-sanitize-uri": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.2.0.tgz",
+ "integrity": "sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "dependencies": {
+ "micromark-util-character": "^1.0.0",
+ "micromark-util-encode": "^1.0.0",
+ "micromark-util-symbol": "^1.0.0"
+ }
+ },
+ "node_modules/micromark-util-subtokenize": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.1.0.tgz",
+ "integrity": "sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "dependencies": {
+ "micromark-util-chunked": "^1.0.0",
+ "micromark-util-symbol": "^1.0.0",
+ "micromark-util-types": "^1.0.0",
+ "uvu": "^0.5.0"
+ }
+ },
+ "node_modules/micromark-util-symbol": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz",
+ "integrity": "sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ]
+ },
+ "node_modules/micromark-util-types": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz",
+ "integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ]
+ },
+ "node_modules/micromark/node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/micromark/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=="
+ },
+ "node_modules/mime-db": {
+ "version": "1.52.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mime-types": {
+ "version": "2.1.35",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
+ "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
+ "dependencies": {
+ "mime-db": "1.52.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mri": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz",
+ "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
+ },
+ "node_modules/nanoid": {
+ "version": "3.3.6",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
+ "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "bin": {
+ "nanoid": "bin/nanoid.cjs"
+ },
+ "engines": {
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+ }
+ },
+ "node_modules/next": {
+ "version": "13.5.2",
+ "resolved": "https://registry.npmjs.org/next/-/next-13.5.2.tgz",
+ "integrity": "sha512-vog4UhUaMYAzeqfiAAmgB/QWLW7p01/sg+2vn6bqc/CxHFYizMzLv6gjxKzl31EVFkfl/F+GbxlKizlkTE9RdA==",
+ "dependencies": {
+ "@next/env": "13.5.2",
+ "@swc/helpers": "0.5.2",
+ "busboy": "1.6.0",
+ "caniuse-lite": "^1.0.30001406",
+ "postcss": "8.4.14",
+ "styled-jsx": "5.1.1",
+ "watchpack": "2.4.0",
+ "zod": "3.21.4"
+ },
+ "bin": {
+ "next": "dist/bin/next"
+ },
+ "engines": {
+ "node": ">=16.14.0"
+ },
+ "optionalDependencies": {
+ "@next/swc-darwin-arm64": "13.5.2",
+ "@next/swc-darwin-x64": "13.5.2",
+ "@next/swc-linux-arm64-gnu": "13.5.2",
+ "@next/swc-linux-arm64-musl": "13.5.2",
+ "@next/swc-linux-x64-gnu": "13.5.2",
+ "@next/swc-linux-x64-musl": "13.5.2",
+ "@next/swc-win32-arm64-msvc": "13.5.2",
+ "@next/swc-win32-ia32-msvc": "13.5.2",
+ "@next/swc-win32-x64-msvc": "13.5.2"
+ },
+ "peerDependencies": {
+ "@opentelemetry/api": "^1.1.0",
+ "react": "^18.2.0",
+ "react-dom": "^18.2.0",
+ "sass": "^1.3.0"
+ },
+ "peerDependenciesMeta": {
+ "@opentelemetry/api": {
+ "optional": true
+ },
+ "sass": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/next-auth": {
+ "version": "4.23.1",
+ "resolved": "https://registry.npmjs.org/next-auth/-/next-auth-4.23.1.tgz",
+ "integrity": "sha512-mL083z8KgRtlrIV6CDca2H1kduWJuK/3pTS0Fe2og15KOm4v2kkLGdSDfc2g+019aEBrJUT0pPW2Xx42ImN1WA==",
+ "dependencies": {
+ "@babel/runtime": "^7.20.13",
+ "@panva/hkdf": "^1.0.2",
+ "cookie": "^0.5.0",
+ "jose": "^4.11.4",
+ "oauth": "^0.9.15",
+ "openid-client": "^5.4.0",
+ "preact": "^10.6.3",
+ "preact-render-to-string": "^5.1.19",
+ "uuid": "^8.3.2"
+ },
+ "peerDependencies": {
+ "next": "^12.2.5 || ^13",
+ "nodemailer": "^6.6.5",
+ "react": "^17.0.2 || ^18",
+ "react-dom": "^17.0.2 || ^18"
+ },
+ "peerDependenciesMeta": {
+ "nodemailer": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/next-auth/node_modules/uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ }
+ },
+ "node_modules/next-tick": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz",
+ "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ=="
+ },
+ "node_modules/node-domexception": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz",
+ "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/jimmywarting"
+ },
+ {
+ "type": "github",
+ "url": "https://paypal.me/jimmywarting"
+ }
+ ],
+ "engines": {
+ "node": ">=10.5.0"
+ }
+ },
+ "node_modules/node-fetch": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz",
+ "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
+ "dependencies": {
+ "whatwg-url": "^5.0.0"
+ },
+ "engines": {
+ "node": "4.x || >=6.0.0"
+ },
+ "peerDependencies": {
+ "encoding": "^0.1.0"
+ },
+ "peerDependenciesMeta": {
+ "encoding": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/node-gyp-build": {
+ "version": "4.6.1",
+ "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.1.tgz",
+ "integrity": "sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==",
+ "bin": {
+ "node-gyp-build": "bin.js",
+ "node-gyp-build-optional": "optional.js",
+ "node-gyp-build-test": "build-test.js"
+ }
+ },
+ "node_modules/nodemailer": {
+ "version": "6.9.6",
+ "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.9.6.tgz",
+ "integrity": "sha512-s7pDtWwe5fLMkQUhw8TkWB/wnZ7SRdd9HRZslq/s24hlZvBP3j32N/ETLmnqTpmj4xoBZL9fOWyCIZ7r2HORHg==",
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/oauth": {
+ "version": "0.9.15",
+ "resolved": "https://registry.npmjs.org/oauth/-/oauth-0.9.15.tgz",
+ "integrity": "sha512-a5ERWK1kh38ExDEfoO6qUHJb32rd7aYmPHuyCu3Fta/cnICvYmgd2uhuKXvPD+PXB+gCEYYEaQdIRAjCOwAKNA=="
+ },
+ "node_modules/oauth-sign": {
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
+ "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "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==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-hash": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz",
+ "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==",
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/oidc-token-hash": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/oidc-token-hash/-/oidc-token-hash-5.0.3.tgz",
+ "integrity": "sha512-IF4PcGgzAr6XXSff26Sk/+P4KZFJVuHAJZj3wgO3vX2bMdNVp/QXTP3P7CEm9V1IdG8lDLY3HhiqpsE/nOwpPw==",
+ "engines": {
+ "node": "^10.13.0 || >=12.0.0"
+ }
+ },
+ "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==",
+ "dependencies": {
+ "wrappy": "1"
+ }
+ },
+ "node_modules/openai": {
+ "version": "4.11.1",
+ "resolved": "https://registry.npmjs.org/openai/-/openai-4.11.1.tgz",
+ "integrity": "sha512-GU0HQWbejXuVAQlDjxIE8pohqnjptFDIm32aPlNT1H9ucMz1VJJD0DaTJRQsagNaJ97awWjjVLEG7zCM6sm4SA==",
+ "dependencies": {
+ "@types/node": "^18.11.18",
+ "@types/node-fetch": "^2.6.4",
+ "abort-controller": "^3.0.0",
+ "agentkeepalive": "^4.2.1",
+ "digest-fetch": "^1.3.0",
+ "form-data-encoder": "1.7.2",
+ "formdata-node": "^4.3.2",
+ "node-fetch": "^2.6.7"
+ },
+ "bin": {
+ "openai": "bin/cli"
+ }
+ },
+ "node_modules/openai/node_modules/@types/node": {
+ "version": "18.18.3",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.18.3.tgz",
+ "integrity": "sha512-0OVfGupTl3NBFr8+iXpfZ8NR7jfFO+P1Q+IO/q0wbo02wYkP5gy36phojeYWpLQ6WAMjl+VfmqUk2YbUfp0irA=="
+ },
+ "node_modules/openid-client": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-5.5.0.tgz",
+ "integrity": "sha512-Y7Xl8BgsrkzWLHkVDYuroM67hi96xITyEDSkmWaGUiNX6CkcXC3XyQGdv5aWZ6dukVKBFVQCADi9gCavOmU14w==",
+ "dependencies": {
+ "jose": "^4.14.4",
+ "lru-cache": "^6.0.0",
+ "object-hash": "^2.2.0",
+ "oidc-token-hash": "^5.0.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/panva"
+ }
+ },
+ "node_modules/parse-entities": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz",
+ "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==",
+ "dependencies": {
+ "character-entities": "^1.0.0",
+ "character-entities-legacy": "^1.0.0",
+ "character-reference-invalid": "^1.0.0",
+ "is-alphanumerical": "^1.0.0",
+ "is-decimal": "^1.0.0",
+ "is-hexadecimal": "^1.0.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/performance-now": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
+ "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow=="
+ },
+ "node_modules/periscopic": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz",
+ "integrity": "sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==",
+ "peer": true,
+ "dependencies": {
+ "@types/estree": "^1.0.0",
+ "estree-walker": "^3.0.0",
+ "is-reference": "^3.0.0"
+ }
+ },
+ "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/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/preact": {
+ "version": "10.17.1",
+ "resolved": "https://registry.npmjs.org/preact/-/preact-10.17.1.tgz",
+ "integrity": "sha512-X9BODrvQ4Ekwv9GURm9AKAGaomqXmip7NQTZgY7gcNmr7XE83adOMJvd3N42id1tMFU7ojiynRsYnY6/BRFxLA==",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/preact"
+ }
+ },
+ "node_modules/preact-render-to-string": {
+ "version": "5.2.6",
+ "resolved": "https://registry.npmjs.org/preact-render-to-string/-/preact-render-to-string-5.2.6.tgz",
+ "integrity": "sha512-JyhErpYOvBV1hEPwIxc/fHWXPfnEGdRKxc8gFdAZ7XV4tlzyzG847XAyEZqoDnynP88akM4eaHcSOzNcLWFguw==",
+ "dependencies": {
+ "pretty-format": "^3.8.0"
+ },
+ "peerDependencies": {
+ "preact": ">=10"
+ }
+ },
+ "node_modules/pretty-format": {
+ "version": "3.8.0",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-3.8.0.tgz",
+ "integrity": "sha512-WuxUnVtlWL1OfZFQFuqvnvs6MiAGk9UNsBostyBOB0Is9wb5uRESevA6rnl/rkksXaGX3GzZhPup5d6Vp1nFew=="
+ },
+ "node_modules/prismjs": {
+ "version": "1.29.0",
+ "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz",
+ "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "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==",
+ "dependencies": {
+ "loose-envify": "^1.4.0",
+ "object-assign": "^4.1.1",
+ "react-is": "^16.13.1"
+ }
+ },
+ "node_modules/property-information": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.3.0.tgz",
+ "integrity": "sha512-gVNZ74nqhRMiIUYWGQdosYetaKc83x8oT41a0LlV3AAFCAZwCpg4vmGkq8t34+cUhp3cnM4XDiU/7xlgK7HGrg==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/proto3-json-serializer": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/proto3-json-serializer/-/proto3-json-serializer-2.0.0.tgz",
+ "integrity": "sha512-FB/YaNrpiPkyQNSNPilpn8qn0KdEfkgmJ9JP93PQyF/U4bAiXY5BiUdDhiDO4S48uSQ6AesklgVlrKiqZPzegw==",
+ "dependencies": {
+ "protobufjs": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/protobufjs": {
+ "version": "7.2.5",
+ "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.2.5.tgz",
+ "integrity": "sha512-gGXRSXvxQ7UiPgfw8gevrfRWcTlSbOFg+p/N+JVJEK5VhueL2miT6qTymqAmjr1Q5WbOCyJbyrk6JfWKwlFn6A==",
+ "hasInstallScript": true,
+ "dependencies": {
+ "@protobufjs/aspromise": "^1.1.2",
+ "@protobufjs/base64": "^1.1.2",
+ "@protobufjs/codegen": "^2.0.4",
+ "@protobufjs/eventemitter": "^1.1.0",
+ "@protobufjs/fetch": "^1.1.0",
+ "@protobufjs/float": "^1.0.2",
+ "@protobufjs/inquire": "^1.1.0",
+ "@protobufjs/path": "^1.1.2",
+ "@protobufjs/pool": "^1.1.0",
+ "@protobufjs/utf8": "^1.1.0",
+ "@types/node": ">=13.7.0",
+ "long": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
+ "node_modules/proxy-from-env": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
+ "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
+ },
+ "node_modules/psl": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz",
+ "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag=="
+ },
+ "node_modules/punycode": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz",
+ "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/qs": {
+ "version": "6.5.3",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz",
+ "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==",
+ "engines": {
+ "node": ">=0.6"
+ }
+ },
+ "node_modules/react": {
+ "version": "18.2.0",
+ "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz",
+ "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==",
+ "dependencies": {
+ "loose-envify": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/react-dom": {
+ "version": "18.2.0",
+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz",
+ "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==",
+ "dependencies": {
+ "loose-envify": "^1.1.0",
+ "scheduler": "^0.23.0"
+ },
+ "peerDependencies": {
+ "react": "^18.2.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=="
+ },
+ "node_modules/react-markdown": {
+ "version": "8.0.7",
+ "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-8.0.7.tgz",
+ "integrity": "sha512-bvWbzG4MtOU62XqBx3Xx+zB2raaFFsq4mYiAzfjXJMEz2sixgeAfraA3tvzULF02ZdOMUOKTBFFaZJDDrq+BJQ==",
+ "dependencies": {
+ "@types/hast": "^2.0.0",
+ "@types/prop-types": "^15.0.0",
+ "@types/unist": "^2.0.0",
+ "comma-separated-tokens": "^2.0.0",
+ "hast-util-whitespace": "^2.0.0",
+ "prop-types": "^15.0.0",
+ "property-information": "^6.0.0",
+ "react-is": "^18.0.0",
+ "remark-parse": "^10.0.0",
+ "remark-rehype": "^10.0.0",
+ "space-separated-tokens": "^2.0.0",
+ "style-to-object": "^0.4.0",
+ "unified": "^10.0.0",
+ "unist-util-visit": "^4.0.0",
+ "vfile": "^5.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ },
+ "peerDependencies": {
+ "@types/react": ">=16",
+ "react": ">=16"
+ }
+ },
+ "node_modules/react-markdown/node_modules/react-is": {
+ "version": "18.2.0",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
+ "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w=="
+ },
+ "node_modules/react-syntax-highlighter": {
+ "version": "15.5.0",
+ "resolved": "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-15.5.0.tgz",
+ "integrity": "sha512-+zq2myprEnQmH5yw6Gqc8lD55QHnpKaU8TOcFeC/Lg/MQSs8UknEA0JC4nTZGFAXC2J2Hyj/ijJ7NlabyPi2gg==",
+ "dependencies": {
+ "@babel/runtime": "^7.3.1",
+ "highlight.js": "^10.4.1",
+ "lowlight": "^1.17.0",
+ "prismjs": "^1.27.0",
+ "refractor": "^3.6.0"
+ },
+ "peerDependencies": {
+ "react": ">= 0.14.0"
+ }
+ },
+ "node_modules/readable-stream": {
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/refractor": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/refractor/-/refractor-3.6.0.tgz",
+ "integrity": "sha512-MY9W41IOWxxk31o+YvFCNyNzdkc9M20NoZK5vq6jkv4I/uh2zkWcfudj0Q1fovjUQJrNewS9NMzeTtqPf+n5EA==",
+ "dependencies": {
+ "hastscript": "^6.0.0",
+ "parse-entities": "^2.0.0",
+ "prismjs": "~1.27.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/refractor/node_modules/prismjs": {
+ "version": "1.27.0",
+ "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.27.0.tgz",
+ "integrity": "sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/regenerator-runtime": {
+ "version": "0.14.0",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz",
+ "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA=="
+ },
+ "node_modules/remark-parse": {
+ "version": "10.0.2",
+ "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.2.tgz",
+ "integrity": "sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==",
+ "dependencies": {
+ "@types/mdast": "^3.0.0",
+ "mdast-util-from-markdown": "^1.0.0",
+ "unified": "^10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-rehype": {
+ "version": "10.1.0",
+ "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-10.1.0.tgz",
+ "integrity": "sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==",
+ "dependencies": {
+ "@types/hast": "^2.0.0",
+ "@types/mdast": "^3.0.0",
+ "mdast-util-to-hast": "^12.1.0",
+ "unified": "^10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/request": {
+ "version": "2.88.2",
+ "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
+ "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
+ "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142",
+ "dependencies": {
+ "aws-sign2": "~0.7.0",
+ "aws4": "^1.8.0",
+ "caseless": "~0.12.0",
+ "combined-stream": "~1.0.6",
+ "extend": "~3.0.2",
+ "forever-agent": "~0.6.1",
+ "form-data": "~2.3.2",
+ "har-validator": "~5.1.3",
+ "http-signature": "~1.2.0",
+ "is-typedarray": "~1.0.0",
+ "isstream": "~0.1.2",
+ "json-stringify-safe": "~5.0.1",
+ "mime-types": "~2.1.19",
+ "oauth-sign": "~0.9.0",
+ "performance-now": "^2.1.0",
+ "qs": "~6.5.2",
+ "safe-buffer": "^5.1.2",
+ "tough-cookie": "~2.5.0",
+ "tunnel-agent": "^0.6.0",
+ "uuid": "^3.3.2"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/request/node_modules/uuid": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
+ "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
+ "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.",
+ "bin": {
+ "uuid": "bin/uuid"
+ }
+ },
+ "node_modules/require-directory": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/retry-request": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/retry-request/-/retry-request-6.0.0.tgz",
+ "integrity": "sha512-24kaFMd3wCnT3n4uPnsQh90ZSV8OISpfTFXJ00Wi+/oD2OPrp63EQ8hznk6rhxdlpwx2QBhQSDz2Fg46ki852g==",
+ "dependencies": {
+ "debug": "^4.1.1",
+ "extend": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/retry-request/node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/retry-request/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=="
+ },
+ "node_modules/sade": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz",
+ "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==",
+ "dependencies": {
+ "mri": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ "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/safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
+ },
+ "node_modules/scheduler": {
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz",
+ "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==",
+ "dependencies": {
+ "loose-envify": "^1.1.0"
+ }
+ },
+ "node_modules/seroval": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/seroval/-/seroval-0.5.1.tgz",
+ "integrity": "sha512-ZfhQVB59hmIauJG5Ydynupy8KHyr5imGNtdDhbZG68Ufh1Ynkv9KOYOAABf71oVbQxJ8VkWnMHAjEHE7fWkH5g==",
+ "peer": true,
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/solid-js": {
+ "version": "1.7.12",
+ "resolved": "https://registry.npmjs.org/solid-js/-/solid-js-1.7.12.tgz",
+ "integrity": "sha512-QoyoOUKu14iLoGxjxWFIU8+/1kLT4edQ7mZESFPonsEXZ//VJtPKD8Ud1aTKzotj+MNWmSs9YzK6TdY+fO9Eww==",
+ "peer": true,
+ "dependencies": {
+ "csstype": "^3.1.0",
+ "seroval": "^0.5.0"
+ }
+ },
+ "node_modules/solid-swr-store": {
+ "version": "0.10.7",
+ "resolved": "https://registry.npmjs.org/solid-swr-store/-/solid-swr-store-0.10.7.tgz",
+ "integrity": "sha512-A6d68aJmRP471aWqKKPE2tpgOiR5fH4qXQNfKIec+Vap+MGQm3tvXlT8n0I8UgJSlNAsSAUuw2VTviH2h3Vv5g==",
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "solid-js": "^1.2",
+ "swr-store": "^0.10"
+ }
+ },
+ "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/space-separated-tokens": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz",
+ "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/sshpk": {
+ "version": "1.17.0",
+ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz",
+ "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==",
+ "dependencies": {
+ "asn1": "~0.2.3",
+ "assert-plus": "^1.0.0",
+ "bcrypt-pbkdf": "^1.0.0",
+ "dashdash": "^1.12.0",
+ "ecc-jsbn": "~0.1.1",
+ "getpass": "^0.1.1",
+ "jsbn": "~0.1.0",
+ "safer-buffer": "^2.0.2",
+ "tweetnacl": "~0.14.0"
+ },
+ "bin": {
+ "sshpk-conv": "bin/sshpk-conv",
+ "sshpk-sign": "bin/sshpk-sign",
+ "sshpk-verify": "bin/sshpk-verify"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/sswr": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/sswr/-/sswr-2.0.0.tgz",
+ "integrity": "sha512-mV0kkeBHcjcb0M5NqKtKVg/uTIYNlIIniyDfSGrSfxpEdM9C365jK0z55pl9K0xAkNTJi2OAOVFQpgMPUk+V0w==",
+ "dependencies": {
+ "swrev": "^4.0.0"
+ },
+ "peerDependencies": {
+ "svelte": "^4.0.0"
+ }
+ },
+ "node_modules/stream-shift": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz",
+ "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ=="
+ },
+ "node_modules/streamsearch": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz",
+ "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==",
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/string_decoder": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
+ "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
+ "dependencies": {
+ "safe-buffer": "~5.2.0"
+ }
+ },
+ "node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "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==",
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/style-to-object": {
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.2.tgz",
+ "integrity": "sha512-1JGpfPB3lo42ZX8cuPrheZbfQ6kqPPnPHlKMyeRYtfKD+0jG+QsXgXN57O/dvJlzlB2elI6dGmrPnl5VPQFPaA==",
+ "dependencies": {
+ "inline-style-parser": "0.1.1"
+ }
+ },
+ "node_modules/styled-jsx": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz",
+ "integrity": "sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==",
+ "dependencies": {
+ "client-only": "0.0.1"
+ },
+ "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/svelte": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/svelte/-/svelte-4.2.1.tgz",
+ "integrity": "sha512-LpLqY2Jr7cRxkrTc796/AaaoMLF/1ax7cto8Ot76wrvKQhrPmZ0JgajiWPmg9mTSDqO16SSLiD17r9MsvAPTmw==",
+ "peer": true,
+ "dependencies": {
+ "@ampproject/remapping": "^2.2.1",
+ "@jridgewell/sourcemap-codec": "^1.4.15",
+ "@jridgewell/trace-mapping": "^0.3.18",
+ "acorn": "^8.9.0",
+ "aria-query": "^5.3.0",
+ "axobject-query": "^3.2.1",
+ "code-red": "^1.0.3",
+ "css-tree": "^2.3.1",
+ "estree-walker": "^3.0.3",
+ "is-reference": "^3.0.1",
+ "locate-character": "^3.0.0",
+ "magic-string": "^0.30.0",
+ "periscopic": "^3.1.0"
+ },
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/swr": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/swr/-/swr-2.2.0.tgz",
+ "integrity": "sha512-AjqHOv2lAhkuUdIiBu9xbuettzAzWXmCEcLONNKJRba87WAefz8Ca9d6ds/SzrPc235n1IxWYdhJ2zF3MNUaoQ==",
+ "dependencies": {
+ "use-sync-external-store": "^1.2.0"
+ },
+ "peerDependencies": {
+ "react": "^16.11.0 || ^17.0.0 || ^18.0.0"
+ }
+ },
+ "node_modules/swr-store": {
+ "version": "0.10.6",
+ "resolved": "https://registry.npmjs.org/swr-store/-/swr-store-0.10.6.tgz",
+ "integrity": "sha512-xPjB1hARSiRaNNlUQvWSVrG5SirCjk2TmaUyzzvk69SZQan9hCJqw/5rG9iL7xElHU784GxRPISClq4488/XVw==",
+ "dependencies": {
+ "dequal": "^2.0.3"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/swrev": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/swrev/-/swrev-4.0.0.tgz",
+ "integrity": "sha512-LqVcOHSB4cPGgitD1riJ1Hh4vdmITOp+BkmfmXRh4hSF/t7EnS4iD+SOTmq7w5pPm/SiPeto4ADbKS6dHUDWFA=="
+ },
+ "node_modules/swrv": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/swrv/-/swrv-1.0.4.tgz",
+ "integrity": "sha512-zjEkcP8Ywmj+xOJW3lIT65ciY/4AL4e/Or7Gj0MzU3zBJNMdJiT8geVZhINavnlHRMMCcJLHhraLTAiDOTmQ9g==",
+ "peerDependencies": {
+ "vue": ">=3.2.26 < 4"
+ }
+ },
+ "node_modules/tough-cookie": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
+ "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
+ "dependencies": {
+ "psl": "^1.1.28",
+ "punycode": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=0.8"
+ }
+ },
+ "node_modules/tr46": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
+ "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
+ },
+ "node_modules/trim-lines": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz",
+ "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/trough": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz",
+ "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/tslib": {
+ "version": "2.6.2",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
+ "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
+ },
+ "node_modules/tunnel-agent": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+ "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==",
+ "dependencies": {
+ "safe-buffer": "^5.0.1"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/tweetnacl": {
+ "version": "0.14.5",
+ "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
+ "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA=="
+ },
+ "node_modules/type": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz",
+ "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg=="
+ },
+ "node_modules/typedarray-to-buffer": {
+ "version": "3.1.5",
+ "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
+ "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
+ "dependencies": {
+ "is-typedarray": "^1.0.0"
+ }
+ },
+ "node_modules/unified": {
+ "version": "10.1.2",
+ "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz",
+ "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==",
+ "dependencies": {
+ "@types/unist": "^2.0.0",
+ "bail": "^2.0.0",
+ "extend": "^3.0.0",
+ "is-buffer": "^2.0.0",
+ "is-plain-obj": "^4.0.0",
+ "trough": "^2.0.0",
+ "vfile": "^5.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/unist-util-generated": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-2.0.1.tgz",
+ "integrity": "sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/unist-util-is": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz",
+ "integrity": "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==",
+ "dependencies": {
+ "@types/unist": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/unist-util-position": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.4.tgz",
+ "integrity": "sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==",
+ "dependencies": {
+ "@types/unist": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/unist-util-stringify-position": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz",
+ "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==",
+ "dependencies": {
+ "@types/unist": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/unist-util-visit": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz",
+ "integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==",
+ "dependencies": {
+ "@types/unist": "^2.0.0",
+ "unist-util-is": "^5.0.0",
+ "unist-util-visit-parents": "^5.1.1"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/unist-util-visit-parents": {
+ "version": "5.1.3",
+ "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz",
+ "integrity": "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==",
+ "dependencies": {
+ "@types/unist": "^2.0.0",
+ "unist-util-is": "^5.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/uri-js": {
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
+ "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
+ "dependencies": {
+ "punycode": "^2.1.0"
+ }
+ },
+ "node_modules/use-sync-external-store": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz",
+ "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==",
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ }
+ },
+ "node_modules/utf-8-validate": {
+ "version": "5.0.10",
+ "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz",
+ "integrity": "sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==",
+ "hasInstallScript": true,
+ "dependencies": {
+ "node-gyp-build": "^4.3.0"
+ },
+ "engines": {
+ "node": ">=6.14.2"
+ }
+ },
+ "node_modules/util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
+ },
+ "node_modules/uuid": {
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz",
+ "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==",
+ "funding": [
+ "https://github.com/sponsors/broofa",
+ "https://github.com/sponsors/ctavan"
+ ],
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ }
+ },
+ "node_modules/uvu": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/uvu/-/uvu-0.5.6.tgz",
+ "integrity": "sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==",
+ "dependencies": {
+ "dequal": "^2.0.0",
+ "diff": "^5.0.0",
+ "kleur": "^4.0.3",
+ "sade": "^1.7.3"
+ },
+ "bin": {
+ "uvu": "bin.js"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/verror": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
+ "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==",
+ "engines": [
+ "node >=0.6.0"
+ ],
+ "dependencies": {
+ "assert-plus": "^1.0.0",
+ "core-util-is": "1.0.2",
+ "extsprintf": "^1.2.0"
+ }
+ },
+ "node_modules/vfile": {
+ "version": "5.3.7",
+ "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz",
+ "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==",
+ "dependencies": {
+ "@types/unist": "^2.0.0",
+ "is-buffer": "^2.0.0",
+ "unist-util-stringify-position": "^3.0.0",
+ "vfile-message": "^3.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/vfile-message": {
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz",
+ "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==",
+ "dependencies": {
+ "@types/unist": "^2.0.0",
+ "unist-util-stringify-position": "^3.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/vue": {
+ "version": "3.3.4",
+ "resolved": "https://registry.npmjs.org/vue/-/vue-3.3.4.tgz",
+ "integrity": "sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==",
+ "peer": true,
+ "dependencies": {
+ "@vue/compiler-dom": "3.3.4",
+ "@vue/compiler-sfc": "3.3.4",
+ "@vue/runtime-dom": "3.3.4",
+ "@vue/server-renderer": "3.3.4",
+ "@vue/shared": "3.3.4"
+ }
+ },
+ "node_modules/watchpack": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz",
+ "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==",
+ "dependencies": {
+ "glob-to-regexp": "^0.4.1",
+ "graceful-fs": "^4.1.2"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/web-streams-polyfill": {
+ "version": "4.0.0-beta.3",
+ "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-4.0.0-beta.3.tgz",
+ "integrity": "sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==",
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/webidl-conversions": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
+ "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
+ },
+ "node_modules/websocket": {
+ "version": "1.0.34",
+ "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.34.tgz",
+ "integrity": "sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ==",
+ "dependencies": {
+ "bufferutil": "^4.0.1",
+ "debug": "^2.2.0",
+ "es5-ext": "^0.10.50",
+ "typedarray-to-buffer": "^3.1.5",
+ "utf-8-validate": "^5.0.2",
+ "yaeti": "^0.0.6"
+ },
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
+ "node_modules/whatwg-url": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
+ "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
+ "dependencies": {
+ "tr46": "~0.0.3",
+ "webidl-conversions": "^3.0.0"
+ }
+ },
+ "node_modules/wrap-ansi": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "node_modules/wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
+ },
+ "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/y18n": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
+ "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/yaeti": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz",
+ "integrity": "sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug==",
+ "engines": {
+ "node": ">=0.10.32"
+ }
+ },
+ "node_modules/yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
+ },
+ "node_modules/yargs": {
+ "version": "17.7.2",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
+ "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
+ "dependencies": {
+ "cliui": "^8.0.1",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
+ "require-directory": "^2.1.1",
+ "string-width": "^4.2.3",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^21.1.1"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/yargs-parser": {
+ "version": "21.1.1",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
+ "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/zod": {
+ "version": "3.21.4",
+ "resolved": "https://registry.npmjs.org/zod/-/zod-3.21.4.tgz",
+ "integrity": "sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==",
+ "funding": {
+ "url": "https://github.com/sponsors/colinhacks"
+ }
+ }
+ }
+}
diff --git a/package.json b/package.json
new file mode 100644
index 0000000000000000000000000000000000000000..9ddadb863b5d95cd6c5c0e1af51e05d566b1f181
--- /dev/null
+++ b/package.json
@@ -0,0 +1,45 @@
+{
+ "name": "client",
+ "version": "0.1.0",
+ "private": true,
+ "scripts": {
+ "dev": "next dev -p 3001",
+ "build": "next build",
+ "start": "next start",
+ "lint": "next lint"
+ },
+ "dependencies": {
+ "@fortawesome/fontawesome-svg-core": "^6.4.2",
+ "@fortawesome/free-brands-svg-icons": "^6.4.2",
+ "@fortawesome/free-regular-svg-icons": "^6.4.2",
+ "@fortawesome/free-solid-svg-icons": "^6.4.2",
+ "@fortawesome/react-fontawesome": "^0.2.0",
+ "@google-ai/generativelanguage": "^1.1.0",
+ "@huggingface/inference": "^2.6.3",
+ "@supabase/supabase-js": "^2.36.0",
+ "ai": "^2.2.14",
+ "axios": "^1.5.1",
+ "google-auth-library": "^9.0.0",
+ "marked": "^9.0.3",
+ "next": "13.5.2",
+ "next-auth": "^4.23.1",
+ "nodemailer": "^6.9.6",
+ "openai": "^4.11.1",
+ "react": "18.2.0",
+ "react-dom": "18.2.0",
+ "react-markdown": "^8.0.7",
+ "react-syntax-highlighter": "^15.5.0",
+ "request": "^2.88.2",
+ "uuid": "^9.0.1"
+ },
+ "devDependencies": {
+ "encoding": "^0.1.13"
+ },
+ "browser": {
+ "tls": false,
+ "net": false,
+ "fs": false,
+ "path": false,
+ "child_process": false
+ }
+}
diff --git a/public/Fonts/ABeeZee.ttf b/public/Fonts/ABeeZee.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..7b4de962177486ac200cd7fd8f58fe2bded3fbdd
Binary files /dev/null and b/public/Fonts/ABeeZee.ttf differ
diff --git a/public/Fonts/Aharoni.ttf b/public/Fonts/Aharoni.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..c3cbba25f1f0966d27a11c4dfd68b1ae729788e8
Binary files /dev/null and b/public/Fonts/Aharoni.ttf differ
diff --git a/public/Fonts/Montserrat.ttf b/public/Fonts/Montserrat.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..797c4a570ab4ec5b077a670bdcd53cfd5d680da6
Binary files /dev/null and b/public/Fonts/Montserrat.ttf differ
diff --git a/public/Fonts/Quicksand.ttf b/public/Fonts/Quicksand.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..57d002f632f8f758bb14ab74423e3eb4fe8c5cf6
Binary files /dev/null and b/public/Fonts/Quicksand.ttf differ
diff --git a/public/Fonts/Righteous.ttf b/public/Fonts/Righteous.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..fc9c0a84cdd5eeb260f6a4559ec2356d3cff816b
Binary files /dev/null and b/public/Fonts/Righteous.ttf differ
diff --git a/public/Fonts/Roboto.ttf b/public/Fonts/Roboto.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..ddf4bfacb396e97546364ccfeeb9c31dfaea4c25
Binary files /dev/null and b/public/Fonts/Roboto.ttf differ
diff --git a/public/RayAI.jpg b/public/RayAI.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..a1099e41621f47b4bb949da8b58f3dd35a8d51d2
Binary files /dev/null and b/public/RayAI.jpg differ
diff --git a/public/RayAI.png b/public/RayAI.png
new file mode 100644
index 0000000000000000000000000000000000000000..c74b281d84a0bcded84be5042deadefd5fc3f9e0
Binary files /dev/null and b/public/RayAI.png differ
diff --git a/public/RayAI.svg b/public/RayAI.svg
new file mode 100644
index 0000000000000000000000000000000000000000..3e00961239c163ec0d050581dd54b649efbf270d
--- /dev/null
+++ b/public/RayAI.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/public/bg.svg b/public/bg.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5e36dd0663ee7334bb649a0123d379df1b9dc8ae
--- /dev/null
+++ b/public/bg.svg
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/public/card-bg-2.svg b/public/card-bg-2.svg
new file mode 100644
index 0000000000000000000000000000000000000000..06793c5d2f7323a8aac65a5af94efc28db79ae58
--- /dev/null
+++ b/public/card-bg-2.svg
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/public/card-bg-3.svg b/public/card-bg-3.svg
new file mode 100644
index 0000000000000000000000000000000000000000..9c93883eda6234a595f51e0b8b818656bcee4cd4
--- /dev/null
+++ b/public/card-bg-3.svg
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/public/card-bg.svg b/public/card-bg.svg
new file mode 100644
index 0000000000000000000000000000000000000000..3bb9bc3994f35d9b52f9a2b29a8e0b6e17b7b6a2
--- /dev/null
+++ b/public/card-bg.svg
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/public/favicon.ico b/public/favicon.ico
new file mode 100644
index 0000000000000000000000000000000000000000..821043f5315c72435f2dcc8cc0efdce5d6f66490
Binary files /dev/null and b/public/favicon.ico differ
diff --git a/public/icon.svg b/public/icon.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d1b8424eb31c796ad15859800be8e1aa85e5ea64
--- /dev/null
+++ b/public/icon.svg
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/public/logo-dark.png b/public/logo-dark.png
new file mode 100644
index 0000000000000000000000000000000000000000..e2c3fff09e44751501087b52aa9f34407dd5dbe9
Binary files /dev/null and b/public/logo-dark.png differ
diff --git a/public/logo.png b/public/logo.png
new file mode 100644
index 0000000000000000000000000000000000000000..e716159f3ba76e5db5039f8b8f693b6e86079b58
Binary files /dev/null and b/public/logo.png differ