├── .github └── PULL_REQUEST_TEMPLATE.md ├── .gitignore ├── README.md ├── Super-Mario ├── components ├── IdeaGenerator.tsx ├── Meta.tsx ├── Plausible.tsx ├── Showcase.tsx ├── ShowcaseCard.tsx ├── SpecificSteps │ ├── Computer.tsx │ ├── Step1.tsx │ ├── Step2.tsx │ └── Step3.tsx ├── Steps.tsx └── WhatchaWaitingFor.tsx ├── next.config.mjs ├── package-lock.json ├── package.json ├── pages ├── _app.tsx ├── _document.tsx ├── api │ ├── hello.ts │ └── openai.ts └── index.tsx ├── postcss.config.mjs ├── public ├── Logologo.png ├── android-chrome-192x192.png ├── android-chrome-512x512.png ├── apple-touch-icon.png ├── beta_logo_with_shadow.svg ├── beta_logo_without_shadow.svg ├── computer.glb ├── computercrop.png ├── computerhack.png ├── cropped_frap.png ├── espresso.png ├── espresso_sound.mp3 ├── example1.jpeg ├── example2.png ├── example3.png ├── favicon-16x16.png ├── favicon-32x32.png ├── favicon.ico ├── favicon_backup.ico ├── flag.svg ├── frap.jpeg ├── frap_nobg.png ├── idle_machine.png ├── link-image.png ├── liveurl.png ├── logo.png ├── logo.svg ├── logo_no_shadow.svg ├── logo_with_shadow.svg ├── logo_with_shadow_old.svg ├── logo_without_shadow.svg ├── logo_without_shadow_old.svg ├── next.svg ├── pour_coffee.mp3 ├── pulling_shot.png ├── site.webmanifest ├── sweetlikespresso.mp3 └── vercel.svg ├── styles └── globals.css ├── submissions ├── 000xs │ └── README.md ├── 3D-Christmas │ └── README.md ├── 3DMus │ └── README.md ├── 3DSite │ └── README.md ├── 3d Portfolio │ └── README.md ├── 3d pong │ └── README.md ├── 3d-art-musuem │ └── README.md ├── 3d-calc │ └── README.md ├── 3d-chess │ └── README.md ├── 3dgallery │ └── README.md ├── 3dportfolio │ └── README.md ├── 3dtetris │ └── README.md ├── Bernie Liu │ └── README.md ├── Bowling Bounty │ └── readme.md ├── Daamin-Ashai │ └── README.md ├── Joshua │ └── README.md ├── README.md ├── SpaceShuttleViewer │ └── README.md ├── Super-Mario │ └── README.md ├── WebForestSim │ └── README.md ├── acise03 │ └── Cool 3D Objects.md ├── doooooonuts │ └── README.md ├── gaurav │ └── README.md ├── hcjk_mini_room │ ├── index.html │ ├── readme.md │ ├── script.js │ └── style.css ├── islanublar │ └── README.md ├── pop-music │ └── README.md ├── raghav-karn │ └── README.md ├── scale-of-the-universe │ └── README.md ├── silhouette │ └── README.md ├── snake-Game │ └── README.md ├── snowman_in_Japan │ └── README.md ├── speedyfraps │ └── README.md ├── super-mariio │ └── README.md ├── vibhu0209 │ └── 3D Shooting Game └── wkfrap │ ├── README.md │ ├── index.html │ ├── script.js │ └── style.css ├── tailwind.config.ts ├── tsconfig.json └── yarn.lock /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | Please change the title to `Add `. 2 | # Hey there! Here is your checklist for your Hackaccino submission: 3 | 4 | > If you're participating in an **offline** Hackaccino workshop, you don't need to make a pull request. Please ask the organizer for a submission form. 5 | 6 | ## Author name 7 | 8 | **Author:** 9 | 10 | 11 | 12 | ## Live Website Link 13 | 14 | **Link:** 15 | 16 | ## Code 17 | 18 | **GitHub Link** 19 | 20 | ## Hack Club Slack ID 21 | 22 | > Find your Slack ID by visiting the [#what-is-my-slack channel](https://hackclub.slack.com/archives/C0159TSJVH8) on Hack Club Slack. If you're not on Hack Club Slack, please join [here](https://hackclub.com/slack). 23 | 24 | ID: 25 | 26 | ## Check off the items that are true. 27 | 28 | 29 | 30 | - [ ] You’re in high school or under 18. 31 | - [ ] This is your first time participating in Hackaccino (YSWS). 32 | - [ ] The README.md is placed in the `/submissions//` [directory](https://github.com/hackclub/hackaccino/tree/main/submissions). 33 | - [ ] The code you’ve provided is open-source. 34 | - [ ] The code you are submitting was written by you. 35 | - [ ] The live URL you’ve provided is working. 36 | 37 | > Thank you for your PR! 38 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | .yarn/install-state.gz 8 | 9 | # testing 10 | /coverage 11 | 12 | # next.js 13 | /.next/ 14 | /out/ 15 | 16 | # production 17 | /build 18 | 19 | # misc 20 | .DS_Store 21 | *.pem 22 | 23 | # debug 24 | npm-debug.log* 25 | yarn-debug.log* 26 | yarn-error.log* 27 | 28 | # local env files 29 | .env*.local 30 | 31 | # vercel 32 | .vercel 33 | 34 | # typescript 35 | *.tsbuildinfo 36 | next-env.d.ts 37 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Hackaccino Site 2 | 3 | Make a 3D Website • Get a free Frappuccino 4 | 5 | ## How Do I Get Started? 6 | 7 | 1. Create a 3D website 8 | 2. Submit your pull request on GitHub! 9 | 3. Get a free Frappuccino 10 | 11 | ## Make Your PR 12 | 13 | 1. Fork the `hackaccino` repository 14 | 15 | ![Fork It](https://cloud-iy2u34fid-hack-club-bot.vercel.app/1screenshot_2024-12-02_at_22.35.38.png) 16 | 17 | 2. Open the `submissions` folder 18 | 3. Tap "Add File" 19 | 20 | ![Add File](https://cloud-k94j30jjo-hack-club-bot.vercel.app/0screenshot_2024-12-02_at_22.47.36.png) 21 | 22 | 4. Enter the name of your file to be the name of your project followed by README.md - For example: `cool-recipes/README.md` 23 | 5. See `submissions/README.md` to format your submission 24 | 6. Commit your changes 25 | 26 | ![Submit](https://cloud-7tzb1fc08-hack-club-bot.vercel.app/2screenshot_2024-12-02_at_22.42.37.png) 27 | 28 | 7. Submit your submission by opening a PR 29 | 30 | ![](https://cloud-7tzb1fc08-hack-club-bot.vercel.app/1screenshot_2024-12-02_at_22.43.29.png) 31 | 32 | 7. Get your PR merged! 33 | -------------------------------------------------------------------------------- /Super-Mario: -------------------------------------------------------------------------------- 1 | Author name 2 | Author: Jayden Noubissi 3 | 4 | Website Name 5 | Name: Super-Mario 6 | 7 | 8 | Live Website URL 9 | Link: https://peppy-griffin-2a0e48.netlify.app/ 10 | 11 | Code 12 | Replit Link: https://replit.com/@jynytbusiness/ThisWittyBinarytree 13 | 14 | How many hours did you spend on this? 15 | Hours: 1 16 | 17 | How did you build this? 18 | How: Using A-Frame and by following Hack Club’s 3D Website workshop! 19 | -------------------------------------------------------------------------------- /components/IdeaGenerator.tsx: -------------------------------------------------------------------------------- 1 | import { Howl, Howler } from "howler"; 2 | import { IoVolumeMute } from "react-icons/io5"; 3 | import { IoVolumeHigh } from "react-icons/io5"; 4 | 5 | import { useState } from "react"; 6 | 7 | export const IdeaGenerator = () => { 8 | const [hold, setHold] = useState(false); 9 | const [drinkReady, setDrinkReady] = useState(false); 10 | const [easterEgg, setEasterEgg] = useState(false); 11 | 12 | const [recommendation, setRecommendation] = useState(""); 13 | const sound = new Howl({ src: ["/pour_coffee.mp3"] }); 14 | const spresso = new Howl({ src: ["/sweetlikespresso.mp3"] }); 15 | 16 | return ( 17 |
18 | {/* */} 29 | 30 |
31 |

32 | {recommendation} 33 |

