From 0c0ac7a109b089d12f0d453d415590e2ba8372a2 Mon Sep 17 00:00:00 2001 From: Albert Wang Date: Tue, 30 Apr 2024 21:46:40 -0700 Subject: [PATCH] Migration to React+Vite (#260) --- .eslintrc.cjs | 22 + .eslintrc.json | 14 - .github/pull_request_template.md | 9 - .github/workflows/deploy-preview.yml | 36 - .github/workflows/deploy-prod.yml | 28 - .github/workflows/deploy.yml | 6 +- .gitignore | 52 +- .husky/pre-commit | 7 - README.md | 14 +- index.html | 20 + jsconfig.json | 23 +- next.config.js | 9 - package.json | 56 +- pnpm-lock.yaml | 2963 +++++++---------- .../assets/images/VH_shiba_inu.png | Bin .../assets/images/astronaut-float.png | Bin {src => public}/assets/images/astronaut.png | Bin .../assets/images/astronaut_solid.png | Bin {src => public}/assets/images/big-planet.png | Bin .../assets/images/constellation1.png | Bin .../assets/images/constellation2.png | Bin .../assets/images/constellation3.png | Bin .../assets/images/constellation4.png | Bin {src => public}/assets/images/hat.png | Bin {src => public}/assets/images/icon.png | Bin {src => public}/assets/images/laptop.png | Bin .../assets/images/mathworks-flyer.pdf | Bin {src => public}/assets/images/new-laptop.png | Bin .../images/old-organizer-photos/aasha.jpeg | Bin .../images/old-organizer-photos/alan.jpeg | Bin .../images/old-organizer-photos/ameya.jpeg | Bin .../images/old-organizer-photos/angela.jpeg | Bin .../images/old-organizer-photos/chase.jpeg | Bin .../images/old-organizer-photos/chloe.jpeg | Bin .../images/old-organizer-photos/duong.jpeg | Bin .../images/old-organizer-photos/elise.jpeg | Bin .../images/old-organizer-photos/ellise.jpeg | Bin .../images/old-organizer-photos/emily.jpeg | Bin .../images/old-organizer-photos/grace.jpeg | Bin .../images/old-organizer-photos/joseph.jpeg | Bin .../images/old-organizer-photos/julianna.jpeg | Bin .../images/old-organizer-photos/khushi.jpeg | Bin .../images/old-organizer-photos/kingsley.jpeg | Bin .../images/old-organizer-photos/megha.jpeg | Bin .../images/old-organizer-photos/nathan.jpeg | Bin .../images/old-organizer-photos/nicole.jpeg | Bin .../images/old-organizer-photos/olivia.jpeg | Bin .../images/old-organizer-photos/parsa.jpeg | Bin .../images/old-organizer-photos/philip.jpeg | Bin .../images/old-organizer-photos/riley.jpeg | Bin .../images/old-organizer-photos/rochelle.jpeg | Bin .../images/old-organizer-photos/rong.jpeg | Bin .../images/old-organizer-photos/sanjana.jpeg | Bin .../images/old-organizer-photos/shalini.jpeg | Bin .../images/old-organizer-photos/sydney.jpeg | Bin .../images/old-organizer-photos/william.jpeg | Bin .../images/old-organizer-photos/zoya.jpeg | Bin .../assets/images/organizer-photos/alan.jpg | Bin .../assets/images/organizer-photos/alicia.jpg | Bin .../assets/images/organizer-photos/alisa.jpg | Bin .../assets/images/organizer-photos/araam.jpg | Bin .../assets/images/organizer-photos/audrey.jpg | Bin .../assets/images/organizer-photos/avent.jpg | Bin .../assets/images/organizer-photos/brian.jpg | Bin .../images/organizer-photos/caroline.jpg | Bin .../assets/images/organizer-photos/cheryl.jpg | Bin .../assets/images/organizer-photos/chloe.jpg | Bin .../assets/images/organizer-photos/cinta.jpg | Bin .../images/organizer-photos/crystal.jpg | Bin .../assets/images/organizer-photos/grace.jpg | Bin .../assets/images/organizer-photos/graceW.jpg | Bin .../assets/images/organizer-photos/hang.jpg | Bin .../images/organizer-photos/jefferey.jpg | Bin .../assets/images/organizer-photos/jenny.jpg | Bin .../assets/images/organizer-photos/kirby.jpg | Bin .../images/organizer-photos/kristen.jpg | Bin .../assets/images/organizer-photos/mason.jpg | Bin .../assets/images/organizer-photos/mignon.jpg | Bin .../images/organizer-photos/mirelle.jpg | Bin .../assets/images/organizer-photos/nathan.jpg | Bin .../images/organizer-photos/nathanC.jpg | Bin .../assets/images/organizer-photos/nicole.jpg | Bin .../assets/images/organizer-photos/philip.jpg | Bin .../assets/images/organizer-photos/randy.jpg | Bin .../assets/images/organizer-photos/riley.jpg | Bin .../images/organizer-photos/rochelle.jpg | Bin .../images/organizer-photos/rosalind.jpg | Bin .../assets/images/organizer-photos/ruslan.jpg | Bin .../assets/images/organizer-photos/ryan.jpg | Bin .../assets/images/organizer-photos/sam.jpg | Bin .../images/organizer-photos/shreshta.jpg | Bin .../assets/images/organizer-photos/taylor.jpg | Bin .../assets/images/partners/acm.png | Bin {src => public}/assets/images/partners/ai.png | Bin .../assets/images/partners/ctc.png | Bin .../assets/images/partners/design.png | Bin .../assets/images/partners/googlecloud.png | Bin .../assets/images/partners/hack.png | Bin .../assets/images/partners/icssc.png | Bin .../assets/images/partners/vgdc.jpeg | Bin .../assets/images/partners/wics.png | Bin .../assets/images/past-partners/codepath.png | Bin .../assets/images/past-partners/design.png | Bin .../assets/images/past-partners/maiss.png | Bin .../assets/images/past-partners/mlh.png | Bin .../assets/images/past-partners/swe.jpg | Bin .../assets/images/past-partners/wicys.png | Bin .../images/past-sponsors/assemblyai.png | Bin .../assets/images/past-sponsors/balsamiq.png | Bin .../images/past-sponsors/blackberry.png | Bin .../assets/images/past-sponsors/corelogic.jpg | Bin .../images/past-sponsors/crowdstrike.png | Bin .../assets/images/past-sponsors/disney.png | Bin .../images/past-sponsors/google_cloud.png | Bin .../assets/images/past-sponsors/linode.png | Bin .../assets/images/past-sponsors/matlab.png | Bin .../assets/images/past-sponsors/oai.png | Bin .../assets/images/past-sponsors/pimco.JPG | Bin .../assets/images/past-sponsors/postman.png | Bin .../images/past-sponsors/properdata.png | Bin .../assets/images/past-sponsors/robinhood.png | Bin .../assets/images/past-sponsors/slalom.png | Bin .../assets/images/past-sponsors/ucibren.png | Bin .../images/past-sponsors/uciinformatics.png | Bin .../assets/images/past-sponsors/wayup.png | Bin .../assets/images/past-sponsors/zillow.png | Bin .../assets/images/past-sponsors/zybooks.png | Bin .../assets/images/periwinkleplanet.png | Bin {src => public}/assets/images/pinkplanet.png | Bin .../images/speaker-photos/alyssa_darjuan.jpeg | Bin .../images/speaker-photos/dayana_alvarez.jpeg | Bin .../speaker-photos/janet_chavez_erazo.jpeg | Bin .../images/speaker-photos/rupa_prasad.jpeg | Bin .../speaker-photos/shohreh_bozorgmehri.jpeg | Bin .../images/speaker-photos/tara_elsey.jpeg | Bin .../speaker-photos/thomas_andriola.jpeg | Bin .../speaker-photos/valentyna_yurtyn.jpeg | Bin .../images/sponsors/antrepreneurcenter.png | Bin .../assets/images/sponsors/corelogic.png | Bin .../assets/images/sponsors/costar.png | Bin .../assets/images/sponsors/coxenterprises.png | Bin .../assets/images/sponsors/odit.png | Bin .../assets/images/stars-background.svg | 0 {src => public}/assets/images/stars.svg | 0 public/assets/images/titles/vh-about.svg | 9 + public/assets/images/titles/vh-faq.svg | 9 + .../assets/images/titles/vh-info2022.png | Bin .../assets/images/titles/vh-meet-the-team.png | Bin .../assets/images/titles/vh-partners.png | Bin .../assets/images/titles/vh-past-partners.png | Bin .../assets/images/titles/vh-past-sponsors.png | Bin .../assets/images/titles/vh-speakers.png | Bin .../assets/images/titles/vh-sponsors.png | Bin .../assets/images/titles/vh-title-launch.svg | 0 .../assets/images/titles/vh-title.png | Bin .../assets/images/titles/vh-worded-logo.png | Bin .../assets/images/vh-astronaut-float.png | Bin .../assets/images/vh-astronaut.png | Bin .../assets/images/vh-big-dipper.png | Bin {src => public}/assets/images/vh-boba.png | Bin .../assets/images/vh-cassiopeia.png | Bin {src => public}/assets/images/vh-cat.png | Bin {src => public}/assets/images/vh-laptop.png | Bin {src => public}/assets/images/vh-pegasus.png | Bin .../assets/images/vh-periwinkle-planet.png | Bin {src => public}/assets/images/vh-planet.png | Bin {src/app => public}/favicon.ico | Bin src/App.css | 42 + src/App.jsx | 26 + src/app/(main)/(home)/page.jsx | 52 - src/app/(main)/layout.jsx | 11 - src/app/(main)/resources/Resources.scss | 108 - src/app/(main)/resources/page.jsx | 46 - src/app/(main)/schedule/Schedule.scss | 212 -- src/app/(main)/schedule/page.jsx | 38 - src/app/(main)/workshops/Workshops.scss | 14 - src/app/(main)/workshops/page.jsx | 23 - src/app/components/countdown/Countdown.jsx | 10 +- src/app/components/faqs/FAQs.js | 54 - src/app/components/faqs/FAQs.json | 40 +- src/app/components/faqs/FAQs.jsx | 45 + src/app/components/faqs/FAQs.scss | 80 +- src/app/components/faqs/SingleFAQ.jsx | 10 + .../{FloatingLaptop.js => FloatingLaptop.jsx} | 50 +- .../floating-laptop/FloatingLaptop.scss | 16 +- src/app/components/footer/Footer.js | 28 - src/app/components/footer/Footer.jsx | 20 + src/app/components/footer/Footer.scss | 30 +- src/app/components/meet-team/team.js | 61 - src/app/components/meet-team/team.jsx | 65 + src/app/components/meet-team/team.scss | 59 +- src/app/components/nav/Nav.js | 58 - src/app/components/nav/Nav.jsx | 58 + src/app/components/nav/Nav.scss | 166 +- .../components/schedule-card/ScheduleCard.js | 65 - .../components/schedule-card/ScheduleCard.jsx | 64 + .../schedule-card/ScheduleCard.scss | 239 +- src/app/components/speakers/speakers.js | 39 - src/app/components/speakers/speakers.jsx | 47 + src/app/components/speakers/speakers.scss | 50 +- .../tooltip/{tooltip.js => tooltip.jsx} | 2 +- .../components/venus-button/venusButton.js | 23 - .../components/venus-button/venusButton.jsx | 23 + .../components/workshop-card/workshop-card.js | 54 - .../workshop-card/workshop-card.jsx | 54 + .../workshop-card/workshop-card.scss | 118 +- src/{assets => app}/data/resources-info.js | 0 src/{assets => app}/data/schedule-info.js | 0 src/{assets => app}/data/speakers-info.js | 0 src/{assets => app}/data/workshops-info.js | 0 src/app/fonts.jsx | 7 - src/app/layout.jsx | 31 - src/app/manifest.json | 16 - src/app/not-found.jsx | 14 - src/app/not-found.module.css | 18 - src/app/robots.txt | 2 - src/app/views/home/Home.jsx | 96 + .../{(main)/(home) => views/home}/Home.scss | 27 +- src/app/views/index.js | 5 + src/app/views/not-found/NotFound.jsx | 18 + src/app/views/not-found/NotFound.scss | 19 + src/app/views/resources/Resources.jsx | 45 + src/app/views/resources/Resources.scss | 108 + src/app/views/schedule/Schedule.jsx | 35 + src/app/views/schedule/Schedule.scss | 228 ++ src/app/views/workshops/Workshops.jsx | 24 + src/app/views/workshops/Workshops.scss | 14 + src/assets/images/titles/vh-about.png | Bin 77304 -> 0 bytes src/assets/images/titles/vh-faq.png | Bin 61932 -> 0 bytes src/{app/(main) => globals}/vh-styles.scss | 5 +- src/{app/globals.css => index.css} | 10 +- src/main.jsx | 10 + tailwind.config.js | 26 - vite.config.js | 13 + 234 files changed, 2813 insertions(+), 3435 deletions(-) create mode 100644 .eslintrc.cjs delete mode 100644 .eslintrc.json delete mode 100644 .github/pull_request_template.md delete mode 100644 .github/workflows/deploy-preview.yml delete mode 100644 .github/workflows/deploy-prod.yml delete mode 100644 .husky/pre-commit create mode 100644 index.html delete mode 100644 next.config.js rename {src => public}/assets/images/VH_shiba_inu.png (100%) rename {src => public}/assets/images/astronaut-float.png (100%) rename {src => public}/assets/images/astronaut.png (100%) rename {src => public}/assets/images/astronaut_solid.png (100%) rename {src => public}/assets/images/big-planet.png (100%) rename {src => public}/assets/images/constellation1.png (100%) rename {src => public}/assets/images/constellation2.png (100%) rename {src => public}/assets/images/constellation3.png (100%) rename {src => public}/assets/images/constellation4.png (100%) rename {src => public}/assets/images/hat.png (100%) rename {src => public}/assets/images/icon.png (100%) rename {src => public}/assets/images/laptop.png (100%) rename {src => public}/assets/images/mathworks-flyer.pdf (100%) rename {src => public}/assets/images/new-laptop.png (100%) rename {src => public}/assets/images/old-organizer-photos/aasha.jpeg (100%) rename {src => public}/assets/images/old-organizer-photos/alan.jpeg (100%) rename {src => public}/assets/images/old-organizer-photos/ameya.jpeg (100%) rename {src => public}/assets/images/old-organizer-photos/angela.jpeg (100%) rename {src => public}/assets/images/old-organizer-photos/chase.jpeg (100%) rename {src => public}/assets/images/old-organizer-photos/chloe.jpeg (100%) rename {src => public}/assets/images/old-organizer-photos/duong.jpeg (100%) rename {src => public}/assets/images/old-organizer-photos/elise.jpeg (100%) rename {src => public}/assets/images/old-organizer-photos/ellise.jpeg (100%) rename {src => public}/assets/images/old-organizer-photos/emily.jpeg (100%) rename {src => public}/assets/images/old-organizer-photos/grace.jpeg (100%) rename {src => public}/assets/images/old-organizer-photos/joseph.jpeg (100%) rename {src => public}/assets/images/old-organizer-photos/julianna.jpeg (100%) rename {src => public}/assets/images/old-organizer-photos/khushi.jpeg (100%) rename {src => public}/assets/images/old-organizer-photos/kingsley.jpeg (100%) rename {src => public}/assets/images/old-organizer-photos/megha.jpeg (100%) rename {src => public}/assets/images/old-organizer-photos/nathan.jpeg (100%) rename {src => public}/assets/images/old-organizer-photos/nicole.jpeg (100%) rename {src => public}/assets/images/old-organizer-photos/olivia.jpeg (100%) rename {src => public}/assets/images/old-organizer-photos/parsa.jpeg (100%) rename {src => public}/assets/images/old-organizer-photos/philip.jpeg (100%) rename {src => public}/assets/images/old-organizer-photos/riley.jpeg (100%) rename {src => public}/assets/images/old-organizer-photos/rochelle.jpeg (100%) rename {src => public}/assets/images/old-organizer-photos/rong.jpeg (100%) rename {src => public}/assets/images/old-organizer-photos/sanjana.jpeg (100%) rename {src => public}/assets/images/old-organizer-photos/shalini.jpeg (100%) rename {src => public}/assets/images/old-organizer-photos/sydney.jpeg (100%) rename {src => public}/assets/images/old-organizer-photos/william.jpeg (100%) rename {src => public}/assets/images/old-organizer-photos/zoya.jpeg (100%) rename {src => public}/assets/images/organizer-photos/alan.jpg (100%) rename {src => public}/assets/images/organizer-photos/alicia.jpg (100%) rename {src => public}/assets/images/organizer-photos/alisa.jpg (100%) rename {src => public}/assets/images/organizer-photos/araam.jpg (100%) rename {src => public}/assets/images/organizer-photos/audrey.jpg (100%) rename {src => public}/assets/images/organizer-photos/avent.jpg (100%) rename {src => public}/assets/images/organizer-photos/brian.jpg (100%) rename {src => public}/assets/images/organizer-photos/caroline.jpg (100%) rename {src => public}/assets/images/organizer-photos/cheryl.jpg (100%) rename {src => public}/assets/images/organizer-photos/chloe.jpg (100%) rename {src => public}/assets/images/organizer-photos/cinta.jpg (100%) rename {src => public}/assets/images/organizer-photos/crystal.jpg (100%) rename {src => public}/assets/images/organizer-photos/grace.jpg (100%) rename {src => public}/assets/images/organizer-photos/graceW.jpg (100%) rename {src => public}/assets/images/organizer-photos/hang.jpg (100%) rename {src => public}/assets/images/organizer-photos/jefferey.jpg (100%) rename {src => public}/assets/images/organizer-photos/jenny.jpg (100%) rename {src => public}/assets/images/organizer-photos/kirby.jpg (100%) rename {src => public}/assets/images/organizer-photos/kristen.jpg (100%) rename {src => public}/assets/images/organizer-photos/mason.jpg (100%) rename {src => public}/assets/images/organizer-photos/mignon.jpg (100%) rename {src => public}/assets/images/organizer-photos/mirelle.jpg (100%) rename {src => public}/assets/images/organizer-photos/nathan.jpg (100%) rename {src => public}/assets/images/organizer-photos/nathanC.jpg (100%) rename {src => public}/assets/images/organizer-photos/nicole.jpg (100%) rename {src => public}/assets/images/organizer-photos/philip.jpg (100%) rename {src => public}/assets/images/organizer-photos/randy.jpg (100%) rename {src => public}/assets/images/organizer-photos/riley.jpg (100%) rename {src => public}/assets/images/organizer-photos/rochelle.jpg (100%) rename {src => public}/assets/images/organizer-photos/rosalind.jpg (100%) rename {src => public}/assets/images/organizer-photos/ruslan.jpg (100%) rename {src => public}/assets/images/organizer-photos/ryan.jpg (100%) rename {src => public}/assets/images/organizer-photos/sam.jpg (100%) rename {src => public}/assets/images/organizer-photos/shreshta.jpg (100%) rename {src => public}/assets/images/organizer-photos/taylor.jpg (100%) rename {src => public}/assets/images/partners/acm.png (100%) rename {src => public}/assets/images/partners/ai.png (100%) rename {src => public}/assets/images/partners/ctc.png (100%) rename {src => public}/assets/images/partners/design.png (100%) rename {src => public}/assets/images/partners/googlecloud.png (100%) rename {src => public}/assets/images/partners/hack.png (100%) rename {src => public}/assets/images/partners/icssc.png (100%) rename {src => public}/assets/images/partners/vgdc.jpeg (100%) rename {src => public}/assets/images/partners/wics.png (100%) rename {src => public}/assets/images/past-partners/codepath.png (100%) rename {src => public}/assets/images/past-partners/design.png (100%) rename {src => public}/assets/images/past-partners/maiss.png (100%) rename {src => public}/assets/images/past-partners/mlh.png (100%) rename {src => public}/assets/images/past-partners/swe.jpg (100%) rename {src => public}/assets/images/past-partners/wicys.png (100%) rename {src => public}/assets/images/past-sponsors/assemblyai.png (100%) rename {src => public}/assets/images/past-sponsors/balsamiq.png (100%) rename {src => public}/assets/images/past-sponsors/blackberry.png (100%) rename {src => public}/assets/images/past-sponsors/corelogic.jpg (100%) rename {src => public}/assets/images/past-sponsors/crowdstrike.png (100%) rename {src => public}/assets/images/past-sponsors/disney.png (100%) rename {src => public}/assets/images/past-sponsors/google_cloud.png (100%) rename {src => public}/assets/images/past-sponsors/linode.png (100%) rename {src => public}/assets/images/past-sponsors/matlab.png (100%) rename {src => public}/assets/images/past-sponsors/oai.png (100%) rename {src => public}/assets/images/past-sponsors/pimco.JPG (100%) rename {src => public}/assets/images/past-sponsors/postman.png (100%) rename {src => public}/assets/images/past-sponsors/properdata.png (100%) rename {src => public}/assets/images/past-sponsors/robinhood.png (100%) rename {src => public}/assets/images/past-sponsors/slalom.png (100%) rename {src => public}/assets/images/past-sponsors/ucibren.png (100%) rename {src => public}/assets/images/past-sponsors/uciinformatics.png (100%) rename {src => public}/assets/images/past-sponsors/wayup.png (100%) rename {src => public}/assets/images/past-sponsors/zillow.png (100%) rename {src => public}/assets/images/past-sponsors/zybooks.png (100%) rename {src => public}/assets/images/periwinkleplanet.png (100%) rename {src => public}/assets/images/pinkplanet.png (100%) rename {src => public}/assets/images/speaker-photos/alyssa_darjuan.jpeg (100%) rename {src => public}/assets/images/speaker-photos/dayana_alvarez.jpeg (100%) rename {src => public}/assets/images/speaker-photos/janet_chavez_erazo.jpeg (100%) rename {src => public}/assets/images/speaker-photos/rupa_prasad.jpeg (100%) rename {src => public}/assets/images/speaker-photos/shohreh_bozorgmehri.jpeg (100%) rename {src => public}/assets/images/speaker-photos/tara_elsey.jpeg (100%) rename {src => public}/assets/images/speaker-photos/thomas_andriola.jpeg (100%) rename {src => public}/assets/images/speaker-photos/valentyna_yurtyn.jpeg (100%) rename {src => public}/assets/images/sponsors/antrepreneurcenter.png (100%) rename {src => public}/assets/images/sponsors/corelogic.png (100%) rename {src => public}/assets/images/sponsors/costar.png (100%) rename {src => public}/assets/images/sponsors/coxenterprises.png (100%) rename {src => public}/assets/images/sponsors/odit.png (100%) rename {src => public}/assets/images/stars-background.svg (100%) rename {src => public}/assets/images/stars.svg (100%) create mode 100644 public/assets/images/titles/vh-about.svg create mode 100644 public/assets/images/titles/vh-faq.svg rename {src => public}/assets/images/titles/vh-info2022.png (100%) rename {src => public}/assets/images/titles/vh-meet-the-team.png (100%) rename {src => public}/assets/images/titles/vh-partners.png (100%) rename {src => public}/assets/images/titles/vh-past-partners.png (100%) rename {src => public}/assets/images/titles/vh-past-sponsors.png (100%) rename {src => public}/assets/images/titles/vh-speakers.png (100%) rename {src => public}/assets/images/titles/vh-sponsors.png (100%) rename {src => public}/assets/images/titles/vh-title-launch.svg (100%) rename {src => public}/assets/images/titles/vh-title.png (100%) rename {src => public}/assets/images/titles/vh-worded-logo.png (100%) rename {src => public}/assets/images/vh-astronaut-float.png (100%) rename {src => public}/assets/images/vh-astronaut.png (100%) rename {src => public}/assets/images/vh-big-dipper.png (100%) rename {src => public}/assets/images/vh-boba.png (100%) rename {src => public}/assets/images/vh-cassiopeia.png (100%) rename {src => public}/assets/images/vh-cat.png (100%) rename {src => public}/assets/images/vh-laptop.png (100%) rename {src => public}/assets/images/vh-pegasus.png (100%) rename {src => public}/assets/images/vh-periwinkle-planet.png (100%) rename {src => public}/assets/images/vh-planet.png (100%) rename {src/app => public}/favicon.ico (100%) create mode 100644 src/App.css create mode 100644 src/App.jsx delete mode 100644 src/app/(main)/(home)/page.jsx delete mode 100644 src/app/(main)/layout.jsx delete mode 100644 src/app/(main)/resources/Resources.scss delete mode 100644 src/app/(main)/resources/page.jsx delete mode 100644 src/app/(main)/schedule/Schedule.scss delete mode 100644 src/app/(main)/schedule/page.jsx delete mode 100644 src/app/(main)/workshops/Workshops.scss delete mode 100644 src/app/(main)/workshops/page.jsx delete mode 100644 src/app/components/faqs/FAQs.js create mode 100644 src/app/components/faqs/FAQs.jsx create mode 100644 src/app/components/faqs/SingleFAQ.jsx rename src/app/components/floating-laptop/{FloatingLaptop.js => FloatingLaptop.jsx} (51%) delete mode 100644 src/app/components/footer/Footer.js create mode 100644 src/app/components/footer/Footer.jsx delete mode 100755 src/app/components/meet-team/team.js create mode 100755 src/app/components/meet-team/team.jsx delete mode 100644 src/app/components/nav/Nav.js create mode 100644 src/app/components/nav/Nav.jsx delete mode 100644 src/app/components/schedule-card/ScheduleCard.js create mode 100644 src/app/components/schedule-card/ScheduleCard.jsx delete mode 100644 src/app/components/speakers/speakers.js create mode 100644 src/app/components/speakers/speakers.jsx rename src/app/components/tooltip/{tooltip.js => tooltip.jsx} (96%) delete mode 100644 src/app/components/venus-button/venusButton.js create mode 100644 src/app/components/venus-button/venusButton.jsx delete mode 100644 src/app/components/workshop-card/workshop-card.js create mode 100644 src/app/components/workshop-card/workshop-card.jsx rename src/{assets => app}/data/resources-info.js (100%) rename src/{assets => app}/data/schedule-info.js (100%) rename src/{assets => app}/data/speakers-info.js (100%) rename src/{assets => app}/data/workshops-info.js (100%) delete mode 100644 src/app/fonts.jsx delete mode 100644 src/app/layout.jsx delete mode 100644 src/app/manifest.json delete mode 100644 src/app/not-found.jsx delete mode 100644 src/app/not-found.module.css delete mode 100644 src/app/robots.txt create mode 100644 src/app/views/home/Home.jsx rename src/app/{(main)/(home) => views/home}/Home.scss (93%) create mode 100644 src/app/views/index.js create mode 100644 src/app/views/not-found/NotFound.jsx create mode 100644 src/app/views/not-found/NotFound.scss create mode 100644 src/app/views/resources/Resources.jsx create mode 100644 src/app/views/resources/Resources.scss create mode 100644 src/app/views/schedule/Schedule.jsx create mode 100644 src/app/views/schedule/Schedule.scss create mode 100644 src/app/views/workshops/Workshops.jsx create mode 100644 src/app/views/workshops/Workshops.scss delete mode 100644 src/assets/images/titles/vh-about.png delete mode 100644 src/assets/images/titles/vh-faq.png rename src/{app/(main) => globals}/vh-styles.scss (80%) rename src/{app/globals.css => index.css} (83%) create mode 100644 src/main.jsx delete mode 100644 tailwind.config.js create mode 100644 vite.config.js diff --git a/.eslintrc.cjs b/.eslintrc.cjs new file mode 100644 index 0000000..fafd30d --- /dev/null +++ b/.eslintrc.cjs @@ -0,0 +1,22 @@ +module.exports = { + root: true, + env: { browser: true, es2020: true }, + extends: [ + "eslint:recommended", + "plugin:react/recommended", + "plugin:react/jsx-runtime", + "plugin:react-hooks/recommended", + ], + ignorePatterns: ["dist", ".eslintrc.cjs"], + parserOptions: { ecmaVersion: "latest", sourceType: "module" }, + settings: { react: { version: "18.2" } }, + plugins: ["react-refresh"], + rules: { + "react/jsx-no-target-blank": "off", + "react-refresh/only-export-components": [ + "warn", + { allowConstantExport: true }, + ], + "react/prop-types": "off", + }, +}; diff --git a/.eslintrc.json b/.eslintrc.json deleted file mode 100644 index 0441f87..0000000 --- a/.eslintrc.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "extends": [ - "eslint:recommended", - "next/core-web-vitals" - ], - "rules": { - "eqeqeq": "error", - "no-unused-expressions": "warn", - "react/button-has-type": "error", - "react/no-danger": "warn", - "react/no-unstable-nested-components": "error", - "react/self-closing-comp": "warn" - } -} \ No newline at end of file diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md deleted file mode 100644 index d47dbbc..0000000 --- a/.github/pull_request_template.md +++ /dev/null @@ -1,9 +0,0 @@ -## Summary - -## Test Plan - -## Issue(s) -Closes # - - -## Future Followup \ No newline at end of file diff --git a/.github/workflows/deploy-preview.yml b/.github/workflows/deploy-preview.yml deleted file mode 100644 index e154e66..0000000 --- a/.github/workflows/deploy-preview.yml +++ /dev/null @@ -1,36 +0,0 @@ -name: Deploy Preview - -on: - pull_request: - -permissions: - contents: read - pull-requests: write - -jobs: - Site: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: amondnet/vercel-action@v25 - with: - vercel-version: 32.6.1 - github-comment: | - - - - - - - - - - - - - -
NameVenusHacks 2024
PreviewVisit Preview
Commit{{deploymentCommit}}
- github-token: ${{ secrets.GITHUB_TOKEN }} - vercel-token: ${{ secrets.VERCEL_TOKEN }} - vercel-org-id: ${{ secrets.VERCEL_ORG_ID}} - vercel-project-id: ${{ secrets.VERCEL_PROJECT_ID_SITE}} diff --git a/.github/workflows/deploy-prod.yml b/.github/workflows/deploy-prod.yml deleted file mode 100644 index 3b806c4..0000000 --- a/.github/workflows/deploy-prod.yml +++ /dev/null @@ -1,28 +0,0 @@ -name: Deploy Production - -on: - workflow_run: - workflows: - - Run Checks - types: - - completed - branches: - - main - -permissions: - contents: read - pull-requests: write - -jobs: - Site: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: amondnet/vercel-action@v25 - with: - vercel-version: 32.6.1 - github-comment: false - vercel-args: "--prod" - vercel-token: ${{ secrets.VERCEL_TOKEN }} - vercel-org-id: ${{ secrets.VERCEL_ORG_ID}} - vercel-project-id: ${{ secrets.VERCEL_PROJECT_ID_SITE}} diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 90c3295..c483cde 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -29,8 +29,8 @@ jobs: with: static_site_generator: next - - name: build nextjs - run: npx next build + - name: build vite + run: npx vite build env: NEXT_PUBLIC_MAINTENANCE_MODE_RESOURCES: ${{ secrets.NEXT_PUBLIC_MAINTENANCE_MODE_RESOURCES }} NEXT_PUBLIC_MAINTENANCE_MODE_SCHEDULE: ${{ secrets.NEXT_PUBLIC_MAINTENANCE_MODE_SCHEDULE }} @@ -39,7 +39,7 @@ jobs: - name: upload uses: actions/upload-pages-artifact@v3 with: - path: ./out + path: ./dist deploy: environment: diff --git a/.gitignore b/.gitignore index 755d85b..251ce6d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,35 +1,23 @@ -# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. - -# nextjs/ts -.next -dist/ -next-env.d.ts -*.tsbuildinfo - -# vercel -.vercel - -# dependencies -/node_modules -/.pnp -.pnp.js -.pnp.* - -# testing -/coverage - -# production -/build - -# misc -.DS_Store -*.pem -.env.local -.env.development.local -.env.test.local -.env.production.local -.vs - +# Logs +logs +*.log npm-debug.log* yarn-debug.log* yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/.husky/pre-commit b/.husky/pre-commit deleted file mode 100644 index 574f0a7..0000000 --- a/.husky/pre-commit +++ /dev/null @@ -1,7 +0,0 @@ -echo "!| Starting husky..." - -echo "!| Lint-staged with eslint..." -npx lint-staged -git update-index --again - -echo "!| Husky ran successfully" diff --git a/README.md b/README.md index 342a5bc..3cb030b 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,23 @@ # VenusHacks Website + Planned in collaboration with [WICS](https://wics.ics.uci.edu/) and [Hack at UCI](https://hack.ics.uci.edu/), VenusHacks is UCI’s largest women-centric hackathon! image ## Mission -Our mission is to empower underrepresented groups by providing an inclusive community to foster growth and creativity in computing. + +Our mission is to empower underrepresented groups by providing an inclusive community to foster growth and creativity in computing. VenusHacks will be open to participants of all experience levels, as we aim to increase diversity in tech through support, exposure, and community. ## Local Development ### Getting Setup + - `git clone https://github.com/wics-uci/venushacks` -- `cd venushacks` -- `pnpm install` +- `cd venushacks` +- `pnpm install` ### Running the Project -- `pnpm dev` -- Open [http://localhost:3000](http://localhost:3000) to view it in the browser. + +- `pnpm dev` +- Open [http://localhost:5173](http://localhost:5173) to view it in the browser. diff --git a/index.html b/index.html new file mode 100644 index 0000000..02dd3d2 --- /dev/null +++ b/index.html @@ -0,0 +1,20 @@ + + + + + + + + + VenusHacks 2024 + + +
+ + + diff --git a/jsconfig.json b/jsconfig.json index c7c07bb..166cb55 100644 --- a/jsconfig.json +++ b/jsconfig.json @@ -1,25 +1,8 @@ { "compilerOptions": { "baseUrl": ".", - "target": "es5", - "allowJs": true, - "skipLibCheck": true, - "esModuleInterop": true, - "module": "esnext", - "moduleResolution": "bundler", - "resolveJsonModule": true, - "isolatedModules": true, - "jsx": "preserve", - "incremental": true, - "plugins": [ - { - "name": "next" - } - ], "paths": { - "@/*": ["./src/*"] + "src/*": ["./src/*"] } - }, - "include": ["next-env.d.ts", "**/*.js", "**/*.jsx", ".next/types/**/*.ts"], - "exclude": ["node_modules"] -} \ No newline at end of file + } +} diff --git a/next.config.js b/next.config.js deleted file mode 100644 index df70a81..0000000 --- a/next.config.js +++ /dev/null @@ -1,9 +0,0 @@ -/** @type {import('next').NextConfig} */ -const nextConfig = { - output: "export", - reactStrictMode: true, - // rewrites: async () => ([]), - // redirects: async () => [], -}; - -module.exports = nextConfig; diff --git a/package.json b/package.json index 69cad4d..6335ab8 100644 --- a/package.json +++ b/package.json @@ -1,49 +1,31 @@ { "name": "venushacks", - "version": "0.1.0", "private": true, - "homepage": "https://www.venushacks.com/", + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "lint": "eslint . --ext js,jsx --report-unused-disable-directives --max-warnings 0", + "preview": "vite preview" + }, "dependencies": { - "@radix-ui/react-accordion": "^1.1.2", - "@radix-ui/react-navigation-menu": "^1.1.4", - "eslint": "^8.57.0", - "lint-staged": "^15.2.2", - "next": "^14.1.1", "react": "^18.2.0", - "react-bootstrap": "^2.10.1", + "react-bootstrap": "^2.10.2", "react-confetti": "^6.1.0", "react-dom": "^18.2.0", "react-flip-numbers": "^3.0.8", - "react-router-dom": "^6.22.1", - "sass": "^1.71.0" - }, - "scripts": { - "dev": "next dev", - "build": "next build", - "start": "next start", - "lint": "next lint", - "prepare": "husky" - }, - "lint-staged": { - "*.jsx": [ - "eslint '**/*.{js,jsx}' --fix" - ] - }, - "browserslist": { - "production": [ - ">0.2%", - "not dead", - "not op_mini all" - ], - "development": [ - "last 1 chrome version", - "last 1 firefox version", - "last 1 safari version" - ] + "react-router-dom": "^6.23.0", + "sass": "^1.75.0" }, "devDependencies": { - "eslint-config-next": "^14.1.2", - "husky": "^9.0.11", - "tailwindcss": "^3.4.1" + "@types/react": "^18.2.66", + "@types/react-dom": "^18.2.22", + "@vitejs/plugin-react": "^4.2.1", + "eslint": "^8.57.0", + "eslint-plugin-react": "^7.34.1", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-react-refresh": "^0.4.6", + "vite": "^5.2.0" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 48a686f..b5b658c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,264 +5,594 @@ settings: excludeLinksFromLockfile: false dependencies: - '@radix-ui/react-accordion': - specifier: ^1.1.2 - version: 1.1.2(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-navigation-menu': - specifier: ^1.1.4 - version: 1.1.4(react-dom@18.2.0)(react@18.2.0) - eslint: - specifier: ^8.57.0 - version: 8.57.0 - lint-staged: - specifier: ^15.2.2 - version: 15.2.2 - next: - specifier: ^14.1.1 - version: 14.1.1(react-dom@18.2.0)(react@18.2.0)(sass@1.71.1) react: specifier: ^18.2.0 - version: 18.2.0 + version: 18.3.1 react-bootstrap: - specifier: ^2.10.1 - version: 2.10.1(react-dom@18.2.0)(react@18.2.0) + specifier: ^2.10.2 + version: 2.10.2(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) react-confetti: specifier: ^6.1.0 - version: 6.1.0(react@18.2.0) + version: 6.1.0(react@18.3.1) react-dom: specifier: ^18.2.0 - version: 18.2.0(react@18.2.0) + version: 18.3.1(react@18.3.1) react-flip-numbers: specifier: ^3.0.8 - version: 3.0.8(react-dom@18.2.0)(react-simple-animate@3.5.2)(react@18.2.0) + version: 3.0.8(react-dom@18.3.1)(react-simple-animate@3.5.2)(react@18.3.1) react-router-dom: - specifier: ^6.22.1 - version: 6.22.1(react-dom@18.2.0)(react@18.2.0) + specifier: ^6.23.0 + version: 6.23.0(react-dom@18.3.1)(react@18.3.1) sass: - specifier: ^1.71.0 - version: 1.71.1 + specifier: ^1.75.0 + version: 1.75.0 devDependencies: - eslint-config-next: - specifier: ^14.1.2 - version: 14.1.2(eslint@8.57.0)(typescript@4.9.5) - husky: - specifier: ^9.0.11 - version: 9.0.11 - tailwindcss: - specifier: ^3.4.1 - version: 3.4.1 + '@types/react': + specifier: ^18.2.66 + version: 18.3.1 + '@types/react-dom': + specifier: ^18.2.22 + version: 18.3.0 + '@vitejs/plugin-react': + specifier: ^4.2.1 + version: 4.2.1(vite@5.2.10) + eslint: + specifier: ^8.57.0 + version: 8.57.0 + eslint-plugin-react: + specifier: ^7.34.1 + version: 7.34.1(eslint@8.57.0) + eslint-plugin-react-hooks: + specifier: ^4.6.0 + version: 4.6.2(eslint@8.57.0) + eslint-plugin-react-refresh: + specifier: ^0.4.6 + version: 0.4.6(eslint@8.57.0) + vite: + specifier: ^5.2.0 + version: 5.2.10(sass@1.75.0) packages: - /@aashutoshrathi/word-wrap@1.2.6: - resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} - engines: {node: '>=0.10.0'} - - /@alloc/quick-lru@5.2.0: - resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} - engines: {node: '>=10'} + /@ampproject/remapping@2.3.0: + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 dev: true - /@babel/runtime@7.23.9: - resolution: {integrity: sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw==} + /@babel/code-frame@7.24.2: + resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} engines: {node: '>=6.9.0'} dependencies: - regenerator-runtime: 0.14.1 - - /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): - resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - dependencies: - eslint: 8.57.0 - eslint-visitor-keys: 3.4.3 + '@babel/highlight': 7.24.2 + picocolors: 1.0.0 + dev: true - /@eslint-community/regexpp@4.10.0: - resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + /@babel/compat-data@7.24.4: + resolution: {integrity: sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==} + engines: {node: '>=6.9.0'} + dev: true - /@eslint/eslintrc@2.1.4: - resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@babel/core@7.24.4: + resolution: {integrity: sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==} + engines: {node: '>=6.9.0'} dependencies: - ajv: 6.12.6 + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.24.2 + '@babel/generator': 7.24.4 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) + '@babel/helpers': 7.24.4 + '@babel/parser': 7.24.4 + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.1 + '@babel/types': 7.24.0 + convert-source-map: 2.0.0 debug: 4.3.4 - espree: 9.6.1 - globals: 13.24.0 - ignore: 5.3.1 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 transitivePeerDependencies: - supports-color + dev: true - /@eslint/js@8.57.0: - resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@babel/generator@7.24.4: + resolution: {integrity: sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.0 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 2.5.2 + dev: true - /@humanwhocodes/config-array@0.11.14: - resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} - engines: {node: '>=10.10.0'} + /@babel/helper-compilation-targets@7.23.6: + resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} + engines: {node: '>=6.9.0'} dependencies: - '@humanwhocodes/object-schema': 2.0.2 - debug: 4.3.4 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color + '@babel/compat-data': 7.24.4 + '@babel/helper-validator-option': 7.23.5 + browserslist: 4.23.0 + lru-cache: 5.1.1 + semver: 6.3.1 + dev: true - /@humanwhocodes/module-importer@1.0.1: - resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} - engines: {node: '>=12.22'} + /@babel/helper-environment-visitor@7.22.20: + resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} + engines: {node: '>=6.9.0'} + dev: true - /@humanwhocodes/object-schema@2.0.2: - resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} + /@babel/helper-function-name@7.23.0: + resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.24.0 + '@babel/types': 7.24.0 + dev: true - /@isaacs/cliui@8.0.2: - resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} - engines: {node: '>=12'} + /@babel/helper-hoist-variables@7.22.5: + resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} + engines: {node: '>=6.9.0'} dependencies: - string-width: 5.1.2 - string-width-cjs: /string-width@4.2.3 - strip-ansi: 7.1.0 - strip-ansi-cjs: /strip-ansi@6.0.1 - wrap-ansi: 8.1.0 - wrap-ansi-cjs: /wrap-ansi@7.0.0 + '@babel/types': 7.24.0 dev: true - /@jridgewell/gen-mapping@0.3.3: - resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} - engines: {node: '>=6.0.0'} + /@babel/helper-module-imports@7.24.3: + resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==} + engines: {node: '>=6.9.0'} dependencies: - '@jridgewell/set-array': 1.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.22 + '@babel/types': 7.24.0 dev: true - /@jridgewell/resolve-uri@3.1.2: - resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} - engines: {node: '>=6.0.0'} + /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.4): + resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.24.3 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-validator-identifier': 7.22.20 + dev: true + + /@babel/helper-plugin-utils@7.24.0: + resolution: {integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==} + engines: {node: '>=6.9.0'} dev: true - /@jridgewell/set-array@1.1.2: - resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} + /@babel/helper-simple-access@7.22.5: + resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.0 + dev: true + + /@babel/helper-split-export-declaration@7.22.6: + resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.0 + dev: true + + /@babel/helper-string-parser@7.24.1: + resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-validator-identifier@7.22.20: + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-validator-option@7.23.5: + resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helpers@7.24.4: + resolution: {integrity: sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.1 + '@babel/types': 7.24.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/highlight@7.24.2: + resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.22.20 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.0.0 + dev: true + + /@babel/parser@7.24.4: + resolution: {integrity: sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==} engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.24.0 dev: true - /@jridgewell/sourcemap-codec@1.4.15: - resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + /@babel/plugin-transform-react-jsx-self@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-kDJgnPujTmAZ/9q2CN4m2/lRsUUPDvsG3+tSHWUJIzMGTt5U/b/fwWd3RO3n+5mjLrsBrVa5eKFRVSQbi3dF1w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@jridgewell/trace-mapping@0.3.22: - resolution: {integrity: sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==} + /@babel/plugin-transform-react-jsx-source@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-1v202n7aUq4uXAieRTKcwPzNyphlCuqHHDcdSNc+vdhoTEZcFMh+L5yZuCmGaIO7bs1nJUNfHB89TZyoL48xNA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@next/env@14.1.1: - resolution: {integrity: sha512-7CnQyD5G8shHxQIIg3c7/pSeYFeMhsNbpU/bmvH7ZnDql7mNRgg8O2JZrhrc/soFnfBnKP4/xXNiiSIPn2w8gA==} + /@babel/runtime@7.24.4: + resolution: {integrity: sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==} + engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: 0.14.1 dev: false - /@next/eslint-plugin-next@14.1.2: - resolution: {integrity: sha512-k9h9NfR1joJI48uwdQd/DuOV1mBgcjlmWaX45eAXCFGT96oc+/6SMjO3s7naVtTXqSKjFAgk2GDlW6Hv41ROXQ==} + /@babel/template@7.24.0: + resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.24.2 + '@babel/parser': 7.24.4 + '@babel/types': 7.24.0 + dev: true + + /@babel/traverse@7.24.1: + resolution: {integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.24.2 + '@babel/generator': 7.24.4 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/parser': 7.24.4 + '@babel/types': 7.24.0 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/types@7.24.0: + resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} + engines: {node: '>=6.9.0'} dependencies: - glob: 10.3.10 + '@babel/helper-string-parser': 7.24.1 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 + dev: true + + /@esbuild/aix-ppc64@0.20.2: + resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + requiresBuild: true dev: true + optional: true - /@next/swc-darwin-arm64@14.1.1: - resolution: {integrity: sha512-yDjSFKQKTIjyT7cFv+DqQfW5jsD+tVxXTckSe1KIouKk75t1qZmj/mV3wzdmFb0XHVGtyRjDMulfVG8uCKemOQ==} - engines: {node: '>= 10'} + /@esbuild/android-arm64@0.20.2: + resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm@0.20.2: + resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-x64@0.20.2: + resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-arm64@0.20.2: + resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} + engines: {node: '>=12'} cpu: [arm64] os: [darwin] requiresBuild: true - dev: false + dev: true optional: true - /@next/swc-darwin-x64@14.1.1: - resolution: {integrity: sha512-KCQmBL0CmFmN8D64FHIZVD9I4ugQsDBBEJKiblXGgwn7wBCSe8N4Dx47sdzl4JAg39IkSN5NNrr8AniXLMb3aw==} - engines: {node: '>= 10'} + /@esbuild/darwin-x64@0.20.2: + resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} + engines: {node: '>=12'} cpu: [x64] os: [darwin] requiresBuild: true - dev: false + dev: true optional: true - /@next/swc-linux-arm64-gnu@14.1.1: - resolution: {integrity: sha512-YDQfbWyW0JMKhJf/T4eyFr4b3tceTorQ5w2n7I0mNVTFOvu6CGEzfwT3RSAQGTi/FFMTFcuspPec/7dFHuP7Eg==} - engines: {node: '>= 10'} + /@esbuild/freebsd-arm64@0.20.2: + resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} + engines: {node: '>=12'} cpu: [arm64] - os: [linux] + os: [freebsd] requiresBuild: true - dev: false + dev: true + optional: true + + /@esbuild/freebsd-x64@0.20.2: + resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true optional: true - /@next/swc-linux-arm64-musl@14.1.1: - resolution: {integrity: sha512-fiuN/OG6sNGRN/bRFxRvV5LyzLB8gaL8cbDH5o3mEiVwfcMzyE5T//ilMmaTrnA8HLMS6hoz4cHOu6Qcp9vxgQ==} - engines: {node: '>= 10'} + /@esbuild/linux-arm64@0.20.2: + resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} + engines: {node: '>=12'} cpu: [arm64] os: [linux] requiresBuild: true - dev: false + dev: true optional: true - /@next/swc-linux-x64-gnu@14.1.1: - resolution: {integrity: sha512-rv6AAdEXoezjbdfp3ouMuVqeLjE1Bin0AuE6qxE6V9g3Giz5/R3xpocHoAi7CufRR+lnkuUjRBn05SYJ83oKNQ==} - engines: {node: '>= 10'} - cpu: [x64] + /@esbuild/linux-arm@0.20.2: + resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} + engines: {node: '>=12'} + cpu: [arm] os: [linux] requiresBuild: true - dev: false + dev: true + optional: true + + /@esbuild/linux-ia32@0.20.2: + resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-loong64@0.20.2: + resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-mips64el@0.20.2: + resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true optional: true - /@next/swc-linux-x64-musl@14.1.1: - resolution: {integrity: sha512-YAZLGsaNeChSrpz/G7MxO3TIBLaMN8QWMr3X8bt6rCvKovwU7GqQlDu99WdvF33kI8ZahvcdbFsy4jAFzFX7og==} - engines: {node: '>= 10'} + /@esbuild/linux-ppc64@0.20.2: + resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-riscv64@0.20.2: + resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-s390x@0.20.2: + resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-x64@0.20.2: + resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} + engines: {node: '>=12'} cpu: [x64] os: [linux] requiresBuild: true - dev: false + dev: true + optional: true + + /@esbuild/netbsd-x64@0.20.2: + resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/openbsd-x64@0.20.2: + resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/sunos-x64@0.20.2: + resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true optional: true - /@next/swc-win32-arm64-msvc@14.1.1: - resolution: {integrity: sha512-1L4mUYPBMvVDMZg1inUYyPvFSduot0g73hgfD9CODgbr4xiTYe0VOMTZzaRqYJYBA9mana0x4eaAaypmWo1r5A==} - engines: {node: '>= 10'} + /@esbuild/win32-arm64@0.20.2: + resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} + engines: {node: '>=12'} cpu: [arm64] os: [win32] requiresBuild: true - dev: false + dev: true optional: true - /@next/swc-win32-ia32-msvc@14.1.1: - resolution: {integrity: sha512-jvIE9tsuj9vpbbXlR5YxrghRfMuG0Qm/nZ/1KDHc+y6FpnZ/apsgh+G6t15vefU0zp3WSpTMIdXRUsNl/7RSuw==} - engines: {node: '>= 10'} + /@esbuild/win32-ia32@0.20.2: + resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} + engines: {node: '>=12'} cpu: [ia32] os: [win32] requiresBuild: true - dev: false + dev: true optional: true - /@next/swc-win32-x64-msvc@14.1.1: - resolution: {integrity: sha512-S6K6EHDU5+1KrBDLko7/c1MNy/Ya73pIAmvKeFwsF4RmBFJSO7/7YeD4FnZ4iBdzE69PpQ4sOMU9ORKeNuxe8A==} - engines: {node: '>= 10'} + /@esbuild/win32-x64@0.20.2: + resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} + engines: {node: '>=12'} cpu: [x64] os: [win32] requiresBuild: true - dev: false + dev: true optional: true + /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.57.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@eslint-community/regexpp@4.10.0: + resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: true + + /@eslint/eslintrc@2.1.4: + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 9.6.1 + globals: 13.24.0 + ignore: 5.3.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@eslint/js@8.57.0: + resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /@humanwhocodes/config-array@0.11.14: + resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} + engines: {node: '>=10.10.0'} + dependencies: + '@humanwhocodes/object-schema': 2.0.3 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@humanwhocodes/module-importer@1.0.1: + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + dev: true + + /@humanwhocodes/object-schema@2.0.3: + resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} + dev: true + + /@jridgewell/gen-mapping@0.3.5: + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.25 + dev: true + + /@jridgewell/resolve-uri@3.1.2: + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/set-array@1.2.1: + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/sourcemap-codec@1.4.15: + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + dev: true + + /@jridgewell/trace-mapping@0.3.25: + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + /@nodelib/fs.scandir@2.1.5: resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} dependencies: '@nodelib/fs.stat': 2.0.5 run-parallel: 1.2.0 + dev: true /@nodelib/fs.stat@2.0.5: resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} engines: {node: '>= 8'} + dev: true /@nodelib/fs.walk@1.2.8: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} @@ -270,511 +600,280 @@ packages: dependencies: '@nodelib/fs.scandir': 2.1.5 fastq: 1.17.1 - - /@pkgjs/parseargs@0.11.0: - resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} - engines: {node: '>=14'} - requiresBuild: true dev: true - optional: true /@popperjs/core@2.11.8: resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} dev: false - /@radix-ui/primitive@1.0.1: - resolution: {integrity: sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==} - dependencies: - '@babel/runtime': 7.23.9 - dev: false - - /@radix-ui/react-accordion@1.1.2(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-fDG7jcoNKVjSK6yfmuAs0EnPDro0WMXIhMtXdTBWqEioVW206ku+4Lw07e+13lUkFkpoEQ2PdeMIAGpdqEAmDg==} + /@react-aria/ssr@3.9.2(react@18.3.1): + resolution: {integrity: sha512-0gKkgDYdnq1w+ey8KzG9l+H5Z821qh9vVjztk55rUg71vTk/Eaebeir+WtzcLLwTjw3m/asIjx8Y59y1lJZhBw==} + engines: {node: '>= 12'} peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true + react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collapsible': 1.0.3(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-collection': 1.0.3(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(react@18.2.0) - '@radix-ui/react-context': 1.0.1(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(react@18.2.0) - '@radix-ui/react-id': 1.0.1(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + '@swc/helpers': 0.5.11 + react: 18.3.1 dev: false - /@radix-ui/react-collapsible@1.0.3(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-UBmVDkmR6IvDsloHVN+3rtx4Mi5TFvylYXpluuv0f37dtaz3H99bp8No0LGXRigVpl3UAT4l9j6bIchh42S/Gg==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(react@18.2.0) - '@radix-ui/react-context': 1.0.1(react@18.2.0) - '@radix-ui/react-id': 1.0.1(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + /@remix-run/router@1.16.0: + resolution: {integrity: sha512-Quz1KOffeEf/zwkCBM3kBtH4ZoZ+pT3xIXBG4PPW/XFtDP7EGhtTiC2+gpL9GnR7+Qdet5Oa6cYSvwKYg6kN9Q==} + engines: {node: '>=14.0.0'} dev: false - /@radix-ui/react-collection@1.0.3(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA==} + /@restart/hooks@0.4.16(react@18.3.1): + resolution: {integrity: sha512-f7aCv7c+nU/3mF7NWLtVVr0Ra80RqsO89hO72r+Y/nvQr5+q0UFGkocElTH6MJApvReVh6JHUFYn2cw1WdHF3w==} peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true + react: '>=16.8.0' dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/react-compose-refs': 1.0.1(react@18.2.0) - '@radix-ui/react-context': 1.0.1(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + dequal: 2.0.3 + react: 18.3.1 dev: false - /@radix-ui/react-compose-refs@1.0.1(react@18.2.0): - resolution: {integrity: sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==} + /@restart/ui@1.6.8(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-6ndCv3oZ7r9vuP1Ok9KH55TM1/UkdBnP/fSraW0DFDMbPMzWKhVKeFAIEUCRCSdzayjZDcFYK6xbMlipN9dmMA==} peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true + react: '>=16.14.0' + react-dom: '>=16.14.0' dependencies: - '@babel/runtime': 7.23.9 - react: 18.2.0 + '@babel/runtime': 7.24.4 + '@popperjs/core': 2.11.8 + '@react-aria/ssr': 3.9.2(react@18.3.1) + '@restart/hooks': 0.4.16(react@18.3.1) + '@types/warning': 3.0.3 + dequal: 2.0.3 + dom-helpers: 5.2.1 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + uncontrollable: 8.0.4(react@18.3.1) + warning: 4.0.3 dev: false - /@radix-ui/react-context@1.0.1(react@18.2.0): - resolution: {integrity: sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.23.9 - react: 18.2.0 - dev: false + /@rollup/rollup-android-arm-eabi@4.17.0: + resolution: {integrity: sha512-nNvLvC2fjC+3+bHYN9uaGF3gcyy7RHGZhtl8TB/kINj9hiOQza8kWJGZh47GRPMrqeseO8U+Z8ElDMCZlWBdHA==} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true - /@radix-ui/react-direction@1.0.1(react@18.2.0): - resolution: {integrity: sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.23.9 - react: 18.2.0 - dev: false + /@rollup/rollup-android-arm64@4.17.0: + resolution: {integrity: sha512-+kjt6dvxnyTIAo7oHeYseYhDyZ7xRKTNl/FoQI96PHkJVxoChldJnne/LzYqpqidoK1/0kX0/q+5rrYqjpth6w==} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true - /@radix-ui/react-dismissable-layer@1.0.5(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(react@18.2.0) - '@radix-ui/react-use-escape-keydown': 1.0.3(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false + /@rollup/rollup-darwin-arm64@4.17.0: + resolution: {integrity: sha512-Oj6Tp0unMpGTBjvNwbSRv3DopMNLu+mjBzhKTt2zLbDJ/45fB1pltr/rqrO4bE95LzuYwhYn127pop+x/pzf5w==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true - /@radix-ui/react-id@1.0.1(react@18.2.0): - resolution: {integrity: sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/react-use-layout-effect': 1.0.1(react@18.2.0) - react: 18.2.0 - dev: false + /@rollup/rollup-darwin-x64@4.17.0: + resolution: {integrity: sha512-3nJx0T+yptxMd+v93rBRxSPTAVCv8szu/fGZDJiKX7kvRe9sENj2ggXjCH/KK1xZEmJOhaNo0c9sGMgGdfkvEw==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true - /@radix-ui/react-navigation-menu@1.1.4(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-Cc+seCS3PmWmjI51ufGG7zp1cAAIRqHVw7C9LOA2TZ+R4hG6rDvHcTqIsEEFLmZO3zNVH72jOOE7kKNy8W+RtA==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collection': 1.0.3(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(react@18.2.0) - '@radix-ui/react-context': 1.0.1(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.5(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(react@18.2.0) - '@radix-ui/react-use-previous': 1.0.1(react@18.2.0) - '@radix-ui/react-visually-hidden': 1.0.3(react-dom@18.2.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false + /@rollup/rollup-linux-arm-gnueabihf@4.17.0: + resolution: {integrity: sha512-Vb2e8p9b2lxxgqyOlBHmp6hJMu/HSU6g//6Tbr7x5V1DlPCHWLOm37nSIVK314f+IHzORyAQSqL7+9tELxX3zQ==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true - /@radix-ui/react-presence@1.0.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/react-compose-refs': 1.0.1(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false + /@rollup/rollup-linux-arm-musleabihf@4.17.0: + resolution: {integrity: sha512-Md60KsmC5ZIaRq/bYYDloklgU+XLEZwS2EXXVcSpiUw+13/ZASvSWQ/P92rQ9YDCL6EIoXxuQ829JkReqdYbGg==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true - /@radix-ui/react-primitive@1.0.3(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/react-slot': 1.0.2(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false + /@rollup/rollup-linux-arm64-gnu@4.17.0: + resolution: {integrity: sha512-zL5rBFtJ+2EGnMRm2TqKjdjgFqlotSU+ZJEN37nV+fiD3I6Gy0dUh3jBWN0wSlcXVDEJYW7YBe+/2j0N9unb2w==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true - /@radix-ui/react-slot@1.0.2(react@18.2.0): - resolution: {integrity: sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/react-compose-refs': 1.0.1(react@18.2.0) - react: 18.2.0 - dev: false + /@rollup/rollup-linux-arm64-musl@4.17.0: + resolution: {integrity: sha512-s2xAyNkJqUdtRVgNK4NK4P9QttS538JuX/kfVQOdZDI5FIKVAUVdLW7qhGfmaySJ1EvN/Bnj9oPm5go9u8navg==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true - /@radix-ui/react-use-callback-ref@1.0.1(react@18.2.0): - resolution: {integrity: sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.23.9 - react: 18.2.0 - dev: false + /@rollup/rollup-linux-powerpc64le-gnu@4.17.0: + resolution: {integrity: sha512-7F99yzVT67B7IUNMjLD9QCFDCyHkyCJMS1dywZrGgVFJao4VJ9szrIEgH67cR+bXQgEaY01ur/WSL6B0jtcLyA==} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-riscv64-gnu@4.17.0: + resolution: {integrity: sha512-leFtyiXisfa3Sg9pgZJwRKITWnrQfhtqDjCamnZhkZuIsk1FXmYwKoTkp6lsCgimIcneFFkHKp/yGLxDesga4g==} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-s390x-gnu@4.17.0: + resolution: {integrity: sha512-FtOgui6qMJ4jbSXTxElsy/60LEe/3U0rXkkz2G5CJ9rbHPAvjMvI+3qF0A0fwLQ5hW+/ZC6PbnS2KfRW9JkgDQ==} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-gnu@4.17.0: + resolution: {integrity: sha512-v6eiam/1w3HUfU/ZjzIDodencqgrSqzlNuNtiwH7PFJHYSo1ezL0/UIzmS2lpSJF1ORNaplXeKHYmmdt81vV2g==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true - /@radix-ui/react-use-controllable-state@1.0.1(react@18.2.0): - resolution: {integrity: sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/react-use-callback-ref': 1.0.1(react@18.2.0) - react: 18.2.0 - dev: false + /@rollup/rollup-linux-x64-musl@4.17.0: + resolution: {integrity: sha512-OUhkSdpM5ofVlVU2k4CwVubYwiwu1a4jYWPpubzN7Vzao73GoPBowHcCfaRSFRz1SszJ3HIsk3dZYk4kzbqjgw==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true - /@radix-ui/react-use-escape-keydown@1.0.3(react@18.2.0): - resolution: {integrity: sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/react-use-callback-ref': 1.0.1(react@18.2.0) - react: 18.2.0 - dev: false + /@rollup/rollup-win32-arm64-msvc@4.17.0: + resolution: {integrity: sha512-uL7UYO/MNJPGL/yflybI+HI+n6+4vlfZmQZOCb4I+z/zy1wisHT3exh7oNQsnL6Eso0EUTEfgQ/PaGzzXf6XyQ==} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true - /@radix-ui/react-use-layout-effect@1.0.1(react@18.2.0): - resolution: {integrity: sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.23.9 - react: 18.2.0 - dev: false + /@rollup/rollup-win32-ia32-msvc@4.17.0: + resolution: {integrity: sha512-4WnSgaUiUmXILwFqREdOcqvSj6GD/7FrvSjhaDjmwakX9w4Z2F8JwiSP1AZZbuRkPqzi444UI5FPv33VKOWYFQ==} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true - /@radix-ui/react-use-previous@1.0.1(react@18.2.0): - resolution: {integrity: sha512-cV5La9DPwiQ7S0gf/0qiD6YgNqM5Fk97Kdrlc5yBcrF3jyEZQwm7vYFqMo4IfeHgJXsRaMvLABFtd0OVEmZhDw==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.23.9 - react: 18.2.0 - dev: false + /@rollup/rollup-win32-x64-msvc@4.17.0: + resolution: {integrity: sha512-ve+D8t1prRSRnF2S3pyDtTXDlvW1Pngbz76tjgYFQW1jxVSysmQCZfPoDAo4WP+Ano8zeYp85LsArZBI12HfwQ==} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true - /@radix-ui/react-visually-hidden@1.0.3(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true + /@swc/helpers@0.5.11: + resolution: {integrity: sha512-YNlnKRWF2sVojTpIyzwou9XoTNbzbzONwRhOoniEioF1AtaitTvVZblaQRrAzChWQ1bLYyYSWzM18y4WwgzJ+A==} dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/react-primitive': 1.0.3(react-dom@18.2.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + tslib: 2.6.2 dev: false - /@react-aria/ssr@3.9.2(react@18.2.0): - resolution: {integrity: sha512-0gKkgDYdnq1w+ey8KzG9l+H5Z821qh9vVjztk55rUg71vTk/Eaebeir+WtzcLLwTjw3m/asIjx8Y59y1lJZhBw==} - engines: {node: '>= 12'} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 + /@types/babel__core@7.20.5: + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} dependencies: - '@swc/helpers': 0.5.6 - react: 18.2.0 - dev: false + '@babel/parser': 7.24.4 + '@babel/types': 7.24.0 + '@types/babel__generator': 7.6.8 + '@types/babel__template': 7.4.4 + '@types/babel__traverse': 7.20.5 + dev: true - /@remix-run/router@1.15.1: - resolution: {integrity: sha512-zcU0gM3z+3iqj8UX45AmWY810l3oUmXM7uH4dt5xtzvMhRtYVhKGOmgOd1877dOPPepfCjUv57w+syamWIYe7w==} - engines: {node: '>=14.0.0'} - dev: false + /@types/babel__generator@7.6.8: + resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} + dependencies: + '@babel/types': 7.24.0 + dev: true - /@restart/hooks@0.4.16(react@18.2.0): - resolution: {integrity: sha512-f7aCv7c+nU/3mF7NWLtVVr0Ra80RqsO89hO72r+Y/nvQr5+q0UFGkocElTH6MJApvReVh6JHUFYn2cw1WdHF3w==} - peerDependencies: - react: '>=16.8.0' + /@types/babel__template@7.4.4: + resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} dependencies: - dequal: 2.0.3 - react: 18.2.0 - dev: false + '@babel/parser': 7.24.4 + '@babel/types': 7.24.0 + dev: true - /@restart/ui@1.6.6(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-eC3puKuWE1SRYbojWHXnvCNHGgf3uzHCb6JOhnF4OXPibOIPEkR1sqDSkL643ydigxwh+ruCa1CmYHlzk7ikKA==} - peerDependencies: - react: '>=16.14.0' - react-dom: '>=16.14.0' + /@types/babel__traverse@7.20.5: + resolution: {integrity: sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==} dependencies: - '@babel/runtime': 7.23.9 - '@popperjs/core': 2.11.8 - '@react-aria/ssr': 3.9.2(react@18.2.0) - '@restart/hooks': 0.4.16(react@18.2.0) - '@types/warning': 3.0.3 - dequal: 2.0.3 - dom-helpers: 5.2.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - uncontrollable: 8.0.4(react@18.2.0) - warning: 4.0.3 - dev: false + '@babel/types': 7.24.0 + dev: true - /@rushstack/eslint-patch@1.7.2: - resolution: {integrity: sha512-RbhOOTCNoCrbfkRyoXODZp75MlpiHMgbE5MEBZAnnnLyQNgrigEj4p0lzsMDyc1zVsJDLrivB58tgg3emX0eEA==} + /@types/estree@1.0.5: + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} dev: true - /@swc/helpers@0.5.2: - resolution: {integrity: sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==} - dependencies: - tslib: 2.6.2 - dev: false + /@types/prop-types@15.7.12: + resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==} - /@swc/helpers@0.5.6: - resolution: {integrity: sha512-aYX01Ke9hunpoCexYAgQucEpARGQ5w/cqHFrIR+e9gdKb1QWTsVJuTJ2ozQzIAxLyRQe/m+2RqzkyOOGiMKRQA==} + /@types/react-dom@18.3.0: + resolution: {integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==} dependencies: - tslib: 2.6.2 - dev: false - - /@types/json5@0.0.29: - resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} + '@types/react': 18.3.1 dev: true - /@types/prop-types@15.7.11: - resolution: {integrity: sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==} - dev: false - /@types/react-transition-group@4.4.10: resolution: {integrity: sha512-hT/+s0VQs2ojCX823m60m5f0sL5idt9SO6Tj6Dg+rdphGPIeJbJ6CxvBYkgkGKrYeDjvIpKTR38UzmtHJOGW3Q==} dependencies: - '@types/react': 18.2.57 + '@types/react': 18.3.1 dev: false - /@types/react@18.2.57: - resolution: {integrity: sha512-ZvQsktJgSYrQiMirAN60y4O/LRevIV8hUzSOSNB6gfR3/o3wCBFQx3sPwIYtuDMeiVgsSS3UzCV26tEzgnfvQw==} + /@types/react@18.3.1: + resolution: {integrity: sha512-V0kuGBX3+prX+DQ/7r2qsv1NsdfnCLnTgnRJ1pYnxykBhGMz+qj+box5lq7XsO5mtZsBqpjwwTu/7wszPfMBcw==} dependencies: - '@types/prop-types': 15.7.11 - '@types/scheduler': 0.16.8 + '@types/prop-types': 15.7.12 csstype: 3.1.3 - dev: false - - /@types/scheduler@0.16.8: - resolution: {integrity: sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==} - dev: false /@types/warning@3.0.3: resolution: {integrity: sha512-D1XC7WK8K+zZEveUPY+cf4+kgauk8N4eHr/XIHXGlGYkHLud6hK9lYfZk1ry1TNh798cZUCgb6MqGEG8DkJt6Q==} dev: false - /@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@4.9.5): - resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) - debug: 4.3.4 - eslint: 8.57.0 - typescript: 4.9.5 - transitivePeerDependencies: - - supports-color - dev: true - - /@typescript-eslint/scope-manager@5.62.0: - resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/visitor-keys': 5.62.0 - dev: true - - /@typescript-eslint/types@5.62.0: - resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@ungap/structured-clone@1.2.0: + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true - /@typescript-eslint/typescript-estree@5.62.0(typescript@4.9.5): - resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@vitejs/plugin-react@4.2.1(vite@5.2.10): + resolution: {integrity: sha512-oojO9IDc4nCUUi8qIR11KoQm0XFFLIwsRBwHRR4d/88IWghn1y6ckz/bJ8GHDCsYEJee8mDzqtJxh15/cisJNQ==} + engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/visitor-keys': 5.62.0 - debug: 4.3.4 - globby: 11.1.0 - is-glob: 4.0.3 - semver: 7.6.0 - tsutils: 3.21.0(typescript@4.9.5) - typescript: 4.9.5 + vite: ^4.2.0 || ^5.0.0 + dependencies: + '@babel/core': 7.24.4 + '@babel/plugin-transform-react-jsx-self': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-react-jsx-source': 7.24.1(@babel/core@7.24.4) + '@types/babel__core': 7.20.5 + react-refresh: 0.14.2 + vite: 5.2.10(sass@1.75.0) transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/visitor-keys@5.62.0: - resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - '@typescript-eslint/types': 5.62.0 - eslint-visitor-keys: 3.4.3 - dev: true - - /@ungap/structured-clone@1.2.0: - resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - /acorn-jsx@5.3.2(acorn@8.11.3): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: acorn: 8.11.3 + dev: true /acorn@8.11.3: resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} engines: {node: '>=0.4.0'} hasBin: true + dev: true /ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} @@ -783,34 +882,25 @@ packages: fast-json-stable-stringify: 2.1.0 json-schema-traverse: 0.4.1 uri-js: 4.4.1 - - /ansi-escapes@6.2.0: - resolution: {integrity: sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw==} - engines: {node: '>=14.16'} - dependencies: - type-fest: 3.13.1 - dev: false + dev: true /ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} + dev: true - /ansi-regex@6.0.1: - resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} - engines: {node: '>=12'} + /ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + dependencies: + color-convert: 1.9.3 + dev: true /ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} dependencies: color-convert: 2.0.1 - - /ansi-styles@6.2.1: - resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} - engines: {node: '>=12'} - - /any-promise@1.3.0: - resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} dev: true /anymatch@3.1.3: @@ -820,17 +910,8 @@ packages: normalize-path: 3.0.0 picomatch: 2.3.1 - /arg@5.0.2: - resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} - dev: true - /argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - - /aria-query@5.3.0: - resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} - dependencies: - dequal: 2.0.3 dev: true /array-buffer-byte-length@1.0.1: @@ -841,41 +922,27 @@ packages: is-array-buffer: 3.0.4 dev: true - /array-includes@3.1.7: - resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==} + /array-includes@3.1.8: + resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.4 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 get-intrinsic: 1.2.4 is-string: 1.0.7 dev: true - /array-union@2.1.0: - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} - engines: {node: '>=8'} - dev: true - - /array.prototype.filter@1.0.3: - resolution: {integrity: sha512-VizNcj/RGJiUyQBgzwxzE5oHdeuXY5hSbbmKMlphj1cy1Vl7Pn2asCGbSrru6hSQjmCzqTBPVWAF/whmEOVHbw==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.22.4 - es-array-method-boxes-properly: 1.0.0 - is-string: 1.0.7 - dev: true - - /array.prototype.findlastindex@1.2.4: - resolution: {integrity: sha512-hzvSHUshSpCflDR1QMUBLHGHP1VIEBegT4pix9H/Z92Xw3ySoy6c2qh7lJWTJnRJ8JCZ9bJNCgTyYaJGcJu6xQ==} + /array.prototype.findlast@1.2.5: + resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.4 + es-abstract: 1.23.3 es-errors: 1.3.0 + es-object-atoms: 1.0.0 es-shim-unscopables: 1.0.2 dev: true @@ -885,7 +952,7 @@ packages: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.4 + es-abstract: 1.23.3 es-shim-unscopables: 1.0.2 dev: true @@ -895,7 +962,16 @@ packages: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.4 + es-abstract: 1.23.3 + es-shim-unscopables: 1.0.2 + dev: true + + /array.prototype.toreversed@1.1.2: + resolution: {integrity: sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 es-shim-unscopables: 1.0.2 dev: true @@ -904,7 +980,7 @@ packages: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.4 + es-abstract: 1.23.3 es-errors: 1.3.0 es-shim-unscopables: 1.0.2 dev: true @@ -916,23 +992,13 @@ packages: array-buffer-byte-length: 1.0.1 call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.4 + es-abstract: 1.23.3 es-errors: 1.3.0 get-intrinsic: 1.2.4 is-array-buffer: 3.0.4 is-shared-array-buffer: 1.0.3 dev: true - /ast-types-flow@0.0.8: - resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} - dev: true - - /asynciterator.prototype@1.0.0: - resolution: {integrity: sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==} - dependencies: - has-symbols: 1.0.3 - dev: true - /available-typed-arrays@1.0.7: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} @@ -940,22 +1006,12 @@ packages: possible-typed-array-names: 1.0.0 dev: true - /axe-core@4.7.0: - resolution: {integrity: sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==} - engines: {node: '>=4'} - dev: true - - /axobject-query@3.2.1: - resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==} - dependencies: - dequal: 2.0.3 - dev: true - /balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + dev: true - /binary-extensions@2.2.0: - resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + /binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} /brace-expansion@1.1.11: @@ -963,11 +1019,6 @@ packages: dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 - - /brace-expansion@2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} - dependencies: - balanced-match: 1.0.2 dev: true /braces@3.0.2: @@ -976,12 +1027,16 @@ packages: dependencies: fill-range: 7.0.1 - /busboy@1.6.0: - resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} - engines: {node: '>=10.16.0'} + /browserslist@4.23.0: + resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true dependencies: - streamsearch: 1.1.0 - dev: false + caniuse-lite: 1.0.30001614 + electron-to-chromium: 1.4.750 + node-releases: 2.0.14 + update-browserslist-db: 1.0.13(browserslist@4.23.0) + dev: true /call-bind@1.0.7: resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} @@ -991,21 +1046,26 @@ packages: es-errors: 1.3.0 function-bind: 1.1.2 get-intrinsic: 1.2.4 - set-function-length: 1.2.1 + set-function-length: 1.2.2 dev: true /callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} + dev: true - /camelcase-css@2.0.1: - resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} - engines: {node: '>= 6'} + /caniuse-lite@1.0.30001614: + resolution: {integrity: sha512-jmZQ1VpmlRwHgdP1/uiKzgiAuGOfLEJsYFP4+GBou/QQ4U6IOJCB4NP1c+1p9RGLpwObcT94jA5/uO+F1vBbog==} dev: true - /caniuse-lite@1.0.30001588: - resolution: {integrity: sha512-+hVY9jE44uKLkH0SrUTqxjxqNTOWHsbnQDIKjwkZ3lNTzUUVdBLBGXtj/q5Mp5u98r3droaZAewQuEDzjQdZlQ==} - dev: false + /chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + dev: true /chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} @@ -1013,11 +1073,7 @@ packages: dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 - - /chalk@5.3.0: - resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - dev: false + dev: true /chokidar@3.6.0: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} @@ -1037,50 +1093,34 @@ packages: resolution: {integrity: sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==} dev: false - /cli-cursor@4.0.0: - resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - restore-cursor: 4.0.0 - dev: false - - /cli-truncate@4.0.0: - resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==} - engines: {node: '>=18'} + /color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} dependencies: - slice-ansi: 5.0.0 - string-width: 7.1.0 - dev: false - - /client-only@0.0.1: - resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} - dev: false + color-name: 1.1.3 + dev: true /color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} dependencies: color-name: 1.1.4 + dev: true + + /color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + dev: true /color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - - /colorette@2.0.20: - resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} - dev: false - - /commander@11.1.0: - resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} - engines: {node: '>=16'} - dev: false - - /commander@4.1.1: - resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} - engines: {node: '>= 6'} dev: true /concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + dev: true + + /convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + dev: true /cross-spawn@7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} @@ -1089,30 +1129,36 @@ packages: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 - - /cssesc@3.0.0: - resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} - engines: {node: '>=4'} - hasBin: true dev: true /csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} - dev: false - /damerau-levenshtein@1.0.8: - resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} + /data-view-buffer@1.0.1: + resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 dev: true - /debug@3.2.7: - resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true + /data-view-byte-length@1.0.1: + resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + dev: true + + /data-view-byte-offset@1.0.0: + resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} + engines: {node: '>= 0.4'} dependencies: - ms: 2.1.3 + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 dev: true /debug@4.3.4: @@ -1125,9 +1171,11 @@ packages: optional: true dependencies: ms: 2.1.2 + dev: true /deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + dev: true /define-data-property@1.1.4: resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} @@ -1150,21 +1198,7 @@ packages: /dequal@2.0.3: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} - - /didyoumean@1.2.2: - resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} - dev: true - - /dir-glob@3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} - dependencies: - path-type: 4.0.0 - dev: true - - /dlv@1.1.3: - resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} - dev: true + dev: false /doctrine@2.1.0: resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} @@ -1178,48 +1212,33 @@ packages: engines: {node: '>=6.0.0'} dependencies: esutils: 2.0.3 + dev: true /dom-helpers@5.2.1: resolution: {integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==} dependencies: - '@babel/runtime': 7.23.9 + '@babel/runtime': 7.24.4 csstype: 3.1.3 dev: false - /eastasianwidth@0.2.0: - resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + /electron-to-chromium@1.4.750: + resolution: {integrity: sha512-9ItEpeu15hW5m8jKdriL+BQrgwDTXEL9pn4SkillWFu73ZNNNQ2BKKLS+ZHv2vC9UkNhosAeyfxOf/5OSeTCPA==} dev: true - /emoji-regex@10.3.0: - resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==} - dev: false - - /emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - dev: true - - /emoji-regex@9.2.2: - resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - dev: true - - /enhanced-resolve@5.15.0: - resolution: {integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==} - engines: {node: '>=10.13.0'} - dependencies: - graceful-fs: 4.2.11 - tapable: 2.2.1 - dev: true - - /es-abstract@1.22.4: - resolution: {integrity: sha512-vZYJlk2u6qHYxBOTjAeg7qUxHdNfih64Uu2J8QqWgXZ2cri0ZpJAkzDUK/q593+mvKwlxyaxr6F1Q+3LKoQRgg==} + /es-abstract@1.23.3: + resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} engines: {node: '>= 0.4'} dependencies: array-buffer-byte-length: 1.0.1 arraybuffer.prototype.slice: 1.0.3 available-typed-arrays: 1.0.7 call-bind: 1.0.7 + data-view-buffer: 1.0.1 + data-view-byte-length: 1.0.1 + data-view-byte-offset: 1.0.0 es-define-property: 1.0.0 es-errors: 1.3.0 + es-object-atoms: 1.0.0 es-set-tostringtag: 2.0.3 es-to-primitive: 1.2.1 function.prototype.name: 1.1.6 @@ -1230,10 +1249,11 @@ packages: has-property-descriptors: 1.0.2 has-proto: 1.0.3 has-symbols: 1.0.3 - hasown: 2.0.1 + hasown: 2.0.2 internal-slot: 1.0.7 is-array-buffer: 3.0.4 is-callable: 1.2.7 + is-data-view: 1.0.1 is-negative-zero: 2.0.3 is-regex: 1.1.4 is-shared-array-buffer: 1.0.3 @@ -1244,21 +1264,17 @@ packages: object-keys: 1.1.1 object.assign: 4.1.5 regexp.prototype.flags: 1.5.2 - safe-array-concat: 1.1.0 + safe-array-concat: 1.1.2 safe-regex-test: 1.0.3 - string.prototype.trim: 1.2.8 - string.prototype.trimend: 1.0.7 - string.prototype.trimstart: 1.0.7 + string.prototype.trim: 1.2.9 + string.prototype.trimend: 1.0.8 + string.prototype.trimstart: 1.0.8 typed-array-buffer: 1.0.2 typed-array-byte-length: 1.0.1 typed-array-byte-offset: 1.0.2 - typed-array-length: 1.0.5 + typed-array-length: 1.0.6 unbox-primitive: 1.0.2 - which-typed-array: 1.1.14 - dev: true - - /es-array-method-boxes-properly@1.0.0: - resolution: {integrity: sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==} + which-typed-array: 1.1.15 dev: true /es-define-property@1.0.0: @@ -1273,14 +1289,13 @@ packages: engines: {node: '>= 0.4'} dev: true - /es-iterator-helpers@1.0.17: - resolution: {integrity: sha512-lh7BsUqelv4KUbR5a/ZTaGGIMLCjPGPqJ6q+Oq24YP0RdyptX1uzm4vvaqzk7Zx3bpl/76YLTTDj9L7uYQ92oQ==} + /es-iterator-helpers@1.0.19: + resolution: {integrity: sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==} engines: {node: '>= 0.4'} dependencies: - asynciterator.prototype: 1.0.0 call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.4 + es-abstract: 1.23.3 es-errors: 1.3.0 es-set-tostringtag: 2.0.3 function-bind: 1.1.2 @@ -1291,7 +1306,14 @@ packages: has-symbols: 1.0.3 internal-slot: 1.0.7 iterator.prototype: 1.1.2 - safe-array-concat: 1.1.0 + safe-array-concat: 1.1.2 + dev: true + + /es-object-atoms@1.0.0: + resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} + engines: {node: '>= 0.4'} + dependencies: + es-errors: 1.3.0 dev: true /es-set-tostringtag@2.0.3: @@ -1300,13 +1322,13 @@ packages: dependencies: get-intrinsic: 1.2.4 has-tostringtag: 1.0.2 - hasown: 2.0.1 + hasown: 2.0.2 dev: true /es-shim-unscopables@1.0.2: resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} dependencies: - hasown: 2.0.1 + hasown: 2.0.2 dev: true /es-to-primitive@1.2.1: @@ -1318,190 +1340,94 @@ packages: is-symbol: 1.0.4 dev: true - /escape-string-regexp@4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} - - /eslint-config-next@14.1.2(eslint@8.57.0)(typescript@4.9.5): - resolution: {integrity: sha512-g46mlgWmHoWhHuDbaQS8PLNQtBkVkiQMnVLhFcqnPSXN2I+R4Obom3ihCIQuNLbjVUgiFFHqmEwwtDuWv1wYKA==} - peerDependencies: - eslint: ^7.23.0 || ^8.0.0 - typescript: '>=3.3.1' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@next/eslint-plugin-next': 14.1.2 - '@rushstack/eslint-patch': 1.7.2 - '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@4.9.5) - eslint: 8.57.0 - eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) - eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0) - eslint-plugin-react: 7.33.2(eslint@8.57.0) - eslint-plugin-react-hooks: 4.6.0(eslint@8.57.0) - typescript: 4.9.5 - transitivePeerDependencies: - - eslint-import-resolver-webpack - - supports-color - dev: true - - /eslint-import-resolver-node@0.3.9: - resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} - dependencies: - debug: 3.2.7 - is-core-module: 2.13.1 - resolve: 1.22.8 - transitivePeerDependencies: - - supports-color - dev: true - - /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0): - resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} - engines: {node: ^14.18.0 || >=16.0.0} - peerDependencies: - eslint: '*' - eslint-plugin-import: '*' - dependencies: - debug: 4.3.4 - enhanced-resolve: 5.15.0 - eslint: 8.57.0 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) - fast-glob: 3.3.2 - get-tsconfig: 4.7.2 - is-core-module: 2.13.1 - is-glob: 4.0.3 - transitivePeerDependencies: - - '@typescript-eslint/parser' - - eslint-import-resolver-node - - eslint-import-resolver-webpack - - supports-color + /esbuild@0.20.2: + resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/aix-ppc64': 0.20.2 + '@esbuild/android-arm': 0.20.2 + '@esbuild/android-arm64': 0.20.2 + '@esbuild/android-x64': 0.20.2 + '@esbuild/darwin-arm64': 0.20.2 + '@esbuild/darwin-x64': 0.20.2 + '@esbuild/freebsd-arm64': 0.20.2 + '@esbuild/freebsd-x64': 0.20.2 + '@esbuild/linux-arm': 0.20.2 + '@esbuild/linux-arm64': 0.20.2 + '@esbuild/linux-ia32': 0.20.2 + '@esbuild/linux-loong64': 0.20.2 + '@esbuild/linux-mips64el': 0.20.2 + '@esbuild/linux-ppc64': 0.20.2 + '@esbuild/linux-riscv64': 0.20.2 + '@esbuild/linux-s390x': 0.20.2 + '@esbuild/linux-x64': 0.20.2 + '@esbuild/netbsd-x64': 0.20.2 + '@esbuild/openbsd-x64': 0.20.2 + '@esbuild/sunos-x64': 0.20.2 + '@esbuild/win32-arm64': 0.20.2 + '@esbuild/win32-ia32': 0.20.2 + '@esbuild/win32-x64': 0.20.2 + dev: true + + /escalade@3.1.2: + resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} + engines: {node: '>=6'} dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): - resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: '*' - eslint-import-resolver-node: '*' - eslint-import-resolver-typescript: '*' - eslint-import-resolver-webpack: '*' - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - eslint: - optional: true - eslint-import-resolver-node: - optional: true - eslint-import-resolver-typescript: - optional: true - eslint-import-resolver-webpack: - optional: true - dependencies: - '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@4.9.5) - debug: 3.2.7 - eslint: 8.57.0 - eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0) - transitivePeerDependencies: - - supports-color + /escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} dev: true - /eslint-plugin-import@2.29.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): - resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - dependencies: - '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@4.9.5) - array-includes: 3.1.7 - array.prototype.findlastindex: 1.2.4 - array.prototype.flat: 1.3.2 - array.prototype.flatmap: 1.3.2 - debug: 3.2.7 - doctrine: 2.1.0 - eslint: 8.57.0 - eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) - hasown: 2.0.1 - is-core-module: 2.13.1 - is-glob: 4.0.3 - minimatch: 3.1.2 - object.fromentries: 2.0.7 - object.groupby: 1.0.2 - object.values: 1.1.7 - semver: 6.3.1 - tsconfig-paths: 3.15.0 - transitivePeerDependencies: - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - supports-color + /escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} dev: true - /eslint-plugin-jsx-a11y@6.8.0(eslint@8.57.0): - resolution: {integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==} - engines: {node: '>=4.0'} + /eslint-plugin-react-hooks@4.6.2(eslint@8.57.0): + resolution: {integrity: sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==} + engines: {node: '>=10'} peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 dependencies: - '@babel/runtime': 7.23.9 - aria-query: 5.3.0 - array-includes: 3.1.7 - array.prototype.flatmap: 1.3.2 - ast-types-flow: 0.0.8 - axe-core: 4.7.0 - axobject-query: 3.2.1 - damerau-levenshtein: 1.0.8 - emoji-regex: 9.2.2 - es-iterator-helpers: 1.0.17 eslint: 8.57.0 - hasown: 2.0.1 - jsx-ast-utils: 3.3.5 - language-tags: 1.0.9 - minimatch: 3.1.2 - object.entries: 1.1.7 - object.fromentries: 2.0.7 dev: true - /eslint-plugin-react-hooks@4.6.0(eslint@8.57.0): - resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} - engines: {node: '>=10'} + /eslint-plugin-react-refresh@0.4.6(eslint@8.57.0): + resolution: {integrity: sha512-NjGXdm7zgcKRkKMua34qVO9doI7VOxZ6ancSvBELJSSoX97jyndXcSoa8XBh69JoB31dNz3EEzlMcizZl7LaMA==} peerDependencies: - eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 + eslint: '>=7' dependencies: eslint: 8.57.0 dev: true - /eslint-plugin-react@7.33.2(eslint@8.57.0): - resolution: {integrity: sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==} + /eslint-plugin-react@7.34.1(eslint@8.57.0): + resolution: {integrity: sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==} engines: {node: '>=4'} peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 dependencies: - array-includes: 3.1.7 + array-includes: 3.1.8 + array.prototype.findlast: 1.2.5 array.prototype.flatmap: 1.3.2 + array.prototype.toreversed: 1.1.2 array.prototype.tosorted: 1.1.3 doctrine: 2.1.0 - es-iterator-helpers: 1.0.17 + es-iterator-helpers: 1.0.19 eslint: 8.57.0 estraverse: 5.3.0 jsx-ast-utils: 3.3.5 minimatch: 3.1.2 - object.entries: 1.1.7 - object.fromentries: 2.0.7 - object.hasown: 1.1.3 - object.values: 1.1.7 + object.entries: 1.1.8 + object.fromentries: 2.0.8 + object.hasown: 1.1.4 + object.values: 1.2.0 prop-types: 15.8.1 resolve: 2.0.0-next.5 semver: 6.3.1 - string.prototype.matchall: 4.0.10 + string.prototype.matchall: 4.0.11 dev: true /eslint-scope@7.2.2: @@ -1510,10 +1436,12 @@ packages: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 + dev: true /eslint-visitor-keys@3.4.3: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true /eslint@8.57.0: resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} @@ -1555,11 +1483,12 @@ packages: lodash.merge: 4.6.2 minimatch: 3.1.2 natural-compare: 1.4.0 - optionator: 0.9.3 + optionator: 0.9.4 strip-ansi: 6.0.1 text-table: 0.2.0 transitivePeerDependencies: - supports-color + dev: true /espree@9.6.1: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} @@ -1568,76 +1497,56 @@ packages: acorn: 8.11.3 acorn-jsx: 5.3.2(acorn@8.11.3) eslint-visitor-keys: 3.4.3 + dev: true /esquery@1.5.0: resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} engines: {node: '>=0.10'} dependencies: estraverse: 5.3.0 + dev: true /esrecurse@4.3.0: resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} engines: {node: '>=4.0'} dependencies: estraverse: 5.3.0 + dev: true /estraverse@5.3.0: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} + dev: true /esutils@2.0.3: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} - - /eventemitter3@5.0.1: - resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} - dev: false - - /execa@8.0.1: - resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} - engines: {node: '>=16.17'} - dependencies: - cross-spawn: 7.0.3 - get-stream: 8.0.1 - human-signals: 5.0.0 - is-stream: 3.0.0 - merge-stream: 2.0.0 - npm-run-path: 5.3.0 - onetime: 6.0.0 - signal-exit: 4.1.0 - strip-final-newline: 3.0.0 - dev: false + dev: true /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - - /fast-glob@3.3.2: - resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} - engines: {node: '>=8.6.0'} - dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.5 dev: true /fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + dev: true /fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + dev: true /fastq@1.17.1: resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} dependencies: reusify: 1.0.4 + dev: true /file-entry-cache@6.0.1: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: flat-cache: 3.2.0 + dev: true /fill-range@7.0.1: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} @@ -1651,6 +1560,7 @@ packages: dependencies: locate-path: 6.0.0 path-exists: 4.0.0 + dev: true /flat-cache@3.2.0: resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} @@ -1659,9 +1569,11 @@ packages: flatted: 3.3.1 keyv: 4.5.4 rimraf: 3.0.2 + dev: true /flatted@3.3.1: resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + dev: true /for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} @@ -1669,16 +1581,9 @@ packages: is-callable: 1.2.7 dev: true - /foreground-child@3.1.1: - resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} - engines: {node: '>=14'} - dependencies: - cross-spawn: 7.0.3 - signal-exit: 4.1.0 - dev: true - /fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + dev: true /fsevents@2.3.3: resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} @@ -1697,7 +1602,7 @@ packages: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.4 + es-abstract: 1.23.3 functions-have-names: 1.2.3 dev: true @@ -1705,10 +1610,10 @@ packages: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} dev: true - /get-east-asian-width@1.2.0: - resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==} - engines: {node: '>=18'} - dev: false + /gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + dev: true /get-intrinsic@1.2.4: resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} @@ -1718,14 +1623,9 @@ packages: function-bind: 1.1.2 has-proto: 1.0.3 has-symbols: 1.0.3 - hasown: 2.0.1 + hasown: 2.0.2 dev: true - /get-stream@8.0.1: - resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} - engines: {node: '>=16'} - dev: false - /get-symbol-description@1.0.2: resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} engines: {node: '>= 0.4'} @@ -1735,12 +1635,6 @@ packages: get-intrinsic: 1.2.4 dev: true - /get-tsconfig@4.7.2: - resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==} - dependencies: - resolve-pkg-maps: 1.0.0 - dev: true - /glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -1752,17 +1646,6 @@ packages: engines: {node: '>=10.13.0'} dependencies: is-glob: 4.0.3 - - /glob@10.3.10: - resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} - engines: {node: '>=16 || 14 >=14.17'} - hasBin: true - dependencies: - foreground-child: 3.1.1 - jackspeak: 2.3.6 - minimatch: 9.0.3 - minipass: 7.0.4 - path-scurry: 1.10.1 dev: true /glob@7.2.3: @@ -1774,12 +1657,19 @@ packages: minimatch: 3.1.2 once: 1.4.0 path-is-absolute: 1.0.1 + dev: true + + /globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + dev: true /globals@13.24.0: resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} engines: {node: '>=8'} dependencies: type-fest: 0.20.2 + dev: true /globalthis@1.0.3: resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} @@ -1788,37 +1678,29 @@ packages: define-properties: 1.2.1 dev: true - /globby@11.1.0: - resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} - engines: {node: '>=10'} - dependencies: - array-union: 2.1.0 - dir-glob: 3.0.1 - fast-glob: 3.3.2 - ignore: 5.3.1 - merge2: 1.4.1 - slash: 3.0.0 - dev: true - /gopd@1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} dependencies: get-intrinsic: 1.2.4 dev: true - /graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - /graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + dev: true /has-bigints@1.0.2: resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} dev: true + /has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + dev: true + /has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} + dev: true /has-property-descriptors@1.0.2: resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} @@ -1843,31 +1725,20 @@ packages: has-symbols: 1.0.3 dev: true - /hasown@2.0.1: - resolution: {integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==} + /hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} dependencies: function-bind: 1.1.2 dev: true - /human-signals@5.0.0: - resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} - engines: {node: '>=16.17.0'} - dev: false - - /husky@9.0.11: - resolution: {integrity: sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw==} - engines: {node: '>=18'} - hasBin: true - dev: true - /ignore@5.3.1: resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} engines: {node: '>= 4'} + dev: true /immutable@4.3.5: resolution: {integrity: sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==} - dev: false /import-fresh@3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} @@ -1875,27 +1746,31 @@ packages: dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 + dev: true /imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} + dev: true /inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} dependencies: once: 1.4.0 wrappy: 1.0.2 + dev: true /inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + dev: true /internal-slot@1.0.7: resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} engines: {node: '>= 0.4'} dependencies: es-errors: 1.3.0 - hasown: 2.0.1 - side-channel: 1.0.5 + hasown: 2.0.2 + side-channel: 1.0.6 dev: true /invariant@2.2.4: @@ -1929,7 +1804,7 @@ packages: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} dependencies: - binary-extensions: 2.2.0 + binary-extensions: 2.3.0 /is-boolean-object@1.1.2: resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} @@ -1947,7 +1822,14 @@ packages: /is-core-module@2.13.1: resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} dependencies: - hasown: 2.0.1 + hasown: 2.0.2 + dev: true + + /is-data-view@1.0.1: + resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} + engines: {node: '>= 0.4'} + dependencies: + is-typed-array: 1.1.13 dev: true /is-date-object@1.0.5: @@ -1967,23 +1849,6 @@ packages: call-bind: 1.0.7 dev: true - /is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} - dev: true - - /is-fullwidth-code-point@4.0.0: - resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} - engines: {node: '>=12'} - dev: false - - /is-fullwidth-code-point@5.0.0: - resolution: {integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==} - engines: {node: '>=18'} - dependencies: - get-east-asian-width: 1.2.0 - dev: false - /is-generator-function@1.0.10: resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} engines: {node: '>= 0.4'} @@ -1997,8 +1862,9 @@ packages: dependencies: is-extglob: 2.1.1 - /is-map@2.0.2: - resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==} + /is-map@2.0.3: + resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} + engines: {node: '>= 0.4'} dev: true /is-negative-zero@2.0.3: @@ -2020,6 +1886,7 @@ packages: /is-path-inside@3.0.3: resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} engines: {node: '>=8'} + dev: true /is-regex@1.1.4: resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} @@ -2029,8 +1896,9 @@ packages: has-tostringtag: 1.0.2 dev: true - /is-set@2.0.2: - resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==} + /is-set@2.0.3: + resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} + engines: {node: '>= 0.4'} dev: true /is-shared-array-buffer@1.0.3: @@ -2040,11 +1908,6 @@ packages: call-bind: 1.0.7 dev: true - /is-stream@3.0.0: - resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: false - /is-string@1.0.7: resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} engines: {node: '>= 0.4'} @@ -2063,11 +1926,12 @@ packages: resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} engines: {node: '>= 0.4'} dependencies: - which-typed-array: 1.1.14 + which-typed-array: 1.1.15 dev: true - /is-weakmap@2.0.1: - resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==} + /is-weakmap@2.0.2: + resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} + engines: {node: '>= 0.4'} dev: true /is-weakref@1.0.2: @@ -2076,8 +1940,9 @@ packages: call-bind: 1.0.7 dev: true - /is-weakset@2.0.2: - resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==} + /is-weakset@2.0.3: + resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 get-intrinsic: 1.2.4 @@ -2089,6 +1954,7 @@ packages: /isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: true /iterator.prototype@1.1.2: resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} @@ -2096,24 +1962,10 @@ packages: define-properties: 1.2.1 get-intrinsic: 1.2.4 has-symbols: 1.0.3 - reflect.getprototypeof: 1.0.5 + reflect.getprototypeof: 1.0.6 set-function-name: 2.0.2 dev: true - /jackspeak@2.3.6: - resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} - engines: {node: '>=14'} - dependencies: - '@isaacs/cliui': 8.0.2 - optionalDependencies: - '@pkgjs/parseargs': 0.11.0 - dev: true - - /jiti@1.21.0: - resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} - hasBin: true - dev: true - /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -2122,47 +1974,46 @@ packages: hasBin: true dependencies: argparse: 2.0.1 + dev: true + + /jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + dev: true /json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + dev: true /json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + dev: true /json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + dev: true - /json5@1.0.2: - resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} + /json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} hasBin: true - dependencies: - minimist: 1.2.8 dev: true /jsx-ast-utils@3.3.5: resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} engines: {node: '>=4.0'} dependencies: - array-includes: 3.1.7 + array-includes: 3.1.8 array.prototype.flat: 1.3.2 object.assign: 4.1.5 - object.values: 1.1.7 + object.values: 1.2.0 dev: true /keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} dependencies: json-buffer: 3.0.1 - - /language-subtag-registry@0.3.22: - resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==} - dev: true - - /language-tags@1.0.9: - resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} - engines: {node: '>=0.10'} - dependencies: - language-subtag-registry: 0.3.22 dev: true /levn@0.4.1: @@ -2171,76 +2022,18 @@ packages: dependencies: prelude-ls: 1.2.1 type-check: 0.4.0 - - /lilconfig@2.1.0: - resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} - engines: {node: '>=10'} - dev: true - - /lilconfig@3.0.0: - resolution: {integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==} - engines: {node: '>=14'} - dev: false - - /lilconfig@3.1.1: - resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==} - engines: {node: '>=14'} dev: true - /lines-and-columns@1.2.4: - resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - dev: true - - /lint-staged@15.2.2: - resolution: {integrity: sha512-TiTt93OPh1OZOsb5B7k96A/ATl2AjIZo+vnzFZ6oHK5FuTk63ByDtxGQpHm+kFETjEWqgkF95M8FRXKR/LEBcw==} - engines: {node: '>=18.12.0'} - hasBin: true - dependencies: - chalk: 5.3.0 - commander: 11.1.0 - debug: 4.3.4 - execa: 8.0.1 - lilconfig: 3.0.0 - listr2: 8.0.1 - micromatch: 4.0.5 - pidtree: 0.6.0 - string-argv: 0.3.2 - yaml: 2.3.4 - transitivePeerDependencies: - - supports-color - dev: false - - /listr2@8.0.1: - resolution: {integrity: sha512-ovJXBXkKGfq+CwmKTjluEqFi3p4h8xvkxGQQAQan22YCgef4KZ1mKGjzfGh6PL6AW5Csw0QiQPNuQyH+6Xk3hA==} - engines: {node: '>=18.0.0'} - dependencies: - cli-truncate: 4.0.0 - colorette: 2.0.20 - eventemitter3: 5.0.1 - log-update: 6.0.0 - rfdc: 1.3.1 - wrap-ansi: 9.0.0 - dev: false - /locate-path@6.0.0: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} dependencies: p-locate: 5.0.0 + dev: true /lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - - /log-update@6.0.0: - resolution: {integrity: sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==} - engines: {node: '>=18'} - dependencies: - ansi-escapes: 6.2.0 - cli-cursor: 4.0.0 - slice-ansi: 7.1.0 - strip-ansi: 7.1.0 - wrap-ansi: 9.0.0 - dev: false + dev: true /loose-envify@1.4.0: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} @@ -2248,148 +2041,44 @@ packages: dependencies: js-tokens: 4.0.0 - /lru-cache@10.2.0: - resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} - engines: {node: 14 || >=16.14} - dev: true - - /lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} + /lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} dependencies: - yallist: 4.0.0 - dev: true - - /merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - dev: false - - /merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} + yallist: 3.1.1 dev: true - /micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} - engines: {node: '>=8.6'} - dependencies: - braces: 3.0.2 - picomatch: 2.3.1 - - /mimic-fn@2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} - dev: false - - /mimic-fn@4.0.0: - resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} - engines: {node: '>=12'} - dev: false - /minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: brace-expansion: 1.1.11 - - /minimatch@9.0.3: - resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} - engines: {node: '>=16 || 14 >=14.17'} - dependencies: - brace-expansion: 2.0.1 - dev: true - - /minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - dev: true - - /minipass@7.0.4: - resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} - engines: {node: '>=16 || 14 >=14.17'} dev: true /ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - - /ms@2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - dev: true - - /mz@2.7.0: - resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} - dependencies: - any-promise: 1.3.0 - object-assign: 4.1.1 - thenify-all: 1.6.0 dev: true /nanoid@3.3.7: - resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - - /natural-compare@1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - - /next@14.1.1(react-dom@18.2.0)(react@18.2.0)(sass@1.71.1): - resolution: {integrity: sha512-McrGJqlGSHeaz2yTRPkEucxQKe5Zq7uPwyeHNmJaZNY4wx9E9QdxmTp310agFRoMuIYgQrCrT3petg13fSVOww==} - engines: {node: '>=18.17.0'} - hasBin: true - peerDependencies: - '@opentelemetry/api': ^1.1.0 - react: ^18.2.0 - react-dom: ^18.2.0 - sass: ^1.3.0 - peerDependenciesMeta: - '@opentelemetry/api': - optional: true - sass: - optional: true - dependencies: - '@next/env': 14.1.1 - '@swc/helpers': 0.5.2 - busboy: 1.6.0 - caniuse-lite: 1.0.30001588 - graceful-fs: 4.2.11 - postcss: 8.4.31 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - sass: 1.71.1 - styled-jsx: 5.1.1(react@18.2.0) - optionalDependencies: - '@next/swc-darwin-arm64': 14.1.1 - '@next/swc-darwin-x64': 14.1.1 - '@next/swc-linux-arm64-gnu': 14.1.1 - '@next/swc-linux-arm64-musl': 14.1.1 - '@next/swc-linux-x64-gnu': 14.1.1 - '@next/swc-linux-x64-musl': 14.1.1 - '@next/swc-win32-arm64-msvc': 14.1.1 - '@next/swc-win32-ia32-msvc': 14.1.1 - '@next/swc-win32-x64-msvc': 14.1.1 - transitivePeerDependencies: - - '@babel/core' - - babel-plugin-macros - dev: false + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + dev: true + + /natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + dev: true + + /node-releases@2.0.14: + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + dev: true /normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} - /npm-run-path@5.3.0: - resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - path-key: 4.0.0 - dev: false - /object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} - /object-hash@3.0.0: - resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} - engines: {node: '>= 6'} - dev: true - /object-inspect@1.13.1: resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} dev: true @@ -2409,249 +2098,134 @@ packages: object-keys: 1.1.1 dev: true - /object.entries@1.1.7: - resolution: {integrity: sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==} + /object.entries@1.1.8: + resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.4 + es-object-atoms: 1.0.0 dev: true - /object.fromentries@2.0.7: - resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==} + /object.fromentries@2.0.8: + resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.4 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 dev: true - /object.groupby@1.0.2: - resolution: {integrity: sha512-bzBq58S+x+uo0VjurFT0UktpKHOZmv4/xePiOA1nbB9pMqpGK7rUPNgf+1YC+7mE+0HzhTMqNUuCqvKhj6FnBw==} - dependencies: - array.prototype.filter: 1.0.3 - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.22.4 - es-errors: 1.3.0 - dev: true - - /object.hasown@1.1.3: - resolution: {integrity: sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==} + /object.hasown@1.1.4: + resolution: {integrity: sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==} + engines: {node: '>= 0.4'} dependencies: define-properties: 1.2.1 - es-abstract: 1.22.4 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 dev: true - /object.values@1.1.7: - resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} + /object.values@1.2.0: + resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.4 + es-object-atoms: 1.0.0 dev: true /once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: wrappy: 1.0.2 + dev: true - /onetime@5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} - dependencies: - mimic-fn: 2.1.0 - dev: false - - /onetime@6.0.0: - resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} - engines: {node: '>=12'} - dependencies: - mimic-fn: 4.0.0 - dev: false - - /optionator@0.9.3: - resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + /optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} dependencies: - '@aashutoshrathi/word-wrap': 1.2.6 deep-is: 0.1.4 fast-levenshtein: 2.0.6 levn: 0.4.1 prelude-ls: 1.2.1 type-check: 0.4.0 + word-wrap: 1.2.5 + dev: true /p-limit@3.1.0: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} dependencies: yocto-queue: 0.1.0 + dev: true /p-locate@5.0.0: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} dependencies: p-limit: 3.1.0 + dev: true /parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} dependencies: callsites: 3.1.0 + dev: true /path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} + dev: true /path-is-absolute@1.0.1: resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} engines: {node: '>=0.10.0'} + dev: true /path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} - - /path-key@4.0.0: - resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} - engines: {node: '>=12'} - dev: false + dev: true /path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} dev: true - /path-scurry@1.10.1: - resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} - engines: {node: '>=16 || 14 >=14.17'} - dependencies: - lru-cache: 10.2.0 - minipass: 7.0.4 - dev: true - - /path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} - dev: true - /picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + dev: true /picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} - /pidtree@0.6.0: - resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} - engines: {node: '>=0.10'} - hasBin: true - dev: false - - /pify@2.3.0: - resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} - engines: {node: '>=0.10.0'} - dev: true - - /pirates@4.0.6: - resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} - engines: {node: '>= 6'} - dev: true - /possible-typed-array-names@1.0.0: resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} engines: {node: '>= 0.4'} dev: true - /postcss-import@15.1.0(postcss@8.4.35): - resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} - engines: {node: '>=14.0.0'} - peerDependencies: - postcss: ^8.0.0 - dependencies: - postcss: 8.4.35 - postcss-value-parser: 4.2.0 - read-cache: 1.0.0 - resolve: 1.22.8 - dev: true - - /postcss-js@4.0.1(postcss@8.4.35): - resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} - engines: {node: ^12 || ^14 || >= 16} - peerDependencies: - postcss: ^8.4.21 - dependencies: - camelcase-css: 2.0.1 - postcss: 8.4.35 - dev: true - - /postcss-load-config@4.0.2(postcss@8.4.35): - resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} - engines: {node: '>= 14'} - peerDependencies: - postcss: '>=8.0.9' - ts-node: '>=9.0.0' - peerDependenciesMeta: - postcss: - optional: true - ts-node: - optional: true - dependencies: - lilconfig: 3.1.1 - postcss: 8.4.35 - yaml: 2.3.4 - dev: true - - /postcss-nested@6.0.1(postcss@8.4.35): - resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} - engines: {node: '>=12.0'} - peerDependencies: - postcss: ^8.2.14 - dependencies: - postcss: 8.4.35 - postcss-selector-parser: 6.0.15 - dev: true - - /postcss-selector-parser@6.0.15: - resolution: {integrity: sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==} - engines: {node: '>=4'} - dependencies: - cssesc: 3.0.0 - util-deprecate: 1.0.2 - dev: true - - /postcss-value-parser@4.2.0: - resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - dev: true - - /postcss@8.4.31: - resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} - engines: {node: ^10 || ^12 || >=14} - dependencies: - nanoid: 3.3.7 - picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: false - - /postcss@8.4.35: - resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} + /postcss@8.4.38: + resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 picocolors: 1.0.0 - source-map-js: 1.0.2 + source-map-js: 1.2.0 dev: true /prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} + dev: true - /prop-types-extra@1.1.1(react@18.2.0): + /prop-types-extra@1.1.1(react@18.3.1): resolution: {integrity: sha512-59+AHNnHYCdiC+vMwY52WmvP5dM3QLeoumYuEyceQDi9aEhtwN9zIQ2ZNo25sMyXnbh32h+P1ezDsUpUH3JAew==} peerDependencies: react: '>=0.14.0' dependencies: - react: 18.2.0 + react: 18.3.1 react-is: 16.13.1 warning: 4.0.3 dev: false @@ -2666,12 +2240,14 @@ packages: /punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} + dev: true /queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + dev: true - /react-bootstrap@2.10.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-J3OpRZIvCTQK+Tg/jOkRUvpYLHMdGeU9KqFUBQrV0d/Qr/3nsINpiOJyZMWnM5SJ3ctZdhPA6eCIKpEJR3Ellg==} + /react-bootstrap@2.10.2(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-UvB7mRqQjivdZNxJNEA2yOQRB7L9N43nBnKc33K47+cH90/ujmnMwatTCwQLu83gLhrzAl8fsa6Lqig/KLghaA==} peerDependencies: '@types/react': '>=16.14.8' react: '>=16.14.0' @@ -2680,52 +2256,53 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.23.9 - '@restart/hooks': 0.4.16(react@18.2.0) - '@restart/ui': 1.6.6(react-dom@18.2.0)(react@18.2.0) + '@babel/runtime': 7.24.4 + '@restart/hooks': 0.4.16(react@18.3.1) + '@restart/ui': 1.6.8(react-dom@18.3.1)(react@18.3.1) + '@types/react': 18.3.1 '@types/react-transition-group': 4.4.10 classnames: 2.5.1 dom-helpers: 5.2.1 invariant: 2.2.4 prop-types: 15.8.1 - prop-types-extra: 1.1.1(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - react-transition-group: 4.4.5(react-dom@18.2.0)(react@18.2.0) - uncontrollable: 7.2.1(react@18.2.0) + prop-types-extra: 1.1.1(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-transition-group: 4.4.5(react-dom@18.3.1)(react@18.3.1) + uncontrollable: 7.2.1(react@18.3.1) warning: 4.0.3 dev: false - /react-confetti@6.1.0(react@18.2.0): + /react-confetti@6.1.0(react@18.3.1): resolution: {integrity: sha512-7Ypx4vz0+g8ECVxr88W9zhcQpbeujJAVqL14ZnXJ3I23mOI9/oBVTQ3dkJhUmB0D6XOtCZEM6N0Gm9PMngkORw==} engines: {node: '>=10.18'} peerDependencies: react: ^16.3.0 || ^17.0.1 || ^18.0.0 dependencies: - react: 18.2.0 + react: 18.3.1 tween-functions: 1.2.0 dev: false - /react-dom@18.2.0(react@18.2.0): - resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} + /react-dom@18.3.1(react@18.3.1): + resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} peerDependencies: - react: ^18.2.0 + react: ^18.3.1 dependencies: loose-envify: 1.4.0 - react: 18.2.0 - scheduler: 0.23.0 + react: 18.3.1 + scheduler: 0.23.2 dev: false - /react-flip-numbers@3.0.8(react-dom@18.2.0)(react-simple-animate@3.5.2)(react@18.2.0): + /react-flip-numbers@3.0.8(react-dom@18.3.1)(react-simple-animate@3.5.2)(react@18.3.1): resolution: {integrity: sha512-iEh4WScZFiGYkIWw3ATA352+XVWBsiKLg97CQHGXvpBetJFYazaYWMqv/mR2fGHdoDLA/2uES74e2wdEgy69BQ==} peerDependencies: react: ^16.8.0 || ^17 || ^18 react-dom: ^16.8.0 || ^17 || ^18 react-simple-animate: ^3.0.1 dependencies: - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - react-simple-animate: 3.5.2(react-dom@18.2.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-simple-animate: 3.5.2(react-dom@18.3.1) dev: false /react-is@16.13.1: @@ -2735,77 +2312,76 @@ packages: resolution: {integrity: sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==} dev: false - /react-router-dom@6.22.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-iwMyyyrbL7zkKY7MRjOVRy+TMnS/OPusaFVxM2P11x9dzSzGmLsebkCvYirGq0DWB9K9hOspHYYtDz33gE5Duw==} + /react-refresh@0.14.2: + resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==} + engines: {node: '>=0.10.0'} + dev: true + + /react-router-dom@6.23.0(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-Q9YaSYvubwgbal2c9DJKfx6hTNoBp3iJDsl+Duva/DwxoJH+OTXkxGpql4iUK2sla/8z4RpjAm6EWx1qUDuopQ==} engines: {node: '>=14.0.0'} peerDependencies: react: '>=16.8' react-dom: '>=16.8' dependencies: - '@remix-run/router': 1.15.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - react-router: 6.22.1(react@18.2.0) + '@remix-run/router': 1.16.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-router: 6.23.0(react@18.3.1) dev: false - /react-router@6.22.1(react@18.2.0): - resolution: {integrity: sha512-0pdoRGwLtemnJqn1K0XHUbnKiX0S4X8CgvVVmHGOWmofESj31msHo/1YiqcJWK7Wxfq2a4uvvtS01KAQyWK/CQ==} + /react-router@6.23.0(react@18.3.1): + resolution: {integrity: sha512-wPMZ8S2TuPadH0sF5irFGjkNLIcRvOSaEe7v+JER8508dyJumm6XZB1u5kztlX0RVq6AzRVndzqcUh6sFIauzA==} engines: {node: '>=14.0.0'} peerDependencies: react: '>=16.8' dependencies: - '@remix-run/router': 1.15.1 - react: 18.2.0 + '@remix-run/router': 1.16.0 + react: 18.3.1 dev: false - /react-simple-animate@3.5.2(react-dom@18.2.0): + /react-simple-animate@3.5.2(react-dom@18.3.1): resolution: {integrity: sha512-xLE65euP920QMTOmv5haPlml+hmOPDkbIr5WeF7ADIXWBYt5kW/vwpNfWg8EKMab8aeDxIZ6QjffVh8v2dUyhg==} peerDependencies: react-dom: ^16.8.0 || ^17 || ^18 dependencies: - react-dom: 18.2.0(react@18.2.0) + react-dom: 18.3.1(react@18.3.1) dev: false - /react-transition-group@4.4.5(react-dom@18.2.0)(react@18.2.0): + /react-transition-group@4.4.5(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==} peerDependencies: react: '>=16.6.0' react-dom: '>=16.6.0' dependencies: - '@babel/runtime': 7.23.9 + '@babel/runtime': 7.24.4 dom-helpers: 5.2.1 loose-envify: 1.4.0 prop-types: 15.8.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) dev: false - /react@18.2.0: - resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} + /react@18.3.1: + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} engines: {node: '>=0.10.0'} dependencies: loose-envify: 1.4.0 dev: false - /read-cache@1.0.0: - resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} - dependencies: - pify: 2.3.0 - dev: true - /readdirp@3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} dependencies: picomatch: 2.3.1 - /reflect.getprototypeof@1.0.5: - resolution: {integrity: sha512-62wgfC8dJWrmxv44CA36pLDnP6KKl3Vhxb7PL+8+qrrFMMoJij4vgiMP8zV4O8+CBMXY1mHxI5fITGHXFHVmQQ==} + /reflect.getprototypeof@1.0.6: + resolution: {integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.4 + es-abstract: 1.23.3 es-errors: 1.3.0 get-intrinsic: 1.2.4 globalthis: 1.0.3 @@ -2814,6 +2390,7 @@ packages: /regenerator-runtime@0.14.1: resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + dev: false /regexp.prototype.flags@1.5.2: resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} @@ -2828,18 +2405,6 @@ packages: /resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} - - /resolve-pkg-maps@1.0.0: - resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} - dev: true - - /resolve@1.22.8: - resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} - hasBin: true - dependencies: - is-core-module: 2.13.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 dev: true /resolve@2.0.0-next.5: @@ -2851,35 +2416,52 @@ packages: supports-preserve-symlinks-flag: 1.0.0 dev: true - /restore-cursor@4.0.0: - resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - onetime: 5.1.2 - signal-exit: 3.0.7 - dev: false - /reusify@1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - - /rfdc@1.3.1: - resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} - dev: false + dev: true /rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} hasBin: true dependencies: glob: 7.2.3 + dev: true + + /rollup@4.17.0: + resolution: {integrity: sha512-wZJSn0WMtWrxhYKQRt5Z6GIXlziOoMDFmbHmRfL3v+sBTAshx2DBq1AfMArB7eIjF63r4ocn2ZTAyUptg/7kmQ==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + dependencies: + '@types/estree': 1.0.5 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.17.0 + '@rollup/rollup-android-arm64': 4.17.0 + '@rollup/rollup-darwin-arm64': 4.17.0 + '@rollup/rollup-darwin-x64': 4.17.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.17.0 + '@rollup/rollup-linux-arm-musleabihf': 4.17.0 + '@rollup/rollup-linux-arm64-gnu': 4.17.0 + '@rollup/rollup-linux-arm64-musl': 4.17.0 + '@rollup/rollup-linux-powerpc64le-gnu': 4.17.0 + '@rollup/rollup-linux-riscv64-gnu': 4.17.0 + '@rollup/rollup-linux-s390x-gnu': 4.17.0 + '@rollup/rollup-linux-x64-gnu': 4.17.0 + '@rollup/rollup-linux-x64-musl': 4.17.0 + '@rollup/rollup-win32-arm64-msvc': 4.17.0 + '@rollup/rollup-win32-ia32-msvc': 4.17.0 + '@rollup/rollup-win32-x64-msvc': 4.17.0 + fsevents: 2.3.3 + dev: true /run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} dependencies: queue-microtask: 1.2.3 + dev: true - /safe-array-concat@1.1.0: - resolution: {integrity: sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==} + /safe-array-concat@1.1.2: + resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} engines: {node: '>=0.4'} dependencies: call-bind: 1.0.7 @@ -2897,18 +2479,17 @@ packages: is-regex: 1.1.4 dev: true - /sass@1.71.1: - resolution: {integrity: sha512-wovtnV2PxzteLlfNzbgm1tFXPLoZILYAMJtvoXXkD7/+1uP41eKkIt1ypWq5/q2uT94qHjXehEYfmjKOvjL9sg==} + /sass@1.75.0: + resolution: {integrity: sha512-ShMYi3WkrDWxExyxSZPst4/okE9ts46xZmJDSawJQrnte7M1V9fScVB+uNXOVKRBt0PggHOwoZcn8mYX4trnBw==} engines: {node: '>=14.0.0'} hasBin: true dependencies: chokidar: 3.6.0 immutable: 4.3.5 - source-map-js: 1.0.2 - dev: false + source-map-js: 1.2.0 - /scheduler@0.23.0: - resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} + /scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} dependencies: loose-envify: 1.4.0 dev: false @@ -2918,16 +2499,8 @@ packages: hasBin: true dev: true - /semver@7.6.0: - resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} - engines: {node: '>=10'} - hasBin: true - dependencies: - lru-cache: 6.0.0 - dev: true - - /set-function-length@1.2.1: - resolution: {integrity: sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==} + /set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} engines: {node: '>= 0.4'} dependencies: define-data-property: 1.1.4 @@ -2953,13 +2526,15 @@ packages: engines: {node: '>=8'} dependencies: shebang-regex: 3.0.0 + dev: true /shebang-regex@3.0.0: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} + dev: true - /side-channel@1.0.5: - resolution: {integrity: sha512-QcgiIWV4WV7qWExbN5llt6frQB/lBven9pqliLXfGPB+K9ZYXxDozp0wLkHS24kWCm+6YXH/f0HhnObZnZOBnQ==} + /side-channel@1.0.6: + resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 @@ -2968,113 +2543,53 @@ packages: object-inspect: 1.13.1 dev: true - /signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - dev: false - - /signal-exit@4.1.0: - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} - engines: {node: '>=14'} - - /slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - dev: true - - /slice-ansi@5.0.0: - resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} - engines: {node: '>=12'} - dependencies: - ansi-styles: 6.2.1 - is-fullwidth-code-point: 4.0.0 - dev: false - - /slice-ansi@7.1.0: - resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==} - engines: {node: '>=18'} - dependencies: - ansi-styles: 6.2.1 - is-fullwidth-code-point: 5.0.0 - dev: false - - /source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + /source-map-js@1.2.0: + resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} engines: {node: '>=0.10.0'} - /streamsearch@1.1.0: - resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} - engines: {node: '>=10.0.0'} - dev: false - - /string-argv@0.3.2: - resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} - engines: {node: '>=0.6.19'} - dev: false - - /string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} - dependencies: - emoji-regex: 8.0.0 - is-fullwidth-code-point: 3.0.0 - strip-ansi: 6.0.1 - dev: true - - /string-width@5.1.2: - resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} - engines: {node: '>=12'} - dependencies: - eastasianwidth: 0.2.0 - emoji-regex: 9.2.2 - strip-ansi: 7.1.0 - dev: true - - /string-width@7.1.0: - resolution: {integrity: sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw==} - engines: {node: '>=18'} - dependencies: - emoji-regex: 10.3.0 - get-east-asian-width: 1.2.0 - strip-ansi: 7.1.0 - dev: false - - /string.prototype.matchall@4.0.10: - resolution: {integrity: sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==} + /string.prototype.matchall@4.0.11: + resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.4 + es-abstract: 1.23.3 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 get-intrinsic: 1.2.4 + gopd: 1.0.1 has-symbols: 1.0.3 internal-slot: 1.0.7 regexp.prototype.flags: 1.5.2 set-function-name: 2.0.2 - side-channel: 1.0.5 + side-channel: 1.0.6 dev: true - /string.prototype.trim@1.2.8: - resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} + /string.prototype.trim@1.2.9: + resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.4 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 dev: true - /string.prototype.trimend@1.0.7: - resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} + /string.prototype.trimend@1.0.8: + resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.4 + es-object-atoms: 1.0.0 dev: true - /string.prototype.trimstart@1.0.7: - resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} + /string.prototype.trimstart@1.0.8: + resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.4 + es-object-atoms: 1.0.0 dev: true /strip-ansi@6.0.1: @@ -3082,56 +2597,18 @@ packages: engines: {node: '>=8'} dependencies: ansi-regex: 5.0.1 - - /strip-ansi@7.1.0: - resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} - engines: {node: '>=12'} - dependencies: - ansi-regex: 6.0.1 - - /strip-bom@3.0.0: - resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} - engines: {node: '>=4'} dev: true - /strip-final-newline@3.0.0: - resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} - engines: {node: '>=12'} - dev: false - /strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} + dev: true - /styled-jsx@5.1.1(react@18.2.0): - resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} - engines: {node: '>= 12.0.0'} - peerDependencies: - '@babel/core': '*' - babel-plugin-macros: '*' - react: '>= 16.8.0 || 17.x.x || ^18.0.0-0' - peerDependenciesMeta: - '@babel/core': - optional: true - babel-plugin-macros: - optional: true - dependencies: - client-only: 0.0.1 - react: 18.2.0 - dev: false - - /sucrase@3.35.0: - resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} - engines: {node: '>=16 || 14 >=14.17'} - hasBin: true + /supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} dependencies: - '@jridgewell/gen-mapping': 0.3.3 - commander: 4.1.1 - glob: 10.3.10 - lines-and-columns: 1.2.4 - mz: 2.7.0 - pirates: 4.0.6 - ts-interface-checker: 0.1.13 + has-flag: 3.0.0 dev: true /supports-color@7.2.0: @@ -3139,62 +2616,20 @@ packages: engines: {node: '>=8'} dependencies: has-flag: 4.0.0 + dev: true /supports-preserve-symlinks-flag@1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} dev: true - /tailwindcss@3.4.1: - resolution: {integrity: sha512-qAYmXRfk3ENzuPBakNK0SRrUDipP8NQnEY6772uDhflcQz5EhRdD7JNZxyrFHVQNCwULPBn6FNPp9brpO7ctcA==} - engines: {node: '>=14.0.0'} - hasBin: true - dependencies: - '@alloc/quick-lru': 5.2.0 - arg: 5.0.2 - chokidar: 3.6.0 - didyoumean: 1.2.2 - dlv: 1.1.3 - fast-glob: 3.3.2 - glob-parent: 6.0.2 - is-glob: 4.0.3 - jiti: 1.21.0 - lilconfig: 2.1.0 - micromatch: 4.0.5 - normalize-path: 3.0.0 - object-hash: 3.0.0 - picocolors: 1.0.0 - postcss: 8.4.35 - postcss-import: 15.1.0(postcss@8.4.35) - postcss-js: 4.0.1(postcss@8.4.35) - postcss-load-config: 4.0.2(postcss@8.4.35) - postcss-nested: 6.0.1(postcss@8.4.35) - postcss-selector-parser: 6.0.15 - resolve: 1.22.8 - sucrase: 3.35.0 - transitivePeerDependencies: - - ts-node - dev: true - - /tapable@2.2.1: - resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} - engines: {node: '>=6'} - dev: true - /text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - - /thenify-all@1.6.0: - resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} - engines: {node: '>=0.8'} - dependencies: - thenify: 3.3.1 dev: true - /thenify@3.3.1: - resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} - dependencies: - any-promise: 1.3.0 + /to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} dev: true /to-regex-range@5.0.1: @@ -3203,37 +2638,10 @@ packages: dependencies: is-number: 7.0.0 - /ts-interface-checker@0.1.13: - resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - dev: true - - /tsconfig-paths@3.15.0: - resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} - dependencies: - '@types/json5': 0.0.29 - json5: 1.0.2 - minimist: 1.2.8 - strip-bom: 3.0.0 - dev: true - - /tslib@1.14.1: - resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} - dev: true - /tslib@2.6.2: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} dev: false - /tsutils@3.21.0(typescript@4.9.5): - resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} - engines: {node: '>= 6'} - peerDependencies: - typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' - dependencies: - tslib: 1.14.1 - typescript: 4.9.5 - dev: true - /tween-functions@1.2.0: resolution: {integrity: sha512-PZBtLYcCLtEcjL14Fzb1gSxPBeL7nWvGhO5ZFPGqziCcr8uvHp0NDmdjBchp6KHL+tExcg0m3NISmKxhU394dA==} dev: false @@ -3243,15 +2651,12 @@ packages: engines: {node: '>= 0.8.0'} dependencies: prelude-ls: 1.2.1 + dev: true /type-fest@0.20.2: resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} engines: {node: '>=10'} - - /type-fest@3.13.1: - resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==} - engines: {node: '>=14.16'} - dev: false + dev: true /typed-array-buffer@1.0.2: resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} @@ -3285,8 +2690,8 @@ packages: is-typed-array: 1.1.13 dev: true - /typed-array-length@1.0.5: - resolution: {integrity: sha512-yMi0PlwuznKHxKmcpoOdeLwxBoVPkqZxd7q2FgMkmD3bNwvF5VW0+UlUQ1k1vmktTu4Yu13Q0RIxEP8+B+wloA==} + /typed-array-length@1.0.6: + resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 @@ -3297,12 +2702,6 @@ packages: possible-typed-array-names: 1.0.0 dev: true - /typescript@4.9.5: - resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} - engines: {node: '>=4.2.0'} - hasBin: true - dev: true - /unbox-primitive@1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} dependencies: @@ -3312,33 +2711,77 @@ packages: which-boxed-primitive: 1.0.2 dev: true - /uncontrollable@7.2.1(react@18.2.0): + /uncontrollable@7.2.1(react@18.3.1): resolution: {integrity: sha512-svtcfoTADIB0nT9nltgjujTi7BzVmwjZClOmskKu/E8FW9BXzg9os8OLr4f8Dlnk0rYWJIWr4wv9eKUXiQvQwQ==} peerDependencies: react: '>=15.0.0' dependencies: - '@babel/runtime': 7.23.9 - '@types/react': 18.2.57 + '@babel/runtime': 7.24.4 + '@types/react': 18.3.1 invariant: 2.2.4 - react: 18.2.0 + react: 18.3.1 react-lifecycles-compat: 3.0.4 dev: false - /uncontrollable@8.0.4(react@18.2.0): + /uncontrollable@8.0.4(react@18.3.1): resolution: {integrity: sha512-ulRWYWHvscPFc0QQXvyJjY6LIXU56f0h8pQFvhxiKk5V1fcI8gp9Ht9leVAhrVjzqMw0BgjspBINx9r6oyJUvQ==} peerDependencies: react: '>=16.14.0' dependencies: - react: 18.2.0 + react: 18.3.1 dev: false + /update-browserslist-db@1.0.13(browserslist@4.23.0): + resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.23.0 + escalade: 3.1.2 + picocolors: 1.0.0 + dev: true + /uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: punycode: 2.3.1 + dev: true - /util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + /vite@5.2.10(sass@1.75.0): + resolution: {integrity: sha512-PAzgUZbP7msvQvqdSD+ErD5qGnSFiGOoWmV5yAKUEI0kdhjbH6nMWVyZQC/hSc4aXwc0oJ9aEdIiF9Oje0JFCw==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + esbuild: 0.20.2 + postcss: 8.4.38 + rollup: 4.17.0 + sass: 1.75.0 + optionalDependencies: + fsevents: 2.3.3 dev: true /warning@4.0.3: @@ -3371,21 +2814,22 @@ packages: is-weakref: 1.0.2 isarray: 2.0.5 which-boxed-primitive: 1.0.2 - which-collection: 1.0.1 - which-typed-array: 1.1.14 + which-collection: 1.0.2 + which-typed-array: 1.1.15 dev: true - /which-collection@1.0.1: - resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==} + /which-collection@1.0.2: + resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} + engines: {node: '>= 0.4'} dependencies: - is-map: 2.0.2 - is-set: 2.0.2 - is-weakmap: 2.0.1 - is-weakset: 2.0.2 + is-map: 2.0.3 + is-set: 2.0.3 + is-weakmap: 2.0.2 + is-weakset: 2.0.3 dev: true - /which-typed-array@1.1.14: - resolution: {integrity: sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg==} + /which-typed-array@1.1.15: + resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} engines: {node: '>= 0.4'} dependencies: available-typed-arrays: 1.0.7 @@ -3401,45 +2845,22 @@ packages: hasBin: true dependencies: isexe: 2.0.0 - - /wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 dev: true - /wrap-ansi@8.1.0: - resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} - engines: {node: '>=12'} - dependencies: - ansi-styles: 6.2.1 - string-width: 5.1.2 - strip-ansi: 7.1.0 + /word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} dev: true - /wrap-ansi@9.0.0: - resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==} - engines: {node: '>=18'} - dependencies: - ansi-styles: 6.2.1 - string-width: 7.1.0 - strip-ansi: 7.1.0 - dev: false - /wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - - /yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} dev: true - /yaml@2.3.4: - resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==} - engines: {node: '>= 14'} + /yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + dev: true /yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} + dev: true diff --git a/src/assets/images/VH_shiba_inu.png b/public/assets/images/VH_shiba_inu.png similarity index 100% rename from src/assets/images/VH_shiba_inu.png rename to public/assets/images/VH_shiba_inu.png diff --git a/src/assets/images/astronaut-float.png b/public/assets/images/astronaut-float.png similarity index 100% rename from src/assets/images/astronaut-float.png rename to public/assets/images/astronaut-float.png diff --git a/src/assets/images/astronaut.png b/public/assets/images/astronaut.png similarity index 100% rename from src/assets/images/astronaut.png rename to public/assets/images/astronaut.png diff --git a/src/assets/images/astronaut_solid.png b/public/assets/images/astronaut_solid.png similarity index 100% rename from src/assets/images/astronaut_solid.png rename to public/assets/images/astronaut_solid.png diff --git a/src/assets/images/big-planet.png b/public/assets/images/big-planet.png similarity index 100% rename from src/assets/images/big-planet.png rename to public/assets/images/big-planet.png diff --git a/src/assets/images/constellation1.png b/public/assets/images/constellation1.png similarity index 100% rename from src/assets/images/constellation1.png rename to public/assets/images/constellation1.png diff --git a/src/assets/images/constellation2.png b/public/assets/images/constellation2.png similarity index 100% rename from src/assets/images/constellation2.png rename to public/assets/images/constellation2.png diff --git a/src/assets/images/constellation3.png b/public/assets/images/constellation3.png similarity index 100% rename from src/assets/images/constellation3.png rename to public/assets/images/constellation3.png diff --git a/src/assets/images/constellation4.png b/public/assets/images/constellation4.png similarity index 100% rename from src/assets/images/constellation4.png rename to public/assets/images/constellation4.png diff --git a/src/assets/images/hat.png b/public/assets/images/hat.png similarity index 100% rename from src/assets/images/hat.png rename to public/assets/images/hat.png diff --git a/src/assets/images/icon.png b/public/assets/images/icon.png similarity index 100% rename from src/assets/images/icon.png rename to public/assets/images/icon.png diff --git a/src/assets/images/laptop.png b/public/assets/images/laptop.png similarity index 100% rename from src/assets/images/laptop.png rename to public/assets/images/laptop.png diff --git a/src/assets/images/mathworks-flyer.pdf b/public/assets/images/mathworks-flyer.pdf similarity index 100% rename from src/assets/images/mathworks-flyer.pdf rename to public/assets/images/mathworks-flyer.pdf diff --git a/src/assets/images/new-laptop.png b/public/assets/images/new-laptop.png similarity index 100% rename from src/assets/images/new-laptop.png rename to public/assets/images/new-laptop.png diff --git a/src/assets/images/old-organizer-photos/aasha.jpeg b/public/assets/images/old-organizer-photos/aasha.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/aasha.jpeg rename to public/assets/images/old-organizer-photos/aasha.jpeg diff --git a/src/assets/images/old-organizer-photos/alan.jpeg b/public/assets/images/old-organizer-photos/alan.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/alan.jpeg rename to public/assets/images/old-organizer-photos/alan.jpeg diff --git a/src/assets/images/old-organizer-photos/ameya.jpeg b/public/assets/images/old-organizer-photos/ameya.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/ameya.jpeg rename to public/assets/images/old-organizer-photos/ameya.jpeg diff --git a/src/assets/images/old-organizer-photos/angela.jpeg b/public/assets/images/old-organizer-photos/angela.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/angela.jpeg rename to public/assets/images/old-organizer-photos/angela.jpeg diff --git a/src/assets/images/old-organizer-photos/chase.jpeg b/public/assets/images/old-organizer-photos/chase.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/chase.jpeg rename to public/assets/images/old-organizer-photos/chase.jpeg diff --git a/src/assets/images/old-organizer-photos/chloe.jpeg b/public/assets/images/old-organizer-photos/chloe.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/chloe.jpeg rename to public/assets/images/old-organizer-photos/chloe.jpeg diff --git a/src/assets/images/old-organizer-photos/duong.jpeg b/public/assets/images/old-organizer-photos/duong.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/duong.jpeg rename to public/assets/images/old-organizer-photos/duong.jpeg diff --git a/src/assets/images/old-organizer-photos/elise.jpeg b/public/assets/images/old-organizer-photos/elise.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/elise.jpeg rename to public/assets/images/old-organizer-photos/elise.jpeg diff --git a/src/assets/images/old-organizer-photos/ellise.jpeg b/public/assets/images/old-organizer-photos/ellise.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/ellise.jpeg rename to public/assets/images/old-organizer-photos/ellise.jpeg diff --git a/src/assets/images/old-organizer-photos/emily.jpeg b/public/assets/images/old-organizer-photos/emily.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/emily.jpeg rename to public/assets/images/old-organizer-photos/emily.jpeg diff --git a/src/assets/images/old-organizer-photos/grace.jpeg b/public/assets/images/old-organizer-photos/grace.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/grace.jpeg rename to public/assets/images/old-organizer-photos/grace.jpeg diff --git a/src/assets/images/old-organizer-photos/joseph.jpeg b/public/assets/images/old-organizer-photos/joseph.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/joseph.jpeg rename to public/assets/images/old-organizer-photos/joseph.jpeg diff --git a/src/assets/images/old-organizer-photos/julianna.jpeg b/public/assets/images/old-organizer-photos/julianna.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/julianna.jpeg rename to public/assets/images/old-organizer-photos/julianna.jpeg diff --git a/src/assets/images/old-organizer-photos/khushi.jpeg b/public/assets/images/old-organizer-photos/khushi.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/khushi.jpeg rename to public/assets/images/old-organizer-photos/khushi.jpeg diff --git a/src/assets/images/old-organizer-photos/kingsley.jpeg b/public/assets/images/old-organizer-photos/kingsley.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/kingsley.jpeg rename to public/assets/images/old-organizer-photos/kingsley.jpeg diff --git a/src/assets/images/old-organizer-photos/megha.jpeg b/public/assets/images/old-organizer-photos/megha.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/megha.jpeg rename to public/assets/images/old-organizer-photos/megha.jpeg diff --git a/src/assets/images/old-organizer-photos/nathan.jpeg b/public/assets/images/old-organizer-photos/nathan.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/nathan.jpeg rename to public/assets/images/old-organizer-photos/nathan.jpeg diff --git a/src/assets/images/old-organizer-photos/nicole.jpeg b/public/assets/images/old-organizer-photos/nicole.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/nicole.jpeg rename to public/assets/images/old-organizer-photos/nicole.jpeg diff --git a/src/assets/images/old-organizer-photos/olivia.jpeg b/public/assets/images/old-organizer-photos/olivia.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/olivia.jpeg rename to public/assets/images/old-organizer-photos/olivia.jpeg diff --git a/src/assets/images/old-organizer-photos/parsa.jpeg b/public/assets/images/old-organizer-photos/parsa.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/parsa.jpeg rename to public/assets/images/old-organizer-photos/parsa.jpeg diff --git a/src/assets/images/old-organizer-photos/philip.jpeg b/public/assets/images/old-organizer-photos/philip.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/philip.jpeg rename to public/assets/images/old-organizer-photos/philip.jpeg diff --git a/src/assets/images/old-organizer-photos/riley.jpeg b/public/assets/images/old-organizer-photos/riley.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/riley.jpeg rename to public/assets/images/old-organizer-photos/riley.jpeg diff --git a/src/assets/images/old-organizer-photos/rochelle.jpeg b/public/assets/images/old-organizer-photos/rochelle.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/rochelle.jpeg rename to public/assets/images/old-organizer-photos/rochelle.jpeg diff --git a/src/assets/images/old-organizer-photos/rong.jpeg b/public/assets/images/old-organizer-photos/rong.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/rong.jpeg rename to public/assets/images/old-organizer-photos/rong.jpeg diff --git a/src/assets/images/old-organizer-photos/sanjana.jpeg b/public/assets/images/old-organizer-photos/sanjana.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/sanjana.jpeg rename to public/assets/images/old-organizer-photos/sanjana.jpeg diff --git a/src/assets/images/old-organizer-photos/shalini.jpeg b/public/assets/images/old-organizer-photos/shalini.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/shalini.jpeg rename to public/assets/images/old-organizer-photos/shalini.jpeg diff --git a/src/assets/images/old-organizer-photos/sydney.jpeg b/public/assets/images/old-organizer-photos/sydney.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/sydney.jpeg rename to public/assets/images/old-organizer-photos/sydney.jpeg diff --git a/src/assets/images/old-organizer-photos/william.jpeg b/public/assets/images/old-organizer-photos/william.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/william.jpeg rename to public/assets/images/old-organizer-photos/william.jpeg diff --git a/src/assets/images/old-organizer-photos/zoya.jpeg b/public/assets/images/old-organizer-photos/zoya.jpeg similarity index 100% rename from src/assets/images/old-organizer-photos/zoya.jpeg rename to public/assets/images/old-organizer-photos/zoya.jpeg diff --git a/src/assets/images/organizer-photos/alan.jpg b/public/assets/images/organizer-photos/alan.jpg similarity index 100% rename from src/assets/images/organizer-photos/alan.jpg rename to public/assets/images/organizer-photos/alan.jpg diff --git a/src/assets/images/organizer-photos/alicia.jpg b/public/assets/images/organizer-photos/alicia.jpg similarity index 100% rename from src/assets/images/organizer-photos/alicia.jpg rename to public/assets/images/organizer-photos/alicia.jpg diff --git a/src/assets/images/organizer-photos/alisa.jpg b/public/assets/images/organizer-photos/alisa.jpg similarity index 100% rename from src/assets/images/organizer-photos/alisa.jpg rename to public/assets/images/organizer-photos/alisa.jpg diff --git a/src/assets/images/organizer-photos/araam.jpg b/public/assets/images/organizer-photos/araam.jpg similarity index 100% rename from src/assets/images/organizer-photos/araam.jpg rename to public/assets/images/organizer-photos/araam.jpg diff --git a/src/assets/images/organizer-photos/audrey.jpg b/public/assets/images/organizer-photos/audrey.jpg similarity index 100% rename from src/assets/images/organizer-photos/audrey.jpg rename to public/assets/images/organizer-photos/audrey.jpg diff --git a/src/assets/images/organizer-photos/avent.jpg b/public/assets/images/organizer-photos/avent.jpg similarity index 100% rename from src/assets/images/organizer-photos/avent.jpg rename to public/assets/images/organizer-photos/avent.jpg diff --git a/src/assets/images/organizer-photos/brian.jpg b/public/assets/images/organizer-photos/brian.jpg similarity index 100% rename from src/assets/images/organizer-photos/brian.jpg rename to public/assets/images/organizer-photos/brian.jpg diff --git a/src/assets/images/organizer-photos/caroline.jpg b/public/assets/images/organizer-photos/caroline.jpg similarity index 100% rename from src/assets/images/organizer-photos/caroline.jpg rename to public/assets/images/organizer-photos/caroline.jpg diff --git a/src/assets/images/organizer-photos/cheryl.jpg b/public/assets/images/organizer-photos/cheryl.jpg similarity index 100% rename from src/assets/images/organizer-photos/cheryl.jpg rename to public/assets/images/organizer-photos/cheryl.jpg diff --git a/src/assets/images/organizer-photos/chloe.jpg b/public/assets/images/organizer-photos/chloe.jpg similarity index 100% rename from src/assets/images/organizer-photos/chloe.jpg rename to public/assets/images/organizer-photos/chloe.jpg diff --git a/src/assets/images/organizer-photos/cinta.jpg b/public/assets/images/organizer-photos/cinta.jpg similarity index 100% rename from src/assets/images/organizer-photos/cinta.jpg rename to public/assets/images/organizer-photos/cinta.jpg diff --git a/src/assets/images/organizer-photos/crystal.jpg b/public/assets/images/organizer-photos/crystal.jpg similarity index 100% rename from src/assets/images/organizer-photos/crystal.jpg rename to public/assets/images/organizer-photos/crystal.jpg diff --git a/src/assets/images/organizer-photos/grace.jpg b/public/assets/images/organizer-photos/grace.jpg similarity index 100% rename from src/assets/images/organizer-photos/grace.jpg rename to public/assets/images/organizer-photos/grace.jpg diff --git a/src/assets/images/organizer-photos/graceW.jpg b/public/assets/images/organizer-photos/graceW.jpg similarity index 100% rename from src/assets/images/organizer-photos/graceW.jpg rename to public/assets/images/organizer-photos/graceW.jpg diff --git a/src/assets/images/organizer-photos/hang.jpg b/public/assets/images/organizer-photos/hang.jpg similarity index 100% rename from src/assets/images/organizer-photos/hang.jpg rename to public/assets/images/organizer-photos/hang.jpg diff --git a/src/assets/images/organizer-photos/jefferey.jpg b/public/assets/images/organizer-photos/jefferey.jpg similarity index 100% rename from src/assets/images/organizer-photos/jefferey.jpg rename to public/assets/images/organizer-photos/jefferey.jpg diff --git a/src/assets/images/organizer-photos/jenny.jpg b/public/assets/images/organizer-photos/jenny.jpg similarity index 100% rename from src/assets/images/organizer-photos/jenny.jpg rename to public/assets/images/organizer-photos/jenny.jpg diff --git a/src/assets/images/organizer-photos/kirby.jpg b/public/assets/images/organizer-photos/kirby.jpg similarity index 100% rename from src/assets/images/organizer-photos/kirby.jpg rename to public/assets/images/organizer-photos/kirby.jpg diff --git a/src/assets/images/organizer-photos/kristen.jpg b/public/assets/images/organizer-photos/kristen.jpg similarity index 100% rename from src/assets/images/organizer-photos/kristen.jpg rename to public/assets/images/organizer-photos/kristen.jpg diff --git a/src/assets/images/organizer-photos/mason.jpg b/public/assets/images/organizer-photos/mason.jpg similarity index 100% rename from src/assets/images/organizer-photos/mason.jpg rename to public/assets/images/organizer-photos/mason.jpg diff --git a/src/assets/images/organizer-photos/mignon.jpg b/public/assets/images/organizer-photos/mignon.jpg similarity index 100% rename from src/assets/images/organizer-photos/mignon.jpg rename to public/assets/images/organizer-photos/mignon.jpg diff --git a/src/assets/images/organizer-photos/mirelle.jpg b/public/assets/images/organizer-photos/mirelle.jpg similarity index 100% rename from src/assets/images/organizer-photos/mirelle.jpg rename to public/assets/images/organizer-photos/mirelle.jpg diff --git a/src/assets/images/organizer-photos/nathan.jpg b/public/assets/images/organizer-photos/nathan.jpg similarity index 100% rename from src/assets/images/organizer-photos/nathan.jpg rename to public/assets/images/organizer-photos/nathan.jpg diff --git a/src/assets/images/organizer-photos/nathanC.jpg b/public/assets/images/organizer-photos/nathanC.jpg similarity index 100% rename from src/assets/images/organizer-photos/nathanC.jpg rename to public/assets/images/organizer-photos/nathanC.jpg diff --git a/src/assets/images/organizer-photos/nicole.jpg b/public/assets/images/organizer-photos/nicole.jpg similarity index 100% rename from src/assets/images/organizer-photos/nicole.jpg rename to public/assets/images/organizer-photos/nicole.jpg diff --git a/src/assets/images/organizer-photos/philip.jpg b/public/assets/images/organizer-photos/philip.jpg similarity index 100% rename from src/assets/images/organizer-photos/philip.jpg rename to public/assets/images/organizer-photos/philip.jpg diff --git a/src/assets/images/organizer-photos/randy.jpg b/public/assets/images/organizer-photos/randy.jpg similarity index 100% rename from src/assets/images/organizer-photos/randy.jpg rename to public/assets/images/organizer-photos/randy.jpg diff --git a/src/assets/images/organizer-photos/riley.jpg b/public/assets/images/organizer-photos/riley.jpg similarity index 100% rename from src/assets/images/organizer-photos/riley.jpg rename to public/assets/images/organizer-photos/riley.jpg diff --git a/src/assets/images/organizer-photos/rochelle.jpg b/public/assets/images/organizer-photos/rochelle.jpg similarity index 100% rename from src/assets/images/organizer-photos/rochelle.jpg rename to public/assets/images/organizer-photos/rochelle.jpg diff --git a/src/assets/images/organizer-photos/rosalind.jpg b/public/assets/images/organizer-photos/rosalind.jpg similarity index 100% rename from src/assets/images/organizer-photos/rosalind.jpg rename to public/assets/images/organizer-photos/rosalind.jpg diff --git a/src/assets/images/organizer-photos/ruslan.jpg b/public/assets/images/organizer-photos/ruslan.jpg similarity index 100% rename from src/assets/images/organizer-photos/ruslan.jpg rename to public/assets/images/organizer-photos/ruslan.jpg diff --git a/src/assets/images/organizer-photos/ryan.jpg b/public/assets/images/organizer-photos/ryan.jpg similarity index 100% rename from src/assets/images/organizer-photos/ryan.jpg rename to public/assets/images/organizer-photos/ryan.jpg diff --git a/src/assets/images/organizer-photos/sam.jpg b/public/assets/images/organizer-photos/sam.jpg similarity index 100% rename from src/assets/images/organizer-photos/sam.jpg rename to public/assets/images/organizer-photos/sam.jpg diff --git a/src/assets/images/organizer-photos/shreshta.jpg b/public/assets/images/organizer-photos/shreshta.jpg similarity index 100% rename from src/assets/images/organizer-photos/shreshta.jpg rename to public/assets/images/organizer-photos/shreshta.jpg diff --git a/src/assets/images/organizer-photos/taylor.jpg b/public/assets/images/organizer-photos/taylor.jpg similarity index 100% rename from src/assets/images/organizer-photos/taylor.jpg rename to public/assets/images/organizer-photos/taylor.jpg diff --git a/src/assets/images/partners/acm.png b/public/assets/images/partners/acm.png similarity index 100% rename from src/assets/images/partners/acm.png rename to public/assets/images/partners/acm.png diff --git a/src/assets/images/partners/ai.png b/public/assets/images/partners/ai.png similarity index 100% rename from src/assets/images/partners/ai.png rename to public/assets/images/partners/ai.png diff --git a/src/assets/images/partners/ctc.png b/public/assets/images/partners/ctc.png similarity index 100% rename from src/assets/images/partners/ctc.png rename to public/assets/images/partners/ctc.png diff --git a/src/assets/images/partners/design.png b/public/assets/images/partners/design.png similarity index 100% rename from src/assets/images/partners/design.png rename to public/assets/images/partners/design.png diff --git a/src/assets/images/partners/googlecloud.png b/public/assets/images/partners/googlecloud.png similarity index 100% rename from src/assets/images/partners/googlecloud.png rename to public/assets/images/partners/googlecloud.png diff --git a/src/assets/images/partners/hack.png b/public/assets/images/partners/hack.png similarity index 100% rename from src/assets/images/partners/hack.png rename to public/assets/images/partners/hack.png diff --git a/src/assets/images/partners/icssc.png b/public/assets/images/partners/icssc.png similarity index 100% rename from src/assets/images/partners/icssc.png rename to public/assets/images/partners/icssc.png diff --git a/src/assets/images/partners/vgdc.jpeg b/public/assets/images/partners/vgdc.jpeg similarity index 100% rename from src/assets/images/partners/vgdc.jpeg rename to public/assets/images/partners/vgdc.jpeg diff --git a/src/assets/images/partners/wics.png b/public/assets/images/partners/wics.png similarity index 100% rename from src/assets/images/partners/wics.png rename to public/assets/images/partners/wics.png diff --git a/src/assets/images/past-partners/codepath.png b/public/assets/images/past-partners/codepath.png similarity index 100% rename from src/assets/images/past-partners/codepath.png rename to public/assets/images/past-partners/codepath.png diff --git a/src/assets/images/past-partners/design.png b/public/assets/images/past-partners/design.png similarity index 100% rename from src/assets/images/past-partners/design.png rename to public/assets/images/past-partners/design.png diff --git a/src/assets/images/past-partners/maiss.png b/public/assets/images/past-partners/maiss.png similarity index 100% rename from src/assets/images/past-partners/maiss.png rename to public/assets/images/past-partners/maiss.png diff --git a/src/assets/images/past-partners/mlh.png b/public/assets/images/past-partners/mlh.png similarity index 100% rename from src/assets/images/past-partners/mlh.png rename to public/assets/images/past-partners/mlh.png diff --git a/src/assets/images/past-partners/swe.jpg b/public/assets/images/past-partners/swe.jpg similarity index 100% rename from src/assets/images/past-partners/swe.jpg rename to public/assets/images/past-partners/swe.jpg diff --git a/src/assets/images/past-partners/wicys.png b/public/assets/images/past-partners/wicys.png similarity index 100% rename from src/assets/images/past-partners/wicys.png rename to public/assets/images/past-partners/wicys.png diff --git a/src/assets/images/past-sponsors/assemblyai.png b/public/assets/images/past-sponsors/assemblyai.png similarity index 100% rename from src/assets/images/past-sponsors/assemblyai.png rename to public/assets/images/past-sponsors/assemblyai.png diff --git a/src/assets/images/past-sponsors/balsamiq.png b/public/assets/images/past-sponsors/balsamiq.png similarity index 100% rename from src/assets/images/past-sponsors/balsamiq.png rename to public/assets/images/past-sponsors/balsamiq.png diff --git a/src/assets/images/past-sponsors/blackberry.png b/public/assets/images/past-sponsors/blackberry.png similarity index 100% rename from src/assets/images/past-sponsors/blackberry.png rename to public/assets/images/past-sponsors/blackberry.png diff --git a/src/assets/images/past-sponsors/corelogic.jpg b/public/assets/images/past-sponsors/corelogic.jpg similarity index 100% rename from src/assets/images/past-sponsors/corelogic.jpg rename to public/assets/images/past-sponsors/corelogic.jpg diff --git a/src/assets/images/past-sponsors/crowdstrike.png b/public/assets/images/past-sponsors/crowdstrike.png similarity index 100% rename from src/assets/images/past-sponsors/crowdstrike.png rename to public/assets/images/past-sponsors/crowdstrike.png diff --git a/src/assets/images/past-sponsors/disney.png b/public/assets/images/past-sponsors/disney.png similarity index 100% rename from src/assets/images/past-sponsors/disney.png rename to public/assets/images/past-sponsors/disney.png diff --git a/src/assets/images/past-sponsors/google_cloud.png b/public/assets/images/past-sponsors/google_cloud.png similarity index 100% rename from src/assets/images/past-sponsors/google_cloud.png rename to public/assets/images/past-sponsors/google_cloud.png diff --git a/src/assets/images/past-sponsors/linode.png b/public/assets/images/past-sponsors/linode.png similarity index 100% rename from src/assets/images/past-sponsors/linode.png rename to public/assets/images/past-sponsors/linode.png diff --git a/src/assets/images/past-sponsors/matlab.png b/public/assets/images/past-sponsors/matlab.png similarity index 100% rename from src/assets/images/past-sponsors/matlab.png rename to public/assets/images/past-sponsors/matlab.png diff --git a/src/assets/images/past-sponsors/oai.png b/public/assets/images/past-sponsors/oai.png similarity index 100% rename from src/assets/images/past-sponsors/oai.png rename to public/assets/images/past-sponsors/oai.png diff --git a/src/assets/images/past-sponsors/pimco.JPG b/public/assets/images/past-sponsors/pimco.JPG similarity index 100% rename from src/assets/images/past-sponsors/pimco.JPG rename to public/assets/images/past-sponsors/pimco.JPG diff --git a/src/assets/images/past-sponsors/postman.png b/public/assets/images/past-sponsors/postman.png similarity index 100% rename from src/assets/images/past-sponsors/postman.png rename to public/assets/images/past-sponsors/postman.png diff --git a/src/assets/images/past-sponsors/properdata.png b/public/assets/images/past-sponsors/properdata.png similarity index 100% rename from src/assets/images/past-sponsors/properdata.png rename to public/assets/images/past-sponsors/properdata.png diff --git a/src/assets/images/past-sponsors/robinhood.png b/public/assets/images/past-sponsors/robinhood.png similarity index 100% rename from src/assets/images/past-sponsors/robinhood.png rename to public/assets/images/past-sponsors/robinhood.png diff --git a/src/assets/images/past-sponsors/slalom.png b/public/assets/images/past-sponsors/slalom.png similarity index 100% rename from src/assets/images/past-sponsors/slalom.png rename to public/assets/images/past-sponsors/slalom.png diff --git a/src/assets/images/past-sponsors/ucibren.png b/public/assets/images/past-sponsors/ucibren.png similarity index 100% rename from src/assets/images/past-sponsors/ucibren.png rename to public/assets/images/past-sponsors/ucibren.png diff --git a/src/assets/images/past-sponsors/uciinformatics.png b/public/assets/images/past-sponsors/uciinformatics.png similarity index 100% rename from src/assets/images/past-sponsors/uciinformatics.png rename to public/assets/images/past-sponsors/uciinformatics.png diff --git a/src/assets/images/past-sponsors/wayup.png b/public/assets/images/past-sponsors/wayup.png similarity index 100% rename from src/assets/images/past-sponsors/wayup.png rename to public/assets/images/past-sponsors/wayup.png diff --git a/src/assets/images/past-sponsors/zillow.png b/public/assets/images/past-sponsors/zillow.png similarity index 100% rename from src/assets/images/past-sponsors/zillow.png rename to public/assets/images/past-sponsors/zillow.png diff --git a/src/assets/images/past-sponsors/zybooks.png b/public/assets/images/past-sponsors/zybooks.png similarity index 100% rename from src/assets/images/past-sponsors/zybooks.png rename to public/assets/images/past-sponsors/zybooks.png diff --git a/src/assets/images/periwinkleplanet.png b/public/assets/images/periwinkleplanet.png similarity index 100% rename from src/assets/images/periwinkleplanet.png rename to public/assets/images/periwinkleplanet.png diff --git a/src/assets/images/pinkplanet.png b/public/assets/images/pinkplanet.png similarity index 100% rename from src/assets/images/pinkplanet.png rename to public/assets/images/pinkplanet.png diff --git a/src/assets/images/speaker-photos/alyssa_darjuan.jpeg b/public/assets/images/speaker-photos/alyssa_darjuan.jpeg similarity index 100% rename from src/assets/images/speaker-photos/alyssa_darjuan.jpeg rename to public/assets/images/speaker-photos/alyssa_darjuan.jpeg diff --git a/src/assets/images/speaker-photos/dayana_alvarez.jpeg b/public/assets/images/speaker-photos/dayana_alvarez.jpeg similarity index 100% rename from src/assets/images/speaker-photos/dayana_alvarez.jpeg rename to public/assets/images/speaker-photos/dayana_alvarez.jpeg diff --git a/src/assets/images/speaker-photos/janet_chavez_erazo.jpeg b/public/assets/images/speaker-photos/janet_chavez_erazo.jpeg similarity index 100% rename from src/assets/images/speaker-photos/janet_chavez_erazo.jpeg rename to public/assets/images/speaker-photos/janet_chavez_erazo.jpeg diff --git a/src/assets/images/speaker-photos/rupa_prasad.jpeg b/public/assets/images/speaker-photos/rupa_prasad.jpeg similarity index 100% rename from src/assets/images/speaker-photos/rupa_prasad.jpeg rename to public/assets/images/speaker-photos/rupa_prasad.jpeg diff --git a/src/assets/images/speaker-photos/shohreh_bozorgmehri.jpeg b/public/assets/images/speaker-photos/shohreh_bozorgmehri.jpeg similarity index 100% rename from src/assets/images/speaker-photos/shohreh_bozorgmehri.jpeg rename to public/assets/images/speaker-photos/shohreh_bozorgmehri.jpeg diff --git a/src/assets/images/speaker-photos/tara_elsey.jpeg b/public/assets/images/speaker-photos/tara_elsey.jpeg similarity index 100% rename from src/assets/images/speaker-photos/tara_elsey.jpeg rename to public/assets/images/speaker-photos/tara_elsey.jpeg diff --git a/src/assets/images/speaker-photos/thomas_andriola.jpeg b/public/assets/images/speaker-photos/thomas_andriola.jpeg similarity index 100% rename from src/assets/images/speaker-photos/thomas_andriola.jpeg rename to public/assets/images/speaker-photos/thomas_andriola.jpeg diff --git a/src/assets/images/speaker-photos/valentyna_yurtyn.jpeg b/public/assets/images/speaker-photos/valentyna_yurtyn.jpeg similarity index 100% rename from src/assets/images/speaker-photos/valentyna_yurtyn.jpeg rename to public/assets/images/speaker-photos/valentyna_yurtyn.jpeg diff --git a/src/assets/images/sponsors/antrepreneurcenter.png b/public/assets/images/sponsors/antrepreneurcenter.png similarity index 100% rename from src/assets/images/sponsors/antrepreneurcenter.png rename to public/assets/images/sponsors/antrepreneurcenter.png diff --git a/src/assets/images/sponsors/corelogic.png b/public/assets/images/sponsors/corelogic.png similarity index 100% rename from src/assets/images/sponsors/corelogic.png rename to public/assets/images/sponsors/corelogic.png diff --git a/src/assets/images/sponsors/costar.png b/public/assets/images/sponsors/costar.png similarity index 100% rename from src/assets/images/sponsors/costar.png rename to public/assets/images/sponsors/costar.png diff --git a/src/assets/images/sponsors/coxenterprises.png b/public/assets/images/sponsors/coxenterprises.png similarity index 100% rename from src/assets/images/sponsors/coxenterprises.png rename to public/assets/images/sponsors/coxenterprises.png diff --git a/src/assets/images/sponsors/odit.png b/public/assets/images/sponsors/odit.png similarity index 100% rename from src/assets/images/sponsors/odit.png rename to public/assets/images/sponsors/odit.png diff --git a/src/assets/images/stars-background.svg b/public/assets/images/stars-background.svg similarity index 100% rename from src/assets/images/stars-background.svg rename to public/assets/images/stars-background.svg diff --git a/src/assets/images/stars.svg b/public/assets/images/stars.svg similarity index 100% rename from src/assets/images/stars.svg rename to public/assets/images/stars.svg diff --git a/public/assets/images/titles/vh-about.svg b/public/assets/images/titles/vh-about.svg new file mode 100644 index 0000000..f50fa61 --- /dev/null +++ b/public/assets/images/titles/vh-about.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/public/assets/images/titles/vh-faq.svg b/public/assets/images/titles/vh-faq.svg new file mode 100644 index 0000000..0817100 --- /dev/null +++ b/public/assets/images/titles/vh-faq.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/assets/images/titles/vh-info2022.png b/public/assets/images/titles/vh-info2022.png similarity index 100% rename from src/assets/images/titles/vh-info2022.png rename to public/assets/images/titles/vh-info2022.png diff --git a/src/assets/images/titles/vh-meet-the-team.png b/public/assets/images/titles/vh-meet-the-team.png similarity index 100% rename from src/assets/images/titles/vh-meet-the-team.png rename to public/assets/images/titles/vh-meet-the-team.png diff --git a/src/assets/images/titles/vh-partners.png b/public/assets/images/titles/vh-partners.png similarity index 100% rename from src/assets/images/titles/vh-partners.png rename to public/assets/images/titles/vh-partners.png diff --git a/src/assets/images/titles/vh-past-partners.png b/public/assets/images/titles/vh-past-partners.png similarity index 100% rename from src/assets/images/titles/vh-past-partners.png rename to public/assets/images/titles/vh-past-partners.png diff --git a/src/assets/images/titles/vh-past-sponsors.png b/public/assets/images/titles/vh-past-sponsors.png similarity index 100% rename from src/assets/images/titles/vh-past-sponsors.png rename to public/assets/images/titles/vh-past-sponsors.png diff --git a/src/assets/images/titles/vh-speakers.png b/public/assets/images/titles/vh-speakers.png similarity index 100% rename from src/assets/images/titles/vh-speakers.png rename to public/assets/images/titles/vh-speakers.png diff --git a/src/assets/images/titles/vh-sponsors.png b/public/assets/images/titles/vh-sponsors.png similarity index 100% rename from src/assets/images/titles/vh-sponsors.png rename to public/assets/images/titles/vh-sponsors.png diff --git a/src/assets/images/titles/vh-title-launch.svg b/public/assets/images/titles/vh-title-launch.svg similarity index 100% rename from src/assets/images/titles/vh-title-launch.svg rename to public/assets/images/titles/vh-title-launch.svg diff --git a/src/assets/images/titles/vh-title.png b/public/assets/images/titles/vh-title.png similarity index 100% rename from src/assets/images/titles/vh-title.png rename to public/assets/images/titles/vh-title.png diff --git a/src/assets/images/titles/vh-worded-logo.png b/public/assets/images/titles/vh-worded-logo.png similarity index 100% rename from src/assets/images/titles/vh-worded-logo.png rename to public/assets/images/titles/vh-worded-logo.png diff --git a/src/assets/images/vh-astronaut-float.png b/public/assets/images/vh-astronaut-float.png similarity index 100% rename from src/assets/images/vh-astronaut-float.png rename to public/assets/images/vh-astronaut-float.png diff --git a/src/assets/images/vh-astronaut.png b/public/assets/images/vh-astronaut.png similarity index 100% rename from src/assets/images/vh-astronaut.png rename to public/assets/images/vh-astronaut.png diff --git a/src/assets/images/vh-big-dipper.png b/public/assets/images/vh-big-dipper.png similarity index 100% rename from src/assets/images/vh-big-dipper.png rename to public/assets/images/vh-big-dipper.png diff --git a/src/assets/images/vh-boba.png b/public/assets/images/vh-boba.png similarity index 100% rename from src/assets/images/vh-boba.png rename to public/assets/images/vh-boba.png diff --git a/src/assets/images/vh-cassiopeia.png b/public/assets/images/vh-cassiopeia.png similarity index 100% rename from src/assets/images/vh-cassiopeia.png rename to public/assets/images/vh-cassiopeia.png diff --git a/src/assets/images/vh-cat.png b/public/assets/images/vh-cat.png similarity index 100% rename from src/assets/images/vh-cat.png rename to public/assets/images/vh-cat.png diff --git a/src/assets/images/vh-laptop.png b/public/assets/images/vh-laptop.png similarity index 100% rename from src/assets/images/vh-laptop.png rename to public/assets/images/vh-laptop.png diff --git a/src/assets/images/vh-pegasus.png b/public/assets/images/vh-pegasus.png similarity index 100% rename from src/assets/images/vh-pegasus.png rename to public/assets/images/vh-pegasus.png diff --git a/src/assets/images/vh-periwinkle-planet.png b/public/assets/images/vh-periwinkle-planet.png similarity index 100% rename from src/assets/images/vh-periwinkle-planet.png rename to public/assets/images/vh-periwinkle-planet.png diff --git a/src/assets/images/vh-planet.png b/public/assets/images/vh-planet.png similarity index 100% rename from src/assets/images/vh-planet.png rename to public/assets/images/vh-planet.png diff --git a/src/app/favicon.ico b/public/favicon.ico similarity index 100% rename from src/app/favicon.ico rename to public/favicon.ico diff --git a/src/App.css b/src/App.css new file mode 100644 index 0000000..b9d355d --- /dev/null +++ b/src/App.css @@ -0,0 +1,42 @@ +#root { + max-width: 1280px; + margin: 0 auto; + padding: 2rem; + text-align: center; +} + +.logo { + height: 6em; + padding: 1.5em; + will-change: filter; + transition: filter 300ms; +} +.logo:hover { + filter: drop-shadow(0 0 2em #646cffaa); +} +.logo.react:hover { + filter: drop-shadow(0 0 2em #61dafbaa); +} + +@keyframes logo-spin { + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } +} + +@media (prefers-reduced-motion: no-preference) { + a:nth-of-type(2) .logo { + animation: logo-spin infinite 20s linear; + } +} + +.card { + padding: 2em; +} + +.read-the-docs { + color: #888; +} diff --git a/src/App.jsx b/src/App.jsx new file mode 100644 index 0000000..cdb2577 --- /dev/null +++ b/src/App.jsx @@ -0,0 +1,26 @@ +// import { BrowserRouter, Routes, Route } from "react-router-dom"; +import { createBrowserRouter, RouterProvider } from "react-router-dom"; + +import { Home, Schedule, Resources, Workshops, NotFound } from "src/app/views"; + +// import { Nav } from "src/app/components"; + +import "./App.css"; + +const router = createBrowserRouter([ + { + path: "/", + element: , + errorElement: , + }, +]); + +function App() { + return ( +
+ +
+ ); +} + +export default App; diff --git a/src/app/(main)/(home)/page.jsx b/src/app/(main)/(home)/page.jsx deleted file mode 100644 index 90834f9..0000000 --- a/src/app/(main)/(home)/page.jsx +++ /dev/null @@ -1,52 +0,0 @@ -"use client"; - -import Image from "next/image"; - -import { comfortaa } from "@/app/fonts"; - -import { VenusButton } from "@/app/components"; - -import vhTitle from "@/assets/images/titles/vh-title-launch.svg"; -import "./Home.scss"; - -const VH_DATE = "May 24 - 26, 2024"; -// const VH_DATE = "Coming Soon!"; - -const Home = () => { - return ( -
- {/* HERO **********************/} -
-
- {/* These assets are a background of a div instead of imgs to prevent - them from being able to be saved to camera roll on iOS */} -
-
-
-
-
- -
- VenusHacks Title Logo -

- {VH_DATE} -

-

UC Irvine's largest women-centric hackathon

-

Apps are now open!

- - - -
-
-
- ); -}; - -export default Home; diff --git a/src/app/(main)/layout.jsx b/src/app/(main)/layout.jsx deleted file mode 100644 index ccd8baf..0000000 --- a/src/app/(main)/layout.jsx +++ /dev/null @@ -1,11 +0,0 @@ -import "@/app/globals.css"; - -const Layout = ({ children }) => { - return ( - <> - {children} - - ); -}; - -export default Layout; diff --git a/src/app/(main)/resources/Resources.scss b/src/app/(main)/resources/Resources.scss deleted file mode 100644 index 2225a9e..0000000 --- a/src/app/(main)/resources/Resources.scss +++ /dev/null @@ -1,108 +0,0 @@ -@import "../vh-styles.scss"; - -.starter-packs { - min-height: 100vh; - width: 100vw; - background-image: url("../../../assets/images/stars-background.svg"); - background-attachment: fixed; - background-size: 100% auto; - display: flex; - align-items: center; - justify-content: center; - flex-direction: column; - color: white; - - .starter-packs-instructions { - min-height: calc(100vh - 114px); - width: 60vw; - text-align: left; - display: flex; - flex-direction: column; - padding-top: 4rem; - padding-bottom: 4rem; - - p { - font-size: 1.4rem; - } - - a { - text-decoration: underline; - } - } - - .starter-pack-card { - margin: 3rem auto; - width: 80vw; - min-height: 10rem; - border-radius: 25px; - background-color: #42384473; - color: white; - display: flex; - align-items: center; - justify-content: center; - padding: 3rem; - z-index: 10; - display: flex; - flex-direction: row; - min-height: auto; - opacity: 0.8; - - @media screen and (max-width: $break-medium) { - flex-direction: column; - } - - p { - font-size: 1.4rem; - } - - .starter-pack-card-information { - display: flex; - flex-direction: column; - align-items: flex-start; - justify-content: flex-start; - width: 60%; - height: 100%; - - @media screen and (max-width: $break-medium) { - align-items: center; - width: 90%; - } - } - - .starter-pack-card-links { - display: flex; - flex-direction: column; - width: 40%; - margin-top: 1rem; - - @media screen and (max-width: $break-medium) { - width: 90%; - h4 { - font-size: 1em; - } - } - - a { - width: 100%; - margin-bottom: 1rem; - - div { - border: 3px solid $pink; - width: 100%; - padding: 1rem; - border-radius: 1rem; - border-collapse: separate; - display: inline-block; - } - - h4 { - margin-bottom: 0; - } - } - } - } - - h2 { - margin-top: 2em; - } -} diff --git a/src/app/(main)/resources/page.jsx b/src/app/(main)/resources/page.jsx deleted file mode 100644 index 3031bb1..0000000 --- a/src/app/(main)/resources/page.jsx +++ /dev/null @@ -1,46 +0,0 @@ -import { redirect } from "next/navigation"; -// import { Tooltip, Footer } from "@/app/components"; -// import { starterPackData } from "@/assets/data/resources-info"; - -import "./Resources.scss"; - -// function Resources() { -// return ( -//
-//

Resources

-// {starterPackData.map(function (starterPack) { -// return ( -//
-//
-//

{starterPack.name}

-//

{starterPack.description}

-//
-//
-// {starterPack.packs.map(function (pack) { -// return ( -// -// -//
-//

{pack.name}

-//
-//
-//
-// ); -// })} -//
-//
-// ); -// })} -//
-//
-// ); -// } - -const Resources = () => process.env.NEXT_PUBLIC_MAINTENANCE_MODE_RESOURCES ? redirect("/") :

Resources

; - -export default Resources; diff --git a/src/app/(main)/schedule/Schedule.scss b/src/app/(main)/schedule/Schedule.scss deleted file mode 100644 index 778662a..0000000 --- a/src/app/(main)/schedule/Schedule.scss +++ /dev/null @@ -1,212 +0,0 @@ -@import "../vh-styles.scss"; - -.Schedule { - min-height: 100vh; - width: 100vw; - background-image: url("../../../assets/images/stars-background.svg"); - background-attachment: fixed; - background-size: 100% auto; - display: flex; - align-items: center; - justify-content: center; - flex-direction: column; - color: white; - - h1 { - font-weight: 600; - } - - .stripes { - width: 100vw; - height: 80vh; - transform-origin: 0; - // background-image: url('./../../../assets/images/background.png'); - background-size: cover; - position: absolute; - - .div { - position: absolute; - } - } - - .inner0 { - background-image: linear-gradient(to left, $leftGradient, $rightOffGradient); - grid-area: 5 / 5 / 5 / 6; - } - - .inner1 { - background-image: linear-gradient(to right, $rightOffGradient, $leftGradient); - grid-area: 1 / 1 / 1 / 4; - } - - .inner2 { - background-image: linear-gradient(to left, $leftGradient, $rightOffGradient); - grid-area: 2 / 3 / 2 / 6; - } - - .inner3 { - background-image: linear-gradient(to right, $leftGradient, $rightOffGradient); - grid-area: 5 / 1 / 5 / 3; - } - - #intro { - height: 90vh; - position: relative; - display: flex; - justify-content: center; - align-items: center; - flex-direction: column; - text-align: left; - color: white; - - .schedule-nav { - position: absolute; - top: 0; - right: 0; - display: flex; - justify-content: flex-end; - - a { - margin-right: 0 !important; - text-decoration: none; - display: flex; - align-items: center; - - h5 { - margin-bottom: 0; - } - } - } - - .schedule-button { - margin: 2em; - box-shadow: 0px 8px 15px rgba(0, 0, 0, 0.1); - } - - .title-info { - display: flex; - flex-direction: row; - width: 60vw; - - @media screen and (max-width: $break-medium) { - flex-direction: column; - align-items: center; - text-align: center; - - button { - align-self: center; - } - - img { - margin-right: 0 !important; - } - - h1 { - font-size: 60px; - } - } - - img { - width: 250px; - height: 250px; - margin-right: 2em; - } - - div { - display: flex; - flex-direction: column; - justify-content: center; - - button { - width: 100px; - } - } - - h1 { - margin-bottom: .1em !important; - } - } - } - - #schedule-nav { - width: 100vh; - position: relative; - } - - #schedule-block { - position: relative; - display: flex; - align-items: center; - flex-direction: column; - padding-bottom: 100px; - - .schedule-hacking-ends-in { - margin-bottom: 30px; - color: $pink; - - @media screen and (max-width: $break-medium) { - font-size: 20px; - } - } - - .schedule-countdown { - margin-top: 10px; - margin-bottom: 30px; - - & > section > span { - font-size: 16px; - margin-left: 2px; - } - } - - .schedule-header { - margin-top: 100px; - height: 15vh; - width: 100vw; - display: flex; - justify-content: center; - align-items: center; - color: white; - text-align: left; - - .hat-left { - width: 40px; - height: 40px; - } - - & > div { - width: 40vw; - display: grid; - grid-template-columns: 33% 33% 20%; - text-align: center; - - @media screen and (max-width: 800px) { - width: 80vw; - - h3 { - font-size: 25px; - } - } - - div { - display: flex; - justify-content: center; - align-items: center; - } - } - } - } - - #credits { - background-color: white; - height: 15vh; - margin-top: 10vh; - display: flex; - justify-content: center; - align-items: center; - - p { - margin: 0; - } - } -} diff --git a/src/app/(main)/schedule/page.jsx b/src/app/(main)/schedule/page.jsx deleted file mode 100644 index 16fd674..0000000 --- a/src/app/(main)/schedule/page.jsx +++ /dev/null @@ -1,38 +0,0 @@ -"use client"; - -import { redirect } from "next/navigation"; -// import { -// Countdown, -// FloatingLaptop, -// Footer, -// ScheduleCard, -// } from "@/app/components"; - -import "./Schedule.scss"; - -// const HACKING_DEADLINE = "28 May 2023 09:00:00 PDT"; - -// const Schedule = () => ( -//
-//
-//
-// -//

Schedule

-// -//
-//

-// All times in PDT. Hacking ends in: -//

-//
-// -//
-//

See you next year!

-// -//
-//
-//
-// ); - -const Schedule = () => process.env.NEXT_PUBLIC_MAINTENANCE_MODE_SCHEDULE ? redirect("/") :

Schedule

; - -export default Schedule; diff --git a/src/app/(main)/workshops/Workshops.scss b/src/app/(main)/workshops/Workshops.scss deleted file mode 100644 index 9c47ff3..0000000 --- a/src/app/(main)/workshops/Workshops.scss +++ /dev/null @@ -1,14 +0,0 @@ -@import "../../(main)/vh-styles.scss"; - -.workshops { - min-height: 100vh; - background-image: url("../../../assets/images/stars-background.svg"); - background-attachment: fixed; - background-size: 100% auto; - display: flex; - flex-direction: column; - - h2 { - margin-top: 2em; - } -} diff --git a/src/app/(main)/workshops/page.jsx b/src/app/(main)/workshops/page.jsx deleted file mode 100644 index c7faf26..0000000 --- a/src/app/(main)/workshops/page.jsx +++ /dev/null @@ -1,23 +0,0 @@ -import { redirect } from "next/navigation"; -// import { WorkshopCard, Footer } from "@/app/components"; -// import { workshopsData } from "@/assets/data/workshops-info"; - -import "./Workshops.scss"; - -// const Workshops = () => { -// return ( -//
-//

Workshops

-//
-// For time and location info, check the{" "} -// Schedule page! -//
-// {workshopsData.map((workshop) => WorkshopCard(workshop))} -//
-//
-// ); -// }; - -const Workshops = () => process.env.NEXT_PUBLIC_MAINTENANCE_MODE_WORKSHOPS ? redirect("/") :

Workshops

; - -export default Workshops; diff --git a/src/app/components/countdown/Countdown.jsx b/src/app/components/countdown/Countdown.jsx index 34e77ba..d7621a5 100644 --- a/src/app/components/countdown/Countdown.jsx +++ b/src/app/components/countdown/Countdown.jsx @@ -3,7 +3,12 @@ import Confetti from "react-confetti"; import FlipNumbers from "react-flip-numbers"; const Countdown = ({ date }) => { - const [winDim, setWinDim] = useState({ height: 0, width: 0 }); + const getWinDims = () => { + const { innerWidth: width, innerHeight: height } = window; + return { width, height }; + }; + + const [winDim, setWinDim] = useState(getWinDims()); const [timer, setTimer] = useState("00:00:00"); const [hasTimerInit, setHasTimerInit] = useState(false); const ref = useRef(null); @@ -42,8 +47,7 @@ const Countdown = ({ date }) => { }, [date]); useEffect(() => { - const { innerWidth: width, innerHeight: height } = window; - const handleResize = () => setWinDim({ width, height }); + const handleResize = () => setWinDim(getWinDims()); window.addEventListener("resize", handleResize); return () => window.removeEventListener("resize", handleResize); }, []); diff --git a/src/app/components/faqs/FAQs.js b/src/app/components/faqs/FAQs.js deleted file mode 100644 index 0bd052a..0000000 --- a/src/app/components/faqs/FAQs.js +++ /dev/null @@ -1,54 +0,0 @@ -import React from "react"; -import faq_data from "./FAQs.json"; -import { Card, Accordion } from "react-bootstrap"; -import "./FAQs.scss"; - -const SingleFAQ = ({ index, data }) => ( - - - {data.question} - - - - - -); - -export default class FAQs extends React.Component { - render() { - var leftFAQs = faq_data.filter(function (faq, index) { - return index % 2 === 0; - }); - - var rightFAQs = faq_data.filter(function (faq, index) { - return index % 2 !== 0; - }); - - return ( -
- {/* Two accordions, one faq on each side can be open at a time */} -
- - {leftFAQs.map((faq, i) => ( - - ))} - - - {rightFAQs.map((faq, i) => ( - - ))} - -
- - {/* One accordion, one faq can be open at a time */} -
- - {faq_data.map((faq, i) => ( - - ))} - -
-
- ); - } -} diff --git a/src/app/components/faqs/FAQs.json b/src/app/components/faqs/FAQs.json index 9a4157c..3f57fb9 100644 --- a/src/app/components/faqs/FAQs.json +++ b/src/app/components/faqs/FAQs.json @@ -7,44 +7,48 @@ "question": "Who can participate?", "answer": "We hope this event inspires and highlights high school, undergraduate, and graduate students ages 18 or older who identify as women, gender minorities, or allies interested in technology. There are also opportunities to participate as mentors and volunteers to support!" }, + { + "question": "What if I have no experience?", + "answer": "Perfect! We welcome hackers of all experience levels and backgrounds. We will be providing resources and workshops to help new hackers get started on projects and learn new technologies. There will also be mentors at the event to help guide you!" + }, { "question": "Can high schoolers attend?", "answer": "Yes! However, you must be at least 18 years old at the time of the hackathon to attend." }, { - "question": "Will transportation to the event or overnight accommodations be provided?", - "answer": "No, all attendees (UCI and non-UCI students) are responsible for their own transportation to UC Irvine and overnight stay between event days." + "question": "Will the hackathon be in-person or online?", + "answer": "VenusHacks 2024 will be fully in-person! Hackers should expect to be available in-person all 3 event days from Friday night to Sunday morning." }, { - "question": "What do I need? (What can/should I bring?)", - "answer": "An open mind, valid photo ID, laptop, charger, and anything else you would need to hack! We also encourage bringing a refillable water bottle and any items that might come in handy during the hacking experience (e.g., for inspiration or comfort)." + "question": "Will transportation or overnight accommodations be provided?", + "answer": "No, all attendees (UCI and non-UCI students) are responsible for their own transportation to UC Irvine and overnight stay between event days." }, { - "question": "What if I have no experience?", - "answer": "Perfect! We welcome hackers of all experience levels and backgrounds. We will be providing resources and workshops to help new hackers get started on projects and learn new technologies. There will also be mentors at the event to help guide you!" + "question": "What do I need to bring?", + "answer": "Bring a valid photo ID, laptop, charger, and anything else you would need to hack! We also encourage bringing a refillable water bottle to help stay hydrated." }, { "question": "Do I sign up as an individual or as a team?", - "answer": "Individual. We will be accepting applicants on an individual basis. Those accepted can form teams before the hackathon (i.e. via our Slack channel) or during our team formation event at the start of the hackathon. " + "answer": "Applications are submitted individually. Those accepted can form teams before the hackathon (i.e. via our Slack channel) or during our team formation event at the start of the hackathon." }, { - "question": "Can I come with a project pre-built or will I have to build from scratch?", - "answer": "You will be building your project from scratch. Participants that start working on their projects before the hacking period begins will be immediately disqualified from the competition. However, feel free to come up with ideas of what you want to build before the hackathon!" + "question": "Can I come with a project pre-built, or will I have to build it from scratch?", + "answer": "You will be building your project from scratch. Participants who start working on their projects before the hacking period begins will be immediately disqualified from the competition. However, feel free to brainstorm ideas of what you want to build before the hackathon!" }, { - "question": "Will the hackathon be in-person or online?", - "answer": "VenusHacks 2023 will be fully in-person! Hackers should expect to be available in-person all 3 event days from Friday night to Sunday morning." + "question": "How many people can be on a team?", + "answer": "Up to 4 hackers can be on a team. Participants are free to form smaller teams or compete individually, but it is recommended to find other students to collaborate with!" }, { - "question": "How many people can be on a team?", - "answer": "Up to 4 hackers can be on a team." + "question": "Will food be provided?", + "answer": "Yes! Meals and snacks will be provided throughout the hackathon for all participants." }, { - "question": "When will applications open?", - "answer": "Applications for VenusHacks 2023 are now open! You can apply as a hacker (venushacks.com/apply) or as a volunteer (venushacks.com/volunteer)." + "question": "When will applications close?", + "answer": "Applications will close Friday, May 3rd, 2024 at 11:59 PM!" }, { - "question": "How do I get hyped?", - "answer": "Follow our Facebook page: @venushacksUCI and our Instagram: @venushacks_uci for important updates!" + "question": "When will the hackathon begin?", + "answer": "The hackathon will take place from Friday, May 24th to Sunday, May 26th!" } -] \ No newline at end of file +] diff --git a/src/app/components/faqs/FAQs.jsx b/src/app/components/faqs/FAQs.jsx new file mode 100644 index 0000000..89924b8 --- /dev/null +++ b/src/app/components/faqs/FAQs.jsx @@ -0,0 +1,45 @@ +import { Accordion } from "react-bootstrap"; + +import SingleFAQ from "./SingleFAQ"; +import faq_data from "./FAQs.json"; + +import "./FAQs.scss"; + +export default function FAQs() { + const leftFAQs = faq_data.filter(function (faq, index) { + return index % 2 === 0; + }); + + const rightFAQs = faq_data.filter(function (faq, index) { + return index % 2 !== 0; + }); + + return ( +
+ {/* Two accordions, one faq on each side can be open at a time */} +
+ + {leftFAQs.map((faq, i) => ( + + ))} + + + {rightFAQs.map((faq, i) => ( + + ))} + +
+ + {/* One accordion, one faq can be open at a time */} +
+
+ + {faq_data.map((faq, i) => ( + + ))} + +
+
+
+ ); +} diff --git a/src/app/components/faqs/FAQs.scss b/src/app/components/faqs/FAQs.scss index 29cfc2b..4d283ee 100644 --- a/src/app/components/faqs/FAQs.scss +++ b/src/app/components/faqs/FAQs.scss @@ -1,65 +1,37 @@ -@import "globals/vh-styles.scss"; +// @import "../../../globals/vh-styles.scss"; #faq-accordion-wrapper { - width: 80vw; - text-align: left; + width: 80vw; + text-align: left; - #faq-accordion-grid { - display: grid; - grid-template-columns: 1fr 1fr; - grid-column-gap: 20px; + #faq-accordion-grid { + display: grid; + grid-template-columns: 1fr 1fr; + grid-column-gap: 20px; - @media screen and (max-width: 830px) { - display: none; - } - } + @media screen and (max-width: 830px) { + display: none; + } + } - #faq-accordion-mobile { - display: none; + #faq-accordion-mobile { + display: none; - @media screen and (max-width: 830px) { - display: block; - } - } + @media screen and (max-width: 830px) { + display: block; + } + } } // BOOTSTRAP ACCORDION STYLING -.accordion { - text-align: left; -} -.accordion>.card .card-header, .card-body { - background: none; -} -.accordion>.card { - border: none; - background: none; - border-bottom: solid 1px white !important; - border-radius: 0 !important; -} -div.card-header { - text-align: left; - font-size: 1.4em; - border: none; - font-weight: 500; - padding: 15px 0; - transition: 0.3s; - @media screen and (max-width: $break-medium) { - font-size: 17px; - padding: 10px 0; - } -} -div.card-body { - text-align: left; -} -div.card-header:hover { - cursor: pointer; - color: $pink; -} -div.card-body { - font-size: 1.2em; - padding: 0 0 10px; - @media screen and (max-width: $break-medium) { - font-size: 15px; - } +.accordion { + text-align: left; + --bs-accordion-color: #322660; + --bs-accordion-active-color: #322660; + --bs-accordion-btn-color: #322660; + --bs-accordion-bg: none; + --bs-accordion-border-color: none; + --bs-accordion-active-bg: none; + --bs-accordion-btn-focus-box-shadow: none; } diff --git a/src/app/components/faqs/SingleFAQ.jsx b/src/app/components/faqs/SingleFAQ.jsx new file mode 100644 index 0000000..7d56331 --- /dev/null +++ b/src/app/components/faqs/SingleFAQ.jsx @@ -0,0 +1,10 @@ +import { Accordion } from "react-bootstrap"; + +const SingleFAQ = ({ index, data }) => ( + + {data.question} + {data.answer} + +); + +export default SingleFAQ; diff --git a/src/app/components/floating-laptop/FloatingLaptop.js b/src/app/components/floating-laptop/FloatingLaptop.jsx similarity index 51% rename from src/app/components/floating-laptop/FloatingLaptop.js rename to src/app/components/floating-laptop/FloatingLaptop.jsx index de5b48d..34b995b 100644 --- a/src/app/components/floating-laptop/FloatingLaptop.js +++ b/src/app/components/floating-laptop/FloatingLaptop.jsx @@ -1,6 +1,4 @@ -import Image from "next/image"; - -import laptop from "@/assets/images/vh-laptop.png"; +import laptop from "/assets/images/vh-laptop.png"; import "./FloatingLaptop.scss"; // TODO Redo this animation natively or in Framer Motion @@ -22,32 +20,28 @@ import "./FloatingLaptop.scss"; // }) const FloatingLaptop = () => { - // const image = ({height, degree}) => ( - // floating laptop `translateY(${h - 10}px) rotate(-50deg)`), - // transformOrigin: 'top center', - // }} - // /> - // ); + // const image = ({height, degree}) => ( + // floating laptop `translateY(${h - 10}px) rotate(-50deg)`), + // transformOrigin: 'top center', + // }} + // /> + // ); - return ( - // - // {image} - // - Floating Laptop - ); + return ( + // + // {image} + // + Floating Laptop + ); }; export default FloatingLaptop; diff --git a/src/app/components/floating-laptop/FloatingLaptop.scss b/src/app/components/floating-laptop/FloatingLaptop.scss index 7b74f9a..5078fe0 100644 --- a/src/app/components/floating-laptop/FloatingLaptop.scss +++ b/src/app/components/floating-laptop/FloatingLaptop.scss @@ -1,11 +1,11 @@ -@import "../../(main)/vh-styles.scss"; +@import "../../../globals/vh-styles.scss"; -.floating-laptop { - width: 60px; - margin-right: 45px; - height: 60px; +.floating-hat { + width: 60px; + margin-right: 45px; + height: 60px; - @media screen and (max-width: $break-small) { - display: none; - } + @media screen and (max-width: $break-small) { + display: none; + } } diff --git a/src/app/components/footer/Footer.js b/src/app/components/footer/Footer.js deleted file mode 100644 index bc3b841..0000000 --- a/src/app/components/footer/Footer.js +++ /dev/null @@ -1,28 +0,0 @@ -import React from "react"; -import "./Footer.scss"; - -function Footer() { - return ( - - ); -} - -export default Footer; diff --git a/src/app/components/footer/Footer.jsx b/src/app/components/footer/Footer.jsx new file mode 100644 index 0000000..81b1ad7 --- /dev/null +++ b/src/app/components/footer/Footer.jsx @@ -0,0 +1,20 @@ +import React from 'react'; +import './Footer.scss'; + +function Footer() { + return ( + + ) +} + +export default Footer; \ No newline at end of file diff --git a/src/app/components/footer/Footer.scss b/src/app/components/footer/Footer.scss index 7d0576d..d35b37b 100644 --- a/src/app/components/footer/Footer.scss +++ b/src/app/components/footer/Footer.scss @@ -1,21 +1,21 @@ -@import "../../(main)/vh-styles.scss"; +@import "../../../globals/vh-styles.scss"; #footer { - width: 100vw; - height: 125px; - background-color: #382a77; + width: 100vw; + height: 125px; + background-color: #382a77; - font-size: 35px; - display: flex; - justify-content: center; - align-items: center; + font-size: 35px; + display: flex; + justify-content: center; + align-items: center; - a { - color: $fontColor; - margin: 0 15px; - } + a { + color: $fontColor; + margin: 0 15px; + } - a:hover { - color: $pink; - } + a:hover { + color: $pink; + } } diff --git a/src/app/components/meet-team/team.js b/src/app/components/meet-team/team.js deleted file mode 100755 index 236526d..0000000 --- a/src/app/components/meet-team/team.js +++ /dev/null @@ -1,61 +0,0 @@ -import React from "react"; -import "./team.scss"; - -export default class Team extends React.Component { - render() { - let organizers = [ - { photo: "alan", name: "Alan Chang" }, - { photo: "alicia", name: "Alicia Chuang" }, - { photo: "alisa", name: "Alisa Lu" }, - { photo: "araam", name: "Araam Abutaha" }, - { photo: "audrey", name: "Audrey Lam" }, - { photo: "avent", name: "Avent Chiu" }, - { photo: "brian", name: "Brian Lin" }, - { photo: "caroline", name: "Caroline Wang" }, - { photo: "cheryl", name: "Cheryl Chen" }, - { photo: "chloe", name: "Chloe Cheng" }, - { photo: "cinta", name: "Cinta Adhiningrat" }, - { photo: "crystal", name: "Crystal Lai" }, - { photo: "grace", name: "Grace Manning" }, - { photo: "graceW", name: "Grace Wang" }, - { photo: "hang", name: "Hang Cao" }, - { photo: "jefferey", name: "Jefferey Lee Chea" }, - { photo: "jenny", name: "Jenny Liu" }, - { photo: "kirby", name: "Kirby Ammari" }, - { photo: "kristen", name: "Kristen Yee" }, - { photo: "mason", name: "Mason Wong" }, - { photo: "mignon", name: "Mignon April Lee" }, - { photo: "mirelle", name: "Mirelle George" }, - { photo: "nathanC", name: "Nathan Choi" }, - { photo: "nathan", name: "Nathan Huey" }, - { photo: "nicole", name: "Nicole Nguyen" }, - { photo: "philip", name: "Philip Truong" }, - { photo: "randy", name: "Randy Huynh" }, - { photo: "riley", name: "Riley Wong" }, - { photo: "rochelle", name: "Rochelle Nixon" }, - { photo: "rosalind", name: "Rosalind Guo" }, - { photo: "ruslan", name: "Ruslan Manoharan" }, - { photo: "ryan", name: "Ryan Eurich" }, - { photo: "sam", name: "Sam Der" }, - { photo: "shreshta", name: "Shreshta Kumar" }, - { photo: "taylor", name: "Taylor Quach" }, - ]; - - const images = organizers.map((organizer, i) => ( -
-
- {organizer.photo (e.currentTarget.src = require('assets/images/organizer-photos-funny/'+organizer.photo+'-funny.jpeg'))} - //onMouseOut={e => (e.currentTarget.src = require('assets/images/organizer-photos/'+organizer.photo+'.jpeg'))} - /> -
-

{organizer.name}

-
- )); - return
{images}
; - } -} diff --git a/src/app/components/meet-team/team.jsx b/src/app/components/meet-team/team.jsx new file mode 100755 index 0000000..743542c --- /dev/null +++ b/src/app/components/meet-team/team.jsx @@ -0,0 +1,65 @@ +import React from "react"; +import './team.scss'; + + +export default class Team extends React.Component { + render() { + let organizers = [ + {photo: "alan", name: "Alan Chang"}, + {photo: "alicia", name: "Alicia Chuang"}, + {photo: "alisa", name: "Alisa Lu"}, + {photo: "araam", name: "Araam Abutaha"}, + {photo: "audrey", name: "Audrey Lam"}, + {photo: "avent", name: "Avent Chiu"}, + {photo: "brian", name: "Brian Lin"}, + {photo: "caroline", name: "Caroline Wang"}, + {photo: "cheryl", name: "Cheryl Chen"}, + {photo: "chloe", name: "Chloe Cheng"}, + {photo: "cinta", name: "Cinta Adhiningrat"}, + {photo: "crystal", name: "Crystal Lai"}, + {photo: "grace", name: "Grace Manning"}, + {photo: "graceW", name: "Grace Wang"}, + {photo: "hang", name: "Hang Cao"}, + {photo: "jefferey", name: "Jefferey Lee Chea"}, + {photo: "jenny", name: "Jenny Liu"}, + {photo: "kirby", name: "Kirby Ammari"}, + {photo: "kristen", name: "Kristen Yee"}, + {photo: "mason", name: "Mason Wong"}, + {photo: "mignon", name: "Mignon April Lee"}, + {photo: "mirelle", name: "Mirelle George"}, + {photo: "nathanC", name: "Nathan Choi"}, + {photo: "nathan", name: "Nathan Huey"}, + {photo: "nicole", name: "Nicole Nguyen"}, + {photo: "philip", name: "Philip Truong"}, + {photo: "randy", name: "Randy Huynh"}, + {photo: "riley", name: "Riley Wong"}, + {photo: "rochelle", name: "Rochelle Nixon"}, + {photo: "rosalind", name: "Rosalind Guo"}, + {photo: "ruslan", name: "Ruslan Manoharan"}, + {photo: "ryan", name: "Ryan Eurich"}, + {photo: "sam", name: "Sam Der"}, + {photo: "shreshta", name: "Shreshta Kumar"}, + {photo: "taylor", name: "Taylor Quach"} + ]; + + const images = organizers.map((organizer, i) => +
+
+ {organizer.photo (e.currentTarget.src = require('assets/images/organizer-photos-funny/'+organizer.photo+'-funny.jpeg'))} + //onMouseOut={e => (e.currentTarget.src = require('assets/images/organizer-photos/'+organizer.photo+'.jpeg'))} + /> +
+

{organizer.name}

+
+ ); + return ( +
+ {images} +
+ + ); + } +} diff --git a/src/app/components/meet-team/team.scss b/src/app/components/meet-team/team.scss index 863c37b..8adfabd 100755 --- a/src/app/components/meet-team/team.scss +++ b/src/app/components/meet-team/team.scss @@ -1,37 +1,36 @@ -@import "../../(main)/vh-styles.scss"; +@import "../../../globals/vh-styles.scss"; -#organizer-photos{ - padding: 10px 50px 175px; - margin-bottom: 25px; +#organizer-photos { + padding: 10px 50px 175px; + margin-bottom: 25px; - @media screen and (max-width: $break-small) { - padding: 0 0 175px 0; - } + @media screen and (max-width: $break-small) { + padding: 0 0 175px 0; + } - .organizer-img-wrapper { - width: 200px; - height: 200px; - margin: 15px; + .organizer-img-wrapper { + width: 200px; + height: 200px; + margin: 15px; - @media screen and (max-width: 560px) { - width: 120px; - height: 120px; - margin: 14px 20px; - } - } + @media screen and (max-width: 560px) { + width: 120px; + height: 120px; + margin: 14px 20px; + } + } - .organizer-img-wrapper img { - width: 100%; - height: 100%; - object-fit: cover; - border-radius: 50%; - } - - p { - @media screen and (max-width: $break-medium) { - font-size: 15px; - margin-bottom: 0; - } - } + .organizer-img-wrapper img { + width: 100%; + height: 100%; + object-fit: cover; + border-radius: 50%; + } + p { + @media screen and (max-width: $break-medium) { + font-size: 15px; + margin-bottom: 0; + } + } } diff --git a/src/app/components/nav/Nav.js b/src/app/components/nav/Nav.js deleted file mode 100644 index f6a6be7..0000000 --- a/src/app/components/nav/Nav.js +++ /dev/null @@ -1,58 +0,0 @@ -import React, { useState } from "react"; -import { Link } from "react-router-dom"; -import { Button } from "react-bootstrap"; - -import "./Nav.scss"; - -function Nav() { - const [showDropMenu, setShowDropMenu] = useState(false); - - const toggleDropDownMenu = () => { - setShowDropMenu(!showDropMenu); - }; - - // hideDropDownMenu is the onclick function for the nav - // If the menu is shown and the user clicks somewhere on - // the screen, the menu will be hidden. - const hideDropDownMenu = () => { - if (showDropMenu) { - setShowDropMenu(false); - } - }; - - return ( -
- -
- -

Home

- - -

Schedule

- - -

Resources

- - -

Workshops

- - -

Incident Form

- - -

Devpost

- -
-
- ); -} - -export default Nav; diff --git a/src/app/components/nav/Nav.jsx b/src/app/components/nav/Nav.jsx new file mode 100644 index 0000000..5ca2cd6 --- /dev/null +++ b/src/app/components/nav/Nav.jsx @@ -0,0 +1,58 @@ +import { useState } from "react"; +import { Link } from "react-router-dom"; +import { Button } from "react-bootstrap"; + +import "./Nav.scss"; + +function Nav() { + const [showDropMenu, setShowDropMenu] = useState(false); + + const toggleDropDownMenu = () => { + setShowDropMenu(!showDropMenu); + }; + + // hideDropDownMenu is the onclick function for the nav + // If the menu is shown and the user clicks somewhere on + // the screen, the menu will be hidden. + const hideDropDownMenu = () => { + if (showDropMenu) { + setShowDropMenu(false); + } + }; + + return ( +
+ +
+ +

Home

+ + +

Schedule

+ + +

Resources

+ + +

Workshops

+ + +

Incident Form

+ + +

Devpost

+ +
+
+ ); +} + +export default Nav; diff --git a/src/app/components/nav/Nav.scss b/src/app/components/nav/Nav.scss index 22b5644..4475bfd 100644 --- a/src/app/components/nav/Nav.scss +++ b/src/app/components/nav/Nav.scss @@ -1,102 +1,102 @@ -@import "../../(main)/vh-styles.scss"; +@import "../../../globals/vh-styles.scss"; .nav { - width: 100vw; - height: 100px; - display: flex; - justify-content: flex-end; - position: fixed; - z-index: 100000; - background-image: linear-gradient(#292053, rgba(18,32,66,0)); - top: 0; - transition: all .2s ease; + width: 100vw; + height: 100px; + display: flex; + justify-content: flex-end; + position: fixed; + z-index: 100000; + background-image: linear-gradient(#292053, rgba(18, 32, 66, 0)); + top: 0; + transition: all 0.2s ease; - .menu-button { - display: none; - left: 30px; - top: 30px; - position: absolute; - background-color: #fff; - border-color: #fff; - color: rgb(153, 166, 229); - border-radius: 10px; - font-size: 1.5em; - } + .menu-button { + display: none; + left: 30px; + top: 30px; + position: absolute; + background-color: #fff; + border-color: #fff; + color: rgb(153, 166, 229); + border-radius: 10px; + font-size: 1.5em; + } - a { - text-decoration: none; - } + a { + text-decoration: none; + } - p { - color: white; - font-size: 20px; - margin-right: 30px; - margin-bottom: 0px; - line-height: 38px; - width: 100%; - } + p { + color: white; + font-size: 20px; + margin-right: 30px; + margin-bottom: 0px; + line-height: 38px; + width: 100%; + } - p:hover { - cursor: pointer; - } + p:hover { + cursor: pointer; + } - .nav-container { - margin-right: 30px; - margin-top: 30px; - display: flex; - flex-direction: row; - transition: all .2s ease; + .nav-container { + margin-right: 30px; + margin-top: 30px; + display: flex; + flex-direction: row; + transition: all 0.2s ease; - img { - height: 40px; - width: 40px; - } - } + img { + height: 40px; + width: 40px; + } + } - .nav-right { - margin-right: 30px; - margin-top: 30px; - display: flex; - flex-direction: row; - } + .nav-right { + margin-right: 30px; + margin-top: 30px; + display: flex; + flex-direction: row; + } - #mlh-trust-badge { - display:block; - max-width:100px; - min-width:60px; - position:fixed; - right:30px; - top:0; - width:10%; - z-index:10000; + #mlh-trust-badge { + display: block; + max-width: 100px; + min-width: 60px; + position: fixed; + right: 30px; + top: 0; + width: 10%; + z-index: 10000; - img { - width: 100%; - } - } + img { + width: 100%; + } + } - @media screen and (max-width: $break-small) { - .menu-button { - display: block; - } + @media screen and (max-width: $break-small) { + .menu-button { + display: block; + } - .nav-container { - display: none; + .nav-container { + display: none; - margin-left: 0; - width: 100%; - flex-direction: column; - align-items: center; - } + margin-left: 0; + width: 100%; + flex-direction: column; + align-items: center; + } - .show { - display: flex; - } - } + .show { + display: flex; + } + } } .show-menu { - display: flex; - height: 100%; - justify-content: center; + display: flex; + height: 100%; + justify-content: center; } diff --git a/src/app/components/schedule-card/ScheduleCard.js b/src/app/components/schedule-card/ScheduleCard.js deleted file mode 100644 index 41e46da..0000000 --- a/src/app/components/schedule-card/ScheduleCard.js +++ /dev/null @@ -1,65 +0,0 @@ -import React from "react"; -import "./ScheduleCard.scss"; - -import { scheduleData } from "@/assets/data/schedule-info"; - -const Event = ({ name, description, time, tooltip }) => ( -
-
-
{name}
-
-

{description}

- {tooltip && ( - {tooltip} - )} -
-
-
-
{time}
-
-
-); - -const ScheduleCard = () => { - const { friSchedule, satSchedule, sunSchedule } = scheduleData; - - return ( -
-
-
-

Friday

-
-
-
- {friSchedule.map((event, index) => ( - - ))} -
-
-
-
-

Saturday

-
-
-
- {satSchedule.map((event, index) => ( - - ))} -
-
-
-
-

Sunday

-
-
-
- {sunSchedule.map((event, index) => ( - - ))} -
-
-
- ); -}; - -export default ScheduleCard; diff --git a/src/app/components/schedule-card/ScheduleCard.jsx b/src/app/components/schedule-card/ScheduleCard.jsx new file mode 100644 index 0000000..8ea8c60 --- /dev/null +++ b/src/app/components/schedule-card/ScheduleCard.jsx @@ -0,0 +1,64 @@ +import "./ScheduleCard.scss"; + +import { scheduleData } from "../../data/schedule-info"; + +const Event = ({ name, description, time, tooltip }) => ( +
+
+
{name}
+
+

{description}

+ {tooltip && ( + {tooltip} + )} +
+
+
+
{time}
+
+
+); + +const ScheduleCard = () => { + const { friSchedule, satSchedule, sunSchedule } = scheduleData; + + return ( +
+
+
+

Friday

+
+
+
+ {friSchedule.map((event, index) => ( + + ))} +
+
+
+
+

Saturday

+
+
+
+ {satSchedule.map((event, index) => ( + + ))} +
+
+
+
+

Sunday

+
+
+
+ {sunSchedule.map((event, index) => ( + + ))} +
+
+
+ ); +}; + +export default ScheduleCard; diff --git a/src/app/components/schedule-card/ScheduleCard.scss b/src/app/components/schedule-card/ScheduleCard.scss index 22b8015..65322ff 100644 --- a/src/app/components/schedule-card/ScheduleCard.scss +++ b/src/app/components/schedule-card/ScheduleCard.scss @@ -1,127 +1,122 @@ -@import "../../(main)/vh-styles.scss"; +@import "../../../globals/vh-styles.scss"; //style={{ 'text-decoration': 'none' }} .schedule-card { - border-radius: 20px; - z-index: 50; - width: 75vw; - background-color: #42384473; - box-shadow: 0px 8px 15px rgba(0, 0, 0, 0.2); - color: #F6D4D4; - grid-template-columns: 49% 2% 49%; - grid-auto-flow: column; - - @media screen and (max-width: 800px) { - display: flex; - flex-direction: column; - width: 85vw; - } - - .schedule-card-divider-horizontal { - display: flex; - align-items: center; - justify-content: center; - - @media screen and (max-width: 800px) { - display: none; - } - - div { - height: 4px; - width: 15%; - border-radius: 5px; - background-color: #F6D4D4; - margin-bottom: 40px; - } - - - } - - .schedule-card-tooltip { - position: relative; - } - - .schedule-card-tooltip .schedule-card-tooltiptext { - visibility: hidden; - width: 400px; - background-color: #f6d4d4dc; - color: black; - z-index: 1; - top: 100%; - text-align: center; - border-radius: 6px; - padding: 10px; - position: absolute; - } - - .schedule-card-tooltip .schedule-card-description { - margin-top: 2px; - font-size: 18px; - } - - .schedule-card-tooltip .schedule-card-tooltiptext::after { - content: ""; - position: absolute; - bottom: 100%; - left: 10%; - margin-left: -5px; - border-width: 5px; - border-style: solid; - border-color: transparent transparent #f6d4d4dc transparent; - } - - .schedule-card-tooltip:hover .schedule-card-tooltiptext { - visibility: visible; - opacity: 1; - } - - .schedule-card-section { - - .schedule-card-time-slot { - color: #CD8AD8; - width: 100%; - // height: 60px; - display: flex; - justify-content: space-between; - text-align: left; - margin-bottom: 20px !important; - - div { - height: 100%; - } - - @media screen and (max-width: 450px) { - h5 { - font-size: 16px !important; - } - - p { - font-size: 12px; - } - } - - h5 { - font-size: 21px; - margin-bottom: 0; - } - - p { - color: white; - margin-bottom: 0; - } - } - - .schedule-card-location { - - a { - text-decoration: none; - } - - } - - & > div { - margin: 30px; - } - } + border-radius: 20px; + z-index: 50; + width: 75vw; + background-color: #42384473; + box-shadow: 0px 8px 15px rgba(0, 0, 0, 0.2); + color: #f6d4d4; + grid-template-columns: 49% 2% 49%; + grid-auto-flow: column; + + @media screen and (max-width: 800px) { + display: flex; + flex-direction: column; + width: 85vw; + } + + .schedule-card-divider-horizontal { + display: flex; + align-items: center; + justify-content: center; + + @media screen and (max-width: 800px) { + display: none; + } + + div { + height: 4px; + width: 15%; + border-radius: 5px; + background-color: #f6d4d4; + margin-bottom: 40px; + } + } + + .schedule-card-tooltip { + position: relative; + } + + .schedule-card-tooltip .schedule-card-tooltiptext { + visibility: hidden; + width: 400px; + background-color: #f6d4d4dc; + color: black; + z-index: 1; + top: 100%; + text-align: center; + border-radius: 6px; + padding: 10px; + position: absolute; + } + + .schedule-card-tooltip .schedule-card-description { + margin-top: 2px; + font-size: 18px; + } + + .schedule-card-tooltip .schedule-card-tooltiptext::after { + content: ""; + position: absolute; + bottom: 100%; + left: 10%; + margin-left: -5px; + border-width: 5px; + border-style: solid; + border-color: transparent transparent #f6d4d4dc transparent; + } + + .schedule-card-tooltip:hover .schedule-card-tooltiptext { + visibility: visible; + opacity: 1; + } + + .schedule-card-section { + .schedule-card-time-slot { + color: #cd8ad8; + width: 100%; + // height: 60px; + display: flex; + justify-content: space-between; + text-align: left; + margin-bottom: 20px !important; + + div { + height: 100%; + } + + @media screen and (max-width: 450px) { + h5 { + font-size: 16px !important; + } + + p { + font-size: 12px; + } + } + + h5 { + font-size: 21px; + margin-bottom: 0; + } + + p { + color: white; + margin-bottom: 0; + } + } + + .schedule-card-location { + a { + text-decoration: none; + } + } + + & > div { + margin: 30px; + } + } } diff --git a/src/app/components/speakers/speakers.js b/src/app/components/speakers/speakers.js deleted file mode 100644 index 92798ac..0000000 --- a/src/app/components/speakers/speakers.js +++ /dev/null @@ -1,39 +0,0 @@ -import React from 'react'; -import { speakersData } from "assets/data/speakers-info.js"; -import "./speakers.scss"; - -const Speaker = (name, title, photo) => ( -
- {name -
-

{name}

-

{title}

-
-
-); - -const renderSpeakers = (speakers) => ( -
- {speakers.map((speaker) => - Speaker(speaker.name, speaker.title, speaker.photo) - )} -
-); - -const Speakers = () => { - return ( -
-

Opening Speakers

- {renderSpeakers(speakersData.opening)} -

Closing Speakers

- {renderSpeakers(speakersData.closing)} -

Panelists

- {renderSpeakers(speakersData.panelists)} -
- ); -}; - -export default Speakers; diff --git a/src/app/components/speakers/speakers.jsx b/src/app/components/speakers/speakers.jsx new file mode 100644 index 0000000..a73c747 --- /dev/null +++ b/src/app/components/speakers/speakers.jsx @@ -0,0 +1,47 @@ + +import React from 'react'; +import { speakersData } from "assets/data/speakers-info.js"; +import './speakers.scss' + +const Speaker = (name, title, photo, index) => { + return ( +
+ {name +
+

{name}

+

{title}

+
+
+ ); +} + +const renderSpeakers = (speakers) => { + return ( +
+ {speakers.map((speaker, index) => + Speaker(speaker.name, speaker.title, speaker.photo, index) + )} +
+ ) +} + +export default class Speakers extends React.Component { + render() { + return ( +
+

Opening Speakers

+ {renderSpeakers(speakersData.opening)} +

Closing Speakers

+ {renderSpeakers(speakersData.closing)} +

Panelists

+ {renderSpeakers(speakersData.panelists)} +
+ ) + } +} + +//

Keynote

+// {renderSpeakers(speakersData.keynotes)} diff --git a/src/app/components/speakers/speakers.scss b/src/app/components/speakers/speakers.scss index 9440911..cd6cc7f 100644 --- a/src/app/components/speakers/speakers.scss +++ b/src/app/components/speakers/speakers.scss @@ -1,31 +1,31 @@ -@import "../../(main)/vh-styles.scss"; +@import "../../../globals/vh-styles.scss"; -.speaker-photos{ - margin: 10px 60px 40px; - display: flex; - flex-wrap: wrap; - justify-content: space-evenly; +.speaker-photos { + margin: 10px 60px 40px; + display: flex; + flex-wrap: wrap; + justify-content: space-evenly; - .speaker-img-wrapper { - padding: 1em; - flex-basis: 25%; + .speaker-img-wrapper { + padding: 1em; + flex-basis: 25%; - img { - height: 200px; - width: 200px; - margin-bottom: 20px; - object-fit: cover; - border-radius: 50%; - } - } + img { + height: 200px; + width: 200px; + margin-bottom: 20px; + object-fit: cover; + border-radius: 50%; + } + } - @media screen and (max-width: $break-medium) { - h4 { - font-size: 18px; - } + @media screen and (max-width: $break-medium) { + h4 { + font-size: 18px; + } - p { - font-size: 15px; - } - } + p { + font-size: 15px; + } + } } diff --git a/src/app/components/tooltip/tooltip.js b/src/app/components/tooltip/tooltip.jsx similarity index 96% rename from src/app/components/tooltip/tooltip.js rename to src/app/components/tooltip/tooltip.jsx index 092d56d..a3a0cb9 100644 --- a/src/app/components/tooltip/tooltip.js +++ b/src/app/components/tooltip/tooltip.jsx @@ -4,7 +4,7 @@ import "./tooltip.scss"; // Taken from: // https://dev.to/vtrpldn/how-to-make-an-extremely-reusable-tooltip-component-with-react-and-nothing-else-3pnk -const Tooltip = (props) => { +const Tooltip = props => { let timeout; const [active, setActive] = useState(false); diff --git a/src/app/components/venus-button/venusButton.js b/src/app/components/venus-button/venusButton.js deleted file mode 100644 index a3a747d..0000000 --- a/src/app/components/venus-button/venusButton.js +++ /dev/null @@ -1,23 +0,0 @@ -import { Button } from "react-bootstrap"; - -/** - * - * @param {string} url url of respective application - * @param {string} text apply as {text} - * @returns button of that redirects to the url - */ - -const VenusButton = ({ url, text }) => { - return ( - - ); -}; - -export default VenusButton; diff --git a/src/app/components/venus-button/venusButton.jsx b/src/app/components/venus-button/venusButton.jsx new file mode 100644 index 0000000..6974b86 --- /dev/null +++ b/src/app/components/venus-button/venusButton.jsx @@ -0,0 +1,23 @@ +import { Button } from 'react-bootstrap'; + +/** + * + * @param {string} url url of respective application + * @param {string} text apply as {text} + * @returns button of that redirects to the url + */ + +const VenusButton = ({ url, text }) => { + return ( + + ) +} + +export default VenusButton; \ No newline at end of file diff --git a/src/app/components/workshop-card/workshop-card.js b/src/app/components/workshop-card/workshop-card.js deleted file mode 100644 index ef4985b..0000000 --- a/src/app/components/workshop-card/workshop-card.js +++ /dev/null @@ -1,54 +0,0 @@ -import React from "react"; -import "./workshop-card.scss"; - -const renderButtons = (buttons) => { - console.log(buttons); - return buttons.map((button) => { - const { link, description } = button; - return link ? ( - - {description} - - ) : ( -

{description}

- ); - }); -}; - -function WorkshopCard(workshop) { - const { title, description, prereqs, recap, host } = workshop; - - return ( -
-
-
-

{title}

-
- Hosted by{" "} - - {host.name} - -
-
-
- {recap && - renderButtons( - Object.entries(recap).map((pair) => { - const [key, val] = pair; - return { description: key, link: val }; - }), - )} -
-
- {description} - {prereqs && ( -
-
Prequisites:
- {renderButtons(prereqs)} -
- )} -
- ); -} - -export default WorkshopCard; diff --git a/src/app/components/workshop-card/workshop-card.jsx b/src/app/components/workshop-card/workshop-card.jsx new file mode 100644 index 0000000..19cb2f6 --- /dev/null +++ b/src/app/components/workshop-card/workshop-card.jsx @@ -0,0 +1,54 @@ +import React from "react"; +import "./workshop-card.scss"; + +const renderButtons = (buttons) => { + console.log(buttons); + return buttons.map((button) => { + const { link, description } = button; + return link ? ( + + {description} + + ) : ( +

{description}

+ ); + }); +}; + +function WorkshopCard(workshop) { + const { title, description, prereqs, recap, host } = workshop; + + return ( +
+
+
+

{title}

+
+ Hosted by{" "} + + {host.name} + +
+
+
+ {recap && + renderButtons( + Object.entries(recap).map((pair) => { + const [key, val] = pair; + return { description: key, link: val }; + }) + )} +
+
+ {description} + {prereqs && ( +
+
Prequisites:
+ {renderButtons(prereqs)} +
+ )} +
+ ); +} + +export default WorkshopCard; diff --git a/src/app/components/workshop-card/workshop-card.scss b/src/app/components/workshop-card/workshop-card.scss index e0c39f8..72ef407 100644 --- a/src/app/components/workshop-card/workshop-card.scss +++ b/src/app/components/workshop-card/workshop-card.scss @@ -1,62 +1,62 @@ -@import "../../(main)/vh-styles.scss"; +@import "../../../globals/vh-styles.scss"; .workshop-card { - border-radius: 20px; - padding: 20px; - width: 85vw; - margin: 20px auto; - background-color: #42384473; - box-shadow: 0px 8px 15px rgba(0, 0, 0, 0.2); - color: #F6D4D4; - text-align: left; - - .workshop-card-header { - display: flex; - justify-content: space-between; - - .right { - text-align: right; - } - - h4 { - color: white; - margin-bottom: 0; - } - } - - .pink-buttons { - a { - display: inline-flex; - font-size: 14px; - border: 1px; - border-style: solid; - border-radius: 25px; - border-color: #F6D4D4; - width:fit-content; - margin: 5px; - padding: 8px; - text-decoration: none; - } - - p { - display: inline-flex; - font-size: 14px; - font-weight: bold; - border: 1px; - border-style: solid; - border-radius: 25px; - border-color: #F6D4D4; - width:fit-content; - margin: 5px; - padding: 8px; - } - } - - .workshop-card-prereqs { - margin-top: 0.75em; - - h5 { - color: white; - } - } + border-radius: 20px; + padding: 20px; + width: 85vw; + margin: 20px auto; + background-color: #42384473; + box-shadow: 0px 8px 15px rgba(0, 0, 0, 0.2); + color: #f6d4d4; + text-align: left; + + .workshop-card-header { + display: flex; + justify-content: space-between; + + .right { + text-align: right; + } + + h4 { + color: white; + margin-bottom: 0; + } + } + + .pink-buttons { + a { + display: inline-flex; + font-size: 14px; + border: 1px; + border-style: solid; + border-radius: 25px; + border-color: #f6d4d4; + width: fit-content; + margin: 5px; + padding: 8px; + text-decoration: none; + } + + p { + display: inline-flex; + font-size: 14px; + font-weight: bold; + border: 1px; + border-style: solid; + border-radius: 25px; + border-color: #f6d4d4; + width: fit-content; + margin: 5px; + padding: 8px; + } + } + + .workshop-card-prereqs { + margin-top: 0.75em; + + h5 { + color: white; + } + } } diff --git a/src/assets/data/resources-info.js b/src/app/data/resources-info.js similarity index 100% rename from src/assets/data/resources-info.js rename to src/app/data/resources-info.js diff --git a/src/assets/data/schedule-info.js b/src/app/data/schedule-info.js similarity index 100% rename from src/assets/data/schedule-info.js rename to src/app/data/schedule-info.js diff --git a/src/assets/data/speakers-info.js b/src/app/data/speakers-info.js similarity index 100% rename from src/assets/data/speakers-info.js rename to src/app/data/speakers-info.js diff --git a/src/assets/data/workshops-info.js b/src/app/data/workshops-info.js similarity index 100% rename from src/assets/data/workshops-info.js rename to src/app/data/workshops-info.js diff --git a/src/app/fonts.jsx b/src/app/fonts.jsx deleted file mode 100644 index 587014e..0000000 --- a/src/app/fonts.jsx +++ /dev/null @@ -1,7 +0,0 @@ -/* VH 2024 Fonts: Comfortaa (300-700) + Varela Round (400) */ -import { Comfortaa, Varela_Round } from "next/font/google"; - -const comfortaa = Comfortaa({ subsets: ["latin"], variable: "--font-comfortaa" }); -const varela = Varela_Round({ subsets: ["latin"], variable: "--font-varela-round", weight: "400" }); - -module.exports = { comfortaa, varela }; diff --git a/src/app/layout.jsx b/src/app/layout.jsx deleted file mode 100644 index 1cafb21..0000000 --- a/src/app/layout.jsx +++ /dev/null @@ -1,31 +0,0 @@ -import { varela } from "./fonts"; - -export const metadata = { - title: { - default: "VenusHacks", - template: "%s | VenusHacks", - }, - description: "UC Irvine's women-centric hackathon", - openGraph: { - title: "VenusHacks", - description: "UC Irvine's women-centric hackathon", - url: "https://venushacks.com", - siteName: "VenusHacks", - locale: "en_US", - type: "website", - }, -}; - -export const viewport = { - themeColor: "#000000", - width: "device-width", - initialScale: 1, -}; - -const RootLayout = ({ children }) => ( - - {children} - -); - -export default RootLayout; diff --git a/src/app/manifest.json b/src/app/manifest.json deleted file mode 100644 index e969b36..0000000 --- a/src/app/manifest.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "name": "VenusHacks", - "short_name": "VenusHacks", - "description": "UC Irvine's women-centric hackathon", - "icons": [ - { - "src": "favicon.ico", - "sizes": "64x64 32x32 24x24 16x16", - "type": "image/x-icon" - } - ], - "start_url": ".", - "display": "standalone", - "theme_color": "#000000", - "background_color": "#ffffff" -} diff --git a/src/app/not-found.jsx b/src/app/not-found.jsx deleted file mode 100644 index ed89ae0..0000000 --- a/src/app/not-found.jsx +++ /dev/null @@ -1,14 +0,0 @@ -import "./globals.css"; -import styles from "./not-found.module.css"; - -const NotFound = () => ( -
-
-

404

-

Not Found

- Just empty space over here. -
-
-); - -export default NotFound; diff --git a/src/app/not-found.module.css b/src/app/not-found.module.css deleted file mode 100644 index 36eb566..0000000 --- a/src/app/not-found.module.css +++ /dev/null @@ -1,18 +0,0 @@ -.not-found { - min-height: 100vh; - width: 100vw; - background-color: #000; - /* background-image: url("../assets/images/stars-background.svg"); */ - background-attachment: fixed; - background-size: 100% auto; - display: flex; - flex-direction: column; - justify-content: center; -} - -.not-found-message { - flex-grow: 1; - display: flex; - flex-direction: column; - justify-content: center; -} diff --git a/src/app/robots.txt b/src/app/robots.txt deleted file mode 100644 index f6e6d1d..0000000 --- a/src/app/robots.txt +++ /dev/null @@ -1,2 +0,0 @@ -User-Agent: * -Allow: / diff --git a/src/app/views/home/Home.jsx b/src/app/views/home/Home.jsx new file mode 100644 index 0000000..702eb72 --- /dev/null +++ b/src/app/views/home/Home.jsx @@ -0,0 +1,96 @@ +import FAQs from "src/app/components/faqs/FAQs"; +import { VenusButton } from "src/app/components"; + +import vhTitle from "/assets/images/titles/vh-title-launch.svg"; +import about_title from "/assets/images/titles/vh-about.svg"; +import faq_title from "/assets/images/titles/vh-faq.svg"; + +import "./Home.scss"; + +const VH_DATE = "May 24 - 26, 2024"; +const CONTACT_EMAIL = "contact@venushacks.com"; +// const CORPORATE_EMAIL = 'sponsorships@venushacks.com'; + +const Home = () => { + return ( +
+ {/* HERO **********************/} +
+
+ {/* These assets are a background of a div instead of imgs to prevent + them from being able to be saved to camera roll on iOS */} +
+
+
+
+
+ +
+ VenusHacks Title Logo +

{VH_DATE}

+

UC Irvine's largest women-centric hackathon

+

Apps are now open!

+ + + +
+
+
+ About +
+

+ VenusHacks is UCI’s largest women-centric hackathon, an annual event + empowering women, gender minorities, and other underrepresented + groups in tech. Hosted by  + + WICS + {" "} + and  + + Hack at UCI + + , the hackathon is open to participants of all experience + levels with a mission to increase diversity in the tech industry by + providing an inclusive community where students can receive the + support to grow and express their creativity in computing. +

+

+ This year, VenusHacks will take place fully in-person in Spring + 2024! Join us as we welcome high school (18+), undergraduate, and + graduate students to participate in our 36-hour (non-overnight) + event that includes workshops, networking, fun activities, free food + and swag, and lots of coding! Happy hacking! +

+
+
+
+ FAQ + +

+ Additional logistic questions? Contact us at  + + {CONTACT_EMAIL} + + . +

+
+
+ ); +}; + +export default Home; diff --git a/src/app/(main)/(home)/Home.scss b/src/app/views/home/Home.scss similarity index 93% rename from src/app/(main)/(home)/Home.scss rename to src/app/views/home/Home.scss index b5506a9..4c1f6d9 100644 --- a/src/app/(main)/(home)/Home.scss +++ b/src/app/views/home/Home.scss @@ -1,11 +1,11 @@ -@import "../vh-styles.scss"; +@import "../../../globals/vh-styles.scss"; -$boba: "./../../../assets/images/vh-boba.png"; -$astronaut: "./../../../assets/images/vh-astronaut.png"; -$laptop: "./../../../assets/images/vh-laptop.png"; -$shiba: "./../../../assets/images/VH_shiba_inu.png"; -$planet: "./../../../assets/images/vh-planet.png"; -$stars_background: "./../../../assets/images/stars.svg"; +$boba: "/assets/images/vh-boba.png"; +$astronaut: "/assets/images/vh-astronaut.png"; +$laptop: "/assets/images/vh-laptop.png"; +$shiba: "/assets/images/VH_shiba_inu.png"; +$planet: "/assets/images/vh-planet.png"; +$stars_background: "/assets/images/stars.svg"; body { overflow-x: hidden; @@ -198,6 +198,7 @@ body { } #tagline { + font-family: "Varela", sans-serif; font-size: 22px; color: $darkPurple; margin-bottom: 0.5rem; @@ -207,9 +208,9 @@ body { } #apps { + font-family: "Varela", sans-serif; font-size: 24px; color: $darkPurple; - margin-bottom: 1.5rem; @media screen and (max-width: $break-medium) { font-size: 18px; } @@ -218,6 +219,7 @@ body { .venus-btn { color: $darkBlackBackground; padding: 12px 24px; + font-family: "Varela", sans-serif; font-size: 22px; font-weight: 800; letter-spacing: 0.25px; @@ -271,7 +273,7 @@ body { margin: 20px auto 30px; @media screen and (max-width: $break-medium) { - height: 35vw; + height: 15vw; max-height: 100px; margin: 20px auto; } @@ -280,6 +282,9 @@ body { #about-text-container { width: 60vw; max-width: 1500px; + color: $darkPurple; + font-family: "Varela", sans-serif; + font-weight: 700; @media screen and (max-width: $break-medium) { width: 80vw; @@ -309,9 +314,11 @@ body { display: flex; align-items: center; flex-direction: column; + font-family: "Varela", sans-serif; + color: $darkPurple; .section-title { - height: 110px; + height: 140px; @media screen and (max-width: $break-medium) { height: 25vw; max-height: 150px; diff --git a/src/app/views/index.js b/src/app/views/index.js new file mode 100644 index 0000000..0a08933 --- /dev/null +++ b/src/app/views/index.js @@ -0,0 +1,5 @@ +export { default as Home } from "./home/Home"; +export { default as Schedule } from "./schedule/Schedule"; +export { default as Resources } from "./resources/Resources"; +export { default as Workshops } from "./workshops/Workshops"; +export { default as NotFound } from "./not-found/NotFound"; diff --git a/src/app/views/not-found/NotFound.jsx b/src/app/views/not-found/NotFound.jsx new file mode 100644 index 0000000..e9c858d --- /dev/null +++ b/src/app/views/not-found/NotFound.jsx @@ -0,0 +1,18 @@ +import { Footer } from "src/app/components"; + +import "./NotFound.scss"; + +function NotFound() { + return ( +
+
+

404

+ Not Found + Just empty space over here. +
+ {/*
*/} +
+ ); +} + +export default NotFound; diff --git a/src/app/views/not-found/NotFound.scss b/src/app/views/not-found/NotFound.scss new file mode 100644 index 0000000..1725ed7 --- /dev/null +++ b/src/app/views/not-found/NotFound.scss @@ -0,0 +1,19 @@ +.not-found { + background-image: url("/assets/images/stars-background.svg"); + background-attachment: fixed; + background-size: 100% auto; + display: flex; + flex-direction: column; + justify-content: center; + + .not-found-message { + flex-grow: 1; + display: flex; + flex-direction: column; + justify-content: center; + + h1 { + margin-bottom: 0.5rem; + } + } +} diff --git a/src/app/views/resources/Resources.jsx b/src/app/views/resources/Resources.jsx new file mode 100644 index 0000000..00fb940 --- /dev/null +++ b/src/app/views/resources/Resources.jsx @@ -0,0 +1,45 @@ +import { Tooltip, Footer } from "src/app/components"; +import { starterPackData } from "src/app/data/resources-info"; + +import "./Resources.scss"; + +function Resources() { + return ( +
+

Resources

+ {starterPackData.map(function (starterPack) { + return ( +
+
+

{starterPack.name}

+

{starterPack.description}

+
+
+ {starterPack.packs.map(function (pack) { + return ( + + +
+

{pack.name}

+
+
+
+ ); + })} +
+
+ ); + })} +
+
+ ); +} + +// const Resources = () => process.env.NEXT_PUBLIC_MAINTENANCE_MODE_RESOURCES ? redirect("/") :

Resources

; + +export default Resources; diff --git a/src/app/views/resources/Resources.scss b/src/app/views/resources/Resources.scss new file mode 100644 index 0000000..b613da5 --- /dev/null +++ b/src/app/views/resources/Resources.scss @@ -0,0 +1,108 @@ +@import "../../../globals/vh-styles.scss"; + +.starter-packs { + min-height: 100vh; + width: 100vw; + background-image: url("../../../assets/images/stars-background.svg"); + background-attachment: fixed; + background-size: 100% auto; + display: flex; + align-items: center; + justify-content: center; + flex-direction: column; + color: white; + + .starter-packs-instructions { + min-height: calc(100vh - 114px); + width: 60vw; + text-align: left; + display: flex; + flex-direction: column; + padding-top: 4rem; + padding-bottom: 4rem; + + p { + font-size: 1.4rem; + } + + a { + text-decoration: underline; + } + } + + .starter-pack-card { + margin: 3rem auto; + width: 80vw; + min-height: 10rem; + border-radius: 25px; + background-color: #42384473; + color: white; + display: flex; + align-items: center; + justify-content: center; + padding: 3rem; + z-index: 10; + display: flex; + flex-direction: row; + min-height: auto; + opacity: 0.8; + + @media screen and (max-width: $break-medium) { + flex-direction: column; + } + + p { + font-size: 1.4rem; + } + + .starter-pack-card-information { + display: flex; + flex-direction: column; + align-items: flex-start; + justify-content: flex-start; + width: 60%; + height: 100%; + + @media screen and (max-width: $break-medium) { + align-items: center; + width: 90%; + } + } + + .starter-pack-card-links { + display: flex; + flex-direction: column; + width: 40%; + margin-top: 1rem; + + @media screen and (max-width: $break-medium) { + width: 90%; + h4 { + font-size: 1em; + } + } + + a { + width: 100%; + margin-bottom: 1rem; + + div { + border: 3px solid $pink; + width: 100%; + padding: 1rem; + border-radius: 1rem; + border-collapse: separate; + display: inline-block; + } + + h4 { + margin-bottom: 0; + } + } + } + } + + h2 { + margin-top: 2em; + } +} diff --git a/src/app/views/schedule/Schedule.jsx b/src/app/views/schedule/Schedule.jsx new file mode 100644 index 0000000..667f6e2 --- /dev/null +++ b/src/app/views/schedule/Schedule.jsx @@ -0,0 +1,35 @@ +import { + Countdown, + FloatingLaptop, + Footer, + ScheduleCard, +} from "src/app/components"; + +import "./Schedule.scss"; + +const HACKING_DEADLINE = "28 May 2023 09:00:00 PDT"; + +const Schedule = () => ( +
+
+
+ +

Schedule

+ +
+

+ All times in PDT. Hacking ends in: +

+
+ +
+

See you next year!

+ +
+
+
+); + +// const Schedule = () => process.env.NEXT_PUBLIC_MAINTENANCE_MODE_SCHEDULE ? redirect("/") :

Schedule

; + +export default Schedule; diff --git a/src/app/views/schedule/Schedule.scss b/src/app/views/schedule/Schedule.scss new file mode 100644 index 0000000..532e3ac --- /dev/null +++ b/src/app/views/schedule/Schedule.scss @@ -0,0 +1,228 @@ +@import "../../../globals/vh-styles.scss"; + +.Schedule { + min-height: 100vh; + width: 100vw; + background-image: url("../../../assets/images/stars-background.svg"); + background-attachment: fixed; + background-size: 100% auto; + display: flex; + align-items: center; + justify-content: center; + flex-direction: column; + color: white; + + h1 { + font-weight: 600; + } + + .stripes { + width: 100vw; + height: 80vh; + transform-origin: 0; + // background-image: url('./../../../assets/images/background.png'); + background-size: cover; + position: absolute; + + .div { + position: absolute; + } + } + + .inner0 { + background-image: linear-gradient( + to left, + $leftGradient, + $rightOffGradient + ); + grid-area: 5 / 5 / 5 / 6; + } + + .inner1 { + background-image: linear-gradient( + to right, + $rightOffGradient, + $leftGradient + ); + grid-area: 1 / 1 / 1 / 4; + } + + .inner2 { + background-image: linear-gradient( + to left, + $leftGradient, + $rightOffGradient + ); + grid-area: 2 / 3 / 2 / 6; + } + + .inner3 { + background-image: linear-gradient( + to right, + $leftGradient, + $rightOffGradient + ); + grid-area: 5 / 1 / 5 / 3; + } + + #intro { + height: 90vh; + position: relative; + display: flex; + justify-content: center; + align-items: center; + flex-direction: column; + text-align: left; + color: white; + + .schedule-nav { + position: absolute; + top: 0; + right: 0; + display: flex; + justify-content: flex-end; + + a { + margin-right: 0 !important; + text-decoration: none; + display: flex; + align-items: center; + + h5 { + margin-bottom: 0; + } + } + } + + .schedule-button { + margin: 2em; + box-shadow: 0px 8px 15px rgba(0, 0, 0, 0.1); + } + + .title-info { + display: flex; + flex-direction: row; + width: 60vw; + + @media screen and (max-width: $break-medium) { + flex-direction: column; + align-items: center; + text-align: center; + + button { + align-self: center; + } + + img { + margin-right: 0 !important; + } + + h1 { + font-size: 60px; + } + } + + img { + width: 250px; + height: 250px; + margin-right: 2em; + } + + div { + display: flex; + flex-direction: column; + justify-content: center; + + button { + width: 100px; + } + } + + h1 { + margin-bottom: 0.1em !important; + } + } + } + + #schedule-nav { + width: 100vh; + position: relative; + } + + #schedule-block { + position: relative; + display: flex; + align-items: center; + flex-direction: column; + padding-bottom: 100px; + + .schedule-hacking-ends-in { + margin-bottom: 30px; + color: $pink; + + @media screen and (max-width: $break-medium) { + font-size: 20px; + } + } + + .schedule-countdown { + margin-top: 10px; + margin-bottom: 30px; + + & > section > span { + font-size: 16px; + margin-left: 2px; + } + } + + .schedule-header { + margin-top: 100px; + height: 15vh; + width: 100vw; + display: flex; + justify-content: center; + align-items: center; + color: white; + text-align: left; + + .hat-left { + width: 40px; + height: 40px; + } + + & > div { + width: 40vw; + display: grid; + grid-template-columns: 33% 33% 20%; + text-align: center; + + @media screen and (max-width: 800px) { + width: 80vw; + + h3 { + font-size: 25px; + } + } + + div { + display: flex; + justify-content: center; + align-items: center; + } + } + } + } + + #credits { + background-color: white; + height: 15vh; + margin-top: 10vh; + display: flex; + justify-content: center; + align-items: center; + + p { + margin: 0; + } + } +} diff --git a/src/app/views/workshops/Workshops.jsx b/src/app/views/workshops/Workshops.jsx new file mode 100644 index 0000000..caeecd4 --- /dev/null +++ b/src/app/views/workshops/Workshops.jsx @@ -0,0 +1,24 @@ +import { Link } from "react-router-dom"; + +import "./Workshops.scss"; + +// import { WorkshopCard, Footer } from "./app/components"; +import { WorkshopCard, Footer } from "../../components"; +// import { workshopsData } from "./assets/data/workshops-info.js"; +import { workshopsData } from "../../data/workshops-info.js"; + +function Workshops() { + return ( +
+

Workshops

+
+ For time and location info, check the{" "} + Schedule page! +
+ {workshopsData.map((workshop) => WorkshopCard(workshop))} +
+
+ ); +} + +export default Workshops; diff --git a/src/app/views/workshops/Workshops.scss b/src/app/views/workshops/Workshops.scss new file mode 100644 index 0000000..716b540 --- /dev/null +++ b/src/app/views/workshops/Workshops.scss @@ -0,0 +1,14 @@ +@import "../../../globals/vh-styles.scss"; + +.workshops { + min-height: 100vh; + background-image: url("../../../assets/images/stars-background.svg"); + background-attachment: fixed; + background-size: 100% auto; + display: flex; + flex-direction: column; + + h2 { + margin-top: 2em; + } +} diff --git a/src/assets/images/titles/vh-about.png b/src/assets/images/titles/vh-about.png deleted file mode 100644 index 4e567d252f00c0cd9a3a0463a1f855698a15e58d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 77304 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

ii38oI%K!=y8-5|=IYbrS1>~O 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%0Dd$`Y~$Y(oI_G9JZgxW78ek(^P^8q<}Q%m z=xrr)tTWj4SBUKb4RvoK3w4WcG-TLGku~d0>0a>fy~yFodm2f1#N|1ORhI>S`e1`Z z-R*;UAA0qIB3K{!U;X9Q3!tDtTOEM;%0dMm^N3MfSUk6kY|qsqI`- zzWBX8vwo3tlrgc8>iD6K7K1TAe&=YUbn$cUC4KI99yzC6!5pB?HN~DgR^$fc1t+6amm~XVW*Y;Evpf1Ev@U)<9H`AT}F##xwf+)^z3)N}qsTXb6 zRBW(0k{UF4_VnQIIqZZB;Jx~FnuuAG_%$MRvFtn(id!$?5C=f?Lf=|4(kI+Al>!!)k$nG$NT{8jTDK)iX1~$VAEpU{d~*k< z&c#OM=)_hD?huO)cy73 zv-6&8GJ<{b8x!ikV1k5_o+9j0F!%0LT*AN>W&z=%6=>RiaSQ6?ZLpzsZiw=}G`~p5 zk`#4L5YqjrAk?JBI2vFu*c3arHA5f%IiPP`9pg~CZA++qa7^BI{dEvB^d-k2_-w=nJybJM`bhJL8q zRRZk4O?yqnjc?`rfu46b|H(hZ@|qNfPgjO}R?l?o>;txX{eBg1OmKdP@s#m&wy28GL z$G(6q9AJY00@>L?KUs~4)XUl1+<~AFPH-sP{WFpb!_IuU+ zO9^|o`z!8XkFp{Q)tgr2WBoKjPuFQKfW_leY4)5?#l*f9Tx;`7-kJpKQFmi8K>813 zGP?5lpGVeK;JvVA3XHic)GoaH>fvH{4k~+pp^U%#HaCaGi^5fKb zG7kF04xpQ&QTS_s9O3?664ez@^xL+Bu`FZ^6ne3X`_-D2w7&R!&z^l!3t+EilA?<> z#E>on)*}ybNG6TNZFHjCWzk(Z7)FA0ZY(x_x9^r@ry=^O{z1jvKslXc`QXCIBm&6R z8JcjNy3olQG+sEbR5MhJK?SA$JMa%3f8+@ZxN4l3j5l9$6`YLz+q_&UKtpLm%)YuDcNR0s zJ`QnqQWUwhq0CU-${1*X*+~

l8w&D+gugXqdXCv$v{ud!nP$xPEM2&$S`@-08nO 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 diff --git a/src/assets/images/titles/vh-faq.png b/src/assets/images/titles/vh-faq.png deleted file mode 100644 index 5dbce8f06854aa453a280488150f5440e19bb045..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 61932 zcmeFY^;a8@^F53d_oBrqEmFL=7bs3~*W&J0oC1a76faub-7OS%CpuZka~ zw7(!9!!%N8h+Gy%A^qnp)0lpWv%r6`*Vk_ED`peglYVaoOze#c* zX6&E2@D$r-dO4c?^LFD29-1xa5)l<89}y6dA3`mOOel@X5b=M9|MS8B#lin?(_q=^ z<^KZ#t8b$rTwPzV!rLdVt_z`c zl|(7TKZRJFh!Ejp1^I#D!B4d;IU0FMbq^+JJPZ`S4XfSXq=-9oQSeCui%(C`+Auyq zugprK=p$4pR)AIan<1kotXnJe+GF&(C-^50Ijy_r0`lX%Ze`q2R1 zg@Jaqy5Q?=n>5tLn+j&3gwmtm!urYnisN&-}I}6qPxC1SLNGVYt^+mAH5;2&(AAyOhK@3VF?YW;adxl*$MiEV1 ze!s21p$wj{ANJ>mzk|bGhlC`{LZV1&uo$d73+iPt8Ek)lcH%l$4aNpUnNB)f;zpBeQ~t2<7u!!TY{PqSkf_I!hYiU=>#4tc1?tTfhEf+jk(PJF9k+f zHS;2Fhi^{me+4N8rGDYhU8GKTSroaN5U)&sMFzD;Qn7m7*A)54K|Yo4Z24-2620l^ zi=Pa*JP2(+zOsG9{a(Ww)Qn;9r&|$u*NgS!82KUe+(lp?vaS&Z5t>nM_4sJmr#6>3 z_egJrTF=mFkUHhlvQ-51`vO!S%9=YtESV+xAyL&UC6G6NUB@}lfflQ zMiCB$5d0SjZ=Dph;XW)U<;uWZGuo;**k+k3kIf^mGqevHTIM#r z837UE0g{O?J68gYEFlI1%=s-(en4OsSbJ>v!G)-$cFW+Jr8P!`KuC4%m!A;dk7^!) zN%eEfxDA6Z!``0yc=GF1>6>c9IqBkdnKP>aXBJ~UjpL>lS@`U|lC_O6$;p!^MtmOT zh@|Up|MEEpl zQ1^vrL=DhpDl<%DOmuI{ z`k`IaK1z#N_wZ4IbDCknuyO9Epbqr~)863@Pf&A3+1V@szSUep=>Vt<^l;xQsCU|N zl4tW6l3GT4`SxW5VPmlR((8yMQbu?XSqpx6`StO%*Mx^9gU@gNj0(&}i9K|;;)2FC zip+p8{AOB>8DB}i8?7gwjhyl;_LZP4N^9tz@OY+wE5%ZJfeRFN6{0AKZ19S+G`%h* zQ}`@%{><((=;2%a;@l_86&Dv9cSpL29LDf6ZZ`~y4TpB)9GyJad0~*y``db};0=$j z_J#?zJfu1Mmm*y^`R7Dr?fK7DSA+;$oX!RFenh}Cwc;zXYcup$e3O9Q z#0qnDKM5&}OyZ`ar#q{MFSlW~;%NE%#1l`|%x5$HF~MuF3>(Oy@c0(U*ykyf<=~$0 z*$L!jiCu8lVAzNZSAF*9nxELgPWQYB%v&JaNBfiyMi$yl%^|*w@}SB^3lFim+`rWT znPJtG#+x6kPHS9HS}Hr9ky@}8u6fOe=j-ZA)ZM_jLryO`RWTXB6DWu$)*TUIKWZ`e zf9G)hCOiFoZ&0vAR7P)ts<6pXN%}6pu?%3MWz(8RuY5`E=?Hx}`ev$0-^FQ+cjCJ` znQN+eKK;_Tz2}G;)H$Q=GMk*!+ic^7Fi&`>n19J&)*pZSj};9yYGa>9_L``2VSB50 zE@Wh<;Yqw7B~n%|F)mp^Jp?>}b+=4$#mwqO2&t;1dq*$Z0-G^OOLu-sd*BP8V^gn^ zQv2hAvtrY8lbD6|>#z6s{O~4wxZve&ID4}s%ZA54w=yCmm%&6Tvw9B1fL+A4y!S><NPtpj=j>kb)wnvgsuCvL)EUg^({klxHwcWY3K)`aYa?Vd1y z|E*G>xU?$iJ+lYnrYEhGnYslIchC5JmHD-MjJI%%Y|R1V)`r{sweP#Tk(NrrMN`S0 z2hZEgLkVOE@cH%+j&TS*-8kJiKcXWL*7^_Aj@q>VWhNe9`DkvI?r&*LfXowGr84ZL zuQSQ*_doLU^Op9jI4IHL#aHybH{c z?uG)7@}_V+>&!7Ek^IbKLIbJhGFv%V=S9Su0H&P8Nr^AxzBXUAxg3heWb8Imyr|jC zzz`Y?t_|o?t}OsYz0jCbw4-yFtkVPI7!q(z*49D6bc)4Hd(C*IHdPbj&43fQ?z0%> zi`vcc+<*F~_%t=#bFT7A!ruYr371JSqg9n25!8M~VcwMjaTHhoqlRuoqo zTxHvJe>r^P<08I)k5kx2EM0r8=aHPkHPk#W5heU2F~#B7TeiJ5pHe_dzK01^0~%xa zxsx%`vrWVuw5}I(&*bL{xwY1$jOBv9L{E-5m|dzTMr~ETC%vqcZT{o3-zwP#3XVi0L})T>+~M$girQ+&u)4C9P}Wlrwr#m8}I@K%zl#cUUkKA zJ#g?I?q@=FXC7%vmN{CPVrR-?oV5t*?69#MY$Yi_XsrE6((4Lz*>uRO0sr>O<1$EX z+Q;RbvJ}=j>wJi;?eyt)|FJB*?XijG$5YsrKAF=cyi0LuRSooZ;R^(-*qKQ>;B{wx z!}NFlK|CAFV7;{Uh}5kv0w!wd#+%%fER?V8m17p0FnYH^_tYZ5VXxfTotvO{!>8Et zw9znqBI#1pyKgq!JB~sg#Y&7|cd38Tq^dv%ebF=fLv(Swv*-0i*V&~K@Wi+0b9_HP zQM~coQi)6FpD-q~v#B?{W16tVlV;hJxdw9hN3*b9pucsz@B{3-+Ax@P`0MB4Bs*x5 zPmP>HxDf^exmmyPY!!AO4@Q6o7u5PzE>Y#CAWLSa@uN9J_KRUpOC{?e+HA#0wC$Xj zm(pJk;9+td|CU{M>8lG;-jjS&qup<>BI`~1!4#Wb2X)>97LQs(Z@Ns|4DPRsNe7>H zqO#l_YQ3*l=zuLUFH@*F1m1R)VQ~`yw{IK{cP>BK!?(KD;G0w6tNhE8Xas!u|Cjt& zhk4t0{OH;}2fcHzuk110SxR2N>|oyBmZjPJ%E`v04>ntK8mx9M5#eAWc?*F(s`_!b zz60)bj*SELu?=$?P`Rcl+-Uq8PEy4p@q4u!IIeEBxY?Dy9=TuKw_hj2edP3eb35x! z?>@$k(gbi>44vSvl7ahl6QcMYHEv7N$%C^wPrk%~8T*rL>r>pS;69PU#h&Q)eC%(z znmS9IRUuv9YplV1fl8~a*Ji8E)e1VtD#|PHDw>|wQO`nC!#M(TVq;R$gqJJk+lIa= z^AKRtH&fSaoKNkkkJ-^(y5{c<==>vArIfZLJ`3iNv@Jc&>(mgAr7`l~PW;pntb}oO z!F%&SFawDZ-w%i$$NE3+Cr;)n2IUZarU@3Ty2&+o>Nx5zn*%)jB#F+R+jls+!%t(J+?F{tGDw$=O zHK}APsfW!|*xXc0z704s#UoNlC@~YK_`30(^)Y?Uxbp!NC;r3k%iavvhrHOA`TKI7 z^(mBz+qglg@A5UP2mEOr&}zJOd9^in3T$uX$TxQU~T4g}T4;4ea{kZ*kqYczY!Ex&`my+5y!~o}|{nP4AjBTnvK;XosJ5pe8j>hda+P`;s@+Ra8);r+x9QXsR z)`&iW(Bt)g=@es^KVSH&Hd42q5--f%oYXE-r_<&5m*~#0$cRJcZ|_s*yKv&sao`T+ z*UGUXukI-~x7BZyZ~8u>bblaYR*%Qyh&o}EHW-mf+xD5I@UX$;x6lFOl42?6v`MiS z3AORMqo)h*Q>N59LCTjn-Saic<0~E` z5f2Y@hxJ;%HzJbS`fIw%Mn@Jfqm5@`MD}<%9hg%_)|CFe5X9!ZewSm>vv4mExCT0V zSTBw8!%w?jg`}%-0r{j}5T`!QTy1dUjyTqC0q{y2i{_kwZ329dey-K;H?C2Zhp=8c z7yo=2Vl0MTtN)ijq9tAL&^wqxeX*51FPNa%6^;?oJlO0j8eFS? z@Sg`2>|Ri^`Yo5{zTOeX=m+|KlwlIKWbl(I#0R?N?2!!e+bqklv4(l));z48ZZ4^WnY{<5L4n0jY%WJ)uChlB zXKyf(&ixYbSogJvm)>(lE;f{JkMjYap;vi<0^Og(l79OV>~!h z#Iuz%vXVPENtQfcn!F4sr1`Tn5}qWl*yDUIc? zm7+to^Go$KSbXkMAnt;wr%JY6;RLm!H{Vit=>wTX8TONnnN2fr3OD%4CUMl5hJR0a z(!LnO66R-$hE$89zHp&?@*qtcOk=!1xj(^S9}Ofas{F*~Hx;l<*QEFqCN(H6<6*5z zRt#`at)a|NHGayhhYVfusI?5sLEsX?#r59C_`Z$hY4ucWE>2uF-5E{4Okd9p-PwMk zie2o^_KNg%E?VgKj%AQYm_~TUv*>mjnc?TaW`=Jk{_X4tu(DG39XUnM=?jf+W96%? zLf3U=R#V$w*Bg#3*5kEJ!2uFKHq1V9zly|1xX;%bY60k_6#e1k&!KWHLCE>n-G9YL zupTBk1CuQ4^0CGs06fZ=av>tf@7F)Egt>T-?T3LSiVlgiwzl-`nn+*CgzL5nKX)>u zU9hTP{2lSa@MS~UFz0nWpKw)wT=8YI(Kq%Azi-Sio6(Q+yuSlP(&AfeqK(QZKaJUv zRO5a4L!q22X_JM1F0Id}e{@qiqB-vN$HR#d^j)z7V$L?4s+@QvYunJ%sL%u-pYlTT zU~jw#9$7Hq`cRnjSka!X)S{?^Rlhg&Du*JQ#o1-8^v=KTFvVZf!XlJz`56jWL+?1J zPH0Ho;F5G~QS_<#q{`$_r*4^+PN`PaV|r9f41;*D>1YP|jdGhDd3Cs0mTnAW44H`z zrLEf>^bCuC{?OsW3`Z(zEpm%WeqeJ}ejI_W!+m{4o{m|~#1P8lNaR07p_<|cMfOKC z=C^?GT7Y;7G$#k?O)YfOp0+T3+}Kx=OI1J(N-+F=7?Vh4s3>_esnl~=vob6lE!-71 zOF&L%36NhmtclgQL5a5Uo3J;5qt1+{UHq8UZ{0QG?(Cu&5qPnfl)n&Ez46D{_2IV=7&f*GZ)0PcRx{WN(Z*O zs|q+kvJaDE@6q!|j2~z0UB^&6uszIK3l~i)`o~zl4=i;0$D?o)gU8pI)xkR5WqR1L z$_YDOV6m=hPSk6>ujS5F(VzGQIP`8y{A*QfA+=75XUGG-aM1Voc=##qzU~%Zx9bi?~hFUn+qb1HSI7g(?0q}<_9ddZOXNaG(s7< zHFsr~O{IdM;7+ci5}OU%Awu>MWhKBusMl~hFE@YC9bU-!lU7KdUPf^0X*hL;Xt_@< zp5P_d+jE`}kdyt5#Zz_JrjgLt4591>cxz<4dO8 zUV?H9@)A(m?Jpnr3g$&)Nv*eWkAfJ6C{!)QRnLzW>dU(iXKFP{YEjDjGrAHU1X2PY zl{BcS1PxcTDt*(V+uu(88A+z|!tAP0Yw3xILTT-_o+fJ!>8XVB#Dw7;3`}XADZ|OoiXd+;$~5nST<>TIr2nNpC`0Qh zX5~!ndp~849ceQY&4WhkJMZwYVeUWD-+9|B4RmjU9O4SZr8{TF2pXz~mDUTs7+?K% z=;)?cc0%HLj-EiBA_yqlWXD9e=lM-0`h|Q~U+g|;c>?1!tBSxatR&BtYbE9tXlO|m z`(jScID1y$*ZoqfI^^#2_b#Bgk=bxy;_CBe321Ssh`hza`dD^qR=KPy>^l}!dD?^t z6vB_=bD~mvD!ux_LCl9if_Di=c%0uD(xQT0wXMOCbm!=xHR2eca9tqhAxfOe_<@N4 zckQ~}#(I0MwFOSz2`?H5@^?X~p0od>bc@_z(l2Xn=qJUUWgr<`0^;~U`M^OD5GVYd zW5Mv|%UhDw2+G^kwLMmT#yh6i{H3#)HRl)JVb$MRQoFwfwJ>U`p)`;9Koz5My z3U!lkYe;a9VS>Z2zGXwxFc~rQDZmRETu&jc7ebE{gp+x2cG^0GBwEI0)e^w=@H&ZQ^Xi(| zkCIQ^ZE(~1)-R!kg2yPu@3gvg@!JncjsWn;E?dkn${pf6k&SOvE~MecrV<;vHNb1r zBIV&iM+~$B=~S`_0(_&J_rkEN({tviyJZ1KrRV>Vd?Sd-;Q> zF6Na*nVVeu7J5y~zrTYY&*gf%W zG|$g_bfsPNBZb{Z&r|A~gwu!fe`UotIBO)U_D%GgSSPwK@I>3TA%KP0Qrh1OhdZtC zp|AlWE^IY_4Q02sd`{4kdt=8wA8^ZqEnbiOZ!P}^()%6n(Nipcx_bX;{~5v_61{@) z5$@(F@{|W-5LZcSD|vU)ilcYd#+hc58IJ_%w!~w%KnpB?_ZgnLjR0Zx|HR#DY>?u$ zM?A6HQ;Jz{b-Z`sL^7R=en5x!`Yu|j+?&SxX`m9YD^uStq)d(;8m5;;G@`UdLbbWA z#41u;GG$h}*L3Bw6iHsv{N!KFJo1Mw`$i!`pW9oUEs=c65Oof0&C^j#8>{&0=!Vv| z=mze7FSkuN2>yFHO%YW-G6H0ctzxOV7Ww9xnZrXn=a0J7!oh_Zv1RCX-NvKo*!pq@ zH_e%5{TU4uS&(j3btuabSGah!Qqdyi7-3Xv5s#UUp1^guRR;5JsTkQZ%-bHoS#6z| zP|F@6%(4B^i;qLNImbd~ygt5F*8sr%z@qF>S7x;Qto8*yv%UDZ2?IPKAp}B{e^9a; z;U&V*$HM&s9f*JR!9y+Q(}x(p2XKxs>QB}4@(pj2dfjcOcYs`ffgK-dUwb zU~MGHT8<917}!!rZIxQw4~yIdp1|=(7n8q5ZLpoW+#A&8#t^45fppyou*O@4KpGjc z=k;mU-=a_6VoRJFI^Q2$>(zC&Ox?9=k>uM`h4l_A2bCABvTW1^=MSAK2D7cMKdX7b zd$aUbx$Dv6txO~m#XZ!p6=rJDIB}pj=o^IUW>&g;! zo3^@b{JsMhB)XKh9jL#Wvl--cyFW4RA1AIz@{Lgd3W7k(BycG~<9Z2&*#y{-V@S+qcOdUcxD)B7coM`O zBY(zJp4)T%@-Xz>L)Dj4h?sYNVQhdH(D(u%yq?kkx}Qp#QT3)7X11-hk6ayO3mYYC+KX^Pen>v*|NVPN9N6KBW@h}% z8Ee4y((FMnWYaJ81MZIwzcKHX6o?ZJ_eHq}%~n80NapF+Bs}`IqScPmXTg$< z00zgL%vP+Q_C_(2%_G*%&I)JoA^C}HG7I?K`6`8~7tAX7)l#Zt!q3&Yi8Io^*TtZSEX}QSmcE^atCd1&*Y;Z8N zVxs5Q7e8hk)8C1neK#KWwa(Iyl7%WG0J!b9i|`3aB}rt42xGT{1_ZfO(Jz!WoZ6oh z7vV(QPly1B2jq`@EV!2&ZB~hV)P7RLlDma0Gd-8|M)yT5cr;_OpH*Gc?T8pjlnllgk&FO4mXqq=Ma+mejxPc+6J=3{ATb{suqfL z*I_T&P!hXzra)-lu<>2Hj1CLt$x8qYatad`zXk?KA+}Cnx9i;csvjk<3ML5%{0@4> zY}<4gJ_PPO4^}UwY`{|GJ5*HVGZc~<1l>n-Q+?x5IWoGcq)f5HTkKW6YoxIoFT3uB zbGoC^f$7eCe-G#dw;Q-``Tt-$`8$PnuDa2-&hH5Kwq)*tOHNPRG`6>pNi!m*nHYg= zuMsCg{%Q;vdcUS33O4>oxuEqfK7z55eM_3Xtmv#a=Is#yS#_(g78eK@vZcvdT>QX9 zQ2o%VnduLp2l1U2eu`h#Jyy<2M<`G)75+p!2pMB@4EER_*4aXV^Yx1p_>nJ8H%?;% z?uJxYSMBs2(k80E2|;0c-3SZFQxB{$#95bU*OTkrIM?Zfb%fAn>D`T-MS-pAbCO~& zg6CrExM1Att9%+&Ww-nO_wt7@1VhyA5V{s5I<`ri^cIUb0Vy!H92QZhSbQTG6D+gV&i?;U9$$heUwZ*V}V|N$Yi0&QFQ0?YvM8yc1kE%_r$&a zWJ>m}b*ShZvHXz|oR6Qs?R|JYE7A;4TZf}{sSR({BdlQf&kAPQYR1aQ@7`kKFt+L3 ziytDOi?mtXIn~NHw|v4*N)~k8j&Vi$@1z&=Pgz~suBlt_&}8aW7F})E$kif4u~1nl zlK8gnyra@k!?% zEowwH>Hs$hDM{Hw|fJNJ5+|unNctcg-T02X)XFz z5pWig7mQ(5L?MQU=BuG<4UUXj_WRT#@mp_%a(><7a|OB1{mq7S@Sk7JuW=k`h_8>O z*7Z@C3RQklg-A|Uoc07V_5h~Bbd`zPH%1GAt3BnurY9lB=KQxI$A4w~LtjdBzW%SB zLKE5|z$yufUZ$p4|!|Q|KNgH(f*e zw^?G|stkxLOYLqd-_LE58sy z1p2w#wd)?&RfGp!WzaJ5&GrLEs9>uoQYZ$0DZAT>Ljo+e*jM0{XK=p2_&jxj@N$-`aaufE$H z#J2tM{*s1dexSP0p+b!`pNr-#q~U>_^)-Lj=gM0VgipjqR+=4I!xsFkv?AHlx|okf zd$6mnvF6sW|G?%MhC1#ih%DF<7&^Q8PBxJS98WPfpMNT$Ve=shy0~Pfnfl}Qv0d|O z&QLYP$@JO0^C!Vl53e)4st0}+9Pkr_m?aKvy~JF8FY#<#E75ax^3T2<17srP3w@iX`1(m1Q2!QU z)VJpK5=8Pc>^9uL=7o{!nj8D(M&L^>EKGdUdyR*`*-@83OPO{!Ig zm5{TR7UfxU@%w$=j`)U+6>GuoSPc?K-YYMNYBI8#=L-q|Rii($zPR}?ejpKik_+R; zU0o^`C<{K=!t=MM$6jjVPw z7$9@_!8xvb0l!lqmP4mBFLR^0l;5j2I3C9zb6onz<~~`1u_T^%&OB`CPb9?$%iz~_ zW*Zm`yb*b&)5m4<;ns+HGU{u4+2O!LrvBS)ysO>0yJ@%8+3ViND;i7#H6I^0`RrKe zcZzI{AgaRKUmiC`Dn_{d#mV}1jN5ZFYyjU!$=>7hXJwr36mqi`3PqRrn;V9c8C@$; z#YeNhy3YXwRy7Av-msTN7;*D#-ZgdpwM4a`jR~7-bkjk!?Q^|U|6}ohwLb=*&Y*KQ zT7bcf8LY0vCjHArHpy-wS21H!nA;Tm?gRcDzQl1I0jyig8P3)Thja(l1aYZtAnH{o zVd@wKf%HvS5pw_?{HcrJVlG8K!)I3t@U1u7)@;O~V*|Vj&X=vNlY9nm1}(XgM@;@1 zRKb#w>71VWeP!=|7{>&IEi4#cBnD7UL=hxNyGj zD=J&q-Cl|L!LiFLN__}Dp+l7DnJH+_kBn+!dxQb~Cpq2AH3x%xqaI3g3&Y0Fy~Qj;&&X(2b`|B3EU1{jUg~mwnqLpP#Z#l5o^C!x2n1&5dQBELbi7G2r*y zB!;v~T19^JJr2^TVnc{g^4;&{h-#eW;Q&G0%}QEyo3e_})+a@{n^F}!DOn~*0o>;$ z!$*zU557Fb_k#rY$}|$!Cza6|z?F=JF~mq3QMEqglYJq#az2QP+9&puH?h;iZb+>B zYY67Zl?=2bVPJyrU31LGX4wV;8H~HznV9sr9QM#h+GuM-*(6oWe4=F3?@iZ4T5b|a z*Wr(EVf+o>9c~dUVub&Vqmiim*Fu2pp6HcHPHtvP-1-m--F8VXM))7Oud%;g9MqVo zyQ|Gj+1cl>Fa=c_=GVqh>5{t10ldE~geoFd)9CH??yr_!Lx#`ggg+CgHitn~+)W9J zybo5TDihw@bn6w+-_vho$usX`6`=QaO1+^T-U?p6+m!bs&T^gD=<4r&_riI{(Ef48 z`L?aM6twtIpCZfAE~0UieOJ)<(2v?9R0T34q5TN?d$3=$EcKS{p!rK3Cv%xY5PE;m z@1vl~flXSCc|(q%>dL?z*L!MIM7zQA&0PW0r5f|XR@#iIl5#zVt%7} zFw9Of<;X`*NvSO#h9l?o0RRgfL@<-yLIf{gy&}{W~cSom8AYT)J zvc~LDpWoVWwdQtAoh!y_xvm~|_8IfF+VoF0QJLRgs+0=DQf{l=QPLKp)yYo3gB%icSuPHXL5UZ>_e|ZuodARsG{JD1Yx8I}2I~#<-Ragdqum)q zh`PE6@v@p`pngCy_;Q1SPy$CTd+4+zHy0!5UWya9mM;4$nmzf|5kecAw!f#vv$6GC zOx4PfBx5c|oM+%v8NrB8xW9I05AFZ{+($ zb5VX>J^SzqYz&**J%hx?*^m$eVWuLo8)ss&tA~ZG0~&Tn-z`dXyVpH@9WhvtKo-^s-m~e< zp4nrD_`^XW;E6TwFBzsr5lPMnLDGONQeTHl{GNL0N+0Rc<*a9D$%q{1qE(K1I(7V< zgly#UD55_oKb6je!ngMbKjbT7J7reeaJ8=&_A7`RU5jGGA0O{PPu| zpo*hSyTymq#Ah!kKiO0gh~ZpRD9lV^s$aK%hh)vsDO+OmGk>1k<7R~gy)cG9&*G6P zwuO{OLv{c4vPlMqi{`yEzkr{H;J%%P|Eh22pS)2SOgjp~qg^ym2r!^Sl8-miSq zw#Sf53p);AmEJ*%EatK%i_?#mEnvQ6&$kSp#_|?-Q^Sd+lUp$SdSvsx>bR^lUOq|O zhR7rmPo9#&TZ%1_7s#0x?Ml4RHJ=H$?+vJ*5;+=~jA>Da&u)MsHgfSTuc;4?Ki3-^ z(|@cZ+Y}iW)0n~J;?BhQsJIm3gFk|FG4bWZ#y^L5={A1kW1K+4h|yqBJEgi z*8!LaLr9Q`}ydKe=2%o?mqg(gnD>m z99p8M_aYUK5eEbfyU4YO1FoSvgzthbMZ6S%lLBj3#o>_nhhR*ZTQ7$wVh`G4v{Sxo zkXBW%(164cgUPum2bRuur6V)c!_Lxb;l>9pgxmrhKVt?(<}!ceSILG6*WBcTFPv?_ zztfc4_t4&n!>!%ZxC_Y>dMZ@aT4K~&Pve;5%{WVZA|5nDVql2HrG+wx8?SW%+OEp0 zjnt*Bjm~wrY+Y3A($zfZdBE0#3c+swHi*E}EDm_c+ie*V^3C8k94l9oZz((_8UK$Cau^bMqdB&=JTbejFNQ7b);Sr#r0W0{6Smj*Iog_iE?h zk4$ey(M}{UYgR25SR~7#*FD-zvaYyzKp)cX3G9xVxl1apdhXcqABW(Qk&zkXXge@d7Mn)6nwuv$_#(40E7K$?q`@*jY`_V8V zwt{$`H;an0fzps*qhS*Wxy-2WADV3!I87w2oQ#X{aXfcKGb13rd@ar4n9@FyVKJ`2 zmFBUKyxJ{L0&fq^W{oBCX|EX}QK9v;PAB&jz1_-^ls6nnCMP?Oi^3R-So8^|NGJ!L z%wyUD0QSei9N}Gbf!7&`Vv`;`o`RU!^n+kmB5QEiHRjQ};pJ8=E8?37%x@eXF2*bx z$_4E$Y3xtLnpF1O{B}yVzF$N(Ddnc!bZ1ga!Bp|ykn+;8hhGR1B7eA3Pewz@{$cUN z;9C6c_xS9ue2OpARDCaaWSh@g*Y8>fc9QWH9`7Ly1PW%|zF`?;Pd=&@FmV3a zA4kaXXw-AMcH*l;2NS%0VkKt<-s{#cV;@~PYEX3oDac7fDD!n8Uq%Ulo1!!>VL768 z>na%cIctzI(AIO^w?8M%g>Z|g2E_1S716PIa2hN8_wX$W{1Y6*vNW+4o3Q$q*^3Ef z_@A)Gsv4{|10^v5DiQr!ZxVa$s?^mhjcX~Y3T1$06N4Q=cyWRIZw4gtCf$v;!CB54J z3W-KuPy|!gc@2$ViTuh8Rv2(%T_i)R{9*vb_fT(w;u&H;c^Qw z?{+vSMoWR`Y{N13KMFjT;ThU;oFS?hO-68f^uXDGT5^#yKwcetqAHJ^&5*fk5WoA(M<-n$P= z=Th{DLXaWK!n+Mmh^~i910tux>E?Er$+I)M%n;SyhJPEPXS>j*T>Ttp0k5LoR>53m zLSQfN-p)+#vI)D-2I`pFV(0DS4ss*u0dYY2y6BCNZB#-t)Hv{$Qr0I|QuS+Z@_BBmIe%srkOPHDRv$pU2wqS4h`TUZC;+#V8-<`WHK1?#yEk90fR$6s@>?}gwL@#XaH_w*Xt*1z{LG{{aa zDb-kCLe#`J)6K7te6Bz1I=zKRaTS9f&*Z^=aMu?+4c)Qx4xlaBS}1}D&=AmR+kf^v zo6-}gyr=(cu)B`v_FQj12xRQCr%<{M`HIC}_|&QnmaL|+n;3CwP6O;Xu!WU!#v`9qD{KaVwLeK$BB zMaca;i9pfd@5~0mLlbV?mq9R~FJGHE`Kh zl>pPEGd1C6LDS?6Nlj&_r+Hx5rim{9VJ5&>zUyeg`yZvD{W)f^?JuFZC$wVC@bUQ) z*c$qt_SaI&^;Y*Uz^f|$(AYlWIByeq=%-n?NSx~2l`AZ7{eBAvW+IQHCpAmz^7Y~{ z;%Y$DgT7dY!yXr=P1HiUd))?>3(u3fIPZ(cG1-2T>QLsMTeR~f=iwWvr=(_HJNQqk zs})0W(cgLge^L#$2N&-h?O!>Ny+EJud^eORC-+0=+jsh~w;%f5fHns|TZ!2Sb+yXI z4&UR3s4hv?J@&RcYINX3M!=h3_q2bKi~!ExzT0%aQPn!F>((%pGz7nY&`T;5JBal_otY z*rw$Kzdt*vqdO07co%8@{rwjwdnZ29pSU6TL%GbvdOXo1*7mC>-@3=!0LKH-gbauE zxd{y|0?~-UlJZ8S$jG}h_&cwHMYS^;s!B6MM88HTEr1YwcC`(<0}sg#YP^kWee?j9 z)Qz9s`Y^2~I69aus({295+^d}(n$U6R;UbkbN zsT228$GMu&sGKwoiT610DYI46QKf2l0a-}QxCS#xwvo%DmB35rXUnyS_NB@y+yZ%n zOLuS&&E;;VnzT8^tx~RlP1u$4*_OQv673;epcfC8<D2t+tuAx|`DGkO93SM%G!XHhjCKPHd=7SBybTHZ^~cz0 zVYSMoy%;jyl8vy0^q(aMoCJbnCQ0D0rbgKcelc~D%;?dS+t;7$0d=gr%ki#rhN*Xy z@3T4iJuS!izIaVuWnc-@SlNDm)D~BF>bui1HfJ|YBIrI9Z}XxQ$#FLvN%7;h^Z%rN zDUr&s^f>NULudFR@a^=q^gOgWeXDvUgv;R~xBt5L49|nD131$fVw4{K^CwQxa)Pe1Kq28v<-sO0V?ZVAl}xU#LeE`1PD0l zLjY^putkF>#%{-9PwNK({OiAjAS}|`d6MZnZ**Y&yDZfz|1Ux^W0A#6l`gLw9(KV6 z*D(ycsRx!M-s|TpceBew@q+V)%ocZ?6`xL^=HuK9nAPD(j65J>YMC{R0JM* za7i5aXnz3m1?6sFEGt~{?*N+s@Z0Nhh*RE=$^(8IgSv%)E2Os(PVY%tM=Q=R=){*% zds<9WtNy1eIN>_{#xEx#h~Pn5G4Qr8_Ipg5w_2>gbLDyY)1|W*Yq-}ZMwsMB4rwgS z8tVXhZi*CtmbzH_pr5%SX_M1#1^`V(j)8^3&pMCNZ$&_ECbDx1umKOs;XDJ+?EGn- zse|>V$7=v)k6&C35Xx58AE_y+QOMZwR>`aUq?=CJV>CAr&6i!Rqz$p|R9lQC3KL?`P*^2!Sld|`2)^ZdgWRWFI{EyfOhK}lC6)kQ6RiVYe?8x)(rbCQ7ARK475{3=%P({+XTXkDc3=&!tS{732fUX9ol! zHO}seKxcn$zqBR(mMlx~X3!N&>=3w(J=Y=!<~lfH0|u_CCw zQmz}4)2Ujfayjd*9;V&aqZcogszQHGW2Rw_Ox%=}w9v#0&^YDK*08j?E;lc6B~sy) zX=N`Vm~@si1IG!Z7JS~&l2clx=;=Al*9bjP3%gYBo#}>w>w+<7X-7SIaeI_xV4q5b zwfl77kwAOz_NRFvIkzzVS7EEV1kgc`JY%V%8sSv0ovWhf_#AqwsS+A7A;@Dd_8AKS zX7Mhgj&W5s9UbKw5<*&LL4?*g>i{9^curiE8W-$RWYk7Izn-9XaA@R@UkR_s4cmH( zUUXj*$A^Y}%K^<{P;U``SoKb&O#6|m>EE%Re~^8@cKmq1u;xLQ6NB`@fduu8W9K@Q z1d1&Mp2ak^CHWli-M5({Dhkat8tMr5{a_jasTqC8bJzPxpfF{ag>vS{(tWe%o~Ar< z(Q^8#T+CZme4(%?da4<-2aThd9gwXzoNJY$*C96#;7n}YW%>VcbQKIyHEmR+r3Fbz zQ9!!8ySq!eyIVjyr5g$9?pV6JyE~SyCEVR_-|rvXxij;`dCoaQwnAhDg8|BCuPEuI zKOO{Bh2-Xvl8s=9@+T0JkH&hsTtQI88_%5?teQG0k-iia)H-oBl>S?%bjm|HcUsC?$Z?1Lw@m^%MqqeabB3=KkzNXZ6RF{8@H`nH;1Mi?< z@uM~L&&qO4eJ@5(%|Bk}B`(=V|69{O?|p;1s|LVud?l9PB4}92$$jZVqkr!8jwuLd zREvTXq7SdnafMm9wHgj`#pg0xA|05ILS4tLk*lwPIxr+AY7LP7RJiNZ~aSz zwWDYf9*>8>pc@4h7wLvs_i#L%%iHxP=r4VWnTQ`)H8o$oVv*-Kd2vijAo02x&n%sY zg1_~8RPW?HWHO(9RqoUaM4!0^FZZyY_b0EQ?~*`=A*kkD2&_W|zu`&YM{)muY0dwp zw5j;7Hxk#dPcMhh>TwLw-ffe}Ow-Cuj|MZwkiE}xn;PKjw+^5FQR2o|*ZWaFCNcS* zpesV9pXn#@2qH>&I_@9p#SIN$OSd9xhSzjkV@_p|xa)+6epl;qK#t&b>C*@2z)Pqi z<`-YbrXEwL%LnO|cHJen_cUBQwFH7Y6+h41=VRr>^7E}@Y^Ljb*9XKCt4&H1ro6O3 zL7z;)&22cd)XRH&c6~wul;+|vL{@9!Zz+JX277pI9o@fFvqFudd;Hh26<)()3> zG>tp^W&lfpx@??qp zpWU!p^BQ!{sZpWnP)zc}JE*DRI&^8X@_^)Hf-F8dF zt;LgVMH3iZ<^H|EuT7=eDM#4&%rJ0Py}s;Wgx6rS`2ttC#T}lr&yDT4E#9(vnEYPu zuzMksXBbP1ekMNz{~Pwh5YdqX?9kQ%VdL4ISHp0G{w2XB>~j_-=?V`X2CqlXNbPAq zX$3qtAmg-r-Pcm7z}<%%hAXH~APUd5gpOgnX9s$D*Xz{(mBXXqFrj1>-Wh%;1^t)c z5jV3kR=o#(z^x(rbC!T^oei)zjiw$&w2gJc=23`3zF-8Om(fV6P5r#CU_TC%k)yss zcZCGnIBfW`yyqXc$K@Z<^5yv<73TV}2RIG&t5tsMS%Q)1@OrA z4HAshJBaT4m292MPxX zjdzW`c?&(*{Cgh2a-bvC0a+H7Qx=mk*FAQLYJ9POzOuQcDm(bG*&+hl6+S$t>Wwj< zOr4?d%36!(G~;80T5AoPI4x!(1mjKLNoXJmQn1%km1*}Qm{s8jM zJmm-NjH`Qz#(&%M_2~=8ylsI0zO>-nmgafzQl`1Nq!^US__FFsuF*Z?h64<;CXo$m z$4Ey_MPVWX_+!cG+q)x&0?<{ig>RC1}E5I z`-52ymB)daGI5-V$4yUnrcfVm@&ss3YzM_3av1~y&KwTg3Cm%LrcoK9CT)!)LE0v6 z(%KI3wD`%7bSiuKrX|1V*&52!ba!$c)UM@%GzKX`VBAYmT@>MG5Y`dUKgpPX3Wkh7 zvS{vcyf`e%*EphDJU{E|*xl(99v+PALEN9yvnd)=d(Ph7#edtS`%hgx^H2m;!Sv8n4riEfdHX`C>vd8Bf6x2C747ec3if}!Ej}Q_( z==>9gRKTkiwEjNR3Rzg@w!=Y5mr zl6xGc9ne77Q`DKI)Z5Oerva%&IJdvBGKLH>un!TPzyJ;{1v&Nl6(0)JtUc!F4_f$c z*0#=)CMCzL>(1pazdpCVs0vph+x36l4X9Fm6TTp{0;1G>C`92@k}CM*DEdW^l+H2i zetFTZcCLk)=;rWskWgPg8upco*U+oIWqYa(geIX4j~4Q8FPuBEGAL^-Jb1qenf|l| zdQKEV-j=?k;WSi#4zjLRz@Uoh3t6pSRI;sb(UYrP_K-|o?>)$;j!l=#trn5s6J@dBp?RI4TulA3N(O<%VilEBp;XE^&8N*9f3G zDOehSI`)uv3k2Z{i`Wv=v1EmzLfCgP84IXR`D?t@hw!P*;sVl%zXQfeL__QC7^J%O)GjFU zvb2o}E~vbe?PA^RT93BBzDg7sNh@ccMAz_7a?E@pkzF+%CZ0qgq1mb8pe|EkET9%kS!jDwsW&aCy}V>oI6EI7nA7@O?+#oY-zqrZwmC$ zISg5muZG|?w`6QGVPVdkLYU*Qk0T~q$il^iEY?iXDU@qP#YTr=pASzb4)J9@=c{1x zz)-DPN2EL~_IIz+Ky3^TwMtf6@X-&i5q><3?r zdC&Y_mamk}+U)0xQ<>`m^$s@N8zEYlr3I>nGLY9g_Odg?1_Djx#6M+zM)+MIdU!AS~M` z?2tjBZ>|((JK%@)pzJb7v*U4n!4L9eoiMx=Bcy+scu$~8qi$XDQxzbxxyAq5wLi#L zOy5`YVI(<+1k}*%25pPd|FSKtE6MRRS7KMPgw3W5M_M!M2=4+u+%owoD`F~Ulwknp zbXJ^i2zg!A^Z2E}S%VbywLQEbdCKkt?5jS6d_3lS)6?Peuf=EikS#C^t=((;vS+gA z70;VSc^m%r;{4aW`P`Y_rRf%zGBL#mcsfkO2bxh?Jlr|2j1|q){y4Qm5}ejt*ZA7h zvjtn|0B0FW37wiB`9+hyr)sKUK7U+GvyB?32VFN{JWj!b(XMc=3kPGVo>GiOajfo5DsN3{!tM#s!`${J!OK^u}_K1bkTD0{x!1%y+^x;<&*H1wi)pu+3n84_rte^yy0?wYyZ7 zf{f{R^uHJg#%vFq67&>vc6~=GxN-N6Jz^Cwa?iZ`WaPh*2md+Y;MnS{@wG_}-ieTx z3ipd}Gg6Gk!PbVzdVnM$X7c1NQ5c-!5&4oF=cN7eYW318(F$ary*+qd8gMt;oIYW z6f)wV4ssEhxSpuqaP7%2X>e@3nExc;`;RoxMKvsVqL=i!O{IL9U%g#U&jtYJUeVFA z$X6XT*h#OEPLzq>NoRH0iAnw=?ks``JOuyp_R{vR%gq5=hhYeY&?yFkxRDh zLT190Z?bL58r=gsF?1@czHsr_wVp10FWVN0pYFEyb~A5m*x!D9JA*scZI2W`&b$@L zbSHE0G((9aS~cdpAK(*0n&25gMZUseP-Dq*vNAbtIrcASBIKJ?mLu!3`jd8&lvWsu ze(wj*MBA=868GjyhcV$&o^msbre%X&7v3Z;_43v*oGq(b*0Jah z5?J!bk~U-iyi$|$C2nEXEWg5eCB0K%t|gSZ$T-}fqH*}Zz)08g8Sf4Z81C6fuf1g3 zW#6RrFcfe1ETV<*tUNi5)M5R@`k)X00=VF-=V*6hHA)(ksJzW!-b~cvxfRilCJQ&K znPQ6&eiZ%p_z2eK!E*tQmA+AwsgafwUz_w|S!s1^Eq`nQZG4YmB70n$bjU7CT}*sgzO%rSP?kc|M|QMzle(=yNY zf^2(3Z}os<4yKeJXZT>0{=glt8Cga(z0fGHeSl#&>e*NpQk>J-P-_pZ=-~Sgi<{RQmz8btB!#7_zxw#LtCzS|j8r;9}T+KM<-R_tN z1E-HBR{buy=e1YaFcDjqifnIY=}oPOqK_h0G$|XW+4tr(@0|rE?z9S0mg!3l-Y|3q3vF}ec_ymwNVt99H9Y47n7W1#ttxG|se zA!qx2wMMddrdp$aOPTMz9Z{4PiQfwL5eUH;z}R>sjf?K+`&Z(yKXao=8bTI(5&%>t z_5-Ow59gC{K6}4N67_>l^p_}0RU_t_EkhdHr6vp7&@|0roaT4HLXcQwBs-yDX7gs2 z6(@9f>CF}Ccja+qcmXl|+}w!Ad9Epbi}4AU8}`J(#A$p)-h`cU-Vf-GP$F=Z>JG9w zZQMz$T(;OeH!w}kT(0$79Z{mf`tSQb``09{oOjwF57BX|4MBVCARoLv%sQb<=y1Mp zqM(7ZC%(7G(53OktNOZ3dtesJx2xCVTGgzc9>;GV^a(<838ftbuc7~?GW)I(t#0*) z@L{syf?r?|)2Qm_Hm6*Otz{vKX6P_n<8?PfZPdD}O10Eg>+@UYE%K1{uv z!~;{QET9Y8%nxS>EM;V2ZZ(WFIgT1z`RMw{5jkWBwojDn?O2dzD>Z*MnMo$`O&i}B z${Drd&B~VJ#I$O0{2mEOQpF?Ga!W|{2(sN?=S`n|QKod_e~7&8$Da9}2jBE|86LmZ z9zr@|_p%bo@EK5#%K9f>e7l;z`(t5_Q>(#@JR5wE+lV?MoEQGXDk!4%-orSg_lRmp z1f#juXxO(0!zJF}D&a1lA2<*38g4UwYwH!bywTGOcms*mOjn-F`iz%JRZTQ+>wnY0 zV?qE2><9V(7@ybMh6cTm8jUm>qrlAM?E17&^(|!f9`9aQPkol$e(o!3b_WI1Dy%(J zgv6d?pAY<_j_hAX9Sew#pvVs9marYE6B3p5k^646L8SO3Ss@lf#IyhFeWrjh1~2^dKH%9E9}Avy))Jl3n2CMepHC3|yz2*&0QP3ZKVL__cJt-1 z^p99HaqqLZDOAJZWTTU0?C@gy^#!@chFInnjw1BWJug>F@g|J1Mp=O8@4atmWAw8j zNJB8SV!1F|a@0;>ZuS6;4 z0yih<3!E`j?56{cv2o%SWQMLO=rrrwl{B3Ef}T-X2!MRu@0}~94(Lr7hN*reVYYu9 z_;A015xcEJAUUe0dLDBJ{!|Dn8>TNEyk#-()gN=cM3e^i_V$K-XbhZlz`_dDR-3)C z>r{24NvTtHNk7bOJ}!htCx%8jALb7u>7pDHvAY+_2P*z}*2%IE0D!a^b0Ciw*HvU;2C8Yh}QXp(HlJ$dFYpd9nRxF9loAGzt}G9S(C`$O8#v}7u`u_^WpVnzwDlz?9NIJZ20CuTx>~rcgw>6%>wXA#rzSC@amAvmHsKl(hdT=T5%zLotKHYYu*}Dw_ z18Xlr?GdIiYoC%Z1!W7I%G1;deJ!MLb8rsXTK_F!i{CE_znG>>wTW`{Dcyx=*wvNK zEwyWhb-ueRyfxu4=0x&{aV9+oWLw&?ep>p5xP6NDHtRT1o$<}@i+t?QtOINJLc(-Y zsd7P5&{1m-UCs5qyODLvqZ-_{&x6R7L&eH6^hTuS#I2S4-)w+~v}8obv+p{w&drIF z!Hz_3Ql&EaF9r4s+uThky&dA=iLrxde>n=;R6(U=69PnXU$aX@m_J&dv`W zu{CMAtcdNDX-_;v6RKnSJ9ePz3^4g-6(Qs=2<&vvw9A zvpxj#FX5PX1h}N7?nu%7Byae$5sRdI$)RnW-C=~y8M2ZFR3L!E-j`%GR+5-wAdF>X zG8SawB7fvDn;eM$?TuB8cZd2G#j_~0o4~s}15I3+IEazCGKFtXLb@)@`!PxI#dg0M z(dnT`qZXo#T!}kCsbDEm-kO5}cdz($Q5^mKE%NG*S8iSilx%ch(J!r5^lb)c0Ny@r z_P`>*CL-^EaVD4>3+wd1b=F`qHv(b2kS%o;g*FO?k7QmA-5{tqOx9?RZbxU|uA|$^ z60Mtk_);_gw{&ohW}oTo@p<0Fi=3Yyuf-^_R2fV7{Tkt>H=f_DjrdCvyBY2|Ha?yB zBg^nw-Kz4z>%Kt#B3dtr=pN_ocCTDFdbj;j*<(Hbx}zQ2RCx_M@%B&(FstCha=l}m zaO+v7x10wwM(3lv39_mG)rAID>7TOGz2Wz~wP@Nx6Z53vkEx zmN7i=UjARQ&_T7Gt1Pe2@;=6n1Ji+9P^F`Z5KtYE#vjZ;*UWStJ>P9Bzk>ESCXe#6 z{nFEw$z^mp)9Jx{y|N7hRv7rY-%f-5olUx0oI5UiayDke@uy~oqjvOC5Q zDO%q~fc{Wp1{fZJ-N0LwT6ZMS=x7EWs)CO#T+%-Ba|{2F2j>KSrGF!b-gVN> zOt^2k_ZqkTHj3qxsV`Zoz;KtVWGHav!v{Czu)4kcRY*&LShDohn>!N8gElT>7I&dD zMDF{!LA1sEqlcv}z-t!rl>2l}XOeqE1QS|u+heesMso9Pz+0W0R#>2r$^1-kGIP>Q zvBv%t;E4XKPWk0c4ynkLh%rDv<`6;__A%OqWo;LbDR`DN-z`uKFXa_TTTI_i@1ht>Ofxg z{8|gWL$PrCDn2n#3s@-CAy3fx+MfmLlU>%&x%w2TCh>2JpsVDc3q>a{Z@PfOB^qNq zKTE|iAexEBupLsWD>u0ijPvb~7~3|mZcBx>rlA|nAJh{@bgh!{t4<8Q(_izOi0kQ! z=%b}bNts8<6=4|<8F@eKccnFJfkSt_lj~sv<=t{HP%yD;g}SX@8V`kJ0&Ti5UpXfh z3t$(;x(W==hjpSq-EdmQRR#oqMBdg#Jc__K1x1|)dx*dR5&XT50ss%i!Xppsd_u^p zyqm~t0@3eO(C;bUI9NHNH$Q3TM+!{yoU8CPTB_M-6Hsn17OQ6)@FFPf(-kJR(KMG& zhXQHkx3HFYIMTmUr{bCLgaK)3GHBKKXRi2DaMjIrQpF>TnwC13dvZaS&CS-(-bV(@tH*8gw#XdMH>cXvucB`8)F~D) zmCuHP(3)}T+X1W^AwXM}78^aT>m`~;(|d8FQ5G7{PjCq=)MD1UH1k(`@q_^KuE}bT zW~To6a0gwT%n;x;D@l<{1m3Jujg;WNoK_qA9lbL@NIYGln!dX=#ahg_&WWW`Ci4A+ zURrbOOZTD?EVKE_#QX`{w0`)ryZ*XQi@*jTX(K@`jityvgww$lIGu{T9olyp!;U{< zqI+=Haa|s5R?e$+m8@qn>8TpG;(Ebf&RU=l`O8mi`-)OwHtOwgd?(0jI>shr$04mO zAHQuO$Bi>ZB7xximJJK0{Hp0LM>#)ti(ENcE)UmoJIuGw-pHn}M(P423{meUS}c9u@x8gIDubz zf--*@ayi8L{a?mg6#kS?s5PQNE(6r}(5GfG4TD0_7lonao6~={hZa4_ojvLF0uCXuf@=6$tzwyqK#2L z4mjuTfAZl1k8X|<(}8zAK&FGd-18!Mm|yGAP|BJDhAh9@T zwngevI1Z*oMK4j=bKiiOL7T69zJLBhkw;HYwHAnP7YId$rAO>iDj0_=;@SkS$?@QU zR|KzNn^ydT@Sb!3{Yf?S?r$gI436$}pMKE65lECPX+O7+R0=5N=@8L$*_+mW-oBp> zOxEPVLHdqgP@~t-C1N!ZA7|^}bZ0HiQe-XFQKBGVMWJ65|L2vN-;4Eg=Qo(Ts%NdI z50@aS(H2_$%wo9h7-GP%41r+5B0shklYKj(-u3>&ETOJ&A0au=pfnM>CDy2OOM4DGdY{gYW16vKsS|j?m+~V=5q-I9932dLrVxWASoe%J4!TYGljr28Wf()@R+o+~;>2 zer{(4w936*6es!C=^C0jxF?$5taq|X?xx|mf`4`DMO+%R(0mzsJ(w;cyRv>*X)?pO z*aJwW%dVS!oUV^2KqO@qhtP zD?@77M$_ZA+(s_{Wm`w99bd;iIn#9Z^YjI%<)$oTBZD97HSzb z@Hy~LX()`A9$WKvSW|E(UQr)lYF5tnAZ^=jjtTy|jXOrJj@qF~tNy-Z#Ngyi8dSaI z1x{N34H8dUEaUu*q?D8V#DWKpP@Y#*+N-VO2Kg6!aeQ~R#!9QRRXrjRQqSyRoi;l7 z9QCMIff9WfUf$u*PCSPu45}Lf1hNYXO|F1pW(n6u)V0-(*3iF3Bd@vrJ{9`{=K;Ze z2h4b#u+j(S2d}t4*q=t?`AiYyS+A!s`Q3@}qO0NQEVVham?r%?MEs*ZCgf?S%{6N~ z?l3mP8z0W(IhVj=5=HEyDV{zKEca+BS6zx$mjG>S(n!u%Tm<6_`)?FLP6kb%r-l+-Q;d{s&i#Z>y<@; zuu$%28}ri4qgzQ-cA(!}rQy1R&FpiU8u!x*Oz5!F6Ces`Aa&&W3sg(%HYL(ZSt-$Xr2tUO4xAvH1D6eLDBhL4UQFh2vXhbP;+N;2`QS4 zOnCjZ;V>Z4bvPZWPXlOnVHNtLYuB-@FOQvfY9?^q5_B~i?n{zZTBpRbZK*;@R{7C9 zaCB2+O>nXuR3^@}QVQ9Wsf#h8jx$ zCu8CTB-Uw$lRY^;RC-rDph{gc#AOb}oTl9`@Aw}D)<}SygU{|DJ&)W*uL$OLDi|_x zaDfL&Z)BJw&N~H-jd3e+D({;s zcf85gP`ahSZm7@Y!?a6*5y0`CoO?&ZPS_Z#jbJ zWp=;_(2*_-RvBnL&GoqT2KM-$T}ggw^;HEzx37iQh;v3_h=t>ZO~=Ii(YYrjbF5+z zH?OQ-T0f>vHVyEb&v{9S=Md6RpRz6PJfb?sR^x2rowl5W(iLq9yw&!uX_TG4$UP*KXU!lTy__7)0PH3(v@etmO$mO!bGN2|J@L>2r|ztBUc|xdG&yO z5-tO+dd=L{PsM1tP9A5dQd=Kc8PSR4=mI+d*zx+hJM*%N$fdQ4;r`UtBF1w&j`l^w}lniT;a+DU@* zPhc;NUuSG%*E0~vOS&vmmySdYnnP%g|Lbkw5SdMGo3+n7BlsKaLEhn$<)0o_?O_MC zi7|6vgh|)ZI}8Os4&C7!?jT=y+J?&jj4wj$1;P3@D_}^E8)CwL+?sy&uxfuvKqx^> z`BIFIFrDZgNOTkjeP7G#nX6^y@`aTTpr~rsnMo-9DD6tRq$(`aBF7mXVvie$n2>qr zFp=G+A<83iR`E2P5)+l8rwHfPnYcL;qa9L0>sU0_JrqM;Gr2$E`0`f=CB5`m^&qHC zoPO#y=?6{t0e)*{6~zL@nQ5ONE69Cw3T=eG_Q3<F2%SFtH5T*#$k|B2Q#Y=s`kW!35Et?j#|Axt=5J zU!Rlr9HP!{;skttUhe+c$!~=mr@m1Tgw4`j7VDOXV-ErHkmLjkS?BI}=)Wg@1+8lG zH`TMF(`-J7f9jy9Q=}EgQo{``vNzR>KPIv03Fke!RHB4$RbGaZ<|Uh^u-7KhmPuw) z=7-Ql(o*KO9ei5O6vi_<*+JYV?Jh;C9!7hUgmi;)cWWJfmEwnILl{AgIn5nCTFgMA z1q;opEMikjf5gZ6>e4*;@~r3cVCNfcZV_w&2lH6r4y{Y*ha1cm93rwm)rH_UUtxte zpm7!^9Le2<;P9g2d`wT-NPhn^BE?GOopJYRaK-A#YCc>q}eEDC*Oty;=I z>*4h=s#UEMvAwxo917gMyH<;iWHr$n?vVOuml~G4Ises>2E0*jUh^t2oNeBa^(YHn z&u-Ny7i|$@@FOR;SsVweVihH%s)NMOyHnYs_?a~S$cL%|^5Yh~^54~3i2|=m5CnrB zuq;~XnSa*1#kxYqok-+#&XXv7o1eWcAv{I5a&Y6b8LKGb#LP2X@kVdwgP6@*nb(a%m;@G3Ku6>X2_Exr@K<<|R}J-VSM zQMLcwj={ecXye#}h63cE*WDY6Lj=I%@DJ+lw_EandsI(Pp~3r=f&0UE5fM(%OXDC5 z^27e!s-R1QiZatB0Hl3L$v zpa?}k_|MFyGn(@_Z-*^^EsRnErV5pyEyX5*`4;Jg&jtKEfN&euw5dEKFAs3w^m_|p z@in{cZh)DP8CgfL_@XqsMbJdOLbrXS=}H^cfoGM1uLAzpp6P38*=zzq$d$hT%PZ8u zjeOl8khl9%DTk2rbEhQhFS(H`6WPEI$KCN(27nfh_NU+Z3-OpEoq-OADXzKHux z8Lw!sLXiJGf3e|OLy0S2TVC3S0mJ%($rIlGYfHMnkKD3DB2TuY1xb{AK-J-yD)@WGB|NQZr#ZxgMg^3x!BvTfHk^G$m8HaCBlxlI!@0k z;*}RA3O0SKuUv7?dmlQ-^}&G7yX75-XyET1-t%tK?v}s5pX$NjWe|(^h{zcq%_wJ9 z`m{q>I>e1sDr-k z3fhI=`M+Vj)}h;zY)oM(-9v)rpLS3K;r?568U`%ho`e?S^Kv59(~@ovJ|7RlR}myc zxCZ#Wctq31%3SH`i6BMm8^J`=j!?hhNte?*l^ITj|o2rx8Cc~P!g6Q9;r z6fWi@X$EO8L1-qDa$j@(SbdhNL zv5aUsIsfh4q$ zyC=n_2`GX$>E5h0FL&ID^7E7FyI9U=4oM1j=(X(sI(s2C!h->#x zcU@kNH8UogcD>smYEcdj=uKb=EgGc-viDx6Q(47qjS%W<2J+&uPIU$omBLKr{s@eCSjsM z>7o?+sdAr$NCx2V1c{;rZ3c(3T?D2bve-}Qt`Wuln)YyNZLCVG_~&#o>-7eE2|6ZN%rXh zvaADgIVSL~5H3e%W87HMmR8uHGfP(U8q2rps{t&m&bN4qwxr#;{;VwZfv$KMHG#d* zU`}YT-C`PEz6Wf-d_&=-kwdS6geE{wvjx}IeAsugoeuL?>iN1yxt}A>Zfv5etD(gT=;v?E<%{~2T66Rh)`kRJ6(4O+18*l6+xop z_dUeL3?g7O(c|~Fw6KqP7xEZa#v{yp%vGkZ$WFoa@%rdgir2q(LK$}b5!fcwcee`# z%mrlMl&3qz_c=!jfvfEgYVqGHPO$jRBBKNBQ4J$%lkUGiI3?0E^P#})4#g8zaA~eb zG16aBM1InI{^YggbU=01F;@K#KC${}Ufm!)ccBZK-vmC$=sR#b_9J}T>e5+3yYE_n z?{Yzc4+FmYRRt${_$nZb+W9a6T$NoxjM2lKFW~Pj@E4_w5rFl1sspr0NywX_n%p^Gv-rCYztJ+pM5`?mxfd+q|p@ zCzBWTTt)fpX<*T(Pp6IPBq$Us&W>}UN9js@DPILC^*XR!1~Em?X>t#8Q<4n$(yLXjnz6!i&0(LKjUP zD|`eO<)(Ggp<^p&8~_^_5@3~xwea?mxW#Mp#vRONDdcr!pLcu`yJeC~ieBIHRF61H z*_|ZGE5y{2$f)f!>^gL1?us57S-IjbXnD!o=wmA898eyD^jKpWMjkISlg>!Z=zIwi zIM7%_dwAqD7z>x-CxscV&d8~+`=X4#W^C=wr3zzBJP`PV;yIyG!YnT8nwZ$dvCJuU?jd_HdgO{VaIdADO*(%0a+Cg2)GQEjnN8 z50CAx=&Dw#IjY|4GS}q4g2|b;A&rS|45E*iX)$`zb1P@u_a}m}{i`eOBH$BI2q0b9 z=@<(rNO>4$9aeo1e+I>andl-d&bE?!bo<&Y`7qU}e&I)Sf*WkLT`T^8Zjs$lBDnRa z4{*qx?bI zs5K3?qxm{@qixXX@`8l_r>?nLh8*iD5HDA*pO@yaWL%aP!>#vE=s} z4P>cq{`#NptQoMM&D##uQ9qaNvC~4KOx7>t1uNX{f4n zsT*uX7B;-26^7%teGmQf<>dkQ?|W;(&hwd}8@A6476Pv$T{3R3prF>V6PSTY9uZF< zL1_#@C%{Xa**73Z*o)2+M@(;>P`{Ih>_3amVo}DA!YLF>l(frVa&>9Gwz91A7AcE< zF>o%m~Rcf z+nkquiUX!*yrK%EUug7`h((O{J1T6b4R;*O(%}wU6D1!9VKNV>?0OK>LE{AgKBv2l zbHrnDFV^doNb%2W#I8OOYI|K%|8jkb6VmIKUx{+33h((gRq~r&+c@Ew2&;^(WVNn% z8FGUEig)iygws+bqRHJZuZMcQvyOG`{Z(cXKfGXj|3NBE`2geo`LYZ3V(QP={4U5s z47crU>e*pSLC+BCz;e8teFpaGroJawApPWqJGJ2vxV|x*qmnL##U4yh_%+SJQeVxK zEz{+EoUr?m1#{!~_tB}QIcEm@H|AA{{BGce^5hR68JYCiMO5P&e>FemXunnG2IprB zxdp!b3hrfBQ3~C43br=4S)+-Q+FQrd+8w3LtGB~0oF1$O&SFHz6uTrBVh}XBDafY< zen6VGf1Y?3ehEwbFG)R+K34P`<}tTsi%$V-(OlP+Dt+LJ3%y>Bt||%FD$)L|+ueoBS_8fMhkXxtyX6>9R+?@2~mQ zbp0>JHm6Tk?rn4|?conSwL-6gKDgP_rZ=k}nnuP;^iBTo3N?;+=E-h}`H=ygB~0GE zTz=91Nn*DJX+&{HXYK>tUhGAmjG5CG#h$824PR23quGR2oB5a?q4jaXUaKU!SvI~m z%>P&Un|XS5`BB}6ExXE$cevd;Z}D8+&}D;B+3CP@3GF9r)I!}Zv?UssOEu&+-tH8) zgMUF9$D*-p$3X`b?;!T0i&i%kOPSH$+*#$S__>P_h#N|rDzg4$QTV%sVX$R4wnL?4 zku2hF!ACS!aWsa1iCi)H{IsFj9$KDaEV!()KpkWtN13cJA(&FZn|I(`nrp(dUveL| zc&`imjoYl2wYZ?dY&94{%s)1_XjZAej-*M;E~-jz)1M&P5-tsusgZ|%L>gI#QRLS` zG>O{XaDj}DQ>-8@De~6JAo>F)SVuXAhN_>r0uytYOXPb}1p=E8&80ZV3{U3s`b{~i zDuS_|1MODRP_a!(O{aKJM(8$jLqf@;ygrQyc9!Xfyq*TZA1Y)N)#Hm-U8T{ZpIaeWq4^zmi2 zM+i?qfG21DOc!G@Vqn#KpNt-Q?G?F;3UCMM+^RF!iaQAAOU^C(CqQenCgMk; zuh??D*6Qnrks`0SKp5sCwi|2UXJ4B;!*RXGMtEe%899IpVP%KHKTdhpwMp7IX2d?a z-Zu>VwZvVMf=t1bbqn?~WzkIt)xzJn80A-&H)@ErSV!Ly?J}?8KpZZna+Jyh3v##& zmg`Zt@Rp#Wnmls@a0}BU&kH^;Ch)UWLN~ZB^OATYGRxs=%R+oYfj zYAN5rL9hLD!Vy7^ZLR?T1|4Ak%s~E8R*R==i?(61l zvPOV@h2mPPRnc1*?;@xQZri{tUQ}ZNam64doXYERE%V9~M~T%)GQFUi;PMsp9G;`^ zQ>%F_!{v5^4fTwR0vg4qFN%y?;tj|175i$bOxnsS82At|2MwU-?$A zEd+m5Qt|fsmDUr-)v}4TMX2v~PcaQ!>_@na-8Ckuipzp6CKGF{ban~xpxL_VX=QL# z$N;s|v%;w4!3k8w(~a~@kiW@M!4&@GHS`n_<^V=qPWBa_VS8zai%A7L&w%XX{2~{H zk&ZfR8Dj)u5`iCD#?jHlAB%+m*=|CQf;NX{U`9!>UYZCik|M(b`U(I%b0sBvx-(gt z=Y?{VzD!B?`8sf~S}`8(@pa0bVj!{5fP6yVJccK85DoQl2wrs8V4ln!{L|Z|vV5dt z)o(53U?b=fvKBfOZzUC;yor_q3;XvT5cM3&u22c)SJ(@&FZWsyz;CG+s3ioDD@^|5 zA#$BVI@&0w6Qle0??m>m-u90K8Jn|DdnqShylF}UU=O1H!v2W9AM8o{lQ_b5@R{hV z=7)tP@o&dp4;J*HP59fN<9bFB_m0vdyrs>$5^Zx@l`kU5>$_p5UHO(R_-n}!qRHoU zl?02MjyuyR5Sz1pranO(_hcsH=@3#|Lj~K90RpgA?os6T-ptuz$;7s6t&g`Ow8Jvd z79+3CK|wX*LQ8*X^Q^SJ+)1B3qFFaRjsu>~Ydr@-r#n{-$d17sM-tnpxP7S20jUM8 z&EVp_Hl_8=VkLzxq@{(r<+WR$iNB6FmTNGNkXK}^u9K~fR_JEUimA?RPQ=2b%JA0R z8r~xNrDE=HP`U6nGNG9#hLKTIB`WMiV)lEoeeVZ3_AXfcM?l7nXF(y!oXXY+`Q!pu zk*v=hXT;DEuJj;feyi6vsScj~9{}}03coS++g&V{>JVg$DBfDPy+?=%t*|HlaCIwG z6!i*li%i4v%Szpw$-(mR0*Logsx@5mEN#H*buD|vwFSRKWU@`O5mg8?PcZjAWRj+N z3xao+rD)r=8KdoPuW9?AE8C>-?RqH+oWr&)vvGbAwZw^d?`*QyRwtuid5*!?>%{){CUg19;4rZ6?f>y#|6A)jWUe2|m_MK7 z&)xjFS>DL_8bUTkQZl8*m@tw=T2^LyC8&+3ycPq?x*_> zV&4&k#GzU;>2by^RDkGehu1o}$(vj12_rL|SOoE+H%iF`;L6K*2eCS+Fr`NKfC)*O zA{CoCO~fLbwE9%ideO?&L4h;E5yc=$ap=`hM~7Hk3uqvED{~_-d2wzmniJ@JTHU8o zE*oM~yc>pPecS3Jh-6i?sIjrCP@Uq=dErpMRWDn|_OI)zU=q$TCPu9q&*41im`-ss zHBWcmUj5ZW+`@*kv%n|e{9+=gj^`MIz%;GnsC7m~DRDyAkWsR8BRXH|F^8*vsjI_a zeZcUmfA)_#9C1@wq}V>zvHj=k)`A%t8=v_okIb&3I_k?gxzgwFV>zb8XbOrF3vUx%tl@r2Q&CGW8hJFXLgWs@zZ z!<+rkyP*#DVrJ_LP-=pV^;GJf^!qSTP{`;dxe;nua~R(97mTQPer+kdLcpj)Sw zr5sls+GOKaQG-*bc1V;v11iY$%X1#RN6`n^KwiI@9{+!THVg^6UiN3KD_wK_bhT}$ zCt4rH&UqSM9h%0`iQ*fSJD%2v%CSck6m9O7W8`V-u`?9ooM$jK%(z z<5nzNUzTw*$u?=Zc;T~nrlFh@=)M<^k2}~rKD?tKXNwkbRzzA>caXTy3Q)bA&=37n8gwSHe??`eYj~?UZnCUv}(EhQ2#tu^hRz$@X zC$>o)wk)n(-o&~Jr zl#r`UnQ-RTAFEd*dE`#}J0KgwlYW@^D2xoOYx_?LbWAAB#qB~2QvVS)CrEuS((Pe< z*;_xII<6t@T=7mgG=rKuS2Zn%JTJySbG zz;$YMc@QJ2Xpy8EJ7qJ)zDm)ck|Hj2ZHySQRcJusVzdmD`j%||96qgt^$fR6)B{QD zSqQ*hjVrBt>H%Ow3avgz0nR+2w9cE(lwui8a}zWE$JQlLz$)7sJ*ND=h!$xqm$nP1 zmyK=74PP`7Eav0)+1_HeuI*oD+JAxxS-M>lY+RnHE#KrAxC5x^rFv~`CJWpz`x4$- zr|rwmgBO3@@sa7VDzojJ+Wb%_#SJm5_1*+%JNKh7vCAOxo5N1RolR)}*%k;3?NVb6^jh<4mKZkqTa10Le=VlSc2q9$a`IkSHN4bl0 zO*@HZ@HR%E@6Eb&iUnydzlP)s=Q$uVo*`;LW9C~9aqqAHt#lV;>v;4txp64DBVC6# zsR&cOLR?)Mem3!*oROn5d>k%Se`-B$hqUN6+IsDVAFB0L#3mD$nmlZCm@9i(QUri$ z&&AdI&?aWG3&hsv)CD)UZNq4eN7>i1pKI0ro3e)0TpB;O)`?`A&fM8it2zXv)^neY zq$Fm+2Xl(a-u2T~~$qhZM=UUvkFIy?cE}og1E;4!=?*H}QOgBN+ znj!w-_=2sqZvXk~i~r+q4qi!Q1(euU`q{J~^&UTj@e2-NB%8odLlFms8qYr@aToO5 zB7|Hdk{LMqgtdwS`duyTVX6&oJuK0u_0`CPdAhi5`Fz|w@!RY3SX_dDY$bX@%Y;sucu^GCA!>bDU@C(AIE`s&OsOS?pva>FGp z@1*r!+l(uV3QlF8M88q@*YfIrcLL0{7_kzTHA~)bEpHv$zb$dc%&lWvFUN5B)z!1F z)3KE0$U5;-I;}@#-EQpLLF(1B>oL|J4Nm_d z;tlZaL@qQDcCaJkgj#hjOUc9u;JpjBq!2% z0jkzf#JU+g!xC&2tD{;56=cjy#_hw5 z$5se<4?x_v#hr47W2TV4ekw||XD`gb<so-Du`HC5};@;9$4Hzj8;+;5E40F`4YLNROR4x|Ks8JN} zBwx=g&uDBr{{WZ=i>9@CQG8M{&adyqB7`!yy!?6=MBWQ(b=x6tU!Gzl2II0Z7F&`N zc(iOmP+O<=?~av^kv0)KEsuKqtAG--9G00t;|0Q0c7M$8weNR>@w0h!wXfS8KNEAs ziJK`!aZ2lvrVGna<0QHCUL3UVQVHW5NRvw^*!#1e$qkV8q{H3ed;Q!0{$IO*Z$n%M zwnXgO&7U{(=RJ%zztF3ToF~T;whDbiJHYd?i?O0_%4<>yA>@US#skIX3tBG_*wa*J zOxA_=EtAY@p4MSC$skoD$~w4wE8^B+-dd;v#N;GLfk@zosFVfH7>XhdLOluwmgb?~ ztx>P}TE%V4CQTmgJgMKo;2-}~pRp(wz^&(HK7?VFh~-V~Kp?jtMSzGcvx;&-XwY

glNMLzmA<7$%7M;jvA9)q^?Kcz@nB6W~6`+Tp#m*1i4bhjJf*tPRH$yVjjO(5s7_ z6UP>|O1!O`crkISADg?GPwxmJmZCUiXrA6<%0Kzn`LUSQ$Zr>f z8tV-CDx8={K^HyEfX3s?aw+SzZyXyuYBXnYV%1FfEz1;|TQwd9aVRI;_Dg$PxAt!y zK|UQ2y+53o;_|k0F`L$li)m6`P5bIAPc07IW^ss5V-rF>mvHT1T&QhoSl)R75V0+} zb7JfJH;hUZZ|kuwVxiVoU#`6F?w|dXed~3j>%Fx$q5UTu{O7-w?t`o~Gh$bN4tufd zZES|vwF`Q6ku&0XJho8Ybl9uLFX9^6SKvD!gph4RW@Z(EAUVU|4g0ZSQ-UBERPUMb z&$ycRtZamHUr%$KH#~adi@TS=f8N0ca_JK8FH-L3 zmgAPZ7n?iz?XfAty-XmrHkV>Oadoyie^N6Jt#5k1)Q?aGlvh^y=yzU_Q*B+Z^RZPQr5uTRr7J2A zXnEm8C=;dHZMA|`TlT)mh(v*}9G7Y!s&IpN9K5H^kPjNxto^(6;`hY_&|(759jlNo zdS!_(L)lK%YN~kJPhZ=_I8d+OOpkSl){L;LF~;;bXpAE}#xB^qTdAHu6Tr&xPmS=U z_`FIQ6(N25zxusycxxFsXNFN%mf)mPrWvc3sI2-yZ&`KTBynDJO?*9nGXefl4V5|kY0 ztRJb%YVd5bt=yRtgUY!N^URuot7GEc3>Xb|FYr_^orVw>2ndc$mY3VE8SPp(U6CMD z0j&Sg#jPf1jD?c=eQLHp^)Q?M2!^M5GGJm{PFDBggr%MOGp$AYH^F5_WYIEo5`Jq? zcrBwH2F=R^l}2dPwPud}U2GtS9X?UvsizS~gXfK(XVa+bl{y@S;(EL=cg+sRIEofi zF&KFB=l__--+8n1QV|$8qy69iYrn;y@!L!vLdc0-Z#81qJ*;Al6qn_M!J5FwOuB0s#GM>Etr={ znWu(c5}%I_K?FiD?O5FDzRufuh=SGF)NkNB<76aG^@ekWY-G+FT5>DVjEBFcaHc@o>wLXZvVBejmDELMJunJD49{2-X z>blYS8eZF<{uY>G2;{=y#ICy=7@U3& zb@<}fZulbObP?l)g{>YZZXMvoxLe+qunR&6*-+HVHbW!D<@MpLO{A`Ru>|2jn*7|) zVn0>mdt%rZV@t&Y>RQ`_?BI?wX4|)_jcHJx@f-85Jg4Qm#A*{i-_nc8h$a?m`)ve?rR_iexcVzH7<}Z6>4zZZhe+>lO8d`~ z2ZL}+2yj$z`gM=jrNbBf+ZP$9>wJVp_BRMiW&hORQ_(Kf_9!lo+7_HBpxg3d zfdJlfO#Hq(;V{h{7Td9PX#aj2{#*vJr7?sBH2}J+BVPE_`FhO45LIceIAz(5!T8@W zdgDKrf8W)s(0+Vfbtj{?L;Y4saHfS=Jx`X8-^SoUmzsQ+wg3Ja@h5ys;+gXK$8vRX z1rIi<{by0^9tb&tB6iKi>+0*yKGt&x<1S*Hu3lUCm_paZ;>5yMPkCEnU*S)p>fWXI z79nIKk(sGtw0GVhY0?y?>E%s+Qpm^maH45+?GL50s56M#0u=#hVm4x+FJgbFFNACAJw0~Xby*tF8_ZdOdzgaWXv#_mt3`6`UnWh`J zacM9(HjYEVM<(RO{fj~?Flh+kd`M_7p)Tk#DtVdMAwHjDw*Q>$y-f_*zp4DnuMXab zyXEKlxBrAkzxG?{J_vaZHgpK%ZvOP~ygvkmt_#CTgsq-l+$yT>2Y7LILGLX>$c7?n zl(?s^+Fylxay!gP#VABEc)TZz^N=V*SjvK#VP?sUbJ2WJh6!;f;^tF4U2ds*<2{B_ zHE4oJqz1IJZ2X(s)Yy`)6(VAu&^$XI0mvEDr9xX^Y;V}RG~QFi2SctiYny3}KTYe) zZ=PNyR#EFABb^uABnUIrdm;rn+O&f*VcuX)TvPEZ6wtG7?Z5mE`zDwf!i0M6bpOqB zM4YFImAsw^i3T=IRc*GjSm2#ai~%)>0102&v2o`H$(<9FL!Z2I5t`BXt)7Rd=fVWq zS_ga^NoBobxBo20-TzlVm1`iU%D?!j+>tTn&%h?M|9t)W9T2htmJDIMiTW1C1FRRj zpwPATB%A`dg51qtcW^Qe^5$;Q)%`F!5C^WPY=KwY4OI#BDRPY?p8 zH}yekI=x9oSRjr7MtczkB{Z%8Rb|tUOkc?^&^P1@Cmu;BK!oWnMh7 zlb0*5wMM+(+!@XboTj?$~jGzBh`u6vspI3I=+7TKt!aT5KUPx@) zvpdd8YOGKZKE+7-DA%jELDrH-59I2%9sWJ)`8*OYMyWT5za|wX zIn9b&T@`xN=yun%$Nwqe^-UC8{>9JwH*i&>EJe{S92CksPrl7zh~zxU7r5SQw-vh9 z)sy!CqtNv!Mxl!j2{wS04Ml8mLFGTe$+!&;Pb7q_Gp-Y>hK4l3es!|^w&5#)#Q_qx zz84hWhGDraB0RI785Y#P74aD+Em>=>44uDS8^@H;4m;A|-4$178l$%gp2?4v8k6eq zL|3y$BdMuDeZA}!3_iThygmv?pAJ8!R{)vJXolAT)0YOM6onhVo~}FmUKCSWht`QL z>p!o4?+`!62GSi4!)xkqsc)S_BLK=Y)>}Qc^)sYO{y2Fdqz=tZFWmkGd%ede$jay+ zHe^w&e`x=jofj9YZk_J`O_~FWTI9SrB39SiSid(g?xMbR@$1~k`r(W3<(tminp3vuNDyjc71k2l4w)iCj(O_MgXR`-9+qSU#2 zAY=_GvAXWNH!!}A^$beidzbY?{2$0j|NSoGbFCMrDr_meGK;aI9^ho`=Ff*k;MxNr zgscHldy;1GjXl&VER;7^jSuTnu#I%xVb-v27vD+-*Mas!f5dGQHGP>Fj7YMf{QURi zRz8K-)WgHor)2S3fMDpL2oH$1G$6s#BgFh^ji4FPLfnsj+b4NJ3^^luAtqmN_WS7| zWU4G8Hugz;9nh0M8RO)pYYwqKHFc@F1NvyV%sC7;2a~H3bYj^*ziYPv!w-(tH zic^dQrO&f^ude?49!8;SU4{hi<wt7lMeI2WLYOsq@G5wGg zh!C=dn9---#UMfRq%{sdDMnFR*!pe9RgIV=GqG4Kk21Wa>tY(RK_tA>e@PtfWd^PD z{IF;JgPpwy;#Bg1tb@TkRxHr~*Qt5(uj@ObyEQNA3hlNb%8d5k~nd~1ddj< zvcoD>;Lx;Qs8}-G^M%`gzOmf;lb^}woA_qR^XBJ2lN*l>EE$6o2T*QqbCHdP6FIy`jcXPij43%H$C1 zM+0`li3zY_W20A&i~A!Q*t^swa3C#~$Fkj8Zkc z-Kv9uZS_Y#)2qrTsg(L6F-BC`?96&;bG^2{-RZ+(;Bh1JDNe=4ut)6#5SkiL~_j`Tr|NWatIdq(C8Aa%N zzYllR#OdmVt^=Gue%N9kpX+0KbDa%mE^PIz*n6wzHYjirLe7_o9^jwA!*zhg8$gJG zgT)y-F2iBnPNE^@JJ4zLgwW|B{bF(CQ)RNQh{YkAJh|6X?@gy_`?_`D3~y8q0nEq~ z-bfn~B)-Mu_5xUVp|q5)_zmxp>c^@!BFj9}`W++*H64 z6;f;~Q5LgnTsHFG!3NSF)2<(qIR2C}9IfD?35Iuk9ZXv5} z|B@dpU%`VSo|7ef{;^#Bmk{jWMlaJAIk2_SMaa;X{mKU zhZBbL?(0@Cl@RBb$i|LB=-hBf70Fc z%<9^tx;1rAuVJY%+*1{~%pm`E2d}+xb2DF|{`23H2U+OY3p1tefB&;>XPRbM7LTd; zw(he#&Gw(U$NR&S-lI(}XS*cfx(?Nzw43A=D@@veraIUA{{pvv?PmH2gj{e+fcO6M zH${6ZP0^@5ORh%VkHBaqWb4cRmaplSwf5?nuS1)u}Sn_AJ3K15YCDfu? zU(9G~4Q)X+&dQLbadugENY6Me8%Zx5<@$2JpVo7#9#|z#lnzt#hI6P#GEQr-b6q-A z8;#dChp%V>Fn9aQai}VeUya9_knix?t4T|HK2um|ft#`d=CU^yEdF_aqVK>s5Rhd=) zOcc=QZU9{cd_NM1x57&Ug{sP5{WGiTUZ<92uN@X$HM;4Q+%%z^XJB=bRh;ErJY&#g zs?W6g{Z*5wE{??{3;g}N^IgAF#+@z;3cl;1eNFboH-7c{Iefo`I!r1i2?N8oZTvB}QXss(8po=&80Nb2^bdJQpVtRZ9Ld$EG9@zq-H8{M%|bvLnb?39WrZfndE zVrURsTyc6a*=!aXOIANmHj`zIr2*r#beIda!aPw2BofAElF%(Kc3+Y-ysB=>j(!-r z+?Byi2+G7Hp-CL`C+Rk)E0TH}^6$GknE9Xo+zgMb{GI4unm*6M2T>oMRm=CVMyP(F zF}qsY@81>;s~7*YXYa@w^UL1<{-xauT@No+pSlVuCI8&x??_s<{ug=q0~cBffJPI7 zt~Lxtza?px#ap4;3^Qs?u;qp7Ex!lP&t#8fes+X_3&4WJt<|_48}`b_BPUgjKbuZo z^$Upu30ph%#CpRu8Kk&s0IA0n-5J94jIq@{fA*Su?9Y?$GYt)rz^Q5hsnEjHeT|ZU zD%>qlNtTgixH6I-cDZWnM?W+7+~4t3qz(l|{gkYVxO9*qQXRBGs&KhlE1b{o ze{>Y8w|;4_%Np@xY5mi$?48#x$_w#bOJg;bt=6&0cVyB*`mNRBR{50YzW#UN+}(fu zGxJga%p?R|dNBHJDTA(ooF5-(edxRs?d!n}^Wx(|rGY5cq z(g8v2zGdsZ;(Bb2a%XGUe;YS$V3e@Ueul;0X~Lp7{~S#E zyG+K^(luY_^ZW111^Lha_$&Khf5nfS7z3>zye|L41xvgBw)}g^f?mB|uf8`O_QvNp z&-K6WcI*PzhXUZ#)KM3=O}TqvTgo0~&*gmdr9R4HEY#T&jA>=C6@@avH)Q?+m)|3` z7s~v01OUz;Zfqu91Jp*cqiOcvYjy6Qsv3+|)CRB>bjUw^ z;m1`dHeO=uU(Yi(Eq9UFkgaM$;^n*=XJSJ-R)RGE2AF6a6CcXoUQlMlH5+mqF5JXIB1|91$qY|-sd2evxUt*R5_ z_a;((Z>9R>Ah z<8S$y$!}l}Wqy2_--9q??9fdSz**SzqE*+7Zb$^C`d9BoFK@F|gD@XYL#n}KZC)9X z@YB;3u`|qu+|gf_tw+YOqQ7I4-j-*WRfEgwR#VusZ|eChHh*JPfj6@0AmaYC@uzbw z#m9WrW0=PIL0?z1OtxIHS+!8H)G}!oIX!>r27Xznm341T7M4e$Qn90amqhn>|EJRlb>QP34t_Z!#eBsSbHa^!tmai{_TnQr`6T+um zcUr_sb|~eHdDqXl0su2`8_X|awM}w(aFM$7!6tiV^&awK)7FM6i7-uFCQ&y-%DdC& zE;qt${h08O@+Kp@|Axc4x1O)oav|h{cwOy*ufKPx8@hV_$uEa_roLU$`K}tsIO{&9 zyVAtxb7zm-{Bu*V68u2z7mwtHyLc&9pES-(@c|9AM4VWLI9|K$Cdo_yzS{oI9J5B<1p(sDk` zy7(_$qtD1k?&_9auO^>~)GJs~zY7&6jeYiUQk%WzIj;X%*8}Iw{gC~^P`0G(8Fp35 z;ORUJr5vmLksm)y)=1}qt!Tjkm*;1Q`@Z~80ALCqY`L?`c|$L6v}7B#^{#dkw{EKe zn(Jx8#;k5=sOPD+$K&*2ns|QKH5PXTt@aOJ+CBFzUX{F&+Hf8plg(>s*+#8wCpFBA z@o^#(=2LgJ(UUhg8scjC$1m*z_ig*_CZj`)e0iegIWK1C`SQr*-Q3i?R6bXzf@zwM zvry*gk3KNl(qVpFs*A75zWbwI&zJN1bBq-@HmmGv+wWhp`9u9J{+^fapFz(BU4Q&% z8EoEYN2Snz|CPP$Led+(4f)8u*QJ}{j< z2m`RH!VwL(-07omeja?V<*T&^>rk}Q*()qeY5*ee$|$qn@QnCixI?DMSQT}%}l>uCy~zJ@>V zdexTq_g~uUJ(161DQ zdtKf*B}ElJH(busUsC9y8_dtR~6Bt?+G}%lh91jIVmKNf$(*-C9!3 zHIQ;_u*Ysiy^_m}&Ieo35&|wi1NbT~x+wxk6kQR^l~mm|K*l$uV^;*pHe|B~Uv+=o z|Dd{GH%Q9sR$W)u{CgO=VCzkStyXiP=mYny?Nm49jhZk6#Cb_|nW^WU@^X3Wr1@vU z^XAW|9>4P=j)u6BiVDHF_gKwG5n6MqqiZio00T=mw)%1m)vt+DK6_Sn01&n z9wO?$PpzY~0J02W$EH@l2b*>&H2H63nd^TmFJ8TppKkt~HVM!*VJxf|a$S+-ikZfv zRqL6yGQn1~gn-K%NI5e+6aZ`QAM!D_q^?{@Cd?`v)Ho=yOTpB=%5hJz)z> zRVubx%{SgITr9>sDrAj9X__BY`*Cc(DJHPVAjcJ5WsuKD*>v8}1q^QpR#H*5)hnvD z^s=g+vGjZ;BKiDe(om&*3OhDdQQeg>%$ZiV-_zw^d`)?^A^*=RRG<8}FYP_|H+~{g z|1L$;@7u^&_rbRO{;O%m-*XbC<=r8x5J|5tp7#6Km3zy5^4e67qW{jDYJ_$S+1e1P|vhZ z92M~-!qEzL+(o}p?)#JuW&XCLKAPeK%h418NVQQMH`J@67TI(|*~<8y+-i`?Rs|Gt zG*U;;!^-j9{oL35oobzpiBU>INEB-EzTNt%5vBLy^-t?Y5}W39cgh}%KYM{ zloeIW(08W??(||6j;gqF!B!Mz5@0KQrvP(@y9^3t$a}4d-&e zWHWYOd0y_ZHra-JWUP$utyLSx)nghOFk?qs8VTCUS8I)|Tra*y{f&pqqq2cjHzKpf z&`6TTST!?Ljkodnuc`Q^Y{(kbhV@;{4wtq;g>%v?cl^cqLXWRyRYN?Pi$?Wal@-mz z2PR?I@d1m3*G^tUKJiBwlojx5LvFag^;>^APql3Q3AXO{FZo2G!kMN@q;b|v3G(#% zF9}Ok2qaR4TehnHO5T!`_clCtGT%0T4x)nDbPAJXS61&dswOEv-+CJT+)G&hyNPc9 zn``EC0kCpZ$aTY%yB=;xIWE>RDw%iOX)hG+>~yhkXJvz}NX;N`$l?MnZ%bAv@dPkC z9Uz50s>ud)*rrYP+Ut$@QMfUloAEu<)pNv#i{APj>5X}{XMHpp-$+I~Y;4Gu`*JRY zmVI5Rpu@?u?@QevGxcMtyLE%GYZJO`S{o{GpfoWHe4T339$P9)GLCmVnaEW zOzC;V#@p-anb;67Z;jOb*-ID|aM|QSeS7{OKNnu=9m+}^;mvocJoMp~A7e^XC}?!9 z)vn)vHGN&(H1_>v;ZT#LN=XlZ)wB*wo~Ql{jC!afm0;nqUe|3@SFyB}RM_XNONaQTHF=zYhXekjWex%!f38hz=Al@GQw z6>x1!IZoCh_&tp~((%L-zzLLFowjQAnemPOxIwH-9&|%5Zh!mp(S(M>qy|B<-EOP# zwG3SmTWmw_#P8bH4V(IVw~};=NkV}zv)G2Ku~BBThLlMkUo;xC24!*oku5fwu;P5^ z;sTe4#g%McO4zEeS6t?pe15E|ZuH~p+p3_zWKSC=u=;iV?LD&^-4Q+aIS-HiRBUq& zL!gv|9&P*mOISxG6-KeETs^Ig4@urz9hfCgZEZHYnCkhhG;|kK>$x;U3jvl6-Qs&z z^Q9iEDo$VheGS!Sw(5>4s)9`F>6_NoUbRDMN$Y=i>n;a_0oKg@6;Re#*E$o54YR!zIko6j*x@N z%t$^D4Q`biq+&o)+~07nyO8OMBh`pcf`V{g{`_&Cj}7`ufB#E+T~>szfIQleZ5LR) z%&UFc^!u+a`^WdvAST{r((hAcU20yCY@8~irnTj3SC6-Kppyq}+1skS`iaz)RrRN# z^0l$rc0-u;W8nY#i2GBM;@q%En(7vGVV zTFYQ7$_ARhDU0i-=xs?kLwrY9MPT)e4MJPrRW;bgS_xTO(wec2=&=pmcQMc=ML$=dhsx5dW-B7Og@{6j*ibr>f zkEot{Bop`8?l(U$j|6Mw$TgZ(kW$dgrEH$51BQ5G2wl{)`p9|JbD4(0wj08hDlBu$uC3y? zvO;|2mJhewUpSPO{r=T+RNu=;UC-}R&tn^I*Wq0LId?5N_`nb+C>DXaop_&Sy%8blZf1g#~PyCKdu~TV5>wh0=(fts>EZoBCpyB9> z&t)ziH#uI3 zeI6ROuCr6Iojmo&`C1Riy3PGhTHVH z7-^WSt`taKLp8Rt(?GCxLf6xSB%G?}&$_ZmvH`(G%~MvYDjEHl_^%29;(T3&Eio|A zB}8#vcE6Q7vSNyEi9OkLf8)2U`u$r;Q%g1cyq;dvd)CXaIGujEa9bUG>c7b(@2jjh zi{pEZst_&CMWWwY{ih`3OxCX{jqA^PU8|PA)x4RG2^ZgbJ>Qn|YMP$KKW|a%e?lz) zr=*H@Hr-W!dL)aw8Z`|Y~Pj}0I70jFrjg;$Bxl0sq(8= zGh5Z3vU&m$U9AxBQb+JALebcLCN`w)E4eFJPgd^7@FI*qREU@3GA4xSrV6#HhpQlB z?5V@~s16d!)_)RyR8?MjA?g0Vy8nf}A}huZ-2dhWX4AyM`&;n)*UwqKzNw$RTFH#6 z^<5ey#WB{x^=ik92|?9(rB@w>#_pE3elfK!lj>j@3Ja)vg0AI)$dJxC39Q~V{dSkcVR#tbWo7pxSZ=-xzx_8$mTlLw%&G}`iH~i}{K^Q!~RW>$? zWxH2)JIWfb>dQ<9H`e3Z=x#}89)kwG1^VHMjgPzypbQSj{zXf&lz@Cwn8ALw!mp?N%-EZ&i zx&Qu0s!L-QQpOvtt=?Dl+SyoBR)s-z)n2&4j&~J|4~p+rhhJ(=s^3SQn$>?x{H*ly zRKF=vZ!Z2RW9vy#e`@+Z$9@kZTUTV6{CQ;D7y8b96q&^#0Xn6s>B+Fe;p71yqm zT@>%gk`Zj3KukQP?zcLS#oLlH{KETAi5tBiW`u?i@Y#-sY)i|=0V?pKY(SOsCFq5YYGU>Q%aRQUS z_Sg!nmxgKTeN^e3l`1UDKO-Bf1LHL6^AwxC=jubY$!8n`UZX;;d9D9nj9$qmN2Ud^ zXrX7?Zm8n&M^zlieD&RFciBf#B-lEIhQZld0;(APLJFlQj5kGQXKPZ;qu6c_yH` zeTh|7NVa}{k-CeVs?NEziro>lH$O1Y*g-k9btZWE~g3 zV_mgnC3&E22)l|ZFH?q7W!Jx6U5F)8gMX@gnMzD284P$XV zmgOMi0@@tg%zhEhedyvH5o&Lr^1AGt8=^k5z*oR}~SyQp3pK3D(|U{?t5mGt$%Q22;(9 z_3T;Co#piyD5!3RwwzP-fbqrsNw|_7WiKCZ%i6Tj-|NX$S#dtlu&-p>{kfmZ5`X{2 zbB)v>@H){7uN8u*I?SpwETh*srVhx;WtmOhV|9BKW~wKxzHp;nBg|`Rey}QZjnmiD z#Z1gfQWd5@1Dge6V?mdiuanPLB~do3&I-?`|C|%8|J~<*_sR!md-H}_^e`s?Fi}IM zF_ih~%Mu2dC)k>!P{rlT`4%xlOw$x{^##Ck*z&io_b{8-I0;+xqPOl%vWMFwO$saZ z*0HHFGZUWQ=nZXkIQD$Jt-^>gwpycS&hJUgyHs)ns$5;aTBX> zMsZmfPxVAAU9lDUaLWZ8H{9p&cT4&GOEzU#PvwtS>m4gGRLhR4VnMYOFL4IzqKO^K(Ms{>JXcLhFIhwHk-tdi=!(7 z%X3g{uhwH))kjgPyDWIIfmqz4x--;`hpb^SO2^(xHjaCy-aD-~v{fn4P|yml5mPkI zW2u&@BFVCGWzzDP*!YS~d@E9Q35pHa_&wL%k>Yi$+M6cp4yGG|RtA22B>|)u?`h!X z2|qtnvsCP!7`w*x>LVoY~Vmbz%KC z+WI*~zn^%Ux?N2hU$b7e8uflf#OC9R>2Of$&qu%ZDc1i3c_rI)0|(G%YUrhyXUs!i z%I=AK^Uf#;wiYZq#HO$2n%7J*i!Dh*u3PT3RvU=GG8~P{u~FiNZrtcKb(b5f8-l6< zA^L1ocPXqJccp66*sAKSVtS*VH*QEv)i4|iT0woEb?hjTjzgoqZ{5&Lss?PsxH5G} zRz1I}u&5fYQdh?m4YQFcj$8v&Y)|f6Rb^8gF;6X1Mro)}1+>K=`CV zj$8kiJHc)jT@M*g3qVI?2he*Y^ReYl`#ztLIU(3uqA)nyj=T6nS>90D-qhV5tf+BpjJi+nm5#4fUlFQt z+M_R18uH~85mn_Px{+ln%)AspbHSFIX};5; zQwSpTd>Vs-s+gr}(5t7iQZMi78NNQx0|C*?$e6d3ukk}!L%y1F^8@2I__xJZ{m=9F zA0Hco9;<>HwezH!PO4yOYz(yO()hY4okEgzqUh&}p^{F3!daZfsvS46nl*j^@x6&2peBbqS z^?VR3Agqj~4B`ILE4eE`#)m0I)mCWkC*ixQa*+^#*fd!1rp>2mce;!YBx1$SNG;e$B!kQ!v;Oy0S~oYT(gLs|77%dlNSRCY zL^vk5E}<0TW_%I+v}#F zSRGd71Hr4VK&IO87uBFpd!wb^i~OyiHLUNhT7T#DcVAaUNYdyJRS9ZvWIL)ygDD&Q zssWdEsi_-WDmPQF@sI`T=*rk?7Rn?Z7ALD$gD|V_-!l+uGIAiK% zS{0tD=NF+%wYT{*bJqpZ|Jq%AbjIJmu8c~SG2t_h-+Mh?mkB#s>JZJU%SmWey^ao& zOcIXP)76i)$x1JVQrX`Y-|EOF-7&))Cc4TjUB}w$gQzRo;$M*MTq-WAc|3+#Mpr7@ zY&oO8z)I+R{0#sMzxtx$>66OjpV7IHLNMB za&iI)`|JCS=XFb9nEjT9-;aeZ%{zUq-+Cw2E0jqz>Y29bCny zQwf#T4^kmkwM;ff-IwlgitGP@TjuxQ{?OdoyukrF0IartB-j&Cy3W#c>-zMXe z=;tiXdWUD;bAmZC8?rA&eRW(^&-eF&l!OQfONWTkB_$!HA|j!%fWXor-6fp{DM+_S zEwM|(E{)Vul1ry_gOm&SyZG_@JookD59Z!Eb7oG=`<#h|3!f-swdmeGs$+w(=xpxw*L%5odt4^xR$~^Ik73Ql@8FVlDmUsjyW4(mj5TkPQ_M06 zV;>e{80w^I{c06E1@RCL3IZa{4wAOyRnS_*<@UFf5DK>!60pT+DZhIbJ#*f4bt7w6 zGw+>n<^2DA_g_nd!Lhw!9%+JOw+xHhBM=GDy_A}G3?m0SK90PG^C&LlEd@JN*uFq|4>qW3#$No;J&rWaHv? zAUz8~Z^Dj*zlf}V-KMwQ@NBN|G>EXnOdVif&W1g>C6@MHSIi-KdRyqVXTXP%35^|U z2AqyMvHNP4=I@1Mrhtt!*c5DLSuug>Ii$EO4+7khutOIBV{sJHW(J+84( zTsoZCGa5xc_`w#_q$-g11pmpgVe0Sm!wiXz?={3*%W<}LS3@!I2SuI>h29+AGBVAf zm>2D0)$A=|JGWnWa!%yi2p(fbduZh$%GEd5A8{TCCnyW7#}O{`YyYSWdW z`gr<0cfWnb`QOdt1~O zK6V*5`Wh0X>!R4?KQdT)pNVA3%{@hAFpFxuT`XW=Tj*f0XD?uzX5w`2_YY}mkeunQ zG5yEt6OYTh!i{b5!&0nN(7@jSMgyJQ3*RQJOr*qxt}xt@`P}FP@hmTdM|m!D7W9iB zwHunuj=fAhd1QlTed)h!v$`h$fq@J|xH_>u(N!mJwyLmSxx@W@fu6 z(sVv-=oxh~_=(3GT;W1zem`ut28Jn$3S&iL-%#pw2c(W5@k*jm@(9Cz6SdT~hc;i`q z0fUz0pHZmQVQew7eRMYT*HPH(k2f%dv*xU3>0w6s$LOdbJ?4_N9Gzr^s3a}-41405 z!*ic|yo0MfgkN@#E+_m5S&ELI>%M&cyCcj80)F<2P5WY3Rh!GEf{9N#>HP5H@NE_P zV6IEUIOkFqvaL=VZ(5gvGhjP{*4ES+J@g+NY2dtFC7(= z^GJ{R;;(CJ^QBmU2o_A`%-sIk3T>99LZNZ-jaQ>mlmFiKe*GtW8Pi=PHcb$a1muuyaDH0`)xpfo$VZPCZAmlu?K1 zR4m_gd<=&hMC8r$Nd&L5qF`egy0~IVl4sPmgYIsC+N(kKxafI{ij|y9rHW!n=?Krw zjHhOcsR;)!#hQS%!nZIK$M~Mi8%J^9XB)ru%};l1SIa=Ima}TY^$Wo`TWT`il@dmC z8X`@NVs7yBQ9{F28DeTD7l)v&n5K)5=`;4V8qF9t!q#zm*N3Btqih)OnBEn#JOka% zY+Fvb_kNe(=Y%a16w8xJ<}BfZW}2*a7dovvR|cA0kIG%Lo*CC(U<9@kqB5t=EFxrJ zrUfN2@!7DZQX7QoI<5yRd;N|=sSd(3w=K zTclWSJy}t|7J&vE)7F=TO>tnw# zceLhmFQ#8?NBkvC=j=Py2M@mp&%9XW3+9V-ewb|JRAli4>q|7paoU4{MOI2Ci;ms&^8`M3&gAcTE?m8WxgV#$J*YE@|Nbs5A8I)64IOt$WZ6w~1U)2>X^zv-Q|3 zsvF-lpJ&=8uBFo(Fdbc(=*iw%-SLErdgkCXz#>fEbPU(PN=Dvo`%}d9VM!wbEgj@H z){bQ!OWgGjf%Xz2FAKYAZs6wsNzt8A>oc!GN?R_fLg?RGqHdT^^l8v6(+JMeF{pXW^mgrA%zrG&U zDJfG(799x9lzNH_Lu%7vXM0(Q^7d+&%>9)k+b+jec-pH67!v! z<#Hs?%1m6nI2Ah?^kkf&G)ZsDKKmEdvL)G1K5xGBHOqgpS#TyFH%C+3lnMNy1FaqJ zuFh*Td@p1yB7LFJd?XT*6vm|0zxUCJM4nc>SI5e}=N;V#c%6wfKc_>^X2`6%`hM*D z-<&{bArVibse}Mph#zo|D?ElUZdC+L=!a;xJ=j zlp@b$MnTGC$_yn7bBIz6(mAjD3nJ+}-)7ti(pKO7U=L;3@TG8)cP8oeOYwWzWm5v! z3GYiQYK=WJn7nrC9 zA(As~TC$od8V1c@i_>-^!v}#trP`!6Mudd!7TR>0s>QHW?OD-kVIG#W;>E`!f~toG zyH|_X=wf-G^ghZ8>mtug6g1vL>)p+Iw6zlorL4U~C<5{T^Ra|Jrhg%$mPC$}AbkV^ z$*K4qsbI?|W1-;t&_ph&eJiGtrkvl!NS>K|6r*;ncsI}YU-luMWhwTpXs4iY4)ELa zXXl&DD^8C*`h6JRnlROe0ol)n*hzocQ>fG>O)HHa+ZV>)n%gxKoe6<^Fo{^nb$TM8 z1A1ojVZ?C5p2nz5U+KKNJVP3d2}U$2CU&L!24*>LG?TiQKH420q8yEKahi!gIlO z6ZOZ!QBh31c2aptv_n@9481W^<3hSPCVxDxcXO7aInCK6n9of;x##jzE{S~7yhIT< z@*62?!Wba08$5s2b|T==ooRbVJQ_9TCek6t!sR?{23xSzOGtW|i1&7Pdu|%jXD@Fx zVKp9;SIrZdSItYftK*7ka8!dteROapfyfSM2ZSqQ@$}alZoAnl%iQ*xK26jZ12hJ4 z@9E0;tMU-%)qQzKD$$k zni?51JCkE`d7Wt0z%q|**i3?SE<7Clp|MabB`{z4dnY~#>F#Z&g zY(L1Qg?XKP(s%9LEfZVmB*l7p%=fVs8l;b~zCIAc6~oP-V0IQavM_c*z!UU!>}5`< zLp^??qC1@7ox%Bn2oy655BXQiqJhI%TGhvobu>M@^4GqqnEHfi*v8~C*WfKXlvYu> zJ)OBX(Khu;9+Nl<1*3il__MlOU}E_r0X82T9aEvK+SJrUTYQ{F)#AzNWi5D1xnt3e zgTbZdvA@IDile{K&c!Tpe%vw3q9&|7gakwujPVl=yDp9!4TNjs-(|MM^s185tIs8U&nA|@)?C>W0JQ^{?8x(JS>Q5^EN`7 za9U4vctHX7(HQmZGF!aagQTPVjVdL{biti_Q3;0La;yAvey6FE)ak`eKNX|fF!ZVnOzY!&f#Mvo-y}=q?bEqn(Wo1WkTR6qRlzTP3H#(YE{Nn=ZEzJ zTBEHd+v&Nx6S!(Q?aOXYLjgvO?E!%2P#^vS4*Bpcq;R6+$Lg}9#U~KYEeUuR8m%aN zEO{Ulg_A@)wB+}n*BE|PG-jgZ;GU{4v0GP32>7{nJ`ENsI~>2?$j3?W@X?iBRmtmhc?^FqHB*`#^P3 zb7a|kxQa{(YDZlCq;d6>0sJ$n-@c|bk&W@vDN(+7$bWiOCYpbW;{mOHuh05azW616 zFrV>91qdeb%PbiC|EY(A1MWkXCCqF#P0lpP=Uv>Ln4j=FE%J0nF^tHF@1>~9^JF*~ zlorCq4~c35Z#l`H@D+uWHMxmzAFiVTKd-j}xChDv}9pr zfNd|Np9TF?QhF+$+_Y(^3wb39vFrH3MN%1uEr={yVX?Z;2oY))z1jRu$z|p5>6spzCcJ*yN+O8QJ*l6mjL+Lo}VCvJYHAhM0 zSM1se3R5WkhzHAn4Q^e+47h?F&Rc&@zVTO^!QHKb#F;^Fvja-kU-EWhrK22W>JAP9 zgFq6W|4tcdWeYVq&6iV$gf6;0b}wLhRG;$&dYj>faxfpLn9*Znvn)x$^BD-_6bYna^z-d}Ikb`#hnAg` z={-Kaq;q=Q?5F3I(5N;-MLL(KvQ!kx|3Lt6%Wk?shXq0&L5*a792*~1Kuwk>O}ykZ zjEAQWqAzutSfTL30R?_EsH=9Y$knh?5=y6+RMs2f5U!tfw_DLZVP4uwJdOIF1MkI87qm4;g`m`oi26YzSMn1w70D)r3@5xqg zayQTYAUmk*%CgKpr%fgk=kL}}6B)3227aRT%mrg0iV6;sFiS{WOR}A=Bo$CZ;4i#X zAcn_uP9)ipuMxBE-oUovugT~Q8iEGm;;%byO-hfyJAlkDlT|1k- zo9-5)7j5s>)#f{U@eBdbgb`QY&LoK|Qv-hJ!7lLZ4Nt}420g6NG)(6}k_yR519yB@ zaXJ2ewJ4k7MyDAutVYdbASlsuo^M-Cv|GBBCQw^1ceAXpaFY@#iVOO|-Fz9gW7NQj z<-em`qgWxoG~x{J`(9ohUAl`7u8h|TA)Bjzw%qU$!0~nJ2SK2C-FlO`HKN=~UAgR) zX{lN$YAq+75+FN}Ea-uO5gH0@AFgS6eQU(7bdxmR}l48Ev@EVPBNL``$aL?cxywQdDj9PICS9OQIe$ zwqzz?t$oCOuGjKCCxU3dMdTL!0c_KI6WV=p#%B47#?qqGzY> zLG`U)x`ypeUv1ezpn_jmqv_&Y_Q?p7*PXCfZdpoG@7y9d3zem6$-ZP6vRCz?FZKpZ zO$1i$gd15+UAP;LvAEhP2slM~v zvgpI7MJ<2BnYDJI&y{3?^ZR;F&&H->SsWZH)lMZS@2Z)U#>CRXDt)t82G?dEr`jeY zK11Mx6c(s&zrz6uc3h(cH%{Pm*z+X%w)-g>{h}XthjsCd$r6mZqNeju_s~Nu7Dw|} zQsEr?+YeC>j&>f0jn#TU^i8%)fU|-jt!utgOHER<`dVqh#w4J8)_vGD;RWBLyvvD> z7v#tGT~T?Ws_S11QFQkgwLO}n`{_~AQ;L)Rr)#9Fj;97@m%$CU7rx!H7_ozUNH9)G zNbUam%qw=`$Gbv7{=PyEj0fzhAhIV|)JnPSReDHkc;z@voCF+TpRrn$&CMA#d)IN> zu5LYn76j@&86aF80(3hXRY!e;&;85yPK{!d*t5Hlsr$)4-}&z5W9f(5c%WaTgnf<~ zHMXdykvw2KKB2xtg4Z5WjNOzP<@g}iJKD5_1b2{WdzuK z9_lMI^Tm^j*CC=6;=#OIg5pz?k^JiO@)4`f!C7bEOQXFvlm1(ZM_S{IA)U*lxB7fm z-vd{hFj{)wcw?GPO<{-A5?7cj(%HhJ?NzE@`;2dIN#cv-FM47Si0>FcveOR_St`nF zo`gXlEuvgi!$C>SbGL(4>8*I+XE5BdC=ycU!R&+Nkbzrw;hlX`aVt?m;<2toRd)de zmjDhVmLA+og*DPnlYpFdKL!0X0zA{J<95}az}?{=zuK26G;8hTXN!gVgQSmDgF`?CFgDvVQ+UA8a=pFKP*0-~|7a!WmeV zyR||#GQ8QPk+7o3%VNogvPbOaGG^Xsr2)CcPCXnUUrP!rZ*W1TEo-0`ijivj_@LzX zj!jkM2DzJN)aIfDI#jT7*bnYvbn2Zz4uDY%PlF5D0m~oXM%3Xnd^;NJ#!Td-t?iI{ z+OKFGgxG0bQPZ)ghrF4R8z@IDiZDLB0g`;qROlgY>W;RdQjBXX+oyTHhoB zNt8#C)%&^WYN_6#raG6xtd58 zw%6?YBDII6HL>fl#CGE$4Q$#eyC8mH}h9m{jUYRXXI zV*vw%0jH-M`&^+Ap+ZV%4#!B>Pf40FJq~Q&Z-)=0lY!p4Q$rN`cg($=r)v|&-l!7Q zfI#>Pa80@wO#Xg6Z%&n9O(0{xI;XA7h=RulN%6UiFJ=QYD#|PKqiQ+&W2{M0Gpay1 z{m|2*zh1*uWm9MnAlW@cp%}Y@y7PNyhtFDR@KcbK->w=ts)kGj@CFj&p+9VyP~w?i z%6=cNy$ked69DN78OfIWlm%6fiFo;rd?u?b3m@|v;jZo^h!Q{C&miwp4VozM(0S*g z6zEOY19ctSM$?7aZvd#Uq^YX?I#tz+qGx_D1Tf#_!Xs%E_N!r|DO{+Lw!6v0?yR8m z_b`%7;{JSUW))m0UiTplB(3sDdG_^v;tqi23Jnv>*$YoeS=)9 zMNZ$___!2Hc!rzUQ^~)PRx+2Nf6!~$;ecrFOTEjL-FP9;*__OjUf%Q2V9{PO7 z&f!0L$CBx2|1QzUvYV>!Euae%R+Z7u3Hr9Lb+U4{A%j|hw;8&1LomQwWvV_(Dz+kR zaT&t+AQ5nAPW%e%V_>AjfTn0u(w9XY$`3*dG9cc;zj2#ghl6uhbo|)2BCM%b1!~Vw z%ICBY(srh&n{Aq2T0+TV=&%(%<%M@lYgzj1mIh!(ay&&ga4%+*L?@M+6|LHwE=DQm zHwkEU_1eK;_-Pi$yB70JrAteQx9Vbf!cDI(tcj`#fIyFGo zn8PAu3hNpS@1T7F#aSI(J~JXz06z!OUPs<53a}VE0Xi+@F6`}0#R%F}DsHWjD*jnxy6=EQb_9^rtODERSp{DBL$z)M;AhhI|k(x`;%2?xyw4I^A>7*;Ruz zqaeK_XgnIeez*q2rc$_S5kbr4g5a5rKS@WzP6dt@WGHYZ9>5cbtPPZNB~r8*kt@kR zprO@~G>SvZMhh~IoOP8d=I?F-MI4q%UCPn$X`54+XZ*ki5-(;7r}ZXvza^TDn8rTu zMjv6aEWSDwB61?%8@`i9n9?H^aa)K{Ed%#?C;r4e#nXQm$;2P!_JLP}Hm^QjqG616Mb7NhY}rVH)p{e5!dqyo3)QMm(D84>pMcS!oE z#^ynJVW*xTpfNx`${EVsXvW>V6i&2;jZ&NXEZ^# z!$P6t2tc2p7UE=~i(wocO-xsl#-%&6nkL;US>CONU&ni4#6qC0FeY)`lD&veCHCXF zJ5R1Fq;?ZDoHC26CgB_VDf6@twE$bH9(;j(5Y0$c5aR9tRWSfbrJ+cJyQ4M&*FA}S zOVmOysug(LzTuujVxHEqxAjCTPuFapW4Tq=Q1yPO84!!jbywqnTG}kk0#}v;U*XsI zhfmfwT?nJpu;&3qMR zMKD!13P`Dv;_2^nfNy|6k}8nkk0LRI&pe-}k2U$LOHbvrhvqbhpXRqG1+mEyrE*mm{Xu<)@0A;r-hX}%RY`@*=;P3T%PQa^a zB-xf}*ZnQWZGIS69i%G?piL0Sm9q0SedbRgHd55R{v3>jdx{+C+i`G7t*mQ-ED=J& zk^}cw!c#z6Ag5?GDa09RP;wb)gM^w5U>6^NBS4(-gATV`8qb!vs2eHO%c3&U66WGBm?5FQ9J7zAYGek`h;c-s@ zzw|GMfoiX3x!0aS;#W*C-=+mv9{TyywfK^)h_+etCa3Hn36B1L2Er>~`VycGL%%ea zCQYM>-hfqJG`-0rksxp9!W>)7e-tW!#?=09T0EN zU09!G9&G5V@}f>a=ky_Br*0$0XZFpWk!QQ+oUHX6wrTMsgwBB>&2p%9|A`X6Ted~S zQ^{|p#r@YwN06M7D4qxOix%tR&+Uh{_`0``GTEf8g> zcYTdP{(TwVgQR$+*TDU{RHPEh2#G_}_f5MCV+C5MJ?B!%X z{KrP|GNN$e>l8tOnZ?^VaW}>7+t;1|P%AViGB)aG6R2Ql8H5J~;`QrNT|Rb#t4^-Q zuROMx{}KE&Db^&lBo`P@SLbcTxqjzgeeSP^1P?l-N96x?PyQrj*40WMm$86R0iSYMw8&Om1(dsB~TjmuarBNlCaB!c|#BYaMuq{RC$dc z#h6}(QpbN|GWP0oh_VBTO>s>Fq5X;fBiMWp+HhBw#ZBHo`5FuX z&-jZWjspz`A|+)5mT^DK^_zd1QmyHxROzCFV15S_LfoDL3ub_b`LKO+u2xw@+LL}q zne`mH|L^M#FMXc9dXj1}e4dE157*xYRzsp{Ei5>7`L3k+x?Z;v|4)%lwljBn@h3gO z0ymLxMqdAT=W1;h>T53r)B)q(hWTiBe72*qDJA@`KOn}VOu7#VX~7O#J*r?E8E^@Z zalQT;gnQKFz1~(j9qb_NGJTPNy;UyuPoFdl>f8r2W~tr!p-1scsCIgjeXqY&=qKRY zd>ET6tsnkPuOl>U`Tog6Fo>kq!=U#(D7*0@S$KZ*D;)wwdQa~a=JKW{owBNauZmyA%A`KaY1?p$eQZo;{B6{6Yf)l=}HaCi&Zz;MY?o4RImGg zRk#Fq$A|x0Jy8_N`Ohc=HTUHsyyqJh`RAy4(SBeXp-h_lU;n*(`1PIbz{M-_s2P#H zlpv7iKP3}<0GNQgl_y?-W^~?4an){$eLJnC1h6#sx4*8y6*(Tz2&`GFGO0nfd%VMY ziJSk1o2JFz0*U${!{t%@aKQPDm|0Lv3H3&feVy zqdB^P2V`oF7PPykYzgo-dgOEyc`f + + , +) diff --git a/tailwind.config.js b/tailwind.config.js deleted file mode 100644 index 1848f01..0000000 --- a/tailwind.config.js +++ /dev/null @@ -1,26 +0,0 @@ -import defaultTheme from "tailwindcss/defaultTheme"; - -const config = { - content: [ - "./src/pages/**/*.{js,ts,jsx,tsx,mdx}", - "./src/components/**/*.{js,ts,jsx,tsx,mdx}", - "./src/app/**/*.{js,ts,jsx,tsx,mdx}", - ], - theme: { - extend: { - backgroundImage: {}, - fontFamily: { - header: ["Comfortaa"], - body: ["Varela Round"], - sans: ["Varela Round"], - } - }, - screens: { - ...defaultTheme.screens, - xs: "350px", - }, - }, - plugins: [], -}; - -export default config; diff --git a/vite.config.js b/vite.config.js new file mode 100644 index 0000000..4fa2e0e --- /dev/null +++ b/vite.config.js @@ -0,0 +1,13 @@ +import { defineConfig } from "vite"; +import react from "@vitejs/plugin-react"; + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [react()], + resolve: { + alias: { + src: "/src", + }, + }, + base: "/", +});