-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathoutput-98b582ed-dd6d-4b87-91da-2d43d64c409d.json
389 lines (389 loc) · 149 KB
/
output-98b582ed-dd6d-4b87-91da-2d43d64c409d.json
1
2
3
4
5
6
7
8
9
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
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
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
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
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
{
"dd": {
"README.md": {
"chunk-0": {
"filename": "dd/README.md",
"chunk": "# DaDeuce!\n\nWelcome to DaDeuce v1.9! Version 2.0 (with ecommerce?) and 3.0 (NFTs on mainnet!) coming soon.\n\n## How to Play\n\n1. Choose your card by double-clicking on one of the cards in the card section.\n1. Take turns asking yes or no questions to deduce which card your opponent has chosen.\n1. Double-click on any card to flip it and help you remember which cards you've eliminated and which are remaining.\n1. Guess your opponent's card before they guess yours.\n1. The game is over when someone correctly guesses their opponent's card, or is it? No! It's just the end of round one, and you won! But it's not end of the fun – in round two, you have to find out WHERE your opponent is, on their screen, like mental magic.\n1. After each round, you'll have the option to download a \"match up card\" with all the game details, join our mailing list, and even mint your match up as an NFT for access to DaDeuce 3.0 and other VIP community events. So why wait? Start playing DaDeuce now and see how far you can go!\n\n## Overview\n\n> Welcome to DaDeuce, the lightning-fast game that will keep you guessing and leave you wanting more! DaDeuce is a two-player game that's perfect for a nice break or as an icebreaker or team building game. It's designed to be fun, fast-paced, and engaging, so you can play a few rounds and then move on to other activities, or not!\n\nSo what are you waiting for? Get ready to play DaDeuce and see if you have what it takes to come out on top!\n\n- \"Tippi Fifestarr Wins! You guessed _Jack Black_ in 24 clicks, nice.\"\n\nResponsive Screenshot, bro.\n[<img src=\"https://user-images.githubusercontent.com/62179036/225210460-d8238523-914c-46f7-a4c7-0bb162a0a8dd.png\" width=\"105\"/>](https://user-images.githubusercontent.com/62179036/225210460-d8238523-914c-46f7-a4c7-0bb162a0a8dd.png)\n\nThis repository serves as the foundation, with special thanks to [@developedbyed](https://www.youtube.com/watch?v=T63nY70eZF0) for the tailwind and nextjs powerup.\n\nhttps://developers.themoviedb.org/3/getting-started/introduction\n\n## Todo\n\n- [x] layout header, tips, game board, and footer\n- [x] add detailed view\n- [x] detailed view updates to selectedCard\n- [x] force the cards to be squares\n- [x] navbar logo replaced with chosen card\n- [x] add zoom fullscreen view (see contacts page)\n- [x] Click to flip / eliminate cards\n- [ ] start modal with instructions and button\n- [ ] Add music onload with toggle\n- [ ] Sound fx toggle\n- [x] Contact page\n- [ ] GPT kickstart page (web3 donate button)\n- [ ] Create all the 25 cards in DaDeuce Deck\n- [x] responsive tooltips\n- [x] tooltips know state of the users flow in game\n- [ ] (crossing out and eventually replacing the tips to stay relevant)\n- [ ] Allow user choice of two \"Decks\" (easter egg?) on start\n- [x] Use Next/fonts the right way\n- [x] Movie Database API\n- [ ] Totally matches or improves the designs usability and delightfulness\n- [ ] 5 step img2img \"having fun\" or \"winner\" for the chosen card and \"loser\" for the guessed card?\n- [ ] Chat function / rooms\n- [ ] Play against chat gpt (chat function + ai)\n\n## Weird Bugs and Questions\n\n1. sometimes the contacts page fetch gets stuck in an infinite loop, is it because of the useEffect dependency array?\n2. tooltips not showing up when passed as props\n3. whats the best way to organize this mess?\n4. whats the best way to have the tooltips aware of certain state (has examined 2 cards, has chosen a card, has eliminated 3 cards, clicks \"give me a tip\" link, two cards remaining, last card)?\n5. music doesn't work\n6. https://www.npmjs.com/package/eslint-plugin-react-hooks\n\n## NextJS\n\nThis 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"
},
"chunk-1": {
"filename": "dd/README.md",
"chunk": ").\n\n## Getting Started\n\n**check env.sample and rename to .env.local**\nGet an API key from TMDB to enable this version of the app.\n\nFirst, run the development server:\n\n```bash\nnpm run dev\n# or\nyarn dev\n# or\npnpm dev\n```\n\nOpen [http://localhost:3000](http://localhost:3000) with your browser to see the result.\n\nYou can start editing the page by modifying `app/page.js`. The page auto-updates as you edit the file.\n\n[API routes](https://nextjs.org/docs/api-routes/introduction) can be accessed on [http://localhost:3000/api/hello](http://localhost:3000/api/hello). This endpoint can be edited in `pages/api/hello.js`.\n\nThe `pages/api` directory is mapped to `/api/*`. Files in this directory are treated as [API routes](https://nextjs.org/docs/api-routes/introduction) instead of React pages.\n\nThis project uses [`next/font`](https://nextjs.org/docs/basic-features/font-optimization) to automatically optimize and load Inter, a custom Google Font.\n\n## Learn More\n\nTo learn more about Next.js, take a look at the following resources:\n\n- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.\n- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.\n\nYou can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome!\n\n## Deploy on Vercel\n\nThe 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.\n\nCheck out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details.\n\n# Lyrics\n\nWe got what it takes\n\nTo make it through the gates\n\nWe don't need sleep --\n\nJust DaDeuce and drum breaks...\n\n...Dirty beats...style sheets\n\nGame so sleek, it kicks like sneakers on repeat...\n\nOn repeat... on repeat...\n\n## Cat Be Petey\n\nme:\n\n> Hi! I need your help like my new teammates. We are in a meeting where I am sharing my progress.\n> One is my CTO, a senior react developer who is familiar with NextJS and Tailwind. He will ask me to paste into here different sections of the code to help me debug. The other is my Chief Creative, who will give me general advice from her perspective, humorous encouragement, and also write a clear and engaging paragraph introduction for the landing page, and also write a \"how to play\" section of on-brand copy.\n\n> Here's me:\n> I'm building a game called DaDeuce. Right now it has a navbar with a logo in it that I want to update with the players chosen card in the first phase. So here's how it works now (later I will make the TMDB api call an easter egg):\n\n> page loads a navbar, tooltips section (struggling with giving this access to the state of the app correctly), and a responsive cards section. The top of the cards section is a detailed view of whichever card is selected (single click) and the bottom part is 20 of the top famous people in an api call to TMDB/people. It's just a placeholder for a set of wacky cards and their associated metadata that I'll put in as a final touch. At the bottom are some links to different pages, and below that is a few buttons like sound on, music on, detailed help, and zoom mode.\n\n> Any two people who want to play can just go to my site, and then on their phone or computer play with each other. They'll need to be in the same room, phone call, or whatever communication method they want. It's for friends or new friends to have fun together for a short time. First each player chooses a card by double-clicking one, and then they take turns asking yes no questions to deduce who the other player chose. They can double-click on any card to flip it, to help them remember which cards they've eliminated and which are remaining. At the end, when you've guessed their card (or just whenever there is only one card remaining), you'll get a modal pop-up that asks if you got it right (yes/no/i'm confused, three checkboxes), and lets them download a \"match up card\" with who they were, how many turns it took, and who they guessed. They can also choose to Mint this results page as an NFT, which will get them access to DaDeuce 3.0 and a special chat channel in our"
},
"chunk-2": {
"filename": "dd/README.md",
"chunk": " Discord and some VIP community events.\n\n> Right now I've got a responsive navbar with static logo, working details view (whatever they click shows up here, responsively), working card page (shuffles the cards randomly onto the page and double click flips the cards with a nice blur effect), and some basic links to a contact page and about page and kickstart page. At the very bottom are some buttons that don't quite work, I'll need help with that.\n\nPetey:\n\n**writes most of the text at the top of this readme**.\nDoesn't help with the coding yet, only the Creative offers help.\n\nMe: _pastes in the current to-do list and bugs and questions from this readme_\n\nPetey:\n"
}
},
"app": {
"AudioPlayer.jsx": {
"chunk-0": {
"filename": "dd/app/AudioPlayer.jsx",
"chunk": "// build an audio player that can play, pause, and mute/unmute audio\n//\n// 1. Create a new component called AudioPlayer\n\n// 2. Import useState from react\n// 3. Create a state variable called isMuted and set it to true\n// 4. Create a function called toggleMute that will toggle the isMuted state variable\n// 5. Create a div that will display the text \"Music off 🎵\" if isMuted is true and \"Music on 🎶\" if isMuted is false\n// 6. Create an audio element that will loop if isMuted is false\n// 7. Create a source element that will use the src property from the songs array and the selectedSongIndex state variable\n// 8. Import the AudioPlayer component into the page component\n// 9. Render the AudioPlayer component\n// 10. Pass the songs and selectedSongIndex state variables to the AudioPlayer component\n// 11. Pass the toggleMute function to the Nav component\n// 12. Call the toggleMute function when the Music off 🎵 or Music on 🎶 div is clicked\n"
}
},
"CONSTANTS.js": {
"chunk-0": {
"filename": "dd/app/CONSTANTS.js",
"chunk": "// file of constants, such as locations of images, and the songs\n\n// Path: app/CONSTANTS.js\n// Compare this snippet from app/songs.js:\n// export a component that is an object called Constants\n// that has a property called songs, which is an array of objects\n// each object has a name and src property\nexport const Constants = {\n songs: [\n {\n name: \"song0\",\n src: \"./audio/song0.mp3\",\n },\n {\n name: \"song1\",\n src: \"/music/song1.mp3\",\n },\n {\n name: \"song2\",\n src: \"/music/song2.mp3\",\n },\n ],\n sfx: [\n \"../audio/da.mp3\",\n \"../audio/due.mp3\",\n \"../audio/ce.mp3\",\n \"../audio/yeahthatsright.mp3\",\n ],\n};\n"
}
},
"about": {
"head.jsx": {
"chunk-0": {
"filename": "dd/app/about/head.jsx",
"chunk": "export default function Head() {\n return (\n <>\n <title>About DaDeuce!</title>\n <meta name=\"description\" content=\"DaDeuce! the game\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n </>\n );\n}\n"
}
},
"loading.jsx": {
"chunk-0": {
"filename": "dd/app/about/loading.jsx",
"chunk": "export default function Loading() {\n return (\n <div>\n <h1>Loading Your Page</h1>\n <p className=\"text-4xl\">Loading...</p>\n </div>\n );\n}\n"
}
},
"page.jsx": {
"chunk-0": {
"filename": "dd/app/about/page.jsx",
"chunk": "import { Inter, Gorditas } from \"next/font/google\";\n\nconst gorditas = Gorditas({\n subsets: [\"latin\"],\n weight: [\"400\", \"700\"],\n variable: \"--font-gorditas\",\n});\n\nconst inter = Inter({ subsets: [\"latin\"] });\nexport default function About() {\n return (\n <div>\n <h1>About Page</h1>\n <p className={`${inter.className} text-slate-200`}>\n Page is a girl, somebody that has a funny story to tell about me.\n </p>\n </div>\n );\n}\n"
}
}
},
"api": {
"hello": {
"route.js": {
"chunk-0": {
"filename": "dd/app/api/hello/route.js",
"chunk": "export async function GET(request) {\n return new Response('Hello, Next.js!')\n}\n"
}
}
}
},
"appContext.jsx": {
"chunk-0": {
"filename": "dd/app/appContext.jsx",
"chunk": "\"use client\";\nimport React from \"react\";\n\nconst AppContext = React.createContext();\nexport default AppContext;\n"
}
},
"cardDetail.jsx": {
"chunk-0": {
"filename": "dd/app/cardDetail.jsx",
"chunk": "\"use client\";\nimport Image from \"next/image\";\nimport placeholder from \"../public/images/dadeuce.png\";\n\nexport default function CardDetail({ selectedCard, cardSelected }) {\n // render the card detail\n let imagePath = \"http://image.tmdb.org/t/p/original\";\n return (\n <div className=\"h-full\">\n {/* display details of selected card, larger image, person name, knownfor, other stats */}\n {!cardSelected ? (\n <div className=\"flex flex-col sm:flex-row p-0.5 justify-around\">\n <div className=\"relative flex justify-center border-2 border-slate-400 rounded-xl p-1 m-1 gap-1 max-h-40\">\n <Image\n src={placeholder}\n // src={chosenCard} // image of selected card\n alt={`image of a DaDeuce Placehold who is known for holding a place`}\n className=\"object-contain rounded-md w-1/3 sm:w-36\"\n height={500}\n width={500}\n />\n\n <div className=\"text-sm md:text-xl border-red-500 rounded-md p-1 bg-red-200\">\n DaDeuce Placehold is known for **holding a place**, click a card\n to see more details here, double click once you've chosen your\n character!\n </div>\n </div>\n </div>\n ) : cardSelected ? (\n <div className=\"flex flex-col sm:flex-row p-0.5 justify-around\">\n {/* this renders only after a card has been selected */}\n <div className=\"relative flex justify-around border-2 border-slate-400 rounded-xl p-1 gap-1 m-1 max-h-40\">\n <Image\n src={imagePath + selectedCard.profile_path}\n // src={chosenCard} // image of selected card\n alt={`image of ${selectedCard.name} who is known for ${selectedCard.known_for[0].name}`}\n className=\"object-contain rounded-md w-1/3 sm:w-36 \"\n height={420}\n width={420}\n />\n <div className=\"text-sm md:text-xl border-red-500 rounded-md p-1 bg-red-200\">\n You've clicked on <b> {selectedCard.name}, </b>{\" \"}\n <b>\n {\" \"}\n {selectedCard.known_for[0].name\n ? selectedCard.known_for[0].name\n : selectedCard.known_for[0].title}\n </b>{\" \"}\n is something they are known for!\n <div className=\"text-base\">\n {selectedCard.gender == \"1\" ? \"Her\" : \"His\"} popularity is{\" \"}\n {selectedCard.popularity}\n </div>\n </div>\n </div>\n </div>\n ) : (\n <div>\n what the heck is going on here? <br />\n </div>\n )}\n </div>\n );\n}\n"
}
},
"cards copy.jsx": {
"chunk-0": {
"filename": "dd/app/cards copy.jsx",
"chunk": "\"use client\";\nimport { useState, useEffect } from \"react\";\nimport Person from \"./person\";\n\nexport default function Cards({\n chosenCard,\n setChosenCard,\n selectedCard,\n cardSelected,\n setSelectedCard,\n setCardSelected,\n totalClicks,\n setTotalClicks,\n isNewLevel,\n setNewLevel,\n cardsRemaining,\n}) {\n const [cardChosen, setCardChosen] = useState(false);\n\n const [people, setPeople] = useState([]);\n const [gotPeople, setGotPeople] = useState(false);\n\n let imagePath = \"http://image.tmdb.org/t/p/original\";\n const asyncFetch = async () => {\n const peopleRequestPath = `https://api.themoviedb.org/3/person/popular?api_key=${process.env.NEXT_PUBLIC_TMDB_API_KEY}`;\n // const config = await fetch(\n // `https://api.themoviedb.org/3/configuration?api_key=${process.env.NEXT_PUBLIC_TMDB_API_KEY}`\n // );\n\n const data = await fetch(peopleRequestPath);\n const res = await data.json();\n res.results = res.results.sort((a, b) => 0.5 - Math.random());\n setGotPeople(true);\n return res;\n };\n\n const handleClick = (person) => {\n setSelectedCard(person);\n setCardSelected(true);\n };\n\n const cardChooser = (person) => {\n setChosenCard(person);\n setCardChosen(true);\n console.log(\"player chose card: \", person.name);\n };\n\n const handleDoubleClick = (person) => {\n console.log(\"is this a new level? \", isNewLevel);\n if (isNewLevel) {\n if (!cardChosen) {\n cardChooser(person);\n } else {\n console.log(\n \"card already chosen, so this causes the secondary effect of doubleclicking, namely flipping the card\"\n );\n }\n if (cardsRemaining === 1) {\n handleLevelComplete(); // this assumes handleLevelComplete is a function that is defined somewhere in the Page component\n } else {\n setNewLevel(false); // this is the first click, so set isNewLevel to false\n }\n }\n };\n // selectedCard on single click for display in hero details\n // chosenCard on double click for display in the logo, chosenCard happens only once at the beginning\n // flippedCards is an array of cards that have been flipped, and should be hidden, when there is two remaining, update tooltips\n\n useEffect(() => {\n asyncFetch().then((res) => {\n setPeople(res.results);\n });\n }, []);\n\n useEffect(() => {\n setTotalClicks(totalClicks + 1);\n console.log(\"total clicks: \", totalClicks);\n }, [selectedCard]);\n\n useEffect(() => {}, [cardSelected]);\n\n useEffect(() => {}, [chosenCard]);\n\n return !gotPeople ? (\n <div className=\"flex justify-center text-3xl text-slate-200 bg-slate-600 rounded-2xl m-2 p-2\">\n Loading DaDeuce Cards... Please wait for the asyncFetch to complete\n </div>\n ) : !cardSelected ? (\n <div className=\"flex flex-col\">\n <div className=\"border-slate-200 border-2 rounded-lg px-1 mx-1 sm:px-2 sm:mx-2 sm:py-1 lg:px-5\">\n <div className=\"grid grid-cols-5\">\n {people.map((person) => (\n <div key={person.id} className=\"m-1 sm:px-1 md:px-3 xl:px-5\">\n <Person\n handleClick={handleClick}\n handleDoubleClick={handleDoubleClick}\n isNewLevel={isNewLevel}\n className=\"flex\"\n person={person}\n setChosenCard={setChosenCard}\n // name={person.name}\n // known_for={\n // person.known_for[0].name\n // ? person.known_for[0].name\n // : person.known_for[0].title\n // }\n // profile_path={person.profile_path}\n imagePath={imagePath}\n />\n </div>\n ))}\n </div>\n </div>\n </div>\n ) : (\n <div className=\"flex flex-col\">\n <div className=\"border-slate-200 border-2 rounded-lg px-5 mx-5\">\n <div className=\"grid grid-cols-5\">\n {people.map((person) => (\n <div key={person.id} className=\"m-1\">\n <Person\n // onClick={() => {\n // setChosenCard"
},
"chunk-1": {
"filename": "dd/app/cards copy.jsx",
"chunk": "(person);\n // console.log(\"hello\", chosenCard);\n // }}\n handleClick={handleClick}\n handleDoubleClick={handleDoubleClick}\n person={person}\n setChosenCard={setChosenCard}\n // name={person.name}\n // known_for={\n // person.known_for[0].name\n // ? person.known_for[0].name\n // : person.known_for[0].title\n // }\n // profile_path={person.profile_path}\n imagePath={imagePath}\n />\n </div>\n ))}\n </div>\n </div>\n </div>\n );\n}\n"
}
},
"cards.jsx": {
"chunk-0": {
"filename": "dd/app/cards.jsx",
"chunk": "\"use client\";\nimport { useState, useEffect } from \"react\";\nimport Person from \"./person\";\nimport { Constants } from \"./CONSTANTS\";\nimport { useSound } from \"use-sound\";\n\nexport default function Cards({\n chosenCard,\n setChosenCard,\n selectedCard,\n cardSelected,\n setSelectedCard,\n setCardSelected,\n totalClicks,\n setTotalClicks,\n isNewLevel,\n setNewLevel,\n cardsRemaining,\n setCardsRemaining,\n handleLevelComplete,\n setSfxIndex,\n sfxIndex,\n}) {\n const [cardChosen, setCardChosen] = useState(false);\n const [flippedCards, setFlippedCards] = useState([]); // [person1, person2\n const [people, setPeople] = useState([]);\n const [gotPeople, setGotPeople] = useState(false);\n\n let imagePath = \"http://image.tmdb.org/t/p/original\";\n const asyncFetch = async () => {\n const peopleRequestPath = `https://api.themoviedb.org/3/person/popular?api_key=${process.env.NEXT_PUBLIC_TMDB_API_KEY}`;\n\n const data = await fetch(peopleRequestPath);\n const res = await data.json();\n res.results = res.results.sort((a, b) => 0.5 - Math.random());\n setGotPeople(true);\n return res;\n };\n\n const handleClick = (person) => {\n setSelectedCard(person);\n setCardSelected(true);\n setTotalClicks(totalClicks + 1);\n click();\n };\n\n const cardChooser = (person) => {\n setChosenCard(person);\n setCardChosen(true);\n setTotalClicks(totalClicks + 1);\n choose();\n console.log(\"player chose card: \", person.name);\n };\n\n let currentSFX = Constants.sfx;\n // onclick move the currentSFX index 0 item to the end of the array\n\n const [flip] = useSound(currentSFX[1], { volume: 0.5 });\n const [click] = useSound(currentSFX[2], { volume: 0.5 });\n const [choose] = useSound(currentSFX[3], { volume: 0.5 });\n\n const handleDoubleClick = (person) => {\n console.log(\"is this a new level? \", isNewLevel);\n if (isNewLevel) {\n if (!cardChosen) {\n cardChooser(person);\n setNewLevel(false); // this is the first click, so set isNewLevel to false\n } else {\n console.log(\n \"card already chosen, so this causes the secondary effect of doubleclicking, namely flipping the card\"\n );\n }\n } else {\n console.log(\n \"not a new level, so this is a double click, reducing cards remaining\",\n cardsRemaining\n );\n setSfxIndex(0);\n flip();\n setFlippedCards((prev) => {\n const newFlippedCards = prev.includes(person.name)\n ? prev.filter((card) => card !== person.name)\n : [...prev, person.name];\n return newFlippedCards;\n });\n\n if (cardsRemaining === 1) {\n handleLevelComplete(person); // this assumes handleLevelComplete is a function that is defined somewhere in the Page component\n } else {\n setCardsRemaining(cardsRemaining - 1);\n setNewLevel(false); // this is the first click, so set isNewLevel to false\n }\n }\n };\n // selectedCard on single click for display in hero details\n // chosenCard on double click for display in the logo, chosenCard happens only once at the beginning\n // flippedCards is an array of cards that have been flipped, and should be hidden, when there is two remaining, update tooltips\n\n useEffect(() => {\n asyncFetch().then((res) => {\n setPeople(res.results);\n });\n }, []);\n\n useEffect(() => {}, [cardSelected]);\n\n useEffect(() => {}, [chosenCard]);\n\n return !gotPeople ? (\n <div className=\"flex justify-center text-3xl text-slate-200 bg-slate-600 rounded-2xl m-2 p-2\">\n Loading DaDeuce Cards... Please wait for the asyncFetch to complete\n </div>\n ) : !cardSelected ? (\n <div className=\"flex flex-col\">\n <div className=\"border-slate-200 border-2 rounded-lg px-1 mx-1 sm:px-2 sm:mx-2 sm:py-1 lg:px-5\">\n <div className=\"grid grid-cols-5\">\n {people.map((person) => (\n <div\n key={person"
},
"chunk-1": {
"filename": "dd/app/cards.jsx",
"chunk": ".id}\n className=\"flex flex-row items-center justify-center m-1\"\n >\n <Person\n handleClick={handleClick}\n handleDoubleClick={handleDoubleClick}\n isNewLevel={isNewLevel}\n className=\"flex\"\n person={person}\n setChosenCard={setChosenCard}\n imagePath={imagePath}\n />\n </div>\n ))}\n </div>\n </div>\n </div>\n ) : (\n <div className=\"flex flex-col\">\n <div className=\"border-slate-200 border-2 rounded-lg px-1 mx-1 sm:px-2 sm:mx-2 sm:py-1 lg:px-5\">\n <div className=\"grid grid-cols-5\">\n {people.map((person) => (\n <div\n key={person.id}\n className=\"flex flex-row items-center justify-center m-1\"\n >\n <Person\n // onClick={() => {\n // setChosenCard(person);\n // console.log(\"hello\", chosenCard);\n // }}\n handleClick={handleClick}\n handleDoubleClick={handleDoubleClick}\n person={person}\n setChosenCard={setChosenCard}\n // name={person.name}\n // known_for={\n // person.known_for[0].name\n // ? person.known_for[0].name\n // : person.known_for[0].title\n // }\n // profile_path={person.profile_path}\n imagePath={imagePath}\n flippedCards={flippedCards}\n setFlippedCards={setFlippedCards}\n />\n </div>\n ))}\n </div>\n </div>\n </div>\n );\n}\n"
}
},
"cards1.jsx": {
"chunk-0": {
"filename": "dd/app/cards1.jsx",
"chunk": "// \"use client\";\n// import { useState } from \"react\";\nimport Person from \"./person\";\nimport Image from \"next/image\";\n\nexport default async function Cards() {\n // const config = await fetch(\n // `https://api.themoviedb.org/3/configuration?api_key=${process.env.TMDB_API_KEY}`\n // );\n\n // const configo = await config.json();\n // console.log(configo.images.base_url);\n // const profSizes = configo.images.profile_sizes;\n // console.log(profSizes[1]);\n // const imagePath = `${configo.images.base_url}w185`;\n const imagePath = \"http://image.tmdb.org/t/p/original\";\n const data = await fetch(\n `https://api.themoviedb.org/3/person/popular?api_key=${process.env.TMDB_API_KEY}`\n );\n const res = await data.json();\n res.results = res.results.sort((a, b) => 0.5 - Math.random());\n // console.log(res);\n\n // const [selectedCard, setSelectedCard] = useState(\"\");\n // state for which card was clicked\n\n // update the hero image to show clicked\n return (\n // map through the res and return 25 names\n <div className=\"flex flex-col\">\n {/* display details of selected card, larger image, person name, knownfor */}\n <div className=\"relative flex justify-center border-2 border-slate-400 rounded-xl p-2 gap-20 my-1 mx-5\">\n <Image\n src={imagePath + res.results[0].profile_path}\n // src={chosenCard} // image of selected card\n alt={`image of ${res.results[0].name}`}\n className=\"object-contain rounded-md\"\n height={128}\n width={128}\n />\n\n <div className=\"flex relative gap-2 border-red-500 rounded-md p-1 bg-red-200\">\n You've clicked on {res.results[0].name}\n </div>\n </div>\n <div className=\"border-slate-200 border-2 rounded-lg px-5 mx-5\">\n <div className=\"grid grid-cols-5\">\n {res.results.map((person) => (\n <div className=\"m-1\">\n <Person\n className=\"flex gap-2\"\n name={person.name}\n known_for={\n person.known_for[0].name\n ? person.known_for[0].name\n : person.known_for[0].title\n }\n profile_path={person.profile_path}\n imagePath={imagePath}\n />\n </div>\n ))}\n </div>\n </div>\n </div>\n );\n}\n"
}
},
"cardsContact.jsx": {
"chunk-0": {
"filename": "dd/app/cardsContact.jsx",
"chunk": "\"use client\";\nimport { useState, useEffect } from \"react\";\nimport Person from \"./person\";\nimport Image from \"next/image\";\nimport Link from \"next/link\";\n\n// export default async function Cards() {\nexport default function Cards() {\n // this is what's breaking it, sincie\n const [chosenCard, setChosenCard] = useState({});\n const [people, setPeople] = useState([]);\n const [gotPeople, setGotPeople] = useState(false);\n const [cardChosen, setCardChosen] = useState(false);\n\n const imagePath = \"http://image.tmdb.org/t/p/original\";\n const asyncFetch = async () => {\n const peopleRequestPath = `https://api.themoviedb.org/3/person/popular?api_key=${process.env.NEXT_PUBLIC_TMDB_API_KEY}`;\n const data = await fetch(peopleRequestPath);\n const res = await data.json();\n res.results = res.results.sort((a, b) => 0.5 - Math.random());\n setGotPeople(true);\n return res;\n };\n\n const handleClick = (person) => {\n console.log(\"single clicked \", person);\n };\n\n const handleDoubleClick = (person) => {\n console.log(\"double clicked \", person);\n setChosenCard(person);\n setCardChosen(true);\n };\n // selectedCard on single click for display in hero details\n // chosenCard on double click for display in the logo, chosenCard happens only once at the beginning\n // flippedCards is an array of cards that have been flipped, and should be hidden, when there is two remaining, update tooltips\n\n useEffect(() => {\n console.log(\"people effect: \", people);\n asyncFetch().then((res) => {\n console.log(\"people: \", people);\n setPeople(res.results);\n });\n }, []);\n\n useEffect(() => {\n console.log(\"chosen card effect: \", chosenCard);\n }, [chosenCard]);\n\n // console.log(res);\n\n // const [selectedCard, setSelectedCard] = useState(\"\");\n // state for which card was clicked\n\n // update the hero image to show clicked\n return (\n // cards element is the parent of the card detail and the card grid\n // cards begins with a div\n\n !gotPeople ? (\n <div className=\"text-slate-200 text-2xl\">\n Loading people... {asyncFetch}\n </div>\n ) : (\n <div className=\"flex flex-col\">\n <div className=\"border-slate-200 border-2 rounded-lg px-5 mx-5\">\n <div className=\"grid grid-cols-5\">\n {people.map((person) => (\n <div className=\"m-1 p-0.5 rounded-md bg-green-300 w-full text-xs content-center\">\n {/* <Link href=\"/contact/[id]\" as={`/contact/${person.id}`}> */}\n <Link\n href={`/contact/${person.id}`}\n className=\"bg-green-300 bg-opacity-30\"\n >\n <Person\n handleClick={handleClick}\n handleDoubleClick={handleDoubleClick}\n person={person}\n setChosenCard={setChosenCard}\n imagePath={imagePath}\n />\n <div className=\"text-xs mx-1 text-center object-contain truncate\">\n {person.name}\n </div>\n </Link>\n </div>\n ))}\n </div>\n </div>\n </div>\n )\n );\n}\n"
}
},
"contact": {
"[person]": {
"page.jsx": {
"chunk-0": {
"filename": "dd/app/contact/[person]/page.jsx",
"chunk": "import Image from \"next/image\";\nimport Link from \"next/link\";\n\nexport default async function ContactPerson({ params }) {\n const { person } = params;\n const imagePath = \"http://image.tmdb.org/t/p/original\";\n const data = await fetch(\n `https://api.themoviedb.org/3/person/${person}?api_key=${process.env.NEXT_PUBLIC_TMDB_API_KEY}`\n );\n const res = await data.json();\n console.log(res);\n return (\n <div className=\"p-2 content-center\">\n <h1 className=\"text-2xl text-slate-200 m-2 p-2 bg-slate-600 rounded-md\">\n <b>{res.name}...</b>\n {res.also_known_as.map((aka) => {\n return \" aka \" + aka;\n })}\n </h1>\n\n <div className=\"flex flex-col md:flex-row w-full p-2 bg-black bg-opacity-10 rounded-lg justify-center items-center\">\n <Image\n src={imagePath + res.profile_path}\n alt={`image of ${res.name}`}\n className=\"object-contain rounded-lg p-1 justify-self-center\"\n height={256}\n width={256}\n priority\n />\n <div className=\"flex flex-col\">\n <div className=\"text-xl text-slate-300 my-2 p-2\">{res.biography}</div>\n <div className=\"text-xl flex-col text-slate-200 my-2 p-2\">\n birthed:{\" \"}\n <b>\n {res.birthday} in the land of {res.place_of_birth}{\" \"}\n </b>\n </div>\n </div>\n </div>\n <Link\n href=\"/contact\"\n className=\"bg-green-500 inline-block my-2 py-2 px-4 rounded-lg\"\n >\n Return\n </Link>\n </div>\n );\n}\n"
}
}
},
"page.jsx": {
"chunk-0": {
"filename": "dd/app/contact/page.jsx",
"chunk": "// import Tooltips from \"../tipsbox\";\nimport Cards from \"../cardsContact\";\n\nexport default async function ContactPerson() {\n return (\n <div className=\"flex flex-col-reverse md:flex-row justify-center\">\n <Cards className=\"items-center\" />\n {/* <Tooltips\n tips={[\n \"Click a person to see their contact info\",\n \"no celebrities were harmed in the making of this game\",\n ]}\n /> */}\n </div>\n );\n}\n"
}
}
},
"error.jsx": {
"chunk-0": {
"filename": "dd/app/error.jsx",
"chunk": "\"use client\";\n\nexport default function Error({ error, reset }) {\n return (\n <div className=\"rounded-xl text-slate-500 bg-slate-300\">\n this is donked up: {error.message}\n <button\n className=\"flex border-solid bg-slate-500 rounded text-slate-50 hover:bg-slate-300 active:bg-slate-700\"\n onClick={() => reset()}\n >\n reload\n </button>\n </div>\n );\n}\n"
}
},
"globals.css": {
"chunk-0": {
"filename": "dd/app/globals.css",
"chunk": "@tailwind base;\n@tailwind components;\n@tailwind utilities;\n"
}
},
"head.jsx": {
"chunk-0": {
"filename": "dd/app/head.jsx",
"chunk": "export default function Head() {\n return (\n <>\n <title>DaDeuce! the game</title>\n\n <meta name=\"description\" content=\"DaDeuce! the game\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n {/* import favicon */}\n <link rel=\"icon\" href=\"favicondd.ico\" />\n </>\n );\n}\n"
}
},
"helpTips.jsx": {
"chunk-0": {
"filename": "dd/app/helpTips.jsx",
"chunk": "\"use client\";\n\nexport default function HelpTips() {\n return (\n <button\n onClick={() => alert(\"help tips coming soon!\")}\n className=\"z-10 text-slate-200 bg-slate-600 rounded-lg hover:bg-slate-300 transition-colors duration-200 p-1\"\n >\n Help Tips! 🤩\n </button>\n );\n}\n"
}
},
"layout.js": {
"chunk-0": {
"filename": "dd/app/layout.js",
"chunk": "// \"use client\";\nimport \"./globals.css\";\nimport Image from \"next/image\";\nimport Head from \"./head\";\nimport { Gorditas, Oswald, Frijole, Island_Moments } from \"next/font/google\";\n\nexport const gorditas = Gorditas({\n subsets: [\"latin\"],\n weight: [\"400\", \"700\"],\n variable: \"--font-gorditas\",\n});\n\nexport const oswald = Oswald({\n subsets: [\"latin\"],\n weight: [\"200\", \"400\", \"700\"],\n variable: \"--font-oswald\",\n});\n\nexport const frijole = Frijole({\n subsets: [\"latin\"],\n weight: [\"400\"],\n variable: \"--font-frijole\",\n});\n\nexport const islandMoments = Island_Moments({\n subsets: [\"latin\"],\n weight: [\"400\"],\n variable: \"--font-island-moments\",\n color: \"text-slate-100\",\n});\n\nexport default function RootLayout({ children }) {\n return (\n <html lang=\"en\">\n <Head />\n <body className=\"bg-slate-900\">\n {children /* render the children */}\n </body>\n </html>\n );\n}\n"
}
},
"musicplayer.jsx": {
"chunk-0": {
"filename": "dd/app/musicplayer.jsx",
"chunk": "import React, { useState } from \"react\";\n\nexport default function MusicPlayer({ songs, selectedSongIndex }) {\n const [isMuted, setIsMuted] = useState(true);\n\n const toggleMute = () => {\n setIsMuted((prevIsMuted) => !prevIsMuted);\n console.log(songs[selectedSongIndex].src);\n };\n\n return (\n <div className=\"flex items-center\">\n <div onClick={toggleMute}>{isMuted ? \"Music off 🎵\" : \"Music on 🎶\"}</div>\n <audio loop={!isMuted}>\n <source src={songs[selectedSongIndex].src} type=\"audio/mpeg\" />\n </audio>\n </div>\n );\n}\n"
}
},
"musicplayer2.jsx": {
"chunk-0": {
"filename": "dd/app/musicplayer2.jsx",
"chunk": "\"use client\";\nimport { useState, useRef } from \"react\";\nimport { FaVolumeUp, FaVolumeMute } from \"react-icons/fa\";\n\nexport default function MusicPlayer({ src }) {\n const [isMuted, setIsMuted] = useState(true);\n const audioRef = useRef(null);\n // console.log(src);\n const toggleMute = () => {\n const newIsMuted = !isMuted;\n setIsMuted(newIsMuted);\n audioRef.current.muted = newIsMuted;\n };\n\n return (\n <div className=\"flex items-center\">\n <audio ref={audioRef} loop>\n {/* <source src=\"/music/frozen.mp3\" type=\"audio/mpeg\" /> */}\n {/* <source src={frozen} /> */}\n <source src={src} type=\"audio/mpeg\" />\n </audio>\n {isMuted ? (\n <button\n className=\"z-10 text-slate-100 bg-slate-400 rounded-lg hover:bg-slate-300 p-1\"\n onClick={toggleMute}\n >\n music on\n <FaVolumeMute />\n </button>\n ) : (\n <button\n className=\"z-10 text-slate-100 bg-slate-400 rounded-lg hover:bg-slate-300 p-1\"\n onClick={toggleMute}\n >\n music off\n <FaVolumeUp className=\" items-center\" />\n </button>\n )}\n </div>\n );\n}\n"
}
},
"nav copy.jsx": {
"chunk-0": {
"filename": "dd/app/nav copy.jsx",
"chunk": "\"use client\";\nimport { gorditas } from \"./layout\";\nimport Image from \"next/image\";\nimport { useEffect, useState } from \"react\";\nimport useSound from \"use-sound\";\nimport { Constants } from \"./CONSTANTS\";\n\nexport default function Nav({\n chosenCard,\n isNewLevel,\n setNewLevel,\n isMuted,\n setIsMuted,\n selectedSongIndex,\n setSelectedSongIndex,\n songs,\n}) {\n const imagePath = `http://image.tmdb.org/t/p/original`;\n\n let image = imagePath + chosenCard.profile_path;\n useEffect(() => {\n image = imagePath + chosenCard.profile_path;\n }, [chosenCard]);\n let cardChosen = chosenCard.name != \"none\" ? true : false;\n let currentSFX = Constants.sfx;\n // onclick move the currentSFX index 0 item to the end of the array\n const [sfxIndex, setSfxIndex] = useState(0);\n const [play] = useSound(currentSFX[sfxIndex], { volume: 0.5 });\n\n const handleSound = () => {\n play();\n setSfxIndex((prevIndex) => (prevIndex + 1) % currentSFX.length);\n };\n\n return (\n <nav\n className={`border-solid ${\n isNewLevel ? \"bg-slate-600\" : \"bg-slate-500\"\n } rounded text-slate-100`}\n >\n <div className=\"flex space-x-5 justify-between items-center mx-5 mb-2 h-14\">\n {/* conditionally render logo or chosen card */}\n {!cardChosen ? (\n <Image\n src=\"/favicondd.ico\"\n alt=\"dadeuce favicon\"\n width={55}\n height={55}\n className=\"rounded-full items-center p-1\"\n />\n ) : cardChosen ? (\n <div className=\"overflow-hidden aspect-square h-14 p-1\">\n <Image\n src={image}\n alt={`chosen card ${chosenCard.name}`}\n width={500}\n height={500}\n className=\"rounded-3xl w-full h-full object-cover\"\n />\n </div>\n ) : (\n <div>\n what the heck is going on here? <br />\n </div>\n )}\n {/* display the dadeuce title, onhover underline, onclick unmute the audio and make a sound */}\n\n <h1\n onClick={handleSound}\n className={`text-2xl ${gorditas.className} font-bold hover:underline`}\n >\n DaDeuce!?\n </h1>\n\n <Image\n src=\"/images/dadeuce.png\"\n alt=\"dadeuce logo\"\n width={55}\n height={55}\n className=\"rounded items-center p-2 flex\"\n onClick={() => {\n setNewLevel(true);\n }}\n />\n </div>\n </nav>\n );\n}\n"
}
},
"nav.jsx": {
"chunk-0": {
"filename": "dd/app/nav.jsx",
"chunk": "\"use client\";\nimport { gorditas } from \"./layout\";\nimport Image from \"next/image\";\nimport { useEffect, useState } from \"react\";\nimport useSound from \"use-sound\";\nimport { Constants } from \"./CONSTANTS\";\n\nexport default function Nav({\n chosenCard,\n isNewLevel,\n setNewLevel,\n selectedSongIndex,\n setSelectedSongIndex,\n songs,\n isMuted,\n setSfxIndex,\n sfxIndex,\n}) {\n const imagePath = `http://image.tmdb.org/t/p/original`;\n\n let image = imagePath + chosenCard.profile_path;\n useEffect(() => {\n image = imagePath + chosenCard.profile_path;\n }, [chosenCard]);\n let cardChosen = chosenCard.name != \"none\" ? true : false;\n // let currentSFX = Constants.sfx;\n // // onclick move the currentSFX index 0 item to the end of the array\n // const [sfxIndex, setSfxIndex] = useState(0);\n // const [play] = useSound(currentSFX[sfxIndex], { volume: 0.5 });\n\n // const handleSound = () => {\n // play();\n // setSfxIndex((prevIndex) => (prevIndex + 1) % currentSFX.length);\n // };\n\n let currentSFX = Constants.sfx;\n\n const [play] = useSound(currentSFX[sfxIndex], { volume: isMuted ? 0 : 0.69 });\n\n const handleSound = () => {\n play();\n setSfxIndex((prevIndex) => (prevIndex + 1) % currentSFX.length);\n };\n\n return (\n <nav\n className={`border-solid ${\n isNewLevel ? \"bg-slate-600\" : \"bg-slate-500\"\n } rounded text-slate-100`}\n >\n <div className=\"flex space-x-5 justify-between items-center mx-5 mb-2 h-14\">\n {/* conditionally render logo or chosen card */}\n {!cardChosen ? (\n <Image\n src=\"/favicondd.ico\"\n alt=\"dadeuce favicon\"\n width={55}\n height={55}\n className=\"rounded-full items-center p-1\"\n />\n ) : cardChosen ? (\n <div className=\"overflow-hidden aspect-square h-14 p-1\">\n <Image\n src={image}\n alt={`chosen card ${chosenCard.name}`}\n width={500}\n height={500}\n className=\"rounded-3xl w-full h-full object-cover\"\n />\n </div>\n ) : (\n <div>\n what the heck is going on here? <br />\n </div>\n )}\n {/* display the dadeuce title, onhover underline, onclick unmute the audio and make a sound */}\n\n <h1\n onClick={handleSound}\n className={`text-2xl ${gorditas.className} font-bold hover:underline`}\n >\n DaDeuce!?\n </h1>\n\n <Image\n src=\"/images/dadeuce.png\"\n alt=\"dadeuce logo\"\n width={55}\n height={55}\n className=\"rounded items-center p-2 flex\"\n onClick={() => {\n setNewLevel(true);\n }}\n />\n </div>\n </nav>\n );\n}\n"
}
},
"page.jsx": {
"chunk-0": {
"filename": "dd/app/page.jsx",
"chunk": "\"use client\";\nimport Nav from \"./nav\";\n// import Tooltips from \"./tooltips\";\nimport Cards from \"./cards\";\nimport { useState, useEffect } from \"react\";\nimport HelpTips from \"./helpTips\";\nimport ZoomSelection from \"./zoomSelection\";\nimport { gorditas, oswald, frijole, islandMoments } from \"./layout\";\nimport Tipsbox from \"./tipsbox\";\nimport CardDetail from \"./cardDetail\";\nimport { Constants } from \"./CONSTANTS\";\nimport Sound from \"./sound\";\n\nexport default function Home() {\n // music related state\n const [selectedSongIndex, setSelectedSongIndex] = useState(0);\n const [isMuted, setIsMuted] = useState(true);\n const [sfxIndex, setSfxIndex] = useState(0);\n\n const [selectedCard, setSelectedCard] = useState({});\n const [cardSelected, setCardSelected] = useState(false);\n const [cardsRemaining, setCardsRemaining] = useState(20);\n const [isNewLevel, setNewLevel] = useState(true);\n const [currentLevel, setCurrentLevel] = useState(0);\n const [totalClicks, setTotalClicks] = useState(0);\n const [finalCard, setFinalCard] = useState({});\n\n const songs = Constants.songs;\n\n console.log(songs);\n const [chosenCard, setChosenCard] = useState({\n name: \"none\",\n id: 0,\n profile_path: \"\",\n description: \"dadeuce\",\n });\n\n useEffect(() => {\n console.log(\"chosenCard\", chosenCard);\n }, [chosenCard.name]);\n\n const handleLevelComplete = (selectedCard) => {\n console.log(\"level complete:\", currentLevel);\n setFinalCard(selectedCard);\n resetCards();\n setCurrentLevel(currentLevel + 1);\n setSelectedSongIndex(selectedSongIndex + 1);\n setCardsRemaining(20);\n };\n\n const resetCards = () => {\n // reset the cards to the initial state\n setNewLevel(true);\n console.log(\"first\");\n };\n\n useEffect(() => {\n console.log(\"use effect new level?:\", isNewLevel);\n }, [isNewLevel]);\n\n const tips = [\n // \"take turns asking yes/no questions to dadeuce!\",\n \"give me a tip, send to wingbird.eth\",\n ];\n\n // useEffect(() => {\n // document.title = `DaDeuce! ${totalClicks} | ${chosenCard.name} | ${cardsRemaining}`;\n // }, [totalClicks]);\n\n return (\n <>\n {/* <Heads totalClicks={totalClicks} /> */}\n\n <main>\n <Nav\n chosenCard={chosenCard}\n isNewLevel={isNewLevel}\n setNewLevel={setNewLevel}\n isMuted={isMuted}\n setIsMuted={setIsMuted}\n selectedSongIndex={selectedSongIndex}\n songs={songs}\n sfxIndex={sfxIndex}\n setSfxIndex={setSfxIndex}\n />\n <div className=\"flex flex-col md:flex-row justify-center content-center items-center\">\n <div className=\"w-full h-full\">\n {/* <AudioPlayer /> */}\n <div className=\"border-2 border-slate-300 rounded-xl p-1 m-1\">\n {\" \"}\n <div\n className=\"float-right text-slate-200 px-1 hover:text-slate-400 cursor-pointer\"\n onClick={() => {\n alert(\"tooltips in progress \");\n }}\n >\n (d)\n </div>\n <Tipsbox\n chosenCard={chosenCard}\n tips={tips}\n cardsRemaining={cardsRemaining}\n finalCard={finalCard}\n />\n </div>\n </div>\n <CardDetail selectedCard={selectedCard} cardSelected={cardSelected} />\n </div>\n <Cards\n chosenCard={chosenCard}\n setChosenCard={setChosenCard}\n className=\"items-center\"\n selectedCard={selectedCard}\n setSelectedCard={setSelectedCard}\n cardSelected={cardSelected}\n setCardSelected={setCardSelected}\n cardsRemaining={cardsRemaining}\n setCardsRemaining={setCardsRemaining}\n handleLevelComplete={handleLevelComplete}\n totalClicks={totalClicks}\n setTotalClicks={setTotalClicks}\n isNewLevel={isNewLevel}\n setNewLevel={setNewLevel}\n setSfxIndex={setSfxIndex}\n sfxIndex={sfxIndex}\n />\n </main>\n <footer className=\"my-2 text-center transition-colors duration-200\">\n <div className=\"\">\n <ul className=\"flex flex-row justify-between px-5 sm:text-xl\">\n "
},
"chunk-1": {
"filename": "dd/app/page.jsx",
"chunk": " <li className=\"flex\">\n <a className=\"text-blue-200 hover:bg-blue-600\" href=\"/\">\n Home\n </a>\n </li>\n <li\n className={\n gorditas.className + \" text-slate-300 hover:bg-slate-500 flex\"\n }\n >\n <a href=\"/about\">About</a>\n </li>\n <li\n className={`${islandMoments.className} text-slate-300 hover:bg-slate-600 text-2xl`}\n >\n <a href=\"/contact\">Contact</a>\n </li>\n <li\n className={\n frijole.className + \" flex text-slate-300 hover:bg-slate-700\"\n }\n >\n <a href=\"/kickstart\">Kickstart</a>\n </li>\n </ul>\n </div>\n <div className=\"flex flex-row justify-around\">\n <ZoomSelection />\n <HelpTips />\n {/* <button className=\"z-10 text-slate-200 bg-slate-600 rounded-lg hover:bg-slate-300 transition-colors duration-200 p-1\">\n Sound on/off 🔈slider\n </button> */}\n <Sound\n isMuted={isMuted}\n setIsMuted={setIsMuted}\n sfx={Constants.sfx[sfxIndex]}\n />\n </div>\n </footer>\n </>\n );\n}\n"
}
},
"person.jsx": {
"chunk-0": {
"filename": "dd/app/person.jsx",
"chunk": "\"use client\";\n\nimport Link from \"next/link\";\nimport Image from \"next/image\";\nimport { useEffect, useState } from \"react\";\n\nexport default function Person({\n person,\n imagePath,\n handleClick,\n handleDoubleClick,\n flippedCards,\n setFlippedCards,\n}) {\n const { name, known_for, profile_path } = person;\n const image = imagePath + profile_path;\n\n const [isCardClicked, setCardClicked] = useState(false);\n\n const cardClickHandler = () => {\n setCardClicked(!isCardClicked);\n handleClick(person);\n };\n\n return (\n <div className=\"bg-slate-700 bg-opacity-30 rounded-md md:h-24 md:w-24 justify-around md:p-0.5 xl:p-1\">\n {/* <h1>{name}</h1> */}\n {/* <p>oh, from {known_for}, right?</p> */}\n {/* <Link className=\"relative h-16\" href={`/about`}> */}\n <div className=\"relative flex align-middle justify-center overflow-hidden aspect-square \">\n <Image\n src={image}\n alt={`image of ${name}`}\n width={360}\n height={360}\n className={`w-full h-full object-cover my-0.5 rounded-3xl focus:outline-none focus:ring focus:ring-violet-300 hover:border-solid active:border-red-700 hover:border-2 duration-500 ${\n flippedCards && flippedCards.includes(name) ? \"blur-sm\" : \"\"\n }`}\n // className=\"absolute h-full w-full object-cover rounded-md\"\n onClick={() => cardClickHandler()}\n onDoubleClick={() => handleDoubleClick(person)}\n />\n </div>\n </div>\n );\n}\n"
}
},
"sound.jsx": {
"chunk-0": {
"filename": "dd/app/sound.jsx",
"chunk": "// sound.jsx\nimport React, { useState } from \"react\";\nimport useSound from \"use-sound\";\n\nconst Sound = ({ isMuted, setIsMuted, sfx }) => {\n const [play] = useSound(sfx, { volume: isMuted ? 0 : 0.69 });\n const [sliderValue, setSliderValue] = useState(69); // Initial volume: 0.69 * 100\n\n const handleVolumeChange = (event) => {\n const volume = event.target.value / 100;\n setSliderValue(event.target.value);\n setIsMuted(volume);\n };\n\n return (\n <div className=\"flex items-center\">\n <button\n className=\"z-10 text-slate-200 bg-slate-600 rounded-lg hover:bg-slate-300 transition-colors duration-200 p-1\"\n onClick={() => {\n play();\n setIsMuted((prevMuted) => !prevMuted);\n }}\n >\n {isMuted ? \"🔈\" : \"🔊\"}\n </button>\n <input\n type=\"range\"\n min=\"0\"\n max=\"69\"\n value={sliderValue}\n className=\"w-24 ml-2 bg-slate-600 rounded-lg\"\n onChange={handleVolumeChange}\n />\n </div>\n );\n};\n\nexport default Sound;\n"
}
},
"tipsbox.jsx": {
"chunk-0": {
"filename": "dd/app/tipsbox.jsx",
"chunk": "\"use client\";\n\nimport { useEffect } from \"react\";\n\nexport default function Tipsbox({\n chosenCard,\n tips,\n cardsRemaining,\n finalCard,\n}) {\n // perhaps cardsRemaining should be an array of cards remaining\n // and when we want to show the number of cards remaining, we can just do cardsRemaining.length\n // and when we want to display the final cards, we can just output the cardsRemaining and forget about finalCard\n\n console.log(\"array?\", tips);\n let isChosen = chosenCard.name != \"none\" ? true : false;\n useEffect(() => {\n console.log(cardsRemaining);\n }, [cardsRemaining]);\n return (\n <div className=\"max-h-40\">\n {!isChosen ? (\n // for each tip in tips, render a tooltip\n <div\n className={`bg-slate-200 bg-opacity-20 rounded-xl items-center text-center p-1 mx-4 gap-1 m-1 flex flex-col-reverse`}\n >\n <div>\n {tips.map((tip) => (\n <div\n key={tip}\n className=\"text-xs md:text-base lg:text-lg text-slate-200 md:p-0.5 lg:p-1\"\n >\n <div>{tip}</div>\n </div>\n ))}\n </div>\n <div\n className={`text-xs md:text-sm lg:text-base text-slate-200 md:p-0.5 lg:p-1`}\n >\n 🤩 double click to choose a card. begin! 🤩\n </div>\n <div\n className={`text-xs md:text-sm lg:text-base text-slate-200 md:p-0.5 lg:p-1`}\n >\n 😉 single click to view. welcome to dadeuce! 🤩\n </div>\n </div>\n ) : isChosen ? (\n <div\n className={`bg-slate-200 bg-opacity-20 rounded-xl items-center text-center p-1 mx-4 gap-1 m-1`}\n >\n {/* <h1 className=\"font-inter\"> - make the tooltips :star_struck: 🤩 </h1> */}\n <div\n className={`text-xs md:text-base lg:text-lg text-slate-200 p-0.5 md:p-1 lg:p-2`}\n >\n ❤️🔥 click card to examine, ask y/n questions! ❤️🔥\n </div>\n <div\n className={`text-xs md:text-base lg:text-lg text-slate-200 p-0.5 md:p-1 lg:p-2`}\n >\n 🤩 now, you can double click to \"flip\" a card. Eliminate! 🤩\n </div>\n <div className=\"text-xs md:text-base lg:text-lg text-slate-200 p-0.5 md:p-1 lg:p-2\">\n {cardsRemaining >= 18\n ? `🤩 You've chosen ${chosenCard.name}, see? 🤩`\n : cardsRemaining >= 14\n ? `${cardsRemaining} cards remaining`\n : cardsRemaining >= 10\n ? `${tips ? tips[0] : \"no tips yet\"}`\n : cardsRemaining >= 5\n ? `\"you're getting close, player!\" - dadeuce`\n : cardsRemaining >= 2\n ? `\"LAST CARDS! DID YOU DADEUCE?!`\n : cardsRemaining === 0\n ? `${finalCard}🤩 you da deuce! 🤩`\n : `🤩 you da deuce! 🤩`}\n </div>\n </div>\n ) : (\n <div>\n what the heck is going on? <br />\n <br />\n </div>\n )}\n </div>\n );\n}\n"
}
},
"tooltips1.jsx": {
"chunk-0": {
"filename": "dd/app/tooltips1.jsx",
"chunk": "export default async function Tooltips() {\n const data = await fetch(\n `https://api.themoviedb.org/3/person/popular?api_key=${process.env.TMDB_API_KEY}`\n );\n\n const res = await data.json();\n return (\n <div\n className={`bg-slate-200 bg-opacity-20 rounded-xl items-center text-center p-1 mx-4 gap-2 m-1`}\n >\n {/* <h1 className=\"font-inter\"> - make the tooltips :star_struck: 🤩 </h1> */}\n <div className={`text-sm md:text-xl text-slate-200 p-1`}>\n ❤️🔥 {res.results[0].name} is really hot right now for{\" \"}\n {res.results[0].known_for_department.toLowerCase()} in{\" \"}\n {res.results[0].known_for[0].title\n ? res.results[0].known_for[0].title\n : res.results[0].known_for[0].name}{\" \"}\n ❤️🔥\n </div>\n <div className={`text-sm md:text-xl text-slate-200 p-1`}>\n 🤩 {res.results[1].name} is almost as popular, for{\" \"}\n {res.results[1].known_for_department.toLowerCase()} the{\" \"}\n {res.results[1].known_for[0].title\n ? res.results[1].known_for[0].title\n : res.results[1].known_for[0].name}{\" \"}\n 🤩\n </div>\n </div>\n );\n}\n"
}
},
"zoomSelection.jsx": {
"chunk-0": {
"filename": "dd/app/zoomSelection.jsx",
"chunk": "\"use client\";\n\nexport default function ZoomSelection() {\n return (\n <button\n onClick={() =>\n alert(\n \"zoom selection coming soon! for a preview, click the 'contact' button in the bottom nav bar between 'about' and 'kickstart'\"\n )\n }\n className=\"z-10 text-slate-100 bg-slate-400 rounded-lg hover:bg-slate-300 transition-colors duration-200 p-1\"\n >\n Zoom selection on/off 👓\n </button>\n );\n}\n"
}
}
},
"jsconfig.json": {
"chunk-0": {
"filename": "dd/jsconfig.json",
"chunk": "{\n \"compilerOptions\": {\n \"paths\": {\n \"@/*\": [\"./*\"]\n }\n }\n}\n"
}
},
"next.config.js": {
"chunk-0": {
"filename": "dd/next.config.js",
"chunk": "/** @type {import('next').NextConfig} */\nconst nextConfig = {\n experimental: {\n appDir: true,\n },\n images: {\n domains: [\"image.tmdb.org\"],\n },\n};\n\nmodule.exports = nextConfig;\n"
}
},
"package-lock.json": {
"chunk-0": {
"filename": "dd/package-lock.json",
"chunk": "{\n \"name\": \"dd\",\n \"version\": \"0.1.0\",\n \"lockfileVersion\": 2,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"name\": \"dd\",\n \"version\": \"0.1.0\",\n \"dependencies\": {\n \"next\": \"13.2.4\",\n \"react\": \"18.2.0\",\n \"react-dom\": \"18.2.0\",\n \"react-icons\": \"^4.8.0\",\n \"use-sound\": \"^4.0.1\"\n },\n \"devDependencies\": {\n \"autoprefixer\": \"^10.4.14\",\n \"postcss\": \"^8.4.21\",\n \"tailwindcss\": \"^3.2.7\"\n }\n },\n \"node_modules/@next/env\": {\n \"version\": \"13.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@next/env/-/env-13.2.4.tgz\",\n \"integrity\": \"sha512-+Mq3TtpkeeKFZanPturjcXt+KHfKYnLlX6jMLyCrmpq6OOs4i1GqBOAauSkii9QeKCMTYzGppar21JU57b/GEA==\"\n },\n \"node_modules/@next/swc-android-arm-eabi\": {\n \"version\": \"13.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-13.2.4.tgz\",\n \"integrity\": \"sha512-DWlalTSkLjDU11MY11jg17O1gGQzpRccM9Oes2yTqj2DpHndajrXHGxj9HGtJ+idq2k7ImUdJVWS2h2l/EDJOw==\",\n \"cpu\": [\n \"arm\"\n ],\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">= 10\"\n }\n },\n \"node_modules/@next/swc-android-arm64\": {\n \"version\": \"13.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@next/swc-android-arm64/-/swc-android-arm64-13.2.4.tgz\",\n \"integrity\": \"sha512-sRavmUImUCf332Gy+PjIfLkMhiRX1Ez4SI+3vFDRs1N5eXp+uNzjFUK/oLMMOzk6KFSkbiK/3Wt8+dHQR/flNg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">= 10\"\n }\n },\n \"node_modules/@next/swc-darwin-arm64\": {\n \"version\": \"13.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.2.4.tgz\",\n \"integrity\": \"sha512-S6vBl+OrInP47TM3LlYx65betocKUUlTZDDKzTiRDbsRESeyIkBtZ6Qi5uT2zQs4imqllJznVjFd1bXLx3Aa6A==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">= 10\"\n }\n },\n \"node_modules/@next/swc-darwin-x64\": {\n \"version\": \"13.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.2.4.tgz\",\n \"integrity\": \"sha512-a6LBuoYGcFOPGd4o8TPo7wmv5FnMr+Prz+vYHopEDuhDoMSHOnC+v+Ab4D7F0NMZkvQjEJQdJS3rqgFhlZmKlw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"optional\": true,\n"
},
"chunk-1": {
"filename": "dd/package-lock.json",
"chunk": " \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">= 10\"\n }\n },\n \"node_modules/@next/swc-freebsd-x64\": {\n \"version\": \"13.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@next/swc-freebsd-x64/-/swc-freebsd-x64-13.2.4.tgz\",\n \"integrity\": \"sha512-kkbzKVZGPaXRBPisoAQkh3xh22r+TD+5HwoC5bOkALraJ0dsOQgSMAvzMXKsN3tMzJUPS0tjtRf1cTzrQ0I5vQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">= 10\"\n }\n },\n \"node_modules/@next/swc-linux-arm-gnueabihf\": {\n \"version\": \"13.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-13.2.4.tgz\",\n \"integrity\": \"sha512-7qA1++UY0fjprqtjBZaOA6cas/7GekpjVsZn/0uHvquuITFCdKGFCsKNBx3S0Rpxmx6WYo0GcmhNRM9ru08BGg==\",\n \"cpu\": [\n \"arm\"\n ],\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">= 10\"\n }\n },\n \"node_modules/@next/swc-linux-arm64-gnu\": {\n \"version\": \"13.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.2.4.tgz\",\n \"integrity\": \"sha512-xzYZdAeq883MwXgcwc72hqo/F/dwUxCukpDOkx/j1HTq/J0wJthMGjinN9wH5bPR98Mfeh1MZJ91WWPnZOedOg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">= 10\"\n }\n },\n \"node_modules/@next/swc-linux-arm64-musl\": {\n \"version\": \"13.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.2.4.tgz\",\n \"integrity\": \"sha512-8rXr3WfmqSiYkb71qzuDP6I6R2T2tpkmf83elDN8z783N9nvTJf2E7eLx86wu2OJCi4T05nuxCsh4IOU3LQ5xw==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">= 10\"\n }\n },\n \"node_modules/@next/swc-linux-x64-gnu\": {\n \"version\": \"13.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.2.4.tgz\",\n \"integrity\": \"sha512-Ngxh51zGSlYJ4EfpKG4LI6WfquulNdtmHg1yuOYlaAr33KyPJp4HeN/tivBnAHcZkoNy0hh/SbwDyCnz5PFJQQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">= 10\"\n }\n },\n \"node_modules/@next/swc-linux-x64-musl\": {\n \"version\": \"13.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@next"
},
"chunk-2": {
"filename": "dd/package-lock.json",
"chunk": "/swc-linux-x64-musl/-/swc-linux-x64-musl-13.2.4.tgz\",\n \"integrity\": \"sha512-gOvwIYoSxd+j14LOcvJr+ekd9fwYT1RyMAHOp7znA10+l40wkFiMONPLWiZuHxfRk+Dy7YdNdDh3ImumvL6VwA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">= 10\"\n }\n },\n \"node_modules/@next/swc-win32-arm64-msvc\": {\n \"version\": \"13.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.2.4.tgz\",\n \"integrity\": \"sha512-q3NJzcfClgBm4HvdcnoEncmztxrA5GXqKeiZ/hADvC56pwNALt3ngDC6t6qr1YW9V/EPDxCYeaX4zYxHciW4Dw==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">= 10\"\n }\n },\n \"node_modules/@next/swc-win32-ia32-msvc\": {\n \"version\": \"13.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.2.4.tgz\",\n \"integrity\": \"sha512-/eZ5ncmHUYtD2fc6EUmAIZlAJnVT2YmxDsKs1Ourx0ttTtvtma/WKlMV5NoUsyOez0f9ExLyOpeCoz5aj+MPXw==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">= 10\"\n }\n },\n \"node_modules/@next/swc-win32-x64-msvc\": {\n \"version\": \"13.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.2.4.tgz\",\n \"integrity\": \"sha512-0MffFmyv7tBLlji01qc0IaPP/LVExzvj7/R5x1Jph1bTAIj4Vu81yFQWHHQAP6r4ff9Ukj1mBK6MDNVXm7Tcvw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">= 10\"\n }\n },\n \"node_modules/@nodelib/fs.scandir\": {\n \"version\": \"2.1.5\",\n \"resolved\": \"https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz\",\n \"integrity\": \"sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==\",\n \"dev\": true,\n \"dependencies\": {\n \"@nodelib/fs.stat\": \"2.0.5\",\n \"run-parallel\": \"^1.1.9\"\n },\n \"engines\": {\n \"node\": \">= 8\"\n }\n },\n \"node_modules/@nodelib/fs.stat\": {\n \"version\": \"2.0.5\",\n \"resolved\": \"https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz\",\n \"integrity\": \"sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7B"
},
"chunk-3": {
"filename": "dd/package-lock.json",
"chunk": "ukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==\",\n \"dev\": true,\n \"engines\": {\n \"node\": \">= 8\"\n }\n },\n \"node_modules/@nodelib/fs.walk\": {\n \"version\": \"1.2.8\",\n \"resolved\": \"https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz\",\n \"integrity\": \"sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==\",\n \"dev\": true,\n \"dependencies\": {\n \"@nodelib/fs.scandir\": \"2.1.5\",\n \"fastq\": \"^1.6.0\"\n },\n \"engines\": {\n \"node\": \">= 8\"\n }\n },\n \"node_modules/@swc/helpers\": {\n \"version\": \"0.4.14\",\n \"resolved\": \"https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.14.tgz\",\n \"integrity\": \"sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==\",\n \"dependencies\": {\n \"tslib\": \"^2.4.0\"\n }\n },\n \"node_modules/acorn\": {\n \"version\": \"7.4.1\",\n \"resolved\": \"https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz\",\n \"integrity\": \"sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==\",\n \"dev\": true,\n \"bin\": {\n \"acorn\": \"bin/acorn\"\n },\n \"engines\": {\n \"node\": \">=0.4.0\"\n }\n },\n \"node_modules/acorn-node\": {\n \"version\": \"1.8.2\",\n \"resolved\": \"https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz\",\n \"integrity\": \"sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==\",\n \"dev\": true,\n \"dependencies\": {\n \"acorn\": \"^7.0.0\",\n \"acorn-walk\": \"^7.0.0\",\n \"xtend\": \"^4.0.2\"\n }\n },\n \"node_modules/acorn-walk\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz\",\n \"integrity\": \"sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==\",\n \"dev\": true,\n \"engines\": {\n \"node\": \">=0.4.0\"\n }\n },\n \"node_modules/anymatch\": {\n \"version\": \"3.1.3\",\n \"resolved\": \"https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz\",\n \"integrity\": \"sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==\",\n \"dev\": true,\n \"dependencies\": {\n \""
},
"chunk-4": {
"filename": "dd/package-lock.json",
"chunk": "normalize-path\": \"^3.0.0\",\n \"picomatch\": \"^2.0.4\"\n },\n \"engines\": {\n \"node\": \">= 8\"\n }\n },\n \"node_modules/arg\": {\n \"version\": \"5.0.2\",\n \"resolved\": \"https://registry.npmjs.org/arg/-/arg-5.0.2.tgz\",\n \"integrity\": \"sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==\",\n \"dev\": true\n },\n \"node_modules/autoprefixer\": {\n \"version\": \"10.4.14\",\n \"resolved\": \"https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz\",\n \"integrity\": \"sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/postcss/\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/autoprefixer\"\n }\n ],\n \"dependencies\": {\n \"browserslist\": \"^4.21.5\",\n \"caniuse-lite\": \"^1.0.30001464\",\n \"fraction.js\": \"^4.2.0\",\n \"normalize-range\": \"^0.1.2\",\n \"picocolors\": \"^1.0.0\",\n \"postcss-value-parser\": \"^4.2.0\"\n },\n \"bin\": {\n \"autoprefixer\": \"bin/autoprefixer\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.1.0\"\n }\n },\n \"node_modules/binary-extensions\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz\",\n \"integrity\": \"sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==\",\n \"dev\": true,\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/braces\": {\n \"version\": \"3.0.2\",\n \"resolved\": \"https://registry.npmjs.org/braces/-/braces-3.0.2.tgz\",\n \"integrity\": \"sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==\",\n \"dev\": true,\n \"dependencies\": {\n \"fill-range\": \"^7.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/browserslist\": {\n \"version\": \"4.21.5\",\n \"resolved\": \"https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz\",\n \"integrity\": \"sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/browserslist\"\n },\n {\n \"type\": \""
},
"chunk-5": {
"filename": "dd/package-lock.json",
"chunk": "tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/browserslist\"\n }\n ],\n \"dependencies\": {\n \"caniuse-lite\": \"^1.0.30001449\",\n \"electron-to-chromium\": \"^1.4.284\",\n \"node-releases\": \"^2.0.8\",\n \"update-browserslist-db\": \"^1.0.10\"\n },\n \"bin\": {\n \"browserslist\": \"cli.js\"\n },\n \"engines\": {\n \"node\": \"^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7\"\n }\n },\n \"node_modules/camelcase-css\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz\",\n \"integrity\": \"sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==\",\n \"dev\": true,\n \"engines\": {\n \"node\": \">= 6\"\n }\n },\n \"node_modules/caniuse-lite\": {\n \"version\": \"1.0.30001465\",\n \"resolved\": \"https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001465.tgz\",\n \"integrity\": \"sha512-HvjgL3MYAJjceTDCcjRnQGjwUz/5qec9n7JPOzUursUoOTIsYCSDOb1l7RsnZE8mjbxG78zVRCKfrBXyvChBag==\",\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/browserslist\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/caniuse-lite\"\n }\n ]\n },\n \"node_modules/chokidar\": {\n \"version\": \"3.5.3\",\n \"resolved\": \"https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz\",\n \"integrity\": \"sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"individual\",\n \"url\": \"https://paulmillr.com/funding/\"\n }\n ],\n \"dependencies\": {\n \"anymatch\": \"~3.1.2\",\n \"braces\": \"~3.0.2\",\n \"glob-parent\": \"~5.1.2\",\n \"is-binary-path\": \"~2.1.0\",\n \"is-glob\": \"~4.0.1\",\n \"normalize-path\": \"~3.0.0\",\n \"readdirp\": \"~3.6.0\"\n },\n \"engines\": {\n \"node\": \">= 8.10.0\"\n },\n \"optionalDependencies\": {\n \"fsevents\": \"~2.3.2\"\n }\n },\n \"node_modules/chokidar/node_modules/glob-parent\": {\n \"version\": \"5.1.2\",\n \"resolved\": \"https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz\",\n \"integrity\": \"sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==\",\n \"dev\": true,\n \"dependencies\": {\n \"is-glob\": \"^4.0.1\"\n },\n \"engines\": {\n \"node\": \">= 6\"\n }\n },\n \"node_modules/client-only\": {\n \"version\": \"0.0.1\",\n \"resolved\": \"https://"
},
"chunk-6": {
"filename": "dd/package-lock.json",
"chunk": "registry.npmjs.org/client-only/-/client-only-0.0.1.tgz\",\n \"integrity\": \"sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==\"\n },\n \"node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"dev\": true\n },\n \"node_modules/cssesc\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz\",\n \"integrity\": \"sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==\",\n \"dev\": true,\n \"bin\": {\n \"cssesc\": \"bin/cssesc\"\n },\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/defined\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/defined/-/defined-1.0.1.tgz\",\n \"integrity\": \"sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==\",\n \"dev\": true,\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/detective\": {\n \"version\": \"5.2.1\",\n \"resolved\": \"https://registry.npmjs.org/detective/-/detective-5.2.1.tgz\",\n \"integrity\": \"sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==\",\n \"dev\": true,\n \"dependencies\": {\n \"acorn-node\": \"^1.8.2\",\n \"defined\": \"^1.0.0\",\n \"minimist\": \"^1.2.6\"\n },\n \"bin\": {\n \"detective\": \"bin/detective.js\"\n },\n \"engines\": {\n \"node\": \">=0.8.0\"\n }\n },\n \"node_modules/didyoumean\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz\",\n \"integrity\": \"sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==\",\n \"dev\": true\n },\n \"node_modules/dlv\": {\n \"version\": \"1.1.3\",\n \"resolved\": \"https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz\",\n \"integrity\": \"sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==\",\n \"dev\": true\n },\n \"node_modules/electron-to-chromium"
},
"chunk-7": {
"filename": "dd/package-lock.json",
"chunk": "\": {\n \"version\": \"1.4.328\",\n \"resolved\": \"https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.328.tgz\",\n \"integrity\": \"sha512-DE9tTy2PNmy1v55AZAO542ui+MLC2cvINMK4P2LXGsJdput/ThVG9t+QGecPuAZZSgC8XoI+Jh9M1OG9IoNSCw==\",\n \"dev\": true\n },\n \"node_modules/escalade\": {\n \"version\": \"3.1.1\",\n \"resolved\": \"https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz\",\n \"integrity\": \"sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==\",\n \"dev\": true,\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/fast-glob\": {\n \"version\": \"3.2.12\",\n \"resolved\": \"https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz\",\n \"integrity\": \"sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==\",\n \"dev\": true,\n \"dependencies\": {\n \"@nodelib/fs.stat\": \"^2.0.2\",\n \"@nodelib/fs.walk\": \"^1.2.3\",\n \"glob-parent\": \"^5.1.2\",\n \"merge2\": \"^1.3.0\",\n \"micromatch\": \"^4.0.4\"\n },\n \"engines\": {\n \"node\": \">=8.6.0\"\n }\n },\n \"node_modules/fast-glob/node_modules/glob-parent\": {\n \"version\": \"5.1.2\",\n \"resolved\": \"https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz\",\n \"integrity\": \"sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==\",\n \"dev\": true,\n \"dependencies\": {\n \"is-glob\": \"^4.0.1\"\n },\n \"engines\": {\n \"node\": \">= 6\"\n }\n },\n \"node_modules/fastq\": {\n \"version\": \"1.15.0\",\n \"resolved\": \"https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz\",\n \"integrity\": \"sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==\",\n \"dev\": true,\n \"dependencies\": {\n \"reusify\": \"^1.0.4\"\n }\n },\n \"node_modules/fill-range\": {\n \"version\": \"7.0.1\",\n \"resolved\": \"https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz\",\n \"integrity\": \"sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==\",\n \"dev\": true,\n \"dependencies\": {\n \"to-regex-range\": \"^5.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/fraction.js\": {\n \"version\": \"4.2."
},
"chunk-8": {
"filename": "dd/package-lock.json",
"chunk": "0\",\n \"resolved\": \"https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz\",\n \"integrity\": \"sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==\",\n \"dev\": true,\n \"engines\": {\n \"node\": \"*\"\n },\n \"funding\": {\n \"type\": \"patreon\",\n \"url\": \"https://www.patreon.com/infusion\"\n }\n },\n \"node_modules/fsevents\": {\n \"version\": \"2.3.2\",\n \"resolved\": \"https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz\",\n \"integrity\": \"sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \"^8.16.0 || ^10.6.0 || >=11.0.0\"\n }\n },\n \"node_modules/function-bind\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz\",\n \"integrity\": \"sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==\",\n \"dev\": true\n },\n \"node_modules/glob-parent\": {\n \"version\": \"6.0.2\",\n \"resolved\": \"https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz\",\n \"integrity\": \"sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==\",\n \"dev\": true,\n \"dependencies\": {\n \"is-glob\": \"^4.0.3\"\n },\n \"engines\": {\n \"node\": \">=10.13.0\"\n }\n },\n \"node_modules/has\": {\n \"version\": \"1.0.3\",\n \"resolved\": \"https://registry.npmjs.org/has/-/has-1.0.3.tgz\",\n \"integrity\": \"sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==\",\n \"dev\": true,\n \"dependencies\": {\n \"function-bind\": \"^1.1.1\"\n },\n \"engines\": {\n \"node\": \">= 0.4.0\"\n }\n },\n \"node_modules/howler\": {\n \"version\": \"2.2.3\",\n \"resolved\": \"https://registry.npmjs.org/howler/-/howler-2.2.3.tgz\",\n \"integrity\": \"sha512-QM0FFkw0LRX1PR8pNzJVAY25JhIWvbKMBFM4gqk+QdV+kPXOhleWGCB6AiAF/goGjIHK2e/nIElplvjQwhr0jg==\"\n },\n \"node_modules/is-binary-path\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz\",\n \"integrity\": \"sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7"
},
"chunk-9": {
"filename": "dd/package-lock.json",
"chunk": "rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==\",\n \"dev\": true,\n \"dependencies\": {\n \"binary-extensions\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/is-core-module\": {\n \"version\": \"2.11.0\",\n \"resolved\": \"https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz\",\n \"integrity\": \"sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==\",\n \"dev\": true,\n \"dependencies\": {\n \"has\": \"^1.0.3\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-extglob\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz\",\n \"integrity\": \"sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==\",\n \"dev\": true,\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/is-glob\": {\n \"version\": \"4.0.3\",\n \"resolved\": \"https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz\",\n \"integrity\": \"sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==\",\n \"dev\": true,\n \"dependencies\": {\n \"is-extglob\": \"^2.1.1\"\n },\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/is-number\": {\n \"version\": \"7.0.0\",\n \"resolved\": \"https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz\",\n \"integrity\": \"sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==\",\n \"dev\": true,\n \"engines\": {\n \"node\": \">=0.12.0\"\n }\n },\n \"node_modules/js-tokens\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz\",\n \"integrity\": \"sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==\"\n },\n \"node_modules/lilconfig\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz\",\n \"integrity\": \"sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==\",\n \"dev\": true,\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/loose-envify\": {\n \"version\": \"1.4.0\",\n \"resolved\": \"https://"
},
"chunk-10": {
"filename": "dd/package-lock.json",
"chunk": "registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz\",\n \"integrity\": \"sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==\",\n \"dependencies\": {\n \"js-tokens\": \"^3.0.0 || ^4.0.0\"\n },\n \"bin\": {\n \"loose-envify\": \"cli.js\"\n }\n },\n \"node_modules/merge2\": {\n \"version\": \"1.4.1\",\n \"resolved\": \"https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz\",\n \"integrity\": \"sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==\",\n \"dev\": true,\n \"engines\": {\n \"node\": \">= 8\"\n }\n },\n \"node_modules/micromatch\": {\n \"version\": \"4.0.5\",\n \"resolved\": \"https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz\",\n \"integrity\": \"sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==\",\n \"dev\": true,\n \"dependencies\": {\n \"braces\": \"^3.0.2\",\n \"picomatch\": \"^2.3.1\"\n },\n \"engines\": {\n \"node\": \">=8.6\"\n }\n },\n \"node_modules/minimist\": {\n \"version\": \"1.2.8\",\n \"resolved\": \"https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz\",\n \"integrity\": \"sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==\",\n \"dev\": true,\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/nanoid\": {\n \"version\": \"3.3.4\",\n \"resolved\": \"https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz\",\n \"integrity\": \"sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==\",\n \"bin\": {\n \"nanoid\": \"bin/nanoid.cjs\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || ^13.7 || ^14 || >=15.0.1\"\n }\n },\n \"node_modules/next\": {\n \"version\": \"13.2.4\",\n \"resolved\": \"https://registry.npmjs.org/next/-/next-13.2.4.tgz\",\n \"integrity\": \"sha512-g1I30317cThkEpvzfXujf0O4wtaQHtDCLhlivwlTJ885Ld+eOgcz7r3TGQzeU+cSRoNHtD8tsJgzxVdYojFssw==\",\n \"dependencies\": {\n \"@next/env\": \"13.2.4\",\n \"@swc/helpers\": \"0.4.14\",\n \"caniuse-lite\": \"^1.0.30001406\",\n \"postcss\": \"8.4.14\",\n \"styled-jsx\": \"5.1.1\"\n },\n \"bin\": {\n \"next\": \"dist/bin/next"
},
"chunk-11": {
"filename": "dd/package-lock.json",
"chunk": "\"\n },\n \"engines\": {\n \"node\": \">=14.6.0\"\n },\n \"optionalDependencies\": {\n \"@next/swc-android-arm-eabi\": \"13.2.4\",\n \"@next/swc-android-arm64\": \"13.2.4\",\n \"@next/swc-darwin-arm64\": \"13.2.4\",\n \"@next/swc-darwin-x64\": \"13.2.4\",\n \"@next/swc-freebsd-x64\": \"13.2.4\",\n \"@next/swc-linux-arm-gnueabihf\": \"13.2.4\",\n \"@next/swc-linux-arm64-gnu\": \"13.2.4\",\n \"@next/swc-linux-arm64-musl\": \"13.2.4\",\n \"@next/swc-linux-x64-gnu\": \"13.2.4\",\n \"@next/swc-linux-x64-musl\": \"13.2.4\",\n \"@next/swc-win32-arm64-msvc\": \"13.2.4\",\n \"@next/swc-win32-ia32-msvc\": \"13.2.4\",\n \"@next/swc-win32-x64-msvc\": \"13.2.4\"\n },\n \"peerDependencies\": {\n \"@opentelemetry/api\": \"^1.4.0\",\n \"fibers\": \">= 3.1.0\",\n \"node-sass\": \"^6.0.0 || ^7.0.0\",\n \"react\": \"^18.2.0\",\n \"react-dom\": \"^18.2.0\",\n \"sass\": \"^1.3.0\"\n },\n \"peerDependenciesMeta\": {\n \"@opentelemetry/api\": {\n \"optional\": true\n },\n \"fibers\": {\n \"optional\": true\n },\n \"node-sass\": {\n \"optional\": true\n },\n \"sass\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/next/node_modules/postcss\": {\n \"version\": \"8.4.14\",\n \"resolved\": \"https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz\",\n \"integrity\": \"sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==\",\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/postcss/\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/postcss\"\n }\n ],\n \"dependencies\": {\n \"nanoid\": \"^3.3.4\",\n \"picocolors\": \"^1.0.0\",\n \"source-map-js\": \"^1.0.2\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14\"\n }\n },\n \"node_modules/node-releases\": {\n \"version\": \"2.0.10\",\n \"resolved\": \"https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz\",\n \"integrity\": \"sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==\",\n \"dev\": true\n },\n \"node_modules/normalize-path\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz\",\n \"integrity\": \"sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==\",\n \"dev\": true,\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/normalize-range\": {\n \"version\": \"0.1.2\",\n \"resolved\": \"https://registry.npmjs.org/normalize-range/-/normalize-range-0"
},
"chunk-12": {
"filename": "dd/package-lock.json",
"chunk": ".1.2.tgz\",\n \"integrity\": \"sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==\",\n \"dev\": true,\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/object-hash\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz\",\n \"integrity\": \"sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==\",\n \"dev\": true,\n \"engines\": {\n \"node\": \">= 6\"\n }\n },\n \"node_modules/path-parse\": {\n \"version\": \"1.0.7\",\n \"resolved\": \"https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz\",\n \"integrity\": \"sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==\",\n \"dev\": true\n },\n \"node_modules/picocolors\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz\",\n \"integrity\": \"sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==\"\n },\n \"node_modules/picomatch\": {\n \"version\": \"2.3.1\",\n \"resolved\": \"https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz\",\n \"integrity\": \"sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==\",\n \"dev\": true,\n \"engines\": {\n \"node\": \">=8.6\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/jonschlinkert\"\n }\n },\n \"node_modules/pify\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/pify/-/pify-2.3.0.tgz\",\n \"integrity\": \"sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==\",\n \"dev\": true,\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/postcss\": {\n \"version\": \"8.4.21\",\n \"resolved\": \"https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz\",\n \"integrity\": \"sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/postcss/\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://"
},
"chunk-13": {
"filename": "dd/package-lock.json",
"chunk": "tidelift.com/funding/github/npm/postcss\"\n }\n ],\n \"dependencies\": {\n \"nanoid\": \"^3.3.4\",\n \"picocolors\": \"^1.0.0\",\n \"source-map-js\": \"^1.0.2\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14\"\n }\n },\n \"node_modules/postcss-import\": {\n \"version\": \"14.1.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz\",\n \"integrity\": \"sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==\",\n \"dev\": true,\n \"dependencies\": {\n \"postcss-value-parser\": \"^4.0.0\",\n \"read-cache\": \"^1.0.0\",\n \"resolve\": \"^1.1.7\"\n },\n \"engines\": {\n \"node\": \">=10.0.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.0.0\"\n }\n },\n \"node_modules/postcss-js\": {\n \"version\": \"4.0.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz\",\n \"integrity\": \"sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==\",\n \"dev\": true,\n \"dependencies\": {\n \"camelcase-css\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \"^12 || ^14 || >= 16\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/postcss/\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.4.21\"\n }\n },\n \"node_modules/postcss-load-config\": {\n \"version\": \"3.1.4\",\n \"resolved\": \"https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz\",\n \"integrity\": \"sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==\",\n \"dev\": true,\n \"dependencies\": {\n \"lilconfig\": \"^2.0.5\",\n \"yaml\": \"^1.10.2\"\n },\n \"engines\": {\n \"node\": \">= 10\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/postcss/\"\n },\n \"peerDependencies\": {\n \"postcss\": \">=8.0.9\",\n \"ts-node\": \">=9.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"postcss\": {\n \"optional\": true\n },\n \"ts-node\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/postcss-nested\": {\n \"version\": \"6.0.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.0.tgz\",\n \"integrity\": \"sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==\",\n \"dev\": true,\n \"dependencies\": {\n \"postcss-selector-parser\": \"^6.0.10\"\n },\n \"engines\": {\n \"node\": \">=12.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/postcss/\"\n"
},
"chunk-14": {
"filename": "dd/package-lock.json",
"chunk": " },\n \"peerDependencies\": {\n \"postcss\": \"^8.2.14\"\n }\n },\n \"node_modules/postcss-selector-parser\": {\n \"version\": \"6.0.11\",\n \"resolved\": \"https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz\",\n \"integrity\": \"sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==\",\n \"dev\": true,\n \"dependencies\": {\n \"cssesc\": \"^3.0.0\",\n \"util-deprecate\": \"^1.0.2\"\n },\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/postcss-value-parser\": {\n \"version\": \"4.2.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz\",\n \"integrity\": \"sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==\",\n \"dev\": true\n },\n \"node_modules/queue-microtask\": {\n \"version\": \"1.2.3\",\n \"resolved\": \"https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz\",\n \"integrity\": \"sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/feross\"\n },\n {\n \"type\": \"patreon\",\n \"url\": \"https://www.patreon.com/feross\"\n },\n {\n \"type\": \"consulting\",\n \"url\": \"https://feross.org/support\"\n }\n ]\n },\n \"node_modules/quick-lru\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz\",\n \"integrity\": \"sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==\",\n \"dev\": true,\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/react\": {\n \"version\": \"18.2.0\",\n \"resolved\": \"https://registry.npmjs.org/react/-/react-18.2.0.tgz\",\n \"integrity\": \"sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==\",\n \"dependencies\": {\n \"loose-envify\": \"^1.1.0\"\n },\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/react-dom\": {\n \"version\": \"18.2.0\",\n \"resolved\": \"https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz\",\n \"integrity\": \"sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P"
},
"chunk-15": {
"filename": "dd/package-lock.json",
"chunk": "+hxDsw9eA7Xo6g==\",\n \"dependencies\": {\n \"loose-envify\": \"^1.1.0\",\n \"scheduler\": \"^0.23.0\"\n },\n \"peerDependencies\": {\n \"react\": \"^18.2.0\"\n }\n },\n \"node_modules/react-icons\": {\n \"version\": \"4.8.0\",\n \"resolved\": \"https://registry.npmjs.org/react-icons/-/react-icons-4.8.0.tgz\",\n \"integrity\": \"sha512-N6+kOLcihDiAnj5Czu637waJqSnwlMNROzVZMhfX68V/9bu9qHaMIJC4UdozWoOk57gahFCNHwVvWzm0MTzRjg==\",\n \"peerDependencies\": {\n \"react\": \"*\"\n }\n },\n \"node_modules/read-cache\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz\",\n \"integrity\": \"sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==\",\n \"dev\": true,\n \"dependencies\": {\n \"pify\": \"^2.3.0\"\n }\n },\n \"node_modules/readdirp\": {\n \"version\": \"3.6.0\",\n \"resolved\": \"https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz\",\n \"integrity\": \"sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==\",\n \"dev\": true,\n \"dependencies\": {\n \"picomatch\": \"^2.2.1\"\n },\n \"engines\": {\n \"node\": \">=8.10.0\"\n }\n },\n \"node_modules/resolve\": {\n \"version\": \"1.22.1\",\n \"resolved\": \"https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz\",\n \"integrity\": \"sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==\",\n \"dev\": true,\n \"dependencies\": {\n \"is-core-module\": \"^2.9.0\",\n \"path-parse\": \"^1.0.7\",\n \"supports-preserve-symlinks-flag\": \"^1.0.0\"\n },\n \"bin\": {\n \"resolve\": \"bin/resolve\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/reusify\": {\n \"version\": \"1.0.4\",\n \"resolved\": \"https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz\",\n \"integrity\": \"sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==\",\n \"dev\": true,\n \"engines\": {\n \"iojs\": \">=1.0.0\",\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/run-parallel\": {\n \"version\": \"1.2.0\",\n \"resolved\": \"https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz\",\n \"integrity\": \"sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==\",\n"
},
"chunk-16": {
"filename": "dd/package-lock.json",
"chunk": " \"dev\": true,\n \"funding\": [\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/feross\"\n },\n {\n \"type\": \"patreon\",\n \"url\": \"https://www.patreon.com/feross\"\n },\n {\n \"type\": \"consulting\",\n \"url\": \"https://feross.org/support\"\n }\n ],\n \"dependencies\": {\n \"queue-microtask\": \"^1.2.2\"\n }\n },\n \"node_modules/scheduler\": {\n \"version\": \"0.23.0\",\n \"resolved\": \"https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz\",\n \"integrity\": \"sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==\",\n \"dependencies\": {\n \"loose-envify\": \"^1.1.0\"\n }\n },\n \"node_modules/source-map-js\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz\",\n \"integrity\": \"sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/styled-jsx\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz\",\n \"integrity\": \"sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==\",\n \"dependencies\": {\n \"client-only\": \"0.0.1\"\n },\n \"engines\": {\n \"node\": \">= 12.0.0\"\n },\n \"peerDependencies\": {\n \"react\": \">= 16.8.0 || 17.x.x || ^18.0.0-0\"\n },\n \"peerDependenciesMeta\": {\n \"@babel/core\": {\n \"optional\": true\n },\n \"babel-plugin-macros\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/supports-preserve-symlinks-flag\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz\",\n \"integrity\": \"sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==\",\n \"dev\": true,\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/tailwindcss\": {\n \"version\": \"3.2.7\",\n \"resolved\": \"https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.2.7.tgz\",\n \"integrity\": \"sha512-B6DLqJzc21x7wntlH/GsZwEXTBttVSl1FtCzC8WP4oBc/NKef7kaax5jeihkkCEWc831/5NDJ9gRNDK6NEioQQ==\",\n \"dev\": true,\n \"dependencies\": {\n \"arg\": \"^5.0.2\",\n \"chokidar\": \"^3.5.3\",\n \""
},
"chunk-17": {
"filename": "dd/package-lock.json",
"chunk": "color-name\": \"^1.1.4\",\n \"detective\": \"^5.2.1\",\n \"didyoumean\": \"^1.2.2\",\n \"dlv\": \"^1.1.3\",\n \"fast-glob\": \"^3.2.12\",\n \"glob-parent\": \"^6.0.2\",\n \"is-glob\": \"^4.0.3\",\n \"lilconfig\": \"^2.0.6\",\n \"micromatch\": \"^4.0.5\",\n \"normalize-path\": \"^3.0.0\",\n \"object-hash\": \"^3.0.0\",\n \"picocolors\": \"^1.0.0\",\n \"postcss\": \"^8.0.9\",\n \"postcss-import\": \"^14.1.0\",\n \"postcss-js\": \"^4.0.0\",\n \"postcss-load-config\": \"^3.1.4\",\n \"postcss-nested\": \"6.0.0\",\n \"postcss-selector-parser\": \"^6.0.11\",\n \"postcss-value-parser\": \"^4.2.0\",\n \"quick-lru\": \"^5.1.1\",\n \"resolve\": \"^1.22.1\"\n },\n \"bin\": {\n \"tailwind\": \"lib/cli.js\",\n \"tailwindcss\": \"lib/cli.js\"\n },\n \"engines\": {\n \"node\": \">=12.13.0\"\n },\n \"peerDependencies\": {\n \"postcss\": \"^8.0.9\"\n }\n },\n \"node_modules/to-regex-range\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz\",\n \"integrity\": \"sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==\",\n \"dev\": true,\n \"dependencies\": {\n \"is-number\": \"^7.0.0\"\n },\n \"engines\": {\n \"node\": \">=8.0\"\n }\n },\n \"node_modules/tslib\": {\n \"version\": \"2.5.0\",\n \"resolved\": \"https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz\",\n \"integrity\": \"sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==\"\n },\n \"node_modules/update-browserslist-db\": {\n \"version\": \"1.0.10\",\n \"resolved\": \"https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz\",\n \"integrity\": \"sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/browserslist\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/browserslist\"\n }\n ],\n \"dependencies\": {\n \"escalade\": \"^3.1.1\",\n \"picocolors\": \"^1.0.0\"\n },\n \"bin\": {\n \"browserslist-lint\": \"cli.js\"\n },\n \"peerDependencies\": {\n \"browserslist\": \">= 4.21.0\"\n }\n },\n \"node_modules/use-sound\": {\n \"version\": \"4.0.1\",\n \"resolved\": \"https://registry.npmjs.org/use-sound/-/use-sound-4.0.1.tgz\",\n \"integrity\": \"sha512-hykJ86kNcu6y/FzlSHcQxhjSGMslZx2WlfLpZNoPbvueakv4OF3xPxEtGV"
},
"chunk-18": {
"filename": "dd/package-lock.json",
"chunk": "2YmculrIaH0tPp9LtG4jgy17xMWg==\",\n \"dependencies\": {\n \"howler\": \"^2.1.3\"\n },\n \"peerDependencies\": {\n \"react\": \">=16.8\"\n }\n },\n \"node_modules/util-deprecate\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz\",\n \"integrity\": \"sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==\",\n \"dev\": true\n },\n \"node_modules/xtend\": {\n \"version\": \"4.0.2\",\n \"resolved\": \"https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz\",\n \"integrity\": \"sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==\",\n \"dev\": true,\n \"engines\": {\n \"node\": \">=0.4\"\n }\n },\n \"node_modules/yaml\": {\n \"version\": \"1.10.2\",\n \"resolved\": \"https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz\",\n \"integrity\": \"sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==\",\n \"dev\": true,\n \"engines\": {\n \"node\": \">= 6\"\n }\n }\n },\n \"dependencies\": {\n \"@next/env\": {\n \"version\": \"13.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@next/env/-/env-13.2.4.tgz\",\n \"integrity\": \"sha512-+Mq3TtpkeeKFZanPturjcXt+KHfKYnLlX6jMLyCrmpq6OOs4i1GqBOAauSkii9QeKCMTYzGppar21JU57b/GEA==\"\n },\n \"@next/swc-android-arm-eabi\": {\n \"version\": \"13.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-13.2.4.tgz\",\n \"integrity\": \"sha512-DWlalTSkLjDU11MY11jg17O1gGQzpRccM9Oes2yTqj2DpHndajrXHGxj9HGtJ+idq2k7ImUdJVWS2h2l/EDJOw==\",\n \"optional\": true\n },\n \"@next/swc-android-arm64\": {\n \"version\": \"13.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@next/swc-android-arm64/-/swc-android-arm64-13.2.4.tgz\",\n \"integrity\": \"sha512-sRavmUImUCf332Gy+PjIfLkMhiRX1Ez4SI+3vFDRs1N5eXp+uNzjFUK/oLMMOzk6KFSkbiK/3Wt8+dHQR/flNg==\",\n \"optional\": true\n },\n \"@next/swc-darwin-arm64\": {\n \"version\": \"13.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.2.4.tgz\",\n \"integrity\": \"sha512-S6vBl+OrInP47TM3LlYx65betocKUUlTZDDKzTiRDbsRESeyIkBtZ6Qi5uT2"
},
"chunk-19": {
"filename": "dd/package-lock.json",
"chunk": "zQs4imqllJznVjFd1bXLx3Aa6A==\",\n \"optional\": true\n },\n \"@next/swc-darwin-x64\": {\n \"version\": \"13.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.2.4.tgz\",\n \"integrity\": \"sha512-a6LBuoYGcFOPGd4o8TPo7wmv5FnMr+Prz+vYHopEDuhDoMSHOnC+v+Ab4D7F0NMZkvQjEJQdJS3rqgFhlZmKlw==\",\n \"optional\": true\n },\n \"@next/swc-freebsd-x64\": {\n \"version\": \"13.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@next/swc-freebsd-x64/-/swc-freebsd-x64-13.2.4.tgz\",\n \"integrity\": \"sha512-kkbzKVZGPaXRBPisoAQkh3xh22r+TD+5HwoC5bOkALraJ0dsOQgSMAvzMXKsN3tMzJUPS0tjtRf1cTzrQ0I5vQ==\",\n \"optional\": true\n },\n \"@next/swc-linux-arm-gnueabihf\": {\n \"version\": \"13.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-13.2.4.tgz\",\n \"integrity\": \"sha512-7qA1++UY0fjprqtjBZaOA6cas/7GekpjVsZn/0uHvquuITFCdKGFCsKNBx3S0Rpxmx6WYo0GcmhNRM9ru08BGg==\",\n \"optional\": true\n },\n \"@next/swc-linux-arm64-gnu\": {\n \"version\": \"13.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.2.4.tgz\",\n \"integrity\": \"sha512-xzYZdAeq883MwXgcwc72hqo/F/dwUxCukpDOkx/j1HTq/J0wJthMGjinN9wH5bPR98Mfeh1MZJ91WWPnZOedOg==\",\n \"optional\": true\n },\n \"@next/swc-linux-arm64-musl\": {\n \"version\": \"13.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.2.4.tgz\",\n \"integrity\": \"sha512-8rXr3WfmqSiYkb71qzuDP6I6R2T2tpkmf83elDN8z783N9nvTJf2E7eLx86wu2OJCi4T05nuxCsh4IOU3LQ5xw==\",\n \"optional\": true\n },\n \"@next/swc-linux-x64-gnu\": {\n \"version\": \"13.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.2.4.tgz\",\n \"integrity\": \"sha512-Ngxh51zGSlYJ4EfpKG4LI6WfquulNdtmHg1yuOYlaAr33KyPJp4HeN/tivBnAHcZkoNy0hh/SbwDyCnz5PFJQQ==\",\n \"optional\": true\n },\n \"@next/swc-linux-x64-musl\": {\n \"version\": \"13.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.2.4.tgz\",\n \"integrity\": \"sha512-gOvwIYoSxd+j14LOcvJr+ekd9fwYT1RyMAHOp7znA10+l40wkFiMONPLWiZuHxfR"
},
"chunk-20": {
"filename": "dd/package-lock.json",
"chunk": "k+Dy7YdNdDh3ImumvL6VwA==\",\n \"optional\": true\n },\n \"@next/swc-win32-arm64-msvc\": {\n \"version\": \"13.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.2.4.tgz\",\n \"integrity\": \"sha512-q3NJzcfClgBm4HvdcnoEncmztxrA5GXqKeiZ/hADvC56pwNALt3ngDC6t6qr1YW9V/EPDxCYeaX4zYxHciW4Dw==\",\n \"optional\": true\n },\n \"@next/swc-win32-ia32-msvc\": {\n \"version\": \"13.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.2.4.tgz\",\n \"integrity\": \"sha512-/eZ5ncmHUYtD2fc6EUmAIZlAJnVT2YmxDsKs1Ourx0ttTtvtma/WKlMV5NoUsyOez0f9ExLyOpeCoz5aj+MPXw==\",\n \"optional\": true\n },\n \"@next/swc-win32-x64-msvc\": {\n \"version\": \"13.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.2.4.tgz\",\n \"integrity\": \"sha512-0MffFmyv7tBLlji01qc0IaPP/LVExzvj7/R5x1Jph1bTAIj4Vu81yFQWHHQAP6r4ff9Ukj1mBK6MDNVXm7Tcvw==\",\n \"optional\": true\n },\n \"@nodelib/fs.scandir\": {\n \"version\": \"2.1.5\",\n \"resolved\": \"https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz\",\n \"integrity\": \"sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==\",\n \"dev\": true,\n \"requires\": {\n \"@nodelib/fs.stat\": \"2.0.5\",\n \"run-parallel\": \"^1.1.9\"\n }\n },\n \"@nodelib/fs.stat\": {\n \"version\": \"2.0.5\",\n \"resolved\": \"https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz\",\n \"integrity\": \"sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==\",\n \"dev\": true\n },\n \"@nodelib/fs.walk\": {\n \"version\": \"1.2.8\",\n \"resolved\": \"https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz\",\n \"integrity\": \"sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==\",\n \"dev\": true,\n \"requires\": {\n \"@nodelib/fs.scandir\": \"2.1.5\",\n \"fastq\": \"^1.6.0\"\n }\n },\n \"@swc/helpers\": {\n \"version\": \"0.4.14\",\n \"resolved\": \"https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.14.tgz\",\n \"integrity\": \"sha512-4C7nX/dvpzB7za4Ql9"
},
"chunk-21": {
"filename": "dd/package-lock.json",
"chunk": "K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==\",\n \"requires\": {\n \"tslib\": \"^2.4.0\"\n }\n },\n \"acorn\": {\n \"version\": \"7.4.1\",\n \"resolved\": \"https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz\",\n \"integrity\": \"sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==\",\n \"dev\": true\n },\n \"acorn-node\": {\n \"version\": \"1.8.2\",\n \"resolved\": \"https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz\",\n \"integrity\": \"sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==\",\n \"dev\": true,\n \"requires\": {\n \"acorn\": \"^7.0.0\",\n \"acorn-walk\": \"^7.0.0\",\n \"xtend\": \"^4.0.2\"\n }\n },\n \"acorn-walk\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz\",\n \"integrity\": \"sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==\",\n \"dev\": true\n },\n \"anymatch\": {\n \"version\": \"3.1.3\",\n \"resolved\": \"https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz\",\n \"integrity\": \"sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==\",\n \"dev\": true,\n \"requires\": {\n \"normalize-path\": \"^3.0.0\",\n \"picomatch\": \"^2.0.4\"\n }\n },\n \"arg\": {\n \"version\": \"5.0.2\",\n \"resolved\": \"https://registry.npmjs.org/arg/-/arg-5.0.2.tgz\",\n \"integrity\": \"sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==\",\n \"dev\": true\n },\n \"autoprefixer\": {\n \"version\": \"10.4.14\",\n \"resolved\": \"https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz\",\n \"integrity\": \"sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==\",\n \"dev\": true,\n \"requires\": {\n \"browserslist\": \"^4.21.5\",\n \"caniuse-lite\": \"^1.0.30001464\",\n \"fraction.js\": \"^4.2.0\",\n \"normalize-range\": \"^0.1.2\",\n \"picocolors\": \"^1.0.0\",\n \"postcss-value-parser\": \"^4.2.0\"\n }\n },\n \"binary-extensions\": {\n \""
},
"chunk-22": {
"filename": "dd/package-lock.json",
"chunk": "version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz\",\n \"integrity\": \"sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==\",\n \"dev\": true\n },\n \"braces\": {\n \"version\": \"3.0.2\",\n \"resolved\": \"https://registry.npmjs.org/braces/-/braces-3.0.2.tgz\",\n \"integrity\": \"sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==\",\n \"dev\": true,\n \"requires\": {\n \"fill-range\": \"^7.0.1\"\n }\n },\n \"browserslist\": {\n \"version\": \"4.21.5\",\n \"resolved\": \"https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz\",\n \"integrity\": \"sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==\",\n \"dev\": true,\n \"requires\": {\n \"caniuse-lite\": \"^1.0.30001449\",\n \"electron-to-chromium\": \"^1.4.284\",\n \"node-releases\": \"^2.0.8\",\n \"update-browserslist-db\": \"^1.0.10\"\n }\n },\n \"camelcase-css\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz\",\n \"integrity\": \"sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==\",\n \"dev\": true\n },\n \"caniuse-lite\": {\n \"version\": \"1.0.30001465\",\n \"resolved\": \"https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001465.tgz\",\n \"integrity\": \"sha512-HvjgL3MYAJjceTDCcjRnQGjwUz/5qec9n7JPOzUursUoOTIsYCSDOb1l7RsnZE8mjbxG78zVRCKfrBXyvChBag==\"\n },\n \"chokidar\": {\n \"version\": \"3.5.3\",\n \"resolved\": \"https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz\",\n \"integrity\": \"sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==\",\n \"dev\": true,\n \"requires\": {\n \"anymatch\": \"~3.1.2\",\n \"braces\": \"~3.0.2\",\n \"fsevents\": \"~2.3.2\",\n \"glob-parent\": \"~5.1.2\",\n \"is-binary-path\": \"~2.1.0\",\n \"is-glob\": \"~4.0.1\",\n \"normalize-path\": \"~3.0.0\",\n \"readdirp\": \"~3.6.0\"\n },\n \"dependencies\": {\n \"glob-parent\": {\n \"version\": \"5.1.2\",\n \"resolved\": \"https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz\",\n \""
},
"chunk-23": {
"filename": "dd/package-lock.json",
"chunk": "integrity\": \"sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==\",\n \"dev\": true,\n \"requires\": {\n \"is-glob\": \"^4.0.1\"\n }\n }\n }\n },\n \"client-only\": {\n \"version\": \"0.0.1\",\n \"resolved\": \"https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz\",\n \"integrity\": \"sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==\"\n },\n \"color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"dev\": true\n },\n \"cssesc\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz\",\n \"integrity\": \"sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==\",\n \"dev\": true\n },\n \"defined\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/defined/-/defined-1.0.1.tgz\",\n \"integrity\": \"sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==\",\n \"dev\": true\n },\n \"detective\": {\n \"version\": \"5.2.1\",\n \"resolved\": \"https://registry.npmjs.org/detective/-/detective-5.2.1.tgz\",\n \"integrity\": \"sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==\",\n \"dev\": true,\n \"requires\": {\n \"acorn-node\": \"^1.8.2\",\n \"defined\": \"^1.0.0\",\n \"minimist\": \"^1.2.6\"\n }\n },\n \"didyoumean\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz\",\n \"integrity\": \"sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==\",\n \"dev\": true\n },\n \"dlv\": {\n \"version\": \"1.1.3\",\n \"resolved\": \"https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz\",\n \"integrity\": \"sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA"
},
"chunk-24": {
"filename": "dd/package-lock.json",
"chunk": "==\",\n \"dev\": true\n },\n \"electron-to-chromium\": {\n \"version\": \"1.4.328\",\n \"resolved\": \"https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.328.tgz\",\n \"integrity\": \"sha512-DE9tTy2PNmy1v55AZAO542ui+MLC2cvINMK4P2LXGsJdput/ThVG9t+QGecPuAZZSgC8XoI+Jh9M1OG9IoNSCw==\",\n \"dev\": true\n },\n \"escalade\": {\n \"version\": \"3.1.1\",\n \"resolved\": \"https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz\",\n \"integrity\": \"sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==\",\n \"dev\": true\n },\n \"fast-glob\": {\n \"version\": \"3.2.12\",\n \"resolved\": \"https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz\",\n \"integrity\": \"sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==\",\n \"dev\": true,\n \"requires\": {\n \"@nodelib/fs.stat\": \"^2.0.2\",\n \"@nodelib/fs.walk\": \"^1.2.3\",\n \"glob-parent\": \"^5.1.2\",\n \"merge2\": \"^1.3.0\",\n \"micromatch\": \"^4.0.4\"\n },\n \"dependencies\": {\n \"glob-parent\": {\n \"version\": \"5.1.2\",\n \"resolved\": \"https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz\",\n \"integrity\": \"sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==\",\n \"dev\": true,\n \"requires\": {\n \"is-glob\": \"^4.0.1\"\n }\n }\n }\n },\n \"fastq\": {\n \"version\": \"1.15.0\",\n \"resolved\": \"https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz\",\n \"integrity\": \"sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==\",\n \"dev\": true,\n \"requires\": {\n \"reusify\": \"^1.0.4\"\n }\n },\n \"fill-range\": {\n \"version\": \"7.0.1\",\n \"resolved\": \"https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz\",\n \"integrity\": \"sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==\",\n \"dev\": true,\n \"requires\": {\n \"to-regex-range\": \"^5.0.1\"\n }\n },\n \"fraction.js\": {\n \"version\": \"4.2.0\",\n \"resolved\": \"https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz\",\n \"integrity\": \"sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8"
},
"chunk-25": {
"filename": "dd/package-lock.json",
"chunk": "xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==\",\n \"dev\": true\n },\n \"fsevents\": {\n \"version\": \"2.3.2\",\n \"resolved\": \"https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz\",\n \"integrity\": \"sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==\",\n \"dev\": true,\n \"optional\": true\n },\n \"function-bind\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz\",\n \"integrity\": \"sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==\",\n \"dev\": true\n },\n \"glob-parent\": {\n \"version\": \"6.0.2\",\n \"resolved\": \"https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz\",\n \"integrity\": \"sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==\",\n \"dev\": true,\n \"requires\": {\n \"is-glob\": \"^4.0.3\"\n }\n },\n \"has\": {\n \"version\": \"1.0.3\",\n \"resolved\": \"https://registry.npmjs.org/has/-/has-1.0.3.tgz\",\n \"integrity\": \"sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==\",\n \"dev\": true,\n \"requires\": {\n \"function-bind\": \"^1.1.1\"\n }\n },\n \"howler\": {\n \"version\": \"2.2.3\",\n \"resolved\": \"https://registry.npmjs.org/howler/-/howler-2.2.3.tgz\",\n \"integrity\": \"sha512-QM0FFkw0LRX1PR8pNzJVAY25JhIWvbKMBFM4gqk+QdV+kPXOhleWGCB6AiAF/goGjIHK2e/nIElplvjQwhr0jg==\"\n },\n \"is-binary-path\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz\",\n \"integrity\": \"sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==\",\n \"dev\": true,\n \"requires\": {\n \"binary-extensions\": \"^2.0.0\"\n }\n },\n \"is-core-module\": {\n \"version\": \"2.11.0\",\n \"resolved\": \"https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz\",\n \"integrity\": \"sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==\",\n \"dev\": true,\n \"requires\": {\n \"has\": \"^1.0.3\"\n }\n },\n \"is-extglob\": {\n \"version\": \"2.1.1\",\n"
},
"chunk-26": {
"filename": "dd/package-lock.json",
"chunk": " \"resolved\": \"https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz\",\n \"integrity\": \"sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==\",\n \"dev\": true\n },\n \"is-glob\": {\n \"version\": \"4.0.3\",\n \"resolved\": \"https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz\",\n \"integrity\": \"sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==\",\n \"dev\": true,\n \"requires\": {\n \"is-extglob\": \"^2.1.1\"\n }\n },\n \"is-number\": {\n \"version\": \"7.0.0\",\n \"resolved\": \"https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz\",\n \"integrity\": \"sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==\",\n \"dev\": true\n },\n \"js-tokens\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz\",\n \"integrity\": \"sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==\"\n },\n \"lilconfig\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz\",\n \"integrity\": \"sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==\",\n \"dev\": true\n },\n \"loose-envify\": {\n \"version\": \"1.4.0\",\n \"resolved\": \"https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz\",\n \"integrity\": \"sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==\",\n \"requires\": {\n \"js-tokens\": \"^3.0.0 || ^4.0.0\"\n }\n },\n \"merge2\": {\n \"version\": \"1.4.1\",\n \"resolved\": \"https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz\",\n \"integrity\": \"sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==\",\n \"dev\": true\n },\n \"micromatch\": {\n \"version\": \"4.0.5\",\n \"resolved\": \"https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz\",\n \"integrity\": \"sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcI"
},
"chunk-27": {
"filename": "dd/package-lock.json",
"chunk": "tdy98dwFI2N1tg3zNIdKaQT+aNdA==\",\n \"dev\": true,\n \"requires\": {\n \"braces\": \"^3.0.2\",\n \"picomatch\": \"^2.3.1\"\n }\n },\n \"minimist\": {\n \"version\": \"1.2.8\",\n \"resolved\": \"https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz\",\n \"integrity\": \"sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==\",\n \"dev\": true\n },\n \"nanoid\": {\n \"version\": \"3.3.4\",\n \"resolved\": \"https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz\",\n \"integrity\": \"sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==\"\n },\n \"next\": {\n \"version\": \"13.2.4\",\n \"resolved\": \"https://registry.npmjs.org/next/-/next-13.2.4.tgz\",\n \"integrity\": \"sha512-g1I30317cThkEpvzfXujf0O4wtaQHtDCLhlivwlTJ885Ld+eOgcz7r3TGQzeU+cSRoNHtD8tsJgzxVdYojFssw==\",\n \"requires\": {\n \"@next/env\": \"13.2.4\",\n \"@next/swc-android-arm-eabi\": \"13.2.4\",\n \"@next/swc-android-arm64\": \"13.2.4\",\n \"@next/swc-darwin-arm64\": \"13.2.4\",\n \"@next/swc-darwin-x64\": \"13.2.4\",\n \"@next/swc-freebsd-x64\": \"13.2.4\",\n \"@next/swc-linux-arm-gnueabihf\": \"13.2.4\",\n \"@next/swc-linux-arm64-gnu\": \"13.2.4\",\n \"@next/swc-linux-arm64-musl\": \"13.2.4\",\n \"@next/swc-linux-x64-gnu\": \"13.2.4\",\n \"@next/swc-linux-x64-musl\": \"13.2.4\",\n \"@next/swc-win32-arm64-msvc\": \"13.2.4\",\n \"@next/swc-win32-ia32-msvc\": \"13.2.4\",\n \"@next/swc-win32-x64-msvc\": \"13.2.4\",\n \"@swc/helpers\": \"0.4.14\",\n \"caniuse-lite\": \"^1.0.30001406\",\n \"postcss\": \"8.4.14\",\n \"styled-jsx\": \"5.1.1\"\n },\n \"dependencies\": {\n \"postcss\": {\n \"version\": \"8.4.14\",\n \"resolved\": \"https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz\",\n \"integrity\": \"sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==\",\n \"requires\": {\n \"nanoid\": \"^3.3.4\",\n \"picocolors\": \"^1.0.0\",\n \"source-map-js\": \"^1.0.2\"\n }\n }\n }\n },\n \"node-releases\": {\n \"version\": \"2.0.10\",\n \"resolved\": \"https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz\",\n \"integrity\": \"sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4K"
},
"chunk-28": {
"filename": "dd/package-lock.json",
"chunk": "wPXAx2xqVEydmd7w==\",\n \"dev\": true\n },\n \"normalize-path\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz\",\n \"integrity\": \"sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==\",\n \"dev\": true\n },\n \"normalize-range\": {\n \"version\": \"0.1.2\",\n \"resolved\": \"https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz\",\n \"integrity\": \"sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==\",\n \"dev\": true\n },\n \"object-hash\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz\",\n \"integrity\": \"sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==\",\n \"dev\": true\n },\n \"path-parse\": {\n \"version\": \"1.0.7\",\n \"resolved\": \"https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz\",\n \"integrity\": \"sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==\",\n \"dev\": true\n },\n \"picocolors\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz\",\n \"integrity\": \"sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==\"\n },\n \"picomatch\": {\n \"version\": \"2.3.1\",\n \"resolved\": \"https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz\",\n \"integrity\": \"sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==\",\n \"dev\": true\n },\n \"pify\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/pify/-/pify-2.3.0.tgz\",\n \"integrity\": \"sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==\",\n \"dev\": true\n },\n \"postcss\": {\n \"version\": \"8.4.21\",\n \"resolved\": \"https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz\",\n \"integrity\": \"sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeL"
},
"chunk-29": {
"filename": "dd/package-lock.json",
"chunk": "m2kIBUNlZe3zgb4Zg==\",\n \"dev\": true,\n \"requires\": {\n \"nanoid\": \"^3.3.4\",\n \"picocolors\": \"^1.0.0\",\n \"source-map-js\": \"^1.0.2\"\n }\n },\n \"postcss-import\": {\n \"version\": \"14.1.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz\",\n \"integrity\": \"sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==\",\n \"dev\": true,\n \"requires\": {\n \"postcss-value-parser\": \"^4.0.0\",\n \"read-cache\": \"^1.0.0\",\n \"resolve\": \"^1.1.7\"\n }\n },\n \"postcss-js\": {\n \"version\": \"4.0.1\",\n \"resolved\": \"https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz\",\n \"integrity\": \"sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==\",\n \"dev\": true,\n \"requires\": {\n \"camelcase-css\": \"^2.0.1\"\n }\n },\n \"postcss-load-config\": {\n \"version\": \"3.1.4\",\n \"resolved\": \"https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz\",\n \"integrity\": \"sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==\",\n \"dev\": true,\n \"requires\": {\n \"lilconfig\": \"^2.0.5\",\n \"yaml\": \"^1.10.2\"\n }\n },\n \"postcss-nested\": {\n \"version\": \"6.0.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.0.tgz\",\n \"integrity\": \"sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==\",\n \"dev\": true,\n \"requires\": {\n \"postcss-selector-parser\": \"^6.0.10\"\n }\n },\n \"postcss-selector-parser\": {\n \"version\": \"6.0.11\",\n \"resolved\": \"https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz\",\n \"integrity\": \"sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==\",\n \"dev\": true,\n \"requires\": {\n \"cssesc\": \"^3.0.0\",\n \"util-deprecate\": \"^1.0.2\"\n }\n },\n \"postcss-value-parser\": {\n \"version\": \"4.2.0\",\n \"resolved\": \"https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz\",\n \"integrity\": \"sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==\",\n \"dev\": true\n },\n \"queue-microtask\":"
},
"chunk-30": {
"filename": "dd/package-lock.json",
"chunk": " {\n \"version\": \"1.2.3\",\n \"resolved\": \"https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz\",\n \"integrity\": \"sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==\",\n \"dev\": true\n },\n \"quick-lru\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz\",\n \"integrity\": \"sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==\",\n \"dev\": true\n },\n \"react\": {\n \"version\": \"18.2.0\",\n \"resolved\": \"https://registry.npmjs.org/react/-/react-18.2.0.tgz\",\n \"integrity\": \"sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==\",\n \"requires\": {\n \"loose-envify\": \"^1.1.0\"\n }\n },\n \"react-dom\": {\n \"version\": \"18.2.0\",\n \"resolved\": \"https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz\",\n \"integrity\": \"sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==\",\n \"requires\": {\n \"loose-envify\": \"^1.1.0\",\n \"scheduler\": \"^0.23.0\"\n }\n },\n \"react-icons\": {\n \"version\": \"4.8.0\",\n \"resolved\": \"https://registry.npmjs.org/react-icons/-/react-icons-4.8.0.tgz\",\n \"integrity\": \"sha512-N6+kOLcihDiAnj5Czu637waJqSnwlMNROzVZMhfX68V/9bu9qHaMIJC4UdozWoOk57gahFCNHwVvWzm0MTzRjg==\",\n \"requires\": {}\n },\n \"read-cache\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz\",\n \"integrity\": \"sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==\",\n \"dev\": true,\n \"requires\": {\n \"pify\": \"^2.3.0\"\n }\n },\n \"readdirp\": {\n \"version\": \"3.6.0\",\n \"resolved\": \"https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz\",\n \"integrity\": \"sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==\",\n \"dev\": true,\n \"requires\": {\n \"picomatch\": \"^2.2.1\"\n }\n },\n \"resolve\": {\n \"version\": \"1.22.1\",\n \"resolved\": \"https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz\",\n \"integrity\": \"sha512-nBpuuYu"
},
"chunk-31": {
"filename": "dd/package-lock.json",
"chunk": "Y5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==\",\n \"dev\": true,\n \"requires\": {\n \"is-core-module\": \"^2.9.0\",\n \"path-parse\": \"^1.0.7\",\n \"supports-preserve-symlinks-flag\": \"^1.0.0\"\n }\n },\n \"reusify\": {\n \"version\": \"1.0.4\",\n \"resolved\": \"https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz\",\n \"integrity\": \"sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==\",\n \"dev\": true\n },\n \"run-parallel\": {\n \"version\": \"1.2.0\",\n \"resolved\": \"https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz\",\n \"integrity\": \"sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==\",\n \"dev\": true,\n \"requires\": {\n \"queue-microtask\": \"^1.2.2\"\n }\n },\n \"scheduler\": {\n \"version\": \"0.23.0\",\n \"resolved\": \"https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz\",\n \"integrity\": \"sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==\",\n \"requires\": {\n \"loose-envify\": \"^1.1.0\"\n }\n },\n \"source-map-js\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz\",\n \"integrity\": \"sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==\"\n },\n \"styled-jsx\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz\",\n \"integrity\": \"sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==\",\n \"requires\": {\n \"client-only\": \"0.0.1\"\n }\n },\n \"supports-preserve-symlinks-flag\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz\",\n \"integrity\": \"sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==\",\n \"dev\": true\n },\n \"tailwindcss\": {\n \"version\": \"3.2.7\",\n \"resolved\": \"https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.2.7.tgz\",\n \"integrity\": \"sha"
},
"chunk-32": {
"filename": "dd/package-lock.json",
"chunk": "512-B6DLqJzc21x7wntlH/GsZwEXTBttVSl1FtCzC8WP4oBc/NKef7kaax5jeihkkCEWc831/5NDJ9gRNDK6NEioQQ==\",\n \"dev\": true,\n \"requires\": {\n \"arg\": \"^5.0.2\",\n \"chokidar\": \"^3.5.3\",\n \"color-name\": \"^1.1.4\",\n \"detective\": \"^5.2.1\",\n \"didyoumean\": \"^1.2.2\",\n \"dlv\": \"^1.1.3\",\n \"fast-glob\": \"^3.2.12\",\n \"glob-parent\": \"^6.0.2\",\n \"is-glob\": \"^4.0.3\",\n \"lilconfig\": \"^2.0.6\",\n \"micromatch\": \"^4.0.5\",\n \"normalize-path\": \"^3.0.0\",\n \"object-hash\": \"^3.0.0\",\n \"picocolors\": \"^1.0.0\",\n \"postcss\": \"^8.0.9\",\n \"postcss-import\": \"^14.1.0\",\n \"postcss-js\": \"^4.0.0\",\n \"postcss-load-config\": \"^3.1.4\",\n \"postcss-nested\": \"6.0.0\",\n \"postcss-selector-parser\": \"^6.0.11\",\n \"postcss-value-parser\": \"^4.2.0\",\n \"quick-lru\": \"^5.1.1\",\n \"resolve\": \"^1.22.1\"\n }\n },\n \"to-regex-range\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz\",\n \"integrity\": \"sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==\",\n \"dev\": true,\n \"requires\": {\n \"is-number\": \"^7.0.0\"\n }\n },\n \"tslib\": {\n \"version\": \"2.5.0\",\n \"resolved\": \"https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz\",\n \"integrity\": \"sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==\"\n },\n \"update-browserslist-db\": {\n \"version\": \"1.0.10\",\n \"resolved\": \"https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz\",\n \"integrity\": \"sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==\",\n \"dev\": true,\n \"requires\": {\n \"escalade\": \"^3.1.1\",\n \"picocolors\": \"^1.0.0\"\n }\n },\n \"use-sound\": {\n \"version\": \"4.0.1\",\n \"resolved\": \"https://registry.npmjs.org/use-sound/-/use-sound-4.0.1.tgz\",\n \"integrity\": \"sha512-hykJ86kNcu6y/FzlSHcQxhjSGMslZx2WlfLpZNoPbvueakv4OF3xPxEtGV2YmculrIaH0tPp9LtG4jgy17xMWg==\",\n \"requires\": {\n \"howler\": \"^2.1.3\"\n }\n },\n \"util-deprecate\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz\",\n \"integrity\": \"sha512-EPD"
},
"chunk-33": {
"filename": "dd/package-lock.json",
"chunk": "5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==\",\n \"dev\": true\n },\n \"xtend\": {\n \"version\": \"4.0.2\",\n \"resolved\": \"https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz\",\n \"integrity\": \"sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==\",\n \"dev\": true\n },\n \"yaml\": {\n \"version\": \"1.10.2\",\n \"resolved\": \"https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz\",\n \"integrity\": \"sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==\",\n \"dev\": true\n }\n }\n}\n"
}
},
"package.json": {
"chunk-0": {
"filename": "dd/package.json",
"chunk": "{\n \"name\": \"dd\",\n \"version\": \"0.1.0\",\n \"private\": true,\n \"scripts\": {\n \"dev\": \"next dev\",\n \"build\": \"next build\",\n \"start\": \"next start\",\n \"lint\": \"next lint\"\n },\n \"dependencies\": {\n \"next\": \"13.2.4\",\n \"react\": \"18.2.0\",\n \"react-dom\": \"18.2.0\",\n \"react-icons\": \"^4.8.0\",\n \"use-sound\": \"^4.0.1\"\n },\n \"devDependencies\": {\n \"autoprefixer\": \"^10.4.14\",\n \"postcss\": \"^8.4.21\",\n \"tailwindcss\": \"^3.2.7\"\n }\n}\n"
}
},
"postcss.config.js": {
"chunk-0": {
"filename": "dd/postcss.config.js",
"chunk": "module.exports = {\n plugins: {\n tailwindcss: {},\n autoprefixer: {},\n },\n}\n"
}
},
"public": {
"audio": {},
"images": {},
"music": {}
},
"tailwind.config.js": {
"chunk-0": {
"filename": "dd/tailwind.config.js",
"chunk": "/** @type {import('tailwindcss').Config} */\nmodule.exports = {\n content: [\n \"./app/**/*.{js,ts,jsx,tsx}\",\n \"./pages/**/*.{js,ts,jsx,tsx}\",\n \"./components/**/*.{js,ts,jsx,tsx}\",\n ],\n theme: {\n extend: {\n fontFamily: {\n gorditas: [\"var(--font-gorditas)\"],\n oswald: [\"var(--font-oswald\"],\n frijole: [\"var(--font-frijole)\"],\n islandMoments: [\"var(--font-island-moments)\"],\n inter: [\"var(--font-inter)\"],\n },\n },\n },\n plugins: [],\n};\n"
}
}
}
}