34 | 70 | {/* {drinkReady && ( 71 |
72 | 86 |
87 | )} */} 88 | 89 | {easterEgg && ( 90 |
{ 93 | setEasterEgg(false); 94 | spresso.unload(); 95 | }} 96 | > 97 | { 99 | setEasterEgg(false); 100 | spresso.unload(); 101 | }} 102 | src="https://cloud-mpvs8batk-hack-club-bot.vercel.app/02x-speed-ezgif.com-gif-maker.gif" 103 | /> 104 |
105 | )} 106 |
107 |
108 | ); 109 | }; 110 | -------------------------------------------------------------------------------- /components/Meta.tsx: -------------------------------------------------------------------------------- 1 | import Head from "next/head"; 2 | // import theme from '../lib/theme' 3 | 4 | const makeTitle = (title: string, name: string) => 5 | title === name ? title : `${title} – ${name}`; 6 | 7 | const Meta = ({ 8 | title = `Hackaccino`, // page title 9 | name = `Hackaccino`, // site name 10 | description = "Ship a 3D website, we ship a free frappuccino!", // page description 11 | image = "/link-image.png", // social card image URL 12 | url = "https://fraps.hackclub.com", 13 | target = "teenagers", 14 | children, 15 | }: any) => ( 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | {makeTitle( 25 | title.replace("teenagers", target), 26 | name.replace("teenagers", target) 27 | )} 28 | 29 | 37 | 38 | 43 | {description && ( 44 | <> 45 | 46 | 47 | 48 | 49 | )} 50 | {image && ( 51 | <> 52 | 53 | 54 | 55 | 56 | )} 57 | 58 | 59 | 65 | 71 | 78 | 85 | 86 | {children} 87 | 88 | ); 89 | 90 | export default Meta; 91 | -------------------------------------------------------------------------------- /components/Plausible.tsx: -------------------------------------------------------------------------------- 1 | import Script from "next/script"; 2 | 3 | export const Plausible = () => { 4 | return ( 5 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /submissions/hcjk_mini_room/readme.md: -------------------------------------------------------------------------------- 1 | # Hackaccino Submissions 2 | 3 | > If you're participating in an offline Hackaccino workshop, you don't need to make a pull request. Please ask the organizer for a submission form. 4 | 5 | Create a new directory in this folder with your. Inside the directory, create a markdown file with the name `README.md` and include the following details: 6 | 7 | --- 8 | 9 | ### Author name 10 | 11 | Author: Emilijus Samuilis 12 | 13 | 14 | 15 | ## Website Name 16 | 17 | Name: Mini Room 18 | 19 | ## Live Website URL 20 | 21 | Link: illustrious-duckanoo-cf29c7.netlify.app 22 | 23 | ## Code 24 | 25 | GitHub Link: https://github.com/hcjk/hackaccino/tree/main/submissions/hcjk_mini_room 26 | 27 | ## How many hours did you spend on this? 28 | 29 | Hours: 4-5~ Because i took time on figuring out how to use everything and I am not really used to code for making 3D 30 | 31 | ## How did you build this? 32 | 33 | How: HTMl, CSS, JS, A-Frame 34 | -------------------------------------------------------------------------------- /submissions/hcjk_mini_room/script.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hackclub/hackaccino/7b435da5781c1b24ace9ef040849a42088fa7297/submissions/hcjk_mini_room/script.js -------------------------------------------------------------------------------- /submissions/hcjk_mini_room/style.css: -------------------------------------------------------------------------------- 1 | html { 2 | height: 100%; 3 | width: 100%; 4 | } -------------------------------------------------------------------------------- /submissions/islanublar/README.md: -------------------------------------------------------------------------------- 1 | # Hackaccino Submissions 2 | 3 | > If you're participating in an offline Hackaccino workshop, you don't need to make a pull request. Please ask the organizer for a submission form. 4 | 5 | Create a new directory in this folder with your. Inside the directory, create a markdown file with the name `README.md` and include the following details: 6 | 7 | --- 8 | 9 | ### Author name 10 | 11 | Author: Whirl 12 | 13 | 14 | 15 | ## Website Name 16 | 17 | Name: islanublar 18 | 19 | ## Live Website URL 20 | 21 | Link: https://whirlxd.github.io/islanublar/ 22 | 23 | ## Code 24 | 25 | GitHub Link: https://github.com/whirlxd/islanublar 26 | 27 | ## How many hours did you spend on this? 28 | 29 | Hours: 4.5 30 | 31 | ## How did you build this? 32 | 33 | How: AFRAME + Hackclub Jam and docs 34 | -------------------------------------------------------------------------------- /submissions/pop-music/README.md: -------------------------------------------------------------------------------- 1 | Author name 2 | Author: Rishi Dammavalam 3 | 4 | Website Name 5 | Name: Pop Music 6 | 7 | Live Website URL 8 | Link: https://relaxed-dolphin-fc3551.netlify.app/ 9 | 10 | Code 11 | Replit Link: https://replit.com/@151472/popMusic3DWebsite 12 | 13 | How many hours did you spend on this? 14 | Hours: 2 15 | 16 | How did you build this? 17 | How: Using A-Frame and by following Hack Club’s 3D Website workshop! 18 | -------------------------------------------------------------------------------- /submissions/raghav-karn/README.md: -------------------------------------------------------------------------------- 1 | # Hackaccino Submissions 2 | 3 | > If you're participating in an offline Hackaccino workshop, you don't need to make a pull request. Please ask the organizer for a submission form. 4 | 5 | Create a new directory in this folder with your. Inside the directory, create a markdown file with the name `README.md` and include the following details: 6 | 7 | --- 8 | 9 | ### Author name 10 | 11 | Author: Raghav Karn 12 | 13 | 14 | 15 | ## Website Name 16 | 17 | Name: Dimensions of Blåhaj 18 | 19 | ## Live Website URL 20 | 21 | Link: https://raghav-karn.github.io/blahaj/ 22 | 23 | ## Code 24 | 25 | GitHub Link: https://github.com/raghav-karn/blahaj 26 | 27 | ## How many hours did you spend on this? 28 | 29 | Hours: 7 (ig, my hackatime isnt syncing and vs waka shows 7hr 0min exact; more if you count the learning and experimentations off of vscode) 30 | 31 | ## How did you build this? 32 | 33 | How: Static landing page + THREE.js (had to learn this new thing and imported the required GBL files) 34 | -------------------------------------------------------------------------------- /submissions/scale-of-the-universe/README.md: -------------------------------------------------------------------------------- 1 | # Hackaccino Submissions 2 | 3 | --- 4 | 5 | ### Author name 6 | 7 | Author: Ahsan Moin 8 | 9 | 10 | 11 | ## Website Name 12 | 13 | Name: Scale of The Universe 14 | 15 | ## Live Website URL 16 | 17 | Link: https://ahmoin.github.io/scale-of-the-universe/ 18 | 19 | ## Code 20 | 21 | GitHub Link: https://github.com/ahmoin/scale-of-the-universe 22 | 23 | ## How many hours did you spend on this? 24 | 25 | Hours: 3 26 | 27 | ## How did you build this? 28 | 29 | How: Started with HTML, then added a style tag containing css to to style the page making it ready for three.js implementation. Then used an importmap script to import three.js scripts using the jsDelivr CDN. Then I set logarithmicDepthBuffer to true in the WebGL renderer so it was the scale was logarithmic. Lastly, I added smaller additions like bloom and textures. 30 | -------------------------------------------------------------------------------- /submissions/silhouette/README.md: -------------------------------------------------------------------------------- 1 | # Hackaccino Submissions 2 | 3 | > If you're participating in an offline Hackaccino workshop, you don't need to make a pull request. Please ask the organizer for a submission form. 4 | 5 | Create a new directory in this folder with your. Inside the directory, create a markdown file with the name `README.md` and include the following details: 6 | 7 | --- 8 | 9 | ### Author name 10 | 11 | Author: Simon Hajduk 12 | 13 | 14 | ## Website Name 15 | 16 | Name: silhouette 17 | 18 | ## Live Website URL 19 | 20 | Link: [https://hackclub.com](https://6833f49a99a3a8b2a4042941--shiny-pavlova-e51d42.netlify.app/) 21 | 22 | ## Code 23 | 24 | GitHub Link: [https://github.com/hackclub](https://github.com/Simonhajd/random_projects/tree/main/hackachino/aframe-website) 25 | 26 | ## How many hours did you spend on this? 27 | 28 | Hours: 1 29 | 30 | ## How did you build this? 31 | 32 | How: Following shubhampatilsd's Hack Club tutorial! 33 | 34 | (There is formatting on the links I cant get rid of; the links go to the correct website) 35 | -------------------------------------------------------------------------------- /submissions/snake-Game/README.md: -------------------------------------------------------------------------------- 1 | # Hackaccino Submissions 2 | 3 | > If you're participating in an offline Hackaccino workshop, you don't need to make a pull request. Please ask the organizer for a submission form. 4 | 5 | Create a new directory in this folder with your. Inside the directory, create a markdown file with the name `README.md` and include the following details: 6 | 7 | --- 8 | 9 | ### Author name 10 | 11 | Author: Shaan Yu 12 | 13 | 14 | 15 | ## Website Name 16 | 17 | Name: Snake 18 | 19 | ## Live Website URL 20 | 21 | Link: https://snakegame-hg14.onrender.com 22 | 23 | ## Code 24 | 25 | GitHub Link: https://github.com/DinosaurPotato534/snakeGame 26 | 27 | ## How many hours did you spend on this? 28 | 29 | Hours: 3 30 | 31 | ## How did you build this? 32 | 33 | How: Myself with AFrame docs 34 | -------------------------------------------------------------------------------- /submissions/snowman_in_Japan/README.md: -------------------------------------------------------------------------------- 1 | ### Author name 2 | 3 | Author: NikosDev 4 | 5 | ## Website Name 6 | 7 | Name: Snowman in Japan 8 | 9 | ## Live Website URL 10 | 11 | Link: https://snowman-in-japan.netlify.app/ 12 | 13 | ## Code 14 | 15 | GitHub Link: https://github.com/NikosDev-cmd/snowman-Japan 16 | 17 | ## How many hours did you spend on this? 18 | 19 | Hours: 1 20 | 21 | ## How did you build this? 22 | 23 | How: Using A-frame! 24 | -------------------------------------------------------------------------------- /submissions/speedyfraps/README.md: -------------------------------------------------------------------------------- 1 | ### Author name 2 | 3 | Author: SpeedyGo55 4 | 5 | 6 | 7 | ## Website Name 8 | 9 | Name: Speedyfraps 10 | 11 | ## Live Website URL 12 | 13 | Link: https://speedyfraps.speedygo55.hackclub.app/ 14 | 15 | ## Code 16 | 17 | GitHub Link: https://github.com/SpeedyGo55/speedyfraps 18 | 19 | ## How many hours did you spend on this? 20 | 21 | Hours: 3 22 | 23 | ## How did you build this? 24 | 25 | How: Using A-Frame by following Hack Club’s A-Frame workshop 26 | -------------------------------------------------------------------------------- /submissions/super-mariio/README.md: -------------------------------------------------------------------------------- 1 | Author name 2 | Author: Jayden Noubissi 3 | 4 | Website Name 5 | Name: Super Mario 6 | 7 | Live Website URL 8 | Link: https://incredible-tanuki-7f686e.netlify.app/ 9 | 10 | Code 11 | Replit Link: https://replit.com/@jynytbusiness/ThisWittyBinarytree 12 | 13 | How many hours did you spend on this? 14 | Hours: 1 15 | 16 | How did you build this? 17 | How: Using A-Frame and by following Hack Club’s 3D Website workshop! 18 | -------------------------------------------------------------------------------- /submissions/vibhu0209/3D Shooting Game: -------------------------------------------------------------------------------- 1 | # Hackaccino Submission 2 | 3 | ## Author name 4 | **Author:** Vaibhav Jain (aka vibhu0209) 5 | 6 | ## Website Name 7 | **Name:** 3D Shooting Game 8 | 9 | ## Live Website URL 10 | **Link:** [https://vibhu0209.github.io/3dshootinggame](https://vibhu0209.github.io/3dshootinggame) 11 | 12 | ## Code 13 | **GitHub Link:** [https://github.com/vibhu0209/3dshootinggame](https://github.com/vibhu0209/3dshootinggame) 14 | 15 | ## How many hours did you spend on this? 16 | **Hours:** 4 17 | 18 | ## Workshop Code (if any) 19 | **Code:** N/A 20 | 21 | ## How did you build this? 22 | **How:** I built this game using [A-Frame](https://aframe.io/) for 3D rendering in the browser. The site is developed with basic web technologies—HTML, CSS, and JavaScript—to create an immersive and interactive 3D shooting experience. 23 | -------------------------------------------------------------------------------- /submissions/wkfrap/README.md: -------------------------------------------------------------------------------- 1 | If you're participating in an offline Hackaccino workshop, you don't need to make a pull request. Please ask the organizer for a submission form. 2 | 3 | Create a new directory in this folder with your. Inside the directory, create a markdown file with the name README.md and include the following details: 4 | 5 | Author name 6 | Author: Ryan Guan 7 | 8 | Website Name 9 | Name: Ryan's 3D Website 10 | 11 | Live Website URL 12 | Link: https://delightful-genie-bd4942.netlify.app/ 13 | 14 | Code 15 | GitHub Link: https://github.com/westkorean/hackaccino/blob/main/submissions/wkfrap/index.html 16 | 17 | How many hours did you spend on this? 18 | Hours: 4 19 | 20 | How did you build this? 21 | How: Using Next.js and by following Hack Club’s Next.js workshop! 22 | -------------------------------------------------------------------------------- /submissions/wkfrap/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Ryan's 3D Website 6 | 7 | 8 | 9 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 160 | 161 | 162 | 164 | 165 | 166 | 168 | 169 | 171 | 172 | 174 | 175 | 176 | 177 | 179 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | 226 | 227 | 228 | -------------------------------------------------------------------------------- /submissions/wkfrap/script.js: -------------------------------------------------------------------------------- 1 | // Make text editable on click 2 | document.addEventListener('DOMContentLoaded', function() { 3 | const scene = document.querySelector('a-scene'); 4 | const music = document.querySelector('a-sound'); 5 | const musicButton = document.querySelector('#music-button'); 6 | 7 | scene.addEventListener('loaded', function() { 8 | const boards = document.querySelectorAll('.interactive'); 9 | const emailText = document.querySelector('#email-text'); 10 | 11 | boards.forEach(board => { 12 | board.addEventListener('click', function() { 13 | const currentText = this.getAttribute('text').value; 14 | const newText = prompt('Edit your content:', currentText); 15 | if (newText) { 16 | this.setAttribute('text', 'value', newText); 17 | } 18 | }); 19 | }); 20 | 21 | emailText.addEventListener('click', function() { 22 | const newEmail = prompt('Enter your email:', this.getAttribute('value')); 23 | if (newEmail) { 24 | this.setAttribute('value', newEmail); 25 | } 26 | }); 27 | 28 | // Rotate the ocelot continuously 29 | const ocelot = document.querySelector('a-entity[rotation]'); 30 | let rotationY = 45; // initial rotation 31 | function rotateOcelot() { 32 | rotationY += 1; // Increment rotation 33 | ocelot.setAttribute('rotation', `0 ${rotationY} 0`); // Update rotation 34 | requestAnimationFrame(rotateOcelot); // Call next frame 35 | } 36 | rotateOcelot(); // Start rotating 37 | 38 | // Music control with the button 39 | let isPlaying = true; 40 | musicButton.addEventListener('click', function() { 41 | if (isPlaying) { 42 | music.components.sound.pauseSound(); 43 | this.querySelector('a-text').setAttribute('value', 'Play Music'); 44 | } else { 45 | music.components.sound.playSound(); 46 | this.querySelector('a-text').setAttribute('value', 'Pause Music'); 47 | } 48 | isPlaying = !isPlaying; 49 | }); 50 | }); 51 | }); 52 | // Make the arrow move up and down 53 | const arrow = document.querySelector('a-entity[scale="2 2 2"]'); 54 | let arrowYPosition = -3; 55 | let direction = 1; // 1 for up, -1 for down 56 | 57 | function moveArrow() { 58 | arrowYPosition += direction * 0.01; // Adjust speed as needed 59 | if (arrowYPosition > -2.5) direction = -1; // Reverse direction if above max 60 | if (arrowYPosition < -3.5) direction = 1; // Reverse direction if below min 61 | arrow.setAttribute('position', `-7 ${arrowYPosition} -18`); // Update position 62 | requestAnimationFrame(moveArrow); // Call next frame 63 | } 64 | moveArrow(); // Start moving the arrow 65 | -------------------------------------------------------------------------------- /submissions/wkfrap/style.css: -------------------------------------------------------------------------------- 1 | body { 2 | margin: 0; 3 | padding: 0; 4 | } 5 | .custom-text { 6 | font-family: 'Orbitron', sans-serif; 7 | color: white; /* Default text color */ 8 | } 9 | .interactive { 10 | cursor: pointer; /* Show pointer on hover for interactive elements */ 11 | } 12 | -------------------------------------------------------------------------------- /tailwind.config.ts: -------------------------------------------------------------------------------- 1 | import type { Config } from "tailwindcss"; 2 | 3 | const config: Config = { 4 | content: [ 5 | "./pages/**/*.{js,ts,jsx,tsx,mdx}", 6 | "./components/**/*.{js,ts,jsx,tsx,mdx}", 7 | "./app/**/*.{js,ts,jsx,tsx,mdx}", 8 | ], 9 | theme: { 10 | extend: { 11 | backgroundImage: { 12 | "gradient-radial": "radial-gradient(var(--tw-gradient-stops))", 13 | "gradient-conic": 14 | "conic-gradient(from 180deg at 50% 50%, var(--tw-gradient-stops))", 15 | }, 16 | }, 17 | }, 18 | plugins: [], 19 | }; 20 | export default config; 21 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "lib": ["dom", "dom.iterable", "esnext"], 4 | "allowJs": true, 5 | "skipLibCheck": true, 6 | "strict": true, 7 | "noEmit": true, 8 | "esModuleInterop": true, 9 | "module": "esnext", 10 | "moduleResolution": "bundler", 11 | "resolveJsonModule": true, 12 | "isolatedModules": true, 13 | "jsx": "preserve", 14 | "incremental": true, 15 | "paths": { 16 | "@/*": ["./*"] 17 | } 18 | }, 19 | "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"], 20 | "exclude": ["node_modules"] 21 | } 22 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@alloc/quick-lru@^5.2.0": 6 | version "5.2.0" 7 | resolved "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz" 8 | integrity sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw== 9 | 10 | "@babel/runtime@^7.17.8": 11 | version "7.24.7" 12 | resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.7.tgz" 13 | integrity sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw== 14 | dependencies: 15 | regenerator-runtime "^0.14.0" 16 | 17 | "@isaacs/cliui@^8.0.2": 18 | version "8.0.2" 19 | resolved "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz" 20 | integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== 21 | dependencies: 22 | string-width "^5.1.2" 23 | string-width-cjs "npm:string-width@^4.2.0" 24 | strip-ansi "^7.0.1" 25 | strip-ansi-cjs "npm:strip-ansi@^6.0.1" 26 | wrap-ansi "^8.1.0" 27 | wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" 28 | 29 | "@jridgewell/gen-mapping@^0.3.2": 30 | version "0.3.5" 31 | resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz" 32 | integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== 33 | dependencies: 34 | "@jridgewell/set-array" "^1.2.1" 35 | "@jridgewell/sourcemap-codec" "^1.4.10" 36 | "@jridgewell/trace-mapping" "^0.3.24" 37 | 38 | "@jridgewell/resolve-uri@^3.1.0": 39 | version "3.1.2" 40 | resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz" 41 | integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== 42 | 43 | "@jridgewell/set-array@^1.2.1": 44 | version "1.2.1" 45 | resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz" 46 | integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== 47 | 48 | "@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": 49 | version "1.4.15" 50 | resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz" 51 | integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== 52 | 53 | "@jridgewell/trace-mapping@^0.3.24": 54 | version "0.3.25" 55 | resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz" 56 | integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== 57 | dependencies: 58 | "@jridgewell/resolve-uri" "^3.1.0" 59 | "@jridgewell/sourcemap-codec" "^1.4.14" 60 | 61 | "@next/env@14.2.3": 62 | version "14.2.3" 63 | resolved "https://registry.npmjs.org/@next/env/-/env-14.2.3.tgz" 64 | integrity sha512-W7fd7IbkfmeeY2gXrzJYDx8D2lWKbVoTIj1o1ScPHNzvp30s1AuoEFSdr39bC5sjxJaxTtq3OTCZboNp0lNWHA== 65 | 66 | "@next/swc-darwin-arm64@14.2.3": 67 | version "14.2.3" 68 | resolved "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.3.tgz" 69 | integrity sha512-3pEYo/RaGqPP0YzwnlmPN2puaF2WMLM3apt5jLW2fFdXD9+pqcoTzRk+iZsf8ta7+quAe4Q6Ms0nR0SFGFdS1A== 70 | 71 | "@nodelib/fs.scandir@2.1.5": 72 | version "2.1.5" 73 | resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" 74 | integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== 75 | dependencies: 76 | "@nodelib/fs.stat" "2.0.5" 77 | run-parallel "^1.1.9" 78 | 79 | "@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": 80 | version "2.0.5" 81 | resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" 82 | integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== 83 | 84 | "@nodelib/fs.walk@^1.2.3": 85 | version "1.2.8" 86 | resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" 87 | integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== 88 | dependencies: 89 | "@nodelib/fs.scandir" "2.1.5" 90 | fastq "^1.6.0" 91 | 92 | "@pkgjs/parseargs@^0.11.0": 93 | version "0.11.0" 94 | resolved "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz" 95 | integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== 96 | 97 | "@react-three/fiber@^8.16.8": 98 | version "8.16.8" 99 | resolved "https://registry.npmjs.org/@react-three/fiber/-/fiber-8.16.8.tgz" 100 | integrity sha512-Lc8fjATtvQEfSd8d5iKdbpHtRm/aPMeFj7jQvp6TNHfpo8IQTW3wwcE1ZMrGGoUH+w2mnyS+0MK1NLPLnuzGkQ== 101 | dependencies: 102 | "@babel/runtime" "^7.17.8" 103 | "@types/react-reconciler" "^0.26.7" 104 | "@types/webxr" "*" 105 | base64-js "^1.5.1" 106 | buffer "^6.0.3" 107 | its-fine "^1.0.6" 108 | react-reconciler "^0.27.0" 109 | react-use-measure "^2.1.1" 110 | scheduler "^0.21.0" 111 | suspend-react "^0.1.3" 112 | zustand "^3.7.1" 113 | 114 | "@splinetool/react-spline@^4.0.0": 115 | version "4.0.0" 116 | resolved "https://registry.npmjs.org/@splinetool/react-spline/-/react-spline-4.0.0.tgz" 117 | integrity sha512-FqrV7/K2q998Y0t83QUauQxsifKWAg9CFZoSb64qRuH7IfHkDs5/OgU1ACkg0aTgsEPtFlH+kATQ+8X6MrizHQ== 118 | dependencies: 119 | blurhash "2.0.5" 120 | lodash.debounce "4.0.8" 121 | react-merge-refs "2.1.1" 122 | thumbhash "0.1.1" 123 | 124 | "@splinetool/runtime@*", "@splinetool/runtime@^1.7.4": 125 | version "1.7.4" 126 | resolved "https://registry.npmjs.org/@splinetool/runtime/-/runtime-1.7.4.tgz" 127 | integrity sha512-KYxYaKlBLBwv1ONZ3UyKBqakyqlxFiCwDld1gqpICLDmcXDoygLs42KrhUR6MBfYw0hegcPYw1GDUQOL2yVjhQ== 128 | dependencies: 129 | on-change "^4.0.0" 130 | semver-compare "^1.0.0" 131 | 132 | "@swc/counter@^0.1.3": 133 | version "0.1.3" 134 | resolved "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz" 135 | integrity sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ== 136 | 137 | "@swc/helpers@0.5.5": 138 | version "0.5.5" 139 | resolved "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.5.tgz" 140 | integrity sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A== 141 | dependencies: 142 | "@swc/counter" "^0.1.3" 143 | tslib "^2.4.0" 144 | 145 | "@tweenjs/tween.js@~23.1.1": 146 | version "23.1.2" 147 | resolved "https://registry.npmjs.org/@tweenjs/tween.js/-/tween.js-23.1.2.tgz" 148 | integrity sha512-kMCNaZCJugWI86xiEHaY338CU5JpD0B97p1j1IKNn/Zto8PgACjQx0UxbHjmOcLl/dDOBnItwD07KmCs75pxtQ== 149 | 150 | "@types/howler@^2.2.11": 151 | version "2.2.11" 152 | resolved "https://registry.npmjs.org/@types/howler/-/howler-2.2.11.tgz" 153 | integrity sha512-7aBoUL6RbSIrqKnpEgfa1wSNUBK06mn08siP2QI0zYk7MXfEJAaORc4tohamQYqCqVESoDyRWSdQn2BOKWj2Qw== 154 | 155 | "@types/node-fetch@^2.6.4": 156 | version "2.6.11" 157 | resolved "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.11.tgz" 158 | integrity sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g== 159 | dependencies: 160 | "@types/node" "*" 161 | form-data "^4.0.0" 162 | 163 | "@types/node@*", "@types/node@^20": 164 | version "20.14.2" 165 | resolved "https://registry.npmjs.org/@types/node/-/node-20.14.2.tgz" 166 | integrity sha512-xyu6WAMVwv6AKFLB+e/7ySZVr/0zLCzOa7rSpq6jNwpqOrUbcACDWC+53d4n2QHOnDou0fbIsg8wZu/sxrnI4Q== 167 | dependencies: 168 | undici-types "~5.26.4" 169 | 170 | "@types/node@^18.11.18": 171 | version "18.19.38" 172 | resolved "https://registry.npmjs.org/@types/node/-/node-18.19.38.tgz" 173 | integrity sha512-SApYXUF7si4JJ+lO2o6X60OPOnA6wPpbiB09GMCkQ+JAwpa9hxUVG8p7GzA08TKQn5OhzK57rj1wFj+185YsGg== 174 | dependencies: 175 | undici-types "~5.26.4" 176 | 177 | "@types/prop-types@*": 178 | version "15.7.12" 179 | resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz" 180 | integrity sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q== 181 | 182 | "@types/react-dom@^18": 183 | version "18.3.0" 184 | resolved "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.0.tgz" 185 | integrity sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg== 186 | dependencies: 187 | "@types/react" "*" 188 | 189 | "@types/react-reconciler@^0.26.7": 190 | version "0.26.7" 191 | resolved "https://registry.npmjs.org/@types/react-reconciler/-/react-reconciler-0.26.7.tgz" 192 | integrity sha512-mBDYl8x+oyPX/VBb3E638N0B7xG+SPk/EAMcVPeexqus/5aTpTphQi0curhhshOqRrc9t6OPoJfEUkbymse/lQ== 193 | dependencies: 194 | "@types/react" "*" 195 | 196 | "@types/react-reconciler@^0.28.0": 197 | version "0.28.8" 198 | resolved "https://registry.npmjs.org/@types/react-reconciler/-/react-reconciler-0.28.8.tgz" 199 | integrity sha512-SN9c4kxXZonFhbX4hJrZy37yw9e7EIxcpHCxQv5JUS18wDE5ovkQKlqQEkufdJCCMfuI9BnjUJvhYeJ9x5Ra7g== 200 | dependencies: 201 | "@types/react" "*" 202 | 203 | "@types/react@*", "@types/react@^18": 204 | version "18.3.3" 205 | resolved "https://registry.npmjs.org/@types/react/-/react-18.3.3.tgz" 206 | integrity sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw== 207 | dependencies: 208 | "@types/prop-types" "*" 209 | csstype "^3.0.2" 210 | 211 | "@types/stats.js@*": 212 | version "0.17.3" 213 | resolved "https://registry.npmjs.org/@types/stats.js/-/stats.js-0.17.3.tgz" 214 | integrity sha512-pXNfAD3KHOdif9EQXZ9deK82HVNaXP5ZIF5RP2QG6OQFNTaY2YIetfrE9t528vEreGQvEPRDDc8muaoYeK0SxQ== 215 | 216 | "@types/three@^0.165.0": 217 | version "0.165.0" 218 | resolved "https://registry.npmjs.org/@types/three/-/three-0.165.0.tgz" 219 | integrity sha512-AJK8JZAFNBF0kBXiAIl5pggYlzAGGA8geVYQXAcPCEDRbyA+oEjkpUBcJJrtNz6IiALwzGexFJGZG2yV3WsYBw== 220 | dependencies: 221 | "@tweenjs/tween.js" "~23.1.1" 222 | "@types/stats.js" "*" 223 | "@types/webxr" "*" 224 | fflate "~0.8.2" 225 | meshoptimizer "~0.18.1" 226 | 227 | "@types/webxr@*": 228 | version "0.5.16" 229 | resolved "https://registry.npmjs.org/@types/webxr/-/webxr-0.5.16.tgz" 230 | integrity sha512-0E0Cl84FECtzrB4qG19TNTqpunw0F1YF0QZZnFMF6pDw1kNKJtrlTKlVB34stGIsHbZsYQ7H0tNjPfZftkHHoA== 231 | 232 | abort-controller@^3.0.0: 233 | version "3.0.0" 234 | resolved "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz" 235 | integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== 236 | dependencies: 237 | event-target-shim "^5.0.0" 238 | 239 | agentkeepalive@^4.2.1: 240 | version "4.5.0" 241 | resolved "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz" 242 | integrity sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew== 243 | dependencies: 244 | humanize-ms "^1.2.1" 245 | 246 | ansi-regex@^5.0.1: 247 | version "5.0.1" 248 | resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" 249 | integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== 250 | 251 | ansi-regex@^6.0.1: 252 | version "6.0.1" 253 | resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz" 254 | integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== 255 | 256 | ansi-styles@^4.0.0: 257 | version "4.3.0" 258 | resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" 259 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 260 | dependencies: 261 | color-convert "^2.0.1" 262 | 263 | ansi-styles@^6.1.0: 264 | version "6.2.1" 265 | resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz" 266 | integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== 267 | 268 | any-promise@^1.0.0: 269 | version "1.3.0" 270 | resolved "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz" 271 | integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== 272 | 273 | anymatch@~3.1.2: 274 | version "3.1.3" 275 | resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" 276 | integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== 277 | dependencies: 278 | normalize-path "^3.0.0" 279 | picomatch "^2.0.4" 280 | 281 | arg@^5.0.2: 282 | version "5.0.2" 283 | resolved "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz" 284 | integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== 285 | 286 | asynckit@^0.4.0: 287 | version "0.4.0" 288 | resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" 289 | integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== 290 | 291 | balanced-match@^1.0.0: 292 | version "1.0.2" 293 | resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" 294 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== 295 | 296 | base64-js@^1.3.1, base64-js@^1.5.1: 297 | version "1.5.1" 298 | resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" 299 | integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== 300 | 301 | binary-extensions@^2.0.0: 302 | version "2.3.0" 303 | resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz" 304 | integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== 305 | 306 | blurhash@2.0.5: 307 | version "2.0.5" 308 | resolved "https://registry.npmjs.org/blurhash/-/blurhash-2.0.5.tgz" 309 | integrity sha512-cRygWd7kGBQO3VEhPiTgq4Wc43ctsM+o46urrmPOiuAe+07fzlSB9OJVdpgDL0jPqXUVQ9ht7aq7kxOeJHRK+w== 310 | 311 | brace-expansion@^2.0.1: 312 | version "2.0.1" 313 | resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz" 314 | integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== 315 | dependencies: 316 | balanced-match "^1.0.0" 317 | 318 | braces@^3.0.3, braces@~3.0.2: 319 | version "3.0.3" 320 | resolved "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz" 321 | integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== 322 | dependencies: 323 | fill-range "^7.1.1" 324 | 325 | buffer@^6.0.3: 326 | version "6.0.3" 327 | resolved "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz" 328 | integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== 329 | dependencies: 330 | base64-js "^1.3.1" 331 | ieee754 "^1.2.1" 332 | 333 | busboy@1.6.0: 334 | version "1.6.0" 335 | resolved "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz" 336 | integrity sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA== 337 | dependencies: 338 | streamsearch "^1.1.0" 339 | 340 | camelcase-css@^2.0.1: 341 | version "2.0.1" 342 | resolved "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz" 343 | integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== 344 | 345 | caniuse-lite@^1.0.30001579: 346 | version "1.0.30001632" 347 | resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001632.tgz" 348 | integrity sha512-udx3o7yHJfUxMLkGohMlVHCvFvWmirKh9JAH/d7WOLPetlH+LTL5cocMZ0t7oZx/mdlOWXti97xLZWc8uURRHg== 349 | 350 | chokidar@^3.5.3: 351 | version "3.6.0" 352 | resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz" 353 | integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== 354 | dependencies: 355 | anymatch "~3.1.2" 356 | braces "~3.0.2" 357 | glob-parent "~5.1.2" 358 | is-binary-path "~2.1.0" 359 | is-glob "~4.0.1" 360 | normalize-path "~3.0.0" 361 | readdirp "~3.6.0" 362 | optionalDependencies: 363 | fsevents "~2.3.2" 364 | 365 | client-only@0.0.1: 366 | version "0.0.1" 367 | resolved "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz" 368 | integrity sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA== 369 | 370 | color-convert@^2.0.1: 371 | version "2.0.1" 372 | resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" 373 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 374 | dependencies: 375 | color-name "~1.1.4" 376 | 377 | color-name@~1.1.4: 378 | version "1.1.4" 379 | resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" 380 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 381 | 382 | combined-stream@^1.0.8: 383 | version "1.0.8" 384 | resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" 385 | integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== 386 | dependencies: 387 | delayed-stream "~1.0.0" 388 | 389 | commander@^4.0.0: 390 | version "4.1.1" 391 | resolved "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz" 392 | integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== 393 | 394 | cross-spawn@^7.0.0: 395 | version "7.0.3" 396 | resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" 397 | integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== 398 | dependencies: 399 | path-key "^3.1.0" 400 | shebang-command "^2.0.0" 401 | which "^2.0.1" 402 | 403 | cssesc@^3.0.0: 404 | version "3.0.0" 405 | resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" 406 | integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== 407 | 408 | csstype@^3.0.2: 409 | version "3.1.3" 410 | resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz" 411 | integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== 412 | 413 | debounce@^1.2.1: 414 | version "1.2.1" 415 | resolved "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz" 416 | integrity sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug== 417 | 418 | delayed-stream@~1.0.0: 419 | version "1.0.0" 420 | resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" 421 | integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== 422 | 423 | didyoumean@^1.2.2: 424 | version "1.2.2" 425 | resolved "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz" 426 | integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw== 427 | 428 | dlv@^1.1.3: 429 | version "1.1.3" 430 | resolved "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz" 431 | integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== 432 | 433 | eastasianwidth@^0.2.0: 434 | version "0.2.0" 435 | resolved "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz" 436 | integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== 437 | 438 | emoji-regex@^8.0.0: 439 | version "8.0.0" 440 | resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" 441 | integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== 442 | 443 | emoji-regex@^9.2.2: 444 | version "9.2.2" 445 | resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz" 446 | integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== 447 | 448 | event-target-shim@^5.0.0: 449 | version "5.0.1" 450 | resolved "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz" 451 | integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== 452 | 453 | fast-glob@^3.3.0: 454 | version "3.3.2" 455 | resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz" 456 | integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== 457 | dependencies: 458 | "@nodelib/fs.stat" "^2.0.2" 459 | "@nodelib/fs.walk" "^1.2.3" 460 | glob-parent "^5.1.2" 461 | merge2 "^1.3.0" 462 | micromatch "^4.0.4" 463 | 464 | fastq@^1.6.0: 465 | version "1.17.1" 466 | resolved "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz" 467 | integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== 468 | dependencies: 469 | reusify "^1.0.4" 470 | 471 | fflate@~0.8.2: 472 | version "0.8.2" 473 | resolved "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz" 474 | integrity sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A== 475 | 476 | fill-range@^7.1.1: 477 | version "7.1.1" 478 | resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz" 479 | integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== 480 | dependencies: 481 | to-regex-range "^5.0.1" 482 | 483 | foreground-child@^3.1.0: 484 | version "3.1.1" 485 | resolved "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz" 486 | integrity sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg== 487 | dependencies: 488 | cross-spawn "^7.0.0" 489 | signal-exit "^4.0.1" 490 | 491 | form-data-encoder@1.7.2: 492 | version "1.7.2" 493 | resolved "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-1.7.2.tgz" 494 | integrity sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A== 495 | 496 | form-data@^4.0.0: 497 | version "4.0.0" 498 | resolved "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz" 499 | integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== 500 | dependencies: 501 | asynckit "^0.4.0" 502 | combined-stream "^1.0.8" 503 | mime-types "^2.1.12" 504 | 505 | formdata-node@^4.3.2: 506 | version "4.4.1" 507 | resolved "https://registry.npmjs.org/formdata-node/-/formdata-node-4.4.1.tgz" 508 | integrity sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ== 509 | dependencies: 510 | node-domexception "1.0.0" 511 | web-streams-polyfill "4.0.0-beta.3" 512 | 513 | fsevents@~2.3.2: 514 | version "2.3.3" 515 | resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz" 516 | integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== 517 | 518 | function-bind@^1.1.2: 519 | version "1.1.2" 520 | resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" 521 | integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== 522 | 523 | glob-parent@^5.1.2: 524 | version "5.1.2" 525 | resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" 526 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 527 | dependencies: 528 | is-glob "^4.0.1" 529 | 530 | glob-parent@^6.0.2: 531 | version "6.0.2" 532 | resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" 533 | integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== 534 | dependencies: 535 | is-glob "^4.0.3" 536 | 537 | glob-parent@~5.1.2: 538 | version "5.1.2" 539 | resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" 540 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 541 | dependencies: 542 | is-glob "^4.0.1" 543 | 544 | glob@^10.3.10: 545 | version "10.4.1" 546 | resolved "https://registry.npmjs.org/glob/-/glob-10.4.1.tgz" 547 | integrity sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw== 548 | dependencies: 549 | foreground-child "^3.1.0" 550 | jackspeak "^3.1.2" 551 | minimatch "^9.0.4" 552 | minipass "^7.1.2" 553 | path-scurry "^1.11.1" 554 | 555 | graceful-fs@^4.2.11: 556 | version "4.2.11" 557 | resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" 558 | integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== 559 | 560 | hasown@^2.0.0: 561 | version "2.0.2" 562 | resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz" 563 | integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== 564 | dependencies: 565 | function-bind "^1.1.2" 566 | 567 | howler@^2.2.4: 568 | version "2.2.4" 569 | resolved "https://registry.npmjs.org/howler/-/howler-2.2.4.tgz" 570 | integrity sha512-iARIBPgcQrwtEr+tALF+rapJ8qSc+Set2GJQl7xT1MQzWaVkFebdJhR3alVlSiUf5U7nAANKuj3aWpwerocD5w== 571 | 572 | humanize-ms@^1.2.1: 573 | version "1.2.1" 574 | resolved "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz" 575 | integrity sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ== 576 | dependencies: 577 | ms "^2.0.0" 578 | 579 | ieee754@^1.2.1: 580 | version "1.2.1" 581 | resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" 582 | integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== 583 | 584 | is-binary-path@~2.1.0: 585 | version "2.1.0" 586 | resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" 587 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== 588 | dependencies: 589 | binary-extensions "^2.0.0" 590 | 591 | is-core-module@^2.13.0: 592 | version "2.13.1" 593 | resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz" 594 | integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== 595 | dependencies: 596 | hasown "^2.0.0" 597 | 598 | is-extglob@^2.1.1: 599 | version "2.1.1" 600 | resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" 601 | integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== 602 | 603 | is-fullwidth-code-point@^3.0.0: 604 | version "3.0.0" 605 | resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" 606 | integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== 607 | 608 | is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: 609 | version "4.0.3" 610 | resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" 611 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== 612 | dependencies: 613 | is-extglob "^2.1.1" 614 | 615 | is-number@^7.0.0: 616 | version "7.0.0" 617 | resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" 618 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 619 | 620 | isexe@^2.0.0: 621 | version "2.0.0" 622 | resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" 623 | integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== 624 | 625 | its-fine@^1.0.6: 626 | version "1.2.5" 627 | resolved "https://registry.npmjs.org/its-fine/-/its-fine-1.2.5.tgz" 628 | integrity sha512-fXtDA0X0t0eBYAGLVM5YsgJGsJ5jEmqZEPrGbzdf5awjv0xE7nqv3TVnvtUF060Tkes15DbDAKW/I48vsb6SyA== 629 | dependencies: 630 | "@types/react-reconciler" "^0.28.0" 631 | 632 | jackspeak@^3.1.2: 633 | version "3.4.0" 634 | resolved "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.0.tgz" 635 | integrity sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw== 636 | dependencies: 637 | "@isaacs/cliui" "^8.0.2" 638 | optionalDependencies: 639 | "@pkgjs/parseargs" "^0.11.0" 640 | 641 | jiti@^1.21.0: 642 | version "1.21.6" 643 | resolved "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz" 644 | integrity sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w== 645 | 646 | "js-tokens@^3.0.0 || ^4.0.0": 647 | version "4.0.0" 648 | resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" 649 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 650 | 651 | lilconfig@^2.1.0: 652 | version "2.1.0" 653 | resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz" 654 | integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== 655 | 656 | lilconfig@^3.0.0: 657 | version "3.1.2" 658 | resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz" 659 | integrity sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow== 660 | 661 | lines-and-columns@^1.1.6: 662 | version "1.2.4" 663 | resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" 664 | integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== 665 | 666 | lodash.debounce@4.0.8: 667 | version "4.0.8" 668 | resolved "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz" 669 | integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== 670 | 671 | loose-envify@^1.1.0: 672 | version "1.4.0" 673 | resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" 674 | integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== 675 | dependencies: 676 | js-tokens "^3.0.0 || ^4.0.0" 677 | 678 | lru-cache@^10.2.0: 679 | version "10.2.2" 680 | resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz" 681 | integrity sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ== 682 | 683 | merge2@^1.3.0: 684 | version "1.4.1" 685 | resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" 686 | integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== 687 | 688 | meshoptimizer@~0.18.1: 689 | version "0.18.1" 690 | resolved "https://registry.npmjs.org/meshoptimizer/-/meshoptimizer-0.18.1.tgz" 691 | integrity sha512-ZhoIoL7TNV4s5B6+rx5mC//fw8/POGyNxS/DZyCJeiZ12ScLfVwRE/GfsxwiTkMYYD5DmK2/JXnEVXqL4rF+Sw== 692 | 693 | micromatch@^4.0.4, micromatch@^4.0.5: 694 | version "4.0.7" 695 | resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz" 696 | integrity sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q== 697 | dependencies: 698 | braces "^3.0.3" 699 | picomatch "^2.3.1" 700 | 701 | mime-db@1.52.0: 702 | version "1.52.0" 703 | resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" 704 | integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== 705 | 706 | mime-types@^2.1.12: 707 | version "2.1.35" 708 | resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" 709 | integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== 710 | dependencies: 711 | mime-db "1.52.0" 712 | 713 | minimatch@^9.0.4: 714 | version "9.0.4" 715 | resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz" 716 | integrity sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw== 717 | dependencies: 718 | brace-expansion "^2.0.1" 719 | 720 | "minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.1.2: 721 | version "7.1.2" 722 | resolved "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz" 723 | integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== 724 | 725 | ms@^2.0.0: 726 | version "2.1.3" 727 | resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" 728 | integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== 729 | 730 | mz@^2.7.0: 731 | version "2.7.0" 732 | resolved "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz" 733 | integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== 734 | dependencies: 735 | any-promise "^1.0.0" 736 | object-assign "^4.0.1" 737 | thenify-all "^1.0.0" 738 | 739 | nanoid@^3.3.6, nanoid@^3.3.7: 740 | version "3.3.7" 741 | resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz" 742 | integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== 743 | 744 | next@>=14.2.0, next@14.2.3: 745 | version "14.2.3" 746 | resolved "https://registry.npmjs.org/next/-/next-14.2.3.tgz" 747 | integrity sha512-dowFkFTR8v79NPJO4QsBUtxv0g9BrS/phluVpMAt2ku7H+cbcBJlopXjkWlwxrk/xGqMemr7JkGPGemPrLLX7A== 748 | dependencies: 749 | "@next/env" "14.2.3" 750 | "@swc/helpers" "0.5.5" 751 | busboy "1.6.0" 752 | caniuse-lite "^1.0.30001579" 753 | graceful-fs "^4.2.11" 754 | postcss "8.4.31" 755 | styled-jsx "5.1.1" 756 | optionalDependencies: 757 | "@next/swc-darwin-arm64" "14.2.3" 758 | "@next/swc-darwin-x64" "14.2.3" 759 | "@next/swc-linux-arm64-gnu" "14.2.3" 760 | "@next/swc-linux-arm64-musl" "14.2.3" 761 | "@next/swc-linux-x64-gnu" "14.2.3" 762 | "@next/swc-linux-x64-musl" "14.2.3" 763 | "@next/swc-win32-arm64-msvc" "14.2.3" 764 | "@next/swc-win32-ia32-msvc" "14.2.3" 765 | "@next/swc-win32-x64-msvc" "14.2.3" 766 | 767 | node-domexception@1.0.0: 768 | version "1.0.0" 769 | resolved "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz" 770 | integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ== 771 | 772 | node-fetch@^2.6.7: 773 | version "2.7.0" 774 | resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz" 775 | integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== 776 | dependencies: 777 | whatwg-url "^5.0.0" 778 | 779 | normalize-path@^3.0.0, normalize-path@~3.0.0: 780 | version "3.0.0" 781 | resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" 782 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== 783 | 784 | object-assign@^4.0.1: 785 | version "4.1.1" 786 | resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" 787 | integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== 788 | 789 | object-hash@^3.0.0: 790 | version "3.0.0" 791 | resolved "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz" 792 | integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== 793 | 794 | on-change@^4.0.0: 795 | version "4.0.2" 796 | resolved "https://registry.npmjs.org/on-change/-/on-change-4.0.2.tgz" 797 | integrity sha512-cMtCyuJmTx/bg2HCpHo3ZLeF7FZnBOapLqZHr2AlLeJ5Ul0Zu2mUJJz051Fdwu/Et2YW04ZD+TtU+gVy0ACNCA== 798 | 799 | openai@^4.52.0: 800 | version "4.52.0" 801 | resolved "https://registry.npmjs.org/openai/-/openai-4.52.0.tgz" 802 | integrity sha512-xmiNcdA9QJ5wffHpZDpIsge6AsPTETJ6h5iqDNuFQ7qGSNtonHn8Qe0VHy4UwLE8rBWiSqh4j+iSvuYZSeKkPg== 803 | dependencies: 804 | "@types/node" "^18.11.18" 805 | "@types/node-fetch" "^2.6.4" 806 | abort-controller "^3.0.0" 807 | agentkeepalive "^4.2.1" 808 | form-data-encoder "1.7.2" 809 | formdata-node "^4.3.2" 810 | node-fetch "^2.6.7" 811 | web-streams-polyfill "^3.2.1" 812 | 813 | path-key@^3.1.0: 814 | version "3.1.1" 815 | resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" 816 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== 817 | 818 | path-parse@^1.0.7: 819 | version "1.0.7" 820 | resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" 821 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 822 | 823 | path-scurry@^1.11.1: 824 | version "1.11.1" 825 | resolved "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz" 826 | integrity sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA== 827 | dependencies: 828 | lru-cache "^10.2.0" 829 | minipass "^5.0.0 || ^6.0.2 || ^7.0.0" 830 | 831 | picocolors@^1.0.0: 832 | version "1.0.1" 833 | resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz" 834 | integrity sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew== 835 | 836 | picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: 837 | version "2.3.1" 838 | resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" 839 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== 840 | 841 | pify@^2.3.0: 842 | version "2.3.0" 843 | resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" 844 | integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== 845 | 846 | pirates@^4.0.1: 847 | version "4.0.6" 848 | resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz" 849 | integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== 850 | 851 | postcss-import@^15.1.0: 852 | version "15.1.0" 853 | resolved "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz" 854 | integrity sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew== 855 | dependencies: 856 | postcss-value-parser "^4.0.0" 857 | read-cache "^1.0.0" 858 | resolve "^1.1.7" 859 | 860 | postcss-js@^4.0.1: 861 | version "4.0.1" 862 | resolved "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz" 863 | integrity sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw== 864 | dependencies: 865 | camelcase-css "^2.0.1" 866 | 867 | postcss-load-config@^4.0.1: 868 | version "4.0.2" 869 | resolved "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz" 870 | integrity sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ== 871 | dependencies: 872 | lilconfig "^3.0.0" 873 | yaml "^2.3.4" 874 | 875 | postcss-nested@^6.0.1: 876 | version "6.0.1" 877 | resolved "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz" 878 | integrity sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ== 879 | dependencies: 880 | postcss-selector-parser "^6.0.11" 881 | 882 | postcss-selector-parser@^6.0.11: 883 | version "6.1.0" 884 | resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz" 885 | integrity sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ== 886 | dependencies: 887 | cssesc "^3.0.0" 888 | util-deprecate "^1.0.2" 889 | 890 | postcss-value-parser@^4.0.0: 891 | version "4.2.0" 892 | resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" 893 | integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== 894 | 895 | postcss@^8, postcss@^8.0.0, postcss@^8.2.14, postcss@^8.4.21, postcss@^8.4.23, postcss@>=8.0.9: 896 | version "8.4.38" 897 | resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz" 898 | integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A== 899 | dependencies: 900 | nanoid "^3.3.7" 901 | picocolors "^1.0.0" 902 | source-map-js "^1.2.0" 903 | 904 | postcss@8.4.31: 905 | version "8.4.31" 906 | resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz" 907 | integrity sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ== 908 | dependencies: 909 | nanoid "^3.3.6" 910 | picocolors "^1.0.0" 911 | source-map-js "^1.0.2" 912 | 913 | queue-microtask@^1.2.2: 914 | version "1.2.3" 915 | resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" 916 | integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== 917 | 918 | react-dom@*, "react-dom@^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0", react-dom@^18, react-dom@^18.2.0, "react-dom@>= 16.8 || ^18.2.0", "react-dom@>= 16.8.0 || 18.0.0", react-dom@>=16.13, react-dom@>=18.0: 919 | version "18.3.1" 920 | resolved "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz" 921 | integrity sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw== 922 | dependencies: 923 | loose-envify "^1.1.0" 924 | scheduler "^0.23.2" 925 | 926 | react-fast-marquee@^1.6.4: 927 | version "1.6.4" 928 | resolved "https://registry.npmjs.org/react-fast-marquee/-/react-fast-marquee-1.6.4.tgz" 929 | integrity sha512-LAgvhRmHdqaUQ8R5jCUwzEGFUIjnCCt3T3W8X7j7wF6DWe0SATlpP0JX1V0pp2qX3DYUezmn1Iz5AtRFdL2EWQ== 930 | 931 | react-icons@^5.2.1: 932 | version "5.2.1" 933 | resolved "https://registry.npmjs.org/react-icons/-/react-icons-5.2.1.tgz" 934 | integrity sha512-zdbW5GstTzXaVKvGSyTaBalt7HSfuK5ovrzlpyiWHAFXndXTdd/1hdDHI4xBM1Mn7YriT6aqESucFl9kEXzrdw== 935 | 936 | react-merge-refs@2.1.1: 937 | version "2.1.1" 938 | resolved "https://registry.npmjs.org/react-merge-refs/-/react-merge-refs-2.1.1.tgz" 939 | integrity sha512-jLQXJ/URln51zskhgppGJ2ub7b2WFKGq3cl3NYKtlHoTG+dN2q7EzWrn3hN3EgPsTMvpR9tpq5ijdp7YwFZkag== 940 | 941 | react-next-parallax@^0.1.0: 942 | version "0.1.0" 943 | resolved "https://registry.npmjs.org/react-next-parallax/-/react-next-parallax-0.1.0.tgz" 944 | integrity sha512-cRSDAW3LRUNpPjc2oYlAWZhIuHvgK/2UpmOpT1BV+sE7OgX7H7SPLjkzpje8AWOf8HCW8S3FFDpEyG/i8YhidA== 945 | dependencies: 946 | react-next-tilt "^0.4.3" 947 | 948 | react-next-tilt@^0.4.3: 949 | version "0.4.3" 950 | resolved "https://registry.npmjs.org/react-next-tilt/-/react-next-tilt-0.4.3.tgz" 951 | integrity sha512-zvvYa0g1xRGEAE2q7HHbQ68NCShrbhsKkczQ2IsoQulgXxbEIN9GILzGv4KvqvvCN/cZlSv8k9phpsG27RmSoQ== 952 | 953 | react-parallax-tilt@^1.7.228: 954 | version "1.7.228" 955 | resolved "https://registry.npmjs.org/react-parallax-tilt/-/react-parallax-tilt-1.7.228.tgz" 956 | integrity sha512-dACuwQ+yOk47rjWYCYk1PGqIEA7lQM3x7kVeWrhxXleclyYPEJwdD8/EmjpileaH443dgLmNKHYf8366SjnR8g== 957 | 958 | react-reconciler@^0.27.0: 959 | version "0.27.0" 960 | resolved "https://registry.npmjs.org/react-reconciler/-/react-reconciler-0.27.0.tgz" 961 | integrity sha512-HmMDKciQjYmBRGuuhIaKA1ba/7a+UsM5FzOZsMO2JYHt9Jh8reCb7j1eDC95NOyUlKM9KRyvdx0flBuDvYSBoA== 962 | dependencies: 963 | loose-envify "^1.1.0" 964 | scheduler "^0.21.0" 965 | 966 | react-use-measure@^2.1.1: 967 | version "2.1.1" 968 | resolved "https://registry.npmjs.org/react-use-measure/-/react-use-measure-2.1.1.tgz" 969 | integrity sha512-nocZhN26cproIiIduswYpV5y5lQpSQS1y/4KuvUCjSKmw7ZWIS/+g3aFnX3WdBkyuGUtTLif3UTqnLLhbDoQig== 970 | dependencies: 971 | debounce "^1.2.1" 972 | 973 | react@*, "react@^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0", react@^18, react@^18.0.0, react@^18.2.0, react@^18.3.1, "react@>= 16.8 || ^18.2.0", "react@>= 16.8.0 || 17.x.x || ^18.0.0-0", "react@>= 16.8.0 || 18.0.0", react@>=16.13, react@>=16.8, react@>=17.0, react@>=18.0: 974 | version "18.3.1" 975 | resolved "https://registry.npmjs.org/react/-/react-18.3.1.tgz" 976 | integrity sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ== 977 | dependencies: 978 | loose-envify "^1.1.0" 979 | 980 | read-cache@^1.0.0: 981 | version "1.0.0" 982 | resolved "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz" 983 | integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA== 984 | dependencies: 985 | pify "^2.3.0" 986 | 987 | readdirp@~3.6.0: 988 | version "3.6.0" 989 | resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" 990 | integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== 991 | dependencies: 992 | picomatch "^2.2.1" 993 | 994 | regenerator-runtime@^0.14.0: 995 | version "0.14.1" 996 | resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz" 997 | integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== 998 | 999 | resolve@^1.1.7, resolve@^1.22.2: 1000 | version "1.22.8" 1001 | resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz" 1002 | integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== 1003 | dependencies: 1004 | is-core-module "^2.13.0" 1005 | path-parse "^1.0.7" 1006 | supports-preserve-symlinks-flag "^1.0.0" 1007 | 1008 | reusify@^1.0.4: 1009 | version "1.0.4" 1010 | resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" 1011 | integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== 1012 | 1013 | run-parallel@^1.1.9: 1014 | version "1.2.0" 1015 | resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" 1016 | integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== 1017 | dependencies: 1018 | queue-microtask "^1.2.2" 1019 | 1020 | scheduler@^0.21.0: 1021 | version "0.21.0" 1022 | resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.21.0.tgz" 1023 | integrity sha512-1r87x5fz9MXqswA2ERLo0EbOAU74DpIUO090gIasYTqlVoJeMcl+Z1Rg7WHz+qtPujhS/hGIt9kxZOYBV3faRQ== 1024 | dependencies: 1025 | loose-envify "^1.1.0" 1026 | 1027 | scheduler@^0.23.2: 1028 | version "0.23.2" 1029 | resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz" 1030 | integrity sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ== 1031 | dependencies: 1032 | loose-envify "^1.1.0" 1033 | 1034 | semver-compare@^1.0.0: 1035 | version "1.0.0" 1036 | resolved "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz" 1037 | integrity sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow== 1038 | 1039 | shebang-command@^2.0.0: 1040 | version "2.0.0" 1041 | resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" 1042 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== 1043 | dependencies: 1044 | shebang-regex "^3.0.0" 1045 | 1046 | shebang-regex@^3.0.0: 1047 | version "3.0.0" 1048 | resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" 1049 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== 1050 | 1051 | signal-exit@^4.0.1: 1052 | version "4.1.0" 1053 | resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz" 1054 | integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== 1055 | 1056 | source-map-js@^1.0.2, source-map-js@^1.2.0: 1057 | version "1.2.0" 1058 | resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz" 1059 | integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== 1060 | 1061 | streamsearch@^1.1.0: 1062 | version "1.1.0" 1063 | resolved "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz" 1064 | integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg== 1065 | 1066 | "string-width-cjs@npm:string-width@^4.2.0": 1067 | version "4.2.3" 1068 | resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" 1069 | integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== 1070 | dependencies: 1071 | emoji-regex "^8.0.0" 1072 | is-fullwidth-code-point "^3.0.0" 1073 | strip-ansi "^6.0.1" 1074 | 1075 | string-width@^4.1.0: 1076 | version "4.2.3" 1077 | resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" 1078 | integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== 1079 | dependencies: 1080 | emoji-regex "^8.0.0" 1081 | is-fullwidth-code-point "^3.0.0" 1082 | strip-ansi "^6.0.1" 1083 | 1084 | string-width@^5.0.1, string-width@^5.1.2: 1085 | version "5.1.2" 1086 | resolved "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz" 1087 | integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== 1088 | dependencies: 1089 | eastasianwidth "^0.2.0" 1090 | emoji-regex "^9.2.2" 1091 | strip-ansi "^7.0.1" 1092 | 1093 | "strip-ansi-cjs@npm:strip-ansi@^6.0.1": 1094 | version "6.0.1" 1095 | resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" 1096 | integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== 1097 | dependencies: 1098 | ansi-regex "^5.0.1" 1099 | 1100 | strip-ansi@^6.0.0, strip-ansi@^6.0.1: 1101 | version "6.0.1" 1102 | resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" 1103 | integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== 1104 | dependencies: 1105 | ansi-regex "^5.0.1" 1106 | 1107 | strip-ansi@^7.0.1: 1108 | version "7.1.0" 1109 | resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz" 1110 | integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== 1111 | dependencies: 1112 | ansi-regex "^6.0.1" 1113 | 1114 | styled-jsx@5.1.1: 1115 | version "5.1.1" 1116 | resolved "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz" 1117 | integrity sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw== 1118 | dependencies: 1119 | client-only "0.0.1" 1120 | 1121 | sucrase@^3.32.0: 1122 | version "3.35.0" 1123 | resolved "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz" 1124 | integrity sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA== 1125 | dependencies: 1126 | "@jridgewell/gen-mapping" "^0.3.2" 1127 | commander "^4.0.0" 1128 | glob "^10.3.10" 1129 | lines-and-columns "^1.1.6" 1130 | mz "^2.7.0" 1131 | pirates "^4.0.1" 1132 | ts-interface-checker "^0.1.9" 1133 | 1134 | supports-preserve-symlinks-flag@^1.0.0: 1135 | version "1.0.0" 1136 | resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" 1137 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== 1138 | 1139 | suspend-react@^0.1.3: 1140 | version "0.1.3" 1141 | resolved "https://registry.npmjs.org/suspend-react/-/suspend-react-0.1.3.tgz" 1142 | integrity sha512-aqldKgX9aZqpoDp3e8/BZ8Dm7x1pJl+qI3ZKxDN0i/IQTWUwBx/ManmlVJ3wowqbno6c2bmiIfs+Um6LbsjJyQ== 1143 | 1144 | tailwindcss@^3.4.1: 1145 | version "3.4.4" 1146 | resolved "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.4.tgz" 1147 | integrity sha512-ZoyXOdJjISB7/BcLTR6SEsLgKtDStYyYZVLsUtWChO4Ps20CBad7lfJKVDiejocV4ME1hLmyY0WJE3hSDcmQ2A== 1148 | dependencies: 1149 | "@alloc/quick-lru" "^5.2.0" 1150 | arg "^5.0.2" 1151 | chokidar "^3.5.3" 1152 | didyoumean "^1.2.2" 1153 | dlv "^1.1.3" 1154 | fast-glob "^3.3.0" 1155 | glob-parent "^6.0.2" 1156 | is-glob "^4.0.3" 1157 | jiti "^1.21.0" 1158 | lilconfig "^2.1.0" 1159 | micromatch "^4.0.5" 1160 | normalize-path "^3.0.0" 1161 | object-hash "^3.0.0" 1162 | picocolors "^1.0.0" 1163 | postcss "^8.4.23" 1164 | postcss-import "^15.1.0" 1165 | postcss-js "^4.0.1" 1166 | postcss-load-config "^4.0.1" 1167 | postcss-nested "^6.0.1" 1168 | postcss-selector-parser "^6.0.11" 1169 | resolve "^1.22.2" 1170 | sucrase "^3.32.0" 1171 | 1172 | thenify-all@^1.0.0: 1173 | version "1.6.0" 1174 | resolved "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz" 1175 | integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== 1176 | dependencies: 1177 | thenify ">= 3.1.0 < 4" 1178 | 1179 | "thenify@>= 3.1.0 < 4": 1180 | version "3.3.1" 1181 | resolved "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz" 1182 | integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== 1183 | dependencies: 1184 | any-promise "^1.0.0" 1185 | 1186 | three@^0.165.0, three@>=0.133: 1187 | version "0.165.0" 1188 | resolved "https://registry.npmjs.org/three/-/three-0.165.0.tgz" 1189 | integrity sha512-cc96IlVYGydeceu0e5xq70H8/yoVT/tXBxV/W8A/U6uOq7DXc4/s1Mkmnu6SqoYGhSRWWYFOhVwvq6V0VtbplA== 1190 | 1191 | thumbhash@0.1.1: 1192 | version "0.1.1" 1193 | resolved "https://registry.npmjs.org/thumbhash/-/thumbhash-0.1.1.tgz" 1194 | integrity sha512-kH5pKeIIBPQXAOni2AiY/Cu/NKdkFREdpH+TLdM0g6WA7RriCv0kPLgP731ady67MhTAqrVG/4mnEeibVuCJcg== 1195 | 1196 | to-regex-range@^5.0.1: 1197 | version "5.0.1" 1198 | resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" 1199 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 1200 | dependencies: 1201 | is-number "^7.0.0" 1202 | 1203 | tr46@~0.0.3: 1204 | version "0.0.3" 1205 | resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz" 1206 | integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== 1207 | 1208 | ts-interface-checker@^0.1.9: 1209 | version "0.1.13" 1210 | resolved "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz" 1211 | integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA== 1212 | 1213 | tslib@^2.4.0: 1214 | version "2.6.3" 1215 | resolved "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz" 1216 | integrity sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ== 1217 | 1218 | typescript@^5: 1219 | version "5.4.5" 1220 | resolved "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz" 1221 | integrity sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ== 1222 | 1223 | undici-types@~5.26.4: 1224 | version "5.26.5" 1225 | resolved "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz" 1226 | integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== 1227 | 1228 | util-deprecate@^1.0.2: 1229 | version "1.0.2" 1230 | resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" 1231 | integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== 1232 | 1233 | web-streams-polyfill@^3.2.1: 1234 | version "3.3.3" 1235 | resolved "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz" 1236 | integrity sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw== 1237 | 1238 | web-streams-polyfill@4.0.0-beta.3: 1239 | version "4.0.0-beta.3" 1240 | resolved "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-4.0.0-beta.3.tgz" 1241 | integrity sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug== 1242 | 1243 | webidl-conversions@^3.0.0: 1244 | version "3.0.1" 1245 | resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz" 1246 | integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== 1247 | 1248 | whatwg-url@^5.0.0: 1249 | version "5.0.0" 1250 | resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz" 1251 | integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== 1252 | dependencies: 1253 | tr46 "~0.0.3" 1254 | webidl-conversions "^3.0.0" 1255 | 1256 | which@^2.0.1: 1257 | version "2.0.2" 1258 | resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" 1259 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== 1260 | dependencies: 1261 | isexe "^2.0.0" 1262 | 1263 | "wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": 1264 | version "7.0.0" 1265 | resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" 1266 | integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== 1267 | dependencies: 1268 | ansi-styles "^4.0.0" 1269 | string-width "^4.1.0" 1270 | strip-ansi "^6.0.0" 1271 | 1272 | wrap-ansi@^8.1.0: 1273 | version "8.1.0" 1274 | resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz" 1275 | integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== 1276 | dependencies: 1277 | ansi-styles "^6.1.0" 1278 | string-width "^5.0.1" 1279 | strip-ansi "^7.0.1" 1280 | 1281 | yaml@^2.3.4: 1282 | version "2.4.5" 1283 | resolved "https://registry.npmjs.org/yaml/-/yaml-2.4.5.tgz" 1284 | integrity sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg== 1285 | 1286 | zustand@^3.7.1: 1287 | version "3.7.2" 1288 | resolved "https://registry.npmjs.org/zustand/-/zustand-3.7.2.tgz" 1289 | integrity sha512-PIJDIZKtokhof+9+60cpockVOq05sJzHCriyvaLBmEJixseQ1a5Kdov6fWZfWOu5SK9c+FhH1jU0tntLxRJYMA== 1290 | --------------------------------------------------------------------------------